|
|
|
Что сделать первичным ключом: код страны или название страны или создать сурогат?
|
|||
|---|---|---|---|
|
#18+
Стандартные коды (стандартной длины) как бы ближе к ключу чем наименования (переменной величины). Например тут: http://www.mosclassific.ru/mClass/oksm_view.php Суррогатный ключ как бы ближе к строгому дезайну от суровых ДБЁв. И с третьей стороны, названия стран меняются не часто, врядли будет проблемой для небольшой уеб апликации. Чем привлекает использования названия -- ето то что в таблице адресов можно сразу ставить име страны и имя региона (провинции, штата). Небольшое увеличение размера колонки (3 на код против варчар-100, тоже для провинции) -- против двух лишних запросов (или жоинтов) на имя страны и имя провинции если они лежат в других таблицах. Спасибо заранее за на водку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 06:43 |
|
||
|
Что сделать первичным ключом: код страны или название страны или создать сурогат?
|
|||
|---|---|---|---|
|
#18+
javajdbc, Сурогатный ключ - это термин хранилищ данных, служит для перекодировки первичных ключей и привязки к справочникам данных из таблиц фактов. В случае большого объема данных и жестких требобований к производительности перекрестной выборки большого объема данных из нескольких таблиц должен быть из разряда int -> см. индексирование. Усли у вас не хранилище данных, то ваш случай - первичный ключ. Можно оставить как есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 10:04 |
|
||
|
Что сделать первичным ключом: код страны или название страны или создать сурогат?
|
|||
|---|---|---|---|
|
#18+
Полковникjavajdbc, Сурогатный ключ - это термин хранилищ данных, служит для перекодировки первичных ключей и привязки к справочникам данных из таблиц фактов. В случае большого объема данных и жестких требобований к производительности перекрестной выборки большого объема данных из нескольких таблиц должен быть из разряда int -> см. индексирование. Усли у вас не хранилище данных, то ваш случай - первичный ключ. Можно оставить как есть. Все же терамин "Сурогатный ключ" используется и в базах данных. И противопоставляется там не первичным ключам, а естественным ключам. И означает, что не является никаким свойством объекта реальногого мира, т.е. его значения ниче не описывают из предметной области. При этом и естественные и особенно суррогатные ключи могут быть первичными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 10:20 |
|
||
|
Что сделать первичным ключом: код страны или название страны или создать сурогат?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 10:59 |
|
||
|
Что сделать первичным ключом: код страны или название страны или создать сурогат?
|
|||
|---|---|---|---|
|
#18+
javajdbcСуррогатный ключ как бы ближе к строгому дезайну от суровых ДБЁв. И с третьей стороны, названия стран меняются не часто, врядли будет проблемой для небольшой уеб апликации.Название страны точно не надо. :-) А естественный ключ использовать вполне нормально, как из цифрового кода страны, так и из символьного ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 11:35 |
|
||
|
Что сделать первичным ключом: код страны или название страны или создать сурогат?
|
|||
|---|---|---|---|
|
#18+
alexeyvgА естественный ключ использовать вполне нормально, как из цифрового кода страны, так и из символьного а Джон Кеннеди таки убит в Глухомани шоу маст го он ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 12:03 |
|
||
|
Что сделать первичным ключом: код страны или название страны или создать сурогат?
|
|||
|---|---|---|---|
|
#18+
baracsjavajdbc, Вот, была недавно темка: Первичные ключи и ISO коды о! хорошая тема! блин...ну как не охота делать два лишних жоинта для подбора реального имени страны и провинции... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 18:52 |
|
||
|
Что сделать первичным ключом: код страны или название страны или создать сурогат?
|
|||
|---|---|---|---|
|
#18+
Полковникjavajdbc, Сурогатный ключ - это термин хранилищ данных, служит для перекодировки первичных ключей и привязки к справочникам данных из таблиц фактов. В случае большого объема данных и жестких требобований к производительности перекрестной выборки большого объема данных из нескольких таблиц должен быть из разряда int -> см. индексирование. Усли у вас не хранилище данных, то ваш случай - первичный ключ. Можно оставить как есть. Ну фик с ним, как он нзавывается... имелось ввиду выбрать между первычным ключом для таблицы стран (и для таблицы провинций): -- имя страны -- 2 или 3 буквеный код страны -- просто автоимкрементный/идентити/сиквенс поле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 18:55 |
|
||
|
Что сделать первичным ключом: код страны или название страны или создать сурогат?
|
|||
|---|---|---|---|
|
#18+
javajdbc Ну фик с ним, как он нзавывается... имелось ввиду выбрать между первычным ключом для таблицы стран (и для таблицы провинций): -- имя страны -- 2 или 3 буквеный код страны -- просто автоимкрементный/идентити/сиквенс поле Лучше всего, никогда не использовать такую модель данных (с "таблицами" и "ключами"). И у Вас не будет никаких проблем:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 20:59 |
|
||
|
Что сделать первичным ключом: код страны или название страны или создать сурогат?
|
|||
|---|---|---|---|
|
#18+
БредятинаЛучше всего, никогда не использовать такую модель данных (с "таблицами" и "ключами"). И у Вас не будет никаких проблем:) В целом, согласен, но какие алтернативы? Сноуфлейк? или МОЛАП? или просто поключится к базе ООН и вытаскивать имя страну по ключу- картинке отпечатков пальцев каждого животного? Кстати, будет проблема если у трупа атрежут палец.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2011, 21:29 |
|
||
|
Что сделать первичным ключом: код страны или название страны или создать сурогат?
|
|||
|---|---|---|---|
|
#18+
javajdbcПолковникjavajdbc, Сурогатный ключ - это термин хранилищ данных, служит для перекодировки первичных ключей и привязки к справочникам данных из таблиц фактов. В случае большого объема данных и жестких требобований к производительности перекрестной выборки большого объема данных из нескольких таблиц должен быть из разряда int -> см. индексирование. Усли у вас не хранилище данных, то ваш случай - первичный ключ. Можно оставить как есть. Ну фик с ним, как он нзавывается... имелось ввиду выбрать между первычным ключом для таблицы стран (и для таблицы провинций): -- имя страны -- 2 или 3 буквеный код страны -- просто автоимкрементный/идентити/сиквенс поле Все может меняться кроме суррогатного ключа. Кто ж знал, что 007 будет означать не СССР, а Россия и Казахстан? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2011, 08:05 |
|
||
|
Что сделать первичным ключом: код страны или название страны или создать сурогат?
|
|||
|---|---|---|---|
|
#18+
Cat2Все может меняться кроме суррогатного ключа. Кто ж знал, что 007 будет означать не СССР, а Россия и Казахстан?А где это вы обнаружили, про 007 ??? В ISO 3166 и в "Общероссийский классификатор стран мира" принято следующее: СССР - 810, SUN, SU Россия - 643, RUS, RU Казахстан - 398, KAZ, KZ Разумется, эти идентификаторы, как и положено идентификаторам, не менялись и меняться не могут. Ну а если кто-то использовал свой суррогатный ключ 007 для СССР, а потом стал считать, что это СНГ или ещё что-то, то это его проблемы. Пользуйтесь естественными ключами! ЗЫ. Подумал, понял! Вы назвали 007 кодом потому, что 00 на вашей АТС означает переключение на международный набор номера, а 7 означает подключение к некой группе в плане (схеме) адресации фиксированной телефонной связи, в которую сейчас входит Россия и Казахстан, а раньше входил СССР. Вы бы ещё часть IP-адреса с вашего компа назначили естественным ключём для сущности Страна :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2011, 15:12 |
|
||
|
Что сделать первичным ключом: код страны или название страны или создать сурогат?
|
|||
|---|---|---|---|
|
#18+
alexeyvg, Если бы вы еще подумали, то поняли бы, что я писал 7, а не 007. 7 - это международный телефонный код срагы, а не правила набора. 007 - это Джеймс Бонд Телефонные коды стран] http://phones.ct24.ru/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2011, 17:33 |
|
||
|
Что сделать первичным ключом: код страны или название страны или создать сурогат?
|
|||
|---|---|---|---|
|
#18+
Cat2, автор=кто-тоИ представлялась картина - фанаты БГ звонят со всей России по этому номеру в Питер и задают примерно один и тот же вопрос: "…типа, два двенадцать восемьдесят пять ноль шесть - это твой номер, номер, номер, номер, номер…". А на том конце провода, какая-нибудь бабуля, уже сто тысячный раз отвечает "… нет, это прачечная …" и кладёт трубку с чувством выполненного гражданского долга. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2011, 21:32 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37054170&tid=1542357]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
284ms |
get topic data: |
12ms |
get forum data: |
4ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 230ms |
| total: | 633ms |

| 0 / 0 |
