Tìm hiểu các phụ thuộc bao hàm trong mô hình quan hệ và ứng dụng vào việc chuyển đổi sang mô hình EER - Pdf 32

BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC HUẾ
TRƯỜNG ĐẠI HỌC KHOA HỌC

NGUYỄN THẾ ANH

T×m hiÓu c¸c phô thuéc bao hµm
trong m« h×nh quan hÖ vµ øng dông
vµo viÖc chuyÓn ®æi sang m« h×nh EER
CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
MÃ SỐ: 60.48.01.01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Huế, 2015


MỤC LỤC
Lời cam đoan
Lời cảm ơn
Mục lục
Danh mục các thuật ngữ
Danh mục các chữ viết tắt
Danh mục các bảng
Danh mục các hình vẽ, đồ thị
MỞ ĐẦU .......................................................................................................... 1
Chương 1. CÁC RÀNG BUỘC DỮ LIỆU TRONG MÔ HÌNH
QUAN HỆ ................................................................................................ 3
1.1. Giới thiệu chung về vấn đề toàn vẹn ngữ nghĩa......................................... 3
1.2. Khái niệm ràng buộc toàn vẹn ................................................................... 3
1.2.1. Các yếu tố của ràng buộc toàn vẹn ......................................................... 4

3.3.4. Xác định mối quan hệ ........................................................................... 53
3.3.5. Các mối quan hệ được xác định bởi các quan hệ biểu diễn mối quan hệ59
3.3.6. Các mối quan hệ kết tập ........................................................................ 62
3.4. Gán các thuộc tính .................................................................................... 64
3.5. Ví dụ minh họa tiến trình trích xuất từ mô hình quan hệ
sang mô hình EER ................................................................................... 66
3.6. Kết luận .................................................................................................... 67
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ...................................................... 69
TÀI LIỆU THAM KHẢO ............................................................................... 70


DANH MỤC CÁC THUẬT NGỮ
Attribute

Thuộc tính

Composite Attribute

Thuộc tính phức hợp

Dangling Key Attribute

Thuộc tính khóa bộ phận

Derived Attribute

Thuộc tính dẫn xuất

Domain


Inclusion Dependencies

Phụ thuộc bao hàm

Multivalued Attribute

Thuộc tính đa trị

MultiValued Dependencies

Phụ thuộc đa trị

N-ary Relationship

Mối quan hệ đa nguyên bậc n

Non Key Attribute

Thuộc tính không khóa

Partial Key

Khoá bộ phận

Primary Key

Khoá chính

Primary Key Attribute



Strong Entity Type

Kiểu thực thể mạnh

Subclass

Lớp con

Superclass

Lớp cha

Weak Entity Relation

Quan hệ tập thực thể yếu

Weak Entity Type

Kiểu thực thể yếu


DANH MỤC CÁC CHỮ VIẾT TẮT
CSDL

Cơ sở dữ liệu

DBMS

Hệ quản trị cơ sở dữ liệu


Phụ thuộc đa trị

NKA

Thuộc tính không khóa

PKA

Thuộc tính khóa chính

RBTV

Ràng buộc toàn vẹn


DANH MỤC CÁC BẢNG

Số hiệu
bảng

Tên bảng

Trang

3.1

Biểu diễn quan hệ cấu trúc EER

39

2.1

Mối quan hệ nhị nguyên

17

2.2

Biểu diễn lớp cha và lớp con trong mô hình EER

19

2.3

Ký hiệu chuyên biệt hóa và các lớp con trong mô hình EER

20

2.4

Tổng quát hoá CAR, TRUCK và MOTOCYCLE thành
VEHICLE

21

2.5

Chuyên biệt hóa toàn phần

21


24

2.11

Sơ đồ lưới với sự đa kế thừa của CSDL trường đại học

25

2.12

Sự hợp nhất của hai hay nhiều lớp sử dụng ký hiệu category

26

2.13

Mô hình EER và CSDL của một trường đại học

27

