|
|
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
Обязательно ли, чтобы ключ был Primary или достаточно Unique? Допустим, есть таблица с товарами, в ней суррогатный ключ (id), объявленный как Unique, но не Primary key. Чем мне это грозит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2011, 11:32 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
aliputinaliputin, Если на эту таблицу потребуется сослать foreign key, то сумеет ли Ваша СУБД сослаться на unique? Некоторые умеют, некоторые нет.. Еще где-то была разница в обработке NULL-ов. Primary key их не допускает принципиально, а в unique у некоторых СУБД могут быть послабления... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2011, 11:36 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
aliputinaliputinОбязательно ли, чтобы ключ был Primary или достаточно Unique? Допустим, есть таблица с товарами, в ней суррогатный ключ (id), объявленный как Unique, но не Primary key. Чем мне это грозит?от СУБД зависит, индекс PK может быть кластерным (и только он) или не обязательно опять же Unique возможно допускает NULL смотреть СУБД надо отсутствие у сущности PK но это не по-фэньшую )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2011, 11:37 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
aliputinaliputin, вообще некоторый функционал в СУБД может использовать Primary. Например, Снапшот репликация в Оракле. Можно и без него, но не рекомендуется. Он как бы в семантическом плане часто воспринимается как идентификатор: он может быть один в табле, а Unique несколько. (Идентификатор как бы претендует на не изменчивость, в отличии от просто уникальных значений). Это может упрощать восприятие и юзание МД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2011, 11:45 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
MySQL 5.5 В базе множество таблиц. Ни в одной из них я не использую Primary, только Unique. Пока проблем не наблюдал, но на всякий случай интересуюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2011, 12:00 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
aliputinaliputinMySQL 5.5 В базе множество таблиц. Ни в одной из них я не использую Primary, только Unique. Пока проблем не наблюдал, но на всякий случай интересуюсь. а собственно почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2011, 12:14 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
Почему не использую Primary? Хотя бы потому, что я могу обойтись и без него, как мне кажется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2011, 12:17 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
aliputinaliputinПочему не использую Primary? Хотя бы потому, что я могу обойтись и без него, как мне кажется. и чем Unique лучше Primary? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2011, 12:33 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
Тем, что Unique не хуже Primary. Думаю, Primary - это статус ключа, без которого ключ не перестает быть ключом. Такой статус ключам в моих таблицах пока не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2011, 12:43 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
NafaliputinaliputinПочему не использую Primary? Хотя бы потому, что я могу обойтись и без него, как мне кажется. и чем Unique лучше Primary? Тем, что без примари враги не догадаются что у нас пк!! А если еще и форены убрать - вообще никто не догадается! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2011, 12:51 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
Ivan DurakNafпропущено... и чем Unique лучше Primary? Тем, что без примари враги не догадаются что у нас пк!! А если еще и форены убрать - вообще никто не догадается!будет покруче чем в 1С ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2011, 12:55 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
согласно феншуя у меня простое правило: первичный ключ служит для организации ссылочной целостности, а уникальный просто чтобы значение поле было уникальным (MSSQL допускает одно Null значение в уникальном ключе) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2011, 13:05 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
aliputinaliputinДопустим, есть таблица с товарами, в ней суррогатный ключ (id), объявленный как Unique, но не Primary key. Чем мне это грозит? Проблемами при использовании с этой таблицей плохо сделанных стандартных инструментов. Больше в общем-то ничем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2011, 17:24 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
On 22.03.2011 11:32, aliputinaliputin wrote: > Обязательно ли, чтобы ключ был Primary или достаточно Unique? В принципе не обязан. PK от UN ничем в принципе не отличается. Но если это у тебя ключ, то почему не сделать его PK ? Это ты же сам себе же хуже делаешь. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2011, 11:28 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
Я прошу прощения... может отстал от жизни. На сколько я помню из теории БД, то бывают: - Первичные ключи - Альтернативные - Внешние Первичный подразумевает уже уникальность. Есть еще индексы, но это уже другое... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2011, 13:44 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
aliputinaliputinОбязательно ли, чтобы ключ был Primary или достаточно Unique? Допустим, есть таблица с товарами, в ней суррогатный ключ (id), объявленный как Unique, но не Primary key. Чем мне это грозит? У Вас нет БД. И нет приложенния БД. Пока. Поэтому ничем не грозит. Ваша программа работает так, как Вам надо, судя по всему. Значит все хорошо) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2011, 18:58 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
aliputinaliputinMySQL 5.5 В базе множество таблиц. Ни в одной из них я не использую Primary, только Unique. Пока проблем не наблюдал, но на всякий случай интересуюсь.А какой движок, MyISAM или InnoDB ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2011, 12:32 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
Светлый_ДайверНа сколько я помню из теории БД, то бывают: - Первичные ключи - Альтернативные - Внешние Это звучит примерно как "Яйца бывают крутые, высшего сорта и обезьяньи". P.S. Намудрили в этой "теории БД" не по делу. Если Вам хочется пользоваться этой терминологией, считайте, что топикстартер говорит об альтернативных ключах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2011, 23:05 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
Светлый_ДайверЯ прошу прощения... может отстал от жизни. На сколько я помню из теории БД, то бывают: - Первичные ключи - Альтернативные - Внешние Первичный подразумевает уже уникальность. Есть еще индексы, но это уже другое... Ну если брать тока теорию, то я помню, что там были ключи, выделеные ключи ну и типа суперключи. Ключ там означет, что для мн-во арибутов значения уникальны в отношкении и никакое его собственное подмножество не обладает этим свойством. И не имеет значения выделены они: обявлены ключами в схеме или нет. В теории это связано с ф-ми зависимостями, способами их навязывания. Ну типа она теория и занимается поисками формальных ответов на вопросы про оптимальность схемы. Для этого вроде не надо больше ниче про ключей и возможности или не возможности их навязать. Но вот эта теория показала, что типа критериев оптимальной схемы выработать не получится в общем случае. Например, приведение к НФБК не позволит навязать все ф зависимости может, хотя 3НФ позволяет. Проектировщик стоит перед альтернативами. В СУБД же немного пошире естенсвенно. Там и на семантичносить надо напирать и ораганизовывать ОЦ как можно больше декларативным способом (внешние ключи, на значения). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2011, 09:29 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
Т.е. в теории первичность, альтернативность, скорее всего, ниче не дает. И внешние тоже не привносят ответов на основные вопросы про оптимальность схемы в плане избыточность, аномалий, возможности навязывать ф зависмости и. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2011, 09:35 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
vadiminfoТ.е. в теории первичность, альтернативность, скорее всего, ниче не дает. В теории, как мне кажется, понятие "первичный ключ" ввели только для того, чтобы говорить "существует первичный ключ" вместо "существует хотя бы один ключ". Элементарно короче фраза ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2011, 10:43 |
|
||
|
Обязан ли ключ быть Primary или достаточно Unique?
|
|||
|---|---|---|---|
|
#18+
softwarerВ теории, как мне кажется, понятие "первичный ключ" ввели только для того, чтобы говорить "существует первичный ключ" вместо "существует хотя бы один ключ". Элементарно короче фраза Я вот и думал, что в тероию это понятие и не вводили (не ясно что оно там дает). Это ввели в РМД в СУБД с тем чтобы была в принципе возможность выделить из множества выделенных ключей один особый. Например, для того чтобы претендовать на особую роль идентификатора. И для особой роли в некоторых фичах свяхзанной с идентификационной. Например, в репликации. В мультимастер репликации, по моему, без превичного ключа в Оракле табла в репликации вообще участвовать не может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2011, 11:00 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37177053&tid=1542237]: |
0ms |
get settings: |
5ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
154ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 448ms |

| 0 / 0 |
