9/7/2012ISC329 Isabelle Bichindaritz1 The Relational Database Model.

Slides:



Advertisements
Similar presentations
Relational Model (CB Chapter 4) CPSC 356 Database Ellen Walker Hiram College.
Advertisements

The Relational Database Model
The Relational Model System Development Life Cycle Normalisation
Chapter 3 The Relational Model Transparencies © Pearson Education Limited 1995, 2005.
Chapter 2 The Relational Database Model
Lesson II The Relational Model © Pearson Education Limited 1995, 2005.
Chapter 3. 2 Chapter 3 - Objectives Terminology of relational model. Terminology of relational model. How tables are used to represent data. How tables.
The Relational Database Model
1 Minggu 2, Pertemuan 3 The Relational Model Matakuliah: T0206-Sistem Basisdata Tahun: 2005 Versi: 1.0/0.0.
The Relational Database Model. 2 Objectives How relational database model takes a logical view of data Understand how the relational model’s basic components.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 3 The Relational Database Model.
1 Pertemuan 04 MODEL RELASIONAL Matakuliah: >/ > Tahun: > Versi: >
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 3 The Relational Database Model.
3 1 Chapter 3 The Relational Database Model Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Thomas Connolly and Carolyn Begg’s
Relational Database Management System A type of database in which records are stored in relational form is called relational database management system.
Database Architecture The Relational Database Model.
The Relational Database Model
3 The Relational Model MIS 304 Winter Class Objectives That the relational database model takes a logical view of data That the relational model’s.
The Relational Database Model
Databases Illuminated
CSC271 Database Systems Lecture # 6. Summary: Previous Lecture  Relational model terminology  Mathematical relations  Database relations  Properties.
Relational Model & Relational Algebra. 2 Relational Model u Terminology of relational model. u How tables are used to represent data. u Connection between.
Lecture 2 The Relational Model. Objectives Terminology of relational model. How tables are used to represent data. Connection between mathematical relations.
Chapter 4 The Relational Model Pearson Education © 2014.
© Pearson Education Limited, Chapter 2 The Relational Model Transparencies.
Relational Model Session 6 Course Name: Database System Year : 2012.
Chapter 4 The Relational Model.
Chapter 3 The Relational Model Transparencies Last Updated: Pebruari 2011 By M. Arief
DBSQL 3-1 Copyright © Genetic Computer School 2009 Chapter 3 Relational Database Model.
Module 3: The Relational Model.  Overview Terminology Relational Data Structure Mathematical Relations Database Relations Relational Keys Relational.
Chapter 3 The Relational Model. 2 Chapter 3 - Objectives u Terminology of relational model. u How tables are used to represent data. u Connection between.
10/17/2012ISC471/HCI571 Isabelle Bichindaritz 1 Technologies Databases.
The Relational Database Model
1 The Relational Database Model. 2 Learning Objectives Terminology of relational model. How tables are used to represent data. Connection between mathematical.
The Relational Model Pertemuan 03 Matakuliah: M0564 /Pengantar Sistem Basis Data Tahun : 2008.
Relational Database. Database Management System (DBMS)
Slide Chapter 5 The Relational Data Model and Relational Database Constraints.
3 1 Chapter 3 The Relational Database Model Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
Module Coordinator Tan Szu Tak School of Information and Communication Technology, Politeknik Brunei Semester
3 1 Chapter 3 The Relational Database Model Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Database Systems: Design, Implementation, and Management Tenth Edition Chapter 3 The Relational Database Model.
Database Systems: Design, Implementation, and Management Ninth Edition Chapter 3 The Relational Database Model.
12/2/2015CPSC , CPSC , Lecture 41 Relational Model.
The Relational Model. 2 Relational Model Terminology u A relation is a table with columns and rows. –Only applies to logical structure of the database,
3 1 Database Systems The Relational Database Model.
3 1 Chapter 3 The Relational Database Model Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 3 The Relational Database Model.
CHAPTER 2 : RELATIONAL DATA MODEL Prepared by : nbs.
The Relational Model © Pearson Education Limited 1995, 2005 Bayu Adhi Tama, M.T.I.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 3 The Relational Database Model.
CSCI 6315 Applied Database Systems Review for Midterm Exam I Xiang Lian The University of Texas Rio Grande Valley Edinburg, TX 78539
Chapter 3 The Relational Model. Objectives u Terminology of relational model. u How tables are used to represent data. u Connection between mathematical.
Week 2 Lecture The Relational Database Model Samuel ConnSamuel Conn, Faculty Suggestions for using the Lecture Slides.
Chapter 4 The Relational Model Pearson Education © 2009.
LECTURE TWO Introduction to Databases: Data models Relational database concepts Introduction to DDL & DML.
Lecture 2 The Relational Model
The Relational Database Model
Chapter 3 The Relational Database Model
Data Base System Lecture 6: Relational Model
Chapter 4 The Relational Model Pearson Education © 2009.
Chapter 4 The Relational Model Pearson Education © 2009.
DATABASE SYSTEM.
Chapter 4 The Relational Model Pearson Education © 2009.
The Relational Model Transparencies
Chapter 4 The Relational Model Pearson Education © 2009.
Chapter 4 The Relational Model Pearson Education © 2009.
Chapter 4 The Relational Model Pearson Education © 2009.
Database Systems: Design, Implementation, and Management
Views Base Relation View
Presentation transcript:

9/7/2012ISC329 Isabelle Bichindaritz1 The Relational Database Model

9/7/2012ISC329 Isabelle Bichindaritz2 Learning Objectives Terminology of relational model. How tables are used to represent data. Connection between mathematical relations and relations in the relational model. Properties of database relations. How to identify candidate, primary, and foreign keys. Meaning of entity integrity and referential integrity. Purpose and advantages of views.

9/7/2012ISC329 Isabelle Bichindaritz3 Acknowledgments Some of these slides have been adapted from Thomas Connolly and Carolyn Begg

9/7/2012ISC329 Isabelle Bichindaritz4 History of the Relational Model Relational Database Model history –Proposed by Codd in 1970 –Pioneer projects such as at IBM and UC-Berkeley in mid-1970s –Today, still the dominant database model: IBM DB2, ORACLE, INFORMIX, SYBASE MICROSOFT Access, SQL Server FOXBASE, PARADOX … The relational model provides a logical representation of the data

9/7/2012ISC329 Isabelle Bichindaritz5 Relational Model Terminology A relation is a table with columns and rows. –Only applies to logical structure of the database, not the physical structure. –A relation corresponds to an entity set, or collection of entities. An entity is a person, place, event, or thing about which data is collected Attribute is a named column of a relation. It corresponds to a characteristic of an entity. They are also called fields. Domain is the set of allowable values for one or more attributes.

9/7/2012ISC329 Isabelle Bichindaritz6 Relational Model Terminology Tuple is a row of a relation. Degree is the number of attributes in a relation. Cardinality is the number of tuples in a relation. Relational Database is a collection of normalized relations with distinct relation names. NB a relation is not a relationship, but an entity set.

9/7/2012ISC329 Isabelle Bichindaritz7 Instances of Branch and Staff (part) Relations

9/7/2012ISC329 Isabelle Bichindaritz8 Examples of Attribute Domains

9/7/2012ISC329 Isabelle Bichindaritz9 Alternative Terminology for Relational Model

9/7/2012ISC329 Isabelle Bichindaritz10 Mathematical Definition of Relation Consider two sets, D 1 & D 2, where D 1 = {2, 4} and D 2 = {1, 3, 5}. Cartesian product, D 1  D 2, is set of all ordered pairs, where first element is member of D 1 and second element is member of D 2. D 1  D 2 = {(2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4, 5)} Alternative way is to find all combinations of elements with first from D 1 and second from D 2.

9/7/2012ISC329 Isabelle Bichindaritz11 Mathematical Definition of Relation Any subset of Cartesian product is a relation; e.g. R = {(2, 1), (4, 1)} May specify which pairs are in relation using some condition for selection; e.g. –second element is 1: R = {(x, y) | x  D 1, y  D 2, and y = 1} –first element is always twice the second: S = {(x, y) | x  D 1, y  D 2, and x = 2y}

9/7/2012ISC329 Isabelle Bichindaritz12 Mathematical Definition of Relation Consider three sets D 1, D 2, D 3 with Cartesian Product D 1  D 2  D 3 ; e.g. D 1 = {1, 3}D 2 = {2, 4}D 3 = {5, 6} D 1  D 2  D 3 = {(1,2,5), (1,2,6), (1,4,5), (1,4,6), (3,2,5), (3,2,6), (3,4,5), (3,4,6)} Any subset of these ordered triples is a relation.

9/7/2012ISC329 Isabelle Bichindaritz13 Mathematical Definition of Relation The Cartesian product of n sets (D 1, D 2,..., D n ) is: D 1  D 2 ...  D n = {(d 1, d 2,..., d n ) | d 1  D 1, d 2  D 2,..., d n  D n } usually written as: n XDiXDi i = 1i = 1 Any set of n-tuples from this Cartesian product is a relation on the n sets.

9/7/2012ISC329 Isabelle Bichindaritz14 Database Relations Relation schema –Named relation defined by a set of attribute and domain name pairs. Relational database schema –Set of relation schemas, each with a distinct name.

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

9/7/2012ISC329 Isabelle Bichindaritz16 Properties of Relations Each tuple is distinct; there are no duplicate tuples. Order of attributes has no significance. Order of tuples has no significance, theoretically.

9/7/2012ISC329 Isabelle Bichindaritz17 Table Characteristics Each RDBMS has its rules for table and column names. Example: Access Table names <= 64 (8 is classical) Column names <= 64 (10 is classical) Column names cannot start with digit, or contain special characters except underscore and a few others Each RDBMS has its rules for associating a data type to an attribute, but there are classical ones: text, character, number, date, boolean

9/7/2012ISC329 Isabelle Bichindaritz18 Table Characteristics

9/7/2012ISC329 Isabelle Bichindaritz19 Relational Keys Key –One or more attributes that determine other attributes Key attribute Composite key There needs to be full functional dependence from key to any other attribute

9/7/2012ISC329 Isabelle Bichindaritz20 Relational Keys Keys may be –Single –Composite (composed of several key attributes) Example: staff_fName, staff_lName, staff_init, staff_phone  staff_DOB, staff_position Functional dependence: attribute A2 is functionally dependent on a composite key A1, but not on any subset of it

9/7/2012ISC329 Isabelle Bichindaritz21 Relational Keys Functional dependence: an attribute A is functionally dependent on an attribute K is each value in column K determines one and only one value in column A. K  A (K determines A). Attribute K determines attribute A if all rows in the table that agree in value for attribute K must also agree in value for attribute A. Attribute A is functionally dependent on K if K determines A.

9/7/2012ISC329 Isabelle Bichindaritz22 Relational Keys Superkey –An attribute, or a set of attributes, that uniquely identifies a tuple within a relation. 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).

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

9/7/2012ISC329 Isabelle Bichindaritz24 Relational Integrity 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.

9/7/2012ISC329 Isabelle Bichindaritz25 Relational Integrity Entity Integrity –In a base relation, no attribute of a primary key can be null. –Ensures that all entities are unique. 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.

9/7/2012ISC329 Isabelle Bichindaritz26 Relational Integrity Enterprise Constraints –Additional rules specified by users or database administrators.

9/7/2012ISC329 Isabelle Bichindaritz27 Relational Database Operators Relational algebra determines table manipulations Key operators (minimally relational RDBMS) –SELECT –PROJECT –JOIN Other operators –INTERSECT –UNION (union compatible tables) –DIFFERENCE –PRODUCT –DIVIDE

9/7/2012ISC329 Isabelle Bichindaritz28 Union Combines all rows

9/7/2012ISC329 Isabelle Bichindaritz29 Yields rows that appear in both tables Intersect Figure 2.6

9/7/2012ISC329 Isabelle Bichindaritz30 Yields rows not found in other tables Difference Figure 2.7

9/7/2012ISC329 Isabelle Bichindaritz31 Yields all possible pairs from two tables Product Figure 2.8

9/7/2012ISC329 Isabelle Bichindaritz32 Yields a subset of rows based on specified criterion Select

9/7/2012ISC329 Isabelle Bichindaritz33 Yields all values for selected attributes Project Figure 2.10

9/7/2012ISC329 Isabelle Bichindaritz34 Information from two or more tables is combined Join Figure 2.11

9/7/2012ISC329 Isabelle Bichindaritz35 Links tables by selecting rows with common values in common attribute(s) Three-stage process –Product creates one table –Select yields appropriate rows –Project yields single copy of each attribute to eliminate duplicate columns Eliminates duplicates Does not include rows that are unmatched Natural Join Process

9/7/2012ISC329 Isabelle Bichindaritz36 Other Joins EquiJOIN –Links tables based on equality condition that compares specified columns of tables –Does not eliminate duplicate columns –Join criteria must be explicitly defined Theta JOIN –EquiJOIN that compares specified columns of each table using operator other than equality one Outer JOIN –Matched pairs are retained –Unmatched values in other tables left null –Right and left

9/7/2012ISC329 Isabelle Bichindaritz37 Other Joins

9/7/2012ISC329 Isabelle Bichindaritz38 Requires user of single-column table and two-column table A value in the unshared column must be associated with each value in the single-column table Divide Figure 2.17

9/7/2012ISC329 Isabelle Bichindaritz39 Views Base Relation –Named relation corresponding to an entity in conceptual schema, whose tuples are physically stored in database. View –Dynamic result of one or more relational operations operating on base relations to produce another relation.

9/7/2012ISC329 Isabelle Bichindaritz40 Views A virtual relation that does not necessarily actually exist in the database but is produced upon request, at time of request. Contents of a view are defined as a query on one or more base relations. Views are dynamic, meaning that changes made to base relations that affect view attributes are immediately reflected in the view.

9/7/2012ISC329 Isabelle Bichindaritz41 Purpose of Views Provides powerful and flexible security mechanism by hiding parts of database from certain users. Permits users to access data in a customized way, so that same data can be seen by different users in different ways, at same time. Can simplify complex operations on base relations.

9/7/2012ISC329 Isabelle Bichindaritz42 Updating Views All updates to a base relation should be immediately reflected in all views that reference that base relation. If view is updated, underlying base relation should reflect change.

9/7/2012ISC329 Isabelle Bichindaritz43 Updating Views There are restrictions on types of modifications that can be made through views: - Updates are allowed if query involves a single base relation and contains a candidate key of base relation. - Updates are not allowed involving multiple base relations. - Updates are not allowed involving aggregation or grouping operations.

9/7/2012ISC329 Isabelle Bichindaritz44 Updating Views Classes of views are defined as: –theoretically not updateable; –theoretically updateable; –partially updateable.