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

(LUẬN VĂN THẠC SĨ) Nghiên cứu một số khía cạnh lý thuyết trong mô hình CSDL quan hệ Luận văn ThS. Công nghệ thông tin 1 01 10

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 (2.55 MB, 131 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
==============

VŨ CHÍ QUANG

NGHIÊN CỨU
MỘT SỐ KHÍA CẠNH LÝ THUYẾT
TRONG MƠ HÌNH CSDL QUAN HỆ

LUẬN VĂN THẠC SĨ

HÀ NỘI – 2007

TIEU LUAN MOI download :


1

MỤC LỤC
MỞ ĐẦU ..................................................................................................................... 3
Chƣơng I - LÝ THUYẾT THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ ........................ 5
1.1. Phƣơng pháp thiết kế Bottom – Up .......................................................................... 5

1.1.1. Các khái niệm cơ bản: ........................................................................... 5
1.1.2. Các phép tốn trong mơ hình quan hệ. .................................................. 7
1.1.3. Phụ thuộc hàm. ...................................................................................... 9
1.1.4. Lý thuyết chuẩn hoá............................................................................. 18
1.2. Phƣơng pháp thiết kế Top – Down ............................................................... 21
1.3. Quá trình thiết kế cơ sở dữ liệu ..................................................................... 26
Chƣơng II - LÝ THUYẾT KẾT NỐI VÀ NỬA KẾT NỐI. ỨNG DỤNG TRONG


TỐI ƢU HOÁ CÂU HỎI. ..................................................................... 28
2.1. Lý thuyết kết nối và một số kết quả của lý thuyết kết nối...................................... 28

2.1.1 Kết nối không mất thông tin. ............................................................... 28
2.1.2 Kết nối mất thông tin. .......................................................................... 30
2.2. Một số tính chất, ý nghĩa của nửa kết nối ứng dụng trong cơ sở dữ liệu phân tán. 39

2.2.1 Giới thiệu phép nửa kết nối. ................................................................ 39
2.2.2 Các tính chất của phép nửa kết nối. ..................................................... 41
2.2.3 ý nghĩa của phép nửa kết nối ứng dụng trong CSDL phân tán............ 42
2.3. Tối ƣu hoá câu hỏi trong cơ sở dữ liệu phân tán. ................................................... 42
2.3.1 Khái quát về cơ sở dữ liệu phân tán .................................................... 42

2.3.2 Một số nguyên lý chung của tối ƣu hoá câu hỏi. ................................. 52
2.3.3 Tối ƣu hoá câu hỏi. .............................................................................. 71
Chƣơng III - MỘT SỐ BÀI TỐN NP-C TRONG MƠ HÌNH QUAN HỆ. ......... 106
3.1. Tổng quan về thuật toán và đánh giá thuật toán ......................................... 106
3.1.1 Khái niệm thuật toán ......................................................................... 106
3.1.2 Các tính chất của thuật tốn ............................................................... 107
3.1.3 Hai mơ hình tính tốn ....................................................................... 108
3.1.4 Khái niệm độ phức tạp thuật toán ...................................................... 108
3.1.5 Phép quy dẫn (dẫn về đƣợc) .............................................................. 110
3.1.6 Phân lớp bài toán theo độ phức tạp ................................................... 111
3.1.7 Cấu trúc của lớp P, NP ...................................................................... 112
3.2. Một số bài tốn NP-C trong mơ hình quan hệ ............................................ 114
3.2.1 Bài tốn siêu khố có lực lƣợng khơng q m .................................. 114
3.2.2 Bài tốn quyết định thuộc tính khố hay khơng khố ....................... 117
KẾT LUẬN ............................................................................................................. 120
TÀI LIỆU THAM KHẢO ....................................................................................... 121


TIEU LUAN MOI download :


2

DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Bức tranh về trật tự các dạng chuẩn ........................................................... 18
Hình 1.2 Biểu đồ E-R cho CSDL cơng ty ................................................................ 24
Hình 1.3 Q trình thiết kế một cơ sở dữ liệu........................................................... 27
Hình 2.1 Đồ thị biểu diễn lược đồ quan hệ R ........................................................... 31
Hình 2.2 Đồ thị con bị cấm ....................................................................................... 34
Hình 2.3 Mơ phỏng quan hệ giữa các đỉnh .............................................................. 36
Hình 2.4: Kiến trúc các lược đồ của một CSDL phân tán ........................................ 46
Hình 2.5: Kiến trúc chức năng của một hệ QTCSDL phân tán ................................ 47
Hình 2.6: Các kiểu phân đoạn của một quan hệ........................................................ 49
Hình 2.7 Lược đồ tổng quát xử lý truy vấn phân tán ................................................ 59
Hình 2.8 Các đồ thị quan hệ ...................................................................................... 63
Hình 2.9 Đồ thị truy vấn khơng liên thơng ............................................................... 63
Hình 2.10 Ví dụ về cây truy vấn ............................................................................... 64
Hình 2.11 Cây truy vấn tương đương ....................................................................... 65
Hình 2.12 Cây truy vấn đã được viết lại ................................................................... 66
Hình 2.13 Cây truy vấn sau khi thay thế ................................................................... 68
Hình 2.14 Rút gọn phân đoạn ngang (với phép chọn) .............................................. 68
Hình 2.15 Rút gọn phân đoạn ngang (với phép nối) ................................................. 69
Hình 2.16 Rút gọn phân đoạn dọc ............................................................................. 70
Hình 2.17 Rút gọn phân đoạn hỗn hợp ..................................................................... 71
Hình 2.18 Q trình tối ưu hố truy vấn ................................................................... 72
Hình 2.19 Các cây nối tương đương ......................................................................... 73
Hình 2.20 Đồ thị nối của cây truy vấn ...................................................................... 84
Hình 2.21 Các thứ tự nối khác nhau ......................................................................... 84

Hình 2.22 Đồ thị nối của cây truy vấn phân tán ....................................................... 86
Hình 2.23 Truy vấn mẫu và số liệu thống kê ............................................................ 99
Hình 2.24 Đồ thị câu truy vấn đơn và số liệu thống kê .......................................... 102
Hình 3.1 Sơ đồ minh hoạ các lớp bài toán NP, NP-C, NP-Hard ............................ 114

TIEU LUAN MOI download :


3

MỞ ĐẦU
Trong lĩnh vực công nghệ thông tin, cơ sở dữ liệu là một chuyên ngành được
đông đảo người làm công nghệ thông tin quan tâm, nghiên cứu và ứng dụng. Ra đời
từ những năm 60 của thế kỷ XX đến nay, các hệ cơ sở dữ liệu ngày càng phát triển
và hoàn thiện, nhiều thế hệ quản trị CSDL đã ra đời, tạo ra nhiều sản phẩm ứng
dụng trong khoa học kỹ thuật, các ngành kinh tế cũng như trong đời sống xã hội.
Việc nghiên cứu CSDL trên thế giới và ở trong nước đã và đang phát triển
ngày càng phong phú, đa dạng. Từ những năm 70, E.F. Codd đã đưa ra mơ hình dữ
liệu quan hệ tạo một cơ sở vững chắc cho các vấn đề nghiên cứu về CSDL. Với ưu
điểm về tính cấu trúc và khả năng hình thức hố phong phú, CSDL quan hệ dễ dàng
mô phỏng các hệ thống thông tin đa dạng trong thực tiễn, làm tăng khả năng xử lý,
quản trị và khai thác dữ liệu, phục vụ được hầu hết các yêu cầu của người sử dụng.
Trên thực tế, đã có nhiều hệ quản trị CSDL xây dựng trên mơ hình CSDL quan hệ
được sử dụng phổ biến trên thị trường như: DBASE, FOXPRO, ORACLE, MS
SQL,...
Cho đến nay CSDL quan hệ đã thu được rất nhiều thành tựu sâu sắc cả về
phương diện lý thuyết và ứng dụng. Phần lớn các hệ quản trị CSDL sử dụng trong
thực tiễn được thiết kế trong mơ hình quan hệ, rất nhiều sản phẩm phần mềm được
tạo ra vẫn đang sử dụng rộng rãi và có hiệu quả. Việc tiếp tục nghiên cứu các khía
cạnh lý thuyết trong mơ hình CSDL quan hệ sẽ tạo điều kiện thuận lợi cho việc

nghiên cứu và phát triển các mơ hình cơ sở dữ liệu mới như: CSDL phân tán, CSDL
suy diễn.
Hiện nay đã có nhiều vấn đề về CSDL được nghiên cứu và giải quyết. Với
mục đích tiếp tục nghiên cứu một số khía cạnh lý thuyết trong mơ hình CSDL quan
hệ để nâng cao khả năng ứng dụng của các hệ CSDL, luận văn này tập trung nghiên
cứu về các vấn đề:

TIEU LUAN MOI download :


4

- Nghiên cứu sâu sắc về lý thuyết kết nối và nửa kết nối, ứng dụng lý thuyết
kết nối và nửa kết nối trong tối ưu hoá câu hỏi, đặc biệt là trong tối ưu hoá câu hỏi
phân tán.
- Nghiên cứu độ phức tạp của các thuật toán trong CSDL, giới thiệu một số
bài toán trong CSDL là NP-C.
Nội dung của bản luận văn này được chia làm 3 chương:
Chương 1: Lý thuyết thiết kế cơ sở dữ liệu quan hệ. Chương này trình bày
về các phương pháp thiết kế cơ sở dữ liệu quan hệ, quy trình thiết kế và các vấn đề
liên quan như: các phép toán trong mơ hình quan hệ, phụ thuộc hàm và chuẩn hố.
Chương II - Lý thuyết kết nối và nửa kết nối. Ứng dụng trong tối ưu hoá
câu hỏi. Đây là chương chính của luận văn; trong chương này trình bày các vấn đề
về lý thuyết kết nối như: kết nối không mất thông tin, kết nối mất thông tin, điều
kiện cần và đủ để kết nối không mất thông tin. Phần tiếp theo trình bày về phép nửa
kết nối, tính chất và ý nghĩa của nửa kết nối ứng dụng trong cơ sở dữ liệu phân tán.
Phần cuối cùng trình bày các vấn đề ứng dụng lý thuyết kết nối và nửa kết nối trong
tối ưu hoá câu hỏi phân tán như: khái quát về CSDL phân tán, các vấn đề về tối ưu
hoá câu hỏi, các thuật toán để tối ưu hố câu hỏi trong mơi trường tập trung và mơi
trường phân tán.

Chương III - Một số bài tốn NP-C trong mơ hình quan hệ. Chương này
trình bày một khía cạnh lý thuyết trong cơ sở dữ liệu, đó là đánh giá độ phức tạp
của các thuật toán trong các hệ cơ sở dữ liệu, vấn đề này ít được đề cập trong các
sách về CSDL và chỉ được giới thiệu trong các bài báo hoặc trong các sách nghiên
cứu sâu về lý thuyết thuật toán và độ phức tạp của thuật tốn. Ngồi ra trong
chương này cịn giới thiệu một số bài toán cụ thể trong cơ sở dữ liệu là NP-C.
Mặc dù đã rất cố gắng để hoàn thành bản luận văn này, nhưng chắc chắn vẫn
còn thiếu sót. Rất mong được sự góp ý của các thầy cô giáo và các bạn.

TIEU LUAN MOI download :


5

Chương I - LÝ THUYẾT THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ
Trong lý thuyết thiết kế cơ sở dữ liệu quan hệ có hai cách tiếp cận, cách thứ
nhất thiết kế theo phương pháp Bottom – Up (dưới - lên), cách thứ hai thiết kế theo
phương pháp Top – Down (trên – xuống).
Theo phương pháp Bottom – Up: Mục đích của việc thiết kế cơ sở dữ liệu
quan hệ là đưa ra một tập các lược đồ quan hệ để lưu trữ các thơng tin của một tổ
chức xí nghiệp, ngân hàng, đại học, ... một cách không dư thừa đồng thời cũng cho
phép cập nhật, truy vấn dễ dàng. Để đạt được mục đích đó khi nghiên cứu và khảo
sát bài toán quản lý trong thực tiễn; ta phải xác định các thuộc tính cần quản lý, mối
quan hệ giữa các thuộc tính (các phụ thuộc hàm); tiếp theo là chuẩn hoá các lược đồ
quan hệ, thực chất là thực hiện các phép tách để có được các lược đồ theo các dạng
chuẩn (1NF, 2NF, 3NF, BCNF, 4NF, 5NF); tuy nhiên các phép tách phải đảm bảo
các điều kiện như: bảo tồn thuộc tính, bảo tồn phụ thuộc hàm, không mất mát
thông tin.
Theo phương pháp Top – Down: Khi nghiên cứu và khảo sát bài toán quản lý
trong thực tiễn; ta phải xác định các đối tượng của cơ sở dữ liệu và mối liên hệ giữa

các đối tượng; tiếp theo là mơ hình hố thành các kiểu thực thể, kiểu liên kết, xây
dựng lược đồ thực thể liên kết ER; cuối cùng là áp dụng các nguyên tắc chuyển từ
mơ hình thực thể liên kết ER sang mơ hình quan hệ.
1.1. Phương pháp thiết kế Bottom – Up
1.1.1. Các khái niệm cơ bản:
- Thuộc tính: Thuộc tính của một quan hệ là cột của bảng quan hệ. Trong
mơ hình quan hệ khơng cho phép thuộc tính phức hợp, đa trị. Chỉ được là thuộc tính
đơn, đơn trị.
- Miền giá trị: Là giới hạn dữ liệu của thuộc tính ký hiệu DOM(A) trong đó
A là một thuộc tính.
Ví du: Với thuộc tính Lương miền giá trị là: 0 – 1000000

TIEU LUAN MOI download :


6

- Lược đồ quan hệ: Mô tả cấu trúc của một quan hệ, được ký hiệu là R(A1,
A2, ..., An) trong đó R là tên quan hệ và Ai (i=1..n) là các thuộc tính.
Ví dụ: Lược đồ quan hệ
NHANVIEN( HOTEN, MSBHXH, DIACHI, LUONG, GIOITINH, NGAYSINH )

- Quan hệ: Là một tập con của tích Descartes của danh sách các miền giá trị,
được ký hiệu là: r={t1, t2, ..., tm}  DOM(A1) x ... x DOM(An).
Trong đó:
+ ti = <vi1, vi2, ..., vin>
+ vij  DOM(Aj)

(i=1..m; j=1..n)


Chú ý:
+ Một quan hệ chính là một bảng hai chiều:
+ Số các thuộc tính của quan hệ là số ngôi của quan hệ.
+ Thứ tự các dịng, các cột trong bảng quan hệ khơng quan trọng.
+ Các giá trị trong bảng phải đơn trị và phù hợp với kiểu dữ liệu của thuộc
tính (ký tự, số, Logic, Ngày).
+ Dữ liệu của quan hệ có thể thay đổi theo thời gian do thường xuyên phải

cập nhật dữ liệu.
+ Quan hệ Nhân viên là quan hệ 6 ngôi.

- Lược đồ CSDL: Là một tập các lược đồ quan hệ ký hiệu là:
S = {R1, R2, ..., Rm}, trong đó Ri (i=1..m) là một lược đồ quan hệ.
- CSDL Quan hệ: Là một tập các quan hệ ký hiệu là:
DB = {r1, r2, ... , rm}, trong đó ri (i=1..m) là quan hệ (thể hiện của Ri).
- Siêu khoá (SK): SK được gọi là siêu khoá nếu với mọi t1, t2  r thì t1[SK] 
t2[SK].
Trong đó:
+ SK: là một hoặc nhiều cột (thuộc tính) trong bảng.
+ t1, t2 là các bộ giá trị của mỗi hàng trong bảng.
+ t1[SK], t2[SK] theo thứ tự là các bộ giá trị của SK tương ứng với các bộ t1,
t2.

TIEU LUAN MOI download :


7

- Khoá (K): Khoá của một lược đồ quan hệ là một siêu khố tối thiểu (khố
dự tuyển).

- Khố chính (PK): Là một trong các khố dự tuyển.
- Khố ngồi (FK): Một nhóm các thuộc tính gọi là khố ngồi (FK) của một
quan hệ r1 tham chiếu đến quan hệ r2 nếu miền giá trị FK của r1 phải giống miền
giá trị PK của r2.
- Ràng buộc:
+ Ràng buộc miền: vi  DOM(Ai)
+ Ràng buộc Khoá: Giá trị của khoá phải duy nhất.
+ Ràng buộc toàn vẹn thực thể: Giá trị của khố chính (PK) phải xác định
(khơng có giá trị null).
+ Ràng buộc tồn tham chiếu:
 Nếu Khố ngồi của R1 tham chiếu đến khố chính của R2 thì phải có
cùng miền giá trị với khố chính của R2.
 Mỗi giá trị của Khố ngồi của R1 hoặc là phải có mặt trong khố chính
của R2 hoặc là nhận giá trị Null (với ngữ nghĩa là một giá trị tồn tại
nhưng khơng biết).
1.1.2. Các phép tốn trong mơ hình quan hệ.
1.1.2.1 Phép toán cập nhật.
- Phép chèn (INSERT): Là phép thêm một bộ (bản ghi) vào quan hệ r.
- Phép loại bỏ (DELETE): Là phép loại bỏ một bộ ra khỏi quan hệ r.
- Phép cập nhật (UPDATE): Là phép thay đổi giá trị của các thuộc tính
trong một hoặc một số bộ nào đó.
1.1.2.2 Đại số quan hệ.
- Các phép toán tập hợp: Các quan hệ tham gia một phép tốn tập hợp
(hợp, giao, trừ) phải có cùng cấu trúc.
+ Phép hợp r  s: Thực chất của phép hợp là xây dựng một tập các bộ thuộc
quan hệ r hoặc quan hệ s hoặc cả 2 quan hệ.

TIEU LUAN MOI download :



8

Phép hợp được ký hiệu và định nghĩa là:
r  s = { t  t  r hoặc t  s }
+ Phép giao r  s: Thực chất của phép giao là xây dựng một tập các bộ
thuộc cả 2 quan hệ r và s.
Phép giao được ký hiệu và định nghĩa là:
r  s = { t  t  r và t  s }
+ Phép trừ r \ s: Thực chất của phép trừ là xây dựng một tập các bộ thuộc
quan hệ r nhưng không thuộc quan hệ s.
Phép trừ được ký hiệu và định nghĩa là:
r \ s = { t  t  r và t  s }
+ Tích Descartes r x s: Tích Descartes của hai quan hệ chỉ xét trên các lược
đồ rời nhau (nếu hai lược đồ có thuộc tính cùng tên thì ta có thể đổi tên thuộc tính
cùng tên của một trong hai lược đồ, để hai lược đồ rời nhau). Cho hai lược đồ
R={A1, A2, …, An} và S={B1, B2, …, Bm}, r và s là hai quan hệ trên R và S tương
ứng. Tích Descartes của hai quan hệ r và s là một quan hệ q. Mỗi bộ trong quan hệ q
ký hiệu tq là ghép một bộ tr r với một bộ ts s; trong đó tr = (a1, a2, …, an), ts = (b1,
b2, …, bm), tq = (a1, a2, …, an, b1, b2, …, bm).
Tích Descartes được ký hiệu và định nghĩa là:
r x s = {tt=(a1, a2,.., an, b1, b2,.., bm), (a1, a2,.., an)r và (b1, b2,.., bm)s}
Như vậy nếu r có x bộ, s có y bộ thì q có x * y bộ.
+ Phép chia r s: Cho lược đồ R ={A1, A2, …, An}, S  R, r và s là hai quan
hệ trên R và S tương ứng. Phép chia của quan hệ r cho s được một quan hệ q trên
lược đồ R-S sao cho mỗi bộ t  q ghép với mọi bộ u  s ta được một bộ < t, u > 
r.
Phép chia được ký hiệu và định nghĩa là:
r  s = {t mọi u  s , < t, u >  r }

TIEU LUAN MOI download :



9

- Phép chiếu X(r): Thực chất của phép chiếu là loại bỏ đi một số thuộc
tính và giữ lại những thuộc tính cịn lại của quan hệ (các thuộc tính trong tập X, X 
R).
Phép chiếu được ký hiệu và định nghĩa là:
X(r) = {t[X]  t r }
- Phép chọn <Điều kiên>(r): Thực chất của phép chọn là xây dựng một tập
con của quan hệ thoả mãn điều kiện xác định. <Điều kiện> chính là một biểu thức
logic; ta có thể sử dụng các phép tốn so sánh: =, >, >=, <, <=, <> và các phép toán
logic như: and (), or (), not () để tạo các biểu thức điều kiện thoả mãn các yêu
cầu của người sử dụng.
Phép chọn được ký hiệu và định nghĩa là:
<Điều kiện>(r) = {t t r, <Điều kiện>( t ) = true }
- Phép nối r<Điều kiện>s: Thực chất của phép nối là phép chọn của quan hệ (r x
s) theo điều kiện xác định. Trong đó: r x s là tích Descartes; <Điều kiện> là một
biểu thức logic xác định điều kiện nối giữa hai quan hệ r và s theo , ( là một trong
các phép toán so sánh =, >, >=, <, <=,<>) được ký hiệu là: Ai  Bj (Ai  r , Bj  s,
Ai và Bj phải có cùng miền giá trị).
Phép nối được ký hiệu và định nghĩa là:

r <Điều kiện> s = <Điều kiện>(r x s)
-

Phép nối tự nhiên: Khi các quan hệ r và s có chung một số thuộc tính

(cùng tên và có cùng giá trị thuộc một miền nào đó) thì phép kết nối r và s theo điều
kiện các thuộc tính đó bằng nhau và một trong hai thuộc tính giống nhau được loại

bỏ trong quan hệ kết quả thì phép kết nối này được gọi là phép kết nối tự nhiên và
được ký hiệu là r
-

r

s.

Phép nửa nối r

<Điều kiện>

s : Thực chất của phép nửa nối là phép chiếu lên R của

s. Kết quả của phép nửa nối một quan hệ r với một quan hệ s theo điều

kiện nào đó là một quan hệ gồm tất cả các bộ thuộc r có tính chất kết nối được theo
điều kiện với một bộ nào đó trong quan hệ s.

TIEU LUAN MOI download :


10

Phép nửa nối được ký hiệu và định nghĩa là:
r

s = R(r <Điều kiện> s)

1.1.3. Phụ thuộc hàm.

1.1.3.1 Khái niệm phụ thuộc hàm:
Phụ thuộc hàm trên một lược đồ quan hệ là một khái niệm có tầm quan trọng
hết sức lớn đối với việc thiết kế cơ sở dữ liệu.
Một phụ thuộc hàm là một phát biểu ký hiệu : X  Y, trong đó  là tên của
phụ thuộc hàm, X và Y là các tập thuộc tính.
Xét phụ thuộc hàm : X  Y trong lược đồ quan hệ R, với R={A1, A2, ...
An} là tập các thuộc tính, X và Y là tập con của R, X  Y = . Khi đó ta nói X xác
định hàm Y hay Y phụ thuộc hàm vào X nếu t1, t2 là các cặp bộ xác định trên quan
hệ r mà t1[X] = t2[X] thì t1[Y] = t2[Y].
1.1.3.2 Hệ tiên đề Armstrong.
Trước khi đi vào trình bày hệ tiên đề cho phụ thuộc hàm, chúng ta sẽ xem xét
một vài khái niệm liên quan đến các phụ thuộc hàm trong lược đồ quan hệ.
Gọi F là tập các phụ thuộc hàm cho trước đúng trên lược đồ quan hệ R, và X
 Y là một phụ thuộc hàm với X,Y  của tập các thuộc tính.
- Suy diễn logic: Nói rằng X  Y được suy diễn logic từ F nếu mỗi quan hệ r
trên lược đồ quan hệ R thoả các phụ thuộc hàm của F thì cũng thỏa X  Y.
- Bao đóng của tập phụ thuộc hàm: Gọi F+ là bao đóng của F, tức là tập tất
cả các phụ thuộc hàm được suy diễn logic từ F.
Để có thể xác định khố của một lược đồ quan hệ và các suy diễn logic giữa
các phụ thuộc hàm cần thiết phải tính được F+ từ F. Do đó địi hỏi phải có hệ tiên
đề.
Hệ tiên đề Armstrong
Cho lược đồ quan hệ R với R={A1 , A2, ..., An } là tập các thuộc tính; X, Y,
Z  của R.
- Tiên đề 1 (Phản xạ) : Nếu Y  X thì X  Y.

TIEU LUAN MOI download :


11


- Tiên đề 2 (Tăng trưởng): Nếu X  Y thì X  Z  Y  Z.
- Tiên đề 3 (Bắc cầu): Nếu X  Y và Y  Z thì X  Z.
Tính đúng đắn của các tiên đề này đã được chứng minh một cách tường minh
và đầy đủ trong [3] (chương 7, tập II).
Ta có một kết quả quan trọng sau :
Định lý 1.1 : Hệ tiên đề Armstrong là xác đáng và đầy đủ.
Chứng minh : Định lý này đã được chứng minh đầy đủ trong [3] (chương 7, tập II).
Từ hệ tiên đề Armstrong suy ra một số luật mở rộng sau:
- Luật hợp: Nếu X  Y và X  Z thì X  Y Z.
- Luật tựa bắc cầu: Nếu X  Y và Y  W  Z thì X  W  Z.
- Luật tách: X  Y và Z  Y thì X  Z.
Chứng minh : Các luật mở rộng này đã được chứng minh đầy đủ trong [3]
(chương 7, tập II).
1.1.3.3 Bao đóng của một tập thuộc tính :
Bao đóng của X đối với F gọi là X+, tức là tập tất cả các thuộc tính phụ
thuộc vào X thông qua F. Cho S = <, F> là một lược đồ quan hệ và X  . Bao
đóng của X đối với F được định nghĩa :
X+ ={A  A   và (X  A)  F+}
Thuật tốn sau sẽ xác định bao đóng của tập các thuộc tính.
Input : X   và F là tập các phụ thuộc hàm của lược đồ quan hệ S=<, F>.
Output : X+
Thuật tốn 1.1 ( Tính X+)
X+ = X
REPEAT
TAM = X+
Với mọi phụ thuộc hàm Y  Z trong F
nếu Y  X+ thì X+ = X+  Z
UNTIL X+=TAM


TIEU LUAN MOI download :


12

Nhận xét: Độ phức tạp của giải thuật là O(n2.p) với n = số thuộc tính và p =
số các phụ thuộc hàm.
Ví du:
- Cho lược đồ quan hệ:
R(MASONV, HOTEN, MSDUAN, TENDA, DIADIEM, SOGIO)
Tập các phụ thuộc hàm F:
MASONV  HOTEN
MSDUAN  TENDA, DIADIEM
MASONV, MSDUAN  SOGIO
- Tính X+ của vế trái các phụ thuộc hàm:
MASONV+ = MASONV, HOTEN
MSDUAN += MSDUAN, TENDA, DIADIEM
{MASONV, MSDUAN}+ = MASONV, MSDUAN , SOGIO, HOTEN,
TENDA, DIADIEM
1.1.3.4 Cách xác định khoá:
Trong lý thuyết thiết kế cơ sở dữ liệu quan hệ, việc xác định khoá của một
lược đồ quan hệ là một bài toán quan trọng. Sau đây tác giả xin trình bày một số kết
quả liên quan đến việc xác định khoá của một lược đồ quan hệ.
- Định lý của các tác giả Hồ Thuần và Lê Văn Bảo cho một điều kiện cần để
tập X   là khoá của một lược đồ quan hệ [2].
Định lý 1.2:
Cho S=<,F> là một lược đồ quan hệ, tập các thuộc tính ={A1,...,An}, tập
các phụ thuộc hàm F = {LiRi  Li, Ri  , Li  Ri = , i=1,...,p}. Điều kiện cần
để X   là khoá của lược đồ S là:
(\R)  X  (\R)  (L  R).

trong đó: L =

p

p

L , R = R
i

i 1

i

.

i 1

Chứng minh:

TIEU LUAN MOI download :


13

+ Trước hết ta chứng minh rằng nếu X là khố thì (\R)  X
Thực vậy nếu X là khố thì X+ = 
Mặt khác, theo thuật tốn tính bao đóng ta có:
X+  X  R  
Từ đó suy ra: X  R = 
Vậy (\R)  X.

+ Ta tiếp tục chứng minh nếu X là khố thì X  (\R)  (L  R)
Ta thấy: X   = (\R)  (L  R)  (R\L)

(1)
(2)

Để chứng minh (1) ta chỉ cần chứng minh X  (R\L) = .
Bằng phương pháp chứng minh phản chứng, ta giả sử X  (R\L) ≠ . Khi
đó tồn tại một thuộc tính A sao cho A  X, A  R và A  L.
Do X là khoá nên ta có X  L
Do A  L ta có (X \ {A})  L
Mặt khác ta có L  R và R  A.
Áp dụng quy tắc bắc cầu ta có (X \{A})A, điều này trái với giả thiết X là
khoá.
Vậy định lý được chứng minh.
Từ định lý 1.2 ta có thể suy ra được các hệ quả sau:
Hệ quả 1: Cho S = < , F > là một lược đồ quan hệ. Nếu R \ L ≠  thì tồn tại một
khố X sao cho X ≠ .
Hệ quả 2: Cho S = < , F > là một lược đồ quan hệ. Nếu L  R =  thì (\R) là
khố duy nhất của lược đồ S.
- Thuật toán xác định một khoá của lược đồ [2].
Input : lược đồ quan hệ < , F >.
Output : một khoá của < , F >.
Thuật toán 1.2 (Xác định một khoá của lược đồ)
Bước 1: X :=  \ R;

TIEU LUAN MOI download :


14


Bước 2: Nếu X+ =  thì chuyển sang bước 5;
Bước 3: X := (\R)  (L  R);
Bước 4: Với mọi Ai  L  R thực hiện
+ X := X \ {Ai}
+ Nếu X+ ≠  thì X := X  {Ai};
Bước 5: Kết luận X là khoá.
- Định lý của các tác giả Lucchesi và Osborn cho phép xây dựng thuật tốn
tìm tất cả các khố của lược đồ quan hệ S = <, F> [2]
Định lý 1.3 ( Lucchesi và Osborn)
Cho S = <, F> là một lược đồ quan hệ. Gọi K là một tập khác rỗng các
khoá của S. Điều kiện cần và đủ để họ 2 \ K có chứa khố của S là có tồn tại một
phần tử KK và tồn tại một phụ thuộc hàm (Li0  Ri0)  F sao cho tập T = Li0 
(K \ Ri0) không chứa phần tử nào thuộc K. (ở đây 2 ký hiệu họ tất cả các tập con
của ).
Chứng minh :
+ Điều kiện đủ :
Giả sử tồn tại KK, (Li0Ri0)  F sao cho sao cho tập T=Li0(K \ Ri0)
không chứa phần tử nào thuộc K. Dễ thấy T là một siêu khố và phải chứa ít nhất
một khố của S. Vì T khơng chứa một khố nào của K. Vậy T phải chứa một khố
thuộc họ 2 \ K. Nói cách khác 2 \ K có chứa khố của S.
+ Điều kiện cần :
Giả sử 2 \ K có chứa khố K’ của S. Gọi K’’ là tập tối đại thoả mãn hai tính
chất sau :
i)

K’’  K’

ii)


K’’ khơng chứa phần tử nào của K.

Dễ thấy siêu khoá K’’ như vậy bao giờ cũng tồn tại (do tính chất i).
Do tính chất ii) K’’  , và trong q trình tính bao đóng, rõ ràng tồn tại phụ
thuộc hàm Li0Ri0 sao cho Li0  K’’ và Ri0  K’’.

TIEU LUAN MOI download :


15

Xét tập K’’  Ri0. Vì K’’ là tập tối đại thoả mãn tính chất ii), suy ra K’’ Ri0
 K với K K.
Từ K  K’’ Ri0 và Ri0  K’’ suy ra K \ Ri0  K’’
Kết hợp với Li0  K’’, ta có T = Li0  (K \ Ri0)  K’’. Điều đó chứng tỏ sự
tồn tại của K K và sự tồn tại của (Li0Ri0)  F sao cho tập T khơng chứa khố
nào thuộc K.
- Thuật toán xác định tập tất cả các khoá của lược đồ quan hệ S=<, F> dựa
vào định lý 1.3 ( Lucchesi và Osborn) và thuật toán 1.2 (xác định một khoá của lược
đồ) [2, 3].
Input : lược đồ quan hệ < , F >.
Output : Tập Ks tất cả các khoá của S.
Thuật toán 1.3 (Xác định tập tất cả các khoá của lược đồ)
1.

Ks := { K  K là một khoá của lược đồ < , F > và K chứa trong siêu
khoá (\R)  (L  R)};

2.


For each K in Ks do

3.

For each (Lj Rj ) in F do

4.

T := Lj  (K \ Rj ) ;

5.

Test := True ;

6.

For each H in Ks do
If H  M then Test := False ;

7.

If Test then Ks :=Ks {KK là một khoá của lược đồ <,F>

8.

và K chứa trong T}
9.

end ;


10. end ;
11. Return Ks
1.1.3.5 Phủ của tập các phụ thuộc hàm:
Cho hai tập phụ thuộc hàm F và G trên tập các thuộc tính . Ta nói F phủ G
nếu G+  F+.

TIEU LUAN MOI download :


16

Định nghĩa (hai tập phụ thuộc hàm tương đương): Cho hai phụ thuộc hàm F
và G. G và F được gọi là tương đương nếu G+ = F+, khi đó ta nói G là một phủ của
F và ngược lại F cũng là một phủ của G.
Định nghĩa (phủ tối tiểu): Cho G là một tập phụ thuộc hàm. F được gọi là
một phủ tối tiểu của G nếu thoả mãn các tính chất sau:
i)

F là phủ của G.

ii)

Mọi f  F, f có dạng X  A (vế phải gồm đúng một thuộc tính)

iii) F khơng chứa phụ thuộc hàm dư thừa theo nghĩa :
 f  F : (F \ {f})+ ≠ F+
iv) Các phụ thuộc hàm thuộc F đều có vế trái khơng thể rút gọn được. Có
nghĩa là :
 f  F, giả sử f có dạng X  A. Khi đó  X’  X :
[ (F \ {f})  (X’  A) ]+ ≠ F+

1.1.3.6 Lý thuyết phân tách:
- Khái niệm phép tách: Cho R(A1, A2, ..., An) là một lược đồ quan hệ. Một
phân tách của R là việc thay thế lược đồ R bằng một họ các lược đồ con
 = (R1, R2, ..., Rm)
m

sao cho

R

i

= R.

i 1

Cho  = (R1, ..., Rm) là một phân tách của lược đồ quan hệ R(A1, ..., An) và r
là một thể hiện của lược đồ quan hệ <R, F>. Gọi m(r) là ánh xạ được xác định bởi:
m(r) = r1

r2

Trong đó :

ri = Ri(r) với i = 1, 2, ..., m


...

rm


ký hiệu phép kết nối tự nhiên.

Khi đó ta có các tính chất sau:
a) r  m(r) ;
b) Nếu s = m(r) thì Ri(s) = ri ;
c) m(m(r)) = m(r).
Các tính chất trên đã được chứng minh đầy đủ trong [3].

