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

CHƯƠNG III. MÔ HÌNH DỮ LIỆU QUAN HỆ docx

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 (190.47 KB, 5 trang )

CHƯƠNG III. MÔ HÌNH QUAN HỆ

I. MỞ ĐẦU

Mô hình cơ sở dữ liệu quan hệ là một mô hình được sử dụng rộng rãi trong đời
sống xã hội của mọi tổ chức, cơ quan, xí nghiệp, doanh nghiệp ….Nói chung là ở
bất cứ cơ quan nào cần quản lý và xử lý các thông tin. Hãy xem xét một vài ví dụ
sau:

Ví dụ 1:
Để thực hiện tốt công tác quản lý, bất cứ cơ quan nào đều lưu trữ hồ
sơ cán b
ộ ví dụ như sau:

Ví dụ 2:
Sổ theo dõi khách hàng của một khách sạn có thể có dạng như sau:
Dựa vào ví dụ trên ta thấy cho dù quản lý các thông tin khác nhau, nhưng
chúng ta cùng một đặc thù là:
+ Dữ liệu được trình bày dưới dạng bảng.
+Mỗi bảng đều có dòng đầu chứa các tiêu đề cho các cột, về sau các tiêu đề
này gọi là thuộc tính.
Chẳng hạn trong ví dụ 1 và 2 ta có các thuộc tính:
+ Mã các bộ, họ tên, ngày sinh, trình độ, quê quán là các thuộc tính.
+ Mật khẩu, ngày
đến, ngày đi, phòng, tiền là các thuộc tính.
Mỗi thuộc tính đều có miền giá trị của nó. (ví dụ: Ngày sinh có miền giá trị là
kiểu ngày (Date)… ).
Trong mỗi bảng như vậy đều có một phần tử là một dòng.
Về sau này các bảng như vậy gọi là một quan hệ.
II. CÁC KHÁI NIỆM CHÍNH


II.1.Miền, thuộc tính

- Miền là tập hợp các giá trị.
- Thuộc tính là các dữ liệu mô tả một đặc trưng của mộ
t thực tế.
II.2. Quan hệ


Quan hệ được hiểu là một tập con của tích Đề -các của môt hay nhiều miền.
- Mỗi hàng (dòng) của quan hệ gọi là một bộ (typle)
- Quan hệ là một tập con của tích Đề-các D1´D2´ ……….´Dn gọi là quan hệ n-
Mã cán bộ Họ tên Ngày sinh Trình độ Quê quán
CB1 Nguyễn Thị An 04/03/82 Cử nhân Tam kỳ
CB2 Phan Thị Bê 01/12/84 Cử nhân Quảng Bình
CB3 Trần T.Thái Minh 25/11/85 Cử nhân Quảng Bình
Mật khẩu Ngày đến Ngày đi Phòng Tiền
K1 02/02/06 20/02/06 101 300.000
K2 20/02/06 20/03/06 201 350.000
K3 20/03/06 03/04/06 301 400.000
ngôi. Mỗi bộ của quan hệ có n thành phần và (n cột)
- Các cột của quan hệ gọi là các thuộc tính.
Định nghĩa:

Gọi R =[A1, A2 , ,An] là tập hữu hạn các thuộc tính, mỗi thuộc tính Ai (i=1, ,n)
có miền giá trị tương ứng là dom(Ai). Người ta gọi r là quan hệ trên tập thuộc tính R
nếu r là tập con của tích Đề -các của n miền dom (Ai ):
R Í dom (A1 ) ´ dom (A2 ) ´…´dom (An )
Chú ý

- Đương nhiên quan hệ r có thể bi thay đổi theo thời gian do việc thực hiên

các phép toán cập nhật trên các quan h
ệ (bổ sung, loại bỏ, sửa đổi …), nói cách
khác rõ hơn, điều này có nghĩa là một quan hệ còn là một hàm của thời gian .
- Để chỉ một quan hệ r trên tập thuộc tính [A1, A2, …,An], ta dùng một bảng
gồm n cột và p+1 hàng, hàng thứ nhất là tên các thuộc tính, các hàng còn lại mỗi
hàng ứng với một bộ của quan hệ:
Ví dụ:
Xét lược đồ quan hệ Lichbay 20-04 -06 (Mã chuyến bay, loại máy bay,
sân bay đi, sân bay đến, giờ bay, giờ đến).
Lúc đó có một quan hệ Lichbay 20-04-06( có thể như sau )

Biểu diễn một quan hệ : các thuộc tính của quan hệ Lichbay20-04-06 là
+ Mã chuyến bay, Loại máy bay, Sân bay đến, Ngày bay, Giơ bay, Giờ đến.
Dom (Mã chuyến bay) = tập các mã chuyến bay do Tổng Công Ty Hàng không
VN quy định.
Dom (Loại máy báy )= tập các mã máy bay mà công ty hàng không không
đang có:
=Dom (ART72,ART73,A320A)

Dom (Sân bay đi )=Dom(Sân bay đến)=tập các mã sân bay mà công ty hàng
không mà có chuyến bay đi đến
Dom(Ngày bay)=các ngày có chuyến bay
Dom (Giờ bay)=giờ trong ngày
Dom (Giờ đến)=giờ trong ngày

Còn:

T = (VN272,ART72, SGN, NHA, 20/04/06, 7:00, 8:00) là m
ột bộ của quan hệ
A

1
A
2

……………
A
n

a
11
a
12

……………
a
1n

a
21
a
22

……………
a
2n

……… ………… …………… ………
Mã chuyến
bay
Loại máy

bay
Sân bay
đi
Sân bay
đến
Ngày bay
Giờ
bay
Giờ
đến
VN272 ART72 SGN NHA 20/04/06 7:00 8:00
VN372 ART73 NHA SGN 20/04/06 9:00 10:00
VNA32 A302A SGN HAN 20/04/06 12:00 13:00
Lichbay 20-04-06
Bộ này có ngữ nghĩa như sau: Chuyến bay số liệu VN
Do loại máy bay ATR72 thực hiện từ thành phố HỒ CHÍ MINH đi NHA
TRANG vào ngày 20-04-06, cất cánh lúc 7h, tới Nha Trang vào lúc 8 h
Chú ý :
Từ định nghĩa của quan hệ ta chú ý rằng :
-

Thứ tự của các thuộc tính của lược đồ quan hệ không chú ý đến
-
Nghĩa là: r={a,b,c}= r’= {b,a,c}
-

Trong một quan hệ, không có hai bộ giống nhau
- Trong chương trình này, để dơn giản trong việc biểu diễn, ta dùng các ký tự
in hoa A,B,C……. để chỉ tên các thuộc tính trong lược đồ quan hệ, còn a
i

,b
j
,
c
k …….
để chỉ các phần tử trong Dom(A),Dom(B), Dom(C),……X, Y là cá tập
các thuộc tính của r(X,YÌ R).
II.3 Lược đồ quan hệ

Lược đồ quan hệ (relation scheme) là một cặp thứ tự : S= <R, F>.
Trong đó R là tập hợp các thuộc tính của quan hệ f là tập hợp ràng buộc của
quan hệ. Ở đây ràng buộc trên tập thuộc tính {A
1
,

……,A
n
} được hiểu là một
thuộc tính chất trên tập tất cả cá quan hệ xác định trên tập thuộc tính này.

Chú ý:

- Để đơn giản khi nói đến một lược đồ quan hệ khi mà không quan tâm đến
các ràng buộc, ta ký hiệu một lược đồ quan hệ một cách đơn giản r(R) hay r(A
1

A
n
), với


{A
1,
A
2
,… , A
n
) là tập thuộc tính.
- Lược đồ quan hệ mô tả cấu trúc mô tả cấu trúc của quan hệ. Tại mỗi thời
điểm, lược đồ quan hệ có một thể hiện quan hệ cụ thể.
- Trên mỗi lược đồ quan hệ, ta có thể có nhiều quan hệ.
II .4. Thể hiện

Một thực thể (relation instance) của lược đồ quan hệ S= <R,F> là tập tất cả
các bộ thỏa mãn tất c
ả các ràng buộc thuộc f
Để tiện khi trình bày các khái niệm ta có quy ước sau: Với một t thuộc thể
hiển r của lược đồ quan hệ R và XÍ R, AÎ R lúc đó:
-

t[A] là giá trị của thuộc tính A.
-
t[X] là bộ chỉ chứa các giá trị của các thuộc tính trong X.
II.5.Khóa của quan hệ và lược đồ quan hệ:

Định nghĩa:

Cho r là một quan hệ định nghĩa trên lược đồ quan hệ <R,F>, KÍ R. K được gọi
là khóa của R nếu thỏa mãn 2 tính chất sau:
1) F |=K® R (K
+

=R)

2) $!K’Ì K sao cho K’
+
= R

Ví dụ:
R(A,B,C,D), F= {AB®C, C®A, B®D}
AB là khóa do : AB
+
=ABCD = R

A
+
= A

R

D
+
= BD

R

CB là khóa do: CB
+
= CBAD=R

C
+

= CA

B = BD
·

Nếu K chỉ có tính (1) K là siêu khóa .
·
Nếu K là khóa, A là một thuộc tính nào đó của K (AÎ K) ÞA là thuộc tính khóa.
Chú ý:
+ Khóa khóa tối thiểu
+ Siêu khóa Û khóa
+ Khóa Û thuộc tính nguyên tố.
III. CÁC KHÓA TRÊN CƠ SỞ DỮ LIỆU QUAN HỆ

