powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проблема....
7 сообщений из 7, страница 1 из 1
Проблема....
    #33082026
telelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
привет всем!
такое дело: у меня есть Er-диаграмма. Связи м/д таблицами все идентифицирующие. Есть таблицы с первичными ключами, а у некоторых таблиц имеется составной ключ, т.е. из нескольких внешних ключей. Т.о. нет первичного ключа.
преподы привязались, что типа так неправильно, хотя возможно.
Можно конечно взять и добавить в эти таблицы первичный ключ...:-) Но это будет не совсем правильно. Например у меня одна таблица является дочерней от трех родительских, т.о. имеется в ней 3 внешних ключа. А если еще и добавить свой первичный..., то это просто избыточность какая то..

Мне что то надо дополнительно сделать, т.е. как то выделить общий ключ из нескольких и обозвать его первичным ключом или..?
Просто эту всю лабуду надо описать в отчете... Что то никак не разберусь, с чего начать и как именно описать ....?
Подскажите, если кто въехал в мою проблему!!!:-)
Зарнее, спасибо!
...
Рейтинг: 0 / 0
Проблема....
    #33082051
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Например у меня одна таблица является дочерней от трех родительских,

Схему (ddl) - в студию.
...
Рейтинг: 0 / 0
Проблема....
    #33082061
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше приведите кусок свое диаграммы, а то мало ясного. У вас по тексту какая-то путаница: говорите о ER-диаграмме и связях, но одновременно о таблицах, первичных и внешних ключах. А ведь в ER-модели нет ни таблиц, ни первичных, ни внешних ключей. Я думаю, что это вы от торопливости, но все равно хотелось бы яснее.
В целом же, в наличии т.наз. слабых сущностей (т.е. сущностей, не имеющих естественного идентификатора и идентифицируемых только совместно со связями) нет абсолютно ничего криминального и необычного. Странно только, что у вас ВСЕ такие. Странно. Поэтому лучше приведите свою диаграмму или хоть ее часть.
...
Рейтинг: 0 / 0
Проблема....
    #33082119
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
telelenaпривет всем!
такое дело: у меня есть Er-диаграмма. Связи м/д таблицами все идентифицирующие. Есть таблицы с первичными ключами, а у некоторых таблиц имеется составной ключ, т.е. из нескольких внешних ключей. Т.о. нет первичного ключа.
преподы привязались, что типа так неправильно, хотя возможно.
Можно конечно взять и добавить в эти таблицы первичный ключ...:-) Но это будет не совсем правильно. Например у меня одна таблица является дочерней от трех родительских, т.о. имеется в ней 3 внешних ключа. А если еще и добавить свой первичный..., то это просто избыточность какая то..

Мне что то надо дополнительно сделать, т.е. как то выделить общий ключ из нескольких и обозвать его первичным ключом или..?
Просто эту всю лабуду надо описать в отчете... Что то никак не разберусь, с чего начать и как именно описать ....?
Подскажите, если кто въехал в мою проблему!!!:-)
Зарнее, спасибо!Если используются идентифицирующие связи, то PK в дочерних таблицах является составным и составляется либо только из FK к родительским таблицам, либо с добавлением каких-то дополнительных атрибутов, которые не являются FK.
Абсолютно ничего криминального в составных PK нет.
Говорить о том, что, дескать, "т.о. нет первичного ключа" - неправильно, потому что таковой есть (составной PK). В теории РБД нет требования касательно того, что PK обязательно должен быть простым. Преподы неправы.
Выделять PK на диаграмме, конечно, надо: все, что выше горизонтальной черты (я сейчас с оглядкой на изобразительные стандарты IDEF1X выражаюсь), есть PK.
...
Рейтинг: 0 / 0
Проблема....
    #33082180
telelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я понимаю, что в Er-диаграмме нет таблиц...:-) Хорошо, будем говорить о сущностях...
Кстати, не все сущности у меня без собственных PK....
Т.е. если имеется ключ из нескольких FK, то это и есть PK но из FK? (извиняюсь за тофтологию:-))
Просто я описывала эту диаграмму в отчете с описанием сущностей, их атрибутов, а также связей м/д сущностями. И, естественно, описывала ключи (Pk, FK). А когда у меня препод мой увидел, что у есть сущность с только лишь FK, то сказал, что типа выдели из них первичный ключ. Я не совсем понимаю, что именно надо сделать. Ведь в диаграмме менять точно ничего не надо. М.б. в этом моем описании в отчете что то надо про это сказать...?
Я приложила файлик с диаграммой.
....Кстати, спасибо за то, что включились в мою проблему:-)
...
Рейтинг: 0 / 0
Проблема....
    #33082656
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
telelenaА когда у меня препод мой увидел, что у есть сущность с только лишь FK, то сказал, что типа выдели из них первичный ключ.
Исключение из составного ключа части атрибутов означает существенно иное понимание предмета, например убрать атрибут AGENT из ключа VALREMNS означает признать, что для данной комбинации значений оставшихся трех атрибутов ключа допустимо иметь не более одного AGNLIST (чтобы сие не значило).
Просто по эстетическим соображениям конечно ничего из ключа убирать нельзя.
Однако можно иметь несколько альтернативных ключей.
Ключ1 =(ID) Primary
Ключ2 = (NOMENCLATURE,RN,PERIOD_BEGIN,AGENT) Alternative
Когда и зачем так следует поступать - обсуждалось многократно см. суррогатный ключ.

Вот имена сущностей и атрибутов , а также расположение сущностей в вашей диаграмме конечно противоречат эстетическим требованиям. Видимо, это не входит в программу ;).
...
Рейтинг: 0 / 0
Проблема....
    #33084769
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если Ваши ключи формируют в записи ЗАВЕДОМА УНИКАЛЬНУЮ КОМБИНАЦИЮ, то эти поля можно объединить в составной РК. Хуже, если уникальности нет. Тогда это будет ошибочным решением, т.к. неясно что делать с полностью тождественными записями.
автор
Мне что то надо дополнительно сделать, т.е. как то выделить общий ключ из нескольких и обозвать его первичным ключом..?
Именно так. Помните, что порядок следования полей в ключе влияет на производительность некоторых запросов, например в случае, когда значение первого поля ключа не охвачено условием. В этом случае будет полный скан таблицы.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проблема....
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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