Presentation is loading. Please wait.

Presentation is loading. Please wait.

DatabaseIM ISU1 Fundamentals of Database Systems Chapter 5 The Relational Data Model.

Similar presentations


Presentation on theme: "DatabaseIM ISU1 Fundamentals of Database Systems Chapter 5 The Relational Data Model."— Presentation transcript:

1 DatabaseIM ISU1 Fundamentals of Database Systems Chapter 5 The Relational Data Model

2 DatabaseIM ISU2 Chapter Outline  Relational Model Concepts  Relational Model Constraints and Relational Database Schemas  Update Operations and Dealing with Constraint Violations

3 DatabaseIM ISU3 Relational Model Concepts  Basis of the model  The relational Model of Data is based on the concept of a Relation »The strength of the relational approach to data management comes from the formal foundation provided by the theory of relations  We review the essentials of the formal relational model in this chapter  In practice, there is a standard model based on SQL – this is described in Chapters 8 and 9

4 DatabaseIM ISU4 Relational Model Concepts (cont.)  A Relation is a mathematical concept based on the ideas of sets  The model was first proposed by Dr. E.F. Codd of IBM in 1970 »"A Relational Model for Large Shared Data Banks," Communications of the ACM, June 1970  The above paper caused a major revolution in the field of database management and earned Dr. Codd the coveted ACM Turing Award

5 DatabaseIM ISU5 Relational Model Concepts (cont.)  Informal Definitions  RELATION: A table of values »A relation may be thought of as a set of rows »A relation may alternately be though of as a set of columns »Each row of the relation may be given an identifier »Each column typically is called by its column name or column header or attribute name

6 DatabaseIM ISU6 Relational Model Concepts (cont.)  Formal Definitions  The Schema of a Relation R (A 1, A 2,.....A n ) »Relation schema R is defined over attributes A 1, A 2,.....A n »Each attribute A i is the name of a role played by some domain D in the relation schema R »e.g., A relation schema STUDENT(Name, SSN, HomePhone, Address, OfficePhone, Age, GPA)

7 DatabaseIM ISU7 Relational Model Concepts (cont.)  A relation r(R) is a subset of the Cartesian product of the domains that define R »r(R)  (dom (A 1 )  dom (A 2 ) ....  dom(A n )) »e.g., Let S 1 = {0,1}, S 2 = {a,b,c} r(R) = {,, }  A relation may be regarded as a set of tuples (rows) »r = {t 1, t 2,..., t m }. »A tuple is an ordered set of values t =

8 DatabaseIM ISU8 Relational Model Concepts (cont.)  R is also called the intension of a relation  r is also called the extension of a relation  The degree of a relation is the number of attributes n of its relation schema

9 DatabaseIM ISU9 Relational Model Concepts (cont.)

10 DatabaseIM ISU10 Relational Model Concepts (cont.)  Definition summary Informal Terms Formal Terms TableRelation ColumnAttribute/Domain RowTuple Values in a columnDomain Table DefinitionSchema of Relation Populated TableExtension

11 DatabaseIM ISU11 Characteristics of Relations  Ordering of tuples in a relation r(R)  The tuples are not considered to be ordered, even though they appear to be in the tabular form

12 DatabaseIM ISU12 Characteristics of Relations (cont.)  Ordering of attributes in a relation schema R  We will consider the attributes in R(A 1, A 2,..., A n ) and the values in t= to be ordered  A more general alternative definition of relation does not require this ordering

13 DatabaseIM ISU13 Characteristics of Relations (cont.)  Values in a tuple  All values are considered atomic (indivisible)  A special null value is used to represent values that are unknown or inapplicable to certain tuples »e.g., OfficePhone for some students  We refer to component values of a tuple t by t[A i ] = v i (the value of attribute A i for tuple t)  Similarly, t[A u, A v,..., A w ] refers to the subtuple of t containing the values of attributes A u, A v,..., A w, respectively

14 DatabaseIM ISU14 Relational Integrity Constraints  Constraints are conditions that must hold on all valid relation instances  Three main types of constraints:  Key constraints  Entity integrity constraints  Referential integrity constraints

15 DatabaseIM ISU15 Relational Integrity Constraints (cont.)  Key Constraints  Superkey of R »A set of attributes SK of R such that no two tuples in any valid relation instance r(R) will have the same value for SK, i.e., for any distinct tuples t 1 and t 2 in r(R), t 1 [SK] <> t 2 [SK]  Key of R »A minimal superkey »A superkey K such that removal of any attribute from K results in a set of attributes that is not a superkey

16 DatabaseIM ISU16 Relational Integrity Constraints (cont.) »If a relation has several candidate keys, one is chosen arbitrarily to be the primary key »The primary key attributes are underlined »e.g, CAR(State, Reg#, SerialNo, Make, Model, Year) two keys, Key1 = {State, Reg#}, Key2 = {SerialNo} {SerialNo, Make} is a superkey but not a key

17 DatabaseIM ISU17 Relational Integrity Constraints (cont.)

18 DatabaseIM ISU18 Relational Integrity Constraints (cont.)  Entity Integrity  Relational database schema »A set S of relation schemas that belong to the same database »S is the name of the database, S = {R 1, R 2,..., R n }  A relational database state DB of S »A set of relation states DB = {r1, r2,..., rm} such that each ri is a state of Ri

19 DatabaseIM ISU19 Relational Integrity Constraints (cont.)

20 DatabaseIM ISU20 Relational Integrity Constraints (cont.)

21 DatabaseIM ISU21 Relational Integrity Constraints (cont.)

22 DatabaseIM ISU22 Relational Integrity Constraints (cont.)  Entity Integrity »The primary key attributes PK of each relation schema R in S cannot have null values in any tuple of r(R), i.e., t[PK] <> null for any tuple t in r(R)

23 DatabaseIM ISU23 Relational Integrity Constraints (cont.)  Referential Integrity  A constraint used to specify a relationship among tuples in two relations: the referencing relation and the referenced relation  Tuples in the referencing relation R 1 have attributes FK (called foreign key attributes) that reference the primary key attributes PK of the referenced relation R 2

24 DatabaseIM ISU24 Relational Integrity Constraints (cont.)  A tuple t 1 in R 1 is said to reference a tuple t 2 in R 2 if t 1 [FK] = t 2 [PK]  A referential integrity constraint can be displayed in a relational database schema as a directed arc from R 1.FK to R 2  A foreign key can refer to its own relation »e.g., the attribute SUPERSSN in EMPLOYEE refers to the supervisor of an employee

25 DatabaseIM ISU25 Relational Integrity Constraints (cont.)

26 DatabaseIM ISU26 Relational Integrity Constraints (cont.)  Other types of constraints  Semantic integrity constraints »e.g., the salary of an employee should not exceed the salary of the employee’s supervisor  Transition constraints »Used to deal with state changes in the database »e.g., the salary of an employee can only increase

27 DatabaseIM ISU27 Update Operations on Relations  Three basic update operations  INSERT a tuple  DELETE a tuple  MODIFY a tuple  Integrity constraints should not be violated by the update operations

28 DatabaseIM ISU28 Update Operations on Relations (cont.)  Insert can violate any of the four types of constraints »Insert into EMPLOYEE –violates the entity integrity constraint (null for the primary key SSN) »Insert into EMPLOYEE –violates the key constraint because ‘999887777’ exists

29 DatabaseIM ISU29 Update Operations on Relations (cont.)  The Delete operation can violate only referential integrity, if the tuple being deleted is referenced by the foreign keys from other tuples in the database »Delete the EMPLOYEE tuple with SSN = ‘999887777’ –is not acceptable, because tuples in WORKS_ON refer to this tuple »Delete the EMPLOYEE tuple with SSN = ‘333445555’ –result in even worse referential integrity violations

30 DatabaseIM ISU30 Update Operations on Relations (cont.)  Updating an attribute that is neither a primary key nor a foreign key usually causes no problems  Modifying a primary key value is similar to deleting one tuple and inserting another in its place  If a foreign key attribute is modified, the DBMS must make sure that the new value refers to an existing tuple in the referenced relation (or is null)

31 DatabaseIM ISU31 Chapter Summary  Presented relational model concepts  Definitions  Characteristics of relations  Discussed relational model constraints and relational database schemas  Domain constraints’  Key constraints  Entity integrity  Referential integrity  Described the relational update operations and dealing with constraint violations

32 DatabaseIM ISU32 In-Class Exercise (Taken from Exercise 5.15) Consider the following relations for a database that keeps track of student enrollment in courses and the books adopted for each course: STUDENT(SSN, Name, Major, Bdate) COURSE(Course#, Cname, Dept) ENROLL(SSN, Course#, Quarter, Grade) BOOK_ADOPTION(Course#, Quarter, Book_ISBN) TEXT(Book_ISBN, Book_Title, Publisher, Author) Draw a relational schema diagram specifying the foreign keys for this schema.


Download ppt "DatabaseIM ISU1 Fundamentals of Database Systems Chapter 5 The Relational Data Model."

Similar presentations


Ads by Google