Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Обязан ли ключ быть Primary или достаточно Unique? / 22 сообщений из 22, страница 1 из 1
22.03.2011, 11:32
    #37176816
aliputinaliputin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
Обязательно ли, чтобы ключ был Primary или достаточно Unique?

Допустим, есть таблица с товарами, в ней суррогатный ключ (id), объявленный как Unique, но не Primary key. Чем мне это грозит?
...
Рейтинг: 0 / 0
22.03.2011, 11:36
    #37176827
Cane Cat Fisher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
aliputinaliputin,

Если на эту таблицу потребуется сослать foreign key, то сумеет ли Ваша СУБД сослаться на unique? Некоторые умеют, некоторые нет..

Еще где-то была разница в обработке NULL-ов. Primary key их не допускает принципиально, а в unique у некоторых СУБД могут быть послабления...
...
Рейтинг: 0 / 0
22.03.2011, 11:37
    #37176828
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
aliputinaliputinОбязательно ли, чтобы ключ был Primary или достаточно Unique?

Допустим, есть таблица с товарами, в ней суррогатный ключ (id), объявленный как Unique, но не Primary key. Чем мне это грозит?от СУБД зависит, индекс PK может быть кластерным (и только он) или не обязательно
опять же Unique возможно допускает NULL
смотреть СУБД надо
отсутствие у сущности PK но это не по-фэньшую ))
...
Рейтинг: 0 / 0
22.03.2011, 11:45
    #37176840
vadiminfo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
aliputinaliputin, вообще некоторый функционал в СУБД может использовать Primary. Например, Снапшот репликация в Оракле. Можно и без него, но не рекомендуется. Он как бы в семантическом плане часто воспринимается как идентификатор: он может быть один в табле, а Unique несколько. (Идентификатор как бы претендует на не изменчивость, в отличии от просто уникальных значений). Это может упрощать восприятие и юзание МД.
...
Рейтинг: 0 / 0
22.03.2011, 12:00
    #37176869
aliputinaliputin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
MySQL 5.5
В базе множество таблиц. Ни в одной из них я не использую Primary, только Unique.
Пока проблем не наблюдал, но на всякий случай интересуюсь.
...
Рейтинг: 0 / 0
22.03.2011, 12:14
    #37176901
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
aliputinaliputinMySQL 5.5
В базе множество таблиц. Ни в одной из них я не использую Primary, только Unique.
Пока проблем не наблюдал, но на всякий случай интересуюсь.
а собственно почему?
...
Рейтинг: 0 / 0
22.03.2011, 12:17
    #37176910
aliputinaliputin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
Почему не использую Primary? Хотя бы потому, что я могу обойтись и без него, как мне кажется.
...
Рейтинг: 0 / 0
22.03.2011, 12:33
    #37176947
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
aliputinaliputinПочему не использую Primary? Хотя бы потому, что я могу обойтись и без него, как мне кажется. и чем Unique лучше Primary?
...
Рейтинг: 0 / 0
22.03.2011, 12:43
    #37176974
aliputinaliputin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
Тем, что Unique не хуже Primary.
Думаю, Primary - это статус ключа, без которого ключ не перестает быть ключом. Такой статус ключам в моих таблицах пока не нужен.
...
Рейтинг: 0 / 0
22.03.2011, 12:51
    #37177000
Ivan Durak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
NafaliputinaliputinПочему не использую Primary? Хотя бы потому, что я могу обойтись и без него, как мне кажется. и чем Unique лучше Primary?
Тем, что без примари враги не догадаются что у нас пк!! А если еще и форены убрать - вообще никто не догадается!
...
Рейтинг: 0 / 0
22.03.2011, 12:55
    #37177021
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
Ivan DurakNafпропущено...
и чем Unique лучше Primary?
Тем, что без примари враги не догадаются что у нас пк!! А если еще и форены убрать - вообще никто не догадается!будет покруче чем в 1С
...
Рейтинг: 0 / 0
22.03.2011, 13:05
    #37177053
alneo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
согласно феншуя у меня простое правило: первичный ключ служит для организации ссылочной целостности,
а уникальный просто чтобы значение поле было уникальным (MSSQL допускает одно Null значение в уникальном ключе)
...
Рейтинг: 0 / 0
22.03.2011, 17:24
    #37177744
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
aliputinaliputinДопустим, есть таблица с товарами, в ней суррогатный ключ (id), объявленный как Unique, но не Primary key. Чем мне это грозит?
Проблемами при использовании с этой таблицей плохо сделанных стандартных инструментов. Больше в общем-то ничем.
...
Рейтинг: 0 / 0
30.03.2011, 11:28
    #37189712
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
On 22.03.2011 11:32, aliputinaliputin wrote:
> Обязательно ли, чтобы ключ был Primary или достаточно Unique?

