C HAPTERS 3-6 R ELATIONAL D ATA M ODELS, R ELATIONAL C ONSTRAINTS, AND R ELATIONAL A LGEBRA Chapters 5-8 1 Flat file: A two dimensional array of attributes.

Slides:



Advertisements
Similar presentations
Chapter 6 The Relational Algebra
Advertisements

Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Chapter 6 The Relational Algebra.
พีชคณิตแบบสัมพันธ์ (Relational Algebra) บทที่ 3 อ. ดร. ชุรี เตชะวุฒิ CS (204)321 ระบบฐานข้อมูล 1 (Database System I)
The Relational Algebra
Database Systems Chapter 6 ITM Relational Algebra The basic set of operations for the relational model is the relational algebra. –enable the specification.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5- 1.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 1.
Chapter 5 The Relational Data Model and Relational Database Constraints Copyright © 2004 Pearson Education, Inc.
Database Systems Chapter 5 ITM 354. Chapter Outline Relational Model Concepts Relational Model Constraints and Relational Database Schemas Update Operations.
Chapter 5 The Relational Data Model and Relational Database Constraints.
Chapter 5 Relational Model Concepts Dr. Bernard Chen Ph.D. University of Central Arkansas.
The Relational Algebra and Calculus. Relational Algebra Overview Relational algebra is the basic set of operations for the relational model These operations.
The Relational Data Model 1.Relational Model Concepts 2.Characteristics of Relations 3.Relational Integrity Constraints 3.1Key Constraints 3.2Entity Integrity.
1 The Relational Data Model, Relational Constraints, and The Relational Algebra.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Chapter 6 The Relational Algebra and Calculus.
Content Resource- Elamsari and Navathe, Fundamentals of Database Management systems.
Relational Algebra Example Database Application (COMPANY) Relational Algebra –Unary Relational Operations –Relational Algebra Operations From Set Theory.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3 The Relational Data Model and SQL.
Topic 5 The Relational Data Model and Relational Database Constraints Faculty of Information Science and Technology Mahanakorn University of Technology.
Instructor: Churee Techawut Basic Concepts of Relational Database Chapter 5 CS (204)321 Database System I.
DatabaseIM ISU1 Fundamentals of Database Systems Chapter 5 The Relational Data Model.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 1.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 1 Week4 Relational Model and Relational Database Constraints Relational Model Concepts.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Chapter 5 The Relational Data Model and Relational Database Constraints.
Relational Algebra - Chapter (7th ed )
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Chapter 6 The Relational Algebra.
METU Department of Computer Eng Ceng 302 Introduction to DBMS The Relational Data Model and Relational Database Constraints by Pinar Senkul resources:
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Chapter 5 The Relational Data Model and Relational Database Constraints.
CSE314 Database Systems The Relational Algebra and Relational Calculus Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson Ed Slide Set.
Chapter 6 The Relational Data Model and the Relational Algebra.
METU Department of Computer Eng Ceng 302 Introduction to DBMS The Relational Algebra by Pinar Senkul resources: mostly froom Elmasri, Navathe and other.
Oracle DML Dr. Bernard Chen Ph.D. University of Central Arkansas.
Slide Chapter 5 The Relational Data Model and Relational Database Constraints.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Chapter 3 The Basic Relational Model.
The Relational Algebra and Calculus
Chapter 6 The Relational Algebra Copyright © 2004 Ramez Elmasri and Shamkant Navathe.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 6- 1.
DatabaseIM ISU1 Fundamentals of Database Systems Chapter 6 The Relational Algebra.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Chapter 6 The Relational Algebra.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 6- 1.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 6 The Relational Algebra and Relational Calculus.
Al-Maarefa College for Science and Technology INFO 232: Database systems Chapter 3 “part 2” The Relational Algebra and Calculus Instructor Ms. Arwa Binsaleh.
Advanced Relational Algebra & SQL (Part1 )
The Relational Algebra. Slide 6- 2 Outline Relational Algebra Unary Relational Operations Relational Algebra Operations From Set Theory Binary Relational.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 1.
Relational Data Model DeSiaMore Powered by DeSiaMore.
Chapter 5 The Relational Data Model and Relational Database Constraints Copyright © 2004 Pearson Education, Inc.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 340 Introduction to Database Systems.
1 CSBP430 – Database Systems Chapter 7 - The Relational Data Model Elarbi Badidi College of Information Technology United Arab Emirates University
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe CHAPTER 5 The Relational Data Model and Relational Database Constraints Slide 1- 1.
The Relational Data Model and Relational Database Constraints
Chapter 6 The Relational Algebra Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe.
Relational Algebra COMP3211 Advanced Databases Nicholas Gibbins
Relational Algebra National University of Computer and Emerging Sciences Lecture # 6 June 30,2012.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5- 1.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 5- 1.
The Relational Data Model and Relational Database Constraints.
4/28/2017 Chapter 5 The Relational Data Model and Relational Database Constraints.
Chapter 71 The Relational Data Model, Relational Constraints & The Relational Algebra.
Lecture # 11 & 12 (First Exam) Chapter # 5 The Relational Data Model and Relational Database Constraints Database Systems.
Database Systems Chapter 6
The Relational Algebra and Relational Calculus
Chapter (6) The Relational Algebra and Relational Calculus Objectives
4/20/2018.
Chapter # 6 The Relational Algebra and Calculus
Flat file: A two dimensional array of attributes or data items
The Relational Data Model and Relational Database Constraints
Presentation transcript:

