Tải bản đầy đủ (.pdf) (35 trang)

Bài giảng cơ sở dữ liệu chương IV ths lương thị ngọc khánh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (806.58 KB, 35 trang )

CƠ SỞ DỮ LIỆU
GV: ThS. Lương Thị Ngọc Khánh
Email:
Web: it.tdt.edu.vn/~ltnkhanh


Chương IV

ĐẠI SỐ QUAN HỆ





Giới thiệu
Phép chọn
Phép chiếu
Phép tích
decac
• Phép kết nối







Phép
Phép
Phép
Phép


Phép

hợp
giao
hiệu
chia
đặt lại tên


Giới thiệu
• Đại số quan hệ
– là phương pháp để mô hình hóa các phép toán
thao tác trên CSDL quan hệ.
– là ưu điểm của mô hình dữ liệu quan hệ
– đơn giản nhưng khá mạnh và là một đại số có
tính đầy đủ, phi thủ tục.
– là một cơ sở cho việc thiết lập các ngôn ngữ
con dữ liệu bậc cao hơn.

01-2014

504009 – Đại số quan hệ

3


Khái niệm liên quan
• Hai quan hệ tương thích/ rời nhau
– hai quan hệ r1, r2 là tương thích với nhau nếu
chúng có cùng tập thuộc tính U. Và r1, r2 được

gọi là hai quan hệ rời nhau nếu chúng không có
thuộc tính chung.

• Khái niệm xếp cạnh nhau:
Giả sử cho bộ t = (a1, a2,…, an), u = (b1, b2, …,
bm) ta có: t,u = (a1, a2,…, an, b1, b2, …,
bm)
01-2014

504009 – Đại số quan hệ

4


Phép chọn (Selection)
• Ký hiệu 
• Dùng để xây dựng một tập con các bộ thỏa
mãn một điều kiện cho trước.
• Kết quả của phép chọn trên quan hệ r với
điều kiện C được ký hiệu là C(r).
C(r) = {t / t  r, C(t) = True}

01-2014

504009 – Đại số quan hệ

5


Phép chọn (tt)

– Biểu thức lôgic C được tạo thành từ các biểu
thức có dạng:
 tên thuộc tính  toán tử so sánh giá trị hằng
hoặc
 tên thuộc tính toán tử so sánh tên thuộc
tính ,
– trong đó
• tên thuộc tính là tên của một thuộc tính thuộc R
• toán tử so sánh là các toán tử thông thường {=, <,
≤, >, ≥, ≠}
• giá trị hằng là một giá trị trong miền thuộc tính.
01-2014

504009 – Đại số quan hệ

6


Phép chọn (tt)
– Ví dụ: Trên quan hệ HOCBONG,
• phép chọn (DiemTB≥9.0)(HOCBONG) ta có kết quả
như sau:

maSoSV

hoTenSV

Ngaysinh

ĐiemTB


MucHBg

Ti05020

Lê Ngọc Phúc

06-12-1988

9.0

240.000

01-2014

504009 – Đại số quan hệ

7


Phép chọn (tt)
• Lưu ý:
– Toán tử so sánh trong tập {=, <, ≤, >, ≥, ≠} chỉ áp
dụng được cho những thuộc tính có MGT có thứ
tự. Nếu miền thuộc tính ko có thứ tự, khi đó toán
tử so sánh có thể áp dụng chỉ là tập {=, ≠}.
– Các toán tử chọn có tính giao hoán, cụ thể:
– <C1>(<C2>(R)) = <C2>(<C1>(R))

01-2014


504009 – Đại số quan hệ

8


Phép chọn (tt)
• Cho các lược đồ quan hệ sau:
– SINHVIEN (MaSV, Hoten, Namsinh, QQ, Hocluc)
• Mỗi sinh viên có Mã số duy nhất, họ tên, quê quán và học
lực

– DETAI (MaDT, TenDT, Chunhiem, Kinhphi)
• Mỗi đề tài có Mã số duy nhất, tên đề tài, chủ nhiệm đề tài,
kinh phí thực hiện đề tài (đơn vị tính: triệu đồng)

– SV_DT (MaSV, MaDT, NoiAD, KQ)
• Mỗi SV có thể thực hiện một hoặc nhiều ĐT: mã số sinh
viên, mã đề tài, nơi áp dụng, kết quả thực hiện đề tài

• Ta có cơ sở dữ liệu mẫu được cho như sau:
01-2014

504009 – Đại số quan hệ

9


Phép chọn (tt)


01-2014

504009 – Đại số quan hệ

10


Phép chọn (tt)

01-2014

504009 – Đại số quan hệ

11


Phép chọn (tt)

Vd: Tìm những SV sinh trước 1984 và quê ở Đồng Tháp:

 (Namsinh<1984 ^ QQ='Đồng Tháp')(SINHVIEN)

01-2014

504009 – Đại số quan hệ

12


Phép chiếu (Projection)

• Phép chiếu: Ký hiệu 
– Cho r là một quan hệ trên lược đồ quan hệ
R(U), X  U, khi đó
X (r) = {t[X] / t  r} trong đó t[X] là giá trị bộ t trên
tập thuộc tính X.
Vd: phép chiếu MasoSV,DiemTB(HOCBONG) ta có
kết quả sau:
maSoSV
diemTb

