घर
Top.Mail.Ru Yandeks.Metrika
फोरम: "मामले";
वर्तमान संग्रह: 2008.08.10;
डाउनलोड करें: [xml.tar.bz2];

नीचे

सूचना का सामान्यीकरण इसी तरह की शाखाएँ खोजें


Альберт   (2008-02-15 14:32) [0]

गुड डे.

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

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

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

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

उत्तर के लिए अग्रिम धन्यवाद।



Anatoly Podgoretsky ©   (2008-02-15 14:47) [1]

एक-से-एक कनेक्शन केवल गरीब आधारों पर उचित है।



Sergey13 ©   (2008-02-15 14:49) [2]

> [0] अल्बर्ट (15.02.08 14: 32)
> а в основной проставлять только ИД записи имени.

А что содержится в основной?



Альберт   (2008-02-15 14:54) [3]

Ладно скажу так.
मेरे पास तीन महत्वपूर्ण क्षेत्र हैं: अंतिम नाम, पहला नाम, मध्य नाम।
Так вот при наличии сотни тысяч записей считаю необходимым поле "Имя" вынести в отдельную таблицу. Таблица имен будет максимально заполнена из всех известных имен.



Альберт   (2008-02-15 14:56) [4]

Да, основную таблицу не я придумал.



Альберт   (2008-02-15 14:58) [5]

На данный момент три вышеприведенных поля в составе "Primary key"



Sergey13 ©   (2008-02-15 15:01) [6]

> [5] अल्बर्ट (15.02.08 14: 58)

И что, ты не допускаешь мысли о двух (или более) Ивановых Иванов Ивановичей?

ЗЫ: было сомнение, теперь оно отпало - ты фигней занимаешься. см [1].



Anatoly Podgoretsky ©   (2008-02-15 15:04) [7]

> सर्गेईएक्सएनयूएमएक्स (एक्सएनयूएमएक्स एक्सएनयूएमएक्स: एक्सएनयूएमएक्स: एक्सएनयूएमएक्स) [एक्सएमयूएमएक्स]

Какие проблемы, одного уволить.



Альберт   (2008-02-15 15:04) [8]


> सर्गेइएक्सन्यूम्एक्स © (13 15.02.08: 15) [01]

Ну чего сразу стеб про одинаковые записи.

Есть поле еще "серия и номер паспорта"



Альберт   (2008-02-15 15:06) [9]


> было сомнение, теперь оно отпало - ты фигней занимаешься.
>  см [1].

Не убедил



Альберт   (2008-02-15 15:12) [10]

Имея таблицу имен и поля с добавочными окончаниями можна очень много сделать полезного для приемной и т.д.

Пример: склонение имен по падежам.



Сергей М. ©   (2008-02-15 15:12) [11]


> чего сразу стеб про одинаковые записи


Почему стеб-то ?
Вполне резонный вопрос - если такая ситуация возможна, то почему у тебя она недопустима ?

Если уж на то пошло, то выносить в отдельный справочник следует все три поля : Имя, Отчество, Фамилия.



Sergey13 ©   (2008-02-15 15:14) [12]

> [9] अल्बर्ट (15.02.08 15: 06)
> Не убедил

Я и не пытался. Ты же не привел аргументов в пользу решения вынести имена (кстати а почему отчество тогда тоже ен вынести?) в справочник. Ты просто спросил "А не забабахать ли нам вот такую фиговину?"



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


> Если уж на то пошло, то выносить в отдельный справочник
> следует все три поля : Имя, Отчество, Фамилия.


Вот это уже нормальный ответ.
Я и спросил про "Имя", так как на основании этого поля можно создать и отчество как для мужчин так и женщин.



Сергей М. ©   (2008-02-15 15:15) [14]


> Пример: склонение имен по падежам


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



Anatoly Podgoretsky ©   (2008-02-15 15:15) [15]

> सर्गेई एम (एक्सएनयूएमएक्स एक्सएनयूएमएक्स: एक्सएनयूएमएक्स: एक्सएनयूएमएक्स) [एक्सएनयूएमएक्स]

Я пока ни слова не вижу про справочник, так какие то общие рассуждения и никакой постановки задачи.



Альберт   (2008-02-15 15:16) [16]


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

согласен, плохой пример.



Сергей М. ©   (2008-02-15 15:16) [17]


> "Имя", так как на основании этого поля можно создать и отчество
> как для мужчин так и женщин


Как насчет "Оглы" ?)



Альберт   (2008-02-15 15:18) [18]


> Я пока ни слова не вижу про справочник

извините, не так выразился.

Таблица-निर्देशिका имен с дополнительными полями.



Сергей М. ©   (2008-02-15 15:18) [19]


> плохой пример


Но это же не означает, что секретарше таки не придется работать при помощи твоей программы с прочими узбеками, так ?



