Nội dung trình bày

Chương 4

Đại số quan hệ và Phép tính quan hệ

(cid:131) Giới thiệu (cid:131) Phép toán một ngôi (cid:131) Phép toán hai ngôi. (cid:131) Phép toán khác. (cid:131) Phép tính quan hệ biến bộ. (cid:131) Phép tính quan hệ biến miền.

Giới thiệu (1)

Giới thiệu (2)

(cid:131) Đại số quan hệ

(cid:131) Toán hạng

• Là tập hợp các phép toán cơ sở của mô hình dữ liệu

quan hệ.

• Các thể hiện quan hệ. • Các tập hợp.

(cid:131) Toán tử là các phép toán

• Biểu thức đại số quan hệ là một chuỗi các phép toán. • Kết quả của một biểu thức là một thể hiện quan hệ.

• Phép toán tập hợp

(cid:131) Ý nghĩa

- Hội, giao, hiệu, tích Cartesian.

• Cơ sở hình thức cho các phép toán của mô hình quan

hệ.

• Phép toán quan hệ

• Cơ sở để cài đặt và tối ưu hóa các truy vấn trong các

HQT CSDL quan hệ.

- Chọn, chiếu, kết, chia, đổi tên. - Một số phép toán khác.

• Được áp dụng trong SQL.

1

Phép toán 1 ngôi

Phép chọn (1)

(cid:131) Để rút trích các bộ dữ liệu thỏa điều kiện chọn từ

(cid:131) Là các phép toán chỉ tác động lên một quan

một quan hệ.

hệ. (cid:131) Gồm

• Phép chọn (Select). • Phép chiếu (Project). • Phép đổi tên (Rename).

(cid:131) Cú pháp

• σ<ĐK>(R). • <ĐK> là biểu thức logic.

R A B DC A B DC σA=B ∧ D>5(R) 7 1αα 7 1αα 7 5βα 10 23ββ 3 12ββ 10 23ββ

Phép chọn (2)

Phép chiếu (1)

(cid:131) Biểu thức điều kiện

(cid:131) Để rút trích các cột ứng với các thuộc tính nào đó

của một quan hệ.

• Chứa các mệnh đề có dạng

- . - .

• Toán tử so sánh: =, <, ≤, >, ≥, ≠. • Các mệnh đề được nối bởi toán tử logic: ∧, ∨, ¬.

(cid:131) Đặc trưng

• Phép chọn có tính giao hoán.

- σ<ĐK1>(σ<ĐK2>(R)) = σ<ĐK2>(σ<ĐK1>(R)).

(cid:131) Cú pháp

• π(R). • là danh sách các thuộc tính của R.

• Kết quả là một quan hệ - Có cùng bậc với R. - Có số bộ ít hơn hoặc bằng số bộ của R.

2

R A B DC A A D D πA,D(R) 7 1αα 7α 7α 7 5βα 3β 7α 3 12ββ 10β 3β 10 23ββ 10β

Phép chiếu (2)

Chuỗi các phép toán và phép gán

(cid:131) Chuỗi các phép toán

(cid:131) Đặc trưng

• Muốn sử dụng kết quả của phép toán này làm toán hạng của phép

• Phép chiếu không có tính giao hoán.

toán khác.

• Muốn viết các phép toán lồng nhau.

- π(R)) ≠ π(R)). • Phép chiếu loại bỏ các bộ trùng nhau. • Kết quả là một quan hệ

(cid:131) Phép gán

- Có bậc bằng số thuộc tính của danh sách thuộc tính. - Có bậc nhỏ hơn hoặc bằng bậc của R. - Có số bộ ít hơn hoặc bằng số bộ của R.

• Muốn lưu lại kết quả của một phép toán. • Để đơn giản hóa một chuỗi phép toán phức tạp. • Cú pháp

(cid:131) Mở rộng phép chiếu

- πA,C(σA=B ∧ D>5(R))

• Cho phép sử dụng các phép toán số học trong danh

• Ví dụ

sách thuộc tính.

- R’ ← E - E là biểu thức đại số quan hệ.

- πA,2*C(R).

- R’ ← σA=B ∧ D>5(R) πA,C(R’)

Phép đổi tên

Một số ví dụ

(cid:131) Tìm các nhân viên làm việc trong phòng số 4.

(cid:131) Để đổi tên quan hệ và các thuộc tính. (cid:131) Cú pháp: cho quan hệ R(A1, ..., An)

• σMaPB = 4(NHANVIEN)

• Đổi tên quan hệ R thành S

