База данных банковских счетов

Я создаю базу данных для "банка" и просто не был уверен, был ли мой метод присоединения счетов к клиентам наиболее эффективным. Вот несколько корпоративных правил:

- Есть 2 типа счетов (текущий и сберегательный)

-в каждой учетной записи есть поле для: баланса, даты последнего доступа

текущие счета имеют овердрафт

учетные записи имеют процентную ставку

- клиент может иметь столько аккаунтов, сколько он хочет

- аккаунт может быть "подписан" на неограниченное количество людей

Я просто не уверен, что лучший способ - это просто установить процентную ставку и овердрафт в таблице счетов, чтобы установить нулевое значение, если это неправильный тип счета.

Извините, если этот вопрос не очень хорошо поставлен (я нарушаю девственность моего стекового потока). Кроме того, вот ссылка на диаграмму ER, созданную до сих пор: https://drive.google.com/file/d/0BwKmjTsIbwP0SE9Xbk1ycnkyV0E/edit?usp=sharing

Извините, что я не смог опубликовать изображение прямо здесь, просто потому, что у меня нет представителя...

Заранее спасибо!

1 ответ

Решение

Вы берете информацию, которую вам дают, и вы нормализуете данные в отношениях. Вот почему вы используете реляционную базу данных.

Итак, начнем с клиентов. Мы создадим таблицу клиентов. Как правило, имена таблиц в единственном числе.

Customer
--------
Customer ID
Customer name
Customer address
...

Как видите, все данные в таблице "Клиенты" относятся к клиенту.

Далее мы создадим таблицу Account.

Account
-------
Account ID
Account Type ID
Account balance
Account interest rate
Account overdraft
Account last access time stamp

Все данные в таблице счетов получены из вашего заявления о требованиях. Процентная ставка установлена ​​на ноль для счетов без процентов. Овердрафт устанавливается на ноль для счетов без овердрафта.

Далее мы создадим таблицу типов учетных записей.

Account Type
------------
Account Type ID
Account Type

Данные будут (0, проверка) и (1, сбережения). С помощью таблицы типов счетов вы можете легко добавлять новые типы учетных записей, например (2, Депозитный сертификат).

Далее, даже если вы не упомянули об этом, мы создадим таблицу транзакций. Это необходимо для печати ежемесячных отчетов.

Transaction
-----------
Transaction ID
Transaction time stamp
Transaction amount
Account ID

Хорошо, мы настроили все таблицы типов сущностей для банковской деятельности. Теперь давайте настроим таблицы отношений.

Клиент и Учетная запись имеют отношения многие ко многим. У клиента может быть много учетных записей, а у учетной записи может быть много клиентов.

Итак, давайте создадим таблицу учетной записи клиента.

Customer Account
----------------
Customer ID
Account ID
Customer Account creation time stamp

Первичный (кластерный) ключ - это (идентификатор клиента, идентификатор учетной записи). Вам также понадобится уникальный индекс (идентификатор учетной записи, идентификатор клиента)

Я считаю, что мы закончили создавать таблицы.

  • У учетной записи есть тип учетной записи.

  • У клиента может быть много аккаунтов.

  • Учетная запись может иметь много клиентов.

  • Учетная запись может иметь много транзакций.

  • Транзакция проводится на один счет.

Другие вопросы по тегам