Các phép tác động lên một cơ sở dữ liệu bao gồm: Chèn, loại bỏ, thay đổi…
Trong mô hình cơ sở dữ liệu quan hệ. Các phép tính này được áp dụng cho từng bộ
phân của các quan trên cơ sở dữ liệu trên máy .
Để thuận tiện khi giới thiệu các phép tính này, ta xét m
ột quan hệ NHÂN VIÊN

NHÂN VIÊN
(Ho_ten Nam_sinh Noi_lam_viec Luong)
t2 cb1 Nguyễn văn An 1973 Hội nhà văn 5.46
t2 Cb2 Trần thị Huê 1973 Viện chính trị 6.65
t3 Cb3 Hoàng hà 1972 Bộ GD& ĐT 4.42
t4 Cb4 Trần Văn 1972 Bộ Y Tế
6.67.
III.1.Chèn thêm một bộ

Phép chèn thêm một bộ vào quan hệ r[A1,A2, ,An].


INSERT
(r:A1=d1, A2=d2, An=dn)
Trong đó Ai(i=1 n) là tên các thuộc tính và diÎdom(Ai)
Ví dụ:
Thêm một bộ t5 = {Vũ Văn Tiền, 1960, Bộ tài chính, 4, 28) vào quan hệ
NHÂN VIÊN ở trên:
INSERT
(NHÂN VIÊN; Ho_ten =Vũ Văn Tiền, N
ăm_Sinh =1960,
Noi_Lam_Viec= Bộ tài chính, Lương =4.28)
Chú ý:

-

Phép chèn có thể biểu diễn hình thức toán học như sau: r= r È t.
-
Nếu xem thứ tự của các trường là cố định, khi đó ta có thể biểu diễn phép
chèn một cách ngắn nhất gọn hơn:
INSERT
(r; d1,d2, ,dn).
Mục đích của phép chèn là thêm một bộ phận nhất định; kết quả của phép
tính này có thể gây ra một số sai sốt vì những lý do sau:
·
Bộ mới thêm vào không phù hợp với lược đồ quan hệ cho trước.
·

Một giá trị của một thuộc tính nào đó nằm ngoài miền giá trị của thuộc tính
đó.
·


Giá trị khóa của bộ mới có thể là giá trị đã có trong quan hệ đang lưu trữ.
Do vậy, tùy từng hệ cụ thể sẽ có những cách khắc phục riêng.
III.2. Loại bỏ một bộ:

Phép loại bỏ (DEL) là phép xóa một bộ ra khỏi một quan hệ cho trước. Giống
như phép chèn, phép loại bỏ có dạng biểu diễn hình thức toán học: r= r-t

DEL
(r; A1=d1, A2=d2, ,An=dn)
hoặc ngắn gọn hơn có thể viết
DEL
(r; d1,d2, ,dn).
Ví dụ:
khi cần loại bỏ một bộ, chẳng hạn t2, t
ừ quan hệ NHÂN VIÊN, ta viết:

DEL
(NHÂN VIÊN; Trần Tuệ, 1950, Viện văn học, 4,45)

Chú ý:
Tất nhiên không phải lúc nào phép loại bỏ cũng gần đủ thông tin về cả
bộ cần loại. Khi ta có giá trị của bộ đó tại các thuộc tính khóa K={B1, ,Bn}, lúc đó
phép loại bỏ có dạng ngắn gọn sau:

DEL
( r: B1 = e1, B2 = e2, , Bi= ei)
III.3. Thay đổi giá trị các thuộc tính của một bộ

Khi cần điều chỉnh một số

giá trị nào đó tại một thuộc tính, lúc đó ta sử dụng
phép thay đổi.
Gọi tập { C1, ,Cp} Í {A1,…,An} là tập các thuộc tính mà tại đó các giá trị của
bộ cần thay đổi:
CH
( r; A1= d1, A2= d2, , An= dn; C1= e1,C2= e2, ,Cp= e).
Nếu K = {B1, ,Bm} là khóa của quan hệ, khi đó chỉ cần viết:
CH
(r, B1=b1, B2= b2, , Bm= bm; C1= e1,C2=e2, , Cp= ep).
Ví dụ:
Khi cần thay đổi lương của ông Hoàng An trong quan hệ NHÂN VIÊN ta
viết lệnh như sau:
C
H
(NHÂN VIÊN; Ho_ ten = Hoàng An, Lương = 4.92).
Chú ý:

- Phép thay đổi là phép rất thông dụng; chúng ta có thể
coi nó là tổ hợp của
phép loại bỏ một bộ và phép chèn một bộ mới. Vì phép thay đổi cũng phạm những
sai sót như là phép loại bỏ và phép chèn.
- Phép thay đổi có dạng toán học: r=r\ t È t’

×