Tải bản đầy đủ (.docx) (20 trang)

TIỂU LUẬN MÔN HỌC CƠ SỞ TOÁN CHO TIN HỌC

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 (336.26 KB, 20 trang )



TIỂU LUẬN MƠN HỌC

CƠ SỞ TỐN CHO TIN HỌC

Đề tài

QUAN HỆ VÀ ỨNG DỤNG

Giảng viên

Nhóm 1:


MỤC LỤC
A - MỞ ĐẦU..................................................................................................................... 1
B - NỘI DUNG.................................................................................................................2
I. QUAN HỆ VÀ CÁC TÍNH CHẤT.............................................................................2
1. Định nghĩa quan hệ (quan hệ hai ngôi)....................................................................2
2. Biểu diễn quan hệ....................................................................................................2
2.1. Phương pháp định nghĩa....................................................................................2
2.2. Phương pháp ma trận........................................................................................2
2.3. Phương pháp đồ thị...........................................................................................2
3. Các tính chất của quan hệ........................................................................................3
4. Quan hệ tương đương..............................................................................................3
4.1. Định nghĩa:........................................................................................................3
4.2. Tính chất...........................................................................................................3
4.3. Định nghĩa phân hoạch của tập hợp..................................................................4
5. Tổ hợp các quan hệ..................................................................................................5
6. Quan hệ thứ tự.........................................................................................................6


6.1. Định nghĩa.........................................................................................................6
6.2. Định nghĩa (Quan hệ thứ tự bộ phận, quan hệ thứ tự toàn phần): .....................6
6.3. Các phần tử đặc biệt của 1 tập được sắp thứ tự.................................................6
6.4. Định nghĩa.........................................................................................................6
6.5. Định nghĩa.........................................................................................................7
6.6. Định nghĩa.........................................................................................................7
7. Dàn, dàn đầy đủ.......................................................................................................7
7.1. Định nghĩa Dàn (Lattice)...................................................................................7
7.2. Dàn đầy đủ........................................................................................................8
II. ỨNG DỤNG QUAN HỆ VÀO CƠ SỞ DỮ LIỆU QUAN HỆ..................................8
1. Định nghĩa quan hệ..................................................................................................8
2. Ký hiệu....................................................................................................................9
3. Các phép toán đại số quan hệ................................................................................10
3.1. Các phép toán lý thuyết tập hợp......................................................................11
3.2. Các phép toán trên cơ sở dữ liệu quan hệ........................................................12
C - KẾT LUẬN............................................................................................................... 17
TÀI LIỆU THAM KHẢO8


Quan hệ và ứng dụng
A - MỞ ĐẦU
Đại số quan hệ (tiếng Anh: relational algebra) dùng phổ biến trong lí thuyết cơ sở
dữ liệu quan hệ là một bộ các tốn tử và các quy tắc tương ứng có thể được sử dụng để
thao tác trên các toán học (relation) và tạo ra kết quả là một quan hệ khác. Trước đây, đại
số quan hệ ít được quan tâm cho đến khi Edgar F. Codd đưa ra mơ hình dữ liệu quan hệ
(relational model) vào năm 1970. Từ đó đến nay, đại số quan hệ được xem là nền tảng
cho các ngôn ngữ truy vấn cơ sở dữ liệu.
Các mối quan hệ giữa những phần tử của các tập hợp xuất hiện trong nhiều bối
cảnh. Thường ngày ta vẫn gặp các mối quan hệ này, chẳng hạn mối quan hệ giữa một
trường học với số điện thoại của nó, mối quan hệ của một giáo viên với lương của người

đó, mối quan hệ của một người với người thân của anh ta… Trong toán học, ta nghiên
cứu các mối quan hệ như mối quan hệ giữa một số nguyên dương và ước số của nó, mối
quan hệ giữa một số nguyên và một số nguyên khác đồng dư với nó theo môđulô n, mối
quan hệ giữa một số thực và một số thực khác lớn hơn nó….Các mối quan hệ giữa những
phần tử của các tập hợp được biểu diễn bằng cách dùng một cấu trúc được gọi là quan hệ.
Cách trực tiếp nhất để biểu diễn mối quan hệ giữa các phần tử của hai tập hợp là
dùng các cặp tạo bởi hai phần tử có quan hệ. Vì lý do đó, tập các cặp được gọi là quan hệ
hai ngôi. Mở rộng của quan hệ hai ngôi là quan hệ n-ngôi. Từ những định nghĩa cơ bản
về quan hệ ta có thể ứng dụng vào mơ hình “Cơ sở dữ liệu quan hệ”- Có thể hiểu là dữ
liệu được người sử dụng nhìn dưới dạng một quan hệ toán học và các phép toán thao tác
dữ liệu được xây dựng trên các cấu trúc quan hệ toán học. Một quan hệ là một bảng và
mỗi bảng là một cấu trúc quan hệ toán học. Trong đề tài tiểu luận này nhóm chúng tơi sẽ
chỉ ra khác niệm về quan hệ trong toán học và áp dụng các phép tốn đại số quan hệ vào
mơ hình cơ sở dữ liệu quan hệ.
Xin chân thành cảm ơn thầy PGS.TS. Trương Cơng Tuấn đã hướng dẫn để nhóm có
thể hồn thành tiểu luận này.

Nhóm 1 – KHMT 2014 – 2016

Trang 1


Quan hệ và ứng dụng
B - NỘI DUNG
I. QUAN HỆ VÀ CÁC TÍNH CHẤT
1. Định nghĩa quan hệ (quan hệ hai ngôi)
Cho hai tập A, B. Một quan hệ R từ A vào B là một tập con của tích đề các A ×B.
Khi A=B ta nói R là quan hệ trên A
Ví dụ : A={1,2,3} ; B={a,b}
⇒ có 26 tập con