TIEU LUAN MOI download :


17

Trong lý thuyết phân tách lược đồ R(A1, A2, ..., An) thành các lược đồ con 
= (R1, ..., Rm) có hai tính chất đó là phân tách khơng mất mát thơng tin và phân tách
bảo tồn tập phụ thuộc hàm F. Hai tính chất này độc lập với nhau tức là có phân
tách bảo tồn thơng tin nhưng khơng bảo toàn tập phụ thuộc hàm F và ngược lại.
- Phân tách không mất thông tin.
Định nghĩa: (Phân tách không mất thông tin)
Phân tách  = (R1, R2, ..., Rm) được gọi là phân tách có kết nối khơng tổn thất
(tức không mất thông tin) của lược đồ quan hệ <R, F> nếu như với mọi r là thể hiện
của R mà thoả F thì :
r = r1

r2

...

rm (tức r = m(r)).


Để kiểm tra một phân tách mất thông tin hay khơng ta sử dụng thuật tốn:
Input:

Lược đồ quan hệ < R, F >, phân tách  = (R1, R2, ..., Rm).

Output: Cho câu trả lời sai hay đúng tuỳ thuộc phân tách  có mất thơng tin
khơng ?
Thuật tốn 1.4 (Kiểm tra một phân tách có mất thơng tin hay không)
Bước 1: Lập bảng ban đầu là ma trận m hàng (ứng với m lược đồ con Ri) và
n cột (ứng với tập thuộc tính {A1, A2, ..., An}). Phần tử hàng i, cột j (i, j) của ma trận
được xác định theo công thức sau:
 aj nÕuA j  Ri
