Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нормализация информации [D6, IB6.x]


Страницы:   1 2 3 4 5 6

Альберт ©   (2008-02-15 14:32:00) 

Доброго времени суток.

Вопрос знатокам:

1.Имеет ли смысл имена клиентов выделять в отдельную таблицу, а в основной проставлять только ИД записи имени.

2.Могут ли при этом быть проблемы с сортировкой основной таблицы ?

Прошу привести аргументы за и против.

Заранее спасибо за ответы.


Sergey Masloff   (2008-02-25 21:02:00) [21]

Альберт   (25.02.08 16:42) [89]

>Хорошо, простая задача:
>Нужно сформировать письмо и в нем должно быть :
Это вообще задача нерешаемая напрямую.

Можно хранить наименование (ФИО) как одно поле и в отдельной таблице языковые синонимы по связке один ко многим.

Я бы сделал так - в таблице поля наименование-поисковое наименование-иностр. наименование (последнее избыточно но удобно для основного иностранного. Например английский эквивалент хранится денормализовано а все остальные - через синонимы потому что английский используется постоянно а остальные - раз в сто лет.

В поисковое наименование при вводе автоматически преобразуется строка из основного наименования например Петров Игорь Иванович => Петров И.И. но пользователь может поправить если автомат неверно отработал. В иностранное можно транслитерировать по умолчанию но тоже с возможностью правки.

Имена и отчества выбирать - зачем? В какой реальной задаче это нужно? Словари имен и отчеств доступны, можно в принципе использовать для проверки но не обязательно. Это уже бантики которые дяют 5% удобства.


Альберт   (2008-02-25 16:42:00) [22]

 В чем смысл отдельного хранения - я из ветки не выяснил.
>  Экономия места? Спорно будет ли она вообще. Что еще?


Хорошо, простая задача:
Нужно сформировать письмо и в нем должно быть :

Уважаемый Анатолий Николаевич ! (для русских)
Шановний Анатоліє Миколайовичу ! (для украицев)
и т.д.
Записей в базе клиентов на данный момент больше 25 тысяч.

1.Как быстро выбрать имена и отчества из таблицы ?    
2.Как сделать алфавитку для приемной, где только фамилия и инициалы ?


Sergey Masloff   (2008-02-25 14:31:00) [23]

Альберт   (25.02.08 14:26) [87]
Да дело не в этом. В российских паспортах тоже могут быть составные имена и фамилии. Выгоды от разделения - никакой.
 В чем смысл отдельного хранения - я из ветки не выяснил. Экономия места? Спорно будет ли она вообще. Что еще?


Альберт   (2008-02-25 14:26:00) [24]


> С каких пор дипломатическим работникам требуется временная
> регистрация?


Подымаю руки, сорри.


Sergey Masloff   (2008-02-25 14:02:00) [25]

Альберт   (25.02.08 13:00) [85]
>А по паспорту, как ?
Вот именно так
>Да, еще и регистрация временная она как была ?
С каких пор дипломатическим работникам требуется временная регистрация?


Альберт   (2008-02-25 13:00:00) [26]


> Из реальных я видел имя из 17 слов.Что там имя что отчество
> хрен его знает и пропусти хоть что-то - смертельная обида.
>

А по паспорту, как ? Да, еще и регистрация временная она как была ?


Sergey Masloff   (2008-02-25 12:45:00) [27]

Ega23 ©   (17.02.08 13:50) [42]
>Кстати, я бы всё равно нормализацию по именам-фамилиям начал бы от >миллиона человек делать.
И был бы не прав. Не ИМХО.
Из реальных я видел имя из 17 слов.Что там имя что отчество хрен его знает и пропусти хоть что-то - смертельная обида.

Но у нас на вводе висит некая эвристика которая делает примитивный лексический анализ и если видит что-то похожее на имя или отчество которые есть у нее в словаре то говорит пользователю - ты не это имел в виду? и если это то заменяет.


Альберт   (2008-02-23 19:44:00) [28]


> ты посвятил нас в свою великую тайну

постепенно тайна открывается :)


Альберт   (2008-02-23 19:43:00) [29]


> автор, а как же осетинские и якутские?

->
> узбеки и иже с ними в контору .. будут  не вхожи)


Сергей М.   (2008-02-23 18:54:00) [30]

"Матюгальник на березе голосит, как узбеков, латышей сплотила Русь" (С)


Petr V. Abramov   (2008-02-23 18:50:00) [31]


> ЮЮ ©   (21.02.08 04:55) [72]
> Если исходить из того, что таблица - это объект предметной
> области, то всякий его эккземляр не должен возникать неизвестно
> откуда

ну подумаешь, следующий вопрос будет по поиску дублей
:)

> Но, как тут заметили имен узбеков, монгол и иже подобных
> здесь нет, потому как они мне не нужны.

автор, а как же осетинские и якутские?


Сергей М.   (2008-02-23 18:46:00) [32]


> имен узбеков, монгол и иже подобных здесь нет, потому как
> они мне не нужны


Спасибо тебе, о великий, что всего через неделю, всего лишь на 78-м посту ты посвятил нас в свою великую тайну - узбеки и иже с ними в контору к вам будут  не вхожи)


Альберт   (2008-02-23 18:28:00) [33]


> Это имя собаки ?
> А нафига ?

Нет, код человека, дословно /data of global/, пенсионный.
Если нет данных по паспорту, тогда сверка из пенсионной базы.  


