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

Bài giảng Hệ cơ sở dữ liệu: Chương 4 - TS. Lê Thị Tú Kiên

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 (984.25 KB, 103 trang )

CHƢƠNG 4
Các ngôn ngữ thao tác trên
quan hệ
Tiến sĩ: Lê Thị Tú Kiên


Mục tiêu


Biểu diễn một câu hỏi (truy vấn) trên CSDL quan hệ
dưới dạng





Biểu thức ngôn ngữ đại số quan hệ



Biểu thức ngôn ngữ tân từ biến bộ hoặc biến miền



Câu lệnh truy vấn trong ngôn ngữ SQL

Nhận biết được sự tương đương giữa hai ngơn ngữ
hình thức đại số quan hệ và ngơn ngữ tân từ




Hai ngơn ngữ hình thức là cơ sở của ngôn ngữ
SQL

Dept. of IS - FIT - HNUE


Ngôn ngữ đại số quan hệ

Dept. of IS - FIT - HNUE


Giới thiệu


Là một trong hai ngơn ngữ hình thức của mơ hình
dữ liệu quan hệ



Là ngơn ngữ có tính thủ tục


Mỗi câu hỏi được biểu diễn thông qua việc áp dụng có thứ
tự một tập các phép tốn



Các phép tốn



Tập hợp: phép hợp, phép giao, phép hiệu và phép tích đề

các


Quan hệ: phép toán quan hệ như phép chọn, phép chiếu,
Dept. of IS - FIT - HNUE
phép kết nối, phép chia


Hai quan hệ khả hợp


Hai quan hệ là khả hợp nếu chúng cùng xác
định trên một tập thuộc tính.
r2

r1
STT

Ho

Ten

GioiTinh

STT

Ho


Ten

GioiTinh

1

Trần

A

Nam

1

Trần

D

Nữ

2

Trần

B

Nam

2


Trần

E

Nữ

3

Trần

C

Nam
Dept. of IS - FIT - HNUE


Phép hợp


r1

r2

r1  r2 = { t | t r1 hoặc t r2}
STT

Ho

Ten


GioiTinh

1

Trần

A

Nam

2

Trần

B

3

Trần

C

STT

Ho

Ten

r1  r2
STT


Ho

Ten

GioiTinh

Nam

1

Trần

A

Nam

Nam

2

Trần

B

Nam

3

Trần


C

Nam

1

Trần

D

Nữ

E

Nữ

GioiTinh

1

Trần

D

Nữ

2

Trần


E

2
Trần
Nữ Dept. of IS - FIT - HNUE


Phép giao


r1

r1  r2 = { t | t r1 và t r2}
Ho

Ten

GioiTinh

Trần

E

Trần
Trần

Ho

Ten


GioiTinh

Nữ

Trần

B

Nam

B

Nam

Trần

E

Nữ

C

Nam

Trần

C

Nữ


r1  r2

r2

Ho

Ten

GioiTinh

Trần

B

Nam

Trần

Dept.
- HNUE
E of IS - FITNữ


Phép hiệu


r1

r1 - r2 = { t | t r1 và t r2}

Ho

Ten

GioiTinh

Trần

E

Trần
Trần

Ho

Ten

GioiTinh

Nữ

Trần

B

Nam

B

Nam


Trần

E

Nữ

C

Nam

Trần

C

Nữ

r2

r2 – r1

r1 - r2
Ho

Ten

Trần

C


GioiTinh

Ho

NamDept. of IS - FIT Trần
- HNUE

Ten

GioiTinh

C

Nữ


Phép tích đề các


Bộ ghép nối
r1 xác định trên U1 và r2 xác định trên U2

t1= (a1, a2, ..., an)  r1 và t2 = (b1, b2, …, bm)  r2
 (t1,t2) = (a1, a2, ..., an, b1, b2, …, bm)

Ví dụ: U1= {Ho, Ten, GioiTinh}, U2 = {SBD, DiaChi}
r1/U1 và r2/U2

t1 = (Trần, A, Nam) và t2 = (SF001, Hà nội)
Dept. of IS - FIT - HNUE


 (t1, t2) = (Trần, A, Nam, SF001, Hà nội)


Phép tích đề các


Định nghĩa phép tích đề các
r1 x r2 = {t= (a1, a2, ..., an, b1, b2, …, bm) |

(a1, a2, ..., an)  r1 và (b1, b2, …, bm)  r2 }

Dept. of IS - FIT - HNUE


Ví dụ phép tích đề các
r1

Ho

r 1 x r2

Trần

r2

Đỗ

Ho


Nguyễn

Trần

A

Nữ

Trần

B

Nam

Đỗ

A

Nữ

Đỗ

B

Nam

Nguyễn

A


Nữ

Nguyễn

B

Nam

Ten

A
B

GioiTinh

Nữ
Nam

Ten

Dept. of IS - FIT - HNUE

GioiTinh


Phép chia



r1r2 = {t | t= (am+1, am+2, ..., an):


 (a1, a2, ..., am)  r2,
(a1, a2, ..., am, am+1, am+2, ..., an)  r1}

Dept. of IS - FIT - HNUE


Ví dụ phép chia
r2

r1
MaSV

MaMonHoc

Diem

MaMonHoc
HP1

SP1

HP1

5.0
HP2

SP1

HP2


7.5
HP3

SP2

HP3

4.5

SP1

HP3

8.0

SP2

HP2