(i, j )  
bij nÕuA j  Ri

trong đó aj, bij  Dom(Aj).
Bước 2: Biến đổi bảng.
Mục đích của việc biến đổi bảng là để cuối cùng thu được một bảng, xem
bảng đó như một quan hệ, thoả tập phụ thuộc hàm F. Muốn vậy ta lần lượt xét các
phụ thuộc hàm X  Y thuộc F.
Với mỗi phụ thuộc hàm như vậy nếu phát hiện trên bảng có hai hàng giống
nhau trên X và khác nhau trên Y thì phải thay đổi bảng sao cho hai hàng đó cũng
giống nhau trên Y. Việc thay đổi được thực hiện theo quy tắc :

TIEU LUAN MOI download :


18


 Nếu một trong hai ký hiệu trên Y có dạng ai thì ký hiệu kia sẽ được đổi
thành ai.
 Nếu cả hai ký hiệu trên Y đều có dạng bij thì lấy tuỳ ý một trong hai ký
hiệu đó và gán chung cho cả hai.
Tiếp tục làm như vậy cho tới khi không thể biến đổi bảng được nữa. Khi đó
ta thu được bảng cuối cùng.
Bước 3: Nếu trong bảng cuối cùng có chứa hàng gồm tồn ký hiệu a (tức
hàng a1, a2, ..., an), ta kết luận  = (R1, R2, ..., Rm) là phân tách không mất thông tin
(tức là cho câu trả lời đúng). Trường hợp ngược lại  là phân tách mất thông tin.
Định lý 1.4:
Cho <R, F> là một lược đồ quan hệ. Khi đó  = (R1, R2) là phân tách có kết
nối không tổn thất (đối với F) khi và chỉ khi
( R1  R2 )  ( R1 - R2 ) hay ( R1  R2 )  ( R2 - R1 )
- Phân tách bảo toàn các phụ thuộc hàm.
Định nghĩa: (Hình chiếu của F lên tập thuộc tính Z)
Cho lược đồ quan hệ <R, F>, và Z  R. Hình chiếu của F lên tập thuộc tính
Z, ký hiệu z(F), được định nghĩa là :
z(F) = { X  Y  (X  Y)  F+ và XY  Z}
Định nghĩa: (Phân tách bảo toàn các phụ thuộc hàm)
Phân tách  = (R1, R2, ..., Rm) của lược đồ quan hệ <R, F> được gọi là phân
tách bảo toàn tập phụ thuộc hàm F nếu:
m

(   Ri (F))  F
i 1

1.1.4. Lý thuyết chuẩn hoá.
Khi thiết kế cơ sở dữ liệu quan hệ thường nảy sinh các vấn đề như: dư thừa
dữ liệu, gây ra các dị thường cập nhật (thêm, xoá, sửa bộ); cho nên các lược đồ
quan hệ nhất thiết phải được biến đổi thành các dạng phù hợp. Q trình đó được

gọi là q trình chuẩn hoá.

TIEU LUAN MOI download :


19

Một quan hệ được chuẩn hố có thể tách thành một hoặc nhiều quan hệ
chuẩn hố khác và khơng làm mất thơng tin. Trong mơ hình quan hệ phân thành các
dạng chuẩn 1NF, 2NF, 3NF, BCNF.
Việc đưa các lược đồ quan hệ về các dạng chuẩn là nhằm mục đích:
+ Tránh dư thừa dữ liệu.
+ Tránh các dị thường trong cập nhật dữ liệu.
Với ý nghĩa đó ta thấy dạng chuẩn BCNF tốt hơn 3NF, 3NF tốt hơn 2NF,
2NF tốt hơn 1NF; và bức tranh về trật tự các dạng chuẩn được mơ tả như sau:

1NF
2NF
3NF
BCNF