> Т.к. если в твоей системе найдется место дюжине квалифицированных
> филологов, которые, и только они, будут заполнять эту таблицу
> - вперед.
>
> Если же Ф.И.О. взято из какого-то аусвайс-а, то это именно
> атрибуты этого документа. Причем в разных они могут быть
> к тому же разными. В документе об образовании стоит, например,
>  девичья фамилия, в свидетельстве о рождении написано Наталия,
>  а в паспорте - Наталья.
> К тому же из документа абсолютно неясно, Иван там стоит
> или ивАн (большая - ударная), а это извмните два разных
> объкты сущности "Имя" и где-то могут вылезти боком эти особенности


Имена взяты с книги "Что имя твое значит", где представлены все славянские, греческие и германские их производные.

Но, как тут заметили имен узбеков, монгол и иже подобных здесь нет, потому как они мне не нужны.


Anatoly Podgoretsky   (2008-02-23 12:16:00) [34]

> DiamondShark  (23.02.2008 01:06:16)  [76]

И для Паскаля тоже в глазах рябит и идет отторжение кода. Это удел СИ подобных языков.


DiamondShark   (2008-02-23 01:06:00) [35]


> Толк есть и очень прикольный. Когда форматишь запрос девелопером
> с настройкой ИнитКапс - очень клево получается.

Ни разу не форматил запрос девелопером, я даже не знаю, что такое девелопер. Да и запрос я не помню, когда форматил хоть чем-нибудь, кроме табов в текстовом редакторе.
Но это не суть.
Главное, что идентификаторы с подчёркиваниями очень сильно тормозят чтение. Для языков, вроде Паскаля, это не так страшно, потому что плотность идентификаторов на квадратный метр текста там небольшая. В SQL эта плотность раза в 2--3 больше. Кроме того, Паскаль императивный язык, и его естественно читать строчка за строчкой. SQL не императивный, и  его приходится схватывать крупными блоками, что при ряби в глазах значительно труднее.


> В общем, первичный ключ на то и первичный, что однозначно
> определяет уникальные атрибуты записи в таблице. И если
> на то есть несинтетические ключи, а, например, искусственные
> типа некоего кода, то вполне разумно пользоватт именно этот
> код, а не вводить искусственные идентификаторы.

Вообще-то, речь тут больше о том, что приятнее иметь ПК атомарный. А естественный он или генномодифицированный -- дело шестнадцатое.


Игорь Шевченко   (2008-02-22 21:42:00) [36]


>  С тех пор тока искусственные ключи.


Эта...все оно хорошо, искусственные, в смысле синтетические, ключи..До тех пор, пока не взводится в догму. А оно, как известно учение Маркса всесильно, потому что верно.
В общем, первичный ключ на то и первичный, что однозначно определяет уникальные атрибуты записи в таблице. И если на то есть несинтетические ключи, а, например, искусственные типа некоего кода, то вполне разумно пользоватт именно этот код, а не вводить искусственные идентификаторы.

Я так думаю (с)


ANB   (2008-02-22 17:25:00) [37]


> Собственно, если на таблицу никто не ссылаетсяи требуется
> уникальность,

Я тоже так думал. До тех пор, пока не пришла необходимость ссылаться на линковку, на которую ну ни в жисть бы не подумал, что придется. С тех пор тока искусственные ключи. Причем целые. Гуиды тоже идут лесом.


> > Чем так подчеркивание не угодило ?
>
> Ну не нравится оно мне ;) Шуму много, а толку мало, только
> глаза спотыкаются.

Толк есть и очень прикольный. Когда форматишь запрос девелопером с настройкой ИнитКапс - очень клево получается.


Игорь Шевченко   (2008-02-21 09:59:00) [38]


> К тому же из документа абсолютно неясно, Иван там стоит
> или ивАн (большая - ударная), а это извмните два разных
> объкты сущности "Имя" и где-то могут вылезти боком эти особенности


Да-да. Особенно увлекательно написание фамилии Щучкин в загранпаспорте.


ЮЮ   (2008-02-21 04:55:00) [39]

> Так что рекомендую читать про модели "сущности-связи", Анализировать
> предмиетную область. И только после постороения такой модели,
> после ее нормализации приступать к "погружению" в БД


Вот именно.
Таблицв "Имена" возможна только в серьезном Филологическом НИИ занимающегося проблемами имяобразования в России.

Если исходить из того, что таблица - это объект предметной области, то всякий его эккземляр не должен возникать неизвестно откуда, т.е. в системе есть ограниченный круг пользователей системы, который добавляет в таблицу экземппляры в соответствии со входящими документами, а не высасывает с потолка.

Т.к. если в твоей системе найдется место дюжине квалифицированных филологов, которые, и только они, будут заполнять эту таблицу - вперед.

Если же Ф.И.О. взято из какого-то аусвайс-а, то это именно атрибуты этого документа. Причем в разных они могут быть к тому же разными. В документе об образовании стоит, например, девичья фамилия, в свидетельстве о рождении написано Наталия, а в паспорте - Наталья.
К тому же из документа абсолютно неясно, Иван там стоит или ивАн (большая - ударная), а это извмните два разных объкты сущности "Имя" и где-то могут вылезти боком эти особенности


Павел Калугин   (2008-02-21 00:42:00) [40]

> [69] DiamondShark ©   (20.02.08 23:46)
> Всё это меркнет пред лицом ПК из трёх строковых полей.


особенно если учесть что из сочетание не уникально


Страницы:   1 2 3 4 5 6

Наверх

Титульная страница Поиск, карта сайта Написать письмо