Lời nói đầu
Ngày nay, hơn lúc nào hết sự thành công của một cơ quan phụ thuộc vào khả năng
thu thập kịp thời, đầy đủ và chính xác những dữ liệu cần thiết, xử lí, quản lí va sử
dụng chúng một cách có hiệu quả để phân tích tình hình và đề ra những phương hướng hành động cho tương lai Mà khi lượng thông tin ngày càng gia tăng nên
khối lượng thu thập được cần được lưu trữ, nhưng do khơng gian lưu trữ có hạn
Nghịch lí này đã làm nảy sinh ra nhu cầu phải xây dựng cơ sở đữ liệu (CSDL) phù
hop Dé có thé quản lí tối ưu kho dữ liệu thì những người sử dụng phải có các cơng
cụ làm đơn giản hoá nhiệm vụ quản lí dữ liệu(DL) Yêu cầu đặt ra cho những người
thiết kế là nghiên cứu những tính chất cơ bản để xây dựng cấu trúc CSDL tối ưu
nhất Mà vấn đề phụ thuộc hàm, phụ thuộc đa trị là nguyên nhân cho các van dé nay sinh không đáng có trong thiết kế CSDL nên nghiên cứu về phụ thuộc hàm và phụ thuộc đa trị trong xây dựng CSDL đề xây dựng tập các sơ đồ quan hệ cho phép người dùng lưu trữ các thông tin một cách không dư thừa đồng thời cho phép tìm
kiếm thơng tin một cách dễ dàng
Mục đích nghiên cứu của đề tài trước hết trang bị thêm kiến thức phục vụ cho thiết kế CSDL đồng thời kiến thức học hỏi được sẽ trở thành một công cụ dé sinh
viên và những lập trình viên sử dụng cho công việc thiết kế của mình có cái nhìn đúng đắn và mang lại hiệu quả tốt nhất trong xây dựng CSDL Đối tượng nghiên cứu trong đề tài của em là phụ thuộc hàm, phụ thuộc đa trị và ứng dụng trong xây
dựng CSDL Và khi thiết kế một CSDL quan hệ phải nghiên cứu các tính chất cơ
bản cũng như các thuật tốn đề có thể nhận được những tập sơ đồ phù hợp, tốt nhất cho công việc
Đề tài được chia làm ba phần lớn:
Phần thứ nhất là cái nhìn tổng quan về CSDL quan hệ là phạm vi nghiên cứu của dé tai
Phan thir hai: trinh bày nội dung chính của đề tài , trong phần này giúp cho người sử dụng hiểu rõ mục đích và tầm quan trọng của việc thiết kế CSDL và ứng dụng trong thực tế
Phần cuối cùng là kết luận, qua đề tài để làm tối ưu quá trình xây dựng
Trang 2dụng ,và tìm hiểu để có những lựa chọn phù hợp nhất cho công việc của mình với mơ hình quan hệ nào là tốt nhất
Qua đề tài nghiên cứu mong rằng sẽ trang bị cho người đọc những kiến thức bổ ích giúp ích cho những ai muốn tìm hiểu về phụ thuộc hàm,phụ thuộc đa trị có thêm những kiến thức mới bổ sung cho quá trình tìm hiểu của mình
A Cơ sở lí luận I Khái quát CSDL:
1 Khải niệm CSDL:
Cơ sở dữ liệu là lĩnh vực của tin học nghiên cứu các cơ chế „nguyên lí,
phương pháp tổ chức các nhóm DL trên các vật mang tin ngoài(các loại đĩa trống
từ, quang học ) nhằm phục vụ cho việc khai thác dữ liệu trong các hệ thống tin học ứng dụng như các hệ lưu trữ và tra cứu thông tin ,các hệ quản trị xí nghiệp hoặc
ngành
Trong số 3 mô hình ba cách tiếp cận cho việc tổ chức và khai thác các CSDL là mô hình phân cấp , mơ hình mạng và mơ hình quan hệ thì mơ hình quan
hệ được quan tâm hơn cả vào khoảng vài chục năm trở lại đây Các hệ quản trị CSDL quan hệ được thiết kế và cài đặt trên tất cả các máy : hệ micro, hệ mini, hệ
mainframe và các hệ siêu máy tính Trong các chương trình xây dựng máy tính thế
hệ mới , mơ hình quan hệ được quan tâm đáng kể
Sở dĩ mơ hình quan hệ được phát triển rộng rãi như vậy là vì nó được xây dựng
trên một cơ sở toán học chặt chẽ _ lí thuyết về các quan hệ và có hình ảnh trực quan
gần với quan niệm thông thường của người dùng cuối Các ngôn ngữ thao tác trên
các CSDL quan hệ khá dễ học và có hiệu suất phục vụ cao.Trong mô hình quan hệ
thì giá trị đưa vào mỗi cột phải là đơn nhất, các giá trị đưa vào một cột phải cùng
một miền dữ liệu và mỗi dòng trong bảng phải là duy nhất nên việc quản li dé dang
hơn
Vậy CSDL là một tập các DL về các đối tượng cần quản lí, được lưu trữ đồng
thời trên các vật mang tin của máy tính điện tử và được quản lí theo một cơ chế thông nhất gọi là hệ quản lí CSDL nhằm thực hiện ba chức năng sau đây một cách
Trang 3CSDL là một bộ phận không thể thiếu được trong các hệ lưu trữ và tìm kiếm
thơng tin, các hệ thống quản lí kinh tế các ngành các cấp, các hệ thống quản lí kho hàng, tư liệu, các hệ thống phục vụ công cộng như ngân hàng, bán vé máy bay và các phương tiện giao thông , các hệ thống thiết kế tự động
2 Hệ quản trị CSDL:
Đó là hệ thống phần mềm giúp cho người sử dụng khai thác các CSDL theo ba
chức năng nói trên Cịn các CSDL là đối tượng quản lí của các HCSDL Chúng
được tạo lập và lưu trữ trên các vật mang tin ngoài Hệ QTCSDL có nhiệm vụ rất
quan trọng, như một bộ miễn dịch với ngôn ngữ bậc cao nhằm giúp người sử dụng có thê dùng được hệ thống mà ít nhiều không cần quan tâm đến thuật toán chỉ tiết hoặc biéu dién DL trong may
CSDL có người quản trị CSDL Người quản trị CSDL có nhiệm vụ quản lí và
theo dõi toàn bộ các thủ tục sau đây :
_ Nạp DL vào CSDL _ Xoá DL ra khỏi CSDL _ Sửa DL trong CSDL
_ Tao lap CSDL
_Tim kiém va xuat DL
_ Bao tri DL trong CSDL không bị sai hỏng do các truy nhập không được phép
hoặc không đúng qui cách dẫn đến sự sai lệch hoặc mat mat DL
CSDL có một lớp người sử dụng cũng được phép thực hiện các thao tác như người quản trị nhưng giới hạn ở góc độ khai thác DL Người sử dụng tuỳ theo vai trò ,trách nhiệm của mình được người quản trị cho phép sử dụng một phần nào đó
của CSDL và với phần đó họ được phép thực hiện một số thao tác nhất định Nếu
người sử dụng là một nhân viên bán hàng tại một quầy nào đó thì có thể thông qua MTĐT theo dõi những mặt hàng bán được tại quầy của mình bao gồm các mục : mã
hàng, tên hàng , giá đơn vị , thành tiền, số lượng còn lại , tổng số tiền đã bán Và
được phép nạp DL, sửa ,xóa DL phản ánh đúng biến động của các mặt hàng có trong quầy của mình Còn các DL khác , mặc dù được lưu trữ trên cùng một MTĐT
Trang 4có thể là thơng tin về các quầy khác, tổng thu chi của cửa hàng, danh sách và thông tin chỉ tiết về các nhân viên
Tóm lại, mặc dù DL được lưu trữ chung trong một CSDL nhưng mỗi người sử
dụng chỉ được nhìn vào CSDL qua một cái chung và họ cảm thấy CSDL chỉ vào cái
khung đó thơi, như là dành riêng cho họ vậy
Hệ QTCSDL là những chương trình máy tính giúp cho ta thực hiện các thao tác trên Vậy là các phần mềm như DBASE, FOXBASE, SYSTEM-R, IMS_ là những
HCSDL Các đối tượng do hệ thống trên tạo lập là các CSDL 3 Kiến trúc một HCSDL
Một CSDL được phân nhánh các mức khác nhau như hình dưới Ở đây cá thể
xem như chỉ có một CSDL đơn giản và có một hệ phần mềm QTCSDL
Phần mềm CSDL vật lí là tập các tệp DL theo một cấu trúc nào đó được lưu trên các thiết bị nhớ thứ cấp ( đĩa, băng từ ) CSDL mức khái niệm là một sự biểu
dién trừu tượng của CSDL vật lí Các khung nhìn là cách nhìn là quan niệm của từng người sử dụng đối với CSDL mức khái niệm thực chất là không lớn
TgưỜI sit dung l Khung nhìn I
oa CSDL mức CSDL mức
npuih si dug 2 Khung nhin 2 khai vat li
niém(logic)
nowt sit dung 3 Khung nhin n
Trang 5Thể hiện
Một khi CSDL đã được thiết kế , thường người ta quan tâm tới “bộ khung” hay
còn gọi là “mẫu” của CSDL DL hiện có trong CSDL gọi là thể hiện CSDL, mặc đù khi DL thay đổi thao một chu kì thời gian nào đó thì “bộ khung” của CSDL vẫn
không thay đổi
Lược đồ
Thường “bộ khung” nêu trên bao gồm một số danh mục , hoặc chỉ tiêu hoặc một
số kiểu của các thực thể trong CSDL Giữa các thực thể có thể có một mối quan hệ
nào đó với nhau Ở đây sử dụng thuật ngữ “lược đồ” đề thay cho khái niệm “ bộ
khung”
Lược đồ khái niệm là bộ khung của CSDL khái niệm ,cịn lược đồ vật lí dùng cho bộ khung của CSDL mức vật lí, khung nhìn được gọi là Lươc đồ con
Tính độc lập DL
Theo hình trên từ khung nhìn tới CSDL khái niệm và CSDL vật lí cho thấy có
hai mức “ độc lập DL” Thứ nhất : Lược đồ vlí có thể thay đổi do người quản trị
CSDL mà không cần thay đổi lược đồ khái niệm hoặc các lược đồ con việc tổ chức
lại CSDL vật lí có thể làm thay đổi hiệu quả tính tốn của các chương trình ứng dụng nhưng khơng địi hỏi phải viết lại các chương trình đó tính độc lập này gọi là
độc lập DL mức vật lí
Mối quan hệ giữa các khung nhìn và lược đồ khái niệm cho thêm một loại độc lập nữa, gọi là độc lập DL Iogic.khi sử dụng một CSDL , có thé cần thiết phải thay đổi lược đồ khái niệm như thêm thông tin về các loại khác nhau của các thực thể hoặc bớt, xóa các thông tin về các thực thể đang ton tai trong CSDL viéc thay đôi
lược đồ khái niệm không làm ảnh hưởng tới các lược đồ con đang tồn tại , do đó khơng cần thiết phải thay đổi các chương trình ứng dụng
Vì thế, tính độc lập DL là mục tiêu chủ yếu của các hệ CSDL Có thể định nghĩa tính độc lập CSDL là “ tính bat biến của các hệ ứng dụng đối với các thay đồi trong cấu trúc lưu trữ và chiến lược truy nhập”
Có ba loại mơ hình CSDL cơ bản là mô hình lưới , mơ hình phân cấp, mơ hình
quan hệ Trong ba loại mô hình này thì mơ hình quan hệ có nhiều ưu điểm và được
Trang 6dàng sử dụng Điều quan trọng hơn cả, mơ hình quan hệ được hình thức hoá toán
học tốt , do đó được nghiên cứu, phát triển và cho được nhiều kết quả lí thuyết cũng
như ứng dụng trong thực tiễn
Trên cơ sở mô hình DL quan hệ , đến nay đã phát triển thêm một số loại mô hình khác nhằm mơ tả và thể hiện thế giới thực một cách chính xác và phù hợp hơn như mô hình quan hệ thực thể , mơ hình DL hướng đối tượng
1I.Một số vấn đề khi thiết kế CSDL:
Phụ thuộc đữ liệu là các mối ràng buộc có thể có giữa các giá trị hiện hữu của các lược đồ, chang hạn thuộc tính này xác định duy nhất thuộc tính kia Chúng ta
xét lược đồ quan hệ sau và xem xét các vấn đề nảy sinh để qua đó có thể thiết kế
một CSDL thế nào là tối ưu nhất Ví dụ về việc phân công lái máy bay:
phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH)
Với các thuộc tính : tên phi công(PHICONG), số máy bay(MAYBAY), ngày khởi hanh(NGAYKH), gio khdi hanh(GIOKH)
1 Dư thừa dữ liệu:
Dễ dàng thấy một phi công sẽ lái nhiều máy bay nên tên của phi công sẽ lặp lại trong nhiều bộ quan hệ trên lược đồ này Cụ thê là tên của người này sẽ lặp lại trong quan hệ
2 Không nhất quán:
Là hệ quả của việc dư thừa DL, vì khi tên của phi công lặp lại trong nhiều
bộ ,khi sửa thì chỉ có thể sửa ở một bộ nào đó còn các bộ khác vẫn giữ nguyên
Khi đó xảy ra hiện tượng một phi công có nhiều tên
3 Bắt thường khi thêm bộ:
Nếu một phi công mới tuyên chưa lái một máy bay nào cả, khi thêm một
bộ giá trị về phi công này đề theo dõi thì nhà quản lí khơng biết phải đưa giá trị gì
vào thuộc tính máy bay và ngày, giờ khởi hành
4 Bắt thường khi xoá bộ :
Nếu một phi cơng vì một lí do nào đó mà chỉ lái một máy bay nhất định
Trang 7Qua các vấn đề nảy sinh khi thiết kế CSDL cần tìm ra một sự thay thế tốt
mà nội dung nghiên cứu đề tài sẽ cho phép giải đáp cho những vấn đề trên B.Nội dung
LLugc do quan hé: 1.Định nghĩa:
Lược đồ quan hệ a là một cặp < u, F >, trong đó u= { Al,A2, ,An} la tập các thuộc tính, F là tập các phụ thuộc hàm trên u
Ví dụ: a= <u,F> với u= ABCD, F= { AB C, BD AC, C D}
Quan hệ R được gọi là quan hệ có lược đồ a nếu tập thuộc tính của R là u và thoả tập phụ thuộc hàm F
2.Phép tách các lược đô quan hệ:
Phép tách một lược đồ quan hệ R={A1,A2, An} là việc thay thế lược đồ quan hệ R bằng các lược đồ{ R1, R2, ,Rn}, trong đó Ri € R,i=I, k và
R=RI U R2 U U Rk Ở đây không địi hói các lược đồ Ri phải là phân biệt Mục tiêu của phéo tách chủ yêu là loại bỏ các bất thường DL gây ra như đã nêu ở trên
3 Chuẩn hoá lược đồ quan hệ:
Do việc cập nhập DL gây nên những bắt thường cho nên các quan hệ cần thiết phải được biến đổi thành các dạng phù hợp Q trình đó được gọi là quá
trình chuẩn hoá, quan hệ được chuẩn hố thì mỗi miền của thuộc tính chỉ chứa
những giá trị nguyên tố tức là không thể phân nhỏ được nữa Quan hệ có chứa các miền giá trị là không nguyên tố gọi là quan hệ khơng chuẩn hố Một quan hệ
được chuẩn hoá có thể thành một hoặc nhiều quan hệ chuẩn hóa khác và không
làm mắt thông tin TỊ.Phụ thuộc hàm
1.Khải niệm và vai trò của phụ thuộc hàm trong xây dung CSDL:
1.1 Khái niệm phụ thuộc hàm:
Phụ thuộc hàm (functional dependency) là một công cụ dùng đề biểu diễn một cách hình thức các ràng buộc toàn vẹn (vắn tắt: ràng buộc) Phương pháp biểu diễn này có rất nhiều ưu điểm, và đây là một công cụ cực kỳ quan trọng, gắn
Trang 8Phụ thuộc hàm được ứng dụng trong việc giải quyết các bài tốn tìm khóa, tìm phủ tối thiểu và chuẩn hóa cơ sở dữ liệu
Ở đây sẽ trình bày khái niệm một cách hình thức :
a Định nghĩa phụ thuộc hàm:
Q(A1,A2, An) là lược đồ quan hệ X, Y là hai tập con của Q+={A1,A2, ,An} r là quan hệ trên Q
t1,t2 1a hai b6 bat kỳ của r
X Y (tl.X=t2.X thitl.Y =t2.Y)
(Ta nói X xác định Y hay Y phụ thuộc hàm vao X (X functional determines Y,Y functional dependent on X )
Xét ví dụ phanCong trên ta thấy:
Quan hệ phanCong diễn tả phi công nào lái máy bay nào và máy bay khởi hành vào thời gian nào
Không phải sự phối hợp bất kỳ nào giữa phi công, máy bay và ngày giờ khởi hành
cũng đều được chấp nhận mà chúng có các điều kiện ràng buộc qui định sau: + Mỗi máy bay có một giờ khởi hành duy nhất
+ Nếu biết phi công, biết ngày giờ khởi hành thì biết được máy bay do phi công ấy lái
+ Nếu biết máy bay, biết ngày khởi hành thì biết phi cơng lái chuyến bay ấy Các ràng buộc này là các ví dụ về phụ thuộc hàm và được phát biểu lại như sau:
+ MAYBAY xác định GIOKH
+ _{PHICONG,NGAYKH,GIOKH)} xác định MABAY + _{MAYBAY,NGAYKH) xác định PHICONG hay
+ GIOKH phụ thuộc hàm vào MAYBAY
+ MABAY phụ thuộc hàm vào {PHICONG,NGAYKH,GIOKH}
+_PHICONG phụ thuộc ham vao {MAYBAY,NGAYKH} và được ký hiệu như sau:
+ {MAYBAY} GIOKH
Trang 9+ {MAYBAY,NGAYKH) PHICONG b.Một số tính chất của phụ thuộc hàm:
Định lí: phụ thuộc hàm trên tập thuộc tính thoả các tính chất sau đây: F1 Tính phản xạ : Nếu X,Y CUvàY cC Xthix VY
F2 Tính bắc cầu :Nếu X,Y © U,X YvàY Zthix Z
F3 Tính mở rộng haivếNếuX Y,X, Œ UthìvớimọiZ © Utacé
XZ YZ
F4 Tính tua bac cau: NéuX Y,YZ W;X,Y,ZW c U thixZ Ww
F5 Tinh phan xa chat: VoimoiX fC UtacdX X
F6 Mo rong vé trai va thu hep vé phai : Néu X Y;X,Y c U thi voi moi
Zc uvaW UtacóXZ Y/W
F7.Cộng tính đầyđủ:NếuX YvàZ W;X,Y,Z CUthìXZ YW F8 Mở rộng vé trá:NếuX Ythivdim œ UtacóXZ Y
F9 Cộng tính ở vế phả:NếuX YvàX Z;X,Y © UthiX YZ F10 Bộ phận ở về phải: NếuX YZ;X,Y,Z c Uthix Y
FII Tính tíchluỹ Nếu X YZ;Z AW;X,Y,Z, cU;A œ Uthì X YZA
Những tinh chat trên đã được chứng minh và thừa nhận tính đúng đắn của nó nên ở đây chỉ nêu ra các tính chất cho người sử dụng tìm hiều
c Thuật toán Satifies:
Cho quan hệ r và X, Y là hai tập con của Q+ Thuật toán SA TIFIES sẽ trả về trị true nếu X Yngugce lai 1a false
SATIFIES
Vao: quan hé r va hai tap con X,Y
Ra: truenéuX Y, ngược lai 1a false
SATIFIESŒr,X,Y)
1 Sắp các bộ của quan hệ r theo X đề các giá trị giống nhau trên X nhóm lại với nhau
2 Nếu tập các bộ cùng giá trị trên X cho các giá trị trên Y giống nhau thì trả về
Trang 10Vi du 1: SATIFIES(phanCong, MAYBAY,GIOKH)
phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH)
Phi Cong | May Bay Ngay KH Gio KH
Duong 83 9/8 10:15a
Ha 83 11/8 10:15a
Tuấn Anh 83 13/8 10:15a
Dương 116 10/8 1:25p Tuan Anh 116 12/8 1:25p Ha 281 8/8 5:50a Thanh 281 9/8 5:50a Thanh 281 13/8 5:50a Tuan Anh 301 12/8 6:35p
cho kết quả là true nghĩa là MAYBAY} GIOKH Ví dụ 2: SATIFIES(phanCong,GIOKH,MAYBAY)
phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH)
Phi Công Máy Bay Ngày KH | Giờ KH
Tuan Anh 281 8/8 5:50a
Duong 281 9/8 5:50a
Thanh 281 13/8 5:50a
Ha 83 9/8 10:15a
Tuan Anh 83 11/8 10:15a
Quang 83 13/8 10:15a
Dương 116 10/8 1:25p
cho két qua la false nghĩa là không có phụ thuộc hàm {GIOKH} MAYBAY 1.2 Vai trò của phụ thuộc hàm trong xây dựng CSDL:
Khi thiết kế một CSDL thường đòi hỏi phải chọn các lược đồ quan hệ Việc chọn tập các lược đồ quan hệ có thể tốt hoặc xấu hơn dựa trên một số tiêu chuẩn
nào đó Do vậy cần thiết phải nghiên cứu các tính chất cơ bản cũng như những thuật toán đề có thê nhận được những tập lược đồ phù hợp Mà trọng tâm của thiết kế các
lược đồ là sự phụ thuộc DL là sự ràng buộc có thể có giữa các giá trị hiện hữu của
Trang 11các lược đồ Nên phụ thuộc hàm có tầm quan trọng rất lớn đối với việc thiết kế mơ
hình dữ liệu Phân tích các phụ thuộc hàm có thê có đề tối ưu mơ hình DL nó có ảnh hưởng trực tiếp đến hiệu quả hoạt động của hệ thống Bên cạnh đó sử dụng các phụ
thuộc hàm người sử dụng có thê chuẩn hố các lược đồ về dạng chuẩn ba hay dạng chuẩn Boye_Codd
2 Các vấn đề liên quan phụ thuộc hàm trong xây dựng CSDL
2.1 Hệ tiên đề Armstrong
Gọi F là tập các phụ thuộc hàm trên sơ đồ quan hệ R(U) và X Y là một phụ
thudc ham, X,Y © U,khidd X Y được suy dién logic từ F nếu với mọi quan
hệ r xác định trên R(U) thoả các phụ thuộc hàm trong U thì cũng thoả cácX Y
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 Nếu F=F+ thi F là họ đầy đủ của các phụ thuộc hàm Để có thể xác định
khố của một lược đồ quan hệ va 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ó các hệ tiên đề Nên ta có hệ tiên đề Armstrong đối với các phụ thuộc hàm như sau:
Gọi R(U) là lược đề quan hệ với U={AI,A2, ,An} là tập các thuộc tính và X,Y,Z,W © U duoc ki higu XY= X UY
Hệ tiên đề Armstrong :
AI.Phảnxạ:NếuY © X © Uthix Y
A2 Tăng trưởng:NếuX Y,Z © UthiXZ YZ A3 Bac cau: NéuX Y,Y ZthiX Z
Hé tién dé Armstrong la dung:
Noi rang X Y là phụ thuộc hàm được suy diễn nhờ vào tiên đề Armstrong nếu tồn tại các tập phụ thuộc hàm F0 FI Fn sao cho X Y với F0,F1, Fn lần
lượt được hình thành thỏa phương pháp sau: Bước!I: F0 = F
Bươc 2:Chọn một số phụ thuộc hàm trong Fi ap dụng hệ tiên đề Armstrong để thu được một số phụ thuộc hàm mới Đặt Fit 1= Fi {các phụ thuộc hàm mới}
Hệ quả : Hệ luật dẫn Armstrong là đúng nghĩa là nếu F là tập các phụ thuộc hàm
đúng trên quan hệ r và X_ Y là một phụ thuộc hàm được suy diễn từ F nhờ hệ luật
Trang 12dẫn Armstrong thi X Y đúng trên quan hệ r VậyX Y là phụ thuộc hàm được suy diễn logic từ E
Hệ tiên đề Armstrong là đầy đủ:
Hé luat dan Armstrong 1a day đủ nghĩa là mọi phụ thuộc hàm X Y được suy diễn
logic từ F sẽ được suy diễn từ F nhờ hệ tiên đề Armstrong
2.2.Bao đóng:
Tính tốn bao đóng của các thuộc tính với một tập phụ thuộc hàm có thuật toán
sau đây:
Vào: Tập hữu hạn thuộc tính U, tập các phụ thuộc hàm F trên U va XC JU Ra: X+, bao đóng của X đối với F
Phương pháp: Tính liên tiếp tập các thuộc tính X0,XI ,Xn theo quy tắc:
I X0=X
2 XitI=XiU A sao cho tồn tại(ÝY Z)€e F,AeZvàY € Xi Vì rằng X=X0 © © Xi © U,U la hi han cho nén sé t6n tai mot chi sé I nao đó mà Xi = Xit+1
2.3 Phép tách bảo toàn tập phụ thuộc hàm
Thông thường, chúng ta mong muốn một phép tách phải có tính chat không mất
mát thông tin bởi vì nó đảm bảo rằng một quan hệ nào đó có thể được phục hồi
từ các quan hệ chiếu của nó Một tính chất quan trọng nào khác của phép tách sơ
đồ quan hệ R thành p = (RI, R2 , Rk) la tap các phụ thuộc hàm F trên R
phải được suy diễn ra bởi tập các phụ thuộc hàm chiếu cuả F trên Ri với i= 1, 2, „K
Giả sử R là một lược đồ quan hệ với tập phụ thuộc hàm F, p = ( RI,
R2 , Rk) là một phép tách của R trên F Chung ta nói Fi là hình chiếu của F
trên Ri, và kí hiệu là II Ri (F), là tập tất cả các phụ thuộc hàm X Yc F+ sao
choXY € Ri chúýrằngX Y không cần thiết thuộc F mà chỉ cần thuộc
F+
Chú ý rằng phép tách p bảo toàn tập phụ thuộc hàm F nếu hợp của tất cá các phụ thuộc hàm trong II Ri (F) với ¡ = 1, 2, ,k suy diễn logic ra tất cả các phụ thuộc hàm trong F Lí do chúng ta muốn một phép tách p bảo toàn tập phụ thuộc hàm F là các phụ thuộc hàm trong F có thể được quan sát như các ràng buộc
Trang 13toàn vẹn đối với sơ đồ quan hệ R Nếu các hình chiếu của tập phụ thuộc hàm F không suy diễn được F thì khi chúng ta thay thế R bởi p =(RI1, .,Rk), chúng ta cé thé thay rang giá trị hiện thời của các quan hệ Ri biểu diễn quan hệ R sẽ
không thoả mãn F thậm chí nếu p có tính chất khơng mất mát thông tin đối với E Một cách lựa chọn đề khắc phục có thể là mỗi cập nhật đối với một trong các
quan hệ R sẽ đòi hỏi một phép kết nói để kiểm tra các ràng buộc này có vi phạm khơng
$ Các dạng chuẩn và mục đích của nó trong lược dé quan hé
Trước khi đưa ra các dang chuẩn có một số định nghĩa liên quan:
Định nghĩa I: Cho R(U) là lược đồ quan hệ với U={A1, A2, , An} là tập
các thuộc tính , F là tập các phụ thuộc hàm trên R và A thuộc U Chúng ta nói rằng A là thuộc tính khố nếu A thuộc một khoá tối thiểu nào đó của R, ngược
lại A được gọi là thuộc tính khơng khố
Định nghĩa 2: Cho R(U) là lược đồ quan hệ với U={AI, A2, ,Ak} là tập các thuộc tính, F là tập các phụ thuộc hàm trên R và X,Y_ € U chúng ta nói
rằng Y 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ì một tập con thực sự nào của X
Lược đồ quan hệ được xây dựng ở thời điểm ban đầu thường chứa nhiều
nhược điểm như dư thừa dữ liệu, dễ gây ra thiếu nhất quán khi bổ sung, sửa
chữa hoặc loại bỏ các dòng trong quan hệ Chất lượng của các lược đồ quan hệ được cải thiện trên cơ sở biến đổi chuẩn Ta có các dạng chuẩn sau:
Dạng chuẩn 1: Một quan hệ R là dạng chuẩn 1(INF) nếu các thuộc tính của
nó đều đơn trị Nói cách khác, quan hệ R đạt chuẩn 1 nếu nó khơng chứa các
thuộc tính lặp Giá trị tại mỗi ô của bảng (giao của cột và dòng) phải là đơn trị
Dạng chuẩn2: Một quan hệ R là dạng chuẩn 2(2NF) nếu nó là INF và các phụ thuộc hàm giữa các thuộc tính ngồi khóa và khóa đều là các phụ thuộc hàm
sơ đăng, nói cách khác, mọi thuộc tính ngồi khóa đều khơng có phụ thuộc hàm
vào bộ phận của khóa
Dạng chuẩn 3: Một quan hệ R là dạng chuẩn 3 (3NF) nếu nó là 2NF và các phụ
thuộc hàm giữa các thuộc tính khóa ngồi và khóa đều là các phụ thuộc hàm trực
tiép-nghia 14 không tồn tại những phụ thuộc hàm ngồi khóa
Trang 14*Các bước chuẩn hóa: Các bước chuẩn hóa được mô tả theo sơ đồ sau
Quan hệ đc xây dung ban đầu
Tách các nhòm
— thc tính lặp
Quan hệ đạt chuẩn 1(1NF)
R— Tách các phụ thuộc
Quan hệ đạt chuẩn 2(2NF} ae
‡ - Tach cac phu thuộc
Quan hệ đạt chuẩn 3(3NF) ko trực tiên
Dạng chuẩn I
Quan hệ là INF nếu không chứa các thuộc tính lặp, các thuộc tính phải là đơn,
nghĩa là giá trị của các ô là giao của hàng và cột phải có giá trị đơn, như vậy, mọi quan hệ đều là INF Nếu bảng đữ liệu chứa các thuộc tính lặp thì khơng phải quan
hệ, để chuyển bảng dữ liệu có lặp thành quan hệ, có thê tách các thuộc tính lặp
thành một hoặc nhiều bảng khác và nếu cần thiết thì tăng cường khóa cho các bảng mới này Tiếp tục xem xét các bảng mới để đảm bảo sao cho các bảng này cũng là
quan hệ, tức là đạt chuẩn I
Vi dụ: Từ bang DONHANG ban đầu với các thuộc tính:
SODH,MA_KH,TEN_KH,DIA_CHI,NG_LD,MA_MH,TEN_MH,DV,SL,DG_ va
TIEN
Chứa các thuộc tính lặp:
MA_MH,TEN_MH,DV,SL,DG,TIEN
Các thuộc tính lặp được tách thành bảng DONG_DH, trong đó có bố sung thuộc
tính SODH từ các thuộc tính cịn lại để tạo khóa Phần cịn lại của bảng
DONHANG và bảng mới DONG_ DH khơng chứa thuộc tính lặp Các bảng này
thỏa mãn các tính chất của quan hệ, chúng đều đạt chuẩn 1, ta có lược đỗ sau :
DONHANG(SODH,MA_KH,TEN_KH,DIA_CHI,NG_LD) DONG_DH(SODH,MA_MH,TEN_MH,DV,SL,DG,TIEN)
Dạng chuẩn 2: Một quan hệ R 1a dang chudn 2(2NF) néu no 1a INF va cac phy thuộc hàm giữa các thuộc tính ngồi khóa và khóa đều là các phụ thuộc hàm sơ đăng, nói cách khác, mọi thuộc tính ngồi khóa đều khơng có phụ thuộc hàm vào bộ phận của khóa Nếu quan hệ R chứa những thuộc tính có phụ thuộc hàm vào một bộ
Trang 15phận của khóa thì cần tách các nhóm thuộc tính phụ thuộc vào bộ phận của khóa và
bổ sung thêm cho các nhóm này một phần khóa mà chúng có phụ thuộc hàm, đề
thành quan hệ Nhóm cịn lại tạo thành một quan hệ với khóa như cũ Các quan hệ được tạo lập đều là 2NE
Ví dụ: Xét quan hệ DONG_DH có lược đồ:
DONG_DH(SODH,MA_DH,TEN_MH,DV,SL,DG,TIEN)
Giả thiết là đơn giá bán không phụ thuộc vào từng đơn hàng, các phụ thuộc hàm trực tiếp trong quan hệ sẽ là:
MA_MH {TEN_MH,DV,DG}
SODH,MA_MH _ {SL,TIEN}
R6 rang DONG_DH khong phai 1a 2NF, tách các thuộc tính TEN_MH, DV,DG có
phụ thuộc hàm vào bộ phận MA_MH của khóa thành một nhóm Nhóm cịn lại
SODH,MA_ DH,SL,TIEN là quan hé 2NF: DONG_DH(SODH,MA_DH, SL,TIEN)
Nhóm bị tách ra sẽ được bổ sung bộ phận của khóa MA_MH và nhận MA_MH làm khóa Đó là quan hệ 2NF:
MATHANGI(MA_MH.TEN MH,DV,DG)
Dạng chuẩn 3: : Một quan hệ R là dạng chuẩn 3 (3NF) nếu nó là 2NF và các phụ
thuộc hàm giữa các thuộc tính khóa ngồi và khóa đều là các phụ thuộc hàm trực tiếp-nghĩa là không tồn tại những phụ thuộc hàm ngồi khóa Nếu R không phải là 3NF, nghĩa là trong R tồn tại thuộc tính khơng phụ thuộc hàm trực tiệp vào khóa, thì tách các nhóm thuộc tính có phụ hàm vào thuộc tính khóa thành một quan hệ Khóa
của quan hệ mới này chính là thuộc tính mà chúng có phụ thuộc hàm Ví dụ: quan hệ DONHANG đã xét ở phần chuẩn INF không phải là 3NF: DONHANG(SODH,MA_KH,TEN_KH,DIA_CHI,NG_LD)
Có các phụ thuộc hàm trực tiếp:
SODH {MA_KH,NG_LD}
MA KH {£TEN KH,DIA CHI)}
Nhóm mới này được tách ra gồm có MA_KH,TEN_KH và DIA_ CHI Thuộc tính
MA KH sẽ là khóa của quan hệ mới này Nhóm cịn lại tạo thành một quan hệ với
khóa như cũ :
Trang 16DONHANG(SODH,MA_KH,NG_LD)
KHACHHANG(MA_KH,TEN_KH,DIA_CHI)
Dạng chuẩn Boye_Codd: Một sơ đồ quan hệ R với tập phụ thuộc hàm F được gọi là dạng chuẩn Boye_Codd nếu mọi X_ A thuộc F+ và A không thuộc X thì X chứa
một khố của R Nói cách khác,sơ đồ quan hệ R chỉ có các phụ thuộc hàm không tầm thường là những phụ thuộc hàm trong đó một khố xác định hàm một hay nhiều
thuộc tính khác
Tách không mất mát thông tin về dạng chuẩn Boye_Codd có bỗ đề sau:
_Giả sử R là một sơ đồ quan hệ với tập phụ thuộc hàm F Đặt p
=R1,R2, ,Rk) la một phép tách không mắt mát thông tin của R đối với F Với mỗi
i=1,2, ,k goi Fi là hình chiéu ctia F trén Ri, va dat o =(S1,S2, ,Sm) là một phép
tách không mắt mát thông tin của Ri đối với Fi Thì phép tách R thành ( RI, ,Ri-
1,S1,S2, ,Sm,Ri+1, ,Rk) là không mắt mát thông tin đối với F
_ Giả sử có R, F và p như trên , ø = (RI1,R2, ,Rk,Rk+1, ,Rn) là một
phép tách của R thành tập các sơ đồ chứa các sơ đồ của p thì z là một phép tách không mắt mát thơng tin
Thuật tốn tách khơng mắt mát thông tin về dạng chuẩn Boye_Codd
Vào : Sơ đồ quan hệ R, tập phụ thuộc hàm F trên R
Ra: p- một phép tách không mắt mát thông tin bao gồm một tập các sơ đồ con trong đó mỗi sơ đồ đều ở dạng chuẩn Boyc_Codd với các phụ thuộc hàm là hình chiếu của F lên sơ đồ đó
Phương pháp:
_ Chúng ta xây dựng một phép tách p đối với R theo phương pháp lặp Mỗi
lần lặp p sẽ được tách tiếp với một phép tách không mắt mát thông tin đối với F
_ Ban đầu đặt p =(R) nếu S là một sơ đồ quan hệ trong p không ở dạng chuẩn
Boye_Codd, xét một phụ thuộc hàm X A cuả S, với điều kiện X khơng chứa khố
của S và A£X Ta thay thế S bởi S1, S2 với SI = A U ƒ£X}, §2= ƒS} \A
— Tiếp tục quá trình cho đến khi mọi sơ dé con đều ở dạng chuẩn Boye_Codd chúng ta sẽ dây dựng được phép tách không mắt mát thơng tin chuẩn hố R về dạng chuân Boye_Codd
Trang 17HH Phụ thuộc đa trị
1 Khai niém và vai trò của phụ thuộc đa trị trong xây dựng CSDL 1.1 Khái niệm phụ thuộc đa trị
Phần trước người nghiên cứu đã được xem xét một loại DL giữa các tập thuộc tính
của các sơ đồ quan hệ là phụ thuộc hàm và sử dụng phụ thuộc hàm đề chuẩn hoá
các lược đồ quan hệ về dạng chuẩn ba và dạng chuẩn Boye_Codd Tuy nhiên, trong
thực tế phụ thuộc hàm không phải là loại phụ thuộc duy nhất xuất hiện trong các
quan hệ mà cịn có những phụ thuộc khác nữa cũng là nguyên nhân gây nên sự dư
thừa dữ liệu và vấn đề không nhất quán dữ liệu Như một máy bay không phải chi
xác định một ngày giờ khởi hành mà là nhiều ngày giờ khởi hành khác nhau Mối
quan hệ này được gọi là phụ thuộc đa trị
Có thể hình thức hố phụ thuộc đa trị qua định nghĩa sau:
Gọi R là một lược đồ quan hệ, X và Y là hai tập con của R, Z= R-XY Quan hệ r(R) thoả phụ thuộc đa trị X Y nếu với bat kì hai bộ tI€ r, 2 € r với tl [X]
=t2[X] ton tại một bộ t3 € r sao cho t3[X] =tI[X], t3[Y]= tl [Y] va t3[Z] =t2[Z] Do tính chất đối xứng của tl và t2 dé dang thấy rằng trong r còn tồn tại một bộ t4 ma t4[X] = tl [X], t4[Y] = t2[Y] va t4[Z]= t1[Z]
Từ định nghĩa phụ thuộc da tri suy ra:
_Nếu X_ Y thoả trên quan hệ r thì X Y cũng thoả trên r, do vậy có thé
thấy phụ thuộc hàm là trường hợp đặc biệt của phụ thuộc đa trị
—— Bồ đề: với moi tap thudc tinh X, Y va U sao cho X, Y C U, phu thudc da
tri X Y là thoả quan hệ r(U) khi và chỉ khi X Y - X thoả trên r(U) _ Dinh li : Cho r là quan hệ của lược đồ R(U),X,Y_ © Uva Z=U-XY
Quan hệ r thoả phụ thuộc đa trị X Y khi và chỉ khi r được tách không mat mat
thông tin thành hai quan hệ trên các lược đồ tương ứng R1 = R[XY] và R2= R[XZ] 1.2 Vai trò của phụ thuộc đa trị trong xây dựng CSDL
Cũng giống như phụ thuộc hàm, phụ thuộc đa trị cũng cần được phân tích và nghiên
cứu để từ đó lập trình viên thiết kế CSDL tối ưu nhất tránh được sự dư thừa hay bắt
thường về DL Nhằm phục vụ tốt nhất đáp ứng được đòi hỏi yêu cầu của người sử dụng Chính vì thế mà người phân tích thiết kế không được coi nhẹ vai trò của phụ
Trang 18thuộc đa trị vì chính nó cũng là một nguyên nhân nảy sinh các vấn đề đã nêu ở phần trước
2 Các vấn đề liên quan phụ thuộc đa trị trong xây dựng CSDL
2.1 Hệ tiên đề đối với phụ thuộc hàm và phụ thuộc đa trị:
Goi R(U) là lược đồ quan hệ với U={A1,A2, „An} là tập các thuộc tính và X,Y,Z,W € U.Kihiệu XY=XUY
AI: phản xạ đối với phụ thuộc hàm :Nếu9) € X c€ UthiX Y
A2: Tăng trưởng đối với phụ thuéc ham: NéuX Y,Z © UthiXZ YZ A3: Bắc cầu đối với phụ thuộchàm:NếuX Y,Y ZthìX Z
A4: Luật bù đối với phụ thuộc đa trị: Nếu X YthìX U\XY A5: Tăng trưởng đối với phụ thuộc đa trị : Nếu X Y,vaV CM thi
X VY
A6: Bắc cầu đối với phụ thuộc đa trị:
Nếu X Y,Y Z thì X Z\Y
A7:NếuX Y thìX Y
A8: Nếu X Y,W_ ZvớiZ CYvàWØY=OthX Z
2.2 Các luật suy diễn bồ sung đối với các phụ thuộc đa trị _ Luật hợp: Nếu X Y,X Z thi X YZ
_ Luật tựa bắc cầu: Nếu X Y,WY Z thì WX ZWY _ Luật tựa bắc cầu hỗn hợp : Nếu X Y,XY ZthiX Z\Y
_ Luật tách: Nếu X YX Z thì X YN ZX Y\Z,X
ZY
2.3 Bao đóng của tập phụ thuộc hàm và phụ thuộc da tri
Cho một tập các phụ thuộc hàm và phụ thuộc đa trị D Muốn tìm tập D* là bao đóng của D hay là tập tất cả các phụ thuộc hàm và các phụ thuộc đa trị được suy diễn logic từ D Có thể tính D* xuất phát từ D áp dụng hệ tiên đề AI — A8 cho tới khi không một phụ thuộc mới nào có thể được suy diễn ra nữa Để kiểm tra một phụ
thuộc đa trị X Y là đúng hay sai chỉ cần xác định cơ sở phụ thuộc của X đối
với D và xem xét liệu Y\X là hợp của một vài tập hay không? Để kiểm tra liệu một phụ thuộc đa trị có thoả hay không chỉ xác định cơ sở phụ thuộc của X và Y\X có
phải là hợp của một số tập hay khơng? Để tìm cơ sở phụ thuộc của X đối với D chỉ
Trang 19cần tính cơ sở phụ thuộc đối với tập các phụ thuộc đa trị M là đủ Một định lí của Beeri cho biết chi cần tính tốn cơ sở này đối với tập các phụ thuộc đa trị M, trong
đó M bao gồm:
e Tất cả các phụ thuộc đa trị trong D
e_ Tập các phụ thuộc đa trị X AI, X An với mỗi phụ
thuộc hàm X Y trong D với Y= AIA2 An
Một định lí khác của Beeri nêu cách xác định các phụ thuộc hàm không tầm thường
được xác định bởi X từ cơ sở phụ thuộc của X đối với M Có thể chỉ rarằngX — A
với A€ X khi và chỉ khi:
e -A là tập có một thuộc tính của cơ sở phụ thuộc của X
e Tôn tại một tập các thuộc tính Y nào đó, Y không chứa A, A € Z dé
Y Z dung trong D
Hơn nữa Beeri còn đưa ra một thuật toán với độ phức tạp thời gian đa thức đề tính tốn cơ sở phụ thuộc của X đối với M:
e_ Vào : tập các phụ thuộc đa trị M trên tập thuộc tính U va tập thuộc
tinhX Cc U
e Ra: Co so phu thudc cua X đối với M
Phương pháp :
e Đặt T là tập các tập con Z cua U sao cho W Y nào đó trong M maW €C_ XthìZlàY\XhoặcU \XY
e T được thiết lập cho tới khi là một tập các tập rời nhau, nếu có một
cap Z1, Z2 không tách rời nhau thì thay chung boi Z1\Z2, Z2\Z1, Z1ñZ2 với điều kiện không ghi nhận tập rỗng Gọi S là tập thu được sau bước này
e Tim cac phu thuộc có dạng V W trong M và một tập Y trong S sao cho Y có giao với W nhưng khơng giao với V thì thay Y bằng
YfìW và Y\W cho đến khi không thay đổi S được nữa Gọi S là tập
thu được sau bước này thì S là cơ sở phụ thuộc của X
2.4 Phép tách không mắt thông tin
Cho sơ đồ R và phép tách R thành RI, R2 ,Rk:
Trang 20e - Xây dựng bảng với các hàng, cột va cac gia tri aj, bij như thuật toán phép tách không mắt mát thông tin ở phụ thuộc hàm đã nêu
e Nếu có các phụ thuộc hàm thì thao tác như thuật toán đã nêu, nếu có một phụ thuộc đa trị X Y và có 2 hàng tl, 12 trong bảng mà
thoả mãn tI[X] =t2[X] thì thêm vào bảng đó một hàng u với u[X] = tI[X], u[Y]EtI[Y] và u[R \XY]=t2[R\XY] nếu u chưa có trong bảng
e - Lặp lại bước trên cho tới khi không tạo thêm được hàng nào nữa và
không thay đôi được các giá trị trong bảng nữa, nếu quan sát thấy có một hàng chứa toàn các giá trị a thì phép tách là không mất mát thông tin, ngược lại thì phép tách là khơng bảo tồn thơng tin
Có định lí sau: Cho sơ đồ quan hệ R và p=(RI,R2) là một phép tách của R D là
tập các phụ thuộc hàm và phụ thuộc đa trị trên các thuộc tính của R Phép tách p là
không mắt thông tin nếu và chỉ nếu R1 ñ R2 RI\R2
2.5 Dạng chuẩn bón
Sự tổng quát hoá đạng chuẩn Boye_Codd áp dụng cho các lược đồ quan hệ có
các phụ thuộc đa trị được gọi là dạng chuẩn thứ tư
Cho lược đồ quan hệ R, D là tập các phụ thuộc có thể áp dụng trên D R ở dạng chuẩn bốn nếu có một phụ thuộc đa trị X Y với Y không phải là tập
rỗng và Y cũng không là tập con của X, và XY không chứa tất cả các thuộc tính
của R thì X chứa một khoá của R
Chú ý rằng nếu E chỉ có các phụ thuộc hàm thì dạng chuẩn bốn chính là dạng
chuẩn Boye CoddvàX Y phải cónghĩalàX Y
Có thể xác định được một phép tách không mất mát thông tin tách sơ đồ R
thành p =(RI1, R2, ,Rk) trong đó mỗi lược đồ Ri đều có dạng chuẩn bốn như sau: _ Đầu tiên gán cho p = (R), nếu có một lược đồ quan hệ S trong p không ở dạng
chuẩn bốn đối với D được chiếu trên S tức tồn tại X Y, X khơng chứa khố
của S với Y không phải là tập rỗng và không là tập con của X; XY không không
Trang 21Ss Tiép tục cho đến khi mọi lược đồ con đều ở dạng chuẩn bốn thì thu được kết
quả là một phép tách không mắt mát thơng tin chuẩn hố thông tin về dạng chuẩn bốn
— Một chi tiết quan trọng là tìm tập các phụ thuộc là hình chiếu của D trên S
hay tập các phụ thuộc của D* đúng trên S Một định lí của Aho, Beeri va Ullman
cho cách tính tập của các phụ thuộc này như sau: e Tinh D*
s« VớiX Y€CD*nếuX C Sthix YNSES
© Voix YED*,néuX C SthìX YNSES
¢ Khéng co cdc phu thudc khac của S có thể được suy điễn mà D là
đúng đối với R
Xét ví dụ lược đồ quan hệ DayHoc(MonHoc, GiangVien, DoiTuong), dé don gian,
kí hiệu MonHoc là M, GiangVien là G và DoiTuong là D Giả sử trên lược đồ quan hệ này có tập phụ thuộc da tri D= { M G,M D} dễ thấy sơ đồ MGD chưa ở dạng chuẩn bốn do tổn tại phụ thuộc đa trị mà M khơng chứa khố MGD với G khác tập rỗng và G không phải là tập con của M; MG không chứa tất cả các thuộc
tính của lược đồ Do vậy thay lược đồ này bởi hai lược đồ con là MG và MD Xét lược đồ thứ nhất hình chiếu của D trên MG là M G do vậy lược đồ thứ nhất ở dạng chuẩn bốn Xét lược đồ thứ hai hình chiếu của D trên MD là M D do vậy
lược đồ hai cũng ở dạng chuẩn bốn Như vậy phép tách MGD thành MG và MD là phép tách không mắt mát thông tin chuẩn hoá DayHoc về dạng chuẩn bốn
Tóm lại sử dụng các phụ thuộc da trị ở dạng chuẩn hoá bốn thì quan hệ giữa các
thuộc tính đã được đơn giản hố và hầu như khơng còn sự dư thừa dữ liệu cũng như
các bất thường khi cập nhật nữa
Trang 22B Kết luận
Sau khi nghiên cứu đề tài người sử dụng biết được tầm quan trọng của việc
quản lí DL và cách lưu trữ thông tin cho phù hợp nhất Hiểu được các kỹ thuật về thiết kế CSDL để có phương hướng phát triển của công nghệ CSDL trong hiện tại
và tương lai nhằm mang lại hiểu quả tối ưu cho người sử dụng
Mặt khác người sử dụng cũng cần nghiên cứu những lợi ích cũng như những chỉ
phí khi thiết kế CSDL để lựa chọn phương pháp thích hợp nhất cho hệ thống Đối với một hệ CSDL, vấn đề thiết kế CSDL là một vấn dé rat quan trọng và có
ảnh hưởng trực tiếp đến hiệu quả của hệ thống Mặt khác đó cũng là vấn đề đầu tiên
cần phải được quan tâm, thực hiện trước khi lựa chọn một phần mềm hệ quản trị CSDL để tạo lập và lưu trữ CSDL Do mơ hình dữ liệu quan hệ được trang bị một
nên tảng toán học vững chắc nên cho đến nay nên vấn đề thiết kế đữ liệu quan hệ đã thu được rất nhiều kết quả có thể cho phép tự động hố q trình thiết kế CSDL quan hệ
Cách tiếp cận đối với việc thiết kế CSDL quan hệ là thiết kế các lược đồ về các dạng chuẩn thích hợp Để xác định liệu một lược đồ ở một dạng chuẩn đó đã là tối ưu chưa thì qua đề tài nghiên cứu về phụ thuộc hàm, phụ thuộc đa trị sẽ tăng thêm
kiến thức cho người sử dụng lựa chọn phương pháp phù hợp tối ưu nhất cho công
việc và yêu cầu của hệ thống Sử dụng các phụ thuộc hàm người dùng có thể chuẩn
hố các lược đồ quan hệ về dạng chuẩn ba hay dạng chuẩn Boye_Codd Sử dụng
các phụ thuộc đa trị có thể tiếp tục chuẩn hoá hơn nữa các lược đồ quan hệ về dạng chuẩn bốn Qua đề tài nghiên cứu đã khẳng định những bước đi vượt bậc và giải
quyết được những vấn đề trong các lược đồ quan hệ như sự dư thừa dữ liệu hay sự bat thường khi cập nhật Đó là một trong những thành công của những người lập
trình nhằm tối ưu quá trình xây dựng CSDL mang lại hiệu quả công việc cho hệ
thông sử dụng khi mà địi hỏi lượng thơng tin tích luỹ ngày càng lớn như hiện nay
Trang 23Mục lục:
LOD M6 GAUL 1 F9! 1đ 2 I Khái quát CSDL - c E2 221112211 111155211 1122111111211 1 112211111 xky 2
1.Khái niệm CSDL 2
2 Hệ quản trị CSDL L2 1 2222211111211 11 1121 1115521111151 1E sex 3
3 Kiến trúc một HQTCSDL 2222 22222225115115555 15215222 4 II Một số vấn đề khi thiết kế CSDL - - - 2⁄2 E222 22**22 22 +++szzxe 5
1 Dư thừa DL - 7c 2222111221111 111511 11 11181111118 1k ray 5 2 Không nhất quán - c2 2 1222222222511 11 1115155551111 1xx 5
3 Bất thường khi thêm bộ - 22 2111 S E22 S255511 111122211111 csre 5 4 Bat thường khi xóa bỘ C22222 112111111 SE SE S ST K ST ken 5
B )bÝDN.ì, 1 6
L Lược đỗ quan hệ 2 22112112 1222511 1111111222511 1 1111 k1 xa 6
1 Định nghĩa - - Ăn KÝ nh nh tk se 7
2 Phép tách các lược đồ quan hệ cc si 8 3.Chuẩn hóa lược đồ quan hỆ ccccc<ccsS se 8
II Phụ thuộc hàm ¿2 222111222111 111211 1521111115811 8x r2 § 1 Khái niệm và vai trò của phụ thuộc hàm trong xây dựng CSDL 8
1.1 Khái niệm phụ thuộc hàm . 8 a Dinh nghia phu thudc hàm -+<+<s++ 8 b Mét s6 tinh chất của phụ thuộc hàm . + 5555222552 <<+s 10 c Thuật tốn SatIÍies cà cv, 10
1.2 Vai trò của phụ thuộc hàm trong xây dựng CSDL 11 2 Cade van dé lién quan phụ thuộc hàm trong xây dựng CSDL 12
2.1 Hệ tiên đề Amstrong -. -ccccc 2c us 12
2.2 Bao đóng cọ SH HH HH nà nh ki key 13
2.3 Phép tách bảo toàn tập phụ thuộc hàm 3 Các dạng chuẩn và mục đích của nó trong lược đồ quan hệ III Phụ thuộc đa trỊ 7c c2 2c S12 S12 3S SE vs xxx set
1.Khái niệm và vai trò của phụ thuộc đa trị trong xây dựng CSDL 16
Trang 241.1 Khái niệm của phụ thuộc đa trỊ 16
1.2 Vai trò của phụ thuộc đa trị trong xây dung CSDL 17
2 Các vấn đề liên quan phụ thuộc đa trỊ . 18
2.1 Hệ tiên đề đối với phụ thuộc hàm và phụ thuộc đa trị 18
2.2 Các luật suy diễn bồ sung cho phụ thuộc đa trị 18
2.3 Bao đóng của tập phụ thuộc hàm và phụ thuộc đa trị 18
2.4 Phép tách không mat thông tin 20
2.5 Dạng chuẩn bốn + kc cv S222 vs xey 20 c8 22
Trang 25*
m®
Tài liệu tham khảo:
Nhập môn CSDL _ Lê Tiến Vương
Hệ CSDL _ Nguyễn Xuân Huy
Nguyên lí CSDL và cơ sở tri thức _ Trần Đức Quang Nguyên lí CSDL _ Phạm Kim Anh