ESP Document 4 - Payments to Suppliers
The markdown for this file can be found in the source repository.
Cheque Register
The Cheque Register and its resulting tables are based on the following form (taken from the original documentation).
This form was analyzed according to the rules of 0NF (Zero-Normal Form), 1NF (First-Normal Form), 2NF (Second-Normal Form), and 3NF (Third-Normal Form).
0NF
After performing Zero-Normal Form, a single table was generated: ChequeRegister.
ChequeRegister (Date, ChequeNumber, ChequeAmount, SupplierNumber, SupplierName, PurchaseOrderNumber, PODate)
Note that there are two sets of repeating groups - one within the other. Also note that there is nothing outside of both repeating groups. When there is no information outside of all the repeating groups, and there is only one outermost repeating group, you can effectivly ignore that as a repeating group; the outermost curly braces become a lot like extra parenthesis in an arithmetic expression:
(2 * (3 + 4))
is the same as writing2 * (3 + 4)
.
ChequeRegister (ChequeNumber, Date, ChequeAmount, SupplierNumber, SupplierName, PurchaseOrderNumber, PODate)
1NF
After performing First-Normal Form, a single table was generated: PurchaseOrderPayment.
ChequeRegister (ChequeNumber, Date, ChequeAmount, SupplierNumber, SupplierName)
PurchaseOrderPayment (ChequeNumber, PurchaseOrderNumber, PODate)
2NF
After performing Second-Normal Form, a single table was generated: PurchaseOrder.
PurchaseOrderPayment (ChequeNumber, PurchaseOrderNumber)
PurchaseOrder (PurchaseOrderNumber, PODate)
3NF
After performing Third-Normal Form, a single table was generated: Supplier.
ChequeRegister (ChequeNumber, Date, ChequeAmount, SupplierNumber)
Supplier (SupplierNumber, SupplierName)