Частичные ключи в наборе слабых сущностей - PullRequest
0 голосов
/ 15 февраля 2019

Я немного запутался с частичными ключами.«Основные понятия системы баз данных Корта» гласит следующее:

Хотя у набора слабых сущностей нет первичного ключа, тем не менее нам нужны средства для различения всех тех сущностей в наборе слабых сущностей, которые зависятна одной конкретной сильной сущности.Дискриминатор набора слабых объектов - это набор атрибутов, который позволяет проводить это различие.Дискриминатор набора слабых объектов также называется частичным ключом набора объектов.

Моя путаница заключается в том, что если дискриминатор / частичные ключи слабых объектов могут однозначно идентифицировать набор атрибутов,тогда он должен называться первичным ключом, а не частичными ключами, поскольку первичными ключами являются те, которые могут однозначно идентифицировать все атрибуты отношения.

Кроме того, во время серфинга в Интернете я натолкнулся на определение частичного ключа, которое гласит:

'Частичный ключ - это ключ, с помощью которого все записи таблицы могутне быть идентифицированным однозначно '

У меня возникает вопрос, который предполагает, что если таблица состоит из первичного ключа, который состоит из двух или более атрибутов, то если мы выберем один атрибутиз этого он будет называться частичным ключом, поскольку этот атрибут является частью первичного ключа, но сам по себе он не может однозначно идентифицировать все атрибуты в отношении.

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

В определении не говорится, что «дискриминатор / частичные ключи слабых сущностей способны однозначно идентифицировать» в таблице.В нем говорится, что можно определить слабую сущность в рамках конкретной сильной сущности .

Технические термины означают только то, что они определены для обозначения в определенном контексте допущений, включая другие определения.Вы не можете ожидать, что один и тот же термин означает одно и то же везде.Вы не можете просто посмотреть на текст определения и сделать предположения о том, к каким ситуациям оно относится и что означают его технические термины или даже используется ли слово в техническом или повседневном смысле.Когда кто-то использует термин, вы должны убедиться, что знаете, что он подразумевает под ним.

Реляционный суперключ уникально идентифицирует строку.CK (ключ-кандидат) - это суперключ, который не содержит суперключ.PK (первичный ключ) - это просто некоторый CK, который вы решили назвать PK.) Таким образом, уникальность не является причиной для того, чтобы называть что-то PK или CK.(SQL PK / UNIQUE аналогичен реляционному суперключу.)

Метод book генерирует дискриминаторы, которые не являются суперключами.Таким образом, мы можем сказать, что это согласуется с определением сети - для случаев, которые возникают в этом методе.Но если бы метод позволял генерировать дискриминаторы, которые были CK или PK, то его использование этой формулировки учебника определило бы, что «частичный ключ» - это нечто иное, чем определение в Интернете.Такой метод не может использовать (реляционный) «PK» для сильного идентификатора плюс дискриминатор, потому что это будет суперключ, но не CK или PK.(Но он все еще может использовать SQL "PK", поскольку это примерно означает основной суперключ.)

0 голосов
/ 15 февраля 2019

Я действительно думаю, что этот тип описаний происходит с самого первого шага в любом процессе моделирования, и тот, который любой, имеющий опыт моделирования данных, мог бы просто исправить, даже не думая об этом.

Вики-страница на "Weak Entity "приводит классический пример пары Header / Detail, где деталь сама по себе не имеет ссылки на заголовок.Подумайте о двухстраничном документе, где первая страница - это заголовок, а вторая страница - это детали.

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

Я не видел книгу, которую вы читаете, но я думаю, что это то, к чему она клонит.Поэтому я думаю, что все ваши последующие рассуждения верны.Загляните на вики-страницу для получения дополнительной информации.

...