Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 82 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
82
Dung lượng
355,58 KB
Nội dung
Chapter Relational Algebra SinhVienZone.com https://fb.com/sinhvienzonevn Content Introduction Relational algebra Set operations on relations Selection Projection Cartesian production Join operation Division operation Other operations Update operations Introduction2DB - FIT - HCMUS SinhVienZone.com https://fb.com/sinhvienzonevn Introduction Consider manipulations on the relation EMPLOYEE - Add a new employee - Move the employee whose name “Tung” to department - List names and birth dates of employees whose salary are over 20000 FName LName BirthDate Address Sex Salary DNo Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 Quang Pham 11/10/1937 450 TV HN Nam 55000 Introduction2DB - FIT - HCMUS SinhVienZone.com https://fb.com/sinhvienzonevn Introduction Study database programming - How the user can ask queries of the database • Select - How the user can modify the contents of the database • Insert, delete and update Relational model - Relational Algebra • Present a query by expressions - Relational Calculus • Present the result of a query - SQL (Structured Query Language) Introduction2DB - FIT - HCMUS SinhVienZone.com https://fb.com/sinhvienzonevn Review Algebra - Operators - Atomic operands In algebra arithmetic - Operators : +, -, *, / Operand – Variable : x, y, z Constant Expression • • (x+7) / (y-3) (x+y)*z and/or (x+7) / (y-3) Introduction2DB - FIT - HCMUS SinhVienZone.com https://fb.com/sinhvienzonevn Relational algebra Variables – Relations - Set Operators - Set operations • • • Union ∪ Intersection ∩ Difference − - Retrieve parts of a relation • • Selection σ Projection π - Combine tuples of two relations • • Cartesian product × Join Introduction2DB - FIT - HCMUS SinhVienZone.com https://fb.com/sinhvienzonevn Relational algebra Constant - Instance of the relation Expression - A query - A sequence of relational algebra operations Operands and results of expressions - Sets Introduction2DB - FIT - HCMUS SinhVienZone.com https://fb.com/sinhvienzonevn Content Introduction Relational algebra Set operations Selection Projection Cartesian product Join operation Division operation Other operations Update operations Introduction2DB - FIT - HCMUS SinhVienZone.com https://fb.com/sinhvienzonevn Set operation Relation is a set of tuples - The union R ∪ S - The intersection R ∩ S - The difference R − S Union Compatibility - Two relation schemas R(A1, A2, …, An) and S(B1, B2, …, Bn) are union compatibility if • • The same degree n And DOM(Ai)=DOM(Bi) , 1≤ i ≤ n The result of ∪, ∩, and − operations - Relation Introduction2DB - FIT - HCMUS SinhVienZone.com https://fb.com/sinhvienzonevn Union Given two relations R & S that are union compatible The union of R and S - Notation R ∪ S - A relation consists of tuples that are in R or S or both (an element appears only one) R ∪ S = { t / t∈R ∨ t∈S } Example R A B α R∪S A B α α β α β A B α α β β S Introduction2DB - FIT - HCMUS SinhVienZone.com 10 https://fb.com/sinhvienzonevn Example 17 The number of employees and the average salary of the company Introduction2DB - FIT - HCMUS SinhVienZone.com 68 https://fb.com/sinhvienzonevn Example 18 For each department, find the number of employees and the average salary Introduction2DB - FIT - HCMUS SinhVienZone.com 69 https://fb.com/sinhvienzonevn Example 19 Find the name of departments that have the largest number of employees Introduction2DB - FIT - HCMUS SinhVienZone.com 70 https://fb.com/sinhvienzonevn Example 20 Find the name of employees who work the largest number of projects Introduction2DB - FIT - HCMUS SinhVienZone.com 71 https://fb.com/sinhvienzonevn Outer join Is used to avoid the loss of information - A theta join is taken first - Then, the tuples that failed to join with any tuple of the other relation are added to the result Three cases - Left outer join - Right outer join - Left and right outer join Introduction2DB - FIT - HCMUS SinhVienZone.com 72 https://fb.com/sinhvienzonevn Example 21 List out the name of employees and the name of department that they are the manager if any ← EMPLOYEE SSN=MGRSSN DEPARTMENT RESULT ← πFNAME,LNAME,DNAME (R1) R1 FNAME LNAME DNAME Tung Nguyen Nghien cuu Hang Bui null Nhu Le null Vinh Pham Quan ly Introduction2DB - FIT - HCMUS SinhVienZone.com 73 https://fb.com/sinhvienzonevn Example 22 List out the name of departments and the number of employees of that department If a department has just been established and not yet been arranged the employees, then what will be the result? Introduction2DB - FIT - HCMUS SinhVienZone.com 74 https://fb.com/sinhvienzonevn Content Introduciton Relational algebra Set operations Selection Projection Cartesian product Join operation Division operation Other operations Update operations Introduction2DB - FIT - HCMUS SinhVienZone.com 75 https://fb.com/sinhvienzonevn Update operations The content of the database can be updated by update operations - Insertion - Deletion - Update These operations are expressed by an assignment operation Rnew ← operations on Rold Introduction2DB - FIT - HCMUS SinhVienZone.com 76 https://fb.com/sinhvienzonevn Insertion operation Is expressed Rnew ← Rold ∪ E - R is a relation - E is a relational algebra expression Example - Assign the employee whose SSN is 123456789 the project with SSN is 20 and the number of working hours is 10 WORKS_ON ← WORKS_ON ∪ (‘123456789’, 20, 10) Introduction2DB - FIT - HCMUS SinhVienZone.com 77 https://fb.com/sinhvienzonevn Deletion operation Is expressed Rnew ← Rold − E - R is a relation - E is a relational algebra expression Example - Delete all work assignments of the employee 123456789 WORKS_ON ← WORKS_ON − σ SSN=‘123456789’(WORKS_ON) Introduction2DB - FIT - HCMUS SinhVienZone.com 78 https://fb.com/sinhvienzonevn Example 23 Remove work assignments that have locations in ‘Ha Noi’ Introduction2DB - FIT - HCMUS SinhVienZone.com 79 https://fb.com/sinhvienzonevn Update operation Is expressed Rnew ← πF1, F2, …, Fn (Rold) - R is a relation - Fi is an arithmetic expression that results in the new value for attributes Example - Increase working hours to 1.5 times for all employees WORKS_ON ←πSSN, PNO, HOURS*1.5(WORKS_ON) Introduction2DB - FIT - HCMUS SinhVienZone.com 80 https://fb.com/sinhvienzonevn Example 24 Increase working hours to 1.5 times for assignments that are over 30 hours, the remain will be increased to times Introduction2DB - FIT - HCMUS SinhVienZone.com 81 https://fb.com/sinhvienzonevn Introduction2DB - FIT - HCMUS SinhVienZone.com 82 https://fb.com/sinhvienzonevn ... 12/08/1 955 638 NVC Q5 Nam 40000 Hang Bui 07/19/1968 332 NTH Q1 Nu 250 00 Nhu Le 06/20/1 951 291 HVH QPN Nu 43000 Hung Nguyen 09/ 15/ 1962 Ba Ria VT Nam 38000 Quang Pham 11/10/1937 450 TV HN Nam 55 000... - HCMUS SinhVienZone. com 25 https://fb .com/ sinhvienzonevn Example Find the SSN of employees who not have any dependents Introduction2DB - FIT - HCMUS SinhVienZone. com 26 https://fb .com/ sinhvienzonevn... • (SALARY> 250 00 and DNO=4) or (SALARY>30000 and DNO =5) σ (SALARY> 250 00 ∧ DNO=4) ∨ (SALARY>30000 ∧ DNO =5) (EMPLOYEE) Introduction2DB - FIT - HCMUS SinhVienZone. com 19 https://fb .com/ sinhvienzonevn