(cid:131) Tìm các nhân viên làm việc trong phòng số 4 và có mức

- ρS(R).

• Đổi tên quan hệ R thành S và các thuộc tính Ai thành Bi

- ρS(B1, B2, ..., Bn)(R).

lương từ 25.000 đến 40.000. • σMaPB = 4 ∧ Luong ≥ 25.000 ∧ Luong ≤ 40.000(NHANVIEN) (cid:131) Cho biết họ, tên, giới tính và mức lương của các nhân viên.

• Đổi tên các thuộc tính Ai thành Bi

• πHo, Ten, Gtinh, Luong(NHANVIEN)

- ρ(B1, B2, ..., Bn)(R).

(cid:131) Cho biết họ, tên, giới tính và mức lương của các nhân viên

• Đổi tên quan hệ R thành S và thuộc tính A1 thành B1

của phòng số 5. • πHo, Ten, Gtinh, Luong(σMaPB = 5(NHANVIEN))

- ρS(B1, A2, A3, ..., An)(R). • Đổi tên thuộc tính A1 thành B1 - ρ(B1, A2, A3, ..., An)(R).

3

Phép toán 2 ngôi

Phép toán tập hợp (1)

(cid:131) Chỉ được sử dụng khi hai quan hệ được tác

động là khả hợp.

(cid:131) Là các phép toán tác động lên hai quan hệ. (cid:131) Gồm 2 loại

(cid:131) Hai quan hệ R(A1, ..., An) và S(B1, ..., Bn) gọi

là khả hợp nếu • Bậc R = Bậc S. • Miền xác định Ai ≡ Miền xác định Bi, với i = 1, ...,

n.

• Phép toán tập hợp - Phép hội (Union). - Phép giao (Intersection). - Phép hiệu (Mimus). - Phép tích Cartesian. • Phép toán phi tập hợp

- Phép kết (Join). - Phép chia (Division).

Phép hội

Phép giao

(cid:131) Giao của R và S

(cid:131) Hội của R và S • R ∪ S • Là quan hệ gồm các bộ thuộc R hoặc thuộc S. • Các bộ trùng nhau bị loại đi.

(cid:131) R ∩ S = {t | t ∈ R ∧ t ∈ S}

(cid:131) R ∪ S = {t | t ∈ R ∨ t ∈ S}

• R ∩ S • Là quan hệ gồm các bộ thuộc R đồng thời thuộc S.

4

R A C S A C A C R ∩ S A A C C 1α 1α R A C S A C 1α R ∪ S 1α 1α 12 5α γ 1α 1α 23β 5α 5α 12β 23β 12 5α γ 12β 12β 23β 12β 23β 23β 23β 23β 1α 12 γ 12 γ 23β

Phép hiệu

Phép toán tập hợp (2)

(cid:131) Hiệu của R và S

(cid:131) Đặc trưng

(cid:131) R - S = {t | t ∈ R ∧ t ∉ S}

• R - S • Là quan hệ gồm các bộ thuộc R nhưng không thuộc S.

• Phép hội và giao có tính giao hoán - R ∪ S = S ∪ R và R ∩ S = S ∩ R. • Phép hội và giao có tính kết hợp

- R ∪ (S ∪ T) = (R ∪ S) ∪ T và R ∩ (S ∩ T) = (R ∩ S)

∩ T.

R A C S A C A C R - S 1α 1α 5α 12 5α γ 12β 12β 23β 23β

Phép tích Cartesian

Một số ví dụ

(cid:131) Tích Cartesian của R và S (không nhất thiết khả hợp).

(cid:131) Tìm mã số các nhân viên của phòng số 5 hoặc giám sát

trực tiếp các nhân viên phòng số 5. • Q1 ← σMaPB = 5(NHANVIEN)

(cid:131) R × S = {(a1, ..., am, b1, ..., bn) | (a1, ..., am) ∈ R ∧ (b1, ..., bn) ∈ S}

Q2 ← πMaNV(Q1) Q3 ← πMaGS(Q1) Q ← Q2 ∪ Q3

(cid:131) Cho biết họ, tên của các nhân viên nữ và tên các thân nhân

• R × S • Là quan hệ Q mà mỗi bộ là một tổ hợp của một thuộc R và một bộ thuộc S. • Bậc Q = Bậc R + Bậc S. • Số bộ Q = Số bộ R × Số bộ S.

của họ. • Q1 ← σGTinh = ‘Nu’(NHANVIEN)