Hình 1.1 Bức tranh về trật tự các dạng chuẩn
1.1.4.1 Một số khái niệm trong chuẩn hố:
- Thuộc tính khố: Một thuộc tính trong lược đồ quan hệ R được gọi là thuộc
tính khố nếu nó tham gia ít nhất một khố của R. Ngược lại được gọi là thuộc tính
khơng khố.
- Phụ thuộc hàm đầy đủ: Cho lược đồ quan hệ R; R={A1, A2, ..., An } là tập
các thuộc tính, X và Y là hai tập con khác nhau của R. Y là phụ thuộc hàm đầy đủ
vào X nếu Y là phụ thuộc hàm vào X nhưng không phụ thuộc hàm vào bất kỳ tập
con thực sự nào của X. Ngược lại ta nói Y là phụ thuộc hàm bộ phận của X.

Ví dụ: Ta có các phụ thuộc hàm X  Y , Z  Y mà Z  X thì Y phụ thuộc
hàm bộ phận của X.
- Phụ thuộc bắc cầu: Cho lược đồ quan hệ R; {A1, A2, ..., An } là tập các
thuộc tính; X, Y, Z là tập con của tập các thuộc tính. Ta nói phụ thuộc hàm X  Y

TIEU LUAN MOI download :


20

được gọi là phụ thuộc bắc cầu nếu tồn tại Z sao cho X  Z, Z  Y. Nếu khơng có
Z như vậy ta nói Y phụ thuộc hàm trực tiếp vào X.
1.1.4.2 Định nghĩa các dạng chuẩn:
- Dạng chuẩn 1NF: Một lược đồ quan hệ R được gọi là ở dạng chuẩn 1
(1NF) nếu mọi thuộc tính của R là đơn, đơn trị khơng có thuộc tính đa trị, nhóm
thuộc tính đa trị (quan hệ trong quan hệ). [6]
- Dạng chuẩn 2NF: Lược đồ quan hệ R ở dạng chuẩn 2 (2NF) nếu nó ở
dạng chuẩn 1 và mọi thuộc tính khơng khố của R đều phụ thuộc hàm đầy đủ vào
mỗi một khoá. [10]
- Dạng chuẩn 3NF: Lược đồ quan hệ R là ở dạng chuẩn 3 (3NF) nếu nó ở
2NF và mỗi thuộc tính khơng khố của R đều không phụ thuộc hàm bắc cầu vào bất
kỳ một khoá nào. [3]
- Dạng chuẩn BCNF (Boyce-Codd): Lược đồ quan hệ R với tập các phụ
thuộc hàm là ở dạng chuẩn Boyce - Codd nếu X  A thoả trên R, A  X thì X là
một siêu khoá của R. [2]
Nhận xét: Nếu một lược đồ quan hệ R với tập phụ thuộc hàm F ở BCNF thì
nó là ở 3NF. (Điều này đã được chứng minh trong [3])
1.1.4.3 Phân tách đưa lược đồ về các dạng chuẩn:
Trong việc thiết kế cơ sở dữ liệu quan hệ đòi hỏi các lược đồ quan hệ phải ở
các dạng chuẩn thích hợp để tránh dư thừa dữ liệu và các dị thường cập nhật. Do đó

đối với một lược đồ quan hệ <R, F> ta mong muốn xác định một phân tách  = (R1,
R2, ..., Rm) sao cho  có ba tính chất sau:
i)

Có kết nối khơng tổn thất (khơng mất mát thơng tin)

iii)

Bảo tồn tập phụ thuộc hàm F.

iv)

Mọi lược đồ con R1, R2, ..., Rm đều ở 3NF.

- Phân tách – kết nối không tổn thất về chuẩn BCNF.
Để thực hiện phân tách – kết nối không tổn thất ta phân tách lược đồ R thành
các lược đồ con ở dạng chuẩn BCNF theo thuật toán sau:
Input :

Lược đồ quan hệ < R, F >.

TIEU LUAN MOI download :


21

Output : Một phân tách có kết nối khơng tổn thất  = (R1, R2, ..., Rm), với
các lược đồ thành phần Ri, i = 1...m ở dạng chuẩn BCNF.
Thuật tốn 1.5 (Phân tách kết nối khơng tổn thất đưa lược đồ về chuẩn BCNF)
Ta xây dựng một phân tách  qua các bước lặp sao cho ở mỗi bước,  ln là

phân tách có kết nối khơng tổn thất.
Bước 1: Khởi tạo  = (R)
Bước 2: Nếu trong  có lược đồ S = < Rs, Fs > vi phạm BCNF, tức là tồn tại
phụ thuộc hàm X  A được thoả trên S, nhưng X không phải là khố của S và
AX thì phân tách S thành hai lược đồ với tập thuộc tính tương ứng là XA và
Rs\{A}.
Bước 3: Thực hiện lại bước 2 đến khi trong  khơng có lược đồ nào vi phạm
BCNF thì vịng lặp kết thúc.
- Phân tách bảo toàn phụ thuộc hàm về chuẩn 3NF.
Thuật tốn 1.5 khơng đảm bảo sinh ra một phân tách bảo toàn tập phụ thuộc
hàm F. Để đảm bảo đầu ra của phân tách là bảo toàn tập phụ thuộc hàm F ta phân
tách lược đồ R thành các lược đồ con ở dạng chuẩn 3NF theo thuật toán sau:
Input :

Lược đồ quan hệ < R, F > với giả thiết F là phủ tối tiểu.

Output : Một phân tách của R bảo toàn tập F sao cho mỗi lược đồ con đều ở
3NF đối với hình chiếu của F lên lược đồ con đó.
Thuật tốn 1.6 ( Phân tách về dạng chuẩn 3NF và bảo toàn tập F)
Bước 1: Nếu có những thuộc tính của R không xuất hiện trong bất kỳ một
phụ thuộc hàm nào của F thì ta tách các thuộc tính đó thành một lược đồ quan hệ và
loại chúng ra khỏi R.
Bước 2: Nếu tồn tại một phụ thuộc hàm chứa tất cả các thuộc tính của R thì
phân tách cần tìm chính là R.
Bước 3: Trong trường hợp cịn lại, kết quả gồm các lược đồ ứng với các tập
thuộc tính có dạng XA cho mỗi phụ thuộc hàm XA trong F. Nếu trong F có các

TIEU LUAN MOI download :



22

