1. Trang chủ
  2. » Tất cả

Topic 3 the relational algebra and relational calculus (cont)

73 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đại Số Quan Hệ (tiếp theo)
Chuyên ngành Hệ Cơ Sở Dữ Liệu
Thể loại Bài giảng
Định dạng
Số trang 73
Dung lượng 2,22 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phép toán quan hệ hai ngôi : JOIN và DIVIDE2.. Ví dụ về áp dụng đại số quan hệ... Phép toán quan hệ hai ngôi : JOIN và DIVIDE2.. Ví dụ về áp dụng đại số quan hệ... Phép toán quan hệ hai

Trang 1

HỆ CƠ SỞ

DỮ LIỆU

Trang 2

1 Phép toán quan hệ hai ngôi : JOIN và DIVIDE

2 Phép toán quan hệ bổ sung

3 Câu hỏi ôn tập

4 Ví dụ về áp dụng đại số quan hệ

Trang 3

1 Phép toán quan hệ hai ngôi : JOIN và DIVIDE

2 Phép toán quan hệ bổ sung

3 Câu hỏi ôn tập

4 Ví dụ về áp dụng đại số quan hệ

Trang 4

Phép toán quan hệ hai ngôi

Phép toán quan h hai ngôi là các phép toán ệtác đ ng lên hai quan h ộ ệ

Trang 6

▸D ng t ng quát : ạ ổ

R ⨝<bi uể th cứ đi u ki n>ề ệ S

▸K t qu c a phép theta join là m t quan h Q ế ả ủ ộ ệ

ch a ứ n+m thu c tính Q(Aộ 1,A2,…,An,B1,B2,…,Bm), trong Q có 1 thu c tính c a R và 1 thu c tính c a ộ ủ ộ ủ

S th a bi u th c đi u ki n ỏ ể ứ ề ệ

▹ Các quan h : ệ R(A1,A2,…,An), S(B1,B2,…,Bm)

Trang 11

▸Là phép n i b ng (EQUIJOIN) nh ng không ố ằ ư

có hai c t nào trùng nhau.ộ

▸Do đó n u hai quan h không cùng tên ế ệ

thu c tính, ta đ i tên tr c khi áp d ng phép ộ ổ ướ ụ

n i t nhiên.ố ự

▸Kí hi u :ệ

R ⨝ S ho c ặ R S

▸ NALTURAL JOIN yêu c u các c p thu c tính ầ ặ ộ

trong bi u th c đi u ki n ph i cùng tên trong ể ứ ề ệ ả

m i quan h ỗ ệ

Trang 15

Chú ý

▸M t phép toán JOIN đ c s d ng đ k t h p ộ ượ ử ụ ể ế ợ

d li u có liên quan t 2 quan h đ t o thành ữ ệ ừ ệ ể ạ

m t b ng duy nh t Phép toán JOIN còn đ c ộ ả ấ ượ

g i là ọ inner join.

Phép inner join còn đ c bi u di n b i hai ượ ể ễ ởphép là CARTESIAN PRODUCT và SELECTION

R⨝ <đi uề ki n>ệ S ≡σ<đi uề ki n>ệ (R⨯S)

Trang 16

Tập đầy đủ phép toán quan hệ

▸ T p mà đ c bi u th b i t p nh ng toán t ậ ượ ể ị ở ậ ữ ửquan h s h c {ệ ố ọ σ π ∪ ρ, , , , –, ×} đ c g i là t p ượ ọ ậ

đ y đ ầ ủ (complete set)

▸Ví d :ụ

R⨝ <đi uề ki n>ệ S ≡σ<đi uề ki n>ệ (R⨯S)

▹Toán t ử INTERSECTION có th bi u di n ể ể ễ

b i hai phép ở UNION và MINUS :

▹Toán t ử JOIN có th bi u di n b i hai phép ể ể ễ ở

CARTESIAN PRODUCT và SELECTION

R ∩ S ≡ (R ∪ S) – ((R – S) ∪ (S – R))

Trang 18

▹ Các thu c tính c a S là t p con c a các thu c tính ộ ủ ậ ủ ộ

c a R ( ủ X ⊆ Z)

R(Z)÷S(X)

▹ G i Y = Z ọ – X (Z = X Y) là t p h p c a các thu c ∪ ậ ợ ủ ộ tính c a R không là thu c tính c a S ủ ộ ủ

Trang 19

T ⟵R÷S

▸Bi u di n : ể ễ

Trang 23

▸K t qu :ế ả

Trang 24

T ← T1 – T2

▸Toán t chia đ c đ nh nghĩa cho thu n ti n ử ượ ị ậ ệ

đ gi i quy t các truy v n liên quan đ n đ nh ể ả ế ấ ế ị

l ng ph quát(universal quantification)ượ ổ ho c ặ

t t c các đi u ki n ấ ả ề ệ

Trang 25

Cây truy vấn

▸Cây truy v nấ bao g m các toán t đ i s quan ồ ử ạ ố

h đang đ c th c thi và đ c s d ng nh ệ ượ ự ượ ử ụ ư

m t c u trúc d li u có th bi u di n trong ộ ấ ữ ệ ể ể ễtruy v n ấ quan h ệ

▸Cây truy v n là cây c u trúc d li u t ng ấ ấ ữ ệ ươ

ng v i bi u th

ứ ớ ể ức đ i s quan h ạ ố ệ Nó bi u th ể ịcác quan h d i d ng các nút lá c a câệ ướ ạ ủ y và các phép truy v n d i d ng ấ ướ ạ các nút n i c a cây ộ ủ

Trang 27

Cây truy vấn

▸ Ví d : ụ Đ i v i m i d án n m ố ớ ọ ự ằ ở ‘Stafford’, hãy li t kê ệ các d án, ự các phòng/ban giám sát và tên, đ a ch và ị ỉ ngày sinh c a ng i qu n lí phòng/ban đó ủ ườ ả

πPnumber, Dnum, Lname,

Address,Bdate (((σPlocation=‘Stafford’((PROJECT))

⨝Dnum=Dnumber(DEPARTMENT)) ⨝

Mgr_ssn=Ssn (EMPLOYEE))

Trang 28

Cây truy vấn

▸ Ví d : ụ

πPnumber, Dnum, Lname,

Address,Bdate (((σPlocation=‘Stafford’((PROJECT))

⨝Dnum=Dnumber(DEPARTMENT)) ⨝

Mgr_ssn=Ssn (EMPLOYEE))

Trang 29

1 Phép toán quan hệ hai ngôi : JOIN và DIVIDE

2 Phép toán quan hệ bổ sung

3 Câu hỏi ôn tập

4 Ví dụ về áp dụng đại số quan hệ

Trang 30

Phép chiếu tổng quát

▸Phép chi u t ng quát (Generalized Projection) ế ổ

m r ng t phép chi u b ng cách cho phép các ở ộ ừ ế ằhàm c a các thu c tính đ c đ a vào danh sách ủ ộ ượ ưchi u.ế

▸Công th c t ng quát: ứ ổ

F1, F2, ., Fn là các hàm c a các thu c tính trong ủ ộ quan h R và có th liên quan đ n các phép toán s ệ ể ế ố

h c và h ng ọ ằ

πF1,F2,…,Fn(R)

Trang 31

Phép chiếu tổng quát

▸Ví d : Cho quan h sau :ụ ệ

EMPLOYEE(Ssn, Salary, Deduction, Year_service)

(RENAMING) đ gán các tên t ng ng cho F1, ể ươ ứ

F2, F3, F4, …

Trang 32

Phép chiếu tổng quát

Phép toán này r t h u ích khi phát tri n các ấ ữ ể

reports trong đó các giá tr đ c tính toán ph i ị ượ ả

đ c t o trong các c t c a m t k t qu truy v n ượ ạ ộ ủ ộ ế ả ấ

Trang 33

Phép chiếu tổng quát

▸Ví d : Cho quan h sau:ụ ệ

EMPLOYEE(Ssn, Salary, Deduction, Year_service)

Trang 34

Phép chiếu tổng quát

▸Ví d : Cho quan h sau:ụ ệ

EMPLOYEE(Ssn, Salary, Deduction, Year_service)

M t report có th đ c yêu c u : ộ ể ượ ầ

Net = Salary – Deduction Bonus = 2000*Years_service Tax = 0.25*Salary

Sau đó, m t phép chi u t ng quát k t h p v i ộ ế ổ ế ợ ớ

phép đ i tên có th đ c s d ng nh sau: ổ ể ượ ử ụ ư

REPORT ← ρ(Ssn, Net_salary, Bonus, Tax)(πSsn, Salary – Deduction,

2000 * Years_service,0.25 * Salary (EMPLOYEE))

Trang 35

Phép chiếu tổng quát

▸Ví d : Cho quan h sau:ụ ệ

EMPLOYEE(Ssn, Salary, Deduction, Year_service)

Ta sẽ có m t REPORT nh sau : ộ ư

REPORT ← ρ(Ssn, Net_salary, Bonus, Tax)(πSsn, Salary – Deduction,

2000 * Years_service,0.25 * Salary (EMPLOYEE))

Trang 36

Hàm tập hợp và nhóm

▸M t lo i yêu c u (request) khác không th ộ ạ ầ ể

đ c bi u th trong đ i s quan h c b n là ượ ể ị ạ ố ệ ơ ả

các hàm t p h p toán h c trên các t p h p các ậ ợ ọ ậ ợ

giá tr t c s d li u ị ừ ơ ở ữ ệ

Ví d : ụ l y trung bình ho c t ng ti n l ng ấ ặ ổ ề ươ

c a t t c nhân viên ho c t ng s các ủ ấ ả ặ ổ ố

b (tuples) nhân viên Các hàm này đ c s ộ ượ ử

d ng trong các truy v n th ng kê đ n gi n ụ ấ ố ơ ảtóm t t thông tin t các b ắ ừ ộ

Trang 37

▸M t lo i yêu c u ph bi n khác liên quan đ n ộ ạ ầ ổ ế ế

vi c nhóm các b trong m t quan h theo giá ệ ộ ộ ệ

tr c a m t s thu c tính c a chúng và sau đó ị ủ ộ ố ộ ủ

áp d ng m t hàm t p h p đ c l p cho m i ụ ộ ậ ợ ộ ậ ỗnhóm

Trang 38

Hàm tập hợp và nhóm

▸Đ nh nghĩa m t phép toán HÀM T P H P, ị ộ Ậ Ợ

đ ch đ nh các lo i yêu c u nh sau:ể ỉ ị ạ ầ ư

<grouping attributes> ℑ<function list> (R)

▹ <grouping attributes> là danh sách các thu c tính

c a m i quan h đ c đ c t trong R ủ ố ệ ượ ặ ả

<function list> là danh sách các c p (<function attribute>) Trong m i c p nh v y, <ỗ ặ ư ậ function> là m t ộ trong các hàm đ c cho phép, ch ng h n nh ượ ẳ ạ ư SUM,

AVERAGE, MAXIMUM, MINIMUM, COUNT và

<attribute> là m t thu c tính c a quan h đ c đ c ộ ộ ủ ệ ượ ặ

t trong ả R

Trang 40

Hàm tập hợp và nhóm

▸Ví d cho quan h EMPLOYEE có b ng sau :ụ ệ ả

EMPLOYEE(Fname, Minit, Ssn, Bdate, Address, Sex,

Super_ssn, Dno)

Trang 41

Hàm tập hợp và nhóm

▸Ví d cho quan h EMPLOYEE có b ng sau :ụ ệ ả

EMPLOYEE(Fname, Minit, Ssn, Bdate, Address, Sex,

Super_ssn, Dno)

a) Truy xu t t ng s phòng ban, s l ng nhân viên ấ ừ ố ố ượ

trong phòng ban và m c l ng trung bình c a h : ứ ươ ủ ọ

ρR(Dno, No_of_employees, Average_sal) (Dno ℑCOUNT Ssn, AVERAGE Salary(EMPLOYEE))

Trang 42

Hàm tập hợp và nhóm

▸Ví d cho quan h EMPLOYEE có b ng sau :ụ ệ ả

EMPLOYEE(Fname, Minit, Ssn, Bdate, Address, Sex,

Trang 43

Hàm tập hợp và nhóm

▸Ví d cho quan h EMPLOYEE có b ng sau :ụ ệ ả

c) N u không có thu c tính nhóm (ế ộ no grouping attributes) nào đ c ch đ nh, các hàm đ c áp d ng ượ ỉ ị ượ ụ cho t t c các b trong quan h , do đó, quan h k t ấ ả ộ ệ ệ ế

qu ch có m t b duy nh t ( ả ỉ ộ ộ ấ single tuple only)

ℑCOUNT Ssn, AVERAGE Salary (EMPLOYEE)

EMPLOYEE(Fname, Minit, Ssn, Bdate, Address, Sex,

Super_ssn, Dno)

Trang 45

Recursive Closure Operations

▸ M t lo i phép toán khác không đ c mô t ộ ạ ượ ảtrong đ i s quan h c b n là ạ ố ệ ơ ả Recursive Closure Phép toán đ c s d ng trong các ượ ử ụ

Recursive Relationship gi a nh ng ữ ữ Tuples có

cùng lo i.ạ

Trang 50

OUTER JOIN Operations

Outer Join đ c phát tri n cho tr ng h p ượ ể ườ ợ

ng i dung mu n gi l i t t c Tuples trong R ườ ố ữ ạ ấ ả

Trang 51

LEFT OUTER JOIN Operations

▸Nh c nh :ắ ớ

51

Trang 52

OUTER JOIN Operations

▸Nh c nh :ắ ớ

52

Trang 53

LEFT OUTER JOIN Operations

Trang 54

RIGHT OUTER JOIN Operations

http://www.math.hcmus.edu.vn/~nhluong/courses/DS/

R ⟕C>DS

54

Trang 55

FULL OUTER JOIN Operations

http://www.math.hcmus.edu.vn/~nhluong/courses/DS/

R ⟕C=DS

55

Trang 56

OUTER UNION Operator

▸Outer Union Operator đ c phát tri n đ k t ượ ể ể ế

h p hai ợ Relation có m t s thu c tính chungộ ố ộ

▸Phép toán th c hi n ự ệ UNION m i tuples trên

hai Relation R(X, Y) và S(X, Z) mà chúng partially compatible ( t ng thích 1 ph n)ươ ầ

▸Hai t1 tuple trong R và t2 tuple trong S là

match n u t1[X] = t2[X]ế

56

Trang 57

OUTER UNION Operator

Trang 58

CHỦ ĐỀ

ĐẠI SỐ QUAN HỆ

(tiếp theo)

3

1 Phép toán quan hệ hai ngôi : JOIN và DIVIDE

2 Phép toán quan hệ bổ sung

3 Câu hỏi ôn tập

4 Ví dụ về áp dụng đại số quan hệ

58

Trang 59

Câu hỏi 1

Nh ng ki u bi n th c a inner join là gì ? ữ ể ế ể ủ

Các ki u bi n th c a toán t inner join bao g m: ể ế ể ủ ử ồ

Theta join: K t h p nh ng tuple t các quan h khác nhau khi ế ợ ữ ừ ệ chúng th a mãn đi u ki n nào đó T p các toán t so sánh trong ỏ ề ệ ậ ử

đi u ki n join có th bao g m (=, <, ≤, >, ề ệ ể ồ ≥ , ≠).

Equijoin: Gi ng v i theta join nh ng trong đi u ki n join ch ố ớ ư ề ệ ỉ dùng toán t so sánh (=) ử

Natural join : Không s d ng đi u ki n so sánh Ch th c hi n ử ụ ề ệ ỉ ự ệ

đ c khi có ít nh t 1 thu c tính trùng tên gi a 2 relation L c ượ ấ ộ ữ ượ

b nh ng thu c tính b trùng l p ỏ ữ ộ ị ặ

Đ c đi m chung c a inner join: ch nh ng tuple nào có join ặ ể ủ ỉ ữ attribute th a mãn đi u ki n so sánh (Theta join), có join ỏ ề ệ attribute so kh p nhau (Equijoin, Natural join) m i xu t hi n ớ ớ ấ ệ trong relation k t qu , nh ng tuple có join attribute là null ho c ế ả ữ ặ không th a mãn đi u ki n b lo i b ỏ ề ệ ị ạ ỏ

 

Trang 60

Câu hỏi 2

Vì sao theta join l i c n thi t?ạ ầ ế

Theta join c n thi t vì có tính t ng quát nh t ầ ế ổ ấ Equijoin là tr ng h p đ c bi t c a Theta Join, ườ ợ ặ ệ ủ Natural Join có th bi u di n thông qua Theta join, ể ể ễ RENAME và toán t PROJECT.  ử

Trang 61

qu không mong mu n.ả ố

Trang 62

Câu hỏi 4

S khác bi t gi a OUTER JOIN và INNER JOIN, ự ệ ữ

gi a OUTER UNION và UNION?ữ

▹ OUTER JOIN luôn tr v t t c tuple c a relation ả ề ấ ả ủ

đ c ch n (tùy thu c vào ượ ọ ộ LEFT - RIGHT hay FULL OUTER JOIN)

▹ UNION yêu c u t p các thu c tính trong các quan ầ ậ ộ

h kh p nhau Trong khi đó OUTER UNION không ệ ớ yêu c u t t c các thu c tính ph i gi ng nhau ầ ấ ả ộ ả ố

Trang 63

1 Phép toán quan hệ hai ngôi : JOIN và DIVIDE

2 Phép toán quan hệ bổ sung

3 Câu hỏi ôn tập

4 Ví dụ về áp dụng đại số quan hệ

Trang 67

Ví dụ 2

Xác đ nh các câu truy v n sau d a trên l c đ CSDL ị ấ ự ượ ồ quan h d i đây, s d ng các toán t quan h : ệ ướ ử ụ ử ệ

Trang 68

Ví dụ 2

c) DE_RES ←σDname=‘Research’(DEPARTMENT)

EMP_RES ← DE_RES⨝ Dnumber=Dno(EMPLOYEE)

EMP_MALE ← σSex=‘Male’(EMP_RES)

EMP_WORK← EMP_MALE⨝ Ssn=Essn(WORKS_ON)

RESULT ←πFname,Lname(EMP_WORK)

Trang 71

Ví dụ 2

f) PROJ_OLYMPUS ← σPname=‘Olympus’(PROJECT)

WORK_OLYMPUS ←PROJ_OLYMPUS⨝ Pnumber=PnoWORKS_ON

EMP_OLYMPUS←DEP_OLYMPUS⨝ Essn=SsnEMLOYEE

RESULT ← πEssn,Fname,Lname(EMP_OLYM)

f) Truy xu t tên c a t t ấ ủ ấ

c nhân viên làm vi c ả ệ cho project có tên là

“Olympus”

Trang 73

THANK YOU!

Ngày đăng: 04/04/2023, 08:24

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w