List The Functional Dependencies in The Following Table
List The Functional Dependencies in The Following Table
List The Functional Dependencies in The Following Table
This table concerns invoice information. For a given invoice (identified by the invoice number) there will be a single
customer. The customer's number, name, and address appear on the invoice as well as the invoice date. Also, there
may be several different parts appearing on the invoice. For each part that appears, the Part Number, Part
Description, Unit Price, and Number Shipped will be displayed. The price is from the current master price list.
INVOICE NUMBER CUSTOMER_NUMBER , CUSTOMER LAST , CUSTOMER FIRST, STREET , CITY , STATE
, ZIP_CODE , INVOICE_DATE
CUSTOMER table
Primary Key: CUSTOMER_NUMBER
Table: (CUSTOMER_NUM , LAST_NAME , FIRST_NAME , STREET , CITY , STATE, ZIP_CODE)
Foreign Key: None
Normal Form: 3NF
PART table:
Primary Key: PART_NUM
Table: (PART_NUM , PART_DESCRIPTION , PART_PRICE)
Foreign Key: None
Normal Form: 3NF
INVOICE_LINE table:
Primary key: INV_NUM, PROD_NUM , NUMBER_SHIPPED
Foreign keys: INV_NUM (to table INVOICE) , PROD_NUM (to table PRODUCT)
Normal Form: 3NF
2- Using your knowledge of a college environment, determine the functional dependencies that exist in the following
table. After these have been determined, convert this table to an equivalent collection of tables that are in 3NF.
The table is now in 1NF, but not in 2NF as Student Name is only dependent on Student Number – only a portion of
the primary key.
CONVERT TABLE TO 2NF BY STARTING A TABLE WITH EACH SUBSET AS ITS KEY:
(STUDENT_NUMBER,
(COURSE_NUMBER,
(STUDENT_NUMBER, COURSE_NUMBER
With the least collection needed, we will put in the remaining attributes:
These tables are all in 2NF; but COURSE and GRADE are also in 3NF. STUDENT, however, is not, as it still
contains a determinant – Advisor Number – that is not a candidate key. STUDENT still needs to be converted to 3NF.
Remove the attributes that depend on the determinant Advisor Number and put in a separate table.
Name these two tables, and put all the tables together: