powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
25 сообщений из 78, страница 3 из 4
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36212709
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naf wrote:

> Пример: 2 сущности - Организации, ФизЛица
> множественная ассоциация между ними: Работник(Организация,Физлицо) -
> многие-ко-многим

Ну так вы будете суррогатный ключ лепить в работнике ?
К слову, у нас в БД он таки налеплен. Но там это диктовалось
методологией разработки.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36212719
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Naf wrote:

> Пример: 2 сущности - Организации, ФизЛица
> множественная ассоциация между ними: Работник(Организация,Физлицо) -
> многие-ко-многим

Ну так вы будете суррогатный ключ лепить в работнике ?
К слову, у нас в БД он таки налеплен. Но там это диктовалось
методологией разработки.

видите у вас он тоже есть))
и внешний ключ-ссылка из других таблиц к этой ассоциации
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36212720
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naf wrote:

> Почему не сделать атомарный первичный ключ и внешний ключ на
> документ-владелец?

Потому что не нужно. Вы его никогда по-хорошему не будете использовать.
его можно использовать только при CRUD-операциях с одной записью
позиции. Но эти же операции можно делать и с составным ключём,
с тем же успехом.

> Если понадобится отразить в агрегированной таблице по какой строке
> начислен НДС, то достаточно будет добавить атомарный внешний ключ на
> таблицу позиций.

А можно - составной. Эффект один и тот же.

И ещё -- обычно (вроде бы как) по позиции счёта-фактуры НДС не
начисляют, начисляют по всей фактуре вместе. Я это к тому,
что если на эту таблицу есть ссылки, то уже появляется резон
в суррогатном ключе, но я как раз хотел привести пример, когда
этого не происходит.

> Если же позиция изменится, то в вашем случае придется ее менять и во
> внешней таблице

PK никогда не меняется, что вы. Если PK меняется, это -- к доктору.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36212808
Ivan Shkuropadsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_мод
Все сущности независимы по определению. Просто между ними м.б. ссылки.

Хм... А как же теория баз данных с её сильными и слабыми сущностями?
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36212866
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36212881
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan Shkuropadsky,

есть сильные и слабые ограничения на связи между сущншстями а не силь и слаб сущности
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36212904
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модСахават ЮсифовДа нормальная практика, "основное место работы", "старшая жена", "любимый ресторан" ... вся жисть из этого интерфеса и состоит(
Есть сущность Человек, у него есть атрибут Список мест работы, один из элементов этого списка имеет атрибут Основное, а остальные - По совместительству. И только так.
необязательно

никто не мешает

Чек(ид, (ЧМР)основноместоработы)
ЧМР(ид, Чек(работник), МР (местоработы))
МР(ид)
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36213109
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сахават Юсифовнеобязательно
А как получить список МР с указанием основной ?
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36213147
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivan Shkuropadsky
Хм... А как же теория баз данных с её сильными и слабыми сущностями?
Все теории придумали, когда уже существовали СУБД и практика проектирования БД. Стоят они немного.
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36213279
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_мод,

а "Основное место" это просто дополнительная роль МР в допотношении Чек_МР1 (Основное место)
а список получается от Чек_МР
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36213287
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naf wrote:

> видите у вас он тоже есть))
> и внешний ключ-ссылка из других таблиц к этой ассоциации

У нас совсем другая причина. У нас в БД всё -- объекты,
и идентификация у них унифицированная. Только поэтому
там суррогатный ключ.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36213294
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовMasterZiv,

А что за картинко ? Я не понял. Только интересно, в каком тулзе нарисовано.
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36213300
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов,

не лучше так
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36213343
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов,
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36213347
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

своя будет называтся ViPRoS :) проходит регистрацию и сертификацию
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36213349
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Визуализтор, интерпретатор, Построитель Реляционно-Объектных Структур :):):)
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36213579
Фёдоров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> Т.е. как обычно описывается в литературе:

