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