Một số quan hệ từ A vào B
R1={(1,a),(1,b)} ¿ A×B
R2={(1,a),(1,b),(2,a),(2,b)} ¿ A×B
2. Biểu diễn quan hệ
2.1. Phương pháp định nghĩa
Theo hai cách: liệt kê và mơ tả tính chất
Ví dụ : Cho tập hợp A={1,2,5,6,9}
Xét quan hệ R trên A xác định bởi: ∀ a,b
¿

¿

A, aRb ⇔ a chia hết cho b, (a,b)

R
⇒ R={(1,1),(2,1),(2,2),(5,1),(5,5),(6,1),(6,2),(6,6),(9,1),(9,9)}

Xét tập A ở trên, quan hệ S trên A xác định bởi: ∀ a,b

¿

A, aSb ⇔ a chia hết

b (a|b)
⇒ S={(1,1),(2,2),(5,5),(6,6),(9,9),(1,5),(1,6),(1,2),(2,6)}

2.2. Phương pháp ma trận
Một quan hệ giữa các tập hữu hạn có thể biểu diễn bằng một ma trận zero-một.
Giả sử R là quan hệ từ tập A={a 1,a2,….,am} tới tập B={b1,b2,….bm}. Quan hệ R có thể

biểu diễn bằng ma trận MR=[ α

ij

], trong đó :

Ví dụ : Ma trận biểu diễn R ở ví dụ a) ở trên là :

1
1
1
1
1

0
1
0
1
0

0
0
1
0
0

0
0
0
1

0

0
0
0
0
1

( )
Nhóm 1 – KHMT 2014 – 2016

Trang 2


Quan hệ và ứng dụng
2.3. Phương pháp đồ thị
Biểu diễn quan hệ bằng đồ thị có hướng G=<V,E>.
Trong đó:
V là tập đỉnh {a1,a2,....,an}
E là tập cạnh có hướng, xác định bởi: Có 1 cạnh có hướng từ ai đến aj nếu aiRaj
Ví dụ : Biểu diễn đồ thị của quan hệ S trong ví dụ b)
2
1

6

5
1

9


3. Các tính chất của quan hệ
Cho quan hệ R trên tập A
 Phản xạ nếu ∀ a

¿

 Đối xứng nếu ∀ a,b

A, a R a
¿

A, a R b ⇒ b R a

 Phản đối xứng nếu ∀ a,b
 Bắc cầu nếu ∀ a,b,c

¿

A, a R b và b R a ⇒ a=b

¿

A, a R b và b R c ⇒ a R c

Ví dụ : Trên tập Ν , xét quan hệ “|”
 Phản xạ : Khơng có vì 0

N


¿

 Đối xứng : Khơng vì ∃ 1,3
 Phản đối xứng : Có vì ∀ a,b
 Bắc cầu : Có vì

∀ a,b,c

¿

N mà 1|3 nhưng 3 khơng chia hết 1

¿
¿

N, nếu a|b và b|a thì ⇒ a=b

N, giả thiết a|b và b|c thì ⇒ a|c

 Chú ý : Trên N*, quan hệ “|” có các tính chất phản xạ, phản đối xứng, bắc cầu
4. Quan hệ tương đương
4.1. Định nghĩa: Quan hệ R trên tập A được gọi là quan hệ tương đương nếu nó thỏa ba
tính chất: phản xạ, đối xứng và bắc cầu
Ví dụ: Trên Z, xét quan hệ R xác định bởi ∀ m,n

¿

Z, m R n ⇔ m-n=3k

R là quan hệ tương đương trên Z và được gọi là quan hệ đồng dư modulo 3 (cùng

số dư).
Nhóm 1 – KHMT 2014 – 2016

Trang 3


Quan hệ và ứng dụng
4.2. Cho R là quan hệ tương đương trên A. Lúc đó :
A,

a≠¿¿ ∅. Trong đó a ={x



∀ a



a = b



a = b hoặc a

¿

A | a R x}: Lớp tương đương của a

¿


⇔ aRb

b =∅ ,

¿

∀ a,b

A

¿

4.3. Định nghĩa phân hoạch của tập hợp
Cho tập A ¿ ∅, họ các tập hợp (Ai)i
(i) Ai ¿ ∅ , ∀ i
(ii) Ai

¿

(iii)

i∈I

¿

được gọi là phân hoạch của tập A nếu:

I

Aj = ∅ , ∀ i,j


¿

¿ I

¿

I

Ai=A

* Mệnh đề: Tập các lớp tương đương (theo quan hệ tương đương R) của tập A
¿

∅ tạo thành một phân hoạch của tập A.
* Chú ý: Tập các lớp tương đương theo quan hệ tương đương R trên A được gọi

là tập hợp thương, ký hiệu A/ R.
* Ví dụ: Xem quan hệ đồng dư module 3 trên Z. Tìm tập hợp thương Z3

0 ={m
1 ={m

Z | m=3k , k

¿

Z | m=3k +1 , k

¿


2 = {m

Z}

¿

¿

Z}

¿

Z | m=3k +2 , k

¿

Z}

3 = 0 ; 4 = 1
0 , 1 , 2 }

