Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];

Вниз

Первичный ключ   Найти похожие ветки 

 
Mozart ©   (2006-04-15 22:48) [40]

to Marser ©   (15.04.06 22:44) [37]
"Персональний ідентифікаційний номер фізичної особи - платника податків".

прикольно звучит :)

to Внук ©   (15.04.06 22:43) [36]

а по ИНН нельзя? или некорректно?


 
Kerk ©   (2006-04-15 22:51) [41]

Mozart ©   (15.04.06 22:48) [40]
а по ИНН нельзя?


Сказали же - зависит от задачи, но я бы в любом случае не стал.


 
Внук ©   (2006-04-15 22:51) [42]

>>Mozart ©   (15.04.06 22:48) [40]
 В твоей задаче, вероятно, можно. Скажем, при учете юр. лиц это не пройдет, поскольку головное предприятие и филиал имеют одинаковый ИНН. Да и не нужно информационные поля нагружать дополнительными смыслами, чесслово.


 
Mozart ©   (2006-04-15 22:57) [43]

ну у меня знакомый работает в пенсионном фонде, так там id - карается руководством...


 
SergP ©   (2006-04-15 22:58) [44]


> Mozart ©   (15.04.06 20:54)  
> Вот такой вопрос - есть поля - "ФИО" "Дата рождения" "Телефон",
>  так по какому первичный ключ заводить? Если говорит прямо
> - только сейчас решил заняться БД, как говориться "конкретно".
> ..


По имеющимся полям ПК делать нехорошо по понятным причинам, дополнительные поля тебе не нравятся...
Может тебе вообще не нужен ПК?


 
Kerk ©   (2006-04-15 23:00) [45]

Mozart ©   (15.04.06 22:57) [43]
ну у меня знакомый работает в пенсионном фонде, так там id - карается руководством...


Так прям и карается? :D


 
sniknik ©   (2006-04-15 23:01) [46]

> а по ИНН нельзя? или некорректно?
представь у тебя уже есть подобная база... работает, и тут выясняется то комуто вбили неправильный INN (сам то он уникальный не вопрос, но квиточки то могли спутать?)
теперь тебе надо исправить, и не просто так, а старые записи оставить (с пометкой для истории "ошибочно, оператор Иванов - гнида подзаборная" ;о))), правильные естественно переввести. как ты это сделаеш, если у тебя уникальность на уровне сущьности? сдублировать запись не даст. а вот с уникальностью на уровне записи, да без проблемм.
и даже если есть вторичный уникальный индекс по INN то не проблема, можно изменить, добавить левый символ какойто для ошибочных записей к самому INN не боясь, что во всех документах связки "порвутся".


 
Mozart ©   (2006-04-15 23:01) [47]

SergP ©   (15.04.06 22:58) [44]
:) да причем тут "не нравяться" - понять хочу - нужны или нет, а если нужны то какие ..:)


 
Marser ©   (2006-04-15 23:02) [48]

> [40] Mozart ©   (15.04.06 22:48)
> to Marser ©   (15.04.06 22:44) [37]
> "Персональний ідентифікаційний номер фізичної особи - платника
> податків".
>
> прикольно звучит :)

А так:
пэрсональный идэнтыфыкацийный номэр физычнойи особы - платныка податкив
Потому что звучит это именно так, а означает "персональцый идентификационный номер физического лица - налогоплательщика".

> но сначала хотелось узнать как это он у Вас по-особенному
> формируется

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


 
xayam ©   (2006-04-15 23:07) [49]


> Marser ©   (15.04.06 23:02) [48]

[30] [46]


 
Mozart ©   (2006-04-15 23:07) [50]

to Marser ©   (15.04.06 23:02) [48]
дык я ж не с сарказмом, просто прикольно :)
кстати - были такие слухи - в советских паспортах (в номере и серии) была, ко всему прочему, и национальность...и прочие интимные вещи...


 
SergP ©   (2006-04-15 23:10) [51]


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


