powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Логическая организация таблиц
6 сообщений из 6, страница 1 из 1
Логическая организация таблиц
    #39282456
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Помогите, пожалуйста, советом по логической организации таблиц!
У меня есть 3 таблицы: «Физлица», «Юрлица», «Территории».
Мне надо организовать в базе учет переименований. К примеру, физлицо сначала было «Петро-ва Мария Ивановна», а в результате замужества стало «Иванова Мария Ивановна». Или юрлицо сначала было «ООО Чибис», а потом стало «ООО Чибис+». Или территория сначала была «Куйбышевская область», а потом стала «Самарская область».

Мне надо, чтобы в базе сохранялись оба наименования.

Я сделала так:
В таблицах «Физлица», «Юрлица», «Территории» есть только id. И есть 4-я таблица «Наимено-вания». В ней поля «idНаименования», «ВидОбъекта», «idОбъекта» и «Наименование». По поле «ВидОбъекта» три возможных значения: «Физлицо», «Юрлицо», «Территория». В поде «idОбъекта» - id или физлица, или юрлица или территории. В поле наименование – наименова-ние, в оной записи оно новое, в другой записи – старое.
Например:

idНаименования___ВидОбъекта___idОбъекта_____Наименование
1________________Физлицо_______27___________Петрова Мария Ивановна
2________________Физлицо_______27___________Иванова Мария Ивановна


Правильно ли я сделала? Возможно, можно как-то по-другому, лучше? Посоветуйте, пожалуй-ста!
...
Рейтинг: 0 / 0
Логическая организация таблиц
    #39282904
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну... а где история-то? Как опоеделить, какое из названий было месяц назад?
Дополни структуру полями начала и окончания срока действия. Актуальное определяется по Null в поле окончания
...
Рейтинг: 0 / 0
Логическая организация таблиц
    #39282911
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, да, я так и сделала. :) Ввела в 4-й таблице «Наименования» поля ДатаНачала, ДатаОкончания.
...
Рейтинг: 0 / 0
Логическая организация таблиц
    #39282940
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Намучаетесь вы с такой структурой. Ввод-редактирование наименований будет неривиальным, а отчеты придется городить с дополнительными связями и вычислениями, какое название действует сейчас/на определенную дату.

Это оправдано, если вам постоянно нужно отображать не актуальное название, а название на дату операции. Обычно такое требуется не часто, в основном финансовые документы нуждаются в актуальном, текущем названии, а что там было раньше - это уже дополнительная информация. Если это так, то я бы сделал по-другому. В таблицай лиц я бы хранил актуальное название, а при редактировании сохранял бы старое название в таблицу истории аналогичной вашей «Наименования»
...
Рейтинг: 0 / 0
Логическая организация таблиц
    #39283678
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShin, да, хлопот со структурой оказалось много.
Попробую еще Ваш вариант.
Понимаете, все эти наименования мне нужны, чтобы их указывать в таблице "Документы" и "Адреса" и других.
В таблице "Документы" в поле "Лицо, подписавшее документ" может подписывать Иванова, но когда она еще была не Ивановой, а Петровой.
Или в таблице "Адреса" поле "Место рождения" может быть у одних "г.Тольятти Куйбышевской области", а у других "г.Тольятти Самарской области". Но по сути-то это один и тот же город, только область переименовывалась!
...
Рейтинг: 0 / 0
Логическая организация таблиц
    #39290128
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я немного подправила структуру.
Убрала из таблицы "Наименования" поля "ВидОбъекта", "idОбъекта". Добавила поля id_физлица, id_юрлица, id_территории. Потом таблицы "Физлица", "Юрлица" и "Территории" связала каждую с таблицей "Наименования":

Таблица Физлица __________ Таблица Наименования
id_физлица__________________id_физлица
id_юрлица __________________ id_юрлица
id_территории ________________id_территории

Так оказалось лучше, так как теперь возможно каскадное удаление записей. Плюс формы легче организовать для таблиц, которые связаны друг с другом, чем для несвязанных.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Логическая организация таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]