3.1

Ví dụ mẫu mô hình quan hệ

41

3.2

Các bước trong kỹ thuật đảo ngược của cơ sở dữ liệu quan hệ

Một khóa ngoài xác định một quan hệ nhị nguyên

58

3.8

Một khóa ngoài xác định một quan hệ is-a

59

3.9

Một quan hệ biểu diễn mối quan hệ thông thường xác định
một quan hệ n-ary

61

3.10

Một quan hệ biểu diễn mối quan hệ chuyên biệt xác định một
quan hệ n-ary

62

3.11

Xác định một mối quan hệ tổng thể

64


thuộc tính được bao hàm trong tập hợp giá trị của thuộc tính khác.
Theo đó, luận văn gồm các phần như sau: phần mở đầu, ba chương nội dung,
phần kết luận và tài liệu tham khảo.
Nội dung Chương 1 là nhằm giới thiệu khái quát các ràng buộc dữ liệu trong mô
hình quan hệ.
Nội dung Chương 2 là nhằm giới thiệu khái quát mô hình ER và một mô hình
mở rộng của mô hình ER, đó là mô hình EER.


2

Dựa vào các nội dung trình bày trong Chương 1 và Chương 2, Chương 3 tập
trung trình bày phương pháp trích xuất một mô hình EER từ mô hình quan hệ có sử
dụng các ràng buộc phụ thuộc bao hàm.
Do thời gian còn hạn chế nên Luận văn không thể tránh khỏi những nhầm lẫn và
thiếu sót. Chúng tôi mong nhận được những ý kiến đóng góp của quý thầy cô, bạn bè và
những người quan tâm đến Luận văn này.


3

Chương 1
CÁC RÀNG BUỘC DỮ LIỆU TRONG MÔ HÌNH QUAN HỆ
1.1. Giới thiệu chung về vấn đề toàn vẹn ngữ nghĩa
Một số vấn đề khó khăn cho một hệ cơ sở dữ liệu là bảo đảm tính nhất quán
CSDL. Một trạng thái CSDL được gọi là nhất quán nếu CSDL thỏa một tập các ràng
buộc, được gọi là ràng buộc toàn vẹn ngữ nghĩa [3]. Duy trì CSDL nhất quán đòi hỏi
phải sử dụng đến nhiều cơ chế khác nhau như điều khiển hoạt động đồng thời, độ tin
cậy, bảo vệ và kiểm soát tính toàn vẹn ngữ nghĩa. Kiểm soát toàn vẹn ngữ nghĩa bảo
đảm được tính nhất quán của CSDL bằng cách phế bỏ các chương trình cập nhật dẫn

kế - đó là một việc làm rất quan trọng. Ràng buộc toàn vẹn được xem như là một
công cụ để diễn đạt ngữ nghĩa của CSDL. Một CSDL được thiết kế cồng kềnh nhưng
nó thể hiện được đầy đủ ngữ nghĩa của thực tế vẫn có giá trị cao hơn rất nhiều so
với một cách thiết kế gọn nhẹ nhưng nghèo nàn về ngữ nghĩa vì thiếu các ràng buộc
toàn vẹn của CSDL.
Công việc kiểm tra ràng buộc toàn vẹn thường được tiến hành vào thời điểm
cập nhật dữ liệu (thêm, sửa, xoá). Những ràng buộc toàn vẹn phát sinh phải cần được
ghi nhận và xử lý một cách tường minh (thường là bởi một hàm chuẩn hoặc một
đoạn chương trình).
Ràng buộc toàn vẹn và kiểm tra sự vi phạm ràng buộc toàn vẹn là hai trong
số những vấn đề quan trọng trong quá trình phân tích thiết kế cơ sở dữ liệu, nếu
không quan tâm đúng mức đến những vấn đề trên, thì có thể dẫn đến những hậu quả
nghiêm trọng về tính an toàn và toàn vẹn dữ liệu, đặc biệt là đối với những cơ sở dữ
liệu lớn.
1.2.1. Các yếu tố của ràng buộc toàn vẹn
Mỗi ràng buộc toàn vẹn có bốn yếu tố: điều kiện, bối cảnh, bảng tầm ảnh hưởng
và hành động phải cần thực hiện khi phát hiện có ràng buộc toàn vẹn bị vi phạm:
- Điều kiện:
Điều kiện của ràng buộc toàn vẹn là sự mô tả, và biểu diễn hình thức nội
dung của nó. Điều kiện của một ràng buộc toàn vẹn R có thể được biểu diễn bằng
ngôn ngữ tự nhiên, ngôn ngữ đại số quan hệ, ngôn ngữ mã giả, ngôn ngữ truy vấn
SQL,… ngoài ra điều kiện của ràng buộc toàn vẹn cũng có thể được biểu diễn bằng
phụ thuộc hàm.
Ví dụ 1.1. Sau đây là một số ràng buộc toàn vẹn trên lược đồ CSDL quản lý
sinh viên.
Mỗi lớp học phải có một mã số duy nhất để phân biệt với các lớp học khác
trong trường.