Сергей М. ©   (2008-02-15 15:20) [20]


> Таблица-справочник имен


Почему только имен-то ?

А фамилий и отчеств ? Их же тоже надо склонять, коль уж требуется автоматизация процесса падежного склонения узбеков)



Sergey13 ©   (2008-02-15 15:24) [21]

> [10] अल्बर्ट (15.02.08 15: 12)
> можна очень много сделать полезного для приемной

А чего приемная то? Прачечная что-ли? Или премная депутата?
Чего хочется то в конечном итоге?



Anatoly Podgoretsky ©   (2008-02-15 15:27) [22]

> Альберт  (15.02.2008 15:18:18)  [18]

Смотря какая цель, можно немного размер базы уменьшить, за счет усложнения работы.
Но решение иногда используется, а критерием является условия работы оператора.



Сергей М. ©   (2008-02-15 15:29) [23]

Вот придет в приемную какой-нть Остап Ибрагим Сулейман Берта Мария Бендер-Бей - попробуй-ка занести его в свой электронный гроссбух да посклонять)



Sergey13 ©   (2008-02-15 15:31) [24]

> [8] अल्बर्ट (15.02.08 15: 04)
> Есть поле еще "серия и номер паспорта"

1.А если у человека нет [вообще или с собой] паспорта? Или он не российский например?
2. А если потребуются таблицы ссылающиеся на твою "основную" (ведь логично предположить и наличие НЕосновных), ты будешь все 5 атрибутов переписывать для ссылки?
3. А если человек поменяет паспорт/ФИО?

Это к определению твоего ПК.



Правильный_Вася   (2008-02-15 15:31) [25]

видел я подобные справочники
и реализация никогда не выходила за рамки самой идиотской

1. кроме того, в зависимости от национальности человека его имя может склоняться или не склоняться по падежам, даже если оно одинаковое
2. многие имена/отчества/фамилии имеют несколько форм для каждого падежа, но в паспорте у человека прописано строго одно (например, Витальевич и Виталиевич)
как ты это в справочник хочешь втулить?

так что вывод: хочешь формы склонения - встраивай их в карточку конкретного клиента, а не в абстракный справочник имен


> спросил про "Имя", так как на основании этого поля можно
> создать и отчество как для мужчин так и женщин.

интересен взгляд на отчество от имени Елена



Сергей М. ©   (2008-02-15 15:34) [26]


> интересен взгляд на отчество от имени Елена


Это уже не отчество, а какое-то "матершинство" получится - "Еленович")..
Хотя никто вроде бы не мешает челу с именем "Елена" фигурировать в ксиве мужчиной)



Johnmen ©   (2008-02-15 15:47) [27]

1. Не только не имеет, но и является полной ерундой.
2. вопрос отпал...



Альберт   (2008-02-15 16:35) [28]


> интересен взгляд на отчество от имени Елена


до конча не читаем ?

> Таблица-справочник имен с дополнительными полями.

для имена Елена поле "Отчество" будет "null", достаточно стеба.

То что хотел услышать, я уже услышал.

आप सभी को धन्यवाद।



Сергей М. ©   (2008-02-15 16:39) [29]


> для имена Елена поле "Отчество" будет "null"


Дискриминация сексменьшинств)



Правильный_Вася   (2008-02-15 16:42) [30]


> для имена Елена поле "Отчество" будет "null", достаточно стеба.

а если это мужское имя какого-нибудь малайца?

снимаем шоры с мышления, расширяем сознание



Anatoly Podgoretsky ©   (2008-02-15 16:44) [31]

> सर्गेई एम (एक्सएनयूएमएक्स एक्सएनयूएमएक्स: एक्सएनयूएमएक्स: एक्सएनयूएमएक्स) [एक्सएनयूएमएक्स]

Какие еще меньшинства - большинство



Anatoly Podgoretsky ©   (2008-02-15 16:45) [32]

> Правильный_Вася  (15.02.2008 16:42:30)  [30]

И вообще астрашируемся.
Программист должен уметь абстрактно думать.



Сергей М. ©   (2008-02-15 16:47) [33]


> अनातोली पॉडगॉर्त्स्की © (15.02.08 16: 44) [31]


В смысле отцы с традиционно женским (по кр.мене по русским народным представлениям) именем с нек.пор перешли в разряд большинства ?)



Правильный_Вася   (2008-02-15 16:50) [34]

и вообще, второе (третье и т.п.) имя не обязано быть отчеством, тем более производным от мужского имени
пример уже приводили
Ostap Сулейман Берта Мария Бендер-бей



Альберт   (2008-02-15 17:18) [35]


> Чего хочется то в конечном итоге?

Максимальную информацию по клиентам.


> Смотря какая цель, можно немного размер базы уменьшить,
> за счет усложнения работы.
> Но решение иногда используется, а критерием является условия
> работы оператора.