Q2 ← ρ(HoNV, TenNV, MaNV1)(πHo, Ten, MaNV(Q1)) Q3 ← Q2 × THANNHAN Q4 ← σMaNV1 = MaNV(Q3) Q ← πHoNV, TenNV, Ten(Q4)

5

R A B C A B C E S D E D R × S 1 7 7 1 1αα 1αα 5 7 5 7 5βα 1αα 1 7 12ββ 5βα 5 7 5βα 1 7 12ββ 5 7 12ββ

Phép kết theta

Phép kết

(cid:131) Biểu thức điều kiện

(cid:131) Để kết hợp các bộ có liên quan từ hai quan

hệ.

(cid:131) Có 3 loại

• Chứa các mệnh đề có dạng - Ai Bj. + Ai là thuộc tính của R. + Bj là thuộc tính của S. + Miền xác định Ai ≡ Miền xác định Bj.

• Kết theta (Theta Join)

• Toán tử so sánh: =, <, ≤, >, ≥, ≠. • Các mệnh đề được nối bởi toán tử logic: ∧.

- R <ĐK> S. - <ĐK> là biểu thức logic.

• Kết bằng (Equi Join) • Kết tự nhiên (Natural Join)

- R S hoặc R * S.

R A B C S E F A B C E F R A=E ∧ C

Phép kết bằng

Phép kết tự nhiên

(cid:131) Tất cả các toán tử so sánh trong biểu thức điều kiện đều là

(cid:131) Là phép kết bằng và các cặp thuộc tính trong các mệnh đề

=.

phải cùng tên và cùng miền xác định.

(cid:131) Trong mỗi bộ luôn có một hoặc nhiều cặp thuộc tính có giá

(cid:131) Nếu các cặp thuộc tính không cùng tên thì phải thực hiện

trị giống nhau.

phép toán đổi tên trước khi kết. • R(A, B, C) và S(E, F), muốn kết tự nhiên trên 2 cặp thuộc tính (A, E)

và (C, F).

R A B C S E F A B C E F R A B C S A C A B C R A=E ∧ C=F S R S 1αα 1α 1 1αα α 1αα 1α 1αα 5βα 4α 12 12ββ β 5βα 4α 12ββ 5αβ 12β 5αβ 12β 12ββ 12ββ

6

- R (ρ(A, C)(S)).

Phép chia (1)

Phép chia (2)

(cid:131) Để rút trích các bộ của một quan hệ liên quan với

tất cả các bộ của quan hệ còn lại.

(cid:131) Cho 2 quan hệ R(Z) và S(X)

• Z tập hợp các thuộc tính của quan hệ R. • X tập hợp các thuộc tính của quan hệ S. • X ⊆ Z. • R chia S là quan hệ T(Y) với Y = Z – X. - T(Y) = {t | t ∈ πY(R) ∧ ∀ u ∈ S ⇒ (t, u) ∈ R}.

D A B C S R A B C D E E 7 7 2 2 1αα 1αα 2 2 5 5 12βα 1αα 2 7 23αβ 12βα 2 7 23αβ 3ββ 10 1 3ββ 23ββ 5 2 23αβ 12ββ 10 10 23ββ πA,B,C(R) 2 1 12ββ

(cid:131) Cú pháp • R ÷ S

A B C R ÷ S 1αα 23αβ

Một số ví dụ

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

(cid:131) Cho biết tên, địa chỉ của các nhân viên của phòng Nghiên

(cid:131) Để biểu diễn các truy vấn mà không thể thực hiện

cứu. • Q1 ← σTenPB = ‘Nghien cuu’(PHONGBAN)

với các phép toán đại số quan hệ cơ sở • Các truy vấn mang tính chất thông kê đơn giản trên một tập hợp các giá trị hoặc các nhóm tập hợp giá trị dữ liệu.

Q2 ← Q1 * NHANVIEN Q ← πHo, Ten, DChi(Q2)

• Các truy vấn dùng để tạo các báo cáo.

(cid:131) Cho biết tên các nhân viên tham gia tất cả các dự án do

(cid:131) Gồm

• Hàm tập hợp (Aggregate Function). • Phép gom nhóm các bộ dữ liệu (Grouping). • Phép kết mở rộng (Outer Join).

phòng số 5 điều phối. • Q1 ← πMaDA(σPhongQL = 5(DUAN)) Q2 ← πMaNV, MaDA(THAMGIA) Q3 ← Q2 ÷ Q1 Q ← πHo, Ten(Q3 * NHANVIEN)

7

Hàm tập hợp và gom nhóm (1)

