1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bai giang mon CSDL 7 Phep toan dai so quan he

84 11 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

Định dạng
Số trang 84
Dung lượng 2,97 MB

Nội dung

tự gồm một chuỗi các phép gán, theo sau là một biểu thức có giá trị được trình bày như là kết quả của câu truy vấn.  Ký hiệu: [r]

(1)

Kiểm tra cũ

1.

1. Cơ sở liệu gì?Cơ sở liệu gì?

2.

2. Mơ hình quan hệ ERD Mơ hình quan hệ ERD

được xây dựng dựa

được xây dựng dựa

các khái niệm nào?

các khái niệm nào?

3.

3. Kể tên loại mô hình Kể tên loại mơ hình

trong CSDL mà em biêt?

(2)

Chương 2: Thiết kế sở liệu

Bài 2: Mơ hình quan hệ

(3)

1 Giới thiệu

 Do E.F Codd đưa ra.

 Cung cấp cấu trúc liệu đơn giản

đồng - quan hệ - tảng lý thuyết vững chắc.

 Là sở hầu hết DBMS thương

(4)

1 Giới thiệu

 Mơ hình quan hệ xây dựng dựa

khái niệm sở:

 Quan hệ  Thuộc tính  Bộ giá trị

(5)

2 Quan hệ

 Quan hệ bảng chiều định nghĩa

một tập thuộc tính

 Tập thuộc tính tồn quan hệ QQ kí

hiệu QQ++

(6)

2 Quan hệ

 Quan hệ gồm:

 Tên

 Tập hợp cột (thuộc tính) Cố định

Được đặt tên Có kiểu liệu

(7)

2 Quan hệ

 Trong quan hệ:

Một dòng ~ thực thểMột dòng ~ thực thể (một thể đối tượng giới thực)

(8)

3 Thuộc tính

 Đối tượng là thực thể tồn khách quan

hay trừu tượng hóa (nhân viên, xe máy, hàng hóa…)

 Thuộc tính là đặc tínhđặc tính đối tượng cầncần

(9)

3 Thuộc tính

 Thuộc tính đặc trưng yếu tốđặc trưng yếu tố

 Tên gọi: Một dãy kí tự bất kỳ, gợi nhớ  Kiểu liệu: Số, chuỗi, ngày, logic…

(10)

3 Thuộc tính

(11)

4 Bộ giá trị

 Bộ dòng liệu quan hệ

 Bộ thường gọi mẫu tin, ghi hay

(12)

4 Bộ giá trị

 Bộ dòng liệu quan hệ

 Bộ thường gọi mẫu tin, ghi hay

(13)

5 Thể quan hệ

 Thể quan hệ tập hợp giá trị

cụ thể quan hệ thời điểm định

 Kí hiệu thể quan hệ QQ TT

Q

(14)

5 Thể quan hệ

Ví dụ:Ví dụ: TTnv1nv1 thể quan hệ Nhanvien

(15)

5 Thể quan hệ

Ví dụ:Ví dụ: TTnv2nv2 thể quan hệ Nhanvien

(16)(17)

6 Khóa

 6.1 Siêu khóa: tập thuộc tính QQ

mà nhờ vào phân biệt khác thể TTQQ bất kỳ

 Một quan hệ có siêu khóa (QQ++))

và có nhiều siêu khóa.

(18)

6 Khóa

 6.1 Siêu khóa:

 Ví dụ: siêu khóa quan hệ Nhanvien là:

(19)

6 Khóa

 6.2 Khóa: siêu khóa “nhỏ nhất” (chứa

(20)

6 Khóa  6.2 Khóa:

Thuộc tínhThuộc tính tham gia vào khóa gọi thuộc tính thuộc tính khóa

khóa, ngược lại gọi thuộc tính khơng khóathuộc tính khơng khóaVí dụ 1:

MaNV thuộc tính khóa quan hệ NhanvienMaNV thuộc tính khóa quan hệ NhanvienVí dụ 2:Ví dụ 2:

Trong quan hệ Phancong có khóa {MaDA, MaNV}, Trong quan hệ Phancong có khóa {MaDA, MaNV}, như thuộc tính khóa là: Manv, MaDA

(21)

6 Khóa

 6.3 Khóa chính:

 Khi cài đặt HQTCSDL cụ thể, quan hệ Khi cài đặt HQTCSDL cụ thể, quan hệ có nhiều

có nhiều khóakhóa, , ta chọn khóa ta chọn khóa gọi

và gọi khóa chínhkhóa chính

 Các thuộc tính nằm khóa liệt kê Các thuộc tính nằm khóa liệt kê quan hệ phải gạch

(22)

6 Khóa

 6.3 Khóa chính:

 Ví dụ: khóa gồm thuộc tínhVí dụ: khóa gồm thuộc tính

Khóa quan hệ NhanvienKhóa quan hệ Nhanvien {MaNV {MaNV}}Nhanvien (MaNVNhanvien (MaNV, Hoten, Luong, Phai), Hoten, Luong, Phai)

 Ví dụ 2: Khóa gồm thuộc tínhVí dụ 2: Khóa gồm thuộc tính

Khóa quan hệ Phancong {MaNV, Khóa quan hệ Phancong {MaNV, MaDean}

MaDean}

(23)

6 Khóa

 6.4 Khóa ngoại:

 Cho Cho R(U)R(U)S(V)S(V) quan hệ với quan hệ với U, VU, V lần lượt tập thuộc tính quan hệ R S

tập thuộc tính quan hệ R S

KK11 khóa quan hệ khóa quan hệ RR, thỏa , thỏa điều kiện sau:

các điều kiện sau:

 Khi đóKhi đó K K22khóa ngoạikhóa ngoại của SS tham chiếu đến khóa tham chiếu đến khóa

(24)

6 Khóa

 6.4 Khóa ngoại:

 Ví dụ cho quan hệ

 Phongban(MaP, TenP), với U = PhongbanU = Phongban++  Nhanvien(MaNVMaNV, Hoten, Phai, MaP), với

V=Nhanvien

V=Nhanvien++

KK

1

1 = {MaP} = {MaP} khóa quan hệ Phongbanlà khóa quan hệ Phongban

KK

2

2 = {MaP} thuộc tập thuộc tính V = {MaP} thuộc tập thuộc tính V

   KK11, K, K22 có thuộc tính biểu thị MaP có thuộc tính biểu thị MaP    Dom(KDom(K11) Dom(K) Dom(K22))

 KK

2

2 khóa ngoại quan hệ Nhanvien tham chiếu khóa ngoại quan hệ Nhanvien tham chiếu

đến K

(25)

7 Quy tắc chuyển đổi từ ERD MHQH

(26)(27)

Ràng buộc toàn vẹn –

Intergrity Constraint (IC)

 Phải với thể lược

đồ quan hệ Ex., ràng buộc miền giá trị.

 ICs mô tả định nghĩa lược đồ

 ICs kiểm tra DBMS quan hệ (thể hiện) cập nhật

 Sự khác quan hệ

(28)

Ràng buộc khóa chính

Super key (siêu khóa): SK r

thuộc tính hay tập hợp thuộc tính để xác định bộ quan hệ

(khơng có hai thể quan hệ r(R) có giá trị SK).

 i.e., Với phân biệt t1 t2 r(R),

t1[SK] <> t2[SK].

(29)

Candidate Key

Candidate key K r(R) thỏa mãn điều kiện:

 K SK,

 K SK bé (K’K, K’≠K, K’ SK)

 Quan hệ r có nhiều khóa K  Ex:

 XE{TINH_TP, SOXE, SOHIEUXE, NOISX, KIEUDANG,

NAM}

 Có hai SK K1 = {TINH_TP, SOXE}, K2 = {SOHIEUXE},

(30)

Primary Key – Khóa chính

 Nếu có nhiều Khóa (candidate key) quan

hệ, người thiết kế người quản trị CSDL chọn khóa khóa để nhận biết quan hệ

 Các thuộc tính khóa gạch

 Các thuộc tính khóa PK quan hệ r không

thể mang giá trị null giá trị khóa dùng để xác định

t[PK] <>null tr(R)

 Các thuộc tính khác r có ràng buộc

quy định khơng có giá trị null, cho dù chúng khơng tham gia vào khóa

(31)

Alternate Key

 Là Candidate Key không chọn

là primary key.

 Được khai báo ràng buộc

(32)

Ràng buộc khóa ngoại tồn vẹn tham chiếu

 Tập hợp thuộc tính quan hệ (quan hệ con)

được dùng để tham chiếu tới quan hệ khác (quan hệ cha) Khóa ngoại phải tham chiếu tới khóa

chính quan hệ đựợc tham chiếu

KHOA MAKHOA TENKHOA

CNTT Cong nghe Thong tin

VT Vien thong

DT Dien tu

SVIEN TENSV MASV MAHK

Nhat 11 CNTT

(33)

Foreign Key – Khóa ngoại

 Cho FK r

1, FK ≠, FK gọi khóa ngoại r1 (tham chiếu đến r2) khi:

 Các thuộc tính FK phải có miền giá trị với thuộc tính khóa PK r2

 Giá trị FK t1r1 giá trị PK t2r2 giá trị rỗng null Trường hợp đầu, ta nói t1 tham chiếu tới t2 (t1[FK]=t2[PK])

(34)

Các đặc điểm Mơ hình Quan hệ

 Khơng có trùng – phải kiểm tra khi:

 Thêm  Sửa giá trị

 Một quan hệ tạo thu gọn quan hệ cũ

 Ngầm định khóa ln tồn

 Thứ tự r không quan trọng

 Một bảng đại diện quan hệ

 Tuy nhiên, lưu trữ vật lý quan hệ phải có thứ tự

 Giá trị bộ:

 Tất giá trị xem atomic (không thể phân chia

nữa)

 Giá trị phải thể hiện:

 Chúng thay giá trị đặc biệt null

 Null có nhiều ý nghĩa: “không biết”, “không quan tâm”, “không thể

(35)

Thao tác CSDL Quan hệ

 Có hai loại thao tác:

 Cập nhật liệu (thay đổi liệu)  Truy vấn liệu (rút trích liệu)

 Các cách thực hiện:

 Ngơn ngữ hình thức: Đại số quan hệ - cho phép mô tả câu truy vấn dạng chuỗi phép toán đại số

(36)

Một ví dụ minh họa

 Lược đồ CSDL quan hệ: Quản lý Đề án Công ty

 NHANVIEN(HONV,TENLOT,TENNV,MANV,NGSINH,DCHI,

PHAI,LUONG,MA_NQL,PHG)

 PHONGBAN(TENPHG,MAPHG,TRPHG,NG_NHAMCHUC)  DIADIEM_PHG(MAPHG,DIADIEM)

 THANNHAN(MA_NVIEN,TENTN,PHAI,NGSINH,QUANHE)  DEAN(TENDA,MADA,DDIEM_DA,PHONG)

(37)

NHANVIEN

HONV TENLOT TENNV MANV NGSINH DCHI PHAI LUONG MA_NQL PHG Dinh Van Thong 12345 14/2/77 Hue Nam 500 54321 1

Tran null Hung 23451 24/5/68 HCM Nam 700 18794 Le Minh Nhat 67543 12/7/75 HN Nam 450 null Huynh Chi Thanh 78694 6/12/70 BD Nam 500 79864 null

(38)

PHONGBAN

TENPHG MAPHG TRPHG NG_NHAM CHUC

Nghien cuu 5 12345 5/12/99

Quan ly 67895 3/1/04

Thuc hien 2 67543 1/5/02

DIADIEM_PHG

MAPHG DIADIEM TP HCM

2 HN

4 DN

(39)

PHANCONG

MA_NV SODA THOIGIAN 12345 1 32.5

23451 24

67543 1 21 78694 2 87964

67543 2 12345 1 12 75864 9

78789

THANNHAN

MA_NVIEN TENTN PHAI NGSINH QUANHE 12345 Trinh Nam 2/3/70 Anh trai

75864 Minh Nam 4/6/85 Em trai

57853 Luc Nu Null Chi

23451 Tuan Nam 4/2/56 Cha

75864 Mai Nu 5/8/89 Em gai

DEAN

TENDA MADA DDIEM_DA PHONG 112CP HCM

(40)(41)

Ngôn ngữ truy vấn

 Query Language (QL): ngôn ngữ cho phép user

thực rút trích liệu từ CSDL

 QL ≠PL (ngơn ngữ lập trình)

 QL khơng nhằm mục đích dùng cho ứng dụng phức

tạp

 QL hỗ trợ truy xuất dễ dàng tới tập tin liệu lớn

 Ngôn ngữ truy vấn (tốn học) sở ngơn

ngữ thực (vd., SQL)

 Hiểu đại số quan hệ chìa khóa để hiểu cách

(42)

Đại số Quan hệ

 Ngôn ngữ thủ tục (???)

 Bao gồm tập hợp phép toán áp

dụng thể quan hệ, kết một câu truy vấn thể quan hệ.

 Chuỗi phép tốn đại số quan hệ hình

(43)

Các phép toán quan hệ

 Phép chọn  Phép chiếu  Phép gán  Phép đổi tên

 Các phép toán hình thành từ lý thuyết tập hợp tốn học:

 Phép hội

 Phép giao

 Phép trừ

 Phép tích Cartesian

 Phép kết

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

 Các phép toán quan hệ khác: Phép chia, OUTER JOIN,

(44)

Phép chọn (Selection Operator)

 Dùng để trích chọn từ quan hệ r Các trích chọn phải thỏa mãn điều kiện P

 Ký hiệu: P(r) = {t | t r P(t)}r: quan hệ chọn

 P: biểu thức mệnh đề điều kiện:  <attr> op <attr> hay <const>

 op: =, ≠, , , …

 Các điều kiện liên kết với thông qua , ,

 Kết trả quan hệ, có danh sách thuộc tính với quan hệ r

 Phép chọn có tính giao hốn:

(45)

Example

A B C D

  1 7   5 7   12 3   23 10

A B C D

  1 7   23 10

Quan hệ r

A=B D5(r)

 Cho biết:

 Những nhân viên thuộc phòng số  Những nhân viên có lương > 3000

 Những nhân viên thuộc phòng số lương > 3000,

(46)

Phép chiếu (Project Operation)

 Dùng để trích chọn vài cột quan hệ r

chỉ danh sách thuộc tính

 Ký hiệu: A1,A2, …,Ak(r)  r: quan hệ

 A1,A2, …,Ak: thuộc tính chiếu

 Kết trả quan hệ có k thc tính theo

thứ tự liệt kê

 Số lượng quan hệ kết phép

chiếu ln ln số lượng r Các dòng trùng loại bỏ khỏi quan hệ kết

(47)

Example

A B C

 10 1  20 1  30 1  40 2

A C

 1  1  1  2

Quan hệ r

A,C(r)

 Cho biết:

 Họ tên lương tất nhân viên  Mã phòng lương tất nhân viên

A C

(48)

Phép gán (Assignment Operation)

 Cung cấp cách thức để diễn tả câu truy vấn phức

tạp

 Ý tưởng: viết câu truy vấn chương trình tuần

tự gồm chuỗi phép gán, theo sau biểu thức có giá trị trình bày kết câu truy vấn

 Ký hiệu: 

 Việc gán luôn thực cho biến quan hệ tạm  Biến nằm bên trái biểu thức gán sử

(49)

Phép đổi tên (Rename Operation)

 Cho phép đặc tên, để tham chiếu tới kết

quả biểu thức đại số quan hệ

 Cho phép tham chiếu tới quan hệ nhiều

tên (vd., quan hệ dùng hai lần biểu thức đại số quan hệ)

Đổi tên quan hệ tên thuộc tính:

 Cho biểu thức đại số quan hệ E có n thuộc tính,

biểu thức

(A1, A2, …, An)(E)

trả kết biểu thức E tên , với tên

(50)

Đổi tên quan hệ tên thuộc tính

Đổi tên quan hệ:

 Cho biểu thức đại số quan hệ E, biểu thức

(E) trả kết biểu thức E tên 

Đổi tên thuộc tính:

 Cho biểu thức đại số quan hệ E có n thuộc tính, biểu thức (A1, A2, …, An)(E)

(51)

Chuỗi phép toán

 Kết hợp phép toán đại số quan hệ với

nhau hai cách:

 Tạo biểu thức đại số quan hệ cách lồng phép toán với

(52)

Examle

 Tìm họ tên lương nhân viên làm việc phòng

số 4.

HONV,TENLOT,TENNV,LUONG(PHG=4(NHANVIEN))

 hoặc:

NV_P4  PHG=4(NHANVIEN)

KQ  HONV,TENLOT,TENNV,LUONG(NV_P4)

 hoặc đổi tên cách liệt kê tên

thuộc tính dấu ngoặc:

NV_P4  PHG=4(NHANVIEN)

(53)

Các phép toán tập hợp

 Các phép toán thực quan hệ xuất

phát từ lý thuyết tập hợp toán học

 Phép hội: r  s  Phép giao: r  s  Phép trừ: r – s

 Phép tích Cartesian: rs

 Đối với phép toán , , hay –, quan

(54)

Quan hệ Khả hợp

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

Bn) gọi khả hợp khi:

 Số lượng thuộc tính r, s phải

(cùng bậc n)

 Miền giá trị thuộc tính phải tương thích

(dom(Ai)=dom(Bi)), với 1in.

 Quan hệ kết , , hay – có tên

(55)

Phép hội (Union Operation)

 Ký hiệu: r  s  Định nghĩa:

r  s = {t | t  r  t  s}

 r s hai quan hệ khả hợp  Ex1: 

 Ex2: Mã nhân viên có tham gia

đề án có thân nhân hai A B  1  2  1 A B  2  3 A B  1  2  1  3

Quan hệ r Quan hệ s

(56)

Phép Giao (Set-Intersection Operation)

 Ký hiệu: r  s

 Định nghĩa:

r  s = {t | t  r  t  s}

 r s hai quan hệ khả

hợp.

 Ex1: 

 Ex2: Mã nhân viên có

người thân phân công vào đề án.

A B  1  2  1 A B  2  3 A B  2

Quan hệ r Quan hệ s

(57)

Phép trừ (Set Difference Operation)

 Ký hiệu: r – s.  Định nghĩa:

 r – s = {t | t  r  t  s}

 r s hai quan hệ khả

hợp.

 Ex1: 

 Ex2: Mã nhân viên

khơng có thân nhân cả. A B  1  2  1 A B  2  3 A B  1  1

Quan hệ r Quan hệ s

(58)

Phép tích (Cartesian Product Operation)

 Ký hiệu: r  s  Định nghĩa:

r  s = {t.q | t  r  q  s}

 Các thuộc tính r(R) s(S) khác (i.e r  s = )

 Nếu thuộc tính r(R) s(S) khơng khác phải đổi tên

chúng

 Mỗi t tập kết tổ hợp t1 r t2 s

cho:

t[A1, A2, …, Anr] = t1 t[B1, B2, …, Bms] = t2

(59)

Example 1

Nhận xét: Phép tích Cartersian

phép tính vơ nghĩa đứng riêng Tuy nhiên, kết hợp liên quan từ hai quan hệ sau phép toán chọn  phù hợp (xem ví dụ trang

sau)

C D E

 10 +  10 +  20   10 

A B

 1  2

A B C D E

 1  10 +  1  10 +  1  20   1  10   2  10 +  2  10 +  2  20   2  10 

Quan hệ r

Quan hệ s

(60)

Example 2

A B C D E

 1  10 +  1  10 +  1  20   1  10   2  10 +  2  10 +  2  20   2  10 

r s

A B C D E

 1  10 +  2  10 +  2  20 

(61)

Example 3

 Kết hợp PHONGBAN với NHANVIEN

người quản lý (trưởng phòng) Với phịng ban, cho biết thơng tin người trưởng phòng

PB_NV  PHONGBAN  NHANVIEN

PB_TRPHG_INFO  MANV=TRPHGPB_NV

 Hoặc:

(62)

Example 4

 Cho biết lương cao công ty.

 Quan hệ chứa lương lớn

temp=NHANVIEN.LUONG(NHANVIEN.LUONGNV.LUONG(NHANVIEN

NV(NHANVIEN)))

(63)

Example 5

 Cho biết phịng ban có địa điểm với

phòng số

 Tìm địa điểm phịng số

DIADIEM(MAPHG=5(DIADIEM_PHG)

 Đổi tên thành PHG_5 đổi tên thuộc tính DIADIEM

thành DD

(64)

Phép kết (Join Operation)

 Natural Join

(65)

Natural Join

 Ký hiệu: rs (hoặc r*s)

 r, s quan hệ tương ứng lược đồ R

S Kết trả quan hệ lược đồ RS

kết có cách xét đến cặp trr

và tss

 Nếu tr ts có giá trị thuộc tính

RS (cùng tên thuộc tính), t thêm

vào quan hệ kết cho:

(66)

Example

 Cho quan hệ R(A,B,C,D) S(B,D,E)  Phép kết áp dụng RS   Lược đồ kết (A,B,C,D,E)

 Và kết rs định nghĩa là:

R.A,R.B,R.C,R.D,S.E((R.B=S.BR.D=S.D(rs))

A B C D E

 1  a   1  a   1  a   1  a   2  b 

A B C D

 1  b  2  a  4  b  1  a  2  b

B D E a 

3 a 

1 a 

2 b 

(67)

Condition Join

 Ký hiệu: r

cs

 C: điều kiện tồn thuộc tính RS, lược đồ kết giống phép tích Cartesian Nếu RS điều kiện c tham chiếu

tới thuộc tính này, số thuộc tính phải đổi tên

 Đơi cịn gọi Theta join r

s

 Nguồn gốc: rcs = c(rs)

(68)

Example

A B C

D E

A B C D E 3 1 6

r s

(69)

EQUI-JOIN

 Nếu  phép so sánh “=” phép kết gọi

phép kết – Equi-Join

 Ex:

 Tên phòng ban tên trưởng phòng phòng ban

A B C

C D

10 12 A B C SC D 6

r s

(70)

Một số lưu ý

 Giữa quan hệ có nhiều tập thuộc tính kết mang ý

nghĩa khác Vd:

 Ex: Tìm tên nhân viên tên phịng ban mà nhân viên làm việc

(?)

 Một quan hệ có tập thuộc tính kết để kết với quan

hệ Trong trường hợp này, phải sử dụng phép đổi tên Vd:

 Ex: Tìm tên nhân viên tên người giám sát nhân viên (?)

Thuộc tính kết Mối kết hợp

NHANVIEN.MANV=PHONGBAN.TRPHG NHANVIEN quản lý PHONGBAN NHANVIEN.PHG=PHONGBAN.MAPHG NHANVIEN làm việc PHONGBAN

Thuộc tính kết Mối kết hợp

(71)

Tập đầy đủ phép toán ĐSQH

 Các phép tóan sở: phép chọn, chiếu, hội, giao, trừ, tích  Tập hợp {,,,,,} gọi tập đầy đủ phép toán

ĐSQH

 Nếu E1 E2 biểu thức ĐSQH, biểu thức sau

cũng biểu thức ĐSQH:

 E1  E2  E1  E2  E1  E2

 P(E1), với P vị từ (điều kiện) thuộc tính E1  A(E1), với A danh sách thuộc tính E1

 (E1), với  tên cho quan hệ kết [và thuộc tính]

(72)

Phép chia (Division Operator)

 Áp dụng cho câu truy vấn có từ “tất cả”

 Mục tiêu: Đưa quan hệ, r, cho khớp với

tất quan hệ khác, s

 Ký hiệu: r  s

 Điều kiện: thuộc tính S phải tập thuộc tính

của R, i.e., S  R Cho r, s quan hệ tương ứng lược đồ

R, S

R = (A1, A2, …, Am,B1, …, Bn)

S = (B1, …, Bn)

 Kết phép chia r  s quan hệ lược đồ R-S =

(A1, A2, …, Am)

 Kết phép chia bao gồm tập hợp lấy từ r được định

nghĩa thuộc tính R-S cho khớp với việc kết hợp s

r  s = {t | t  R-S(r)  u  s : t.u  r}

 Nghĩa là, r  s, với thuộc tính A

1, A2, …, Am, tập hợp chứa

tất t cho với u s, có t.u

(73)

Nguồn gốc

 Cho quan hệ r(Z), s(X), X  Z.

 Gọi Y = Z – X (và Z = X  Y) Y tập

hợp thuộc tính r khơng thuộc tính s.

 Phép chia diễn đạt

phương pháp ĐSQH sở:

 t1 

(r)  t2 

(74)

Examples A B  1  2  3  1  1  1  3  4  6  1  2 B r s

A B C D E

 a  a 1  a  a 1  a  b 1  a  a 1  a  b 3  a  a 1  a  b 1  a  b 1

D E a b r s A  

r

s

A B C

 a   a 

r

s

 Ex3: Mã nhân viên tham gia tất đề án

(75)

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

 Mở rộng phép chiếu cách cho phép sử dụng

các hàm số học danh sách chiếu

 F1, F2, …, Fk(E)

 E biểu thức đại số quan hệ

 F1, F2, …, Fk biểu thức số học có liên quan

đến thuộc tính lược đồ E

 Ex: Cho quan hệ THETINDUNG(MSTHE,

TRIGIATHE, SOTIENSD) Tìm số tiền cịn lại thẻ:

(76)

Các phép toán khác

 Hàm kết hợp – Aggregate Functions nhận vào tập hợp giá trị

trả giá trị đơn

 Avg (average value): giá trị trung bình  Min (minimum value): giá trị nhỏ  Max (maximum value): giá trị lớn  Sum (sum of values): tính tổng giá trị  Count (number of values): đếm số mẫu tin

 Phép toán gom nhóm – Grouping  ĐSQH:

G1, G2, …, GnF1(A1), F2(A2), …, Fn(An)(E)

 E biểu thức đại số quan hệ

 Gi tên thuộc tính gom nhóm (có thể khơng có)  Fi hàm gom nhóm

(77)

Examples

A B C

  7   7   3   10

SUM_C 27

r

SUM(C)(r)

 Tính số lượng nhân viên

lương trung bình nhân viên

 Quan hệ NHANVIEN sau

gom nhóm:

… MANV … LUONG MA_NQL PHG … 123456789 … 30000 333445555 … 333445555 … 40000 888665555 … 666884444 … 38000 333445555 … 453453453 … 25000 333445555 … 999887777 … 25000 987654321 … 987654321 … 43000 888665555 … 987987987 … 25000 987654321 … 888665555 … 55000 null

(78)

 Số lượng nhân viên lương

trung bình cơng ty:

COUNT_MANV AVG_LUONG 35125

COUNT(MANV),AVG(LUONG)(NHANVIEN)

 Số lượng nhân viên lương

trung bình phịng ban, khơng sử dụng phép đổi tên:

PHG COUNT_MANV AVG_LUONG 33250

4 31000 1 55000

PHGCOUNT(MANV),AVG(LUONG)(NHANVIEN)

 Số lượng nhân viên lương

trung bình phịng ban, có sử dụng phép đổi tên:

MAPHONG SONV LUONGTB 33250 31000 1 55000

(79)

Outer Join

 Mở rộng phép kết để tránh mát thông tin

 Thực phép kết sau thêm vào kết

phép kết quan hệ mà không phù hợp với quan hệ

 hình thức:

(80)

Example: HONV TENLOT TENNV TENPHG

Nguyen Thanh Tung Nghien cuu Tran Hong Quang Dieu hanh Pham Van Vinh Quan ly

HONV TENLOT TENNV TENPHG Dinh Ba Tien Null

Nguyen Thanh Tung Nghien cuu Bui Ngoc Hang Null

Le Quynh Nhu Null Nguyen Manh Hung Null Tran Thanh Tam Null

Tran Hong Quang Dieu hanh Pham Van Vinh Quan ly

HONV,TENLOT,TENNV,TENPHG(NHANVIEN MANV=TRPHGPHONGBAN)

(81)

Các thao tác cập nhật quan hệ

 Nội dung CSDL cập nhật

bằng cách dùng thao tác: Thêm, Xóa, Sửa.

 Tất thao tác diễn đạt thơng

qua phép tốn gán:

(82)

Thêm (Insertion)

 Hoặc nêu cần chèn, viết câu truy

vấn mà kết tập hợp cần chèn

 Trong ĐSQH, thao tác chèn diễn đạt sau:

r r E

r quan hệ E biểu thức ĐSQH

Ex: Phân công cho nhân viên 123456789 làm thêm đề

án số 20 với số 10

(83)

Xoá (Deletion)

 Yêu cầu xóa diễn đạt câu truy vấn, khác chổ, thay

hiển thị kết với người dùng, chọn bị xóa khỏi CSDL

 Chỉ xóa tồn bộ, khơng thể xóa vài giá trị

thuộc tính

 Thao tác xóa diễn đạt ngơn ngữ ĐSQH sau:

r r E

r quan hệ E câu truy vấn ĐSQH

Ex1: Xóa tất phân công đề án cho nhân viên 123456789  PHANCONG  PHANCONG – (MA_NVIEN=‘123456789’(PHANCONG))  Ex2: Xóa tất phân công đề án mà địa điểm đề án “HA

NOI”

 r1  DDIEM_DA=‘HANOI’(PHANCONG SODA=MADADEAN)  r2  MA_NV,SODA,THOIGIAN(r1)

(84)

Sửa (Updating)

 Cơ chế làm thay đổi giá trị mà không làm thay đổi tất

giá trị

 Để cập nhật, sử dụng phép chiếu tổng quát hóa sau:

r F1, F2, …, Fn(r)

 Mỗi Fi có giá trị trả giá trị cho thuộc tính thứ i r, thuộc tính thứ i

có thể giữ ngun (nếu khơng muốn cập nhật) cập nhật với giá trị

 Fi biểu thức, bao gồm thuộc tính r, để đưa giá trị

cho thuộc tính

 Có thể biểu diễn chuỗi thao tác xóa thêm Phép

tốn xóa xóa có giá trị cũ phép tốn thêm chén thêm có giá trị

Ex1: Tăng thời gian làm việc tất nhân viên lên 1.5 lần  PHANCONG  MA_NV,SODA,THOIGIAN*1.5(PHANCONG)

Ex2: Trong quan hệ PHANCONG, nhân viên làm việc 30

tăng thời gian làm việc 1.5 lần, lại tăng thời gian làm việc lần

 PHANCONG  MA_NV,SODA,THOIGIAN*1.5(THOIGIAN>30(PHANCONG)) 

Ngày đăng: 15/04/2021, 13:49

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w