CIS336 Week 2 ilab 2 Entity Relationship Diagram
Lab two introduces the next step in creating a data model, the Entity Relationship Diagram (ERD). You will be given a business scenario for a company named Clapham Specialty Store, which is a small specialist grocery and delicatessen. The business specifications will outline a number of things about the business, some of which will apply directly to the database you are being asked to model. There is a table which lists the entities (tables) that will be needed for the database and related attributes (columns) for each entity. There is also a column that lists specific information about the entity that will be helpful in determining its relationship to other entities within the model.
Be sure to include the minimum and maximum occurrences of each relationship (cardinality) and to supply a name to the relationship that will work in both directions. If there is not a single word that will apply, then supply a separate name for each direction of the relationship.
The Clapham Specialty Store is a small, specialist grocery and delicatessen. A new owner, John Balfour, who would like to expand the store and improve its profits, has recently purchased the store. The store sells general groceries, wines and liquors, and has a small deli counter. The store is open from 5:00 a.m. to 12:00 midnight. Many of the customers are repeat customers who come in to buy products they forgot from their regular grocery shopping expedition at the supermarket.
The store sells about 3,000 different products ranging from toilet cleaner to 2 oz. jars of caviar, and champagne to liverwurst. Each product is displayed on a shelf on one side or the other of the aisle. The products arrive and their details (cost, quantity, SKU number, package size, purchase date) are recorded in the back room before they are displayed. The new owner wants to know which products the store sells most of and which are the most profitable.
The following is some general information about the company and its current processes.
The store has 3 cash registers.
Between 3 and 7 employees will work at any given time, depending on the time of day and how busy they are.
An employee logs in to the register at the start of a shift and logs out at the end.
The name, address, Social Security number and other information is recorded for every employee.
All employees are paid weekly against an hourly rate which varies depending on their job description.
Each sale is identified by a Receipt No. and a timestamp (date and time) and consists of sale items with a quantity and price recorded for each product.
As a convenience for known customers, they offer a local delivery service. Deliveries are only made to customers who are registered at the store; walk-ins must record their name, address, and phone number before a delivery can be made to them.
John can find the cost of the goods from the accounts system. What John would like to have is a point of sale system (POS) that records what has been sold to whom, by whom, for how much, and when. Also, he needs to be able to record the delivery trips that are made, who makes the delivery, how long the delivery takes, and the amount of the sale. There is concern at this point that the cost of delivering the sales to customers is not worth the return on investment.
You have been asked to develop a logical data model for Clapham Specialty Store based on the information given to you by John and his staff. Through analysis of the nouns and verbs in the case study above, you have accumulated the following entity, attribute, and relationship information shown in the table below. The attribute list may not be complete. If you determine that additional attributes are needed to better define an entity then you should add them.
Entities Attributes and Relationships for Clapham Store:
ID Number, Last Name, First Name, Phone Number, Employee Type ID
An Employee can belong to any one of the three job categories, but can belong to one and only one of the three. Employees have names and other contact information.
Type ID, Description, Hourly Pay Rate
An employee can be either a clerk, delivery person, or a supervisor.
Register Log Number, Register Number, Log In Time, Log Out Time, Employee ID
Sales are made using a register and can be tracked by the register log number. An employee must log into the register before he/she can use it and must log out when finished with a shift at that register. An employee may use more than one register during a period of work.
Register Number, Register Location Description, Register Serial Number
The store has 3 registers: One located at the back of the store and two located at the front of the store; one on the left and one on the right of the entrance.
Delivery Number, Employee ID, Sales Receipt Number, Time the Employee Left and Returned
Relates to both the employee and the sale entities. This entity will help track deliveries. An employee can make many deliveries but a sale is delivered by one and only one employee.
Location ID, Aisle, Side, Shelf
Relates to product and identifies one or more areas of the store where products are displayed.
Product ID, Name, Package Size, Cost, Quantity on Hand (QOH), Last Purchased Date, Reorder Minimum
Identifies the products the store sells. One or more products can be sold per sale. The quantity on hand allows John to determine his inventory levels. The reorder minimum can be used to determine when the inventory level has reached a reorder point.
Receipt Number, Sales Amount, Sale Date- Time
A sale is identified by a single receipt. Sales are:
made to one or more Customers but only one customer at a time.
made by one or more Register Clerks but only one clerk per sale.
recorded on one or more Registers but only one register per sale.
delivered by one or more delivery persons but no one sale can be delivered by more than one delivery person.
Receipt Number, Product ID, Item Price, Quantity Sold
Sale Item is part of sale and records product sold per sale. Sale item must be able to associate multiple products sold on a single sales receipt.
Customer Number, First Name, Last Name, Address, Phone Number
A customer can be associated with multiple sales, but any one sale is to one and only one customer. A sale can occur without a customer registering in the system.
Using MS Visio, develop an ERD that meets the following guidelines:
Draw the entities with their attributes.
Indicate the relationships between the entities using Crow’s Foot notation. You will need to determine the cardinality and optionality for each direction of the relationships. Some of the Foreign Key relationships are identified in the graph above but not all. Be sure you identify and account for all Foreign Key relationships.
Add a name (in both directions) to the relationships. Remember, if you can verbalize the relationship in both directions then you probably have a valid relationship.
The deliverable for this lab will be your completed ERD as a single MS Word document using copy/paste from the MS Visio application and named “lab2_solutions_yourname”.
STEP 1: Drawing entities and attributes
Be sure to include all of the entities that have been defined. You need to include at least the primary and foreign key attributes where applicable in your diagram.
STEP 2: Indication of all relationships
Be sure that you link all entities based on PK to FK relationships. There may be a case where you need to identify a combination PK and if so make sure that all of the relationships involved are defined. Be sure that you have set your Visio editor to show Crow’s Foot notation. Also, be sure that you are defining the correct cardinality for the relationships.
STEP 3: Naming of relationships
Do not accept the default naming convention for your relationships in all cases. There may be some relationships where this is applicable, but in most cases you will want to explicitly name the relationship. Be sure that you have provided a verb phrase for both directions in the relationship.