Конференция "Базы" » Нормализация банковского счета [MSSQL]
 
  • федя (24.03.11 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.
  • Игорь Шевченко © (24.03.11 23:31) [1]

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


    нету
  • Abramov Petr V. (25.03.11 00:34) [2]

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

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

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

    > Игорь Шевченко ©   (24.03.11 23:31) [1]
    >
    >
    > > Есть ли смысл привести к нормальной форме хранение 20-
    > ти
    > > значного банковского счета
    >
    >
    > нету
  • sniknik © (25.03.11 07:51) [3]
    имеет смысл выделить "валюту, банк и подразделение" в случае если нужны отчеты/группировки/объединения по ним...
    если в самой базе не делается (ну к примеру для отчетов служит OLAP куда передаются данные время от времени), то и это лишнее (в олап можно передавать с разбивкой, ведь структура счета известна, и вряд ли поменяется).
  • Sergey13 © (25.03.11 10:02) [4]
    > [0] федя   (24.03.11 22:58)
    ИМХО.
    Смотря какая работа будет в основном производиться над счетом. Если просто печать в платежке - то не надо. Если цель программы анализ по составляющим счета - может и есть смысл.
  • Медвежонок Пятачок © (25.03.11 10:09) [5]
    Многие реальные системы поступают совсем наоборот и денормализуют счета. Есть сам счет целиком, два поля на балансовые группы и третье на валюту.
  • ssnakess © (28.03.11 19:06) [6]
    ИМХО, никакого смысла в этом нет, да и по опыту работы тоже нет :)
    обычное поле типа char(20)
 
Конференция "Базы" » Нормализация банковского счета [MSSQL]
Есть новые Нет новых   [134431   +15][b:0][p:0.001]