TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP KHOA CÔNG NGHỆ THÔNG TIN CƠ SỞ DỮ LiỆU QUAN HỆ LOGO CƠ SỞ DỮ LIỆU QUAN HỆ 1 Lê Thị Kiều Oanh Add your company slogan LOGO NỘI DUNG Chương 1 Tổng quan về cơ sở dữ liệu Chương 2 Ngôn ngữ truy vấn dữ liệu Chương 3 Lý thuyết thiết kế CSDL Chương 4 Bảo mật và toàn vẹn dữ liệu UNETI Tôi chọn thành công 2 Add your company slogan LOGO Khi thiết kế cơ sở dữ liệu người ta phải lựa chọn các lược đồ quan hệ sao cho tối thiểu hóa bộ nhớ, khi cập nhật cho thông ti.
Trang 2NỘI DUNG
Chương 1: Tổng quan về cơ sở dữ liệu
Chương 2: Ngôn ngữ truy vấn dữ liệu
Chương 3: Lý thuyết thiết kế CSDL
Chương 4:Bảo mật và toàn vẹn dữ liệu
UNETI
Trang 3Khi thiết kế cơ sở dữ liệu người ta phải lựachọn các lược đồ quan hệ sao cho tối thiểuhóa bộ nhớ, khi cập nhật cho thông tin đượcđầy đủ chính xác, không có dư thừa hay dịthường dữ liệu.
Ví dụ: Cho quan hệ: NV-DV
Mở đầu
MSNV TENNV NSINH DIACHI MSDV TENDV MSNQL
Trang 4 Nếu một CSDL được thiết kế như NV-DV
sẽ dẫn đến sai sót khi thao tác dữ liệu (thêm, sửa, xóa), không nhất quán dữ liệu gây ra hiện tượng dị thường dữ liệu
Mở đầu
Trang 5 Do đó, cần tách quan hệ NV-DV thành 2 quan hệ:
Trang 6Cho một quan hệ R xác định trên tậpthuộc tính U, kí hiệu là R(U) X, Y là các tập concủa U, ta nói rằng X xác định Y hay Y phụ thuộchàm vào X, kí hiệu X Y nếu trên quan hệ R
ta có mọi bộ giá trị t1, t2 bất kỳ mà t1[X])= t2[X]thì t1[Y]) = t2[Y])
3.1 Phụ thuộc hàm
Trang 7 Ví dụ:
Ta thấy: t2[MSSV]=t4[MSSV]
t2[TenSV, Nsinh, Que]= t4[TenSV, Nsinh, Que]
Ngược lại: t1[TenSV]=t3[TenSV]
t [MSSV, Nsinh, Que]= t [MSSV, Nsinh, Que]
3.1 Phụ thuộc hàm
Bộ gt MSSV TenSV Nsinh Que
t1 001 Lê Văn A 12/12/92 HN t2 002 Hà Thị B 10/03/91 HP t3 003 Lê Văn A 09/03/89 TB t4 002 Hà Thị B 10/03/91 HP
Trang 11CM luật tựa bắc cầu:
Trang 143.1.3 Bao đóng
Định nghĩa: Cho quan hệ R xác định trên tập
thuộc tính U, F là tập các phụ thuộc hàm Tậphợp tất cả các phụ thuộc hàm được suy diễnlogic từ tập F được gọi là bao đóng của F và kíhiệu là F+
F= {AI, ACD, BC, DE}
Trang 16Định nghĩa: Cho quan hệ R xác định trên tập
các thuộc tính U, gọi F là tập các phụ thuộchàm trên tập U, X U, X+ là bao đóng của Xtrên tập F được định nghĩa như sau:
Trang 17Thuật toán tìm bao đóng
Trang 193.1.4 Khóa
Tìm tập thuộc tính nguồn (TN): Chứa tất cảcác thuộc tính xuất hiện ở vế trái (VT) vàkhông xuất hiện ở vế phải (VP) của các phụthuộc hàm và những thuộc tính không xuấthiện ở VT lẫn VP của các phụ thuộc hàm
Tập thuộc tính trung gian (TG): Chứa tất cảnhững thuộc tính xuất hiện ở cả VT lẫn VPcủa các phụ thuộc hàm
Trang 20Ngược lại, chuyển sang B3
gian TG
3.1.4 Khóa
Trang 21 Thuật toán (tiếp):
Xi :
Nếu (TN Xi )+ = Tập thuộc tính của RThì Si = TN Xi
không tối thiểu
Si, Sj S, nếu Si Sj thì Loại Sj ra khỏi tập
lại chính là tập khóa cần tìm
3.1.4 Khóa
Trang 22phụ thuộc hàm như sau: F = {CS → Z, Z → C}
Trang 23Cho quan hệ R(A,B,C,D,E,G,H) và tập
phụ thuộc hàm:
F={AD,ABDE, CEG, EH} Tìm khóa
(ABC)+ =ABCDEGH
Trang 24 TN={A,B,C}
TG={E}
X i X i U TN (X i U TN) + Siêu
Khóa Khóa
Ø ABC ABCDEGH ABC ABC
E ABCE ABCDEGH ABCE
Trang 253.2 Phép tách lược đồ quan hệ
3.2.1 Khái niệm
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 tập lược đồ R1, R2, Rk
Trong đó: Ri R, i= 1,k và
R = R1 R2 … Rk
Trang 26hay không?
Trang 27Kiểm tra phép kết nối không mất mát TT
Phương pháp:
Thiết lập một bảng n cột, k hàng
Cột j ứng với thuộc tính Aj của lược đồ R
Hàng i ứng với lược đồ Ri
Tại hàng i,cột j: Điền kí hiệu aj nếu Aj Ri
Điền kí hiệu b nếu A R
Trang 28• Nếu một trong hai giá trị t1[Y] = aj hoặc
t2[Y]=aj thì cho t1[Y] = t2[Y] = aj
• Nếu t1[Y] aj và t2[Y] aj thì cho bằng bij
Áp dụng cho đến khi không còn áp dụng được nữa
Kiểm tra phép kết nối không mất mát TT
Trang 29Xét bảng kết quả:
Nếu trong bảng xuất hiện một hàng toàn các
kí hiệu a1, a2,… an thì phép tách không làmmất mát thông tin
Nếu thấy không xuất hiện một hàng toàn các
kí hiệu a1, a2,… an thì phép tách làm mấtmát thông tin
Kiểm tra phép kết nối không mất mát TT
Trang 30Kiểm tra phép kết nối không mất mát TT
Trang 34Kiểm tra phép kết nối không mất mát TT
Trang 35 Chuẩn hóa là một quá trình chuyển đổi
quan hệ có cấu trúc dữ liệu phức hợp
thành các quan hệ có cấu trúc dữ liệu đơn giản hơn và vững chắc.
Trang 36Ví dụ: SV (MSSV,Hoten, Ngsinh, ngoaingu)
3.3 Chuẩn hóa lược đồ quan hệ
Trang 373.3.1 Các dạng chuẩn (Normal Form)
b) Dạng chuẩn 2 (2NF)
Một quan hệ được gọi là ở dạng chuẩn 2nếu nó ở dạng chuẩn 1 và không tồn tại thuộctính phụ thuộc một phần vào khóa
Chú ý:
Phụ thuộc hàm (FD) đầy đủ: Một FD X Y là một phụ thuộc hàm đầy đủ nếu loại bỏ bất kỳ thuộc tính A nào ra khỏi X thì FD không còn đúng nữa
Trang 39Có : AB CD (giả thiết) suy ra AB C, AB
D(luật tách)
C E (giả thiết) Theo luật bắc cầu có: AB E
Vậy C,D,E đều phụ thuộc đầy đủ vào khóa chính nên quan hệ R thỏa mãn 2NF
Trang 40c) Dạng chuẩn 3 (3NF)
Một quan hệ được gọi là ở dạng chuẩn 3nếu nó ở dạng chuẩn 2 và không tồn tại thuộctính phụ thuộc bắc cầu vào khóa
Trang 41d) Dạng chuẩn Boyce - codd (BCNF)
Một quan hệ được gọi là ở dạng chuẩnBCNF nếu nó ở dạng chuẩn 3 và không tồn tạiphụ thuộc hàm X→A (trong đó A là thuộc tínhkhóa phụ thuộc hàm vào thuộc tính X khôngphải là khóa)
Ví dụ: Cho R (A, B, C, D, E);F= {AB CDE, D B}
Quan hệ R không ở dạng chuẩn BCNF (vìthuộc tính khóa B phụ thuộc hàm vào thuộc
3.3.1 Các dạng chuẩn (Normal Form)
Trang 42(PP tổng hợp)
a) Tìm phủ tối thiểu
thuộc hàm thành nguyên tử (Vế phải của mỗiphụ thuộc hàm chỉ có 1 thuộc tính)
B2: Loại bỏ phụ thuộc hàm dư thừa
Giả sử: Xét phụ thuộc hàm XY
Tính X+ trên tập F’ (F’ =F- {XY} )
Nếu X+ Y thì loại XY khỏi tập F
UNETI
Trang 43 B3: Loại bỏ các thuộc tính dư thừa ở vế trái
Giả sử: Xét phụ thuộc hàm XY Z (Loại X hoặc loai Y ? )
Xét X Z tính X+ (trên tập F) nếu Y X+ Loại Y
Xét Y Z tính Y+ (trên tập F) nếu X Y+ Loại X
Vậy, tập các phụ thuộc hàm còn lại là phủ tối
thiểu cần tìm.
3.3.2 Chuẩn hóa quan hệ
Trang 44b) Chuẩn hóa một lược đồ quan hệ về 3NF
Trang 45Mỗi nhóm tạo thành một lược đồ con riêng.Mỗi tập thuộc tính xuất hiện ở VT của một FDtrong nhóm là một khóa của lược đồ quan hệ.
Chú ý:
Nếu không thấy xuất hiện khóa thì lấy khóa làm thành một lược đồ con mới
Vậy: Tập các lược đồ mới được tạo đều ở 3NF
Nếu trong các lược đồ con xuất hiện
khóa thì kết luận các lược đồ con đó
đã ở 3NF