|
|
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
Naf wrote: > Пример: 2 сущности - Организации, ФизЛица > множественная ассоциация между ними: Работник(Организация,Физлицо) - > многие-ко-многим Ну так вы будете суррогатный ключ лепить в работнике ? К слову, у нас в БД он таки налеплен. Но там это диктовалось методологией разработки. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 14:52 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
MasterZiv Naf wrote: > Пример: 2 сущности - Организации, ФизЛица > множественная ассоциация между ними: Работник(Организация,Физлицо) - > многие-ко-многим Ну так вы будете суррогатный ключ лепить в работнике ? К слову, у нас в БД он таки налеплен. Но там это диктовалось методологией разработки. видите у вас он тоже есть)) и внешний ключ-ссылка из других таблиц к этой ассоциации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 14:56 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
Naf wrote: > Почему не сделать атомарный первичный ключ и внешний ключ на > документ-владелец? Потому что не нужно. Вы его никогда по-хорошему не будете использовать. его можно использовать только при CRUD-операциях с одной записью позиции. Но эти же операции можно делать и с составным ключём, с тем же успехом. > Если понадобится отразить в агрегированной таблице по какой строке > начислен НДС, то достаточно будет добавить атомарный внешний ключ на > таблицу позиций. А можно - составной. Эффект один и тот же. И ещё -- обычно (вроде бы как) по позиции счёта-фактуры НДС не начисляют, начисляют по всей фактуре вместе. Я это к тому, что если на эту таблицу есть ссылки, то уже появляется резон в суррогатном ключе, но я как раз хотел привести пример, когда этого не происходит. > Если же позиция изменится, то в вашем случае придется ее менять и во > внешней таблице PK никогда не меняется, что вы. Если PK меняется, это -- к доктору. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 14:57 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
_мод Все сущности независимы по определению. Просто между ними м.б. ссылки. Хм... А как же теория баз данных с её сильными и слабыми сущностями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 15:24 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
MasterZiv, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 15:41 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
Ivan Shkuropadsky, есть сильные и слабые ограничения на связи между сущншстями а не силь и слаб сущности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 15:45 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
_модСахават ЮсифовДа нормальная практика, "основное место работы", "старшая жена", "любимый ресторан" ... вся жисть из этого интерфеса и состоит( Есть сущность Человек, у него есть атрибут Список мест работы, один из элементов этого списка имеет атрибут Основное, а остальные - По совместительству. И только так. необязательно никто не мешает Чек(ид, (ЧМР)основноместоработы) ЧМР(ид, Чек(работник), МР (местоработы)) МР(ид) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 15:50 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
Сахават Юсифовнеобязательно А как получить список МР с указанием основной ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 16:46 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
Ivan Shkuropadsky Хм... А как же теория баз данных с её сильными и слабыми сущностями? Все теории придумали, когда уже существовали СУБД и практика проектирования БД. Стоят они немного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 16:57 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
_мод, а "Основное место" это просто дополнительная роль МР в допотношении Чек_МР1 (Основное место) а список получается от Чек_МР ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 17:44 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
Naf wrote: > видите у вас он тоже есть)) > и внешний ключ-ссылка из других таблиц к этой ассоциации У нас совсем другая причина. У нас в БД всё -- объекты, и идентификация у них унифицированная. Только поэтому там суррогатный ключ. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 17:49 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
Сахават ЮсифовMasterZiv, А что за картинко ? Я не понял. Только интересно, в каком тулзе нарисовано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 17:51 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
Сахават Юсифов, не лучше так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 17:56 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
Сахават Юсифов, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 18:12 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
MasterZiv, своя будет называтся ViPRoS :) проходит регистрацию и сертификацию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 18:14 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
Визуализтор, интерпретатор, Построитель Реляционно-Объектных Структур :):):) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 18:15 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Т.е. как обычно описывается в литературе: Не читайте такую литературу. Примите как аксиому: независимая сущность - независимый идентификатор. В вашем случае проблема вот в чем: предприятие не является собственником телефонного номера, она арендует его у оператора. Т. е. фактически идентификатор телефонного номера выглядит как-то так [оператор][тип сети]...[характеристики сети, связанные с маршрутизацией, протоколами, способами соединения и пр.]...[способ идентификации абонентского устройства][публичный идентификатор абонентского устройства]. На самом деле в большинстве случаев поддерживать настолько глубокую идентификацию нет необходимости, используется только публичный идентификатор абонентского устройства. Но при этом важно понимать, что это ничто иное, как оправданное упрощение, подразумеваемые связи остались, несмотря на то, что не регистрируются. Т. о. в данном случае правильной будет структура данных отдельно для номерной емкости, отдельно для предприятий и отдельно - для связей. В таблице связей легко можете использовать дополнительные атрибуты (типа желаемого "основного" телефонного номера. На самом деле это тоже неправильная реализация, телефонный номер не может быть ни основным, ни вспомогательным. Да, именно такой подход и используем. Сильно упрощает жизнь. Всегда интересно знать Ваше мнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 20:36 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
NafChAМожете обосновать необходимость суррогатного атомарного основного ключа в таблицах, реализующих, например, связи сущностей M:N ? Пример: 2 сущности - Организации, ФизЛица множественная ассоциация между ними: Работник(Организация,Физлицо) - многие-ко-многим Организация может содержать множество работников, Физлицо может быть работником нескольких организаций: в разный период действия, а также быть внешним или внутренним совместителем. Сущности начислений и удержаний работников имеют ссылки именно на ассоциативную сущность Работник: именно от параметров ассоциации (оклад, срок выслуги) зависят расчеты по ним.Честно говоря, не ожидал столь широкой трактовки таблицы связи, под которую можно подвести любую таблицу, из которой есть ссылки на пару любых сущностей. Ваш пример описывает скорее процесс, чем состояние. Не то, чтобы это принципиально что-то меняет, но суть вопроса затемняет. Поэтому поправлюсь, подразумевались таблицы, в которых для идентификации любой из её строк достаточно упомянутых ссылок. Навскидку: "Фильм"-"Жанр" "Книга"-"Автор" "Рецепт"-"Ингредиент" "Диагноз"-"Симптом" "Сплав"-"Элемент" и т.п. При этом, таблица связи может иметь какие-то дополнительные поля, это неважно. Но ключ уже есть - идентификаторы обоих сущностей(пусть каждый из них суррогатен и атомарен). Что даст добавления в такую таблицу ещё одного поля - суррогатного атомарного идентификатора ? И выбор его в качестве основного ключа ? А вот если отказаться от идентифицирующей пары, хотя бы, в качестве альтернативного ключа, то возникает реальная опасность, получить сколько угодно повторяющихся пар с одинаковыми значениями. И зачем ? _модЭлементарно: аудитВ принципе, та же проблема. Для идентификации строки недостаточно ссылок, нужны дополнительные поля, например, время события. Но тогда столкнемся с другой проблемой, дискретность, с которой можно получить время от компьютера, да и хранить тоже. Не говоря уж о том, что, в многозадачной среде события могут происходить "одновременно". Поэтому лучшим вариантом здесь действительно является суррогатный ключ, благодаря тому, что генератор суррогатных значений сериализует обращения. _модВсе сущности независимы по определению. Просто между ними м.б. ссылки. Например: есть Организации и Подразделения, Подразделения ссылаются на Организации. Но можно получить список всех подразделений независимо от Организации по какому-либо признаку.Хотелось бы увидеть это определение. На мой взгляд, выглядит спорно. Иначе зачем говорить о том, что они независимы, если других(по определению) не бывает. Возможность независимого доступа, IMHO, вовсе не означает независимости описываемых в БД сущностей, это свойство РБД, так как все данные хранятся в раздельных равнодоступных плоских таблицах. В иерархических же системах хранения данных такой доступ был бы "нелегален". В данном примере, удаление организации автоматически подразумевает удаление всех его подразделений. Они попросту не могут существовать вне организации. Что это, если не зависимость ? Да и ценность получения списка подразделений независимо от организации сомнительна. P.S. Удобство и применимость суррогатных ключей не оспаривалось. Они нужны для решения разного рода практических задач, начиная с упрощения запросов, физического размера БД, скорости слияний, для той же сериализации, наконец. Оспаривалась необходимость автоматического их включения в любую таблицу и полный отказ от составных ключей. Хуже того, суррогатный ключ может провоцировать на отказ от альтернативных ключей. К сожалению, это реальность, приходилось сталкиваться с таким подходом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2009, 01:28 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
ChAОни попросту не могут существовать вне организации. Что это, если не зависимость ? Сущности ссылаются друг на друга - вот и появляется иллюзия зависимости. Так подразделение просто нельзя добавить, если нет организации - это просто обязательное поле. И удалить ничего нельзя, если есть ссылки. ChAДа и ценность получения списка подразделений независимо от организации сомнительна. Ну например все ИТ подразделения всех организаций Проще говоря - сурр. ключ никому не мешает, но может оказаться полезен в любой момент развития системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2009, 13:33 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
_модChAОни попросту не могут существовать вне организации. Что это, если не зависимость ?Сущности ссылаются друг на друга - вот и появляется иллюзия зависимости. Так подразделение просто нельзя добавить, если нет организации - это просто обязательное поле. И удалить ничего нельзя, если есть ссылки.Сущности равнодоступны, вот и появляется иллюзия независимости. IMHO, вполне симметричный аргумент. У меня создалось впечатление, что со стандартом IDEF1X Вы совсем не знакомы, равно как и с понятиями идентифицирующей и неидентифицирующей связи. Судя по всему, определения не будет._модChAДа и ценность получения списка подразделений независимо от организации сомнительна.Ну например все ИТ подразделения всех организацийКак-то уже обсуждалось нечто подобное. В большинстве случаев, полезность такой информации имеет разве что статистический характер. "Есть ложь, есть наглая ложь, а есть статистика"©. Не то, чтобы она вовсе бесполезна, но в данном примере её ценность стремится к нулю. Например, в данном случае, станет известно, что из 10 организаций 5 имеют IT-отделы, хотя лично я бы не взялся определить их только по названию подразделения. И что ?_модПроще говоря - сурр. ключ никому не мешает, но может оказаться полезен в любой момент развития системы.Т.е., места он не просит, индекс тоже обходится бесплатно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2009, 06:20 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
ChAУ меня создалось впечатление, что со стандартом IDEF1X Вы совсем не знакомы, равно как и с понятиями идентифицирующей и неидентифицирующей связи. Бесполезные понятия. Т.е., места он не просит, индекс тоже обходится бесплатно ?[/quot] Это да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2009, 10:06 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
_модChAУ меня создалось впечатление, что со стандартом IDEF1X Вы совсем не знакомы, равно как и с понятиями идентифицирующей и неидентифицирующей связи.Бесполезные понятия.Следовательно, бесполезна и декларативная ссылочная целостность. Удручающая тенденция. P.S. Наткнулся на забавный пример из практики одного из "светочей", близкого соратника Дейта, автора Practical Issues in Database Management: A Reference for the Thinking Practitioner . Вместо 4 сущностей сделал 5, но так и не обеспечил декларативной ссылочной целостности. Но все таблицы с обязательным атомарным суррогатным ключом и никаких идентифицирующих связей. Печальное зрелище, IMHO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2009, 23:41 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
ChA, Тупой товарищ какой-то этот паскаль, как и дейт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2009, 00:55 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
А так конечно не хватает в СКЛ CHECK ограничени Plan.Company.ID=Employee.Company.ID вот как только эту фигню вводишь, сразу все становися кайф :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2009, 01:03 |
|
||
|
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
|
|||
|---|---|---|---|
|
#18+
ChAСледовательно, бесполезна и декларативная ссылочная целостность. С чего бы это ? Если атрибут сущности есть ссылка на другую сущность, то необходимо обеспечить отсутствие битых ссылок. Кто и как это будет делать - вопрос второй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2009, 09:25 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36212808&tid=1543054]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
225ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
77ms |
get tp. blocked users: |
2ms |
| others: | 249ms |
| total: | 603ms |

| 0 / 0 |