5

Xoá (X)

+

r2
r3

-(*)


rn
Bảng này chứa toàn các ký hiệu +, – hoặc -(*).
Chẳng hạn + tại (dòng r1, cột thêm) thì có nghĩa là khi thêm một bộ vào quan hệ
r1 thì ràng buộc toàn vẹn bị vi phạm.


6

Dấu - Tại ô (dòng r2, cột sửa) thì có nghĩa là khi sửa một bộ trên quan hệ r2
thì ràng buộc toàn vẹn không bị vi phạm.
Quy ước:
- Không được sửa thuộc tính khoá.
- Nếu không bị vi phạm do không được phép sửa đổi thì ký hiệu là - (*).
- Hành động cần phải có khi phát hiện có ràng buộc toàn vẹn bị vi phạm:
Khi một ràng buộc toàn vẹn bị vi phạm, cần có những hành động thích hợp.
Thông thường có 2 giải pháp:
Thứ nhất: Đưa ra thông báo và yêu cầu sửa chữa dữ liệu của các thuộc tính
cho phù hợp với quy tắc đảm bảo tính nhất quán dữ liệu. Thông báo phải đầy đủ và
phải thân thiện với người sử dụng. Giải pháp này là phù hợp cho việc xử lý thời gian
thực.

buộc toàn vẹn miền giá trị, ràng buộc toàn vẹn liên thuộc tính, ràng buộc toàn vẹn
liên bộ.
Thứ hai: Ràng buộc toàn vẹn có phạm vi là nhiều quan hệ bao gồm: ràng buộc
toàn vẹn phụ thuộc tồn tại, ràng buộc toàn vẹn liên bộ - liên quan hệ, ràng buộc toàn
vẹn liên thuộc tính - liên quan hệ.
Để minh hoạ, chúng ta xét ví dụ sau đây:
Ví dụ 1.2. Cho một CSDL C dùng để quản lý việc đặt hàng và giao hàng của
một công ty. Lược đồ CSDL C gồm các lược đồ quan hệ sau:
Q1: Khach (MAKH, TENKH, DIACHIKH, DIENTHOAI)
Mô tả:
Mỗi khách hàng có một mã khách hàng (MAKH) duy nhất, mỗi MAKH
xác định tên khách hàng (TENKH), địa chỉ (DIACHIKH), số điện thoại
(DIENTHOAI).
Q2: Hang (MAHANG, TENHANG, QUYCACH, DVTINH)
Mô tả:
Mỗi mặt hàng có một mã hàng (MAHANG) duy nhất, mỗi MAHANG xác
định tên hàng (TENHANG), quy cách hàng (QUYCACH), đơn vị tính (DVTINH).
Q3: Dathang (SODH, MAHANG, SLDAT, NGAYDH, MAKH)
Mô tả:
Mỗi mã số đặt hàng (SODH) xác định một ngày đặt hàng (NGAYDH) và mã
khách hàng tương ứng (MAKH). Biết mã số đặt hàng và mã mặt hàng thì biết được
số lượng đặt hàng (SLDAT). Mỗi khách hàng trong một ngày có thể có nhiều lần đặt
hàng.
Q4: Hoadon (SOHD, NGAYLAP, SODH, TRIGIAHD, NGAYXUAT)
Mô tả:
Mỗi hoá đơn tổng hợp có một mã số duy nhất là SOHD, mỗi hoá đơn bán hàng


