Presentation is loading. Please wait.

Presentation is loading. Please wait.

Relational Model & Relational Algebra. 2 Relational Model u Terminology of relational model. u How tables are used to represent data. u Connection between.

Similar presentations


Presentation on theme: "Relational Model & Relational Algebra. 2 Relational Model u Terminology of relational model. u How tables are used to represent data. u Connection between."— Presentation transcript:

1 Relational Model & Relational Algebra

2 2 Relational Model u Terminology of relational model. u How tables are used to represent data. u Connection between mathematical relations and relations in the relational model. u Properties of database relations. u How to identify candidate, primary, and foreign keys. u Meaning of entity integrity and referential integrity.

3 3 Relational Model Terminology u A relation is a table with columns and rows. –Only applies to logical structure of the database, not the physical structure. u Attribute is a named column of a relation. u Domain is the set of allowable values for one or more attributes.

4 4 Relational Model Terminology u Tuple is a row of a relation. u Degree is the number of attributes in a relation. u Cardinality is the number of tuples in a relation. u Relational Database is a collection of normalized relations with distinct relation names.

5 5 Instances of Branch and Staff (part) Relations

6 6 Examples of Attribute Domains

7 7 Alternative Terminology for Relational Model

8 8 Database Relations u Relation schema –Named relation defined by a set of attribute and domain name pairs. u Relational database schema –Set of relation schemas, each with a distinct name.

9 9 Properties of Relations u Relation name is distinct from all other relation names in relational schema. u Each cell of relation contains exactly one atomic (single) value. u Each attribute has a distinct name. u Values of an attribute are all from the same domain.

10 10 Properties of Relations u Each tuple is distinct; there are no duplicate tuples. u Order of attributes has no significance. u Order of tuples has no significance, theoretically.

11 11 Relational Keys u Superkey –An attribute, or a set of attributes, that uniquely identifies a tuple within a relation. u Candidate Key –Superkey (K) such that no proper subset is a superkey within the relation. –In each tuple of R, values of K uniquely identify that tuple (uniqueness). –No proper subset of K has the uniqueness property (irreducibility).

12 12 Relational Keys u Primary Key –Candidate key selected to identify tuples uniquely within relation. u Alternate Keys –Candidate keys that are not selected to be primary key. u Foreign Key –Attribute, or set of attributes, within one relation that matches candidate key of some (possibly same) relation.

13 13 Relational Integrity u Null –Represents value for an attribute that is currently unknown or not applicable for tuple. –Deals with incomplete or exceptional data. –Represents the absence of a value and is not the same as zero or spaces, which are values.

14 14 Relational Integrity u Entity Integrity –In a base relation, no attribute of a primary key can be null. u Referential Integrity –If foreign key exists in a relation, either foreign key value must match a candidate key value of some tuple in its home relation or foreign key value must be wholly null. u Enterprise Constraints –Additional rules specified by users or database administrators.

15 15 Relational Algebra u Meaning of the term relational completeness. u How to form queries in relational algebra.

16 16 Introduction u Relational algebra is a formal language associated with the relational model. u Informally, relational algebra is a (high-level) procedural language

17 17 Relational Algebra u Five basic operations in relational algebra: Selection, Projection, Cartesian product, Union, and Set Difference. u These perform most of the data retrieval operations needed. u Also have Join, Intersection which can be expressed in terms of 5 basic operations.

18 18 Relational Algebra Operations

19 19 Relational Algebra Operations

20 20 Selection (or Restriction) u  predicate (R) –Works on a single relation R and defines a relation that contains only those tuples (rows) of R that satisfy the specified condition (predicate).

21 21 Example - Selection (or Restriction) u List all staff with a salary greater than £10,000.  salary > 10000 (Staff)

22 22 Projection u  col1,..., coln (R) –Works on a single relation R and defines a relation that contains a vertical subset of R, extracting the values of specified attributes and eliminating duplicates.

23 23 Example - Projection u Produce a list of salaries for all staff, showing only staffNo, fName, lName, and salary details.  staffNo, fName, lName, salary (Staff)

24 24 Union u R  S –Union of two relations R and S defines a relation that contains all the tuples of R, or S, or both R and S, duplicate tuples being eliminated. –R and S must be union-compatible. u If R and S have I and J tuples, respectively, union is obtained by concatenating them into one relation with a maximum of (I + J) tuples.

25 25 Example - Union u List all cities where there is either a branch office or a property for rent.  city (Branch)   city (PropertyForRent)

26 26 Set Difference u R – S –Defines a relation consisting of the tuples that are in relation R, but not in S. –R and S must be union-compatible.

27 27 Example - Set Difference u List all cities where there is a branch office but no properties for rent.  city (Branch) –  city (PropertyForRent)

28 28 Intersection u R  S –Defines a relation consisting of the set of all tuples that are in both R and S. –R and S must be union-compatible.  Expressed using basic operations: R  S = R – (R – S)

29 29 Example - Intersection u List all cities where there is both a branch office and at least one property for rent.  city (Branch)   city (PropertyForRent)

30 30 Cartesian product u R X S –Defines a relation that is the concatenation of every tuple of relation R with every tuple of relation S.

31 31 Example - Cartesian product u List the names and comments of all clients who have viewed a property for rent. (  clientNo, fName, lName (Client)) X (  clientNo, propertyNo, comment (Viewing))

32 32 Example - Cartesian product and Selection u Use selection operation to extract those tuples where Client.clientNo = Viewing.clientNo.  Client.clientNo = Viewing.clientNo ((  clientNo, fName, lName (Client))  (  clientNo, propertyNo, comment (Viewing))) u Cartesian product and Selection can be reduced to a single operation called a Join.

33 33 Join Operations u Join is a derivative of Cartesian product. u Equivalent to performing a Selection, using join predicate as selection formula, over Cartesian product of the two operand relations. u One of the most difficult operations to implement efficiently in an RDBMS and one reason why RDBMSs have intrinsic performance problems.

34 34 Join Operations u Various forms of join operation –Theta join –Equijoin (a particular type of Theta join) –Natural join –Outer join –Semijoin

35 35 Example - Equijoin u List the names and comments of all clients who have viewed a property for rent. (  clientNo, fName, lName (Client)) Client.clientNo = Viewing.clientNo (  clientNo, propertyNo, comment (Viewing))

36 36 Natural join u R S –An Equijoin of the two relations R and S over all common attributes x. One occurrence of each common attribute is eliminated from the result.

37 37 Example - Natural join u List the names and comments of all clients who have viewed a property for rent. (  clientNo, fName, lName (Client)) (  clientNo, propertyNo, comment (Viewing))


Download ppt "Relational Model & Relational Algebra. 2 Relational Model u Terminology of relational model. u How tables are used to represent data. u Connection between."

Similar presentations


Ads by Google