Đề tài QUAN HỆ VÀ ỨNG DỤNG
Trang 1TIỂU LUẬN MÔN HỌC
CƠ SỞ TOÁN CHO TIN HỌC
Đề tài
QUAN HỆ VÀ ỨNG DỤNG
Trang 2A - 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
Trang 3A - 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 toá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 toá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ể hoàn thành tiểu luận này
Trang 4B - 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={a1,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 0 0 0 01 1 0 0 0
1 0 1 0 0
1 1 0 1 0
1 0 0 0 1)
Trang 52.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)
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 ¿ A, a R a
Đối xứng nếu ∀ a,b ¿ A, a R b ⇒ b R a
Phản đối xứng nếu ∀ a,b ¿ A, a R b và b R a ⇒ a=b
Bắc cầu nếu ∀ a,b,c ¿ 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 ¿ N mà 1|3 nhưng 3 không chia hết 1
Phản đối xứng : Có vì ∀ a,b ¿ N, nếu a|b và b|a thì ⇒ a=b
Bắc cầu : Có vì ∀ a,b,c ¿ 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ư)
6 1
5 1
2
9
Trang 64.2 Cho R là quan hệ tương đương trên A Lúc đó :
∀ a ¿ A, a≠ ¿¿ ∅ Trong đó a ={x ¿ A | a R x}: Lớp tương đương của a
a = b ⇔ a R b
a = b hoặc a ¿ 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 được gọi là phân hoạch của tập A nếu: (i) Ai ¿ ∅ , ∀ i ¿ I
(ii) Ai ¿ Aj = ∅ , ∀ i,j ¿ I
(iii) 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 ¿ Z | m=3k , k ¿ Z}
1 ={m ¿ Z | m=3k +1 , k ¿ Z}
2 = {m ¿ Z | m=3k +2 , k ¿ Z}
Vậy Z3={ 0 , 1 , 2 }
* 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 ¿ I là phân hoạch của A Quan hệ R trên A như sau :
∀ a,b ¿ A, a R b ⇔ ∃ 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 ¿ I : a ¿ Ai ⇒ a R a
Đối xứng : ∀ a,b ¿ A, a R b ⇒ ∃ i ¿ I : a,b ¿ Ai ⇒ b R a
Trang 7 Bắc cầu : ∀ a,b,c ¿ A, giả sử : a R b ¿ b R c
⇒ ∃ i ¿ I : a,b ¿ Ai và ∃ 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 (Ai)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)}
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=R2
oR
………
Rn=Rn-1
oR
* Chú ý: (a,b) ¿ Rn ⇔ ∃ x1,x2,….,xn-1 ¿ A sao cho a R x1,x1 R x2,… ,xn
R b
* Mệnh đề: Quan hệ R trên A có tính bắc cầu ⇔ Rn là con của R (Rn ¿ R)
∀ n ¿ 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)}
Trang 8* Đị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 ¿ ¿ R
n-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ự toà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 ¿ X, x ¿ c
Phần tử c ¿ A được gọi là chặn dưới của tập X nếu ∀ c ¿ X, c ¿ x
Trang 9Ví 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, ¿ )
supA1={1,2,3}=
¿
A∈A1A
infA1=∅=
¿
A∈A1A
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 ¿ 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, 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} ¿ A1 Phần tử tối tiểu : {1},{2} ¿ A17 Dàn, dàn đầy đủ
Trang 107.1 Định nghĩa Dàn (Lattice): Cho tập A và quan hệ thứ tự ¿ trên A A được gọi là 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 ¿ P(A), sup{A,B}=A ¿ B và inf{A,B}=A ¿ 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 Ai ¿ K, i = 1,n có một miền
giá trị xác định, (Domain), ký hiệu D(Ai) = 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 = (d1, 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 ¿ D(Ai) , Ai ¿ K , i = 1,n
Trang 112 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 ⇔ di = hi , i = 1 n
r1 khác r2 : r1 ¿ r2 ⇔ ∃ i ¿ {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)
T
M01Nguyễn Ngọc An24 Nguyễn Biểu 8222134 M02Hồ Ngọc Hà 174Tôn Đức Thắng
r 1 (A 1 ) r 1 (A 2 ) r 1 (A n )
r 2 (A 1 ) r 2 (A 2 ) r 2 (A n )
r n (A 1 ) r n (A 2 ) r n (A n )
Trang 12M12Tô Ngọc Long 54 Tràng Thi 5241234 M13Phan Đăng Cầu 134 Đội Cấn 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
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 Hà Nội Mới 600 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
0
0
0
0
0
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 toá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 toá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 toán được xây