Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
История такова: я делаю дипломную работу на большом комбинате для маленького цеха. Спроектировал базу данных и принес на рецензирование в инженерный центр. Ведущий специалист посмотрел и заставил переделывать. Мотивировал вот чем: я ключом в таблицах делал какой-нибудь идентификатор (инвентарный номер, номер по журналу и т.д.). Он сказал что все то что вноситься руками не может являться ключом таблицы. Пришлось везде ставить автоинкрементируемые поля, даже в связующих таблицах. Он сказал что так делают все специалисты баз данных. Кто прав? Объясните. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2005, 08:03 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
imho, человек с опытом правильно говорит. Например, списали старое оборудование, а вновь закупленное зарегистрировали под тем же инвентарным. Как быть? удалять старую запись из таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2005, 08:15 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
а как быть с тем, что могут по запарке ввести 2 строки с одинаковыми данными, не будеш же отслеживать дубли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2005, 08:25 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
да, и еще. а как мотивировать то, что в связующих таблицах тоже стоят автоинкр. поля, даже в тех что связались по предыдущим полям? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2005, 08:28 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
автора как быть с тем, что могут по запарке ввести 2 строки с одинаковыми данными, не будеш же отслеживать дубли? На это есть есть уникальные ключи, которые в крайнем случае можно отключить. А с первичными ключами так не получится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2005, 08:37 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
Ищите в этом разделе форума: тема обсуждалась неоднократно. Дело в том, что автоинкременты в большинстве случаев способны защитить нас от множества ошибок при проектировании. Но полностью заменить собой естественные ключи они не могут. По многим причинам. При использовании автоинка, по крайней мере, там, где у нас в таблице есть комбинация полей, составляющая естественный ключ, должен быть по такой комбинации построен уникальный "кандидатный" индекс. Теперь что у Вас. "...я ключом в таблицах делал какой-нибудь идентификатор (инвентарный номер, номер по журналу и т.д.)." Но ведь эти инвентарные номера - это не естественные ключи! Они в журналах так и появляются: в виде автоинкремента. Т.е. бухгалтер открывает гроссбух, идет на последнюю страницу, в новую запись пишет номер предпоследней записи плюс один. ;-) В Вашем случае прав опытный товарищ. Программа сама должна исполнять роль генератора инвентарных номеров и номеров по журналу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2005, 08:49 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
Романыч84История такова: я делаю дипломную работу на большом комбинате для маленького цеха. Спроектировал базу данных и принес на рецензирование в инженерный центр. Ведущий специалист посмотрел и заставил переделывать. Мотивировал вот чем: я ключом в таблицах делал какой-нибудь идентификатор (инвентарный номер, номер по журналу и т.д.). Он сказал что все то что вноситься руками не может являться ключом таблицы. Пришлось везде ставить автоинкрементируемые поля, даже в связующих таблицах. Он сказал что так делают все специалисты баз данных. Кто прав? Объясните. См. Ключ или отмычка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2005, 09:02 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
Романыч84История такова: я делаю дипломную работу на большом комбинате для маленького цеха. Спроектировал базу данных и принес на рецензирование в инженерный центр. Ведущий специалист посмотрел и заставил переделывать. Мотивировал вот чем: я ключом в таблицах делал какой-нибудь идентификатор (инвентарный номер, номер по журналу и т.д.). Он сказал что все то что вноситься руками не может являться ключом таблицы. Пришлось везде ставить автоинкрементируемые поля, даже в связующих таблицах. Он сказал что так делают все специалисты баз данных. Кто прав? Объясните. Click and read . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2005, 10:55 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
Романыч84 ... Ведущий специалист посмотрел и заставил переделывать. Мотивировал вот чем: я ключом в таблицах делал какой-нибудь идентификатор (инвентарный номер, номер по журналу и т.д.). Он сказал что все то что вноситься руками не может являться ключом таблицы. ... Кто прав? Объясните.Специалист не прав по двум причинам. Первая - его задача дать рецензию, а не заставлять переделывать. У него может быть свое мнение, но дипломник имеет право защищать свое. Вторая - это вопрос технический и в разных случаях хороши разные варианты. Они много раз обсуждались. Если бы это было однозначно, то таких обсуждений не было бы. В качестве примера, пусть попробует специалист предложить ключ для абонентов телефонной компании лучше, чем номер телефона. Или даст аргументы для операторов компании делать поиск абонента по некоторому ID. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2005, 14:33 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
PVP В качестве примера, пусть попробует специалист предложить ключ для абонентов телефонной компании лучше, чем номер телефона. Или даст аргументы для операторов компании делать поиск абонента по некоторому ID. на моей памяти 2-ды менялся номер телефона. (и у массы соседей тоже). кхм. идиотское предложение, имхо. But - "Ничего личного". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2005, 14:43 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
4321 PVP В качестве примера, пусть попробует специалист предложить ключ для абонентов телефонной компании лучше, чем номер телефона. Или даст аргументы для операторов компании делать поиск абонента по некоторому ID. на моей памяти 2-ды менялся номер телефона. (и у массы соседей тоже). кхм. идиотское предложение, имхо. But - "Ничего личного".Так что было после замены номера? Какой код лицевого счета на квитанции? А какой код спрашивают в кассе при оплате? Или какой код называете, когда звоните на АТС? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2005, 15:51 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
Так что было после замены номера? Какой код лицевого счета на квитанции? А какой код спрашивают в кассе при оплате? Или какой код называете, когда звоните на АТС? --------------------- суррогатные ключи отличаются от естественных именно тем что они не привязаны к предметной области. Искать человека можно по телефону но это не значит что для таблички "человеки" это поле обязательно должно быть первичным ключём Касательно вопроса топика - так чё здесь спрашивать-то? У препода и спросить можно чтоб объяснил Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2005, 16:26 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
1024 Так что было после замены номера? Какой код лицевого счета на квитанции? А какой код спрашивают в кассе при оплате? Или какой код называете, когда звоните на АТС? --------------------- суррогатные ключи отличаются от естественных именно тем что они не привязаны к предметной области. Искать человека можно по телефону но это не значит что для таблички "человеки" это поле обязательно должно быть первичным ключёмНу понятно, чем отличаются сурогатные ключи. Вопрос был на счет кода на АТС. Какой там ключ? 1024 Касательно вопроса топика - так чё здесь спрашивать-то? У препода и спросить можно чтоб объяснил Вопрос задан в расчете на то, что здесь есть специалисты и их количество больше, чем один преподаватель. К стати, преподаватель мог в процессе учебы применять естественный ключ. Как тогда быть с рецензентом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2005, 16:41 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
PVPВ качестве примера, пусть попробует специалист предложить ключ для абонентов телефонной компании лучше, чем номер телефона. Или даст аргументы для операторов компании делать поиск абонента по некоторому ID. У меня три номера. В одной компании. Я "един в трех лицах"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2005, 16:45 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
PVP Так что было после замены номера? Какой код лицевого счета на квитанции? А какой код спрашивают в кассе при оплате? Или какой код называете, когда звоните на АТС? кхм. это не мои проблемы. Т.ч. не помню. (и я не напрягаюсь узнавать, не было ли в афтрах их БД изврастченцеф ( ничего личного ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2005, 17:08 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
4321 PVP Так что было после замены номера? Какой код лицевого счета на квитанции? А какой код спрашивают в кассе при оплате? Или какой код называете, когда звоните на АТС? кхм. это не мои проблемы. Т.ч. не помню. (и я не напрягаюсь узнавать, не было ли в афтрах их БД изврастченцеф ( ничего личного ).Боже! Какая это пародия на анонизм! - сказал анонист, познав женщину ( ничего личного ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2005, 18:02 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
Есть ник игрока. Но уже есть автоинкрементный суррогатный ключь. Ник уникальный. Но зачем тогда суррогатный ключь? В умной книжке я прочитал, что суррогатные ключи есть смысл создавать не только в случае отсутствия естественного, но и для ускорения работы БД. Ведь поиск по полю int провести проще, чем по полю VARCHAR(32). А с другой стороны я как-то првык при создании таблицы первым полем писать что-то типа id serial primary key. А есть у меня в базе ещё таблица со связью. Два поля int. Так вот там я ключь сурогатный не стал делать. А зачем? Одна улица с другой два раза связанна быть не может. Вот я и сделал составной ключь по обоим полям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2005, 00:04 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
таблица "игроки" вероятно связана с таблицей "игры". При сменен ника с УльтроКиллер на УльтроМегаКиллер нужно будет поменять ник этого игрока в таблице "игры" везде где он встречается и потом в таблице "игроки". В этом причина рекомендаций неиспользования естественных ключей а не в производительности. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2005, 10:45 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
PVP познав женщину думал, как же ваше психическое связало тему обсуждения с цитируемым анекдотом. Остается предположить наличие у вас-с девиации на естественные ключи. Бросьте это дело. Расслабьтесь. Найдите женщину. На крайняк - вручную. ничего личного ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2005, 10:58 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
Для чукчей, которые думают, что они писатели, а не читатели привожу http://www.informix.com.ua/articles/key/key.htm] ссылку ещё раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2005, 11:02 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
1024 таблица "игроки" вероятно связана с таблицей "игры". При сменен ника с УльтроКиллер на УльтроМегаКиллер нужно будет поменять ник этого игрока в таблице "игры" везде где он встречается и потом в таблице "игроки" И в чём проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 15:14 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
Владимир П. 1024 таблица "игроки" вероятно связана с таблицей "игры". При сменен ника с УльтроКиллер на УльтроМегаКиллер нужно будет поменять ник этого игрока в таблице "игры" везде где он встречается и потом в таблице "игроки" И в чём проблема? проблема в том, что не замочив всех, кто в танке, "УльтроКиллер" не достоин звания "УльтроМегаКиллер". А так - никаких проблем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 15:43 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
Кстати про суррогатные ключи. Они автоматом позволяют привести базу после к 3НФ к НФБК. И вообще нормализацию упрощают сильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 15:57 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
Владимир П. 1024 таблица "игроки" вероятно связана с таблицей "игры". При сменен ника с УльтроКиллер на УльтроМегаКиллер нужно будет поменять ник этого игрока в таблице "игры" везде где он встречается и потом в таблице "игроки" И в чём проблема? В технике реализации. До тех пор, пока не все СУБД поддерживают deferred foreign keys, попытка выполнить эту операцию натыкается на совершенно идиотские проблемы и требует не менее идиотских решений. Например, обнаружив, что ключ мешает заменить ник игрока, гениальный разработчик обычно говорит - ладно, вставим новую запись с новым ником, перенаправим все ссылки, потом старую удалим. Делают так - и натыкаются, например, на бизнес-правило "разные игроки не должны иметь одинаковый email", попросту говоря срабатывает другой constraint. Делают обход этого, вляпываются в третье..... Другой, более гениальный вариант - мелькающие периодически на форумах вопросы "а как мне временно отключить constraint". Есть, наверное, и третий, и четвертый..... Итогом всего является кое-как работающая, неоправданно сложная программа, плюс гордый человек, который "умеет решать сложные практические задачи". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 17:16 |
|
||
|
Объясните кто прав: студент или человек с опытом?
|
|||
|---|---|---|---|
|
#18+
softwarer Владимир П. 1024 поменять ник этого игрока в таблице "игры" везде где он встречается и потом в таблице "игроки" И в чём проблема? До тех пор, пока не все СУБД поддерживают deferred foreign keys, попытка выполнить эту операцию натыкается на совершенно идиотские проблемы и требует не менее идиотских решений. Например, обнаружив, что ключ мешает заменить ник игрока, гениальный разработчик обычно говорит - ладно, вставим новую запись с новым ником, перенаправим все ссылки, потом старую удалим. Делают так - и натыкаются, например, на бизнес-правило "разные игроки не должны иметь одинаковый email", попросту говоря срабатывает другой constraint. Делают обход этого, вляпываются в третье..... Другой, более гениальный вариант - мелькающие периодически на форумах вопросы "а как мне временно отключить constraint". Есть, наверное, и третий, и четвертый..... Ой, ужас какой рассказываете. Если в БД нет CONSTRAINT ... ON UPDATE CASCADE, то можно реализовать каскадное обновление через триггер. Всегда обновление поля и запуск назначенных на это событие триггеров происходит атомарно -- и только после триггерного обновления, когда база снова в согласованном состоянии, происходит проверка constraint'ов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2005, 09:56 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33188234&tid=1545723]: |
0ms |
get settings: |
4ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
132ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 452ms |

| 0 / 0 |