Хороший совет, отдельное спасибо.


> 1.А если у человека нет [вообще или с собой] паспорта? Или
> он не российский например?

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



Павел Калугин ©   (2008-02-15 17:45) [36]


> अल्बर्ट (15.02.08 17: 18) [35]

1. не имеет, так же как и не имеет смысла ключом делать документ. ИНН еще куда ни шло но не у всех он есть. а документ? один и тот же Вася Пупкин с паспортом и с загран паспортом уже 2 Васи?

2. проблемы будут
    1. со вставкой удалением изменением
    2. с написанием горы кода -> "утяжеление" системы
    3. операторы взвоют. Особенно если ФИО больше 3-х слов
    4. сортировать можно по разным полям без проблем но выборка из одной таблицы все же чуть быстре чем из 2-х



Альберт   (2008-02-15 17:45) [37]


> 2. А если потребуются таблицы ссылающиеся на твою "основную"
> (ведь логично предположить и наличие НЕосновных), ты будешь
> все 5 атрибутов переписывать для ссылки?


про 5 атрибутов, если не жалко времени по подробнее, плиз.



Альберт   (2008-02-15 17:52) [38]


> पावेल कलुगिन © (15.02.08 17: 45) [36]


बहुत धन्यवाद за толковый ответ, как раз то что нужно и без подначек.



Правильный_Вася   (2008-02-15 18:11) [39]


> без подначек

подначки стимулируют мыслительную деятельность
а если они стимулируют язык, тебе не в програмисты, а в менеджеры надо



Ega23 ©   (2008-02-17 10:19) [40]

Хочу напомнить, что далеко не у всех есть Фамилия, Имя и Отчество.
У монголов, например, нет фамилии. Только Имя и Отчество.
У каких-нибудь зимбабвийцев кроме основного имени может быть родовое и запасное.
और इसी तरह
Это я всё к тому, что специфику применения справочника тоже нужно учитывать.



sniknik ©   (2008-02-17 13:08) [41]

> специфику применения справочника тоже нужно учитывать.
с нее вообще надо начинать, а не общие теории разводить.

у меня к примеру местная (для своей конторы) программа по учету работ, так там вообще никакого разделения на имена, фамилии, просто одно поле "ФИО" и пишут, что хотят... и какой смысл "парится" если всего таких записей 500шт (по количеству работников конторы), ну будет там небольшая денормализация, ну и что, все одно никаких поисков/группировок отдельно по именам/фамилиям не бывает, единственное где используется подставляется к основной таблице, показать кто заявку оформлял и выполнял (ну не ID же, т.е. ключ по сотруднику там показывать ;)). сортировка есть конечно если захотят по фамилии (т.к. ее забивают первой) но не пользуется, т.к. работа исключительно с группами по отделам/должностям а такого идиотизма как "посмотреть сколько сделано товарищами с именем Вася например ..." пока нет, и вряд ли будет, а если вдруг когда возникнет, на тот невероятный случай и будем "парится", а не заранее.

но если бы в программе список людей был основным, типа как общесоюзный справочник, или телефонный... тогда бы "моя" огранизация таблицы людей была бы ущербной т.к. там как раз поиск по "Васям" вполне естественен... типа "помню что Вася, помню что в 12й квартире, и вроде на улице Пушкина... ну вы выведите по первым 2м параметрам, если там немного то почитаю и по улицам вспомню..."

а вот так абстрактно, как в [0], к некой базе с неизвестно чем занимающейся..., имхо, бред. (как в общем то практически все абстрактное...)
хотя там у него проскакивало "сотни тысяч", т.е. всетаки больше на справочник по людям похоже, тут бред в естественном ключе... прямо показательный бред, как аргумент в споре естественный vs искусственный можно использовать.



Ega23 ©   (2008-02-17 13:50) [42]

Кстати, я бы всё равно нормализацию по именам-фамилиям начал бы от миллиона человек делать.



Sergey13 ©   (2008-02-17 13:55) [43]

2Альберт   (15.02.08 17:45) [37]

> про 5 атрибутов, если не жалко времени по подробнее, плиз.

Если ПК одной таблицы состоит из 5 полей, то в ссылающейся на нее таблице должны быть те же 5 полей для ссылки на первую.



sniknik ©   (2008-02-17 14:08) [44]

> Кстати, я бы всё равно нормализацию по именам-фамилиям начал бы от миллиона человек делать.
какая разница сколько там людей в базе если сама специфика справочника требует выборок/группировок по именам или фамилиям? будеш "вычленять" имя из общего поля?
главное всетаки не размер базы, а ее специфика. а вот если если на требования специфики можно "забить", ну не нужно там ничего "эдакого", то вторым уже размер, можно провести нормализацию только ради него...



