Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > имена полей, из значение и размеры


Автор: polosatij 5.12.2008, 00:04


всегда, когда строишь какие-либо таблицы приходится чесать тыковку и обдумывать все различные ситуации.. 
например, возьмём всё тот же "индекс города".. в России, например, он 6 есть цифр.. в Германии он 5.. вот можно раз и дать этому полю значение нумерик(6) и залезть в ж.. на ровном месте.. сейчас объясню почему.. в Берлине, например, нужно ещё и использовать нули ("0") впереди, например, 00335.. не зная этих мелочей можно накопать не одну стопку проблем.. да и как всё тут учтёшь, слишком много всего.. 

вот и хотел я спросить, есть ли где толстый учебник с Best Practices по общим ситуациям?  smile 

 smile пасиба заранее  smile  

Автор: bars80080 5.12.2008, 00:15
по-моему, таких общих ситуаций до чёртиков. я к примеру всегда измываюсь на клиентами, разбирая с ними каждую циферку, как она будет вводится, какие имеет варианты и исключения. впрочем, когда объясняю, они входят в моё положение

очень уникальная задача

Автор: polosatij 5.12.2008, 00:34
Цитата(bars80080 @  5.12.2008,  00:15 Найти цитируемый пост)
таких общих ситуаций до чёртиков.


пральна.. но среди ним можно выделить общие:

+ имя
+ фамилия
+ телефон
+ мобильный телефон
+ индекс
+ город
+ государство

ню, и так далее..  smile

Автор: ТоляМБА 5.12.2008, 06:25
polosatij, ну тогда держи и мои 5 копеек:
У всего что может поменяться, возьмем к примеру фамилию, надо добавлять ещё два поля типа дата. До замужества она была Иванова, после замужества стала Петрова. Если просто поменять фамилию в базе можно на такие грабли наступить  smile

Добавлено через 1 минуту и 32 секунды
bars80080, ППКС

Автор: Zloxa 5.12.2008, 12:00
ТоляМБА, Если фамилия есть аттрибут сущности персона. Если персона поменяла фамилию, отчего бы не поменять ее в базе.

А вот если у нас печатная форма документа должна содержать фамилию МОТ, то документ мы должны наделить атрибутом "фамилия МОТ", но никак не "персона", потому что "персона" характерезуюет иную сущность нежели фамилия.

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


Автор: Данкинг 5.12.2008, 12:14
У нас поле с индексом всегда равно 6. Если индекс >6, то приписываем его в начало адреса. smile А вообще, делай по тому максимуму, который наиболее вероятен для значения данного поля. К примеру, индекс больше 10 вряд ли будет.

Автор: bars80080 5.12.2008, 13:45
Цитата(polosatij @  4.12.2008,  23:34 Найти цитируемый пост)
но среди ним можно выделить общие:

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


Автор: LSD 5.12.2008, 15:26
В англии индекс включает в себя буквы, так что индекс это не числовое значение, а строковое.

А вообще это какие-то беспочвенные рассуждения. Все зависит от задач и требований к приложению. Кому-то не надо хранить старую фамилию, а кому-то надо. Кому-то индексы только для России, кому-то для всего мира.

Автор: polosatij 6.12.2008, 05:13
Цитата(ТоляМБА @  5.12.2008,  06:25 Найти цитируемый пост)
У всего что может поменяться, возьмем к примеру фамилию, надо добавлять ещё два поля типа дата. До замужества она была Иванова, после замужества стала Петрова. Если просто поменять фамилию в базе можно на такие грабли наступить  smile


Цитата(Zloxa @  5.12.2008,  12:00 Найти цитируемый пост)
А вот если у нас печатная форма документа должна содержать фамилию МОТ, то документ мы должны наделить атрибутом "фамилия МОТ", но никак не "персона", потому что "персона" характерезуюет иную сущность нежели фамилия.


ваши примеры ничего не имеет общего с темой.. вы описали логику..


Цитата(bars80080 @  5.12.2008,  13:45 Найти цитируемый пост)
я тож так думал, но потом столкнулся с тем, что всегда шестизначный pnr, на который я опирался как уникальный номер в системе бронирования оказывается оператором можно записывать как угодно


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


Цитата(LSD @  5.12.2008,  15:26 Найти цитируемый пост)
В англии индекс включает в себя буквы, так что индекс это не числовое значение, а строковое.


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


Цитата(LSD @  5.12.2008,  15:26 Найти цитируемый пост)
Кому-то не надо хранить старую фамилию, а кому-то надо. 


это уже логика.. с темой она не имеет ничего общего..



Цитата(LSD @  5.12.2008,  15:26 Найти цитируемый пост)
Кому-то индексы только для России, кому-то для всего мира. 


вот посему можно было бы всё и обобщить.. написать книгу, типа,

индекс:

Германия, паттерн: [0-9]{5}
Россия, паттерн: [0-9]{6}
...

этого достаточно, чтоб описать общие структуры  smile 

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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)