HNDIT 1105 Database Management Systems Lesson 02: Database Design Process & ER Diagrams By S. Sabraz Nawaz M.Sc. In IS (SLIIT), PGD in IS (SLIIT), BBA (Hons.) Spl. in IS (SEUSL), MIEEE, MAIS Senior Lecturer in MIT Department of Management and IT, SEUSL
Database Design Process HNDIT 1105, DBMS By: S.Sabraz Nawaz 2
Database Design Process Database design process can be divided into 6 major steps: (given in Raghu s text book) Requirements Analysis Security Design Conceptual Database Design Physical Database Design Logical Database Design Schema Refinement HNDIT 1105, DBMS By: S.Sabraz Nawaz 3
Requirements Analysis This step answers the following question: What users want from the database? - what is going to be stored in the database - what applications are going to be built on top the database - what are the most frequently asked queries Requirements Analysis HNDIT 1105, DBMS By: S.Sabraz Nawaz 4
Requirements Analysis Result: A well-written concise document enumerating the user s requirements Requirements Analysis HNDIT 1105, DBMS By: S.Sabraz Nawaz 5
Requirements Analysis For example: a library database Data to be stored can be Record of all books in the library Record of members of the library o o o Students Faculty Other members Record members borrowing information Requirements Analysis HNDIT 1105, DBMS By: S.Sabraz Nawaz 6
Requirements Analysis Some applications on top of the database can be Renewal service (may be online) Borrowing-Lending service Resource reservation system (may be on-line) Resource request service (may be on-line) Requirements Analysis HNDIT 1105, DBMS By: S.Sabraz Nawaz 7
Conceptual Database Design The information gathered in the requirements analysis phase is used to create a high-level description of the data in a conceptual data model. (Semantic Data Model, e.g. E-R Diagram ) Requirements Analysis Conceptual Database Design HNDIT 1105, DBMS By: S.Sabraz Nawaz 8
Logical Database Design In this step, we determine the DBMS to implement the database & also the data model We utilize the conceptual schema created in the previous step and convert it into a schema of a particular data model (e.g. Relational Database Schema) Requirements Analysis Logical Database Design Conceptual Database Design HNDIT 1105, DBMS By: S.Sabraz Nawaz 9
Schema Refinement The schema created by the logical database design phase is further refined for potential problems such as redundancies (e.g. Normalization) Schema Refinement Requirements Analysis Conceptual Database Design Logical Database Design HNDIT 1105, DBMS By: S.Sabraz Nawaz 10
Physical Database Design In this step, performance criteria are taken into consideration and further enhancements to the schema & creation of indexes are considered Physical Database Design Requirements Analysis Conceptual Database Design Schema Refinement Logical Database Design HNDIT 1105, DBMS By: S.Sabraz Nawaz 11
Security Design In this step, different user groups and their roles are identified. Appropriate levels of access are then provided to the data ensuring that users have access to only the necessary data. Security Design Requireme nts Analysis Conceptual Database Design Physical Database Design Logical Database Design Schema Refinement HNDIT 1105, DBMS By: S.Sabraz Nawaz 12
The story is Requirements Analysis Security Design Conceptual Database Design ER Diagram Physical Database Design Logical Database Design Conceptual Schema or Logical Schema Schema Refinement HNDIT 1105, DBMS By: S.Sabraz Nawaz 13
Entity Relationship Diagrams HNDIT 1105, DBMS By: S.Sabraz Nawaz 14
ER - Model The entity-relationship (ER) data model allows us to describe the data involved in a real-world enterprise in terms of objects and their relationships and is widely used to develop an initial database design HNDIT 1105, DBMS By: S.Sabraz Nawaz 15
E-R Model (Entities) The two main constructs of the Entity- Relationship model are Entities & Relationships An entity is an object in the real world that is distinguishable from other objects o e.g. Lecturer, Student, Subject, etc. A collection of similar entities is called an entity set o e.g. Lecturers, Students, Subjects, etc. ENTITY HNDIT 1105, DBMS By: S.Sabraz Nawaz 16
Entity Types and Entity Sets A database usually contains groups of entities that are similar. For example, a company employing hundreds of employees may want to store similar information concerning each of the employees. These employee entities share the same attributes, but each entity has its own value(s) for each attribute. An entity type defines a collection (or set) of entities that have the same attributes. Each entity type in the database is described by its name and attributes. The collection of all entities of a particular entity type in the database at any point in time is called an entity set or entity collection. HNDIT 1105, DBMS By: S.Sabraz Nawaz 17
Two entity types: EMPLOYEE and COMPANY HNDIT 1105, DBMS By: S.Sabraz Nawaz 18
E-R Model (Entities...) Example, an employee in a company database. e1 e2 e3 e4 e5 e6 EMPLOYEES Employee Entity set HNDIT 1105, DBMS By: S.Sabraz Nawaz 19
E-R Model (Attribute) An entity is described using a set of attributes o e.g. Name, NIC, etc. All entities in an entity set have the same attribute Attribute HNDIT 1105, DBMS By: S.Sabraz Nawaz 20
Several types of attributes occur in the ER model Simple versus Composite Single-valued versus Multivalued Stored versus Derived HNDIT 1105, DBMS By: S.Sabraz Nawaz 21
E-R Model (Attributes ) salary dob Example: name, id, age & salary are attributes in EMPLOYEES entity e1 e2 e3 e4 e5 e6 name id Employee Entity set EMPLOYEES salary name dob HNDIT 1105, DBMS By: S.Sabraz Nawaz 22 id
E-R Model (Attributes ) The attributes are said to be composite if they can be split. Eg:- the entity Employee contains attribute 'name' which is a composite one name EMPLOYEES LastName FirstName HNDIT 1105, DBMS By: S.Sabraz Nawaz 23
E-R Model (Attributes ) A multi-valued attribute of an entity is one which has multiple values. o Eg:- attribute phone numbers in employee entity. EMPLOYEES surname first_name phone HNDIT 1105, DBMS By: S.Sabraz Nawaz 24
E-R Model (Attributes ) Some attributes that can be computed from other attributes are called derived attributes. o Eg:- age is derived from date of birth & current date EMPLOYEES dob name age HNDIT 1105, DBMS By: S.Sabraz Nawaz 25
E-R Model (Attributes another sample) Customers HNDIT 1105, DBMS By: S.Sabraz Nawaz 26
E-R Model (Keys) A Key is a minimal set of attributes whose values uniquely identify an entity in the set salary dob e1 e2 e3 e4 e5 e6 name id Employee Entity set HNDIT 1105, DBMS By: S.Sabraz Nawaz 28
E-R Model (Keys...) A candidate key is a combination of attributes that can be uniquely used to identify a database record If a table has one or more candidate keys, one of these candidate keys is selected as the table primary key and the rest are called alternate keys Primary key is underlined EMPLOYEES id HNDIT 1105, DBMS By: S.Sabraz Nawaz 29
E-R Model (Keys...) Some entity types have more than one key attribute. For example, each of the Vehicle_id and Registration attributes of the entity type CAR HNDIT 1105, DBMS By: S.Sabraz Nawaz 30
E-R Model (Keys...) A key formed by combining at least two or more columns is called composite key Always, the minimal set of attributes are considered for the key. Therefore, A key is a minimal set of attributes whose values uniquely identify an entity in the set. HNDIT 1105, DBMS By: S.Sabraz Nawaz 31
E-R Model (Relationship) A relationship is an association among two or more entities o SaNa works for Department of MIT o Thilan works for Department of MIT A collection of similar relationships is called a relationship set HNDIT 1105, DBMS By: S.Sabraz Nawaz 32
E-R Model (Relationship ) Graphically, EMPLOYEES works in DEPARTMENTS HNDIT 1105, DBMS By: S.Sabraz Nawaz 33
E-R Model (Relationship ) A relationship can also have descriptive attributes These are used to record information about the relationship o E.g. SaNa works for MIS Department from November 2006. In the figure, this is captured by the since in Works_In nic dob HNDIT 1105, DBMS By: S.Sabraz Nawaz 34
E-R Model (Relationship ) 1/2/97 111 222 333 444 1/2/99 1/5/01 1/2/87 1/3/95 D1 D2 D3 Employees Departments Work_in HNDIT 1105, DBMS By: S.Sabraz Nawaz 35
E-R Model (Relationship ) An instance of a relationship set is the set of relationships 1/1/91 111 222 333 444 3/3/93 2/2/92 3/1/92 3/1/92 D1 D2 D3 Employees Work_in Departments HNDIT 1105, DBMS By: S.Sabraz Nawaz 36
E-R Model (contd.) Degree of a relationship is the number of participating entities in the relationship. A relationship of degree two is called a binary relationship (e.g. Works In) A relationship with degree three is called ternary. HNDIT 1105, DBMS By: S.Sabraz Nawaz 37
E-R Model (contd.) Ternary relationship 111 222 333 444 D1 D2 D3 Departments Employees L1 Work_in L2 Locations L3 HNDIT 1105, DBMS By: S.Sabraz Nawaz 38
E-R Model (contd.) Ternary relationship EMPLOYEES works in DEPARTMENTS LOCATIONS HNDIT 1105, DBMS By: S.Sabraz Nawaz 39
E-R Model (contd.) The cardinality ratio for a binary relationship specifies the number of relationship instances that an entity can participate in. There are three types of cardinality ratios for binary relationships. o One-to-One o One-to-Many (Many-to-One) o Many-to-Many HNDIT 1105, DBMS By: S.Sabraz Nawaz 40
E-R Model (contd.) One-to-One relationship Example: An employee manages at most one department. A department can have only one manager managing it. EMPLOYEES manages DEPARTMENTS HNDIT 1105, DBMS By: S.Sabraz Nawaz 41
E-R Model (contd.) One-to-Many relationship For example, an employee works in at most one department. Graphically, EMPLOYEES works in DEPARTMENTS HNDIT 1105, DBMS By: S.Sabraz Nawaz 42
E-R Model (contd.) Many-to-Many relationship Example: An employee can work on several projects. A project can have many employees working on it. EMPLOYEES works on PROJECTS HNDIT 1105, DBMS By: S.Sabraz Nawaz 43
E-R Model (contd.) Participating constraint specifies whether the existence of an entity depends on its being related to another entity via the relationship type For example, if we specify that an employee must always work for a department. Then we say that the relationship works in is in total participation from Employee entity to Department entity EMPLOYEES works in DEPARTMENTS If the relationship is not in total participation, then it is known as in partial. o For example, from DEPARTMENTS to EMPLOYEES HNDIT 1105, DBMS By: S.Sabraz Nawaz 44
E-R Model (contd.) Entity types without any key attributes is called weak entity types. A weak entity is uniquely identified by considering some of its attributes with the primary key of another entity called the identifying owner. The attributes in the weak entity participating in the key are called partial keys The owner entity and the weak entity participates in an identifying relationship. The cardinality of the identifying relationship is either one-to-one or one-to-many from owner entity to weak entity The weak entity must have total participation in the identifying relationship HNDIT 1105, DBMS By: S.Sabraz Nawaz 45
E-R Model (contd.) Graphically (Weak Entity) EMPLOYEE 1 M Policy DEPENDENTS id name age HNDIT 1105, DBMS By: S.Sabraz Nawaz 46
E-R Model (contd.) Entities participating in a relationship need not be distinct. Such relationships are called recursive relationships. Each entity in the relationship play a role in the relationship. It is recommended to state the role in recursive relationships. manages supervisor subordinate EMPLOYEES HNDIT 1105, DBMS By: S.Sabraz Nawaz 47
Reference: Ramakrishnan, R., & Gehrke, J. (2003). Database management systems. Osborne/McGraw-Hill. (p. 03 23, p. 24-50) HNDIT 1105, DBMS By: S.Sabraz Nawaz 48