Vậy Z3={

* Vấn đề: Cho tập A ¿ ∅ và phân hoạch (Ai)i

¿ I

của tập A. Hãy tìm quan hệ


tương đương trên A sinh ra phân hoạch động?
* Mệnh đề: Mỗi phân hoạch của tập A sẽ xác định một quan hệ tương đương trên
A
Chứng minh: Giả sử (Ai)i
∀ a,b

¿

¿ I

A, a R b ⇔

là phân hoạch của A. Quan hệ R trên A như sau :

∃ i ¿ I : a,b ¿ Ai

Ta sẽ chứng minh là R quan hệ tương đương


Phản xạ : ∀ a

¿

A=

¿

i∈I

Ai ⇒


Đối xứng : ∀ a,b



¿

∃ i ¿ I : a ¿ Ai ⇒ a R a

A, a R b ⇒

∃ i ¿ I : a,b ¿ Ai



bR

a
Nhóm 1 – KHMT 2014 – 2016

Trang 4


Quan hệ và ứng dụng
Bắc cầu : ∀ a,b,c



∃ i ¿ I : a,b ¿ Ai và




A, giả sử : a R b

¿

¿

bRc

∃ i ¿ I : b,c ¿ Ai

⇒ i=j và Ai=Aj ( vì nếu i ¿ j thì b ¿ Ai ¿ Aj : vơ lý)

Vậy R có tính bắc cầu
R là quan hệ tương đương



Ví dụ : Cho A={1,2,4,6,9,12,15} và phân hoạch (A i)1 ¿ i≤3

của tập A, với

A1={1,4}, A2={2,6,9},A3={12,15}. Tìm quan hệ tương đương sinh ra phân hoạch này và
liệt kê các phần tử của nó
∀ a,b

¿

A, a R b ⇒


∃ i ¿ {1,2,3} : a,b ¿ Ai

R={(1,1),(1,4),(4,1),(4,4),(2,2),(2,6),(6,2),(2,9),(9,2),(6,6),(9,9),(6,9),(9,6),(12,12),
(15,15),(12,15),(15,12)}

1 =A1 , 4 =A4 , 2 = 6 = 9 =A2 , 12 = 15 =A3
5. Tổ hợp các quan hệ
Định nghĩa: Cho ba tập A, B, C và R là quan hệ từ A vào B và S là quan hệ từ B
vào C.
Hợp thành của quan hệ R và S, ký hiệu SoR xác định bởi
SoR={(a,c) | a

A,c

¿

¿

C: ∃ b

¿

B để aRb và bSc}

Từ định nghĩa này, ta định nghĩa lũy thừa của quan hệ R ở trên tập A. Ký hiệu
Rn(n ¿ 1)
R1=R
R2=RoR
R3=R2oR

……….
Rn=Rn-1oR
* Chú ý: (a,b)

¿

Rn ⇔



x1,x2,….,xn-1

¿

A sao cho a R x1,x1 R x2,…..,xn

Rb
* Mệnh đề: Quan hệ R trên A có tính bắc cầu


n

¿

⇔ Rn là con của R (R n

¿

R)


N* =N \{0}

* Định nghĩa bao đóng bắc cầu của quan hệ : Cho tập A và quan hệ R trên A,
ký hiệu [R] là quan hệ nhỏ nhất chứa R và có tính bắc cầu.
Ví dụ: Cho A={a,b,c} , R={(a,b),(b,c)}
[R]={(a,b),(b,c),(a,c)}
Nhóm 1 – KHMT 2014 – 2016

Trang 5


Quan hệ và ứng dụng
* Định lý : Cho quan hệ R trên tập A hữu hạn có n phần tử (n ¿ 1), lúc đó
[R]=R

¿

R2

¿

...

¿

Rn-

6. Quan hệ thứ tự
6.1. Định nghĩa: Một quan hệ R trên tập A được gọi là quan hệ


¿

ứ tự nếu thỏa mãn ba

tính chất: phản xạ, phản đối xứng, bắc cầu
Ví dụ :
 Trên R, xét quan hệ ¿ thông thường là quan hệ thứ tự
 Trên tập P(A), xét quan hệ ¿ là quan hệ thứ tự
 Trên tập N*, xét quan hệ | là quan hệ thứ tự
6.2. Định nghĩa (Quan hệ thứ tự bộ phận, quan hệ thứ tự toàn phần): Một quan hệ
thứ tự R trên tập A được gọi là quan hệ thứ tự tồn phần nếu

∀ a,b

¿

A thì a R b

hoặc b R a. Ngược lại R gọi là quan hệ thứ tự bộ phận.
Ví dụ:
 Quan hệ ¿ trên R là quan hệ thứ tự toàn phần
 Quan hệ | trên N* là quan hệ thứ tự bộ phận vì ∃ 2,3

¿

N* (2 khơng chia hết

3, 3 không chia hết 2)
 Quan hệ ¿ trên tập P(A) là
 Quan hệ thứ tự toàn phần khi A=∅ hay A có 1 phần tử hay A có 1 phần tử

 Quan hệ thứ tự bộ phận khi |A|>1
6.3. Các phần tử đặc biệt của 1 tập được sắp thứ tự
Một tập A cùng với 1 quan hệ thứ tự trên A được gọi là tập được sắp thứ tự. Ta ký
hiệu quan hệ thứ tự trên A là ¿ , gọi X ¿ ∅ là tập con của A
a) Phân từ a

¿

X được gọi là phần tử lớn nhất của X nếu ∀ x

¿

X, x ¿ a

b) Phân tử a

¿

X được gọi là phần tử nhỏ nhất của X nếu ∀ x

¿

X, a ¿ x

Ví dụ: Trên N*, xét X={1,2,4,6} , quan hệ |
Phần tử lớn nhất của X: Khơng có
Phần tử nhỏ nhất của X: 1
* Chú ý : Phần tử lớn nhất, nhỏ nhất có thể khơng tồn tại, nhưng nếu nó tồn tại thì
duy nhất
6.4. Định nghĩa

Phần tử c

¿

A được gọi là chặn trên của tập X nếu ∀ x

Phần tử c

¿

A được gọi là chặn dưới của tập X nếu ∀ c

