Разработка базы данных.

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

Для начала сформируем исходную таблицу, в которой будут содержаться следующие поля (атрибуты):

Номер клиента     А Наименование клиента     B Номер счета клиента   C Остаток на счете клиента D Запрет   E Номер документа     F Счет плательщика     G Счет получателя     J Сумма платежа     K Дата платежа     L Состояние   M
.. .. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. .. ..

 

Определим функциональные зависимости атрибутов:

1. A B,C,D,E

2. B A,C,D,E

3. C B,J,K,F

4. D C,B

5. E C

6. F G,J,K,L

7. G J,K,F,L,M

8. J G,K,F,L,M

9. K F,G,J,L

10. L F,G,J,K,M

11. M F,G,J,K,L

Теперь проведем нормализацию базы данных.

Для начала определим первичный ключ: номер счета клиента (C).

Исходная таблица находится в первой нормальной форме, так как каждый её атрибут атомарен и все строки различны.

Исходная таблица находится во второй нормальной форме, так как она находится в первой нормальной форме, и при этом любой её атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа. То есть, нет зависимости от части ключа.

Исходная таблица находится в третьей нормальной форме, так как она находится во второй нормальной форме, и при этом любой её неключевой атрибут функционально зависит только от первичного ключа.

В результате нормализации исходной таблицы получили базу данных, состоящую из двух таблиц:

Таблица «Клиенты банка».

Эта таблица содержит информацию о клиентах банка, счета которых открыты. Ниже показаны поля таблицы и их типы.

Имя поля Тип поля
Номер Счетчик
Наименование Текстовый
Номер счета Числовой
Сумма Денежный
Запрет Логический

Поле «Номер» - ключевое поле таблицы, «Наименование» содержит название юридического лица – клиента банка, «Номер счета» и «Сумма» - номер счета и сумму на счете соответственно, «Запрет» отображает запрещены ли проводки по дебету счета (если его значение «Да», то запрещены).

Таблица «Платежные поручения».

Эта таблица содержит информацию обо всех платежных поручениях, заданных для клиентов банка, как проведенных, так и планируемых, а также документы из картотеки №2. Ниже показаны все поля таблицы и их типы.

Имя поля Тип поля
Номер документа Счетчик
Счет плательщика Числовой
Счет получателя Числовой
Сумма платежа Денежный
Дата платежа Дата/время
Состояние Числовой

Поле «Номер документа» - ключевое поле таблицы; «Счет плательщика» и «Счет получателя» - соответственно номера счетов плательщика и получателя, по которым можно выбрать информацию о клиенте из таблицы «Клиенты банка»; «Сумма платежа» и «Дата платежа» соответственно сумма и дата платежа по документу; «Состояние» может принимать три значения: 0 – не проведен (планируемые платежи), 1 – проведен, 2 – не хватает денег на счете плательщика (картотека №2).

Таблицы «Клиенты банка» и «Платежные поручения» связаны между собой для выборки данных о клиенте, номер счета которого введен в качестве номера счета плательщика или получателя.