C HAPTERS 3-6 R ELATIONAL D ATA M ODELS, R ELATIONAL C ONSTRAINTS, AND R ELATIONAL A LGEBRA Chapters Flat file: A two dimensional array of attributes or data items ProductX 1 Bellaire 5 ProductY 2 Sugarland 5 ProductZ 3 Houston 5 Computerization 10 Stafford 4 Reorganization 20 Houston 1 Newbenefits 30 Stafford 4 Database Management Systems (DBMS): A generalized software system that is used to create, manage, and protect data bases

Chapters 5-8 2

3 Attribute: A name characteristic or property of an entity = column header Entity: A “thing” in the real world with an independent existence physical existence: person, student, car

Domain - The valid set of atomic value for an attribute in a relation e.g. SSN set of 9 digits GPA: 0<= GPA <= 4.0 Atomic - each value in the domain is indivisible Name (Fname, Minit, Lname) – not atomic Fname -- atomic Minit -- atomic Lname -- atomic 4 Chapters 5-8

R ELATIONAL M ODEL C ONCEPTS A Relation is a mathematical concept based on the ideas of sets The model was first proposed by Dr. E.F. Codd of IBM Research in 1970 in the following paper: "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 Chapters 5-8

I NFORMAL D EFINITIONS Informally, a relation looks like a table of values. A relation typically contains a set of rows. The data elements in each row represent certain facts that correspond to a real-world entity or relationship In the formal model, rows are called tuples Each column has a column header that gives an indication of the meaning of the data items in that column In the formal model, the column header is called an attribute name (or just attribute ) 6 Chapters 5-8