8



Sửa

Xóa

Khach

+

-

-

+ Ràng buộc toàn vẹn về tính duy nhất
Ví dụ 1.4. Mỗi phòng ban phải có một tên gọi duy nhất
Ngoài ra nhiều khi ta còn gặp những ràng buộc toàn vẹn khác chẳng hạn như
ràng buộc toàn vẹn sau trong quan hệ sau đây:


9

KETQUA(MASV, MAMH, LANTHI, DIEM)
Mỗi sinh viên chỉ được đăng thi mỗi môn thi tối đa là 3 lần
b. Ràng buộc toàn vẹn về miền giá trị
Ràng buộc toàn vẹn có liên quan đến miền giá trị của các thuộc tính trong một
quan hệ. Ràng buộc này thường gặp. Thông thường các hệ quản trị CSDL đã tự động
kiểm tra (một số) ràng buộc loại này.
Ví dụ 1.5. Với r là một quan hệ của Hoadon ta có ràng buộc toàn vẹn sau:
R 3:  t  r
t.TRIGIAHD > 0

Xóa

Hoadon

+

+

-

1.2.2.2. Ràng buộc toàn vẹn có bối cảnh gồm nhiều quan hệ
a. Ràng buộc toàn vẹn về khoá ngoài
Ràng buộc toàn vẹn về khoá ngoài là một trường hợp đặc biệt của ràng buộc
bao hàm. Cũng giống như ràng buộc toàn vẹn về khoá nội, loại ràng buộc toàn vẹn
này rất phổ biến trong các CSDL.
Ví dụ 1.7.
R2.dathang[MAKH]  khach[MAKH]

R2

Thêm

Sửa

Xóa

Dathang

+



Dathang

+

-

-

Hoadon

+

+

-

c. Ràng buộc toàn vẹn liên bộ liên quan hệ
Ràng buộc loại này là mối liên hệ giữa các bộ trong một lược đồ cơ sở dữ
liệu. Chẳng hạn như tổng số tiền phải trả trong mỗi hoá đơn (chitiethd) phải bằng
TRỊ GIÁ HOÁ ĐƠN của hoá đơn đó trong quan hệ Hoadon. Hoặc số lượng học
viên trong một lớp phải bằng SOHOCVIEN của lớp đó.
Ngoài ra còn có một số loại RBTV khác như: ràng buộc toàn vẹn về thuộc
tính tổng hợp, ràng buộc toàn vẹn do tồn tại chu trình, ràng buộc toàn vẹn về giá trị
thuộc tính theo thời gian.
1.3. Các ràng buộc cấu trúc
Các ràng buộc cấu trúc diễn tả những đặc tính ngữ nghĩa cơ bản vốn có trong
mô hình. Thí dụ về những ràng buộc như thế nào là ràng buộc khóa duy nhất trong mô
hình quan hệ. Vì vậy chúng có vai trò rất quan trọng trong quá trình thiết kế CSDL.
Chúng tôi có thể diễn tả mối liên kết giữa các đối tượng, chẳng hạn như các phụ thuộc

