powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Что такое НЕ УНИКАЛЬНЫЙ ключ???...
25 сообщений из 27, страница 1 из 2
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32153569
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то запутали меня... Выдержка из соседнего топика:

...Я что где-то писал что RcRP.ID_RP это ПЕРВИЧНЫЙ ключ? А что ключи бывают только УНИКАЛЬНЫМИ? Да-ааа, с такими знаниями реляционной теории, SQL точно не поможет, а в Clipper-е вообще утонуть можно...

Мой вопрос: Что такое НЕ УНИКАЛЬНЫЙ ключ???...


На него посоветовали завести отдельный топик: (Собственно, и завожу).


Если что не понятно не по теме, делайте новый топик «Что такое НЕ УНИКАЛЬНЫЙ ключ???...» надеюсь там вам помогут ))))))))
FK – этой аббревиатуры от меня Вам будет достаточно? ;)



Мое понимание:

"Primary Key" - некий уникальный набор значений, однозначно идентифицирующий кортеж в отношении. Либо строку в таблице, если кому такая терминология больше нравится. Типичный представитель - столбец с автоинкрементом.

"Foregin Key" - некое ограничение целостности. Означает, что значения в столбце, на который оно наложено, могут принимать только определенные значения. Типичный пример - есть таблица T1 со столбцами UID(PK), FirstName, MiddleName, LastName. Из другой таблицы T2 (UID(FK), Money) идет ссылка на эту таблицу. Значения T2.UID не могут принимать значения, не прописанные в T1.UID. Причем условие T1.UID(PK) - существенно. До этого места мне все понятно.


А теперь, внимание, вопрос:

ЧТО ТАКОЕ НЕ УНИКАЛЬНЫЙ КЛЮЧ???...
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32153590
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я чего не так скажу, просьба меня не убивать
По-моему, примером "неуникального ключа" и является этот самый "внешний ключ", ведь в столбце T2.UID одно и то же значение может повторятся. Значит значения аттрибута VID из таблицы T2 не уникальны для таблицы T2 (есть одна или несколько строк с одинаковым значением аттрибута VID).
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32153610
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче, сам разобрался, как всегда. Читать тут , п. 4.3.2.

Фразу "неуникальный ключ" заклеймить как малограмотную и выкинуть из обихода.
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32153630
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем ее клеймить,
если этот ключ (FK) и в самом деле неуникальный. Предположим, у домушников (квартирных воров) есть список квартир и характеристики замков к этим квартирам. Так вот, если по этим характеристикам эти домушники начертят к каждому замку по чертежу ключа - это будет как бы набор первичных ключей для всех квартир (PK). Каждой квартире соответствует свой уникальный "ключ" (я бы даже сказал "замок" а не ключ). Если теперь вся бригада домушников захочет обзавестись комплектом ключей от каждой квартиры, то у каждого будет по экземпляру ключа от каждой квартиры. И ключ этот - вполне реален - можно пойти и с помощью него ограбить квартиру. Вот только он уже не уникальный, посколку от каждого замка их столько, сколько злодеи изготовили...А если у кого-то из бригады окажется ключ от сгоревшего в прошлом году сарая - это уж будет "нарушение целостности данных" :-)
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32153674
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 wara

А зачем ее клеймить...

Затем. Есть одно совершенно четкое определение - и совершенно незачем плодить новые. Понятие "неуникальный ключ" <> FK если явно не указано обратное. А если указано - то используйте принцип "бритвы Оккама" - не плодите сущностей сверх необходимого... Вдумайтесь в суть понятия "ключ" - нечто, что позволяет провести однозначную идентификацию. Он по определению уникален. Все остальное - от лукавого.
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32153713
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот тут я с Вами не согласен. Где написано, что ключ по определению уникальный? Это Ваше личное мнение. Если он PK - то да, это как эталон, образец. А если FK - это как-бы "экземпляры" этого образца. Их может быть сколько угодно. Они не уникальные. Мне кажется, сейчас нам надо заглянуть в толковый словарь и почитать определение слова "уникальный".
Я думаю, что там будет написано, что один и тот же объект может быть "уникален" в одних случаях, и "неуникален" в других. То есть уникальность зависит от того, где она проверяется. (к примеру, в какой-то деревне говорят :"Вася - уникальный механик" в том смысле, что в данной деревне отсутствуют другие экземпляры класса "механик". А если этот Вася переедет в другую деревню, где хороших механиков пруд пруди, то про него (как и про любого другого) так никто не скажет, поскольку имеется несколько представителей класса "механик")
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32153731
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 wara
Хорошо, уговорили, определение слова "уникальный" я посмотрю в словаре на досуге. А вы попробуйте ответить без подсказки на такой вопрос:

Что такое "ключ"???...