Anatoly Podgoretsky ©   (2008-02-17 14:26) [45]

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



Anatoly Podgoretsky ©   (2008-02-17 14:28) [46]

Кроме того экономия байтов тоже не может являться критерием, разве что в терабайтных базах, а усложнение и артефакты налицо.



Sergey13 ©   (2008-02-18 08:51) [47]

IMHO, यहां बाइट्स सहेजना भी अभी तक साबित नहीं हुआ है। आपको इस फ़ील्ड पर एक इंडेक्स डालना होगा, जो डेटा के आकार में तुलनीय हो सकता है। इसके अलावा, यह सबसे अधिक संभावना है कि एक बहुत ही खराब सूचकांक होगा, क्योंकि सबसे सामान्य नामों में डेटा का शेर हिस्सा होगा, और इसलिए सूचकांक की चयनात्मकता बहुत विषम होगी।



Альберт   (2008-02-18 11:19) [48]


> Хочу напомнить, что далеко не у всех есть Фамилия, Имя и
> Отчество.
> У монголов, например, нет фамилии. Только Имя и Отчество.
>
> У каких-нибудь зимбабвийцев кроме основного имени может
> быть родовое и запасное.
> आदि
> Это я всё к тому, что специфику применения справочника тоже
> нужно учитывать.

Спасибо за хороший совет.

> хотя там у него проскакивало "сотни тысяч", т.е. всетаки
> больше на справочник по людям похоже,

Да, вы правы и он вырастет на порядок, постепенно.


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

Спасибо за хороший совет.



ANB   (2008-02-18 14:05) [49]


> अल्बर्ट (18.02.08 11: 19) [48]

IMHO:
Если уж прикручивать такую штуку, то только в качестве вспомогательного справочника. Никаких ссылок, имя по прежнему хранить в текстовом виде. И только по кнопке/сочетанию кнопок, выдавать в качестве доп. сервиса.
Очень похоже было сделано в АСУ Экспресс-2.



Альберт   (2008-02-18 14:21) [50]

Так я уже понял, еще после 36 поста. Но я отписываюсь, увидев новые советы знающих людей.



Anatoly Podgoretsky ©   (2008-02-18 15:19) [51]


> то только в качестве вспомогательного справочника

А для этого не надо никаких отдельных таблиц, запрос distinct и в dbcombo его



ANB   (2008-02-18 15:51) [52]


> अनातोली पॉडगॉर्त्स्की © (18.02.08 15: 19) [51]

Ну это как репу почесать. Сейчас не великая проблема нарыть готовый справочник имен. А дистинкт будет значить, что только из ранее введенных предлагать будет. Во. Мысля.
дистинкт
юнион олл
справочник.



AnSi_Sr   (2008-02-18 20:25) [53]

Описанное выведение ФИО в справочнике - опасная тенденция в разработке архитектуры. Для любой мало-мальски сложной выборки при таком подходе очень быстро разрастается количество подзапросов или джойнов в селекте.



Ega23 ©   (2008-02-19 10:00) [54]

वैसे, पासपोर्ट के बारे में: सेना के पास पासपोर्ट नहीं है। या तो एक सैन्य आईडी या एक पहचान पत्र है।



ANB   (2008-02-19 10:05) [55]


> у военных паспорта нет.

Уже есть. У офицеров и прапорщиков - на руках, у срочников отбирают при призыве.
Причем сначала выдавали по блату, потом по желанию, а потом многие структуры стали требовать только паспорт (это незаконно, но хрен кому чего докажешь) и народ начал получать уже практически принудительно.



Альберт   (2008-02-19 10:15) [56]


> Кстати, насчёт паспорта: у военных паспорта нет. Есть или
> Военный билет, или Удостоверение личности.

Мой пост

>
> для этой цели есть документ его заменяющий, причем в отдельной
> तालिका।



Альберт   (2008-02-19 10:25) [57]

CREATE DOMAIN "CITY" AS VARCHAR(20) CHARACTER SET WIN1251;
CREATE DOMAIN "DOG" AS VARCHAR(10) CHARACTER SET WIN1251;
CREATE DOMAIN "HOME" AS VARCHAR(7) CHARACTER SET WIN1251;
CREATE DOMAIN "MYNAME" AS VARCHAR(15) CHARACTER SET WIN1251;
CREATE DOMAIN "POST" AS VARCHAR(5) CHARACTER SET WIN1251
 CHECK ((VALUE >= "000" AND VALUE <= "99999")
OR (VALUE IS NULL));

