|
|
|
Ограничение уникальности
|
|||
|---|---|---|---|
|
#18+
Есть схема: Имена организаций, технологий уникальные. Получается что у меня есть и поле ID как идентификатор и имена уникальные, это хреново? База в mssql, ID типа guid (16 бит), а имена nchar с ограничением уникальности (уникальный индекс), для доступа использую ado.net. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2015, 15:50 |
|
||
|
Ограничение уникальности
|
|||
|---|---|---|---|
|
#18+
faustmangos Получается что у меня есть и поле ID как идентификатор и имена уникальные, это хреново?Это нормально https://ru.wikipedia.org/wiki/Первичный_ключ Если в отношении имеется единственный потенциальный ключ, он является и первичным ключом. Если потенциальных ключей несколько, один из них выбирается в качестве первичного, а другие называют «альтернативными». ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2015, 16:46 |
|
||
|
Ограничение уникальности
|
|||
|---|---|---|---|
|
#18+
faustmangosЕсть схема: Имена организаций, технологий уникальные. Получается что у меня есть и поле ID как идентификатор и имена уникальные, это хреново? База в mssql, ID типа guid (16 бит), а имена nchar с ограничением уникальности (уникальный индекс), для доступа использую ado.net. Самое главное, чтобы тебе сейчас не пришла мысль - "Раз у меня ID уникальный и имена уникальные, то я сейчас сделаю крутецки круто - выкину ID нах" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2015, 20:07 |
|
||
|
Ограничение уникальности
|
|||
|---|---|---|---|
|
#18+
faustmangos, Не смешивайте понятия "первичный ключ" (ПК) и "уникальность". Первичный ключ всегда уникален, но уникальное поле не обязано быть ПК. Первичные ключи бывают естественными и суррогатными. Естественный ПК - это как в Вашем случае выкинь поле id, оставив поле name и сделав его ПК. Суррогатный ПК - это в Вашем случае поле id. Естественные ключи имеет немало плюсов для высокой производительности, но их недостатки в больше случаев перевешивают всех их плюсы вместе взятые. На Вашем примере, любая ссылка на таблицу с естественным ключом будет хранить значение атрибута name (например, сontracts.client для ссылок на organizations). В случае обновления этого поля сперва придется обновить все ссылки на запись из других таблиц. Я за использование суррогатных внешних ключей (т.е. оставить всё как есть). Ситуации, когда естественные ПК действительно необходимы (из-за проблем быстродействия), не так часто встречаются (хотя от целей базы и условий эксплуатации СУБД зависит). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2015, 05:10 |
|
||
|
Ограничение уникальности
|
|||
|---|---|---|---|
|
#18+
На Вашем примере, если выкинуть поле id, сделав name ПК, любая ссылка на таблицу с естественным ключом будет хранить значение атрибута name (например, сontracts.client для ссылок на organizations). В случае обновление первичного естественного ключа (т.е. поля name, если решили убрать id) сперва придется обновить все ссылки на запись из других таблиц. Очень много неудобств. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2015, 05:14 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=24&tid=1540681]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
85ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 408ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...