F ORMAL D EFINITIONS - S CHEMA The Schema (or description) of a Relation: Denoted by R(A1, A2,.....An) R is the name of the relation The attributes of the relation are A1, A2,..., An Example: CUSTOMER (Cust-id, Cust-name, Address, Phone#) CUSTOMER is the relation name Defined over the four attributes: Cust-id, Cust- name, Address, Phone# Each attribute has a domain or a set of valid values. For example, the domain of Cust-id is 6 digit numbers. 7 Chapters 5-8

F ORMAL D EFINITIONS - T UPLE A tuple is an ordered set of values (enclosed in angled brackets ‘ ’) Each value is derived from an appropriate domain. A row in the CUSTOMER relation is a 4- tuple and would consist of four values, for example: This is called a 4-tuple as it has 4 values A tuple (row) in the CUSTOMER relation. A relation is a set of such tuples (rows) 8 Chapters 5-8

F ORMAL D EFINITIONS - D OMAIN A domain has a logical definition: Example: “USA_phone_numbers” are the set of 10 digit phone numbers valid in the U.S. A domain also has a data-type or a format defined for it. The USA_phone_numbers may have a format: (ddd)ddd-dddd where each d is a decimal digit. Dates have various formats such as year, month, date formatted as yyyy-mm-dd, or as dd mm,yyyy etc. The attribute name designates the role played by a domain in a relation: Used to interpret the meaning of the data elements corresponding to that attribute Example: The domain Date may be used to define two attributes named “Invoice-date” and “Payment-date” with different meanings 9 Chapters 5-8

F ORMAL D EFINITIONS - S TATE The relation state is a subset of the Cartesian product of the domains of its attributes each domain contains the set of all possible values the attribute can take. Example: attribute Cust-name is defined over the domain of character strings of maximum length 25 dom(Cust-name) is varchar(25) The role these strings play in the CUSTOMER relation is that of the name of a customer. 10 Chapters 5-8

F ORMAL D EFINITIONS - S UMMARY Formally, Given R(A1, A2, , An) r(R)  dom (A1) X dom (A2) X....X dom(An) R(A1, A2, …, An) is the schema of the relation R is the name of the relation A1, A2, …, An are the attributes of the relation r(R): a specific state (or "value" or “population”) of relation R – this is a set of tuples (rows) r(R) = {t1, t2, …, tn} where each ti is an n-tuple ti = where each vj element-of dom(Aj) 11 Chapters 5-8

F ORMAL D EFINITIONS - E XAMPLE Let R(A1, A2) be a relation schema: Let dom(A1) = {0,1} Let dom(A2) = {a,b,c} Then: dom(A1) X dom(A2) is all possible combinations: {,,,,, } The relation state r(R)  dom(A1) X dom(A2) For example: r(R) could be {,, } this is one possible state (or “population” or “extension”) r of the relation R, defined over A1 and A2. It has three 2-tuples:,, 12 Chapters 5-8

D EFINITION S UMMARY 13 Chapters 5-8 Informal TermsFormal Terms TableRelation Column HeaderAttribute All possible Column Values Domain RowTuple Table DefinitionSchema of a Relation Populated TableState of the Relation

S UPER KEY : AN ATTRIBUTE OR A SET OF ATTRIBUTES THAT IDENTIFIES AN ENTITY UNIQUELY ( MAY NOT BE MINIMAL SET ) SSN SSN, NAME SSN, NAME, MAJOR 14 Chapters 5-8

C ANDIDATE KEY : A SUPER KEY SUCH THAT NO PROPER SUBSET OF ITS ATTRIBUTES IS ITSELF A SUPER KEY. S O CANDIDATE KEYS MUST HAVE A MINIMAL IDENTIFIER. STUID SSN P RIMARY KEY : THE CANDIDATE KEY THAT IS CHOSEN OR THE CANDIDATE KEY THAT IS USED TO IDENTIFY TUPLES IN A RELATION -- UNIQUE, MUST EXIST A LTERNATE KEY : A CANDIDATE KEY IN A RELATION THAT IS NOT SELECTED E. G. IF PRIMARY KEY IS SSN THEN STUID IS A ALTERNATE KEY 15 Chapters 5-8

16 C ONCATENATED ( COMPOSITE ) KEY : A PRIMARY KEY THAT IS COMPRISED OF TWO OR MORE ATTRIBUTES OR DATA ITEMS G RADE_REPORT(STUID, COURSE#, GRADE)

F OREIGN KEY : A NON - KEY ATTRIBUTE IN ONE RELATION THAT APPEARS AS THE PRIMARY KEY ( OR PART OF THE KEY ) IN ANOTHER RELATION EMPLOYEE(SSN, FNAME, MINIT, DNO) DEPARTMENT(DNUMBER, DNAME, MANAGER) 17 Chapters 5-8

S ECONDARY KEY : A FIELD THAT CAN HAVE DUPLICATE VALUES, AND THAT CAN BE USED AS SEARCH PATH BY THE USERS 18 Chapters 5-8

19

Chapters Referential Integrity Constraints for COMPANY database

Chapters

R ELATIONAL A LGEBRA O VERVIEW Relational algebra is the basic set of operations for the relational model These operations enable a user to specify basic retrieval requests (or queries ) The result of an operation is a new relation, which may have been formed from one or more input relations This property makes the algebra “closed” (all objects in relational algebra are relations) 22 Chapters 5-8

R ELATIONAL A LGEBRA O VERVIEW ( CONTINUED ) The algebra operations thus produce new relations These can be further manipulated using operations of the same algebra A sequence of relational algebra operations forms a relational algebra expression The result of a relational algebra expression is also a relation that represents the result of a database query (or retrieval request) 23 Chapters 5-8

R ELATIONAL A LGEBRA O VERVIEW Relational Algebra consists of several groups of operations Unary Relational Operations SELECT (symbol:  (sigma)) PROJECT (symbol:  (pi)) Relational Algebra Operations From Set Theory UNION (  ), INTERSECTION (  ), DIFFERENCE (or MINUS, – ) CARTESIAN PRODUCT ( x ) Binary Relational Operations JOIN (several variations of JOIN exist) DIVISION Additional Relational Operations OUTER JOINS, OUTER UNION AGGREGATE FUNCTIONS (These compute summary of information: for example, SUM, COUNT, AVG, MIN, MAX) 24 Chapters 5-8

Unary Relational Operations: SELECT The SELECT operation (denoted by  (sigma)) is used to select a subset of the tuples from a relation based on a selection condition. The selection condition acts as a filter Keeps only those tuples that satisfy the qualifying condition Tuples satisfying the condition are selected whereas the other tuples are discarded ( filtered out ) Examples: Select the EMPLOYEE tuples whose department number is 4:  DNO = 4 (EMPLOYEE) Select the employee tuples whose salary is greater than $30,000:  SALARY > 30,000 (EMPLOYEE) 25 Chapters 5-8

U NARY R ELATIONAL O PERATIONS : SELECT In general, the select operation is denoted by  (R) where the symbol  (sigma) is used to denote the select operator the selection condition is a Boolean (conditional) expression specified on the attributes of relation R tuples that make the condition true are selected appear in the result of the operation tuples that make the condition false are filtered out discarded from the result of the operation 26 Chapters 5-8

U NARY R ELATIONAL O PERATIONS : SELECT ( CONTD.) SELECT Operation Properties The SELECT operation  (R) produces a relation S that has the same schema (same attributes) as R SELECT  is commutative:  (  (R)) =  (  (R)) Because of commutativity property, a cascade (sequence) of SELECT operations may be applied in any order:  (  (  (R)) =  (  (  ( R))) A cascade of SELECT operations may be replaced by a single selection with a conjunction of all the conditions:  (  (  (R)) =  AND AND (R))) The number of tuples in the result of a SELECT is less than (or equal to) the number of tuples in the input relation R 27 Chapters 5-8

Select Works on single table and takes rows that meet a specified condition, copy them into a new table  (Table name) Condition(s) SQL (Structured Query language) SELECT * FROM (table name) WHERE condition 1 AND condition 2 AND condition 3… 28 Chapters 5-8

29 Chapters 5-8  Table Condition(s)

Find employees who work for department number 5.  employee DNO = 5 SQL: SELECT * FROM employee WHERE dno = 5; 30 Chapters 5-8

31

Chapters  Employee DNO=5 Query tree

33 Chapters 5-8 s ( DNO =4 AND SALARY >25000) OR ( DNO =5 AND SALARY >30000) ( EMPLOYEE ) s ( s (R)) = s ( s (R)) s ( s (...( s (R))...)) = s AND AND... AND (R)

Project Operates on a single table, produces a vertical subset of the table, extract the values of specified columns eliminate duplicate rows place the value in a new table  (table name) column1, column2, column3, … 34 Chapters 5-8

SQL: SELECT column1, column2, column3, … FROM (table name) 35 Chapters 5-8

36  Table column(s)

E.g. Show the names of all employees  employee fname, minit, lname SELECT fname, minit, lname FROM employee; 37 Chapters 5-8

38

Chapters  Employee fname,minit,lname

Select & project Show the names of all employees who work for department number 5  (  employee) fname, minit, lname dno = 5 SELECT fname, minit, lname FROM employee WHERE dno = 5; 40 Chapters 5-8

41

Chapters  Employee fname,minit,lname  DNO = 5

E XAMPLES OF APPLYING SELECT AND PROJECT OPERATIONS 43 Chapters 5-8

PRODUCT (or Cartesian product) R1 x R2 R1 X R2 is a table where width is the width of R1 plus the width of R2 and whose columns are the columns of R1 followed by the columns of R2 If R1 has X rows and M columns R2 has Y rows and N columns R1 X R2 = X * Y rows and M + N columns 44 Chapters 5-8

45 Cartesian Product

Q UERY T REE FOR C ARTESIAN P RODUCT 46 Chapters 5-8 Table1Table2 X

47 Chapters 5-8 Example of Query Tree

Theta Join The result of performing a SELECT operation using a comparison operator theta (=,, ) on the product 48 Chapters 5-8

49 Theta Join (>)

Chapters Theta Join (ID>STUID)

Q UERY T REE FOR T HETA J OIN 51 Chapters 5-8 Student Credit_Hours X ID > STUID

Equijoin Product with “theta” is equality 52 Chapters 5-8

53 Equijoin

Chapters Equijoin

Q UERY T REE FOR E QUIJOIN 55 Chapters 5-8 Student Credit_Hours X ID = STUID

Natural Join |X| Is an equijoin which the repeated column is eliminated Usually join performs over column with the same names 56 Chapters 5-8

57 Remove Equi-join

Chapters Remove this column

Chapters

Q UERY T REE FOR N ATURAL J OIN 60 Chapters 5-8 Student Credit_Hours |X|

Semi-join: If R1 and R2 are tables Semijoin of R1 and R2 is natural join of R1 and R2 and then projecting the result into the attributes of A Semijoin is not cumulative 61 Chapters 5-8

Create tables create table student1 (id char(3) primary key, fname char(10), lname char(10)); insert into student1 values(‘101’,’Jim’,’Smith’); insert into student1 values(‘102’,’Tim’,’Brown’); insert into student1 values(‘103’,’Babara’,’Houston’); create table credit_hours (stuid char(3) primary key, hours number(3)); insert into credit_hours values(101,60); insert into credit_hours values(102,85); 62 Chapters 5-8

63 Left Semi-Join

Chapters Right Semi-Join

Outer Join: Is an extension of a THETA JOIN, an EQUIJOIN, or a NATURAL JOIN An outer join consists of all rows that appear in the usual theta join, plus an additional row for each of the tuples from the original tables that do not participate in the theta join. In those rows that are unmatched original tuples, extend it by assigning null values to the other attributes. 65 Chapters 5-8

Left outer join unmatched rows from the first (left) table appear in the resulting table Right outer join unmatched rows from the second (right) table appear in the resulting table 66 Chapters 5-8

67 Left Outer JoinRight Outer Join

Outer Join -- Oracle Left-outer join select * from student, credit_hours where id = stuid(+); SELECT E.FNAME, E.LNAME, dependent_name FROM EMPLOYEE E, DEPENDENT D WHERE E.SSN = D.ESSN(+); 68 Chapters 5-8

R IGHT - OUTER JOIN select * from student, credit_hours where id(+) = stuid; 69 Chapters 5-8

Sample SQL create view: create view v_emp_dno as select fname, lname, dno from employee; select * from v_emp_dno; create view v_department as select dnumber, dname from department; select * from v_department; Cartesian product: select * from v_emp_dno, v_department; Natural join: select * from v_emp_dno, v_department where dno = dnumber; Left Outer join select fname, lname, ssn, essn, dependent_name from employee, dependent where ssn = essn (+); Right Outer join select essn, dependent_name, fname, lname, ssn from employee, dependent where essn (+) = ssn; 70 Chapters 5-8

Set operations: Union, Difference, Intersection, Division Union (U) tables must be compatible - they must have same basic structure, both relations must have the same domains. The union of two relations is the set of tuples in either or both relations 71 Chapters 5-8

E XAMPLE TO ILLUSTRATE THE RESULT OF UNION, INTERSECT, AND DIFFERENCE 72 Chapters 5-8

SQL--Union Select ssn from employee where dno = 5 Union select distinct(essn) from dependent; 73 Chapters 5-8 SSN rows selected ESSN rows selected SSN rows selected U =

Difference (-) The difference between two relations is the set of tuples that belong to the first relation but not in the second relation. 74 Chapters 5-8

SQL--Minus Select ssn from employee minus select distinct(essn) from dependent; 75 Chapters 5-8 SSN rows selected ESSN rows selected SSN rows selected - =

Intersection (  ) The intersection of two relations is the set of tuples that belong to both relations simultaneously. 76 Chapters 5-8

77 Intersection 

Division (  ) A binary operation that can be defined on two relations where the entire structure of one (the divisor) is a portion of the structure of the other (the dividen) 78 Chapters 5-8

79 Division

E XAMPLE OF DIVISION 80 Chapters 5-8

A GGREGATE F UNCTIONS AND G ROUPING Script F: (group attributes)  (R) Functions = sum, average, maximum, minimum, count 81 Chapters 5-8

A LL E MPLOYEES (N O G ROUP B Y ) SELECT sum(salary), Max (salary), min(salary), avg(salary) FROM employee; SUM(SALARY) MAX(SALARY) MIN(SALARY) AVG(SALARY) Chapters 5-8

E XAMPLE : R ETRIEVE THE DEPARTMENT NUMBER, NUMBER OF EMPLOYEES, AND AVERAGE SALARY IN THE DEPARTMENT – G ROUP B Y DNO RESULT(DNO, NUMBER_OF_EMPLOYEES, AVG_SAL)  count SSN, Average SALARY EMPLOYEE SELECT dno, count(ssn), avg(salary) FROM employee GROUP BY dno order by dno; DNO COUNT(SSN) AVG(SALARY) Chapters 5-8

G ROUP B Y SELECT dno, sum(salary), Max (salary), min(salary), avg(salary) FROM employee GROUP BY dno; DNO SUM(SALARY) MAX(SALARY) MIN(SALARY) AVG(SALARY) Chapters 5-8

DNO  count SSN, Average SALARY (EMPLOYEE) 85 Chapters 5-8

I F GROUPING ATTRIBUTES ARE NOT SPECIFIED  count SSN, Average SALARY (EMPLOYEE) 86 Chapters 5-8

SELECT sum(salary), Max (salary), min(salary), avg(salary) FROM employee, department WHERE dno = dnumber AND dname = 'Research'; SUM(SALARY) MAX(SALARY) MIN(SALARY) AVG(SALARY) Chapters 5-8

View Create View V_Dno5 as (select fname, lname, dno from employee where dno = 5) view V_DNO5 created Select * from V_DNO5; FNAME LNAME DNO John Smith 5 Franklin Wong 5 Ramesh Narayan 5 Joyce English 5 88 Chapters 5-8