Tải bản đầy đủ (.ppt) (42 trang)

Tài liệu Chương 6: Phép tính quan hệ doc

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 (159.15 KB, 42 trang )

Chương 6
Chương 6
Phép tính quan hệ
Phép tính quan hệ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

2
Nội dung chi tiết

Giới thiệu

Phép tính quan hệ trên bộ

Phép tính quan hệ trên miền
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

3
Giới thiệu
Maths
Algebra
Logic
Relational Algebra
Relational Calculus
1970
1972
ACM
Turing
Award
1981
Codd
Database


Geometry



???
???
Award
Other fields
2???
2???
YOU
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

4
Giới thiệu (tt)

Là ngôn ngữ truy vấn hình thức

Do Codd đề nghị vào năm 1972, “Data Base
Systems”, Prentice Hall, p33-98

Đặc điểm
-
Phi thủ tục
-
Dựa vào lý thuyết logic
-
Rút trích cái gì (what) ≠ rút trích như thế nào (how)
-
Khả năng diễn đạt tương đương với ĐSQH

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

5
Giới thiệu (tt)

Có 2 loại
-
Phép tính quan hệ trên bộ (Tuple Rational Calculus)

SQL
-
Phép tính quan hệ trên miền (Domain Rational Calculus)

QBE (Query By Example)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

6
Nội dung chi tiết

Giới thiệu

Phép tính quan hệ trên bộ

Phép tính quan hệ trên miền
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

7
Phép tính quan hệ trên bộ

Biểu thức phép tính quan hệ trên bộ có dạng

-
t là biến bộ

Biến nhận giá trị là một bộ của quan hệ trong CSDL

t.A là giá trị của bộ t tại thuộc tính A
-
P là công thức có liên quan đến t

P(t) có giá trị ĐÚNG hoặc SAI phụ thuộc vào t
-
Kết quả trả về là tập các bộ t sao cho P(t) đúng
{ t.A | P(t) }
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

8
Ví dụ 1

Tìm các nhân viên có lương trên 30000
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

9
Ví dụ 2

Cho biết mã và tên nhân viên có lương trên 30000
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

10
Ví dụ 3


Cho biết các nhân viên (MANV) làm việc ở phòng
‘Nghien cuu’
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

11
Ví dụ 3

Cho biết các nhân viên (MANV) làm việc ở phòng
‘Nghien cuu’
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

12
Ví dụ 4

Cho biết tên các nhân viên (TENNV) tham gia làm
đề án hoặc có thân nhân
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

13
Ví dụ 5

Cho biết tên các nhân viên (TENNV) vừa tham gia
làm đề án vừa có thân nhân
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

14
Ví dụ 6

Cho biết tên các nhân viên (TENNV) tham gia làm
đề án mà không có thân nhân nào

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

15
Ví dụ 7

Với mỗi đề án ở ‘TP HCM’ cho biết mã đề án, mã
phòng ban chủ trì và tên người trưởng phòng
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

16
Ví dụ 8

Tìm các nhân viên (MA_NVIEN) tham gia vào tất cả
các đề án
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

17
Ví dụ 8 (tt)

Tìm các nhân viên (MANV, HONV, TENNV) tham
gia vào tất cả các đề án
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

18
Ví dụ 9

Tìm các nhân viên (MANV, HONV, TENNV) tham
gia vào tất cả các đề án do phòng số 4 phụ trách
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM


19
Ví dụ 9 (tt)

Tìm các nhân viên (MANV, HONV, TENNV) tham
gia vào tất cả các đề án do phòng số 4 phụ trách
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

20
Định nghĩa hình thức

Một công thức truy vấn tổng quát có dạng
-
t
1
, t
2
, …, t
n
là các biến bộ
-
A
i
, A
j
, …, A
k
là các thuộc tính trong các bộ t tương ứng
-
P là công thức


P được hình thành từ những công thức nguyên tố
{ t
1
.A
i
, t
2
.A
j
, …t
n
.A
k
| P(t
1
, t
2
, …, t
n
) }
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

21
Biến bộ

Biến tự do (free variable)

Biến kết buộc (bound variable)
{ t | t ∈ NHANVIEN ∧ t.LUONG > 30000 }
t là biến tự do

{ t | t ∈ NHANVIEN ∧ ∃s ∈ PHONGBAN (s.MAPHG = t.PHG) }
Biến kết buộcBiến tự do
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

22
Công thức nguyên tố

(i)
-
t là biến bộ
-
R là quan hệ

(ii)
-
A là thuộc tính của biến bộ t
-
B là thuộc tính của biến bộ s
-
θ là các phép so sánh < , > , ≤ , ≥ , ≠ , =

(iii)
-
c là hằng số
-
A là thuộc tính của biến bộ t
-
θ là các phép so sánh < , > , ≤ , ≥ , ≠ , =
t ∈
R

t.A θ s.B
t.A θ c
t ∈ NHANVIEN
t.MANV = s.MANV
s.LUONG > 30000
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

23
Công thức nguyên tố (tt)

Mỗi công thức nguyên tố đều mang giá trị ĐÚNG
hoặc SAI
-
Gọi là chân trị của công thức nguyên tố

Công thức (i)
-
Chân trị ĐÚNG nếu t là một bộ thuộc R
-
Chân trị SAI nếu t không thuộc R
A B
α
R
α
10
20
C
1
1
t1 = <α, 10, 1>

t2 = <α, 20, 2>
t1 ∈ R có chân trị ĐÚNG
t2 ∈ R có chân trị SAI
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

24
Công thức nguyên tố (tt)

Công thức (ii) và (iii)
-
Chân trị tùy thuộc vào việc thay thế giá trị thật sự của bộ
vào vị trí biến bộ
A B
α
R
α
10
20
C
1
1
Nếu t là bộ <α, 10, 1>
Thì t.B > 5 có chân trị ĐÚNG (10 > 5)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

25
Qui tắc

(1) Mọi công thức nguyên tố là công thức


(2) Nếu P là công thức thì
-
¬P là công thức
-
(P) là công thức

(3) Nếu P1 và P2 là các công thức thì
-
P1 ∨ P2 là công thức
-
P1 ∧ P2 là công thức
-
P1 ⇒ P2 là công thức

×