-
Есть ли смысл привести к нормальной форме хранение 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.
-
> Есть ли смысл привести к нормальной форме хранение 20-ти > значного банковского счета
нету
-
> Есть ли смысл привести к нормальной форме хранение 20-ти > значного банковского счета, в составе счета имеется
нету, по простой причине: нормализацию придумали не для того, чтоб студентов замучать с застенках вуза, а в данном случае, чтоб - при изменении наименования(кода, номера) раздел баланса - 1 символ, счет первого порядка - 2 символа, счет второго порядка - 2 символа, код валюты - символа, не пришлось перенумеровывать все счета. т.к это ситуация из ряда вон выходящая (хотя и возможная, в 1997 так было), у всей страны поменяются номера счетов, то > Игорь Шевченко © (24.03.11 23:31) [1] > > > > Есть ли смысл привести к нормальной форме хранение 20- > ти > > значного банковского счета > > > нету
-
имеет смысл выделить "валюту, банк и подразделение" в случае если нужны отчеты/группировки/объединения по ним... если в самой базе не делается (ну к примеру для отчетов служит OLAP куда передаются данные время от времени), то и это лишнее (в олап можно передавать с разбивкой, ведь структура счета известна, и вряд ли поменяется).
-
> [0] федя (24.03.11 22:58) ИМХО. Смотря какая работа будет в основном производиться над счетом. Если просто печать в платежке - то не надо. Если цель программы анализ по составляющим счета - может и есть смысл.
-
Многие реальные системы поступают совсем наоборот и денормализуют счета. Есть сам счет целиком, два поля на балансовые группы и третье на валюту.
-
ИМХО, никакого смысла в этом нет, да и по опыту работы тоже нет :) обычное поле типа char(20)
|