На Украине ИНН представляет собой десятизначное число. Первые 5 цифр однозначно определяют дату рождения, предпоследняя - пол. последняя цифра - контрольная. (Российские ИНН имеют похожие принципы). Это все можно проверять при вводе, чтобы никакая
"оператор Иванов - гнида подзаборная" не ввела что-то неправильное.

Правда есть на Украине одна интерестная вещь: алгоритм формирования ИНН знают все, но он почему-то считается чем-то типа государственной тайны. Т.е. применять в ПО его нельзя...


 
Marser ©   (2006-04-15 23:11) [52]

> [49] xayam ©   (15.04.06 23:07)
>
> > Marser ©   (15.04.06 23:02) [48]
>
> [30] [46]

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


 
Игорь Шевченко ©   (2006-04-15 23:11) [53]

Внук ©   (15.04.06 22:37) [33]


> Однозначно придерживаюсь позиции, что первичный ключ естественным
> быть не должен. Поэтому всякие ИНН, а тем более ФИО в качестве
> первичного ключа - маст дай.
>


С пуристами дискутировать - себе дороже :)

Вот тебе примерчик - есть кодировка стран (и прочей географии) по ISO. Двухбуквенный код, например UA для Украины. Будем ID вводить или обойдемся кодом ISO ?


 
SergP ©   (2006-04-15 23:24) [54]

ИМХО использование ИНН для ПК вполне логично...Правда смотря где...
Например у нас  (где ИНН не есть уникальным), для однозначной идентификации налогоплательщика используется некий GUID, вот по нему и делается первичный и внешние ключи.


 
Marser ©   (2006-04-15 23:26) [55]

> [54] SergP ©   (15.04.06 23:24)
> ИМХО использование ИНН для ПК вполне логично...Правда смотря
> где...
> Например у нас  (где ИНН не есть уникальным), для однозначной
> идентификации налогоплательщика используется некий GUID,
> вот по нему и делается первичный и внешние ключи.

Стоп, так под ИНН понимается не то, что я написал?


 
Игорь Шевченко ©   (2006-04-15 23:30) [56]

SergP ©   (15.04.06 23:24) [54]


> Например у нас  (где ИНН не есть уникальным), для однозначной
> идентификации налогоплательщика используется некий GUID


Давно пора людям вместо имен GUID давать. Для однозначной идентификации. А вообще странно - вроде как налогоплательщик уникально идентифицируется именно ИНН, на то он и индивидуальный номер, вроде бы.


 
SergP ©   (2006-04-15 23:45) [57]


> Стоп, так под ИНН понимается не то, что я написал?


Именно то... Просто у нас есть некоторые свои ньюансы...
Хотя на самом деле вместо "где ИНН не есть уникальным" правильнее было бы написать "где ИНН или код ЕДРПОУ не есть уникальным". Но это дела не меняет, так как ИНН и коды ЕДРПОУ не пересекаются.


 
Johnmen ©   (2006-04-16 00:40) [58]

Всем дискутирующим (если интересуются) и в первую очередь автору,
читать про суррогатные и натуральные ключи.
http://www.ibase.ru/devinfo/NaturalKeysVersusAtrificialKeysByTentser.html
и здесь докучи
http://www.ibase.ru/devinfo/oop_rdbms.htm


 
Marser ©   (2006-04-16 00:46) [59]

> http://www.ibase.ru/devinfo/NaturalKeysVersusAtrificialKeysByTentser.html

Весьма убедительно, на мой взгляд.


 
Джо ©   (2006-04-16 01:00) [60]

> [59] Marser ©   (16.04.06 00:46)
>
> Весьма убедительно, на мой взгляд.

Еще бы не убедительно — второй раз уже эту статью рекоммендуют в ветке ;)
([17])


 
Marser ©   (2006-04-16 01:05) [61]

> [60] Джо ©   (16.04.06 01:00)
> > [59] Marser ©   (16.04.06 00:46)
> >
> > Весьма убедительно, на мой взгляд.
>
> Еще бы не убедительно — второй раз уже эту статью рекоммендуют
> в ветке ;)
> ([17])