Tập tất cả các phụ thuộc hàm trên một sơ đồ quan hệ kí hiệu là FD (Functional
Dependencies) [1]. Cần chú ý rằng, chúng ta chỉ xét các phụ thuộc hàm thỏa mãn cho
mọi quan hệ trên sơ đồ tương ứng của nó. Chúng ta không thể xem xét một phụ thuộc
hàm thỏa một quan hệ r đặc biệt (ví dụ quan hệ rỗng) của sơ đồ R rồi sau đó qui nạp
rằng phụ thuộc đó thỏa trên R.
1.4.2. Phụ thuộc bao hàm
Một lược đồ quan hệ là một đối tượng R(U), trong đó R là tên của lược đồ quan
hệ và U là một dãy hữu hạn <A1, ....., Am> của thuộc tính. Để đơn giản, chúng ta đôi
khi viết A1, ....., Am cho <A1, ....., Am>. Để tránh các tham chiếu không rõ ràng, chúng
tôi cũng viết R. A để chỉ một thuộc tính A trong một lược đồ quan hệ R. A bộ t trên U
= <A1, ....., Am> là một chuỗi <a1, ....., am> đó, ai là một yếu tố từ các miền của Ai. Một
mối quan hệ (trên R(U), hoặc đơn giản hơn R) là một bộ dữ liệu trên U. Nếu t = là một bộ qua U = <A1, ....., Am>, và X = <Ai1, ....., Aik> trong đó i1, ....., ik là
các thành viên riêng biệt của {1, ....., m}, khi đó t[X] là <Ai1, ....., Aik>. Nếu r là một
quan hệ trên R, khi đó r[X] = {t[X]|  r}. Một lược đồ cơ sở dữ liệu D = {R1(U1), .....,
Rn(Un)} (hoặc đơn giản là {R1, ....., Rn}) là một tập hợp các lược đồ quan hệ [3]. Một
cơ sở dữ liệu trên D là một ánh xạ liên kết mà mỗi lược đồ quan hệ Ri(Ui) với một mối
quan hệ ri trên Ri. Trong phần còn lại của bài viết này, chúng tôi sẽ áp dụng các ký
hiệu sau đây: nếu R là một lược đồ quan hệ, thì biểu thị một quan hệ r trên R; Tương


12

tự, đại diện cho một cơ sở dữ liệu d trong lược đồ cơ sở dữ liệu D. Người ta biểu diễn
thuộc tính đơn lẻ bằng bảng chữ cái từ phía trước của bảng chữ cái (A, B,…) và tập
thuộc tính với các chữ cái từ phía sau (X, Y,…).
Định nghĩa 1.2. Giả sử Ri(A1, .....,Am) và Rj(B1, ....., Bp) là hai lược đồ quan hệ
(không nhất thiết khác nhau) trong một lược đồ cơ sở dữ liệu D ={R1, ..., Rn}. Nếu X
là một chuỗi các k thành viên riêng biệt của A1, ....., Am, và nếu Y là một chuỗi các k
thành viên riêng biệt của B1, ....., Bp, khi đó chúng ta nói rằng phụ thuộc bao hàm


này, một môn học có thể được dạy bởi một số giảng viên và không phụ thuộc vào dạy
cho đối tượng nào. Mối quan hệ ràng buộc này giữa các tập thuộc tính và một sơ đồ
quan hệ gọi là phụ thuộc đa trị. Bây giờ, chúng ta hãy xem định nghĩa hình thức của
phụ thuộc đa trị.
Định nghĩa 1.3. Cho R(U) là một sơ đồ quan hệ với U  { A1 , A2 ,..., An } là tập các
thuộc tính. X và Y là tập con của U. Chúng ta nói rằng X xác định đa trị Y hay Y phụ
thuộc đa trị vào X và kí hiệu  Y nếu với mọi quan hệ r xác định trên R(U) và với
hai bộ t1 và t 2 bất kỳ mà t1[ X ]  t2[ X ] thì tồn tại bộ t 3 sao cho:
t3[ X ]  t1[ X ], t3[ X ]  t1[Y ] và t3[ Z ]  t2 [ Z ] với Z  U \ XY .

