|
|
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
В развитие данной темы... Как я описывал, у меня возникли "идейные" разногласия по структуре проектируемой БД с окружающими меня "специалистами". Поскольку к согласию мы не пришли, то ими была разработана "альтернативная" структура БД, в которой я увидел моменты, где идея нормализации, на мой взгляд, была доведена до абсурда. В частности, информация о людях описывается следующим образом: Есть таблица fio, каждая строка которой представляет отдельного человека. Из этой таблицы имеется 3 ссылки по вторичным ключам на три отдельные таблицы, каждая из которых представляет, соответственно, фамилии, имена, отчества. Предметная область не предполагает лингвистический анализ имен и фамилий :) То есть таким образом описываются обычные клиенты - физические лица. В качестве аргумента ЗА именно такую структуру говорится "чтобы пользователи не ошибались при вводе одинаковых имен и фамилий". С адресами та же ситуация: Есть таблица адресов клиентов, которая (помимо первичного ключа) представляет собой набор вторичных ключей на соответствующие таблицы регионов, улиц, домов, корпусов домов и даже этажей. Причем эти таблицы представляют собой "голые справочники" никак не связанные между собой. То есть, например, в таблице домов "тупо" перечислены номера домов, которые никак не связаны с улицами. Дом 5 на улице Ленина и дом 5 на улице Троцкого, например, будет представлять собой одну запись в таблице домов и два адреса в таблице адресов будут ссылаться на эту запись. Кроме того есть даже отдельные таблицы для квартир и комнат, при этом также не связанные с другими "адресными" таблицами (домов, улиц и прочего). Зато на эти таблицы имеются ссылки FK из таблицы клиентов. То есть от клиента есть ссылка на адрес (который описывает вплоть до дома), плюс ссылка на квартиру, плюс ссылка на комнату. Аргументация - "номера квартир в домах повторяются, поэтому лучше их хранить в виде справочника и связь с клиентом делать ссылкой". У меня всё тот же вопрос - или я дурак и чего-то не понимаю в этой жизни, или... ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 15:06 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
то есть все Ивановы ссылаются на одну запись Иванов? С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 15:17 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
Nafто есть все Ивановы ссылаются на одну запись Иванов? С уважением, Naf Да-да. Именно так. И ссылаются на ту же запись с номером квартиры (допустим 10), на которую ссылаются все другие Петровы, Сидоровы и прочие, также живущие в квартире №10, хоть и в других домах на других улицах :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 15:24 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
Microbit пишет: > то есть все Ивановы ссылаются на одну запись Иванов? > Да-да. Именно так. Ужас. > > И ссылаются на ту же запись с номером квартиры (допустим 10), на которую > ссылаются все другие Петровы, Сидоровы и прочие, также живущие в > квартире №10, хоть и в других домах на других улицах :) Тут принципиальная разница есть. Ивановы с одной фамилией, именем и отчеством -- это разные ивановы, разные люди. У них просто нет хорошего (уникального) идентификатора. Можно добавить ещё туда дату и место рождения, но на самом деле уникальность всё равно не будет достигнута. А квартира №10 -- это одна и та же квартира, тут решение наоборот, вполне закономерно и правильно. Если приписать атрибуты к квартире, они будут храниться в БД только один раз. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 15:36 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
MasterZiv А квартира №10 -- это одна и та же квартира, тут решение наоборот, вполне закономерно и правильно. Если приписать атрибуты к квартире, они будут храниться в БД только один раз. Сколько я понял автора как раз нет, ссылаются не на квартиру, а на номер - то есть все квартиры во всех домах, всех улиц и т.д. К автору: а какова предметная область БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 15:40 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
2Microbit бред. Microbit В качестве аргумента ЗА именно такую структуру говорится "чтобы пользователи не ошибались при вводе одинаковых имен и фамилий".Как это поможет "не ошибаться при вводе одинаковых имён и фамилий"??? Они хоть сказали? Или они ничего не говорят, бешенно вращают глазами и нормализуют, нормализуют... :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 15:40 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
Microbit У меня всё тот же вопрос - или я дурак и чего-то не понимаю в этой жизни, или... ? Нормальный подход - имеет право на жизнь. В отдельных случаях бывает единственно возможным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 16:23 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
Microbit/// у меня возникли "идейные" разногласия по структуре проектируемой БД с окружающими меня "специалистами". Поскольку к согласию мы не пришли, то ими была разработана "альтернативная" структура БД, в которой я увидел моменты, где идея нормализации, на мой взгляд, была доведена до абсурда. Создайте базы с разными структурами, набейте их тестовыми данными, объёмом в реальный предполагаемый размер, лучше даже больше процентов на 25... и попробуйте запросы которые планируются... - отличный способ проверки "идей"... что-то мне подсказывает, что после тестов, могут появиться аргументы в пользу дермонализации, особенно в моментах с номерами квартир ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 16:24 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
NafСколько я понял автора как раз нет, ссылаются не на квартиру, а на номер - то есть все квартиры во всех домах, всех улиц и т.д. Да-да, именно так. NafК автору: а какова предметная область БД? Ну не вдаваясь в детали - "самая обычная": Автоматизация бизнес процессов коммерческой организации. Организация обслуживает клиентов - физических лиц, выставляет им счета, оказывает им услуги, принимает оплаты. То есть такая "учетно-рассчетная" система. alexeyvgКак это поможет "не ошибаться при вводе одинаковых имён и фамилий"??? Они хоть сказали? Или они ничего не говорят, бешенно вращают глазами и нормализуют, нормализуют... :-) Ну говорят, что, типа, при вводе очередного Иванова, пользователю не надо будет заново набирать фамилии, а можно будеть выбрать из "справочника" по ссылке. Тем самым это не допустит возможность опечатки и введения скажем фамилии Ивынов :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 16:28 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
Думал над этим, формально все верно, хотя идея об исключении ошибок не верна: Ну хорошо не введут вручную Анток вместо Антон Но реально появляется Анток, по привычке ищем в списке введенных находим Антон и полусознательно вводим Думал насчет выиграша в размере, обычный запрос составил Код: plaintext 1. фамилии 0,9655172413793103448 имена 0,5402298850574712643 отчества 0,5172413793103448275 но не забываем про первичные индексы и внешние ключи, итог - по фамилиям точно в ауте остальное тоже не далеко ушло, учитывая среднее имя 7 символов и отчество 10 про скорость тоже минус С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 16:41 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
Microbit Ну говорят, что, типа, при вводе очередного Иванова, пользователю не надо будет заново набирать фамилии, а можно будеть выбрать из "справочника" по ссылке. Тем самым это не допустит возможность опечатки и введения скажем фамилии Ивынов :) Полный бред! Это же не помешает пользователю вместо Иванова выбрать из справочника Сидорова. А если справочник очень большой - набрать руками быстрее будет, чем в нём найти. Поиск же по совпадению первых букв в справочнике приведёт к ещё большему количеству ошибок, так вместо Иванова часто будут выбирать какого-нибудь Иванцова. По-моему, это тупик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 16:47 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
MicrobitalexeyvgКак это поможет "не ошибаться при вводе одинаковых имён и фамилий"??? Они хоть сказали? Или они ничего не говорят, бешенно вращают глазами и нормализуют, нормализуют... :-) Ну говорят, что, типа, при вводе очередного Иванова, пользователю не надо будет заново набирать фамилии, а можно будеть выбрать из "справочника" по ссылке. Тем самым это не допустит возможность опечатки и введения скажем фамилии Ивынов :) Ну, в прынципе, ведение справочников имен и фамилий иногда упрощает жизнь. Особенно, когда информацию в систему вводят девочки-пэтэушницы... Т.е. идея не так уж абсурдна, как вам кажется. А вот, ссылка на номера квартир и этажей по id... Даже не знаю что сказать... Привязка к поэтажным планам не планируется? MicrobitАвтоматизация бизнес процессов коммерческой организации. Организация обслуживает клиентов - физических лиц, выставляет им счета, оказывает им услуги, принимает оплаты. То есть такая "учетно-рассчетная" система. Хм-хм... А площади помещений (комнат) в системе хранятся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 16:55 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
я уже привел статистику, фамилии на 96.5% различные С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 16:56 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
GarrickПолный бред! Это же не помешает пользователю вместо Иванова выбрать из справочника Сидорова. А если справочник очень большой - набрать руками быстрее будет, чем в нём найти. Поиск же по совпадению первых букв в справочнике приведёт к ещё большему количеству ошибок, так вместо Иванова часто будут выбирать какого-нибудь Иванцова. По-моему, это тупик. Это проблема не БД а интефейса. И это решаемо. Не на 100% конечно, но грамотно сделанный интерфейс, при наличии системных справочников, позволяет существенно снизить процент ошибок. Кстати, не Иванцова будут выбирать вместо Иванова, а наоборот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 17:01 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
Nafя уже привел статистику, фамилии на 96.5% различные Хде? В смысле, по какой базе статистика? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 17:04 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
baracsNafя уже привел статистику, фамилии на 96.5% различные Хде? В смысле, по какой базе статистика?по нашей группе компаний ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 17:05 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
NafbaracsNafя уже привел статистику, фамилии на 96.5% различные Хде? В смысле, по какой базе статистика?по нашей группе компаний Э-э-э... Ну, вы поняли Если по БД квартирных телефонов Москвы, тогда еще куда ни шло... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 17:09 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
baracsNafbaracsNafя уже привел статистику, фамилии на 96.5% различные Хде? В смысле, по какой базе статистика?по нашей группе компаний Э-э-э... Ну, вы поняли Если по БД квартирных телефонов Москвы, тогда еще куда ни шло...ну согласен, но что было под рукой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 17:12 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
Да наверное при увеличении объема к бесконечности отношений имен и отчеств очень быстро устремится к нулю С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 17:17 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
baracsНу, в прынципе, ведение справочников имен и фамилий иногда упрощает жизнь. Особенно, когда информацию в систему вводят девочки-пэтэушницы... Т.е. идея не так уж абсурдна, как вам кажется.Я считаю, что использование справочника с констрейном и недопущение ввода неправильных фамилий - это совершенно разные вещи. Ошибки ввода можно устранить правильным интерфейсом, подсказками, справочником наиболее часто встречающихся фамилий, процедурой апрува у проверяльщика. А наличие сущности справочника фамилий с констрейном не запретит программе ввести неправильно фамилию в справочник и потом правильно запомнить ИД этой фамилии в поле значения фамилии в таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 17:21 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
Это... а пол лица в отдельную таблицу не вынесен? с ссылкой на записи: мужской женский не определился другое С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 17:23 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
alexeyvgА наличие сущности справочника фамилий с констрейном не запретит программе ввести неправильно фамилию в справочник и потом правильно запомнить ИД этой фамилии в поле значения фамилии в таблице. А чтобы кто попало не правил системные справочники, существует разделение доступа пользователей к объектам БД... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 17:29 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
NafЭто... а пол лица в отдельную таблицу не вынесен? с ссылкой на записи: мужской женский не определился другое С уважением, Naf Как в таких случаях говорится - "ты знал, ты знал" :D На полном серьезе, вот сейчас смотрю на эту структуру - таблица _dic_sex . 2 поля: 1 - первичный ключ (причем int, видно с расчетом на то, что сексуальная революция продолжит развиваться бурными темпами и значения размером в байт может не хватить :) ), 2 - строковое значение. Просто ссылка на эту таблицу не из таблицы людей, а из таблицы их удостоверений личности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 17:46 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
Предлагаю сделать справочник чисел. Ну шоб не ошибиться при вводе:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 17:48 |
|
||
|
Ещё более нелепый вопрос для опытных профессионалов
|
|||
|---|---|---|---|
|
#18+
MicrobitПросто ссылка на эту таблицу не из таблицы людей, а из таблицы их удостоверений личности. А что? Грамотно! Если ведется история смены документов... "Учетно-рассчетная" система, говорите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2009, 18:04 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36253890&tid=1543024]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
168ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 452ms |

| 0 / 0 |
