VHT2 – VHT2 TASK 1: NORMALIZATION AND DATABASE DESIGN
A. Construct a normalized physical database model to represent the ordering process for Nora’s Bagel Bin by doing the following: 1. Complete the second normal form (2NF) section of the attached “Nora’s Bagel Bin Database Blueprints” document by doing the following: a. Assign each attribute from the 1NF table into the correct 2NF table. b. Describe the relationship between the two pairs of 2NF tables by indicating their cardinality in each of the dotted cells: one-to-one (1:1), one-to-many (1:M), manyto- one (M:1), or many-to-many (M:M). c. Explain how you assigned attributes to the 2NF tables and determined the cardinality of the relationships between your 2NF tables. Solution: - One bagel item can be included in more than one bagel order. - A bagel order id in the bagel order line item relates to just one order id. As a result, this is a 1:M ratio (one-to-many) lOMoARcPSD| - A bagel item belongs to just one bagel id in the bagel order line item, however a bagel item can be requested by many orders. As a result, the M:1 ratio applies (many-to-one). - Each attribute in the table is allocated by taking partial dependence into account in the 1NF. The Bagel ID determines the Bagel Name, Bagel Description, and Bagel Price. The Bagel Order ID determines the Order Date, First Name, Last Name, Address1, Address2, City, State, Zip, Mobile Phone, Delivery Fee, and Special Notes. As a result, the properties are assigned based on the dependence. 2. Complete the third normal form (3NF) section of the attached “Nora’s Bagel Bin Database Blueprints” document by doing the following: a. Assign each attribute from your 2NF "Bagel Order" table into one of the new 3NF tables. Copy all other information from your 2NF diagram into the 3NF diagram. b. Provide each 3NF table with a name that reflects its contents. c. Create a new field that will be used as a key linking the two 3NF tables you named in part A2b. Ensure that your primary key (PK) and foreign key (FK) fields are in the correct locations in the 3NF diagram. d. Describe the relationships between the 3NF tables by indicating their cardinality in each of the dotted cells: one-to-one (1:1), one-to-many (1:M), many-to-one (M:1), or many-to-many (M:M). e. Explain how you assigned attributes to the 3NF tables and determined the cardinality of the relationships between your 3NF tables. lOMoARcPSD| Repeated data was moved to a new table called CUSTOMER. Customer ID is a new primary key for the table CUSTOMER, and it is used as a foreign key in the BAGEL ORDER table. One customer can place many orders, but only one customer can place an order. As a result, the relationship is M:1 (many-to-one). 3. Complete the "Final Physical Database Model" section of the attached “Nora’s Bagel Bin Database Blueprints” document by doing the following: a. Copy the table names and cardinality information from your 3NF diagram into the “Final Physical Database Model” and rename the attributes. b. Assign one of the following five data types to each attribute in your 3NF tables: CHAR(), VARCHAR(), TIMESTAMP, INTEGER, or NUMERIC(). Each data type must be used at least once. Solution: The final physical database model is as shown: lOMoARcPSD| B. Create a database using the attached "Jaunty Coffee Co. ERD" by doing the following: 1. Develop SQL code to create each table as specified in the attached “Jaunty Coffee Co. ERD” by doing the following: a. Provide the SQL code you wrote to create all the tables. b. Demonstrate that you tested your code by providing a screenshot showing your SQL commands and the database server’s response. Solution: -- SQL code for table `coffee_shop` CREATE TABLE coffee_shop ( shop_id INTEGER NOT NULL, shop_name varchar(50) NOT NULL, city varchar(50) NOT NULL, state char(2) NOT NULL, PRIMARY KEY (shop_id) ); lOMoARcPSD| Result: -- SQL code for table `supplier` CREATE TABLE supplier ( supplier_id INTEGER NOT NULL, company_name varchar(50) NOT NULL, country varchar(30) NOT NULL, sales_contact_name varchar(60) NOT NULL, email varchar(50) NOT NULL, PRIMARY KEY (supplier_id) ); lOMoARcPSD| Result: -- SQL code for table 'employee' CREATE TABLE employee ( employee_id INTEGER NOT NULL, first_name varchar(30) NOT NULL, last_name varchar(30) NOT NULL, hire_date date NOT NULL, job_title varchar(30) NOT NULL, shop_id INTEGER NOT NULL, PRIMARY KEY (employee_id), FOREIGN KEY (shop_id) REFERENCES coffee_shop(shop_id ) ); lOMoARcPSD| Result: -- SQL code for table `coffee` CREATE TABLE coffee ( coffee_id INTEGER NOT NULL, shop_id INTEGER NOT NULL, supplier_id INTEGER NOT NULL, coffee_name varchar(30) NOT NULL, price_per_pound NUMERIC(5,2) NOT NULL, PRIMARY KEY (coffee_id), FOREIGN KEY (shop_id) REFERENCES coffee_shop(shop_id ), FOREIGN KEY (supplier_id) REFERENCES supplier(supplier_id) );
Document information
- Uploaded on
- June 2, 2025
- Number of pages
- 16
- Written in
- 2024/2025
- Type
- Exam (elaborations)
- Contains
- Questions & answers