01-2014

Ti05020

9.0

Ti05023

8.2

Ti05027

8.5

Ti05006

7.8

504009 – Đại số quan hệ


13


Phép chiếu (tt)
• Nhận xét:
– Để thực hiện phép chiếu 1QH trên một tập thuộc
tính thực hiện 2 thao tác:
• Giữ lại các thuộc tính trong tập X
• Chọn bộ đại diện trong các bộ giống nhau.

01-2014

504009 – Đại số quan hệ

14


Phép chiếu (tt)
• Ví dụ:
– Tìm họ tên, năm sinh của những sinh viên có
quê quán ở Cần Thơ

Hoten, Namsinh((QQ='Cần

01-2014

thơ')(SINHVIEN))

504009 – Đại số quan hệ


15


Phép chiếu (tt)
• Ví dụ: Xem lại CSDL
– Tìm mã số, tên của những đề tài do thầy Lê Đức
Phúc chủ nhiệm có kinh phí từ 10tr trở lên.
MaDT, TenDT((Chunhiem='Lê Đức Phúc' ^ Kinhphi >= 10)(DETAI))

01-2014

504009 – Đại số quan hệ

16


Phép tích Descartes
• Phép tích Descartes
– Tích Descartes của hai quan hệ chỉ xét trên hai
LĐQH rời nhau.
– Cho hai lược đồ R1, R2 tương ứng với hai tập
thuộc tính: U1 = {A1, A2,…,An}
U2 = {B1, B2,…,Bm} với U1  U2 = 
– Giả sử r, s là hai QH trên R1, R2 tương ứng, khi
đó:
r  s = {t/ t = t1, t2, t1  r, t2  s)}
01-2014

504009 – Đại số quan hệ


17


Phép tích Descartes (tt)

01-2014

504009 – Đại số quan hệ

18


Phép kết nối (join)
• Phép kết nối
– Cho  là một trong các phép so sánh sau: =,
>,<, ≠, ≥, ≤.
– r là một quan hệ xác định trên tập thuộc tính
(A1, A2, …, An) và s là một quan hệ trên tập
thuộc tính (B1, B2,…,Bm).
r ⋈ Ai  Bj s = {t,u/ t  r, u  s và t[Ai]  u[Bj]}

01-2014

504009 – Đại số quan hệ

19


Phép kết nối (tt)
– Nếu  là “=” thì phép kết nối được gọi là kết nối

bằng.
– Nếu kết nối bằng tại thuộc tính trùng tên của hai
quan hệ r, s  phép kết nối tự nhiên và ký
hiệu là r  s (hoặc r ⋈ s) cho kết quả của nó.
• một trong hai thuộc tính đó được loại bỏ khỏi kết quả

– Ví dụ: Tìm tên những đề tài được áp dụng ở
Đồng Tháp và cho biết họ tên của những sinh
viên thực hiện tương ứng.
 TenDT, Hoten((NoiAD='Đồng Tháp')(SINHVIEN *
SV_DT * DETAI))
01-2014

504009 – Đại số quan hệ

20


Phép kết nối (tt)
• Ví dụ:
r

01-2014

s D

F

A


B

C

2

f1

a1

b1

1

3

f2

a2

b2

3

a3

b

2


r ⋈C>=Ds A

504009 – Đại số quan hệ

B

C D F

a2

b2 3

2 f1

a2

b2 3

3 f2

a3

b

2 f1

2

21



Phép kết nối (tt)
• Ý nghĩa:
– Phép kết nối được dùng để kết hợp hai bộ có
liên quan nhau thuộc hai quan hệ khác nhau
thành một bộ mới.
– nói cách khác, phép kết nối cho phép xử lý mối
liên quan giữa các quan hệ trong một CSDL.

01-2014

504009 – Đại số quan hệ

22


Phép hợp (Union)
• Phép hợp
– Hợp của hai quan hệ tương thích r1, r2 ký hiệu
r1  r2 là một quan hệ trên U gồm các phần tử
thuộc r1 hoặc r2.
r1 r2 = {t: t  r1 hoặc t  r2}

01-2014

504009 – Đại số quan hệ

23



Phép hợp (tt)
• Ví dụ: Cho 2 LĐQH sau:
Canbo(Maso, Hoten, Ngsinh, QQ, Hs_luong)
Giangvien(Maso,
Hoten,
Ngaysinh,
QQ,
Hs_luong)
- In ra danh sách gồm: mã số và họ tên của tất cả
các cán bộ và giảng viên:
∏Maso, Hoten(Canbo U Giảngviên)

01-2014

504009 – Đại số quan hệ

24


Phép giao (Intersection)
• Giao của hai quan hệ tương thích r1, r2 ký
hiệu r1  r2 là một quan hệ trên U gồm các
bộ vừa thuộc r1 vừa thuộc r2.
r1 r2 = {t: t  r1 và t  r2}

01-2014

504009 – Đại số quan hệ

25



×