CREATE TABLE "MAN_LIST"
(
 "MAN_NAME_F"   "CITY" NOT NULL,
 "MAN_NAME_I"   "DOG" NOT NULL,
 "MAN_NAME_O"   "MYNAME" NOT NULL,
 "MAN_R_DATE"   DATE,
 "MAN_GOR_CODE"  SMALLINT,
 "MAN_STR_CODE"   SMALLINT,
 "MAN_B1"   "HOME",
 "MAN_B2"   "HOME",
 "MAN_ROOM"   "HOME",
 "MAN_P_COUNT"   SMALLINT,
 "MAN_P_NUMBER"   SMALLINT,
 "MAN_E_COUNT"   SMALLINT,
 "MAN_E_NUMBER"   SMALLINT,
 "MAN_JOB_CODE"   SMALLINT ,
 "MAN_ORG_CODE"  SMALLINT,
 "MAN_CODE"   SMALLINT,
 "MAN_POST"    "POST",
 "MAN_P_DATE"    DATE,
 "MAN_P_CODE"    "DOG",
 "MAN_P_POLICY"    SMALLINT default 1,
 "MAN_DOOR"    SMALLINT default 1,
 "MAN_DOOR_CODE" SMALLINT,
 "MAN_R_COUNT"    SMALLINT default 1,
 "MAN_TEL_CODE"    SMALLINT,
 "MAN_MOB_CODE"   SMALLINT,
 "MAN_PST_CODE"    SMALLINT,
 "MAN_WRK_CODE"   SMALLINT,
PRIMARY KEY ("MAN_NAME_F", "MAN_NAME_I", "MAN_NAME_O")
);

Ладно, вот такая структура пока есть.



Sergey13 ©   (2008-02-19 10:33) [58]

> [57] अल्बर्ट (19.02.08 10: 25)
> Ладно, вот такая структура пока есть.
Т.е. 4 дня и 50 постов обсуждения псу под хвост? 8-)



Альберт   (2008-02-19 10:39) [59]


> Т.е. 4 дня и 50 постов обсуждения псу под хвост? 8-)

Нет, она будет изменена.



Sergey13 ©   (2008-02-19 10:58) [60]

> [59] अल्बर्ट (19.02.08 10: 39)
> Нет, она будет изменена.

Ура! Мы сделали это! На когда запланировано это эпохальное событие (я в календаре отмечу красным)?



DiamondShark ©   (2008-02-19 15:33) [61]


> Ладно, вот такая структура пока есть.

Ахтунг.

1. За капс -- убивать.
2. За подчёркивание -- вешать ногами вниз.
3. От MAN_ глаза пучит. Информационный шум.
4. Использование доменов -- шизофрения. Неужели "MAN_NAME_I" и "MAN_P_CODE" -- это однотипные данные с типом "DOG"?
5. Откуда такая шизофрения в типах атрибутов "MAN_NAME_F",  "MAN_NAME_I", "MAN_NAME_O"?
6. За PRIMARY KEY ("MAN_NAME_F", "MAN_NAME_I", "MAN_NAME_O") -- колесовать без права переписки. Это не праймари кей, это северный пушной зверёк.
7. "MAN_TEL_CODE"    SMALLINT, а если у меня пять телефонов?
8. _CODE означает ссылку по внешнему ключу? Тогда суффикс -- информационный шум.
9. "MAN_GOR_CODE"  SMALLINT, "MAN_STR_CODE"   SMALLINT, -- Нью-Йорк, проспект Калинина.


> Нет, она будет изменена.

Это не поможет. Она должна быть уничтожена.



ANB   (2008-02-19 16:00) [62]


> 2. За подчёркивание -- вешать ногами вниз.

Со всем согласен, кроме этого пункта. Чем так подчеркивание не угодило ?
Очень удобно выставлять Инит_Капс в форматалке и форматить запросы.



Альберт   (2008-02-19 17:04) [63]


> От MAN_ глаза пучит
- Согласно примеров

> За капс -- убивать.
- Так это с метаданных взято.

> Откуда такая шизофрения в типах атрибутов "MAN_NAME_F",
>  "MAN_NAME_I", "MAN_NAME_O"?
- ну у каждого свои тараканы

> "MAN_GOR_CODE"  SMALLINT, "MAN_STR_CODE"   SMALLINT, --
> Нью-Йорк, проспект Калинина.


А почему бы нет, ... брайтон бич давно уже одесский... :)


> За подчёркивание -- вешать ногами вниз.

Как хочу так и ворочу.



MsGuns ©   (2008-02-19 22:45) [64]

>PRIMARY KEY ("MAN_NAME_F", "MAN_NAME_I", "MAN_NAME_O")

Маленький Освенцим. Ни одного плюса, одни минуса и тучи не граблей, а бОрон как в отладке, так и (особенно !) при эксплуатации. Начиная от тормозов и заканчивая невозможностью ввести двух Ивановых Иван Иванычей

Остальное не комментирую - Шарк достаточно красочно описал.



Сергей М. ©   (2008-02-20 10:41) [65]


> невозможностью ввести двух Ивановых Иван Иванычей


Ну отчего же ?