Не читайте такую литературу. Примите как аксиому: независимая сущность - независимый идентификатор. В вашем случае проблема вот в чем: предприятие не является собственником телефонного номера, она арендует его у оператора. Т. е. фактически идентификатор телефонного номера выглядит как-то так [оператор][тип сети]...[характеристики сети, связанные с маршрутизацией, протоколами, способами соединения и пр.]...[способ идентификации абонентского устройства][публичный идентификатор абонентского устройства]. На самом деле в большинстве случаев поддерживать настолько глубокую идентификацию нет необходимости, используется только публичный идентификатор абонентского устройства. Но при этом важно понимать, что это ничто иное, как оправданное упрощение, подразумеваемые связи остались, несмотря на то, что не регистрируются.

Т. о. в данном случае правильной будет структура данных отдельно для номерной емкости, отдельно для предприятий и отдельно - для связей. В таблице связей легко можете использовать дополнительные атрибуты (типа желаемого "основного" телефонного номера. На самом деле это тоже неправильная реализация, телефонный номер не может быть ни основным, ни вспомогательным.

Да, именно такой подход и используем. Сильно упрощает жизнь. Всегда интересно знать Ваше мнение.
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36216276
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NafChAМожете обосновать необходимость суррогатного атомарного основного ключа в таблицах, реализующих, например, связи сущностей M:N ?
Пример: 2 сущности - Организации, ФизЛица
множественная ассоциация между ними: Работник(Организация,Физлицо) - многие-ко-многим
Организация может содержать множество работников, Физлицо может быть работником нескольких организаций: в разный период действия, а также быть внешним или внутренним совместителем.
Сущности начислений и удержаний работников имеют ссылки именно на ассоциативную сущность Работник: именно от параметров ассоциации (оклад, срок выслуги) зависят расчеты по ним.Честно говоря, не ожидал столь широкой трактовки таблицы связи, под которую можно подвести любую таблицу, из которой есть ссылки на пару любых сущностей. Ваш пример описывает скорее процесс, чем состояние. Не то, чтобы это принципиально что-то меняет, но суть вопроса затемняет. Поэтому поправлюсь, подразумевались таблицы, в которых для идентификации любой из её строк достаточно упомянутых ссылок. Навскидку:
"Фильм"-"Жанр"

"Книга"-"Автор"

"Рецепт"-"Ингредиент"

"Диагноз"-"Симптом"

"Сплав"-"Элемент"
и т.п.
При этом, таблица связи может иметь какие-то дополнительные поля, это неважно. Но ключ уже есть - идентификаторы обоих сущностей(пусть каждый из них суррогатен и атомарен). Что даст добавления в такую таблицу ещё одного поля - суррогатного атомарного идентификатора ? И выбор его в качестве основного ключа ? А вот если отказаться от идентифицирующей пары, хотя бы, в качестве альтернативного ключа, то возникает реальная опасность, получить сколько угодно повторяющихся пар с одинаковыми значениями. И зачем ?
_модЭлементарно: аудитВ принципе, та же проблема. Для идентификации строки недостаточно ссылок, нужны дополнительные поля, например, время события. Но тогда столкнемся с другой проблемой, дискретность, с которой можно получить время от компьютера, да и хранить тоже. Не говоря уж о том, что, в многозадачной среде события могут происходить "одновременно". Поэтому лучшим вариантом здесь действительно является суррогатный ключ, благодаря тому, что генератор суррогатных значений сериализует обращения.
_модВсе сущности независимы по определению. Просто между ними м.б. ссылки.
Например: есть Организации и Подразделения, Подразделения ссылаются на Организации. Но можно получить список всех подразделений независимо от Организации по какому-либо признаку.Хотелось бы увидеть это определение. На мой взгляд, выглядит спорно. Иначе зачем говорить о том, что они независимы, если других(по определению) не бывает.
Возможность независимого доступа, IMHO, вовсе не означает независимости описываемых в БД сущностей, это свойство РБД, так как все данные хранятся в раздельных равнодоступных плоских таблицах. В иерархических же системах хранения данных такой доступ был бы "нелегален".
В данном примере, удаление организации автоматически подразумевает удаление всех его подразделений. Они попросту не могут существовать вне организации. Что это, если не зависимость ?
Да и ценность получения списка подразделений независимо от организации сомнительна.

P.S. Удобство и применимость суррогатных ключей не оспаривалось. Они нужны для решения разного рода практических задач, начиная с упрощения запросов, физического размера БД, скорости слияний, для той же сериализации, наконец. Оспаривалась необходимость автоматического их включения в любую таблицу и полный отказ от составных ключей. Хуже того, суррогатный ключ может провоцировать на отказ от альтернативных ключей. К сожалению, это реальность, приходилось сталкиваться с таким подходом.
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36220349
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ChAОни попросту не могут существовать вне организации. Что это, если не зависимость ?

Сущности ссылаются друг на друга - вот и появляется иллюзия зависимости. Так подразделение просто нельзя добавить, если нет организации - это просто обязательное поле. И удалить ничего нельзя, если есть ссылки.
ChAДа и ценность получения списка подразделений независимо от организации сомнительна.
Ну например все ИТ подразделения всех организаций
Проще говоря - сурр. ключ никому не мешает, но может оказаться полезен в любой момент развития системы.
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36221767
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модChAОни попросту не могут существовать вне организации. Что это, если не зависимость ?Сущности ссылаются друг на друга - вот и появляется иллюзия зависимости. Так подразделение просто нельзя добавить, если нет организации - это просто обязательное поле. И удалить ничего нельзя, если есть ссылки.Сущности равнодоступны, вот и появляется иллюзия независимости. IMHO, вполне симметричный аргумент.
У меня создалось впечатление, что со стандартом IDEF1X Вы совсем не знакомы, равно как и с понятиями идентифицирующей и неидентифицирующей связи.
Судя по всему, определения не будет._модChAДа и ценность получения списка подразделений независимо от организации сомнительна.Ну например все ИТ подразделения всех организацийКак-то уже обсуждалось нечто подобное. В большинстве случаев, полезность такой информации имеет разве что статистический характер. "Есть ложь, есть наглая ложь, а есть статистика"©. Не то, чтобы она вовсе бесполезна, но в данном примере её ценность стремится к нулю. Например, в данном случае, станет известно, что из 10 организаций 5 имеют IT-отделы, хотя лично я бы не взялся определить их только по названию подразделения. И что ?_модПроще говоря - сурр. ключ никому не мешает, но может оказаться полезен в любой момент развития системы.Т.е., места он не просит, индекс тоже обходится бесплатно ?
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36221929
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ChAУ меня создалось впечатление, что со стандартом IDEF1X Вы совсем не знакомы, равно как и с понятиями идентифицирующей и неидентифицирующей связи.
Бесполезные понятия.
Т.е., места он не просит, индекс тоже обходится бесплатно ?[/quot]
Это да.
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36223933
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модChAУ меня создалось впечатление, что со стандартом IDEF1X Вы совсем не знакомы, равно как и с понятиями идентифицирующей и неидентифицирующей связи.Бесполезные понятия.Следовательно, бесполезна и декларативная ссылочная целостность. Удручающая тенденция.

P.S. Наткнулся на забавный пример из практики одного из "светочей", близкого соратника Дейта, автора Practical Issues in Database Management: A Reference for the Thinking Practitioner . Вместо 4 сущностей сделал 5, но так и не обеспечил декларативной ссылочной целостности. Но все таблицы с обязательным атомарным суррогатным ключом и никаких идентифицирующих связей. Печальное зрелище, IMHO.
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36224008
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChA,

Тупой товарищ какой-то этот паскаль, как и дейт
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36224015
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так конечно не хватает в СКЛ CHECK ограничени Plan.Company.ID=Employee.Company.ID
вот как только эту фигню вводишь, сразу все становися кайф :)
...
Рейтинг: 0 / 0
Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
    #36224200
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ChAСледовательно, бесполезна и декларативная ссылочная целостность.
С чего бы это ? Если атрибут сущности есть ссылка на другую сущность, то необходимо обеспечить отсутствие битых ссылок. Кто и как это будет делать - вопрос второй.
...
Рейтинг: 0 / 0
25 сообщений из 78, страница 3 из 4
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Зависимые сущности и идентифицирующие связи: ссылки основной таблицы на записи дочерней
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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