|
|
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
Собственно юзал бигинт автоинкремент(я как бы не сторонник номер паспорта в качестве ПК юзать, поэтому никогда не выделяю потенциальные ключи.), но увидел как народ генерит Гуид (нетовский) и вставляет в БД (но он ведь длиннее). Если есть опыт скажите как вы это делаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 18:45 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
GUID имеет хорошее преимущество перед int. Потому что int ключ можно случайно использовать в неправильной связи (сослаться не на ту таблицу или не из той таблицы). GUID - использовать ошибочно нереально (оченьмаловероятно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 18:57 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
apapacy GUID имеет хорошее преимущество перед int. Потому что int ключ можно случайно использовать в неправильной связи (сослаться не на ту таблицу или не из той таблицы) Однозначно, в мемориз. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 18:58 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
RENaissance wrote: > Однозначно, в мемориз. Шо имеем против? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 19:24 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
locky Шо имеем против? Улыбает фраза "случайное использование ключа в неправильной связи". Складывается ощущение, что люди в бреду разрабатывают. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 19:30 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
Дак если не в бреду - зачем все эти CONSTARINT. Все всегда делайте правильно и никаких INEGRITY не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 20:23 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
Первичный ключно увидел как народ генерит Гуид (нетовский) и вставляет в БД (но он ведь длиннее). Не удивляйтесь. Я надеюсь дожить до времени, когда в качестве ПК начнут использовать XML :) lockyШо имеем против? Ничего. Канабису тоже нужны почитатели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 20:55 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
RENaissance wrote: > Улыбает фраза "случайное использование ключа в неправильной связи". > Складывается ощущение, что люди в бреду разрабатывают. продемонстрировать наглядный пример? Написано не в бреду, работает "правильно" - все констрайнты отрабатывают на ура. В базе - жопа. ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 21:07 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
> увидел как народ генерит Гуид (нетовский) и вставляет в БД Всем дебилам объяснять, что они дебилы - жизни не хватит. Не парьтесь, делайте, как делали. Необходимость в абсолютно уникальных суррогатных идентификаторах исчезающе мала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 21:17 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
softwarerЯ надеюсь дожить до времени, когда в качестве ПК начнут использовать XML :) с точки зрения удобства и отмены суррогатных ключей: +1 но получится как всегда: с новой версией по будет расти в размере в 2 раза (при той же самой функциональности) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 21:19 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
guest_20040621Необходимость в абсолютно уникальных суррогатных идентификаторах исчезающе мала. кто не писал вручную селекты, тот этого не поймёт никогда (каково оно, набирать гуид) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 21:21 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
Первичный ключно увидел как народ генерит Гуид (нетовский) и вставляет в БД (но он ведь длиннее). Так может это был не ПК а rowguid ? Такая схема, дополнительный столбец rowguid представляется мокрософтами стандартной в случае наличия репликации, тогда этот столбец удобно использовать также и для вставки с клиента. При отсутствии репликации, использование гуида в качестве ПК (или доп.столбцом для удобства вставки и проч.целей) - предмет непрекращающихся священных войн (разумеется, без победителей) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 12:02 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
apapacyGUID имеет хорошее преимущество перед int. Потому что int ключ можно случайно использовать в неправильной связи (сослаться не на ту таблицу или не из той таблицы). GUID - использовать ошибочно нереально (оченьмаловероятно). Можно и правое ухо левой пяткой чесать, имхо %) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 13:46 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
Megabyte apapacyGUID имеет хорошее преимущество перед int. Потому что int ключ можно случайно использовать в неправильной связи (сослаться не на ту таблицу или не из той таблицы). GUID - использовать ошибочно нереально (оченьмаловероятно). Можно и правое ухо левой пяткой чесать, имхо %) Расскажите это Оракл. :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. Короче, если СУБД поддерживает GUID ключи, то почему бы ими не пользоваться. Лабать PK на GUID руками, как то не очень весело, проще в целях тестирования каждому PK выделить свой диапазон из множества INT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 19:27 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
Хорошо. Все автоинкриментчикам - мой ответ. Использовал автоинкоемент под MySQL. Сбой чего-то. В поле вручную засылается MAXINT. Далее таблица пытается нарастить автоинкримент и некуда идти... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 20:30 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
ну, допустим, использовать GUID вера не позволяет. А кто как строит распределенные системы без глобальных идентификаторов, принцип в двух словах можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 20:53 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
То есть в комбинации пустой головы и кривых рук виноват автоинкремент, я все правильно понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 21:05 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
То есть Вы из тех прораммистов, которые признают существовании безошибочных программ и даже их пишет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 21:13 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
iscrafmну, допустим, использовать GUID вера не позволяет. А кто как строит распределенные системы без глобальных идентификаторов, принцип в двух словах можно? Не путай нас. Глобальный идентификатор можно построить и детерминированным способом, например в системе из двух узлов, на узле А в качестве идентификаторов генерим только нечётные числа, на узле Б, только чётные числа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 21:18 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
> А кто как строит распределенные системы Каждая первая проектируемая система - исключительно распределенная с парой миллионов узлов? ;) > без глобальных идентификаторов Валера, ничего нового никто не придумал. Альтернатива глобальным идентификаторам - диапазоны в том или ином виде. Тут фишка еще вот в чем: UUID для распределенных систем есть смысл использовать только в полной уверенности, что они для всех узлов имеют одинаковое правило формирования. Скажем, полностью соответствуют RFC 4122. Если такой уверенности нет, тогда присутствуют ограничения в виде требований к хосту, СУБД, фреймворку или еще чему-то, которые сводят на нет все потенциальные преимущества универсальных идентификаторов, не говоря уже про жуткий оверхед. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 21:19 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
apapacyТо есть Вы из тех прораммистов, которые признают существовании безошибочных программ и даже их пишет... А никто не говорит, про правильность программ. Если по какой либо причине БД разрушена, то надо уметь восстановить её без последствий, а не говорить, что БД это зло достойное только смерти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 21:28 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
mcureenab iscrafmну, допустим, использовать GUID вера не позволяет. А кто как строит распределенные системы без глобальных идентификаторов, принцип в двух словах можно? Не путай нас. Глобальный идентификатор можно построить и детерминированным способом, например в системе из двух узлов, на узле А в качестве идентификаторов генерим только нечётные числа, на узле Б, только чётные числа. не путаю, просто спрашиваю. Вот к примеру возьмем не самый сложный случай, 5 БД, СУБД разные, бизнес-процесс "проходит" через эти БД, взаимодействие в режиме он-лайн и т.п. Я про такие примеры и спрашиваю. Вы mcureenab, например, каким обазом в подобных ситуациях обходитесь детерминированными ключами? Задачка простая, выписанный в одной системе документ, допустим, должен без лишних телодвижений автоматом "влиться" в другую систему, связаться с окружением, как будто он здесь и родился. Это не к запутыванию,повторюсь, просто интересно как и какими силами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 21:29 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
guest_20040621> А кто как строит распределенные системы Каждая первая проектируемая система - исключительно распределенная с парой миллионов узлов? ;) ХМ. Ну разве, что игрушка "Шарики". Сейчас даже в Word'е есть поддержка распределённых вычислений... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 21:31 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
guest_20040621 Тут фишка еще вот в чем: UUID для распределенных систем есть смысл использовать только в полной уверенности, что они для всех узлов имеют одинаковое правило формирования. это тяжело опровергнуть :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 21:32 |
|
||
|
Как выбрать Первичный ключ в общем случае
|
|||
|---|---|---|---|
|
#18+
> это тяжело опровергнуть Вот и получается, что для гетерогенных систем - либо собственный генератор, либо диапазоны. Гадать, что в очередной раз озарило Билли и каких граблей ждать в каждом конкретном случае... а нафига? Стрессов и без того достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 21:40 |
|
||
|
|

start [/forum/search_topic.php?author=eugenne&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
167ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 430ms |
| total: | 727ms |

| 0 / 0 |