phụ thuộc hàm có cùng vế trái X  A1, X  A2, ..., X  Ap thì chúng ta có thể sử
dụng lược đồ XA1A2...Ap thay cho các lược đồ XAi với i=1..p.
Như vậy ta có thuật tốn 1.5 để phân tách kết nối không tổn thất một lược đồ
quan hệ thành các lược đồ con ở chuẩn BCNF, và thuật tốn 1.6 để phân tách bảo
tồn tập phụ thuộc hàm F của một lược đồ quan hệ thành các lược đồ con ở chuẩn
3NF. Vấn đề đặt ra là có hay khơng một thuật tốn tạo ra một phân tách có cả hai
tính chất kết nối khơng tổn thất và bảo toàn phụ thuộc với yêu cầu các lược đồ con
chỉ ở 3NF ? Định lý sau đây khẳng định tồn tại một phép tách như vậy. [3]
Định lý 1.5: (Phân tách về dạng chuẩn 3NF, có kết nối khơng tổn thất và bảo tồn
tập phụ thuộc dữ liệu).
Gọi  là phân tách về dạng chuẩn 3NF và bảo tồn tập F được xây dựng bởi
thuật tốn 1.6, và gọi X là một khố của R. Khi đó  = {X}   là một phân tách
của R trong đó mọi lược đồ con đều là 3NF, phân tách đó bảo tồn tập F và có kết
nối khơng tổn thất.
Chứng minh : Định lý đã được chứng minh đầy đủ trong [2, 3]
1.2. Phương pháp thiết kế Top – Down
Một cách tiếp cận khác đối với việc thiết kế cơ sở dữ liệu quan hệ, đó là cách
thiết kế từ trên xuống (Top – Down). Đối với phương pháp thiết kế này trước hết ta
thiết kế cơ sở dữ liệu theo mơ hình thực thể liên kết, sau đó sử dụng biểu đồ thực
thể liên kết ER (Entity Relationships) ánh xạ sang mơ hình quan hệ. Để thực hiện
chuyển từ mơ hình thực thể liên kết sang mơ hình quan hệ ta phải tuân theo các
nguyên tắc sau: [6]
- Nguyên tắc 1: Với kiểu thực thể thông thường => chuyển thành một quan
hệ sao cho các thuộc tính của quan hệ là các thuộc tính đơn (hoặc các thành phần
đơn của thuộc tính phức hợp). Khố chính của quan hệ chọn một trong các khoá của
thực thể.
- Nguyên tắc 2: Với các thực thể yếu => chuyển thành một quan hệ như
nguyên tắc 1 nhưng bổ sung thêm các thuộc tính là khố chính của thực thể cha.

Khi đó khố chính của quan hệ là khố chính của thực thể cha + khoá bộ phận

TIEU LUAN MOI download :


23

- Nguyên tắc 3: Với kiểu liên kết 1 – 1 : Lấy khố chính của bảng có các
thực thể tham gia bộ phận đưa sang làm khố ngồi của bảng có các thực thể tham
gia tồn bộ. Nếu trong mối liên kết có thuộc tính liên kết thì đưa cả thuộc tính liên
kết vào bảng có các thực thể tham gia toàn bộ.
- Nguyên tắc 4: Với kiểu liên kết 1 – N : Lấy khố chính của bảng bên 1 đưa
sang làm khố ngồi của bảng bên N.
- Nguyên tắc 5: Với kiểu liên kết N – M : Thực hiện tạo thêm bảng mới.
Trong bảng mới lấy các thuộc tính là khố chính của 2 bảng, nếu trong mối liên kết
có thuộc tính liên kết thì đưa cả thuộc tính liên kết vào bảng mới. Khố chính của
bảng mới là khố chính của bảng bên N + khố chính của bảng bên M.
- Ngun tắc 6: Với thuộc tính đa trị : Thực hiện loại bỏ thuộc tính đa trị
trong bảng sau đó tạo thêm bảng mới. Trong bảng mới lấy thuộc tính là khố chính
của bảng có thuộc tính đa trị và thuộc tính đa trị chuyển thành thuộc tính đơn trị.
Khố chính của bảng mới là cả hai thuộc tính của bảng.
- Nguyên tắc 7: Với kiểu liên kết cấp cao (kiểu liên kết giữa ba kiểu thực thể
trở lên). Thực hiện tạo thêm bảng mới. Trong bảng mới lấy các thuộc tính là các
khố chính của các bảng tham gia liên kết, nếu trong mối liên kết có thuộc tính liên
kết thì đưa cả thuộc tính liên kết vào bảng mới. Khố chính của bảng mới là hợp các
khố chính của các bảng tham gia liên kết.
- Nguyên tắc 8: Với kiểu liên kết đệ quy : Thực hiện bổ sung thêm một
thuộc tính mới chứa giá trị khoá của thực thể liên kết đệ quy.
Ví dụ: Thiết kế cơ sở dữ liệu quan hệ theo phương pháp Top – Down.
Xây dựng CSDL quản lý công ty. Sau khi khảo sát thực tế các hoạt động của

công ty được mô tả bằng các quy tắc sau:
1. Một công ty được tổ chức thành các đơn vị. Mỗi đơn vị có một tên duy nhất,
một mã số duy nhất và một nhân viên quản lý đơn vị. Việc nhân viên quản lý
đơn vị được ghi lại bằng ngày bắt đầu. Một đơn vị có thể có nhiều địa điểm.
2. Một đơn vị có thể kiểm sốt một số dự án. Mỗi dự án có một tên duy nhất, một
mã số duy nhất và một địa điểm.

TIEU LUAN MOI download :


24

3. Mỗi nhân viên được lưu giữ: Họ tên, Mã số BHXH, Địa chỉ, Lương, Giới tính,
Ngày sinh. Mỗi nhân viên làm việc cho một đơn vị nhưng có thể làm việc trên
nhiều dự án do đơn vị đó kiểm soát. Việc làm việc trên dự án của nhân viên
được lưu lại bằng số giờ làm việc cho dự án. Mỗi nhân viên có thể có nhân viên
khác theo dõi (tổ trưởng, nhóm trưởng).
4. Mỗi nhân viên có thể có những người phụ thuộc (người phải nuôi) những người
này được hưởng bảo hiểm xã hội. Thông tin về những người phụ thuộc gồm có:
Họ tên, ngày sinh, giới tính, mối quan hệ.
 Thực hiện xây dựng mơ hình thực thể liên kết (Lược đồ E-R):
Bước 1: Xác định các kiểu thực thể.
DONVI(Tên đơn vị, Mã số ĐV, Nhân Viên QL, Địa điểm, Ngày BĐ).
DUAN(Tên dự án, Mã số DA, Địa điểm).
NHANVIEN(Họ tên, MSBHXH, Địa chỉ, Lương, giới tính, Ngày sinh)
NGUOIPT(Họ tên, giới tính, ngày sinh, mối quan hệ). {Thực thể yếu}
Trong đó: các thuộc tính gạch chân một nét là khố của kiểu thực thể, thuộc
tính gạch chân hai nét là thuộc tính đa trị.
Bước 2: Xác định các liên kết:
Ngày BĐ

Nhân viên

Đơn vị
Nhân viên

1

1
Quản lý
N

1
Kiểm soát
N

1
Làm việc

Đơn vị
Dự án
Đơn vị

Số giờ LV
M

N
Nhân viên

Làm việc
N


1
Nhân viên

Nhân viên

Dự án

Nhân viên

Theo dõi
N

1


Người PT

TIEU LUAN MOI download :


×