Без всяких там приставок P,F, etc.
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32153755
Oleg_Martynov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен с Котом.
Простите за цитату, вот из Кодда:
---------
Как правило, один домен (или комбинация доменов) данного отношения содержит значения, позволяющие однозначно идентифицировать каждый элемент (n-кортеж) этого отношения. Такой домен (или комбинация) называется первичным ключом. В приведенном примере номер детали мог бы быть первичным ключом, в то время как цвет детали нет. Первичный ключ неизбыточен, если он либо является простым доменом (не комбинацией), либо представляет собой такую комбинацию, что ни один из входящих в нее доменов не является лишним при однозначной идентификации каждого элемента. Отношение может обладать более чем одним неизбыточным первичным ключом. В случае, когда отношение содержит два или более неизбыточных первичных ключа, произвольно выбирается один из них и называется Первичным Ключом этого отношения.

Общее требование для элементов отношения - обеспечение взаимосвязи с другими элементами данного отношения или с элементами другого отношения. Ключи обеспечивают средства пользовательского уровня (но не только средства), для выражения таких взаимосвязей. Мы будем называть домен (или комбинацию доменов) отношения R внешним ключом, если он не является Первичным Ключом R, но его элементы - значения Первичного Ключа некоторого отношения S (возможность идентичности R и S не исключается).
---------
Конец цитаты.
Реляционная модель данных для больших совместно используемых банков данных Е.Ф. Кодд 1969 г

Вроде, всё ясно - просто совпадения звучания слов "ключ". Мы же не думаем, что ключ, к которомы я, когда есть настроение, хожу за водой, обладает свойством "уникальности" в обсуждаемом смысле.
Т.е., дискуссия, скорее филологическая.
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32153758
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про слово "уникальность" в Словаре живого великорусского языка я ничего не нашел, так как слово явно туземное (все это иноземное слово используют, но мало кто понимает, что оно означает)
А вот что там написано про ключ:

КЛЮЧ м.
начально клюка, крюк, напр. которым запирается крестьянский
дверной замок, засов, зубчатая задвижка.( Журавли летят ключем, крюком,
изломом.)

Вообще снаряд для запирки и отпиркн замка, состоящий из головки
(кольца), трубки и бородки.(Поддельный ключ, отмычка.)

Снаряд или орудие для доступа к чему, для отпирки, управленья, укрепы(молоточек с трубочкой фортепианного настройщика, снаряд для заводки часов и машин,для отвертки гаек и винтов с угластыми шляпками; рычаг плющильного снаряда; зубной ключ служить для дерганья зубов. )...
Короче, по нашей теме ключ - это то, чем отпирают/запирают что-то. Впрочем, не зная определения слова "уникальность" наш спор не имеет смысла...Впору на какой-нибудь лингвистический форум задать вопрос:
"Что означает следующая смесь латинского с нижегородским: Уникальный ключ?"
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32153765
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что, хорошо в словаре великорусского языка написано, почти как у Кодда:

"орудие для доступа"

ЗЫ. Вот для того, чтобы не говорили о ключах, которыми болты на колесах отвинчивают, или из которых воду черпают (гмм, опять же получается - орудие для доступа к воде) и надо вводить понтяные определения. А если они введены - то их и придерживаться.
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32153775
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg_Martynov,
1. дискуссия не совсем филологическая, поскольку выяснилось, что многие (и я в том числе) используют выражения "ключ" и "уникальный ключ" (в применении к базам данных) не до конца понимая смысл, просто как штамп какой-то (тут и доля вины переводчиков, наверное есть)
2. Из приведенной Вами цитаты, по-моему, совершенно неясно, обязан ли "ключ" (в смысле БД) быть уникальным ("единственным в популяции" в моем понимании) или нет. Я бы даже сказал, что, напротив, оборот "Мы будем называть домен (или комбинацию доменов) отношения R внешним ключом, если он не является Первичным Ключом R, но его элементы - значения Первичного Ключа некоторого отношения S (возможность идентичности R и S не исключается)." наводит на мысль, что в домене R эти самые "внешние ключи" могут повторяться, то есть их значения не уникальны в рамках домена R. То есть мы приходим к прямо противоположному выводу - "ключи не всегда уникальны" (в смысле БД).
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32153780
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Циничный кот,
Я и не утверждал, что надо ввести определение "неуникальный ключ", а вот вопрос "Всегда ли ключ (в применении к БД) уникален" (по крайней мере, для меня) так и остался открытым.
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32153783
Paul Atreidies
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорри, но складывается впечатление что мешаются в кучу понятие ключа и понятие индекса - это все же разные вещи. FK это PK внешней таблицы.
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32153788
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Paul Atreidies,
может быть хоть Вы нас просветите, ответите на заданный Циничным Котом вопрос
"ЧТО ТАКОЕ НЕ УНИКАЛЬНЫЙ КЛЮЧ???..."
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32153794
Oleg_Martynov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Извините за поправку, но R в цитате - это отношение, не домен. В IB это так и называется, в MSSQL - это пользовательские типы данных (которыми MS пользоваться не рекомендует, к моему глубокому сожалению - это очень - очень удобно).
2. В этой статье Кодд просто вводит терминологию обсуждаемой области, области, которую до этого никто не исследовал (такую-то вещь будем называть так-то). Эта терминология и прижилась. Ну не нашёл Кодд для комбинации полей, которая должна существовать в другом отношении более удачного термина, чем "внешний ключ". Так и стали называть, вслед за основоположником.
Т.е., опять же, просто омонимы. Понятия "ключ", "первичный ключ", "внешний ключ" - необходимо воспринимать как совершенно различные, это просто названия, и их обозначения словами (в которых мы усматриваем параллели - ну как же, слово "ключ" есть") - это просто обозначения различных сущностей объективной реальности.
Обратим внимание, как Кодд вводит терминологию своей теории (а переводчик переводит - просто калькой, key - ключ):
----Такой домен (или комбинация) НАЗЫВАЕТСЯ первичным ключом.
----Мы БУДЕМ НАЗЫВАТЬ домен (или комбинацию доменов) отношения R внешним ключом
(выделение моё - прошу прощения у достопочтенного Е.Ф.)
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32153802
Oleg_Martynov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл добавить.
>обязан ли "ключ" (в смысле БД) быть уникальным ("единственным в популяции" в моем понимании)
Нет. Не в БД. В отношении. В одном отдельно взятом отношении из многих отношений БД.
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32153809
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, тут переводчики, скорее всего, виноваты. Давайте не будем спорить, а все на них и свалим. Переводят они отвратно - это надо признать.
Говорила мне бабушка: "Читай классиков на языке оригинала"...
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32153822
Репликант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Филология: ...что касается существительного "ключ", используемого в реляционной теории, то его употребление в рамках этой теории без соответствующего качественного прилагательного ("первичный", "потенциальный", "внешний" и т.д.) может привести к неоднозначности и двусмысленности...

Логика: ...что касается понятия "ключ", используемого в реляционной теории, то его использование в рамках этой теории без соответствующих определяющих признаков ("первичный", "потенциальный", "внешний" и т.д.) приводит ошибочным выводам на основе так называемой ошибки неясности и расплывчатости , заключающейся в том, что используемое в отдельности понятие "ключ" является неясным и расплывчатым без признаков, входящих в его определение...
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32153858
kondi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здесь я с Вами согласен, тем более что в соседнем топике Вы нарушили это правило.

Однако было бы неправильно умалчивать и другую точку зрения, согласно которой ключ это набор столбцов (полей, атрибутов - как кому будет угодно) и ничего более. На основе этого, начинают объяснять понятия PK, FK и т.д.
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32153867
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Много путаницы добавляет смешение понятий "Ключ" и "Индекс". Действительно индекс может быть не уникален, но входящие в него поля мы называем "ключевыми".
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32154722
Репликант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 kondi:
Здесь я с Вами согласен, тем более что в соседнем топике Вы нарушили это правило.

Я тоже сам с собой согласен, тем более что в начале соседнего топика вы как раз и совершили ошибку неясности и расплывчатости , не использовав как это рекомендуется филологией и логикой необходимые признаки (первичный, внешний) для широкого использованного вами понятия "ключ"...
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32155238
kondi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Репликант
Зачем-же так откровенно лгать?
Eсли это Вам не видно сразу, включите поиск и увидите что Репликант сказал "ключ" без какого-бы то нибыло уточнения о каком ключе идет речь.

>Далее: у вас в подходе 1) получается, что если RcRP.ID_RP - ключ, то
>рецептура может состоять только из 1-го изделия/сырья/полуфабриката, но
>по-вашему же это не так: рецептура изделия может содержать как сырье (и
>полуфабрикаты), так и изделия,...

За свои слова отвечать надо, а не хочется, да? Или Вы это другой Репликант?
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32155318
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 kondi

Попрошу распальцовку (За свои слова отвечать надо, etc) запальцевать обратно. Дабы не провоцировать неинтересный и ненужный флейм.

Теперь по теме:
Однако было бы неправильно умалчивать и другую точку зрения, согласно которой ключ это набор столбцов (полей, атрибутов - как кому будет угодно) и ничего более

1. Дайте ссылку на тот материал, в котором внятно описана эта точка зрения. Я такого еще не встречал, мне интересно.

2. Если "ключ" = "набор столбцов", то см. выше - не плодите сущности сверх необходимого. Набор столбцов - однозначное понятие, ключ - нет.
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32155577
kondi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да пора с ним ... заканчивать :)

>1. Дайте ссылку на тот материал, в котором внятно описана эта точка
> зрения. Я такого еще не встречал, мне интересно.

Например здесь:
http://www.nkfi.ru/doc/mirror/infocity/infocity.kiev.ua/db/content/db078.phtml-id=1755.htm

>2. Если "ключ" = "набор столбцов", то см. выше - не плодите сущности сверх необходимого. Набор столбцов - однозначное понятие, ключ - нет.

Согласен я с Вами, но в учебной литературе говорят "ключ" а потом объясняют какими они бывают, вот и все.
...
Рейтинг: 0 / 0
Что такое НЕ УНИКАЛЬНЫЙ ключ???...
    #32155991
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В словаре Ожегова :
"Уникальный - единственный в своем роде, неповторимый", то есть отмечено, что один и тот же объект "в одном роде" может быть уникальным, а в другом - нет.
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Что такое НЕ УНИКАЛЬНЫЙ ключ???...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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