Hàm tập hợp và gom nhóm (2)

(cid:131) Để thực hiện các truy vấn thống kê đơn giản trên tập hợp các giá trị số

(cid:131) Để gom nhóm các bộ của một quan hệ theo các thuộc tính rồi áp dụng

AℱMAX(C), MIN(C)(R)

các hàm tập hợp.

(cid:131) Cú pháp

(R)

S A B E F ρS(A, B, E, F)(A, BℱSUM(C), AVG(C)(R)) 1 1αα 5 5βα 16 32ββ • SUM - Tính tổng của các giá trị trong tập hợp. • AVG - Tính giá trị trung bình của các giá trị trong tập hợp. • MAX, MIN - Tìm giá trị lớn nhất, nhỏ nhất của các giá trị trong tập hợp. (cid:131) Để đếm số bộ của một quan hệ hoặc số các giá trị của một thuộc tính. R A B C D • COUNT 7 1αα MAX_C MIN_C A 8 5βα 5 1 α 3 12ββ 20 12 β 10 20ββ

• • là danh sách các thuộc tính thuộc R. • là danh sách các cặp (hàm tập hợp, thuộc tính) áp dụng trên các nhóm. ℱCOUNT(C), AVG(D)(R) COUNT_C AVG_D 4 7

Phép kết mở rộng (1)

Phép kết mở rộng trái

(cid:131) Giữ lại tất cả các bộ của quan hệ ở bên trái phép toán kết mà không liên kết được với bộ nào của quan hệ bên phải.

(cid:131) Để giữ lại tất cả các bộ trong một quan hệ bất chấp chúng có được liên kết với các bộ trong quan hệ còn lại hay không nhằm tránh mất thông tin hoặc tạo các báo cáo.

(cid:131) Có 3 dạng

• Mở rộng trái (Left Outer Join)

- R <ĐK> S.

• Mở rộng phải (Right Outer Join)

- R <ĐK> S.

• Mở rộng hai phía (Full Outer Join)

- R <ĐK> S.

8

R A B C D A B C E 1αα 2 7 1αα 5βα 12 3 1αα 12ββ R C

Phép kết mở rộng hai phía

Phép kết mở rộng phải

(cid:131) Giữ lại tất cả các bộ của quan hệ ở bên phải phép toán kết mà không liên kết được với bộ nào của quan hệ bên trái.

(cid:131) Giữ lại tất cả các bộ của từng quan hệ ở hai bên phép toán kết mà không liên kết được với bộ nào của quan hệ còn lại.

R A B C R A B C A B C D E 1αα 1αα 1 7 5βα A B C D E 5βα 5βα 2 7 5βα 1 7 1αα 12ββ 12ββ R C>D S R C=D S 12 7 1 ββ 12 12 3 ββ 23ββ 23ββ 12 7 2 ββ 23 23 10 ββ 23 7 1 S D E S D E ββ null null 5βα 1 7 1 7 23 7 2 ββ null null null 2 7 2 7 2 7 23 3 12 ββ 12 3 12 3 null null null 10 23 23 10 23 10

Một số ví dụ

Phép tính quan hệ (1)

(cid:131) Với mỗi phòng ban cho biết mã số, tổng số nhân viên và

(cid:131) Một số khái niệm logic toán học

• Mệnh đề

mức lương trung bình. • ρ(MaPB, SoNV, LuongTB)(MaPBℱCOUNT(MaNV), AVG(Luong)

• Vị từ

(NHANVIEN))

- Các khẳng định có giá trị chân lý xác định.

(cid:131) Với mỗi nhân viên cho biết họ, tên và tên phòng nếu họ là

+ P(x, y, ...) không là mệnh đề. + Thay x, y, ... bằng các giá trị cụ thể ta được một mệnh đề.

trưởng phòng. • Q1 ← NHANVIEN MaNV = TrPhong PHONGBAN

- Là một khẳng định P(x, y, ...) với x, y, ... là các biến trên các miền xác định A, B, ...

Q ← πHo, Ten, TenPB(Q1)

• Lượng từ

- x, y, ... là các biến tự do.

+ ∀ là lượng từ phổ dụng. + ∃ là lượng từ tồn tại.

- Mệnh đề “∀x ∈ A, P(x)” và “∃x ∈ A, P(x)” là các lượng từ hóa của vị từ P(x).

9

- x không còn là biến tự do, nó bị buộc bởi các lượng từ ∀ hay ∃.

Phép tính quan hệ (2)

Biến bộ và quan hệ miền giá trị