Do tính đối xứng của t1 và t 2 dễ dàng thấy rằng trong r còn tồn tại bộ t 4 sao
cho: t4 [ X ]  t2 [ X ], t4 [Y ]  t2 [Y ] và t4[Z ]  t1[Z ] với Z  U \ XY .
Tập tất cả các phụ thuộc đa trị trên một lược đồ quan hệ kí hiệu là MVD
(MultiValued Dependencies) [1]. Có thể thấy phụ thuộc hàm là một trường hợp đặc
biệt của phụ thuộc đa trị, bởi vậy, cũng như các phụ thuộc hàm, chúng ta cũng có một
hệ tiên đề đúng đắn và đầy đủ đối với các phụ thuộc hàm và phụ thuộc đa trị.
1.5. Kết luận
Các ràng buộc toàn vẹn đảm bảo rằng các thay đổi thực hiện đối với cơ sở dữ
liệu bởi những người sử dụng hợp pháp không dẫn đến mất tính toàn vẹn dữ liệu.
Trong chương này, chúng tôi đã xem xét một số ràng buộc điển hình, bao gồm các
ràng buộc miền, các ràng buộc về khóa và một số dạng ràng buộc khác.
Các ràng buộc miền đặc tả một tập các giá trị có thể được kết hợp với một thuộc
tính. Các ràng buộc như vậy cũng có thể cấm sử dụng các giá trị null đối với các thuộc
tính đặc biệt.
Các ràng buộc toàn vẹn tham chiếu đảm bảo rằng một giá trị xuất hiện trong
một quan hệ đối với một tập các thuộc tính nhất định trong một quan hệ khác.
Các phụ thuộc hàm là một sự tổng quát hóa của các phụ thuộc khóa. Chúng yêu
cầu rằng giá trị đối với một tập các thuộc tính nhất định xác định duy nhất giá trị đối
với một tập các thuộc tính khác.

Chương này sẽ giới thiệu khái quát về mô hình ER, mô hình ER mở rộng, mô
hình quan hệ và chuyển đổi mô hình EER sang mô hình quan hệ.
2.2. Mô hình thực thể - mối quan hệ (ER)
Mô hình ER thường được biểu diễn dưới dạng lược đồ, được gọi là lược đồ
thực thể - mối quan hệ (gọi tắt là lược đồ ER). Trong thực tế đã có nhiều hệ thống
thông tin được thiết kế xuất phát từ mô hình ER. Ngoài việc đóng vai trò là mô hình
khái niệm, mô hình này còn được xem là một trong những mô hình dữ liệu ngữ nghĩa.
Thông qua mô hình ER, người ta có thể xác định được các tập thực thể của một hệ
thống thông tin, đồng thời ngữ nghĩa của mô hình còn được thể hiện bởi các mối quan
hệ giữa các tập thực thể.
2.2.1. Thực thể
Thực thể là các đối tượng mà chúng ta cần quản lý. Thực thể thường chỉ là một
người, nơi chốn, biến cố hay một khái niệm. Mỗi thực thể có thể có một hoặc nhiều
thuộc tính. Các thuộc tính không được trùng tên.
Kiểu thực thể (entity type): Là tập thực thể có cùng một tính chất chung. Kiểu
thực thể có tên và nên đặt danh từ số ít, dùng chữ in hoa. Trong mô hình ER ta sử dụng
hình chữ nhật để biểu diễn kiểu thực thể.
Thể hiện kiểu thực thể: Là đối tượng cụ thể của một tập thực thể.


16

Ví dụ:
- STUDENT là một kiểu thực thể.
- Sinh viên Nguyễn Văn A là một thể hiện của kiểu thực thể STUDENT
Kiểu thực thể mạnh (strong entity type): Là kiểu thực thể tồn tại độc lập với
các kiểu thực thể khác.
Kiểu thực thể yếu (weak entity type): Là kiểu thực thể mà sự tồn tại của nó
phụ thuộc vào kiểu thực thể khác.
Kiểu thực thể mà kiểu thực thể yếu phụ thuộc vào gọi là kiểu thực thể chủ. Mối


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status