Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 3 Relational Model Chapter 4 in Textbook.

Similar presentations


Presentation on theme: "Chapter 3 Relational Model Chapter 4 in Textbook."— Presentation transcript:

1 Chapter 3 Relational Model Chapter 4 in Textbook

2 Database Design Steps in building a database for an application: Real-world domain Conceptual model DBMS data model Create Schema (DDL) Load data (DML) Relational Model2

3 In the relational model, all data is logically structured within relations (tables). Relational Model3

4 Relational Data Structure 4170010 4182000 4182034 4188134 4189860 4192134 StudentNo Al-Saleh Al-Ghanem Al-Fahad Saod Rashed Al-Fahad LName Amal Nora Laila Amal Rana Rania FNameInitial M. A. F. I. M. DOB 04-06-78 02-12-79 01-11-74 22-04-73 30-01-78 19-03-79 GPA 3.91 4.20 4.01 3.01 2.31 3.50 STUDENT Attributes Tuples Cardinality Relation Degree Relational Model4

5 Relational Data Structure Relation is a table with columns & rows. Holds information about entities. Attribute is a named column of a relation. Tuple is a row of a relation. Degree of a relation is the number of attributes it contains. Cardinality of a relation is the number of tuples it contains. Relational Model5

6 Relational Data Structure Domain is the set of allowable values for one or more attributes. Every attribute in a relation is defined on a domain. Relational database is a collection of normalized relations with distinct relation names. Relational Model6

7 Domains 4170010 4182000 4182034 StudentNo Al-Saleh Al-Ghanem Al-Fahad LName Amal Nora Laila FNameInitial M. A. DOB 04-06-78 02-12-79 01-11-74 GPA 3.91 4.20 4.01 STUDENT StudentNo LName FName Initial Student Number Last Name First Name Initial DefinitionAttribute DOB GPA Domain Name Date of Birth Great Point Average Digits: size 7 Character: size 15 Character: size 3 Date: range 01-01-20, format dd-mm-yy Real: size 3, decimal 2, range 0-5 Relational Model7

8 Properties of Relations The relation has a name that is distinct from all other relation names in the relational DB. Each cell of the relation contains exactly single value. Each attribute has a distinct name. The values of an attribute are all of the same domain. Each tuple is distinct. There are no duplicate tuples. The order of attributes has no significance. The order of tuples has no significance; theoretically. Relational Model8

9 Relational Keys Candidate key (CK) is an attribute, or set of attributes, that uniquely identifies a tuple, and no proper subset is a CK within the relation. Primary Key (PK) is the CK that is selected to identify tuples uniquely within the relation. Foreign Key (FK) is an attribute, or set of attributes, within one relation that matches the CK of some relation. Used to represent relationship between tuples of two relations. Relational Model9

10 Relational Keys 4170010 4182000 4182034 4188134 4189860 StudentNo Al-Saleh Al-Ghanem Al-Fahad Saod Rashed LName Amal Nora Laila Amal Rana FNameInitial M. A. F. I. DOB 04-06-78 02-12-79 01-11-74 22-04-73 30-01-78 GPA 3.91 4.20 4.01 3.01 2.31 STUDENT D001 D002 D003 DeptNo Computer Science Business Administration Science Department Name Build # 20 Dept D001 D002 D003 D001 Location Build # 45 Build # 6 DEPARTMENT Primary Key Foreign Key Relational Model10

11 DB Relations Relation schema is a named relation defined by a set of attributes. If A 1, A 2,.., A n are a set of attributes, then relation schema R 1 is: R 1 (A 1, A 2,.., A n ) Relational schema is a set of relation schemas, each with a distinct name. If R 1, R 2,.., R n are a set of relation schemas, then relational schema R is: R = {R 1, R 2,.., R n } Relational Model11

12 Relation Schema 4170010 4182000 4182034 4188134 4189860 StudentNo Al-Saleh Al-Ghanem Al-Fahad Saod Rashed LName Amal Nora Laila Amal Rana FNameInitial M. A. F. I. DOB 04-06-78 02-12-79 01-11-74 22-04-73 30-01-78 GPA 3.91 4.20 4.01 3.01 2.31 STUDENT Dept D001 D002 D003 D001 STUDENT (StudentNo, Lname, Fname, Initial, DOB, GPA, Dept) Relational Model12