(cid:131) Biến bộ (Tuple Variable)

(cid:131) Tổng quan

• Biến biến thiên trên một quan hệ R xác định.

(cid:131) R được gọi là quan hệ miền giá trị của biến bộ

(Range Relation).

(cid:131) Phép tính quan hệ biến bộ đơn giản

• Ngôn ngữ hình thức của mô hình quan hệ. • Chỉ quan tâm đến nội dung dữ liệu cần truy vấn. • Ngôn ngữ phi thủ tục. • Dựa trên logic toán học.

• {t | P(t)}.

(cid:131) Chia làm 2 dạng

- t là biến bộ. - P(t) là vị từ hoặc công thức.

(cid:131) Ví dụ

• Phép tính quan hệ biến bộ. • Phép tính quan hệ biến miền (miền xác định).

• {t | t ∈ NHANVIEN ∧ t.Luong > 50000}. • {t.Ho, t.Ten | NHANVIEN(t) ∧ t.Luong > 50000}

Biểu thức và công thức (1)

Biểu thức và công thức (2)

(cid:131) Biến bộ tự do và bị buộc

(cid:131) Biểu thức tổng quát của phép tính quan hệ biến bộ

• F là nguyên tử

• {t1.Aj, t2.Ak, ..., tn.Am | P(t1, t2, ..., tn, ..., tn+m)}

(∀t)(F), (∃t)(F)

- Biến bộ là tự do.

- t1, ..., tn+m là các biến bộ. - Ai là thuộc tính của quan hệ miền giá trị ứng với biến bộ ti.

• ¬F, F ∧ G, F ∨ G

(cid:131) P được xây dựng từ các công thức nguyên tử liên kết với nhau bởi các phép toán logic ∧, ∨, ¬ theo các luật sau 1. Công thức nguyên tử là

(cid:131) Công thức nguyên tử

- Biến bộ là bị buộc.

công thức.

• Thuộc một trong 3 dạng sau

2. F là công thức thì ¬F cũng là

t ∈ NHANVIEN hoặc NHANVIEN(t) t.MaNV = s.MaNV t.Luong > 50000

công thức. F, G là công thức thì F ∧ G, F ∨ G cũng là công thức 3. F là công thức thì (∀t)(F)

- t ∈ R hoặc R(t) - ti.A tj.B. - ti.A c. • Có chân trị ĐÚNG hoặc SAI.

cũng là công thức.

(cid:131) Ví dụ • •

F1: NHANVIEN(d) F2: (∀d)(d.MaGSat = ‘123456789’)

4. F là công thức thì (∃t)(F)

cũng là công thức.

10

- Biến bộ là tự do hoặc bị buộc. - Biến bộ có thể là tự do trong F và bị buộc trong G.

Biến đổi giữa hai lượng từ

Truy vấn dùng lượng từ tồn tại (1)

(cid:131) Quy tắc biến đổi

(cid:131) Tìm tên và địa chỉ của các nhân viên phòng Nghiên

cứu. •

{e.Ten, e.DChi | NHANVIEN(e) ∧ (∃d)(PHONGBAN(d) ∧ NHANVIEN(e) ∧ (∃d)(PHONGBAN(d) ∧ d.TenPB = ‘Nghiên cứu’ ∧ d.MaPB = e.MaPB)} d.TenPB = ‘Nghiên cứu’ ∧ d.MaPB = e.MaPB)

• {e.Ten, e.DChi | NHANVIEN(e) ∧ F}

• (∀) thay bằng ¬(∃), và ngược lại. • ∧ thay bằng ∨, và ngược lại. • ¬P thay bằng P, và ngược lại. (cid:131) Một số biến đổi thường gặp

- F = (∃d)(PHONGBAN(d) ∧ F1) - F1 = (d.TenPB = ‘Nghiên cứu’ ∧ d.MaPB = e.MaPB)

¬(∃x)(¬(P(x))) ¬(∀x)(¬(P(x)))

• (∀x)(P(x)) ⇔ • (∃x)(P(x)) ⇔ ¬(P(x)) ¬(Q(x)) ¬(∃x)(¬(P(x)) ∨ ¬(Q(x))) • (∀x)(P(x) ∧ Q(x)) ⇔ • (∀x)(P(x) ∨ Q(x)) ⇔ ¬(∃x)(¬(P(x)) ∧ ¬(Q(x))) • (∃x)(P(x) ∧ Q(x)) ⇔ ¬(∀x)(¬(P(x)) ∨ ¬(Q(x))) • (∃x)(P(x) ∨ Q(x)) ⇔ ¬(∀x)(¬(P(x)) ∧ ¬(Q(x)))