Nhóm 1 – KHMT 2014 – 2016

¿
¿

X, x ¿ c
X, c ¿ x
Trang 6


Quan hệ và ứng dụng
Ví dụ: Xét X={1,3,6,7,8} ¿ (N, ¿ )
Phần tử lớn nhất của X là 8
Phần tử nhỏ nhất của X là 1
Tập các phần tử chặn trên {n

N | n ¿ 8}


¿

Tập các phần tử chặn dưới {0,1}
* Chú ý : Các phần tử chặn dưới và chặn trên của một tập hợp có thể khơng thuộc
tập hợp đó và có thể là vơ hạn phần tử
6.5. Định nghĩa
Phần tử cận trên của tập X ¿ A là phần tử nhỏ nhất của tập các chặn trên của X.
Ký hiệu supX
Phần tử cận dưới của tập X ¿ A là phần tử lớn nhất của tập các chặn dưới. Ký
kiệu inf X
Ví dụ : Cho A={1,2,3}, A1={{1},{1,2},{2,3}} ¿ (P(A, ¿ )

¿ A

supA1={1,2,3}=

A∈A1

¿ A

infA1=∅=

A∈A1

6.6. Định nghĩa
Phần tử m

X ¿ A được gọi là phần tử tối đại (hoặc cực đại) của X nếu ∀ x

X, m ¿ x ⇒ m=x


¿

Phần tử m
x

¿

¿

¿

X ¿ A được gọi là phần tử tối tiểu (hoặc cực tiểu) của X nếu ∀

X, x ¿ m ⇒ x=m
Ví dụ: Trên N*, Cho X={2,3,5,6,9}, quan hệ |
Phần tử tối tiểu : 2,3,5
Phần tử tối đại : 5,6,9
* Chú ý: Nếu m là phần tử lớn nhất của X thì m là phần tử tối đại, nhỏ nhất chính

là tối tiểu. Điều ngược lại khơng đúng
Ví dụ: A={1,2,3,4}. Xét A1={{1},{2},{2,3}} ¿ (P(A), ¿ )
Phần tử tối đại : {1},{2,3}
Phần tử tối tiểu : {1},{2}

Nhóm 1 – KHMT 2014 – 2016

¿
¿


A1
A17. Dàn, dàn đầy đủ

Trang 7


Quan hệ và ứng dụng
7.1. Định nghĩa Dàn (Lattice): Cho tập A và quan hệ thứ tự ¿
dàn nếu ∀ a,b

¿

A thì tồn tại sup{a,b} và inf{a,b}

Ví dụ: Tập (P(A), ¿ ) là một dàn ∀ A,B,C
inf{A,B}=A

¿

trên A. A được gọi là

¿

P(A), sup{A,B}=A

¿

B và

B


7.2. Dàn đầy đủ
(A, ¿ ) được gi là dàn đầy đủ nếu ∀ B ¿ A khác rỗng đều tồn tại cận trên và
cận dưới
II. ỨNG DỤNG QUAN HỆ VÀO CƠ SỞ DỮ LIỆU QUAN HỆ
1. Định nghĩa quan hệ
Cho K:= {A1 , A2 ,.. , An} một tập hữu hạn các thuộc tính, khác rỗng và các phần
tử không nhất thiết phân biệt nhau. Mỗi một thuộc tính A i

¿

K, i =

1,n

có một miền

giá trị xác định, (Domain), ký hiệu D(A i) = Dom(Ai). Ví dụ, tập các ký tự số có chiều
dài chính xác là 7, là miền của của thuộc tính số điện thoại. Tích Đề các của các miền
Dom(A1), Dom(A2).. Dom(An) được biểu diễn như sau:
Dom(A1) x Dom(A2) x ..x Dom(An ) : = {(a1,a2,….,an)/ai

Ai , , i =

¿

1,n

}


Nói rằng R là một quan hệ trên tập K khi và chỉ khi nó là một tập con của tích
Đề các của: D(a1) x D(a2) x... x D(an). Ký hiệu R(K) = R(A1 , A2 , .. , An).
Tức là: R(K) ¿ D(a1) x D(a2) x...x D(an).
Như vậy quan hệ R(K) trên tập K là tập các các hàm: R(K) :={r/r : K →
D(A), A

¿

¿

K}

Mỗi một hàm trong quan hệ được gọi là một dịng của quan hệ. Vì vậy trong cách
tiếp cận mơ hình CSDL quan hệ, người ta thường biểu diễn một quan hệ trên tập các
thuộc tính K bằng một bảng 2 chiều. Các thuộc tính (Attributes) của quan hệ là các cột
A1,A2,..,An , không nhất thiết phân biệt nhau và các hàng của quan hệ được gọi là các bộ
(tuple), hay còn được gọi là các bản ghi của quan hệ, ký hiệu là r

¿

R(K). Giá trị của

mỗi một bộ gồm n thành phần giá trị r = (d 1, d2,..,dn) được rút ra giá trị từ các miền xác
định tương ứng, tức là r(A1) = d1

¿

D(A1), r(A2) = d2

¿


D(A2), ..., r(An) = dn

¿

D(An), trong đó các ký hiệu:
D(Ai) := Dom(Ai) là miền xác định của Ai

¿

K, i =

1,n

Có thể định nghĩa quan hệ R(K) cách khác như sau:
R(K) = {(d1, d2,.., dn )/di
Nhóm 1 – KHMT 2014 – 2016

¿

D(Ai) , Ai

¿

K,i=

1,n
Trang 8



Quan hệ và ứng dụng

............

A1

A2

An

r1 (A1)

r1 (A2)

...........

r1 (An)

r2 (A1)

r2 (A2)

...........

r2 (An)

..............

...............


................

rn (A1)

rn (A2)

................

................
rn (An)

2. Ký hiệu
 Bậc của quan hệ: Số thuộc tính của quan hệ R(K).
 Số n_bộ của quan hệ gọi là lực lượng của quan hệ. Ký hiệu là /R/.
 n_bộ : (d1, d2,.., dn) là một bản ghi, thường được biểu diễn bằng các chữ La
tinh nhỏ, ví dụ r: = (d1, d2,.., dn )

¿

R(K).

 X là một tập con các thuộc tính, ký hiệu X ¿

K, khi và chỉ khi ∀ A

¿

X,

suy ra

A

¿

K. Nghĩa là các thuộc tính của X cũng là thuộc tính của K

Tổng quát X ¿ Y khi và chỉ khi với mọi thuộc tính của X cũng là thuộc tính của
Y.
 Nếu ∀ X ¿ K và ∀ r

¿

R(K). Khi đó phép chiếu X trên bộ r được

hiểu như sau: Nếu r: = (d1, d2,.., dn) khi đó r[X] := r(X) := (di1, di2, ...,dik), tức là r[X] là
các giá trị của bộ r chứa giá trị của thuộc tính X.
 Cho hai bộ ∀ r1, r2

¿

R( Ω ), r1 = (d1, d2,.., dn) và r2 = (h1, h2,.., hn). Khi

đó nói rằng r1 trùng r2 được hiểu là : r1 ¿ r2
r1 khác r2 : r1 ¿ r2



∃ i

¿


⇔ di = hi , i = 1... n.

{1,2... ,n} sao cho di = hi

Ví dụ 1: Quan hệ về khách hàng đặt mua báo:KHACHHANG (M#,TK,DC,SDT).
Trong đó: M# ký hiệu là mã khách đặt mua báo, TK là tên khách, DC địa chỉ
khách hàng và SDT là số điện thoại của khách. Miền giá trị của M# là tập hợp (M01,
M02, M13, M13), miền giá trị của TK là họ và tên của khách đặt mua báo, .... Quan hệ
KHACHHANG là một bảng 2 chiều, các cột là các thuộc tính M#, TK, DC và SDT, các
hàng của bảng là thông tin về các khách hàng đặt mua báo. Quan hệ là tập các bản ghi
gồm các thành phần mã khách, họ tên khách, địa chỉ khách và số điện thoại khách.
Ví dụ (M01, Nguyễn Ngọc An, 24 Nguyễn Biểu, 822134) ....
M#

TK

DC

SD

M01Nguyễn Ngọc An24 Nguyễn Biểu 8222134
T
M02Hồ Ngọc Hà
174Tơn Đức Thắng
Nhóm 1 – KHMT 2014 – 2016

Trang 9



Quan hệ và ứng dụng
M12Tô Ngọc Long 54 Tràng Thi
M13Phan Đăng Cầu 134 Đội Cấn

5241234
8345123

Quan hệ BAO (MB#,TBAO,GIA,KY,NXB) là bảng thông tin về các loại báo:
MB#: Mã báo, TBAO: Tên khách hàng, GIA: Giá báo, KY: Kỳ phát hành, NXB: Nhà
xuất bản.
MB#

TBAO

GIA

KY

NXB

A01 Nhân Dân

1.000 NGAY Nhân Dân

A02 Quân đội Nhân Dân

1.000 NGAY Quân Đội

B01


600

Hà Nội Mới

NGAY Tiến Bộ

Quan hệ DAT_MUA là bảng biểu diễn thông tin về các phiếu đặt mua báo, tạp
chí của khách hàng: DAT_MUA (M#,MB#,NG,SL)
M# : Mã Khách, MB# : Mã báo, NG : Ngày đặt mua, SL : Số lượng
M#
M01
M01
M02
M02
M12
M12
M12
M13

MB#
A01
A02
A01
A02
A01
A03
B01
A02

NG

1/2/2000
4/2/2000
1/3/2000
1/4/2000
1/6/2000
1/5/2000
1/4/2000
1/4/2000

0
0
0
0
0

SL
10
15
30
12
23
50
90
15

0
3. Các phép toán đại số quan hệ
Ngoài việc định nghĩa cấu trúc cơ sở dữ liệu và các ràng buộc, một mơ hình dữ
liệu phải chứa một tập hợp phép toán để thao tác dữ liệu. Tập hợp cơ sở các phép tốn
mơ hình quan hệ tạo nên đại số quan hệ. Các phép toán này giúp cho mọi người sử dụng

xác định rõ ràng các yêu cầu lấy tin cở bản. Kết quả của một phép lấy tin là một quan hệ
mới, có thể được tạo ra từ một hoặc nhiều quan hệ. Các quan hệ đó có thể được thao tác
tiếp theo bằng cách sử dụng các phép toán của cùng đại số. Một dãy các phép toán quan
hệ tạo nên một biểu thức đại số quan hệ mà kết quả của nó cũng là một quan hệ.
Các phép toán đại số quan hệ được chia thành hai nhóm. Một nhóm bao gồm các
phép toán tập hợp lấy từ lý thuyết tập hợp toán học. Các phép tốn đó là phép hợp, phép
giao, phép trừ tập hợp và phép tích Đề_các. Nhóm kia bao gồm các phép tốn được xây

Nhóm 1 – KHMT 2014 – 2016

Trang 10


Quan hệ và ứng dụng
dựng đặc biệt cho các cơ sở dữ liệu quan hệ. Các phép tốn đó là phép chọn, phép chiếu,
phép nối và một số các phép tốn khác.
3.1. Các phép tốn lý thuyết tập hợp
Nhóm đầu tiên của các phép toán đại số quan hệ là các phép tốn tốn học thơng
thường trên các tập hợp. Đó là các phép tốn hợp, giao và trừ tập hợp. Các phép tốn này
là các phép tốn hai ngơi, nghĩa là mỗi phép toán được áp dụng cho hai tập hợp. Khi áp
dụng các phép toán này cho cơ sở dữ liệu quan hệ, hai quan hệ tham gia vào một trong
các phép tốn trên phải có kiểu của các bộ như nhau, hay nói cách khác, chúng phải có
cùng một cấu trúc. Điều kiện này được gọi là tương thích đồng nhất. Hai quan hệ R(A1,
A2,…., An) và S(B1, B2,…., Bn) được gọi là tương thích đồng nhất nếu chúng cung cấp
n và dom(Ai) = dom(Bi), với 1 ≤ i ≤ n. Điều đó có nghĩa là hai quan hệ có cùng số các
thuộc tính và mỗi cặp thuộc tính tương ứng có cùng miền giá trị.
Các phép toán được định nghĩa như sau:
Phép hợp: Hợp của hai quan hệ R và S, được ký hiệu RS, cho kết quả là một
quan hệ chứa tất cả các bộ có trong R, hoặc tróng, hoặc cả hai. Với phép toán hợp các bộ
trùng lặp bị loại bỏ.

Phép giao: Giao của hai quan hệ R và s, được ký hiệu RS, cho kết quả là một
quan hệ chứa tất cả các bộ có trong cả hai quan hệ R và S.
Phép trừ quan hệ: Phép trừ quan hệ R và S, được ký hiệu R-S, cho kết quả là một
quan hệ chứa tất cả các bộ có trong R nhưng khơng có trong S.
Ví dụ: Xét hai quan hệ:
R

Giới_tín

Họ_tên

Tuổi

AA
BB
CC
DD

20
18
21
25

Họ_tên

Tuổi

AA
BB
CC


20
18
21

h
Nam
Nữ
Nam

DD

25

Nữ

EE

20

Nam

h
Nam
Nữ
Nam
Nữ

S


Họ_tên

Tuổi

BB
EE
DD
FF

18
20
25
21

Họ_tên

Tuổi

BB
DD

18
25

Họ_tên

Tuổi

AA


20

Giới_tín
h
Nữ
Nam
Nữ
Nam

Khi đó:
RS

Nhóm 1 – KHMT 2014 – 2016

Giới_tín

RS

R-S

Giới_tín
h
Nữ
Nữ
Giới_tín
h
Nam

Trang 11



Quan hệ và ứng dụng
FF

21

Nam

CC

21

Nam

Các phép toán của các phép toán tập hợp:
+ Phép toán hợp và giao là phép toán giao hoán, nghĩa là:
R  S = S  R và R  S = S  R
+ Các phép tốn trên cũng có tính chất kết hợp, nghĩa là:
R  (S  T) = (R  S)  T và R  (S  T) = (R  S)  T
+ Các phép tốn trừ tập hợp khơng có tính chất giao hốn, tức là:
R–S≠S–R
Tích đề-các của hai quan hệ: Tích đề cịn gọi là tích hỗn hợp (cross product), hoặc
là nối hỗn hợp (cross jone), được ký hiệu là x. Tích đề-các là phép tốn hai ngơi, nhưng
những quan hệ mà nó áp dụng trên đó khơng cần phải là tương thích đồng nhất. Phép
tốn này được sử dụng để nối các bộ của hai quan hệ vào một kiểu kết hợp.
Kết quả của R(A1, A2, …, An) x S(B1, B2, …, Bn) là một quan hệ Q với n + m
thuộc tính Q(A1, A2, …, An, B1, B2, …, Bn). Quan hệ kết quả Q có các bộ được tạo
thành do sự kết hợp một bộ của R và một bộ của S. Ví dụ, xét hai quan hệ R và S như
sau:
R


A1

A2

A3

aa
ab

bb
ba

Cc
Ac

S

B1

B2

B3

dd
cd

da
cb


db
ac

Tích đề các của chúng là quan hệ:
RxS

A1

A2

A3

B1

B2

B3

aa
aa
ab
ab

bb
bb
ba
ba

Cc
Cc

Ac
Ac

dd
cd
dd
cd

da
cb
da
cb

db
ac
db
ac

Như vậy, nếu R có nR bộ và S có nS bộ thì R x S có nR x nS bộ. Phép toán này
nếu áp dụng một mình thì khơng có ý nghĩa mấy. Nó chỉ có lợi khi tiếp theo bằng một
phép chọn các giá trị tương thích của các thuộc tính xuất phát từ các quan hệ thành phần.
Tích đề-các kết hợp với một phép chọn cho ta một phép nối.
3.2. Các phép toán trên cơ sở dữ liệu quan hệ
Phép chọn (Select)

Nhóm 1 – KHMT 2014 – 2016

Trang 12



Quan hệ và ứng dụng
Phép chọn được sử dụng để chọn một tập hợp các bộ thỏa mãn điều kiện chọn từ
một quan hệ. Ta có thể xem phép chọn như một bộ lọc, nó chỉ giữ lại các bộ thỏa mãn
điều kiện đặt ra.
Phép chọn được ký hiệu là: <điều kiện chọn>(R), trong đó ký hiệu  được dùng
để ký hiệu phép chọn, còn <điều kiện chọn> là một biểu thức lơgic được chỉ ra trên các
thuộc tính của R. Chú ý rằng, R nói chung là một biểu thức đại số quan hệ. Kết quả của
một biểu thức đại số quan hệ là một quan hệ. Biểu thức đơn giản nhất chính là tên của
một quan hệ của một cơ sở dữ liệu. Quan hệ kết quả của phép chọn có cùng thuộc tính
như R. Ví dụ, để chọn các bộ NHÂN_VIÊN thuộc về đơn vị có mã số là 4, hoặc các bộ
NHÂN_VIÊN có lương lớn hơn 3000000 to có thể viết như sau:
<Mã_số = 4>NHÂN_VIÊN
<Lương > 3000000>NHÂN_VIÊN
Biểu thức lôgic chỉ ra trong <điều kiện chọn> được tạo ra nên từ một số hậng mục
có dạng:
<tên thuộc tính><giá trị hằng>
Hoặc <tên thuộc tí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 trong R,
một trong các phép so sánh {<, <=, =, >, >=, ≠}, còn <giá trị hằng> là một giá trị hằng từ
miền giá trị của thuộc tính. Các hạng mục có thể được nối với nhau bằng các phép tốn
lơgic AND, OR, NOT để tạo ra một điều kiện chung. Ví dụ, để chọn ra các nhân viên làm
việc ở đơn vị có mã số đơn vị là 4 và có lương lớn hơn 3000000, hoặc các nhân viên làm
việc ở đơn vị có mã số là 5 và có lương lớn hơn 4000000 ta có thể viết phép chọn như
sau:
<Mã_số_ĐV = 4> AND <Lương>3000000>OR <Mã_số_ĐV = 5> AND
<Lương > 4000000>(NHÂN_VIÊN)
Chú ý rằng, các phép toán so sánh trong tập hợp {<, <=, =, >, >=, ≠} áp dụng cho
các thuộc tính có miền giá trị là các giá trị có thứ tự như là miền giá trị số. Miền giá trị
các dãy ký tự được xem như có thứ tự dựa trên việc so sánh các dãy ký tự. Nếu miền giá
trị của một thuộc tính là một tập hợp các giá trị khơng có thứ tự thì chỉ có các phép tính

so sánh trong tập hợp {=, ≠} là có thể áp dụng được. Ngồi ra, có thể cịn các phép sa
sánh bổ sung, chẳng hạn như “là dãy con của…” hoặc “trong khoảng từ … đến …”.

Nhóm 1 – KHMT 2014 – 2016

Trang 13


Quan hệ và ứng dụng
Kết quả một phép chọn được xác định như sau: <điều kiện chọn được áp dụng cho
mỗi bộ t trong R một cách độc lập. Điều đó được thực hiện bằng cách thay thế mỗi thuộc
tính Ai trong <điều kiện chọn> bằng giá trị t[Ai] của nó trong bộ. Nếu <điều kiện chọn>
cho giá trị đúng thì bộ t sẽ được chọn. Tất cả các bộ chọn xuất hiện trong kết quả của
phép chọn. Các phép tốn lơgic AND, OR, NOT được thực hiện quy tắc bình thường của
chúng.
Phép chọn là phép tốn một ngơi, nghĩa là nó được áp dụng cho một quan hệ. Hơn
nữa, phép chọn được áp dụng cho từng bộ một cách độc lập. Vì vậy, các điều kiện chọn
khơng thể liên quan đến nhiều bộ . Quan hệ kết quả của phép chọn có cấp giống như cấp
của R. Số các bộ trong quan hệ kết quả luôn luôn nhỏ hơn hoặc bằng số các bộ trong R.
Phép chọn là một phép tốn có tính chất giao hốn, nghĩa là:
<Điều kiện 1>(<Điều kiện 2>(R)) = <Điều kiện 2>(<Điều kiện 1>(R))
Hơn nữa ta có thể kết hợp một loạt các phép chọn thành một phép chọn đơn giản
bằng cách sử dụng phép tốn AND. Ví dụ:
<Điều kiện 1>(<Điều kiện 2>(R)) = <Điều kiện 2> AND <Điều kiện 1>(R)
Phép chiếu (Project)
Nếu ta coi một quan hệ như một bảng thì phép chọn chọn một số hàng của bảng
thỏa mãn điều kiện chọn và bỏ qua các hàng không thỏa mãn điều kiện chọn. Phép chiếu
là phép toán chọn một số cột của bảng. Nếu chúng ta chỉ quan tâm đến một số thuộc tính
của quan hệ, chúng ta dùng phép chiếu để chiếu lên các thuộc tính đó. Phép chiếu được
ký hiệu là:

<danh sách các thuộc tính>(R)
Trong đó  là ký hiệu dùng để biểu diễn phép chiếu, <danh sách các thuộc tính> là
một danh sách con các thuộc tính quan hệ R. Nói chung R là một biểu thức đại số quan
hệ, trường hợp đơn giản nhất nó là tên của một quan hệ của cơ sở dữ liệu. Kết quả của
phép chiếu là một quan hệ chỉ có các thuộc tính nằm trong <danh sách các thuộc tính> và
có cùng thứ tự như thứ tự của chúng trong danh sách. Như vậy, cấp của quan hệ kết quả
là số các thuộc tính có trong <danh sách các thuộc tính>.
Nếu < danh sách các thuộc tính> chỉ bao gồm các thuộc tính khơng phải thuộc tính
khóa của R thì quan hệ kết quả có thể có những bộ trùng nhau. Phép chiếu loại bỏ mọi bộ
trùng lặp, và như vậy, kết quả của phép chiếu là một tập hợp các bộ và là một quan hệ
đúng đắn.
Nhóm 1 – KHMT 2014 – 2016

Trang 14


Quan hệ và ứng dụng
Ví dụ: Phép chiếu
Mã_số_NV, Họ_đêm, Tên, Lương(NHÂN_VIÊN)
Cho kết quả là một quan hệ có các thuộc tính Mã_số_NV, Họ_đệm, Tên, Lương.
Bảng kết quả phép chiếu sau:
Mã_số_NV
NV001
NV002
NV010
NV014
NV016
NV018
NV025
NV061


Họ_đệm

Trần Đức
Hoàng
Phạm
Nguyễn
Vũ Hương
Trần Lê
Bùi

Tên
Vân
Nam
Thanh
Bằng
Sơn
Giang
Hậu
Hoa

Lương
3000000
3500000
3500000
4000000
4500000
3700000
3900000
4200000


Số các bộ trong quan hệ kết quả từ một phép chiếu luôn luôn nhỏ hơn hoặc bằng
số các bộ trong R. Nếu danh sách chiếu là một siêu khóa của R (nghĩa là nó chứa một
khóa nào đó của R) thì quan hệ kết quả có cùng một số bộ như R. Ngồi ra, phép chiếu có
tính chất sau:
<Danh sách 1> (<Danh sách 2>(R)) = <Danh sách 1>(R)
Phép chiếu khơng có tính giao hốn.
Phép đặt lại tên (Remane)
Chúng ta có thể áp dụng nhiều phép tốn quan hệ liên tiếp nhau. Trong trường hợp
đó, hoặc chúng ta có thể viết các phép tốn như là một biểu thức đại số quan hệ đơn bằng
cách sắp xếp lồng các phép tốn lại với nhau, hoặc chúng có thể áp dụng mỗi phép toán
tại một thời điểm tạo ra các mối quan hệ kết quả trung gian. Trong trường hợp tạo ra các
quan hệ trung gian, cần phải đặt tên cho quan hệ đó.
Ví dụ: Để đưa ra Họ_tên và Lương của các NHÂN_VIÊN làm việc ở đơn vị có
mã số là 4, chúng ta phải áp dụng một phép chọn và một phép chiếu. Có thể viết một
biểu thức đại số quan hệ đơn như sau:
<Họ_tên, Lương>(<Mã_số = 4>(NHÂN_VIÊN)
Một cách khác, có thể tạo ra kết quả trung gian và viết biểu thức trên thành dãy
các phép toán như sau:
KQTG  <Mã_số = 4>(NHÂN_VIÊN)
Kết quả  <Họ_tên, Lương>(KQGT)
Thông thương việc phân tích một dãy phức tạp các phép toán bằng cách chỉ ra các
quan hệ kết quả trung gian dễ hơn việc viết một biểu thức đại số quan hệ đơn. Chúng ta
Nhóm 1 – KHMT 2014 – 2016

Trang 15


Quan hệ và ứng dụng
có thể dùng kỹ thuật này để đặt lại tên cho các thuộc tính trong các quan hệ trung gian và

kết quả. Để đặt lại tên cho các thuộc tính của một quan hệ, chúng ta liệt kê các tên mới
của các thuộc tính trong cặp dấu ngoặc.
Ví dụ: R(Họ_và_tên, Lương)  <Họ_tên, Lương>(KQGT) cho kết quả là quan
hệ R, trong đó thuộc tính Họ_tên được đặt lại tên thành Họ_và_tên.
Nếu khơng có việc đặt lại tên thì tên của các thuộc tính trong quan hệ kết quả của
một phép chọn là giống nhau như các tên trong quan hệ ban đầu và có cùng một thứ tự
của các thuộc tính đó. Đối với phép chieeus, nếu khơng có việc đặt lại tên thì quan hệ kết
quả có các tên thuộc tính giống như các tên trong danh sách chiếu và có cùng thứ tự như
chúng xuất hiện trong danh sách.

Nhóm 1 – KHMT 2014 – 2016

Trang 16


Quan hệ và ứng dụng
C - KẾT LUẬN
Đại số quan hệ (tiếng Anh: relational algebra) dùng phổ biến trong lí thuyết cơ sở
dữ liệu quan hệ là một bộ các tốn tử và các quy tắc tương ứng có thể được sử dụng để
thao tác trên các toán học (relation) và tạo ra kết quả là một quan hệ khác. Trước đây, đại
số quan hệ ít được quan tâm cho đến khi Edgar F. Codd đưa ra mơ hình dữ liệu quan
hệ(relational model) vào năm 1970. Từ đó đến nay, đại số quan hệ được xem là nền tảng
cho các ngôn ngữ truy vấn cơ sở dữ liệu.
Từ những định nghĩa cơ bản về quan hệ ta có thể ứng dụng vào mơ hình “Cơ sở
dữ liệu quan hệ”- Có thể hiểu là dữ liệu được người sử dụng nhìn dưới dạng một quan hệ
toán học và các phép toán thao tác dữ liệu được xây dựng trên các cấu trúc quan hệ toán
học. Một quan hệ là một bảng và mỗi bảng là một cấu trúc quan hệ toán học.
Trong đề tài tiểu luận này nhóm chúng tơi đã chỉ ra khái niệm về quan hệ trong
toán học và áp dụng các phép toán đại số quan hệ vào mơ hình cơ sở dữ liệu quan hệ.
Vì kiến thức cịn hạn chế nên chắc chắn khơng tránh khỏi những thiếu sót, kính

mong sự góp ý của thầy cùng các bạn để tiểu luận được hồn thiện hơn.

Nhóm 1 – KHMT 2014 – 2016

Trang 17


Quan hệ và ứng dụng

TÀI LIỆU THAM KHẢO
[1]. Nguyễn Gia Định, Giáo trình cơ sở tốn học, ĐHKH Huế, 2005
[2]. Hồ Thuần, Hồ Cẩm Hà, Giáo trình cơ sở dữ liệu, Nhà xuất bản giáo dục, 2004
[3]. www.vi.wikipedia.org

Nhóm 1 – KHMT 2014 – 2016

Trang 18



×