13 Relation Schema D001 D002 D003 DeptNo Computer Science Business Administration Science Department Name Build # 20 Location Build # 45 Build # 6 DEPARTMENT DEPARTMENT (DeptNo, Department Name, Location) Relational Model13

14 ER Relational Model

15 Relational Model Represent each entity type with a relation. Entity type attributes become the relation attributes. STUDENT (StudentNo, Lname, Fname, Initial, DOB, GPA, Dept) DEPARTMENT (DeptNo, Department Name, Location) Entity Type Relational Model15

16 Relational Model A weak entity type relation must include its key and its strong entity type PK as a FK. The combination of the two keys form the PK of the weak entity. Weak Entity Type EMPLOYEE EmpNo LNameFName DOB DepNo FName DEPENDENT has EMPLOYEE (EmpNo, Lname, Fname, DOB) DEPENDENT (DepNo, EmpNo, FName) Relational Model16

17 Relational Model Identify an entity type (S) (preferably total participator). Include the PK of the other entity (T) as a FK in S. Add attributes that describes the relationship to S. 1:1 Relationship BRANCH manage EMPLOYEE EMPLOYEE(EmpNo, Lname, Fname, DOB) BRANCH(BrnNo, Name, EmpNo, StartDate, EndDate) 1 1 (0,1)(1,1) StartDEndD EmpNo LNameFName DOB Name BrnNo Relational Model17

18 Relational Model Identify a participating entity type (S) on the m-side. Include the PK of the other entity type (T) as a FK in S. Add attributes that describes the relationship to S. 1:M Relationship BRANCH allocate EMPLOYEE EMPLOYEE(EmpNo, Lname, Fname, DOB, BrnNo) BRANCH(BrnNo, Name) M 1 EmpNo LNameFName DOB Name BrnNo Relational Model18

19 Relational Model Create a relation R to represent the relationship. Include the PK of participating entity types (T & S) as FK in R. The combination of the two FK will form the PK of R. Add attributes that describes the relationship to R. M:N Relationship PROJECT work-on EMPLOYEE EMPLOYEE(EmpNo, Lname, Fname, DOB) PROJECT(ProjNo, Name) Work-on(EmpNo,ProjNo, hours) M N hours EmpNo LNameFName DOB Name ProjNo Relational Model19

20 Relational Model Create a relation R to represent the relationship. Include the PK of the participating entities as FK in R. The combination of all FK form the PK of R. Add attributes that describes the relationship to R. n-ary Relationship SUPPLIER contract BUSINESS BUSINESS(BizNo) LAWYER(LawNo) SUPPLIER(SupNo) contract(BizNo, SupNo, LawNo, StartDate, EndDate) Lawyer StartDEndD BizNo LawNo SupNo Relational Model20

21 Relational Model Include its simple components in the relation. Composite Attribute EMPLOYEE emp_no nameDOB LName initial FName EMPLOYEE(EmpNo, Fname, initial, Lname, DOB) Relational Model21

22 Relational Model Suppose A is a relation that contains the multivalued attribute. Create a relation R to represent the attribute. Include the PK of A as FK in R. The PK of R is the combination of the PK of A (FK) & the multivalued attribute. MultiValue Attribute EMPLOYEE EmpNo DOB Tel_no EMPLOYEE(EmpNo, DOB) TELEPHONE(EmpNo, tel_no) Relational Model22

23 EER Relational Model

24 Suppose specialization with subclasses (S 1, S 2,.., S m ) & a superclass C. Create a relation L to represent C with PK & attributes. Include the unshared attributes for each subclass S i, 1  i  m. Add discriminator in L to distinguish the type of each tuple. Mandatory / NonDisjoint Relational Model24

25 SECRETARY TECHNICIAN ENGINEER EMPLOYEE( EmpNo, Fname, Lname, DOB, Salary,TypingSpeed,TGrade, EngType, Secretary Flag, Technician Flag, Engineer Flag ) EMPLOYEE EmpNo Fname LName DOB Salary o Typing Speed EngType TGrade Relational Model25 Mandatory / NonDisjoint

26 Suppose specialization with subclasses (S 1, S 2,.., S m ) & a superclass C. Create a relation L i, 1  i  m, to represent each combination of super/subclass. Relational Model26 Mandatory / Disjoint

27 SECRETARY TECHNICIAN ENGINEER SECRETARY(EmpNo, Fname, Lname, DOB, Salary,TypingSpeed) TECHNICIAN(EmpNo, Fname, Lname, DOB, Salary,Tgrade) ENGINEER(EmpNo, Fname, Lname, DOB, Salary, EngType) EMPLOYEE EmpNo Fname LName DOB Salary d Typing Speed EngType TGrade Relational Model27 Mandatory / Disjoint

28 Suppose specialization with subclasses (S 1, S 2,.., S m ) & a superclass C. Create a relation L 1 to represent C with PK & attributes. Create a relation L 2 to represent all subclasses S i, 1  i  m. Add discriminator in L 2 to distinguish the type of each tuple. Relational Model28 Optional / NonDisjoint

29 SECRETARY TECHNICIAN ENGINEER EMPLOYEE(EmpNo, Fname, Lname, DOB, Salary) SUB-EMP(EmpNo, TypingSpeed,TGrade, EngType, Secretary Flag, Technician Flag, Engineer Flag) EMPLOYEE EmpNo Fname LName DOB Salary o Typing Speed EngType TGrade Relational Model29 Optional / NonDisjoint

30 Suppose specialization with subclasses (S 1, S 2,.., S m ) & a superclass C. Create a relation L to represent C with PK & attributes. Create a relation L i to represent each subclass S i, 1  i  m, and include the PK. Relational Model30 Optional / Disjoint

31 SECRETARY TECHNICIAN ENGINEER EMPLOYEE(EmpNo, Fname, Lname, DOB, Salary) SECRETARY(EmpNo, TypingSpeed) TECHNICIAN(EmpNo, Tgrade) ENGINEER(EmoNo, EngType) EMPLOYEE EmpNo Fname LName DOB Salary d Typing Speed EngType TGrade Relational Model31 Optional / Disjoint

32 Relational Model ER ER Model Relational Model Entity Type 1:1 or 1:M Relationship Type M:N Relationship Type n-ary Relationship Type Simple attribute Composite attribute Multivalued attribute Value set Key attribute Relation FK Relation & 2 FK Relation & n FK Attribute Simple component attribute Relation and FK Domain PK

33 Question – Mapping EER

34 Views User View: Describes that part of database that is relevant to a particular user or application area. (i.e. subset of the database) Relation View: Essentially some subset of the relations, usually called “view”. 34Relational Model

35 Views Base relation is a named relation corresponding to an entity in the conceptual schema, whose tuples are physically stored in the DB. View is a derived relation. Virtual, may not exist, but dynamically derived from one or more base relations. - The only information about a view that is stored in the database is its structure. The external model can consist of both conceptual level relations (base relations) and derived views. Relational Model35

36 Views 4170010 4182000 4182034 4188134 StudentNo Al-Saleh Al-Ghanem Al-Fahad Saod LName Amal Nora Laila Amal FNameInitial M. A. F. DOB 04-06-78 02-12-79 01-11-74 22-04-73 GPA 3.91 4.20 4.01 3.01 STUDENT Dept D001 D002 D003 4170010 4182000 4182034 4188134 StudentNo GPA 3.91 4.20 4.01 3.01 STUDENT_GPA View Base Relation Relational Model36

37 Purpose of Views Provides security mechanism by hiding parts of the DB from certain users. Customize data to user’s needs, so that the same data can be seen by different users in different ways. Simplify complex operations. It allow you to work with data from different tables simultaneously. Supports logical data independence. Relational Model37

38 Relational Integrity Data integrity refers to the validity, consistency, and accuracy of the data in the database. Integrity rules are constraints that apply to all instances of the DB. Two integrity rules for the relational model: - Entity integrity - Referential integrity Relational Model38

39 Relational Integrity Entity Integrity: Ensures that there are no duplicate records within the table. In a base relation, no attribute of a PK can be null. Referential Integrity: If a FK exists in a relation, either the FK value must match a CK value of some tuple in its home relation or the FK value must be wholly null. Enterprise constraints: rules specified by the users or DBA of the DB based on the ways an organization perceives and uses its data. (e.g.number of staff working in a branch is at most 20) Relational Model39

40 Summary of Relational Model Relational database. Relation, attribute, tuple, degree, cardinality. Primary Key, Foreign Key. Relation schema, Relational database schema. Relational Integrity, Entity Integrity, Referential Integrity, Enterprise Constraints. Views. Relational Model40


Download ppt "Chapter 3 Relational Model Chapter 4 in Textbook."

Similar presentations


Ads by Google