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

Вниз

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

 
федя   (2011-03-24 22:58) [0]

Есть ли смысл привести к нормальной форме хранение 20-ти значного банковского счета, в составе счета имеется раздел баланса - 1 символ, счет первого порядка - 2 символа, счет второго порядка - 2 символа, код валюты - символа, контрольный разряд - 1 символ, 4 символа определяющие принадлежность к подразделению (БАНК/ПОДРАЗДЕЛЕНИЕ) и 7 символов собсвтенно номер.

Соответственно есть несколько вариантов хранения, самый простой char(20), либо самый сложный:
=======================================
- ID счета
- ID счет второго порядка
- ID код валюты
- char(1) контрольный разряд
- ID банк
- ID подразделение
- char(7) номер счета

=======================================

- ID счета второго порядка
- char(2) номер счета второго порядка
- ID счета первого порядка

=======================================

- ID счета первого порядка
- char(2) номер счета первого порядка
- ID раздела баланса

=======================================

- ID раздела баланса
- char(1) раздел баланса

=======================================

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

предполагается, что счетов 5 млн. штук.

и счета необходимо будет искать как по = так и по like.


 
Игорь Шевченко ©   (2011-03-24 23:31) [1]


> Есть ли смысл привести к нормальной форме хранение 20-ти
> значного банковского счета


нету


 
Abramov Petr V.   (2011-03-25 00:34) [2]


> Есть ли смысл привести к нормальной форме хранение 20-ти
> значного банковского счета, в составе счета имеется

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

> Игорь Шевченко ©   (24.03.11 23:31) [1]
>
>
> > Есть ли смысл привести к нормальной форме хранение 20-
> ти
> > значного банковского счета
>
>
> нету


 
sniknik ©   (2011-03-25 07:51) [3]

имеет смысл выделить "валюту, банк и подразделение" в случае если нужны отчеты/группировки/объединения по ним...
если в самой базе не делается (ну к примеру для отчетов служит OLAP куда передаются данные время от времени), то и это лишнее (в олап можно передавать с разбивкой, ведь структура счета известна, и вряд ли поменяется).


 
Sergey13 ©   (2011-03-25 10:02) [4]

> [0] федя   (24.03.11 22:58)
ИМХО.
Смотря какая работа будет в основном производиться над счетом. Если просто печать в платежке - то не надо. Если цель программы анализ по составляющим счета - может и есть смысл.


 
Медвежонок Пятачок ©   (2011-03-25 10:09) [5]

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


 
ssnakess ©   (2011-03-28 19:06) [6]

ИМХО, никакого смысла в этом нет, да и по опыту работы тоже нет :)
обычное поле типа char(20)



Страницы: 1 вся ветка

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

Наверх





Память: 0.46 MB
Время: 0.002 c
15-1389715544
ТимоховДА
2014-01-14 20:05
2014.11.09
Сообщение Excel о неуникальности имени _FilterDatabase


2-1384538870
dis12345
2013-11-15 22:07
2014.11.09
установка компонента


15-1384509909
Littleman
2013-11-15 14:05
2014.11.09
Подскажите литературу по Delphi XE5 android


15-1394817891
Rouse_
2014-03-14 21:24
2014.11.09
Вакансия: разработчик систем защиты ПО


15-1396297802
Юрий
2014-04-01 00:30
2014.11.09
С днем рождения ! 1 апреля 2014 вторник





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский