iLab 1 – SQL Course
This lab will introduce you to the processes involved in defining one of the key components of a data model; the relationship diagram (RD). In this lab, you will draw a relationship diagram for two of the steps shown. Keep in mind when you are trying to decide which side of the relationship should be the “one” side and which should be the “many” that you must first decide which side has the primary key, or unique identifier. Once you have decided the primary key of the relationship, you have identified the “one” side of the relationship. Note that for an RD, the foreign key “many” side of the relationship points to the primary key “one” side. The “one” side should have the arrowhead point of the connecting line. This is different than an entity/relationship diagram (ERD) that we will draw next week, where the “many” side has crow’s feet.
This will familiarize you with how to set up MS Visio to draw database diagrams. Steps 1 – 3 below use the Customer, Order, and Employee tables of a simplified Order Entry database. The Customer table records clients who have placed orders. The Order table contains the basic facts about customer orders. The Employee table contains facts about employees who take orders. The primary keys of the tables are CustNo for Customer, EmpNo for Employee, and OrdNo for Order.
The following are the TABLE definitions for the first three tables showing the PRIMARY KEY constraints.
TABLE Customer has the following attributes
CustNo is the PRIMARY KEY
TABLE Employee has the following attributes
EmpNo is the PRIMARY KEY
TABLE Order has the following attributes
OrdNo is the PRIMARY KEY
Your task for this lab is to create the required relationship diagram for steps 1 and 2 using Microsoft Visio. Step 3 will require you to analyze the scenario given and present your own resolution to the question. Step 4 is an individual assignment that will introduce you to the group project and the process of identifying entities and attributes. When finished with the lab, you should have a complete diagram using all 5 entities, a written explanation for #3, and two lists (entities and attributes) for Step 4.
The deliverable for this lab is a single MS Word document named “Lab1_solution_yourname” with the diagram for problems 1 and 2, the written answer for the question in Step 3, and the lists of entities and attributes for the Initial Project Exercise (Step 4). You should copy and paste the diagram from MS Visio into a Word document and use this document for Steps 3 and 4.
STEP 1: Drawing your first ER diagram Title
Identify the foreign key columns in the table structures above and draw a relationship diagram depicting the relationships between the tables. In the Order table , the CustNo column references the Customer table and the EmpNo column references the Employee table. For each relationship, identify the table on the “1” side of the relationship and the table on the “Many” side.
STEP 2: Extending the ER diagram
Extend your relationship diagram from problem 1 by adding two tables (OrdLine and Product). Table definitions for the table structures and primary keys constraints are shown below. You will need to identify the FOREIGN KEY(s) to complete this problem. When finished you should have a total of 5 tables represented in your diagram for this problem. To copy and paste the diagram into Word, select Edit from the menu and then Copy Diagram. Open a Word document and use CTRL-V to paste the diagram.
TABLE Product has the following attributes
ProdNo is the PRIMARY KEY
TABLE OrdLine has the following attributes
The combination of OrdNo and Prodno is the
STEP 3: Should a NULL be allowed?
From examination of the sample data and your current understanding of businesses in which orders could be placed either in person, over the phone, or over the Internet, determine if it would be permissible for null values to be allowed for the foreign key EmpNo in the Order table. This column would reference back to the EmpNo column in the employee table. Why or why not?
OrdNo OrdDate CustNo EmpNo
O1656777 02/11/2000 C8543321
O7959898 02/19/2000 C8543321 E8544399
STEP 4: Initial Project Exercise
Although the overall project itself will be done as a group, this first exercise is designed as an individual effort and is intended to; (1) get you to read the project specifications, and; (2) introduce you to the first step in designing a database from scratch. This little exercise will have you see how many entities and attributes you can find in the project specifications. In week three, you will work with your assigned project team and compare notes on what you have found. This is not rocket science here so remember, you are looking for people, places, things, and events (entities) and the attributes that describe them.