Cho biết những mã sinh
viên đã có điểm tất cả
7.5
Dept. of IScác
- FIT - HNUE
học phần?


Ví dụ phép chia
r3  MaSV, MaMonHoc(r1)


r1
MaSV

MaMonHoc

Diem

MaSV

MaMonHoc

SP1

HP1

5.0

SP1

HP1

SP1

HP2

7.5

SP1


HP2

SP2

HP3

4.5

SP2

HP3

SP1

HP3

8.0

SP1

HP3

SP2

HP2

7.5

SP2


HP2

Dept. of IS - FIT - HNUE


Ví dụ phép chia
r3
MaSV

r2
MaMonHoc

MaMonHoc
HP1

SP1

HP1
HP2

SP1

HP2
HP3

SP2

HP3

SP1


HP3

SP2

HP2

r3 r2
MaSV
SP1

Dept. of IS - FIT - HNUE


Phép chiếu


Bộ thu gọn


r: xác định trên tập thuộc tính U



X: một tập con thuộc tính của tập U



tr




t[X]: chỉ một thu gọn của bộ t trên tập thuộc tính X

Ví dụ
U={Ho, Ten, GioiTinh}
t[X]=(Trần, A)

X={Ho, Ten}
t=(Trần, A, Nam)

Dept. of IS - FIT - HNUE


Phép chiếu


Định nghĩa phép chiếu
X(r) = {t[X] | t  r}
r

Ho

X={Ho, Ten}

X(r)
Ho

Ten


Ten

GioiTinh

Trần

E

Nữ

Trần

E

Trần

B

Nam

Trần

B

Trần

C

Nam


Trần

C

Dept. of IS - FIT - HNUE


Phép chọn


r

F(r) = {t | t  r và F(t) đúng}

Ho

F: biểu thức logic xác định trên

Trần

E

Nữ

Trần

B

Nam


Trần

C

Nam

miền giá trị của các thuộc tính
thuộc tập U
F(r)

Ho

Ten

Ten

GioiTinh

GioiTinh

Trần

B

Nam

Trần

C


Nam
Dept. of IS - FIT - HNUE

F: GioiTinh = „Nam‟


Phép kết nối


r1ABr2 = {(t,q) | t  r1, q  r2
và t[A]  q[B] đúng}

Trong đó
r1/U1 và r2/U2
 : <, , =, , >, 
A  U1 và B U2
Các giá trị của A và B có thể so sánh được với nhau
A  B: biểu thức lôgic xây dựng trên phép so sánh
 được gọi là toán tử kết nối

Dept. of IS - FIT - HNUE


Ví dụ phép kết nối
r2

r1
Ho

Ten


NamLenLuong

Trần

E

2001

Trần

B

2000

Trần

C

2004

MocTangLuong

GhiChu

2001

r1  NamLenLuong  MocTangLuong r2
Ho


Ten

NamLenLuong

MocTangLuong

Trần

E

2001

2001

Trần

B

2000

2001

Dept. of IS - FIT - HNUE

GhiChu


Phép kết nối bằng và tự nhiên



Phép kết nối bằng




Nếu  là toán tử kết nối bằng “=”

Phép kết nối tự nhiên


Nếu hai quan hệ r1 và r2 kết nối bằng tại hai thuộc tính
cùng tên và một trong 2 thuộc tính đó được bỏ đi
trong kết quả



Kí hiệu: r1*r2 hoặc r1 r2

Dept. of IS - FIT - HNUE


Ví dụ phép kết nối bằng
r2

r1
Ho

Ten

NamLenLuong


Trần

E

2001

Trần

B

2000

Trần

C

2004

MocTangLuong

GhiChu

2001

r1  NamLenLuong  MocTangLuong r2
Ho

Trần


Ten

E

NamLenLuong

MocTangLuong

2001

2001

Dept. of IS - FIT - HNUE

GhiChu


Ví dụ phép kết nối tự nhiên
r2

r1
SBD

Ho

SP1

Trần

A


Nam

SP2

Trần

B

Nam

SP3

Trần

C

Nam

r1 *r2

SBD

Ten

GioiTinh

Ho

Ten


SBD

Diem

SP1
SP2
SP3

4.5
7.5
6.0

GioiTinh

Diem

SP1

Trần

A

Nam

4.5

SP2

Trần


B

Nam

7.5

SP3

Trần

C

Nam

6.0

Dept. of IS - FIT - HNUE


Phép kết nối ngoài trái
r2

r1
Ho

Ten

NamLenLuong


Trần

E

2001

Trần

B

2000

Trần

C

2004

MocTangLuong
2001
2005

r1  NamLenLuong  MocTangLuong r2
Ho

Ten

NamLenLuong

MocTangLuong


Trần

E

2001

2001

Trần

B

2000

2001

Trần

C

2004

null

Dept. of IS - FIT - HNUE
r1null, … , null)qr2, t[A]  q[B] sai)}



Phép kết nối ngoài phải
r1>ABr2 = {(t,q)  r1ABr2 hoặc ((null, … , null, q)tr1, t[A]  q[B] sai)}
r2
r1
Ho

Ten

NamLenLuong

Trần

E

2001

Trần

B

2000

Trần

C

2004

MocTangLuong
2001

2005

r1  NamLenLuong  MocTangLuong r2
Ho

Ten

NamLenLuong

MocTangLuong

Trần

E

2001

2001

Trần

B

2000

2001

null

null


null
2005
Dept. of IS - FIT - HNUE


×