Truy vấn dùng lượng từ tồn tại (2)

Truy vấn dùng lượng từ tồn tại (3)

(cid:131) Với mỗi nhân viên, cho biết họ tên của nhân viên

và họ tên của người quản lý nhân viên đó. • {e.Ho, e.Ten, s.Ho, s.Ten | NHANVIEN(e) ∧ NHANVIEN(e) ∧ NHANVIEN(s) ∧ e.MaGSat = s.MaNV } NHANVIEN(s) ∧ e.MaGSat = s.MaNV

(cid:131) Với mỗi dự án triển khai tại Thủ Đức, cho biết mã dự án, mã phòng quản lý dự án và họ tên người trưởng phòng. •

(cid:131) Nhận xét

• Một vài biến bộ trong cùng một truy vấn có thể có cùng

{p.MaDA, p.Phong, e.Ho, e.Ten | DUAN(p) ∧ DUAN(p) ∧ NHANVIEN(e) ∧ p.Diadiem = ‘Thủ Đức’ ∧ NHANVIEN(e) ∧ p.Diadiem = ‘Thủ Đức’ ∧ (∃d)(PHONGBAN(d) ∧ d.MaPB = p.Phong ∧ d.TrPhg = (∃d)(PHONGBAN(d) ∧ d.MaPB = p.Phong ∧ d.TrPhg = e.MaNV) e.MaNV)}

quan hệ miền giá trị.

(cid:131) Nhận xét

• Trong một truy vấn có thể có nhiều biến bộ tự do.

11

Truy vấn sử dụng lượng từ phổ dụng

Truy vấn dùng lượng từ tồn tại (4)

(cid:131) Tìm các nhân viên tham gia các dự án do phòng số

(cid:131) Tìm các nhân viên tham gia tất cả các dự án do

5 điều phối. • {e | NHANVIEN(e) ∧ (∃x)(∃w)(DUAN(x) ∧ THAMGIA(w) ∧ x.Phong = 5 ∧ x.MaDA = w.MaDA ∧ x.MaNV = w.MaNV)}

phòng số 5 điều phối. • {e | NHANVIEN(e) ∧ ((∀x)(¬(DUAN(x)) ∨ ¬(x.MaDA = 5) ∨ ((∃w)(THAMGIA(w) ∧ w.MaNV = e.MaNV ∧ x.MaDA = w.MaDA))))}

• {e | NHANVIEN(e) ∧ F}

- F = (∀x)(¬(DUAN(x)) ∨ F1) - F1 = ¬(x.MaDA=5) ∨ F2 - F2 = (∃w)(THAMGIA(w) ∧ w.MaNV=e.MaNV ∧ x.MaDA=w.MaDA)

• {e | NHANVIEN(e) ∧ (¬(∃x)(DUAN(x) ∧ x.MaDA = 5 ∧

(¬(∃w)(THAMGIA(w) ∧ w.MaNV = e.MaNV ∧ x.MaDA = w.MaDA))))}

Biểu thức an toàn

Phép tính quan hệ biến miền

(cid:131) Xét biểu thức

(cid:131) Định nghĩa hình thức

(cid:131) Biểu thức tổng quát của phép tính quan hệ biến

• Miền xác định của biểu thức

{t | ¬(NHANVIEN(t))}

là tập hợp gồm

• • Nhận xét

miền • {x1, x2, ..., xn | P(x1, x2, ..., xn, ..., xn+m)}

- x1, ..., xn+m là các biến miền.

(cid:131) Công thức nguyên tử

• Thuộc một trong 3 dạng sau

• Ví dụ

- Các hằng xuất hiện trong P. - Giá trị thuộc tính của các bộ của các quan hệ xuất hiện trong P.

- Kết quả của biểu thức không là một số hữu hạn các bộ. - Biểu thức là không an toàn. (cid:131) Biểu thức an toàn là biểu thức có một số hữu hạn các bộ trong kết quả.

- ∈ R hoặc R(x1, ..., xj) - xi xj. - xi c. • Có chân trị ĐÚNG hoặc SAI.

(cid:131) Các khái niệm khác tương tự biến bộ.

12

AR B - {t | R(t) ∧ t.A = 5} - Mxđ = {5, 1, 7, 23, 10} • Biểu thức là an toàn nếu mọi giá trị trong kết quả thuộc miền xác định của biểu thức. 1 7 23 10