Download presentation
Presentation is loading. Please wait.
Published byTimothy Lloyd Modified over 8 years ago
1
Database Systems
2
Entity Relationship Diagram How to Develop an ERD? Typically you will start with a case study or perhaps a logical model of the system to be developed. Use the following process to convert that information into an ERD. The process has ten (10) steps: 1. Identify Entities Identify the roles, events, locations, tangible things or concepts about which the end-users want to store data. 2. Find Relationships Find the natural associations between pairs of entities using a relationship matrix.
3
Entity Relationship Diagram 3. Draw Rough ERD Put entities in rectangles and relationships on line segments connecting the entities. 4. Fill in Cardinality Determine the number of occurrences of one entity for a single occurrence of the related entity. 5. Define Primary Keys Identify the data attribute(s) that uniquely identify one and only one occurrence of each entity. 6. Draw Key-Based ERD Eliminate Many-to-Many relationships and include primary and foreign keys in each entity.
4
Entity Relationship Diagram 7. Identify Attributes Name the information details (fields) which are essential to the system under development. 8. Map Attributes For each attribute, match it with exactly one entity that it describes. 9. Draw fully attributed ERD Adjust the ERD from step 6 to account for entities or relationships discovered in step 8. 10. Check Results Does the final Entity Relationship Diagram accurately depict the system data?
5
Entity Relationship Diagram Example A company has several departments. Each department has a supervisor and at least one employee. Employees must be assigned to at least one, but possibly more departments. At least one employee is assigned to a project, but an employee may be on vacation and not assigned to any projects. The important data fields are the names of the departments, projects, supervisors and employees, as well as the supervisor and employee number and a unique project number.
6
Entity Relationship Diagram Example Look through the information about the system and seek to identify the roles, events, locations, concepts and other tangible things that you wish to store data about. One approach to this is to work through the information and highlight those words which you think correspond to entities. 1. Identify Entities
7
Entity Relationship Diagram Example A company has several departments. Each department has a supervisor and at least one employee. Employees must be assigned to at least one, but possibly more departments. At least one employee is assigned to a project, but an employee may be on vacation and not assigned to any projects. The important data fields are the names of the departments, projects, supervisors and employees, as well as the supervisor and employee number and a unique project number. 1. Identify Entities
8
Entity Relationship Diagram Example 1. Identify Entities You may notice that "company" has been highlighted. It is not an example of an entity. A single company will use the system we are designing to keep track of its departments, projects, supervisors and employees. A true entity should have more than one instance. This system will probably contain information about multiple employees, supervisors, projects and departments. But it will only contain one instance of a company.
9
Entity Relationship Diagram Example 2. Find Relationships In this step the aim is to identify the associations, the connections between pairs of entities. A simple approach to do this is using a relationship matrix. It is a table that has rows and columns for each of the identified entities. Table below is an example relationship matrix for the above example. With four entities there are four rows and four columns. Each cell is used to indicate whether or not that combination of entities has an association.
10
Entity Relationship Diagram Example 2. Find Relationships
11
Entity Relationship Diagram Example 2. Find Relationships Go through each cell and decide whether or not there is an association. For example, the first cell on the second row is used to indicate if there is a relationship between the entity "Employee" and the entity "Department". Table below is an example relationship matrix that has been completed for the current example.
12
Entity Relationship Diagram Example 2. Find Relationships
13
Entity Relationship Diagram Example 2. Find Relationships The names placed in the cells are meant to capture/describe the relationships. So you can use them like this A Department is assigned an employee A Department is run by a supervisor An employee belongs to a department An employee works on a project A supervisor runs a department A project uses an employee
14
Entity Relationship Diagram Example 3. Draw Rough ERD Relationship matrix now contains a list of all the entities and all the relationships between those entities. This is enough information to create a rough ERD. Draw a diagram and: Place all the entities in rectangles Use diamonds and lines to represent the relationships between entities. Below figure is an example rough ERD
15
Entity Relationship Diagram Example 3. Draw Rough ERD
16
Entity Relationship Diagram Example 4. Fill in Cardinality Identify the number of occurrences of one entity for a single occurrence of the related entity. For example, how many supervisors can there be for a single department? How many departments can a single supervisor be associated with? To answer this, loop through each entity from rough diagram and ask the question "how many of this entity?" for a single instance of each related entity? Supervisor Each department has one supervisor. Department Each supervisor has one department. Each employee can belong to one or more departments
17
Entity Relationship Diagram Example 4. Fill in Cardinality Employee Each department must have one or more employees Each project must have one or more employees Project Each employee can have 0 or more projects. The cardinality of a relationship can only have the following values One and only one One or more Zero or more Zero or one
18
Entity Relationship Diagram Example 4. Fill in Cardinality An ERD is modified to show this cardinality by place some extra marks on the line connecting an entity and a relationship. Figure below summarizes the marks/notation used in ERDs to indicate cardinality.
19
Entity Relationship Diagram Example 4. Fill in Cardinality Figure below is a modified ERD to show the cardinality of the various relations in our example. A company has several departments. Each department has a supervisor and at least one employee. Employees must be assigned to at least one, but possibly more departments. At least one employee is assigned to a project, but an employee may be on vacation and may not be assigned any projects.
20
Entity Relationship Diagram Example 5. Define Primary Keys The following are specified as unique identifiers: Department Name, Supervisor Number, Employee Number and Project Number. Typically you are looking for a primary key for each entity. You can modify your ERD to include the primary keys as attributes to the related entities.
21
Entity Relationship Diagram Example 5. Define Primary Keys
22
Entity Relationship Diagram Example 6. Draw Key-based ERD This step cleans up some of the shortcomings of the ERD created so far. In particular, it involves Eliminating many-to-many relationships, and Adding Primary and Foreign keys for each entity What is a many-to-many relationship A many-to-many relationship is a relationship that has a "many" cardinality on either side of the relationship. In above figure, there are three relationships. 1. Run by The cardinality on both sides of this relationship is "one and only one". This is not a many-to-many relationship.
23
Entity Relationship Diagram Example 6. Draw Key-based ERD 2. Is Assigned The cardinality on both sides of the relationship is indicated by an "arrow" with a single line. This means that it is a "one or more“ cardinality. The "more" is the same as "many". So both cardinalities include "many". There is a "many" cardinality on both sides of the relationship. This is a many-to-many relationship. 3. Works on Using Figure 3 you should be able to work out that one cardinality is "one or more" and the other is "zero or more". Both sides contain "more" which is the same as "many" and so this is a many-to-many relationship.
24
Entity Relationship Diagram Example 6. Draw Key-based ERD Why are many-to-many relationships bad? Two of the reasons why many-to-many relationships are bad and should be removed from an ERD include: 1. They can't be represented in relational databases. 2. You often wish to record information about a many-to-many relationship. For example, you may wish to record when an employee starts working on a project. With the current ERD you wouldn't be able to store this information. It is not information that belongs in either the Employee or the Project entity.
25
Entity Relationship Diagram Example 6. Draw Key-based ERD How do you get rid of many-to-many relationships? The simple answer is that you replace the relationship with an associative entity. This splits the relationship into two relationships, each will be a one-to-many relationship. So the "Department is assigned an employee" many-to-many relationship becomes two separate relationships: 1. A single Department entity is assigned many Employee-Department entities. 2. An Employee-Department entity includes a single Department entity.
26
Entity Relationship Diagram Example 6. Draw Key-based ERD Figure below is an ERD that represents this change. From this you can see that the Employee-Department entity has a primary key that consists of both Employee Number and Department Name. This combination of two fields uniquely identifies each instance of this entity. So if we wished to store information about the date an employee started working for a department we would store it with this entity. A similar change happens with the "Works on" relationship. This is shown in Figure below. Both these figures would be combined in a final ERD.
27
Entity Relationship Diagram Example 6. Draw Key-based ERD ERD representing Employee-Department Associative Entity
28
Entity Relationship Diagram Example 6. Draw Key-based ERD ERD representing Employee-Project Associative Entity
29
Entity Relationship Diagram Example 7. Identify attributes In this step, we try to identify and name all the attributes essential to the system we are studying without trying to match them to particular entities. he best way to do this is to study the forms, files and reports currently kept by the users of the system and circle each data item on the paper copy. Cross out those which will not be transferred to the new system, extraneous items such as signatures, and constant information which is the same for all instances of the form (e.g. your company name and address).
30
Entity Relationship Diagram Example 7. Identify attributes The remaining circled items should represent the attributes you need. You should always verify these with your system users. (Sometimes forms or reports are out of date.) The only attributes indicated are the names of the departments, projects, supervisors and employees, as well as the supervisor and employee NUMBER and a unique project number.
31
Entity Relationship Diagram Example 8. Map Attributes For each attribute we need to match it with exactly one entity. Often it seems like an attribute should go with more than one entity (e.g. Name). In this case you need to add a modifier to the attribute name to make it unique (e.g. Customer Name, Employee Name, etc.) or determine which entity an attribute "best' describes. If you have attributes left over without corresponding entities, you may have missed an entity and its corresponding relationships. Identify these missed entities and add them to the relationship matrix now.
32
Entity Relationship Diagram Example 8. Map Attributes Attribute-Entity Mapping
33
Entity Relationship Diagram Example 9. Draw Fully Attributed ERD If you introduced new entities and attributes in step 8, you need to redraw the entity relationship diagram. When you do so, try to rearrange it so no lines cross by putting the entities with the most relationships in the middle. If you use a tool like Systems Architect, redrawing the diagram is relatively easy. Even if you have no new entities to add to the Key-Based ERD, you still need to add the attributes to the Non-Key Data section of each rectangle. Adding these attributes automatically puts them in the repository, so when we use the entity to design the new system, all its attributes will be available. Figure below is an example of a fully-attributed ERD for the example problem.
34
Entity Relationship Diagram 9. Draw Fully Attributed ERD
35
Entity Relationship Diagram 10. Check ERD Results Look at your diagram from the point of view of a system owner or user. Is everything clear? Check through the Cardinality pairs. Also, look over the list of attributes associated with each entity to see if anything has been omitted.
36
Entity Relationship Diagram Assignment A lecturer teaches 0, 1 or many classes & a class on the other hand is taught by one lecturer. A subject(course) may generate 0, 1 or many classes & a class comes from one subject. A class is held in one class room but a class room has many classes. A student takes 1 or more classes, and a class has 0 or more students. Question 1 Develop an ERD.
37
Entity Relationship Diagram Assignment Question 2 Develop an ERD. An invoice is written by one sales-representative & a sales- representative writes many invoices. A vendor sells many products & a product is bought from one vendor only. An invoice contains one or many products & a product is found on 0, 1 or many invoices.
38
Entity Relationship Diagram Assignment Question 3 Develop an ERD.
39
Entity Relationship Diagram Assignment Question 4 Develop an ERD.
40
Entity Relationship Diagram Assignment Question 5 A college library has many books & there are many readers who go to the library. One reader can take/borrow many books, one book can be taken/borrowed by many readers at different time. If a book is lent/issued to a reader, the lending/issuing date and return date must also be recorded. The attributes we need about book & reader are as under: Book: book_number, book_title, author_name, book_price, publishing_date, status; Reader: card_number, reader_name, gender, reader_address, telephone_number; Draw an ERD about above problem. If necessary, add an associative entity to represent the relationship between reader & book entities.
41
Entity Relationship Diagram Assignment Question 6 ABC is an organization which sells discounted seats on flights on behalf of some low-cost airlines. The discounted seats are called ‘Offers’ & are only available for purchase by the registered customers over the internet. There are many low cost airlines for which ABC is working as an agency and sometimes more than one airline can offer seats with the same start and destination. Each seat offered for sale contains some information which is supplied by the airline operator:- The Ticket Number that identifies the seat on a particular flight. The start and destination of the city/airport for the journey undertaken. The date and time of the flight/journey and the check-in time. Develop an ERD.
42
Entity Relationship Diagram Assignment Question 7 Develop an ERD. A company wishes to develop a database to keep track of suppliers, parts and jobs. A supplier has a unique code, a name, location and fax number. Each part has a unique code, a name, and Description. Each job has a unique code, name and location. Suppliers supply parts to different jobs. We need to know the quantity of parts supplied by each supplier to the different jobs. More than one supplier may supply the same part to the same job.
43
Entity Relationship Diagram Assignment Question 8 Develop an ERD. A laboratory has several chemists who work on one or more projects. Chemists also may use certain kinds of equipment on each project. A chemist has a unique employee ID, name and phone number. Each project has a unique project id, a unique name, and a start date. Equipment items have a unique serial number, a description and a cost. The organization wishes to record the date on which a piece of equipment was assigned to a chemist working on a specified project. Each chemist must be assigned to at least one project and one equipment item. An equipment item need not be assigned, and a project need not be assigned either a chemist or an equipment item. A chemist cannot work on a project without equipment.
44
Entity Relationship Diagram Assignment Question 9 The video rental company has several branches throughout Pakistan. For each branch we need to know the address, telephone number and branch number. The branch number is unique throughout the company. Each branch is allocated staff, which includes a Manager. The manager is responsible for the day to day operation of the branch. The data held on a staff member are name, position and salary. Each staff member has a staff number with is unique throughout the company. Each branch has a stock of videos. The data held on a video is the catalogue number, video number, title, category, daily rental, cost, status, and the names of the main actors and the director. The catalogue number uniquely identifies each video. However, in most cases, there are several copies of each video at a branch, and the individual copies are identified using the video number. (continued to next slide)
45
Entity Relationship Diagram Assignment Question 9 (continued) Develop an ERD. A video is given a category such as Action, Adult, Children, Drama, Horror, or Sci-Fi. The status indicates whether a specific copy of a video is available for rent. Before hiring a video from the company, a customer must first register as a member of a local branch. The data held on a member is the first and last name, address, and the date that the member registered at a branch. Each member is given a member number, which is unique throughout all branches of the company. Once registered, a member is free to rent videos, up to a maximum of ten at any one time. The data held on each video rented is the rental number, the full name and number of the member, the video number, title and daily rental, and the dates the video is rented and returned. The rental number is unique throughout the company.
46
Entity Relationship Diagram Assignment Question 10 Develop an ERD. A real estate firm lists property for sale. The following describes this firm: The firm has a number of sales offices in several states. Attributes of sales office include Office_Number (identifier/key) and Location. Each sales office is assigned one or more employees. Attributes of employee include Employee_ID (identifier/key) and Employee_Name. An employee must be assigned to only one sales office. For each sales office, there is always one employee assigned to manage that office. An employee may manage only the sales office to which he/she is assigned. The firm lists property for sale. Attributes of property include Property_ID (iden tifier) and Location. Components of Location include Address, City, State, and Zip_Code. Each unit of property must be listed with one (and only one) of the sales offices. A sales office may have any number of properties listed, or may have no proper ties listed. Each unit of property has one or more owners. Attributes of owners are Owner_ID (identifier) and Owner_Name. An owner may own one or more units of property. An attribute of the association between property and owner is Percent_Owned.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.