В принципе не обязан. PK от UN ничем в принципе не отличается.
Но если это у тебя ключ, то почему не сделать его PK ?
Это ты же сам себе же хуже делаешь.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
30.03.2011, 13:44
    #37190128
Светлый_Дайвер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
Я прошу прощения... может отстал от жизни.
На сколько я помню из теории БД, то бывают:
- Первичные ключи
- Альтернативные
- Внешние
Первичный подразумевает уже уникальность.

Есть еще индексы, но это уже другое...
...
Рейтинг: 0 / 0
30.03.2011, 18:58
    #37190999
Бредятина
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
aliputinaliputinОбязательно ли, чтобы ключ был Primary или достаточно Unique?

Допустим, есть таблица с товарами, в ней суррогатный ключ (id), объявленный как Unique, но не Primary key. Чем мне это грозит?

У Вас нет БД. И нет приложенния БД. Пока. Поэтому ничем не грозит. Ваша программа работает так, как Вам надо, судя по всему. Значит все хорошо)
...
Рейтинг: 0 / 0
31.03.2011, 12:32
    #37192093
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
aliputinaliputinMySQL 5.5
В базе множество таблиц. Ни в одной из них я не использую Primary, только Unique.
Пока проблем не наблюдал, но на всякий случай интересуюсь.А какой движок, MyISAM или InnoDB ?
...
Рейтинг: 0 / 0
31.03.2011, 23:05
    #37193385
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
Светлый_ДайверНа сколько я помню из теории БД, то бывают:
- Первичные ключи
- Альтернативные
- Внешние
Это звучит примерно как "Яйца бывают крутые, высшего сорта и обезьяньи". P.S. Намудрили в этой "теории БД" не по делу. Если Вам хочется пользоваться этой терминологией, считайте, что топикстартер говорит об альтернативных ключах.
...
Рейтинг: 0 / 0
01.04.2011, 09:29
    #37193644
vadiminfo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
Светлый_ДайверЯ прошу прощения... может отстал от жизни.
На сколько я помню из теории БД, то бывают:
- Первичные ключи
- Альтернативные
- Внешние
Первичный подразумевает уже уникальность.

Есть еще индексы, но это уже другое...
Ну если брать тока теорию, то я помню, что там были ключи, выделеные ключи ну и типа суперключи.
Ключ там означет, что для мн-во арибутов значения уникальны в отношкении и никакое его собственное подмножество не обладает этим свойством. И не имеет значения выделены они: обявлены ключами в схеме или нет.
В теории это связано с ф-ми зависимостями, способами их навязывания. Ну типа она теория и занимается поисками формальных ответов на вопросы про оптимальность схемы. Для этого вроде не надо больше ниче про ключей и возможности или не возможности их навязать.
Но вот эта теория показала, что типа критериев оптимальной схемы выработать не получится в общем случае. Например, приведение к НФБК не позволит навязать все ф зависимости может, хотя 3НФ позволяет. Проектировщик стоит перед альтернативами.
В СУБД же немного пошире естенсвенно. Там и на семантичносить надо напирать и ораганизовывать ОЦ как можно больше декларативным способом (внешние ключи, на значения).
...
Рейтинг: 0 / 0
01.04.2011, 09:35
    #37193652
vadiminfo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
Т.е. в теории первичность, альтернативность, скорее всего, ниче не дает. И внешние тоже не привносят ответов на основные вопросы про оптимальность схемы в плане избыточность, аномалий, возможности навязывать ф зависмости и.
...
Рейтинг: 0 / 0
01.04.2011, 10:43
    #37193782
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
vadiminfoТ.е. в теории первичность, альтернативность, скорее всего, ниче не дает.
В теории, как мне кажется, понятие "первичный ключ" ввели только для того, чтобы говорить "существует первичный ключ" вместо "существует хотя бы один ключ". Элементарно короче фраза
...
Рейтинг: 0 / 0
01.04.2011, 11:00
    #37193829
vadiminfo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязан ли ключ быть Primary или достаточно Unique?
softwarerВ теории, как мне кажется, понятие "первичный ключ" ввели только для того, чтобы говорить "существует первичный ключ" вместо "существует хотя бы один ключ". Элементарно короче фраза
Я вот и думал, что в тероию это понятие и не вводили (не ясно что оно там дает). Это ввели в РМД в СУБД с тем чтобы была в принципе возможность выделить из множества выделенных ключей один особый. Например, для того чтобы претендовать на особую роль идентификатора. И для особой роли в некоторых фичах свяхзанной с идентификационной. Например, в репликации. В мультимастер репликации, по моему, без превичного ключа в Оракле табла в репликации вообще участвовать не может.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Обязан ли ключ быть Primary или достаточно Unique? / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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