![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нормализация банковского счета [MSSQL]
федя © (2011-03-24 22:58:00)Есть ли смысл привести к нормальной форме хранение 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.
ssnakess (2011-03-28 19:06:00) [1]ИМХО, никакого смысла в этом нет, да и по опыту работы тоже нет :)
обычное поле типа char(20)
Медвежонок Пятачок (2011-03-25 10:09:00) [2]Многие реальные системы поступают совсем наоборот и денормализуют счета. Есть сам счет целиком, два поля на балансовые группы и третье на валюту.
Sergey13 (2011-03-25 10:02:00) [3]> [0] федя (24.03.11 22:58)
ИМХО.
Смотря какая работа будет в основном производиться над счетом. Если просто печать в платежке - то не надо. Если цель программы анализ по составляющим счета - может и есть смысл.
sniknik (2011-03-25 07:51:00) [4]имеет смысл выделить "валюту, банк и подразделение" в случае если нужны отчеты/группировки/объединения по ним...
если в самой базе не делается (ну к примеру для отчетов служит OLAP куда передаются данные время от времени), то и это лишнее (в олап можно передавать с разбивкой, ведь структура счета известна, и вряд ли поменяется).
Abramov Petr V. (2011-03-25 00:34:00) [5]
> Есть ли смысл привести к нормальной форме хранение 20-ти
> значного банковского счета, в составе счета имеется
нету, по простой причине: нормализацию придумали не для того, чтоб студентов замучать с застенках вуза, а в данном случае, чтоб
- при изменении наименования(кода, номера)раздел баланса - 1 символ, счет первого порядка - 2 символа, счет второго порядка - 2 символа, код валюты - символа,не пришлось перенумеровывать все счета.
т.к это ситуация из ряда вон выходящая (хотя и возможная, в 1997 так было), у всей страны поменяются номера счетов, то
> Игорь Шевченко © (24.03.11 23:31) [1]
>
>
> > Есть ли смысл привести к нормальной форме хранение 20-
> ти
> > значного банковского счета
>
>
> нету
Игорь Шевченко (2011-03-24 23:31:00) [6]
> Есть ли смысл привести к нормальной форме хранение 20-ти
> значного банковского счета
нету