Гы, характерно, что у Самого Тенцера uin ICQ младше моего :-)


 
Внук ©   (2006-04-16 10:56) [62]

>>Игорь Шевченко ©   (15.04.06 23:11) [53]
 Есть такой справочник. Будем вводить. По причине номер раз - для однообразия правил формирования таблиц, по причине номер два - для половины вводимой информации операторы не знают этих кодов, и знать не хотят.


 
isasa ©   (2006-04-16 11:43) [63]

Внук ©   (16.04.06 10:56) [62]

>>Игорь Шевченко ©   (15.04.06 23:11) [53]


+ если захотим зацепить механизм репликации, то тогда нам уже точно расскажут какой ключ должен быть :)


 
Anatoly Podgoretsky ©   (2006-04-16 13:56) [64]

SergP ©   (15.04.06 23:10) [51]
На Украине ИНН представляет собой десятизначное число. Первые 5 цифр однозначно определяют дату рождения, предпоследняя - пол. последняя цифра - контрольная.

По пяти символам невозможно однозначно определить дату рождения, даже по шести нельзя, если смотреть в перспективе, что номера должны существовать вечно, а не 50 лет.
У нас используются 11 значные номера - пол, ГГММДД, ####
Что дает 7 300 000 номеров на каждый год, но думаю лет через 50 перейдут на 13 значные, когда поймут, что человек может жить свыше ста лет, не говоря уж об государстве.


 
vuk ©   (2006-04-16 18:32) [65]

to Игорь Шевченко ©   (15.04.06 23:30) [56]:
>вроде как налогоплательщик уникально идентифицируется именно ИНН, на
>то он и индивидуальный номер, вроде бы
Оно конечно да, но ведь этот ключ в базе потом наверняка еще и как внешний будет использоваться. А про то, что ИНН могут неверно вбить уже говорили. В конце концов можно посмотреть на проблему иначе. Уникальна конкретная личность, а ИНН - некий атрибут который ей государство присвоило и не дело нашей БД, что оно там присвоило и как сгенерило.

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


 
Mozart ©   (2006-04-16 19:15) [66]

vuk ©   (16.04.06 18:32) [65]
ИНН - некий атрибут который ей государство присвоило и не дело нашей БД, что оно там присвоило и как сгенерило.

а ПК разве не совокупность атрибутов?


 
vuk ©   (2006-04-16 19:43) [67]

to Mozart ©   (16.04.06 19:15) [66]:
>а ПК разве не совокупность атрибутов?
Любой ключ - это совокупность атрибутов, одного или более. Другое дело, насколько удобно использовать составные ключи в качестве внешних. Ведь обычно ключ на то и нужен, чтобы потом по нему ссылки делать. Если в БД ПК составной, то чтобы потом сослаться на запись из другой таблицы, придется добавить в эту таблицу все поля, входящие в ПК. Ну и, соответственно, о выборках тоже надо думать.

Если же нужна просто уникальность(не для ссылок), то обычно используются уникальные индексы.

И еще. Для учета людей естественные ключи не подходят. Приходится генерить искусственные. ИНН - это тоже искусственный ключ, только от другой БД. Тут уж личное дело каждого - использовать ключи, пришедшие из другой БД или генерировать свои.


 
Mozart ©   (2006-04-16 19:53) [68]

естественный ключ - это ФИО? Дата рождения?


 
Leonid Troyanovsky ©   (2006-04-16 19:55) [69]


> Mozart ©   (16.04.06 19:53) [68]

> естественный ключ - это ФИО? Дата рождения?


Сказали ж - не может быть для человека естественных ключей.
Даже ДНК код не может, бо клонируют.

--
Regards, LVT.


 
Mozart ©   (2006-04-16 19:56) [70]

Leonid Troyanovsky ©   (16.04.06 19:55) [69]
Вот теперь понял - спасибо :)


 
SergP.   (2006-04-16 19:57) [71]


> Anatoly Podgoretsky ©   (16.04.06 13:56) [64]
> SergP ©   (15.04.06 23:10) [51]
> На Украине ИНН представляет собой десятизначное число. Первые
> 5 цифр однозначно определяют дату рождения, предпоследняя
> - пол. последняя цифра - контрольная.
>
> По пяти символам невозможно однозначно определить дату рождения,
>  даже по шести нельзя, если смотреть в перспективе, что
> номера должны существовать вечно, а не 50 лет.


Имелось ввиду конечно в определеном периоде... около 270 лет

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


 
Leonid Troyanovsky ©   (2006-04-16 20:02) [72]


> SergP.   (16.04.06 19:57) [71]

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


Почему ж не хватит? Тогда будет ограниченное число людей.

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2006-04-16 20:17) [73]

SergP.   (16.04.06 19:57) [71]
На ближайшие 8000 лет можно не беспокоиться.


 
SergP ©   (2006-04-16 20:27) [74]


> Почему ж не хватит? Тогда будет ограниченное число людей.


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


 
Карелин Артем ©   (2006-04-16 20:41) [75]

Насчет ФИО: у нас в группе в колледже были двое с одинаковыми ФИО, да еще и даты рождения почти совпадали.


 
Leonid Troyanovsky ©   (2006-04-16 21:16) [76]


> SergP ©   (16.04.06 20:27) [74]

> > Почему ж не хватит? Тогда будет ограниченное число людей.

> Но ведь ИНН который был присвоен человеку, который уже умер
> не дается снова новому человеку. По крайней мере пока так.


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

Конечно, эти рассуждения не касаются Царствия Божия на земле,
бо в нем нет никаких ИНН.

--
Regards, LVT.


 
SergP ©   (2006-04-16 21:49) [77]


> Конечно, эти рассуждения не касаются Царствия Божия на земле,
>
> бо в нем нет никаких ИНН.


Интерестно, как тогда будут идентифицироваться люди в Царствии Божием?


 
Джо ©   (2006-04-16 22:05) [78]

> [77] SergP ©   (16.04.06 21:49)
> Интерестно, как тогда будут идентифицироваться люди в Царствии
> Божием?

В соответствии с первоисточником: "Каждого — по делам его" :)


 
Marser ©   (2006-04-16 22:19) [79]

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


 
Игорь Шевченко ©   (2006-04-17 11:05) [80]

Внук ©   (16.04.06 10:56) [62]


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


Я ж говорю - с пуристами спорить - себе дороже. Зачем прах Оккама тревожить ?

vuk ©   (16.04.06 18:32) [65]


> Оно конечно да, но ведь этот ключ в базе потом наверняка
> еще и как внешний будет использоваться. А про то, что ИНН
> могут неверно вбить уже говорили.


Вбить могут неверно все, что угодно. И какая разница, неверно вобьют ИНН или имя, с точки зрения базы данных ?


> В конце концов можно посмотреть на проблему иначе. Уникальна
> конкретная личность, а ИНН - некий атрибут который ей государство
> присвоило и не дело нашей БД, что оно там присвоило и как
> сгенерило.


И, прости, в чем разница, государство сгенерировало или механизм СУБД ?



Страницы: 1 2 3 4 5 6 7 8 9 
10 11 вся ветка

Форум: "Прочее";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.64 MB
Время: 0.031 c
15-1145902347
Grando_Lamer
2006-04-24 22:12
2006.05.21
Портирование на мобильники


15-1145943960
Alkid
2006-04-25 09:46
2006.05.21
С Днём Рождения! 25 апреля


2-1146207157
gerakla
2006-04-28 10:52
2006.05.21
Помогите мну


2-1146331673
cardexc
2006-04-29 21:27
2006.05.21
другой ПК


15-1145547611
Mozgan
2006-04-20 19:40
2006.05.21
Как обработать событие OnClick???





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский