Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 2 The Relational Model

Similar presentations


Presentation on theme: "Lecture 2 The Relational Model"— Presentation transcript:

1 Lecture 2 The Relational Model
Updated 19/9/2016 21/3/2014 TMC2034 Database Concept and Design

2 TMC2034 Database Concept and Design
Objectives In this chapter, students will learn about the fundamental of a relational model Domains Relations Attributes Relationships Keys Integrity Rules Relational operations Data Dictionary Indexes 21/3/2014 TMC2034 Database Concept and Design

3 TMC2034 Database Concept and Design
21/3/2014 TMC2034 Database Concept and Design

4 TMC2034 Database Concept and Design
Data Models Model is a collection of tools: diagrams and a set of vocabularies A data model provides description of the database structure: data, relationships, constraints, operations and meanings Examples: entity relationship model, object- oriented model, object-relational model and large- scale data models 21/3/2014 TMC2034 Database Concept and Design

5 TMC2034 Database Concept and Design
A Relational Model By far the most widely used model for database design Built on the algebra Consist of a collection of relations View data logically rather than physically 21/3/2014 TMC2034 Database Concept and Design

6 TMC2034 Database Concept and Design
Domains A set of scalar values from which attribute values are drawn. Scalar values are non-decomposable (atomic) values. Values permitted for each attribute Domains are conceptual, not store in database Domains subset containing actual attributes are stored Domains are analogous to data types in programming languages in C++, Java etc 21/3/2014 TMC2034 Database Concept and Design

7 TMC2034 Database Concept and Design
21/3/2014 TMC2034 Database Concept and Design

8 TMC2034 Database Concept and Design
Relations (1) Logical view of relational database is based on relation Relation thought of as a table (also entity) Table: two-dimensional structure composed of rows and columns Persistent representation of logical relation Contains group of related entities (relation also known as entity set) Examples: Students, Courses … 21/3/2014 TMC2034 Database Concept and Design

9 TMC2034 Database Concept and Design
Relations (2) TMC2034 Database Concept and Design

10 TMC2034 Database Concept and Design

11 TMC2034 Database Concept and Design
Relations (3) Various types of relations Base relations View (virtual relations) Snapshots (read-only) Query results A query always results in a new relations Temporary relations Destroyed at some point in time TMC2034 Database Concept and Design

12 TMC2034 Database Concept and Design
Attributes (1) A very important relation properties An attribute has different permitted values from a domain Examples: Student Id, course name … How to determine if an object (entity) is a relation or an attributes? 21/3/2014 TMC2034 Database Concept and Design

13 TMC2034 Database Concept and Design
Attributes (2) Null Values Absence of any data value that could represent: An unknown attribute value A known, but missing, attribute value A inapplicable condition Causes Can create problems when functions such as COUNT, AVERAGE, and SUM are used Can create logical problems when relational tables are linked 21/3/2014 TMC2034 Database Concept and Design

14 TMC2034 Database Concept and Design
Keys (1) Consist of one or more attributes that determine other attributes Used to: Ensure that each row in a table is uniquely identifiable Establish relationships among tables and to ensure the integrity of the data Primary key (PK): Attribute or combination of attributes that uniquely identifies any given row 21/3/2014 TMC2034 Database Concept and Design

15 TMC2034 Database Concept and Design
Keys (2) Determination State in which knowing the value of one attribute makes it possible to determine the value of another Is the basis for establishing the role of a key Based on the relationships among the attributes 21/3/2014 TMC2034 Database Concept and Design

16 TMC2034 Database Concept and Design
Keys (3) TMC2034 Database Concept and Design

17 TMC2034 Database Concept and Design

18 TMC2034 Database Concept and Design
Quiz 1 A _____ key is any key that uniquely identifies each row A. super B. special C. selective D. candidate 21/3/2014 TMC2034 Database Concept and Design

19 TMC2034 Database Concept and Design
Relationships (1) 1:M relationship Relational modeling ideal Should be the norm in any relational database design 1:1 relationship Should be rare in any relational database design 21/3/2014 TMC2034 Database Concept and Design

20 TMC2034 Database Concept and Design
Relationships (2) M:N relationships Cannot be implemented as such in the relational model M:N relationships can be changed into 1:M relationships 21/3/2014 TMC2034 Database Concept and Design

21 TMC2034 Database Concept and Design
The 1:M Relationship Relational database norm Found in any database environment 21/3/2014 TMC2034 Database Concept and Design

22 TMC2034 Database Concept and Design

23 TMC2034 Database Concept and Design
The 1:1 Relationship One entity related to only one other entity, and vice versa Sometimes means that entity components were not defined properly Could indicate that two entities actually belong in the same table Certain conditions absolutely require their use 21/3/2014 TMC2034 Database Concept and Design

24 TMC2034 Database Concept and Design

25 TMC2034 Database Concept and Design
The M:N Relationship Implemented by breaking it up to produce a set of 1:M relationships Avoid problems inherent to M:N relationship by creating a composite entity Includes as foreign keys the primary keys of tables to be linked 21/3/2014 TMC2034 Database Concept and Design

26 TMC2034 Database Concept and Design

27 TMC2034 Database Concept and Design

28 TMC2034 Database Concept and Design
21/3/2014 TMC2034 Database Concept and Design

29 TMC2034 Database Concept and Design
21/3/2014 TMC2034 Database Concept and Design

30 TMC2034 Database Concept and Design
21/3/2014 TMC2034 Database Concept and Design

31 TMC2034 Database Concept and Design
Integrity Rules Many RDBMs enforce integrity rules automatically Safer to ensure that application design conforms to entity and referential integrity rules Null value breaks integrity Designers use flags to avoid nulls Flags indicate absence of some value 21/3/2014 TMC2034 Database Concept and Design

32 Integrity Rules – Entity Integrity
Description Requirement All primary key entries are unique, and no part of a primary key may be null Purpose Each row will have a unique identity, and foreign key values can properly reference primary key values Example No invoice can have a duplicate number, nor it can be null 21/3/2014 TMC2034 Database Concept and Design

33 Integrity Rules - Referential Integrity
Entity Integrity Description Requirement A foreign key may have either a null entry or a entry that matches a primary key value in a table to which it is related Purpose It is possible for an attribute not to have a corresponding value but it is impossible to have an invalid entry It is impossible to delete row in a table whose primary keys has mandatory matching foreign key values in another table Example It is impossible to have invalid sales representative number 21/3/2014 TMC2034 Database Concept and Design

34 TMC2034 Database Concept and Design

35 TMC2034 Database Concept and Design
Quiz 2 Referential ____ means if the foreign key contains a value, that value refers to an existing valid tuple (row) in another relation. A. integrity B. uniqueness C. direction D. relations 21/3/2014 TMC2034 Database Concept and Design

36 TMC2034 Database Concept and Design
Relational Algebra Defines the theoretical way of manipulating table contents using relational operators Relvar: Variable that holds a relation Heading contains the names of the attributes and the body contains the relation Relational operators have the property of closure Closure: Use of relational algebra operators on existing relations produces new relations 21/3/2014 TMC2034 Database Concept and Design

37 Relational Set Operators (1)
Relational algebra SELECT UNION PROJECT DIFFERENCE JOIN PRODUCT INTERSECT DIVIDE 21/3/2014 TMC2034 Database Concept and Design

38 Relational Set Operators (2)
Unary operator that yields a horizontal subset of a table Select (Restrict) Unary operator that yields a vertical subset of a table Project Combines all rows from two tables, excluding duplicate rows Union-compatible: Tables share the same number of columns, and their corresponding columns share compatible domains Union Yields only the rows that appear in both tables Tables must be union-compatible to yield valid results Intersect 21/3/2014 TMC2034 Database Concept and Design

39 TMC2034 Database Concept and Design
Select TMC2034 Database Concept and Design

40 TMC2034 Database Concept and Design
Project TMC2034 Database Concept and Design

41 TMC2034 Database Concept and Design
Union TMC2034 Database Concept and Design

42 TMC2034 Database Concept and Design
Intersect 21/3/2014 TMC2034 Database Concept and Design

43 Relational Set Operators (3)
Difference Yields all rows in one table that are not found in the other table Tables must be union-compatible to yield valid results Product Yields all possible pairs of rows from two tables 21/3/2014 TMC2034 Database Concept and Design

44 TMC2034 Database Concept and Design
Difference 21/3/2014 TMC2034 Database Concept and Design

45 TMC2034 Database Concept and Design
Product 21/3/2014 TMC2034 Database Concept and Design

46 Relational Set Operators (4)
Join Allows information to be intelligently combined from two or more tables Divide Uses one 2-column table as the dividend and one single- column table as the divisor Output is a single column that contains all values from the second column of the dividend that are associated with every row in the divisor 21/3/2014 TMC2034 Database Concept and Design

47 TMC2034 Database Concept and Design
21/3/2014 TMC2034 Database Concept and Design

48 TMC2034 Database Concept and Design
Types of Joins Natural join Links tables by selecting rows with common values in common attributes (join columns) Equijoin Links tables on the basis of an equality condition that compares specified columns Theta join Any other comparison operator is used 21/3/2014 TMC2034 Database Concept and Design

49 Relational Set Operators (5)
Inner join Only returns matched records from the tables that are being joined Outer join Matched pairs are retained, and any unmatched values in other table are left null Left outer join Right outer join 21/3/2014 TMC2034 Database Concept and Design

50 TMC2034 Database Concept and Design
Quiz 3 To be considered minimally relational, the DBMS must support the key relational operators ____, PROJECT, and JOIN. A. INTERSECT B. UNION C. DIFFERENCE D. SELECT 21/3/2014 TMC2034 Database Concept and Design

51 The Data Dictionary and System Catalog
Provides detailed accounting of all tables found within the user/designer-created database Contains (at least) all the attribute names and characteristics for each table in the system Contains metadata: data about data System catalog Contains metadata Detailed system data dictionary that describes all objects within the database 21/3/2014 TMC2034 Database Concept and Design

52 TMC2034 Database Concept and Design

53 The Data Dictionary and System Catalog (cont’d.)
Homonym Indicates the use of the same name to label different attributes C_Name for Car and Customer name Synonym Opposite of a homonym Indicates the use of different names to describe the same attribute CUSTOMER vs C_Name 21/3/2014 TMC2034 Database Concept and Design

54 TMC2034 Database Concept and Design
Indexes Orderly arrangement to logically access rows in a table Index key Index’s reference point Points to data location identified by the key Unique index Index in which the index key can have only one pointer value (row) associated with it Each index is associated with only one table 21/3/2014 TMC2034 Database Concept and Design

55 TMC2034 Database Concept and Design

56 TMC2034 Database Concept and Design
Questions? 21/3/2014 TMC2034 Database Concept and Design


Download ppt "Lecture 2 The Relational Model"

Similar presentations


Ads by Google