Если предобработки регистра символов вводимых данных нет, то запросто:

Первый - Иванов ИВан Иваныч
Второй - Иванов Иван Иваныч

Здесь автора скореее другая засада поджидает - ограничение на длину индексов по строковым полям.



Павел Калугин ©   (2008-02-20 13:23) [66]

> [63] अल्बर्ट (19.02.08 17: 04)

Если стремтитесь к нормализации то почему  в одну структуру свалено нессколько сущностей?
в идеале , если речь действительно о нормализации надо сначала анализировать предметную область
я вот с трудом, ибо > [61] डायमंडशर्क © (19.02.08 15: 33) кроме пункта 2 верно, вижу следующее
сущности
 Лицо,Документ, Адрес, Должность, Телефон номер
связи
 владеет документом
 проживает по адресу
 работает по адресу
 работает в должности
 доступен по номеру
Если все это расписать грамотно, то получится вполне удобный справочник. В отличии от помойки из которой вынесены имена :)
Но чтобы это все описывать надо знать конкретную предметую область.
Так что рекомендую читать про модели "сущности-связи", Анализировать предмиетную область. И только после постороения такой модели, после ее нормализации приступать к "погружению" в БД

так что опять рав
> [61] डायमंडशर्क © (19.02.08 15: 33)

Уничтожить и начать с чистого листа



Игорь Шевченко ©   (2008-02-20 16:31) [67]


> CREATE DOMAIN "DOG" AS VARCHAR(10) CHARACTER SET WIN1251;


Это имя собаки ?
और किस लिए?



Sergey13 ©   (2008-02-20 16:36) [68]

> [67] इगोर शेवचेंको

Она просто на собаку не откликается.



DiamondShark ©   (2008-02-20 23:46) [69]


> Чем так подчеркивание не угодило ?

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

Впрочем, это сущие пустяки. Имена -- дело привычки, стиля и вкуса.
Всё это меркнет пред лицом ПК из трёх строковых полей.



Игорь Шевченко ©   (2008-02-21 00:33) [70]

डायमंडशर्क © (20.02.08 23: 46) [69]


> Всё это меркнет пред лицом ПК из трёх строковых полей.


Собственно, если на таблицу никто не ссылается и требуется уникальность, в этом нет криминала. Не к этому примеру, а вообще.



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

> [69] डायमंडशर्क © (20.02.08 23: 46)
> Всё это меркнет пред лицом ПК из трёх строковых полей.


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



ЮЮ ©   (2008-02-21 04:55) [72]

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


यह बात है।
Таблицв "Имена" возможна только в серьезном Филологическом НИИ занимающегося проблемами имяобразования в России.

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

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

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



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


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


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



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


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

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


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

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



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


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


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

मुझे ऐसा लगता है



DiamondShark ©   (2008-02-23 01:06) [76]


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

Ни разу не форматил запрос девелопером, я даже не знаю, что такое девелопер. Да и запрос я не помню, когда форматил хоть чем-нибудь, кроме табов в текстовом редакторе.
लेकिन वह बात नहीं है।
Главное, что идентификаторы с подчёркиваниями очень сильно тормозят чтение. Для языков, вроде Паскаля, это не так страшно, потому что плотность идентификаторов на квадратный метр текста там небольшая. В SQL эта плотность раза в 2--3 больше. Кроме того, Паскаль императивный язык, и его естественно читать строчка за строчкой. SQL не императивный, и  его приходится схватывать крупными блоками, что при ряби в глазах значительно труднее.


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

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



Anatoly Podgoretsky ©   (2008-02-23 12:16) [77]

> डायमंडशर्क (23.02.2008 01: 06: 16) [76]

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



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


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

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


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


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

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



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


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


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



Petr V. Abramov ©   (2008-02-23 18:50) [80]


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

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

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

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



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

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



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


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

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



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


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

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



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

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

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



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


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

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



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

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



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


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


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



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

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



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

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


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

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

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



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

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

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

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

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

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

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



Павел Калугин ©   (2008-02-25 21:55) [91]

> [89] अल्बर्ट (25.02.08 16: 42)

Так может ввсе таки озвучить задачу и предметную область?



Ega23 ©   (2008-02-25 21:57) [92]


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


Марлен там тоже есть?



Petr V. Abramov ©   (2008-02-25 22:12) [93]


> и в отдельной таблице языковые синонимы по связке один ко
> многим.

а зачем синонимы? человек все ж либо русский, либо украинец, и обращаться к нему надо либо  "Уважаемый", либо "Шановний". Случай зависимости от политической ситуации выходит за пределы обсуждения :)


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

построить view, в котором будут только фамилия и инициалы, и роли "примная" дать гранты на него.



Германн ©   (2008-02-26 01:54) [94]

Терзают меня смутные сомнения, что Альберт задумал что-то супер-пуперное. Сам не зная куда он лезет.



Sergey13 ©   (2008-02-26 08:54) [95]

> [94] हरमन © (26.02.08 01: 54)

А по моему он пытается придумать задачу под свою (не очень удачную, ИМХО, но интересную с его т.з.) идею.



Павел Калугин ©   (2008-02-26 11:32) [96]


> अल्बर्ट (23.02.08 18: 28) [78]
> Если нет данных по паспорту, тогда сверка из пенсионной
> आधार।

Иванов Петр Петрович 21 год студент (пенсионного еще нет)
через полгода с новым паспортом взамен утеряного
Иванов Петр Петрович 21 год студент (пенсионного еще нет)

два разных ? или один и тот же?

Переводить имена это бред.

Завести структуру для хранения обращения и не мучать кошек

полное ФИО        Иванов Иван Иванович
краткое ФИО       Иванов И. И.
обрашатся как    Дорогому Ванюшеньке



Petr V. Abramov ©   (2008-02-26 13:35) [97]


> पावेल कलुगिन © (26.02.08 11: 32) [96]

я б обращение все-таки флагом/справочником сделал. Чтоб "Дарагой" не написал кто-нить



Альберт   (2008-02-26 14:34) [98]


> Терзают меня смутные сомнения, что Альберт задумал что-то
> супер-пуперное. Сам не зная куда он лезет.

Потом будет видно, но зато сейчас ончень интересно, да и опыта наберусь.

> А по моему он пытается придумать задачу под свою (не очень
> удачную, ИМХО, но интересную с его т.з.) идею.

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

Но вопросы все таки есть.
а)Нужно поле "Фамилия имя отчество" ежемесячно для नया "клиентов" передавать в ексель как три ячейки:
1. सरनेम
2.Imya
3. पेट्रोनामिक

б)Поиск (выборка) по частям:
пример найти "Вагиф Оглы", но оператор ввела "Вгиф Аглы"



Sergey13 ©   (2008-02-26 14:49) [99]

> [98] अल्बर्ट (26.02.08 14: 34)
> Идея автоматизации отчетов и документов

Это настолько общее определение, что практически ЛЮБАЯ программа под это определение попадает.

> плюс самый новый справочник по телефонам и адресам клиентов и организаций.
Эта задача не особо нуждается в лингвистических примочках.

Хотя если интересно, то почему бы не помучаться. Но с другой стороны, раз работаешь над конкретной задачей рискуешь нарваться на вопрос работодателя: "А че ты тут делаешь то?"



Альберт   (2008-02-26 14:57) [100]


> "А че ты тут делаешь то?"

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



Sergey13 ©   (2008-02-26 15:04) [101]

> [100] अल्बर्ट (26.02.08 14: 57)
> А информация дорого стоит.

Так то информация, а не ее склонения по падежам.



Sergey13 ©   (2008-02-26 15:11) [102]

> [10] अल्बर्ट (15.02.08 15: 12)
> можна очень много сделать полезного для приемной и т.д

> [100] अल्बर्ट (26.02.08 14: 57)
> А я инженер-аналитик ....  я себе работу облегчаю.

Хватит отираться в приемной и пудрить мозги секретарше! 8-)))))))))))))



Альберт   (2008-02-26 15:33) [103]


> Хватит отираться в приемной и пудрить мозги секретарше!
> 8-)))))))))))))

Споймал, согласен. :)



Ditrix ©   (2008-02-26 16:06) [104]

>>а)Нужно поле "Фамилия имя отчество" ежемесячно для новых "клиентов"
>>передавать в ексель как три ячейки:
вот в процессе формирования реестра новеньких и разделишь фио на составляющие.

а усложнять "ежедневку" - недальновидно.
Kepp It Simple Stupid
// озвучивалось тут уже



Павел Калугин ©   (2008-02-27 07:21) [105]

> [97] पेट्र वी। अब्रामोव © (26.02.08 13: 35)

А я бы оставил на усмотрение Манагера. если он считает обосновано чт дАрАгой Леонид правильное обращение именно к этому леониду то пусть буде так. а если слажал  пусть меньше бабла получит

> [98] अल्बर्ट (26.02.08 14: 34)
> Идея автоматизации отчетов и документов

Идея далеко не нова.


> [98] अल्बर्ट (26.02.08 14: 34)
> а)Нужно поле "Фамилия имя отчество" ежемесячно для новых
> "клиентов" передавать в ексель как три ячейки:

И вопрос в чем? и хранить три поля. Но полное и краткое ФИО хранить не давая их править. То есть править можно одно из трех полей а полное и краткое фио тем же триггером корректировать но ни как не через форму


> б)Поиск (выборка) по частям:

а вот это лечится 2-мя путями. и тольо комплексом
1. баблом по вбившему ошибку или дубль
2. смотреть на функции , например, soundex. Для меня открытием стали когда-то слова "Функция Левенштайна". рекомендую поискать и почитать.
Но опять же лечит только комплексный подход. И больший вес таки играет административная его часть. И если администрация в таких вопросах не идет на компромис то.. может им не слишком оно надо?


> [104] डिट्रिक्स © (26.02.08 16:06)
> вот в процессе формирования реестра новеньких и разделишь
> фио на составляющие.

угу. особенно если имя 5 слов а фамилия 2 слова. Не, таки придется хранить кажное в своем поле. Но справочник имен.. Эт чтоб секретарше на жениха гадать, разве что.



Альберт   (2008-02-27 10:00) [106]


> может им не слишком оно надо?

Надо, иначе получит начальник,  а дальше по цепочке, в том числе и я.



Sergey13 ©   (2008-02-27 10:27) [107]

> [106] अल्बर्ट (27.02.08 10: 00)
> Надо

Это слово достойно приватных бесед в курилке. Документально фиксируются обычно документы типа "Техническое задание". Кстати приступать к активной генерации идей рекомендуется только после хотя бы беглого ознакомления с указанным документом, а лучше после его согласования.



Павел Калугин ©   (2008-02-27 14:32) [108]


> अल्बर्ट (27.02.08 10: 00) [106]

так от сначала ты читаешь про всякие там Soundex и прочие подобные алгоритмы
потом думаешь насколько оно того, срастается.
потом идешь к шефу и гришь:
дубликаты я уберу, проверку такую и такую прикручу. Но это не панацея. Поэтому я еще прикрутил лог кто что ввел. И по шапке за косяки ввода нада давать им за то что искать не умеют. Пока по шапке получаем тока мы это не дело.
И в отчето кроме Ф.И.О. новопоступивших писать ФИО(логин) сотрудника вмолотившего с датой ввода (правки)


> सर्गेइएक्सन्यूम्एक्स © (13 27.02.08: 10) [27]

Хотябы документ вида "Хотелка" получить и подписать :) а то явно секретаршу вздрючили, она поплакалась и срочно изобретать лисапед



Sergey13 ©   (2008-02-27 14:38) [109]

> [108] पावेल कलुगिन © (27.02.08 14: 32)
> Хотябы документ вида "Хотелка" получить и подписать

तो मैं कहता हूं типа "Техническое задание". 8-)



Альберт   (2008-02-27 16:26) [110]

Благодарю всех отвечавших !!



पन्ने: 1 2 3 पूरी शाखा

फोरम: "मामले";
वर्तमान संग्रह: 2008.08.10;
डाउनलोड करें: [xml.tar.bz2];

ऊपर





मेमोरी: 1.05 एमबी
समय: 0.085 c
2-1215441846
lewka
2008-07-07 18:44
2008.08.10
ColorDialog रंग पैलेट के लिए 16 रंग कोड


2-1215539957
GrieVeR-13
2008-07-08 21:59
2008.08.10
EnumWindows और GetWindowText फ़ंक्शंस के साथ समस्या


15-1214082477
विनी द पूह पिग
2008-06-22 01:07
2008.08.10
3: 1


6-1191581798
ओएसए
2007-10-05 14:56
2008.08.10
Indy 9.0.18 या Indy 10.xx?


15-1214541734
123-s
2008-06-27 08:42
2008.08.10
एफ़टीपी ग्राहक





अफ्रीकी अल्बानियन अरबी भाषा अर्मेनियाई आज़रबाइजानी बस्क बेलारूसी बल्गेरियाई कैटलन सरलीकृत चीनी) चीनी पारंपरिक) क्रोएशियाई चेक डेनिश डच अंग्रेज़ी एस्तोनियावासी फिलिपिनो फिनिश फ्रेंच
गैलिशियन् जॉर्जियाई जर्मन यूनानी हाईटियन यहूदी हिंदी हंगरी आइसलैंड का इन्डोनेशियाई आयरिश इतालवी जापानी कोरियाई लात्वीयावासी लिथुआनियाई मेसीडोनियन मलायी मोलतिज़ नार्वेजियन
फ़ारसी पोलिश पुर्तगाली रोमानियाई रूसी सर्बियाई स्लोवाक स्लोवेनियाई स्पेनिश स्वाहिली स्वीडिश थाई तुर्की यूक्रेनी उर्दू वियतनामी वेल्श यहूदी बंगाली बोस्नियाई
सिबुआनो एस्पेरांतो गुजराती हौसा हमोंग ईग्बो जावानीस कन्नड़ खमेर लाओ लैटिन माओरी मराठी मंगोलियन नेपाली पंजाबी सोमाली तामिल तेलुगु योरूबा
ज़ुलु
Английский Французский Немецкий Итальянский Португальский Русский Испанский