powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Реализация журнала проводок.
2 сообщений из 27, страница 2 из 2
Реализация журнала проводок.
    #34989780
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исправляюсь.

1. То что Вы хототе организовать - это объект документ и объекты порожденные от объекта документ. В такой БД как PostgreSQL наследование включено в функционал БД. Если БД не поддерживает такой функционал - и литература и визуальные средства предлагают реализовать наследование при помощи заведения в таблицу-родитель специального поля "дискриминант"

Таблица-родитель
ИД-документа
--------------------
Дискриминант (int)

Таблица-потомок А
ИД-документа (ссылка на ИД-родителя)
--------------------------------------------
поле1...

Таблица-потомок Б
ИД-документа (ссылка на ИД-родителя)
--------------------------------------------
поле1...

Насколько это соответсвует реляционной модели данных? Вобщем, исходя из требования извлекать информацию только из таблиц, наверное, нужно еще создать еще таблицу

Дискриминанты
Дискриминант (int)
-----------------------------------
ИмяТаблицы (varchar)

2. Хранить в документе ссылку на проводку кажется хорошим ходом. Поскольку именно из документа Вы проводите и отменяете проведения документа.

Выбор того или иного варианта реляционной модели зависит от того как Вы собираетесь использовать данные. Например получить ссылку на документ из таблицы проводок скорее важно для большей информативности. Посмотреть что и как бало проведено. Поэтому думать о производительности в данном случае не так важно. В то же время проводиться и отменяться документы будут в массовом порядке. Поэтому хранить в документе ИД проводки - я за.
...
Рейтинг: 0 / 0
Реализация журнала проводок.
    #34989857
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SPQR БизонКак с точки зрения реляционной модели реализовать, ссылку на несколько таблиц из одного поля.
Никак. Все д.б. наоборот - эти "несколько таблиц" должны ссылать на одно поле в таблице документов.

Ссылка в смысле Foreign key? Так просто создаёшь несколько ограничений FK для одного поля таблицы на PK в разных других таблицах. Только толку от таких FK обычно не много.

Формально можно смоделировать сущность документ, и дочерние к этой сущности специализированные сущности для конкретных видов документов. Связать их по PK. Из сущности проводка смоделировать связь с сущностью документ.

Однако в физической модели реляционной БД нет нужды создавать таблицу для сущности документ, поскольку она будет состоять только из PK, соответсвенно моделировать связи других сущностей с документом с помощью FK тоже не приходится.

В объектных БД гораздо проще смоделировать абстрактный тип документ и специализированные подтипы конкретных видов документов.

Короче, правильная логическая модель не всегда имеет взаимнооднозначную физическую реализацию. ИМХО, нет нужды извращаться только для того чтобы впихнуть невпихуемое по крайней мере СУБД развиваются и для того, чтобы лучше отражать конструкции логического моделирования. Сейчас мы имеем такие СУБД, какие имеем со всеми ограничениями.
...
Рейтинг: 0 / 0
2 сообщений из 27, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Реализация журнала проводок.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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