Bài giảng Cơ sở dữ liệu - Nguyễn Hồng Phương
Chương 1: Đại cương về các hệ CSDL.
• Chương 2: Các mô hình dữ liệu.
• Chương 3: Ngôn ngữ định nghĩa và
thao tác dữ liệu đối với mô hình quan
hệ.
• Chương 4: Lý thuyết thiết kế CSDL
quan hệ.
• Chương 5: Tối ưu hóa câu truy vấn
• Chương 6: An toàn và toàn vẹn dữ
liệ
• Chương 2: Các mô hình dữ liệu.
• Chương 3: Ngôn ngữ định nghĩa và
thao tác dữ liệu đối với mô hình quan
hệ.
• Chương 4: Lý thuyết thiết kế CSDL
quan hệ.
• Chương 5: Tối ưu hóa câu truy vấn
• Chương 6: An toàn và toàn vẹn dữ
liệ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu - Nguyễn Hồng Phương", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
- bai_giang_co_so_du_lieu_nguyen_hong_phuong.pdf
Nội dung text: Bài giảng Cơ sở dữ liệu - Nguyễn Hồng Phương
- Bao đóng của một tập các thuộc tính Thuật toán 1: Tìm bao đóng của một tập thuộc tính đối với tập các phụ thuộc hàm đối với tập phụ thuộc hàm • Định nghĩa: Cho một lược đồ quan hệ • Vào: Tập hữu hạn các thuộc tính U, tập các phụ R(U), F là một tập phụ thuộc hàm trên U. thuộc hàm F trên U X là tập con của U. Bao đóng của tập X U thuộc tính X ký hiệu là X+ là tập tất cả • Ra: X+ các thuộc tính được xác định hàm bởi X • Thuật toán thông qua tập F B0 X0 = X i i i-1 + + B Tính X từ X X = {A U| X A F } Nếu Y Z F và Y Xi-1 và A Z và A Xi-1 •Ta cóthể thấy là định nghĩa về bao đóng thì Xi = Xi-1 A của một tập thuộc tính dựa trên bao ngược lại, Xi = Xi-1 đóng của tập phụ thuộc hàm. Trên thực Nếu Xi Xi-1 tế, người ta đưa ra một thuật toán để thì lặp Bi giúp xác định bao đóng của một tập ngược lai, chuyển Bn thuộc tính dễ dàng hơn Bn X+ = Xi 13 14 Ví dụ Bổ đề • Cho R(U) , U = {A, B, C, D, E, F} •X Y được suy diễn từ hệ tiên đề Amstrong khi và chỉ khi Y X+ F = {ABÆC, BCÆAD, DÆE, CFÆB} •Chứng minh: Tính (AB)+ –Giả sử Y=A1 An, với A1, ,An là các •Thực hiện: thuộc tính và Y X+ 0 + –Bước 0: X = AB –Từ định nghĩa X ta có X Ai. Áp dụng –Bước 1: X1 = ABC ( do ABÆ C) tiên đề Amstrong cho mọi i, suy ra X Y nhờ luật hợp. –Bước 2: X2 = ABCD (do BCÆAD) –Ngược lại, giả sử có X Y, áp dụng hệ tiên 3 –Bước 3: X = ABCDE (do DÆE) đề Amstrong cho mỗi i, ta có X Ai, Ai Y –Bước 4: X4 = ABCDE nhờ luật tách. Từ đósuy ra Y X+ 15 16 Khoá Thuật toán 2: Tìm khoá tối thiểu • Định nghĩa: Cho lược đồ quan hệ R(U), F là • Vào: U = {A1, A2, , An} , F một tập các phụ thuộc hàm xác định trên U. K • Ra: khoá tối thiểu K xác định được là một tập con của U, K được gọi là khoá tối trên U và F thiểu của R nếu như –KÆU là một phụ thuộc hàm trong F+ • Thuật toán 0 0 –Với mọi tập con thực sự K’ của K thì K’ÆU không B K = U thuộc F+ i i-1 B Nếu (K \{Ai})ÆU •Với những gì ta đã đề cập trong phần bao i i-1 thì K = K \{Ai} đóng ở trên, ta có thể nói, để thỏa mãn là i i-1 một khoá tối thiểu thì K+ = U và K là tập ngược lại, K = K thuộc tính nhỏ nhất có tính chất như vậy Bn+1 K = Kn 17 18 3
- Thuật toán 4: Tìm phủ tối thiểu của một tập phụ thuộc hàm Ví dụ 1 • Vào: Tập thuộc tính U, F = {L ÆR : i = 1 n} i i • U = {A,B,C} • Ra: phủ tối thiểu Fc của tập phụ thuộc hàm F • Thuật toán F = {AÆBC, BÆC, AÆB, ABÆC}. Tìm phủ B.1. Biến đổi F về dạng F ={L Æ A } 1 i j tối thiểu của F? trong đóAj là 1 thuộc tính bất kỳ thuộc U (thoả mãn đk1) B.2. Loại bỏ thuộc tính thừa trong vế trái của các phụ thuộc hàm –F1 = {AÆB, AÆC, BÆC, ABÆC} Lần lượt giản ước từng thuộc tính trong vế trái của từng – Xét các pth trong F1 mà vế trái có nhiều hơn 1 phụ thuộc hàm trong F1 thu được F1’. Nếu F1’ F1 thì loại bỏ thuộc tính đang xét thuộc tính ABÆC. Giản ước A thì ta còn BÆC có Khi không có sự giản ước nào xảy ra nữa ta thu được trong F1, vậy A là thuộc tính thừa. Tương tự ta F thỏa mãn đk2 2 cũng tìm được B là thừa, vậy loại bỏ luôn ABÆC B.3. Loại bỏ phụ thuộc hàm dư thừa khỏi F .F = {AÆB, AÆC, BÆC} Lần lượt kiểm tra từng phụ thuộc hàm f. Nếu F2 \f F2 1 2 thì loại bỏ f –Bỏ pth thừa: AÆC là thừa. Vậy F = {AÆB, Khi không cò phụ thuộc hàm nào có thể loại bỏ thi thu đươc c BÆC} F3 thoả mãn đk3 B.4. Fc = F3 25 26 Ví dụ 2 Ví dụ 2 (tiếp) •Tìm phủ tối thiểu của tập phụ thuộc hàm – Loại bỏ pth thừa trong F2: Lần lượt thử loại bỏ 1 pth ra khỏi F , nếu tập pth thu đựoc sau khi F = {AÆB, ABCDÆE, EFÆG, ACDFÆEG} 2 loại bỏ vẫn tương đương với F2 thì pth vừa loại –F1 = {AÆB, ABCDÆE, EFÆG, ACDFÆE, là thừa ACDFÆG} AÆ B không thừa vì nếu loại pth này khỏi F2 thì – Loại bỏ thuộc tính thừa trong 3 phụ thuộc hàm từ tập phụ thuộc hàm còn lại A+ không chứa B ABCDÆE, ACDFÆE và ACDFÆG Tương tự , ACDÆE, EFÆ G không thừa Xét ABCDÆE: Giả sử giản ước A , ta còn ACDFÆ E là phụ thuộc hàm thừa vì nếu loại bỏ BCDÆE, kiểm tra BCDÆE có được suy ra từ F1 + + pth này, trong tập pth vẫn còn lại ACDÆE, theo không, ta tính (BCD) (đối với F1). (BCD) = tiên đề tăng trưởng ta sẽ suy ra được ACDFÆE BCD, không chứa E, vậy thì BCDÆE không được suy diễn ra từ F, vậy A không phải là thuộc tính ACDFÆG là thừa vì nếu loại bỏ pth này, trong tập pth còn lại vẫn có ACDÆE và EFÆG, do đóta thừa trong pth đang xét. B là thừa vì từ F1 ta có + AÆB dẫn đến (ACD)+ = ABCDE có chứa E vẫn có (ACDF) = ACDEFG có chứa G Làm tương tự ta thấy không có thuộc tính nào là –Vậy Fc = { AÆB, ACDÆE, EFÆG} thừa nữa. F2 = {AÆB, ACDÆE, EFÆG, ACDFÆE, ACDFÆG} 27 28 Phép tách các Sơ đồ quan hệ Phép tách không mất mát thông tin •Mục đích • Đ/N: Cho lược đồ quan hệ R(U) phép tách R thành các sơ đồ con {R1, R2, , Rk} được gọi là –Thay thế một sơ đồ quan hệ R(A , A , , phép tách không mất mát thông tin đ/v một tập 1 2 phụ thuộc hàm F nếu với mọi quan hệ r xác định An) bằng một tập các sơ đồ con {R1, R2, trên R thỏa mãn F thì: , R } trong đóR R và R = R U R U k i 1 2 r = R1(r) > < Rk (r) U Rk •Vídụ: Phép tách mất mát thông tin •Yêu cầu của phép tách Supplier(sid, sname,city,NOE, pid, pname,colour,quantity) ÆS1(sid,sname,city,NOE) và –Bảo toàn thuộc tính, ràng buộc SP1(pid,pname,colour,quantity) –Bảo toàn dữ liệu •Vídụ: Phép tách không mất mát thông tin ÆS1(sid,sname,city,NOE) và SP2(sid,pid,pname,colour,quantity) 29 30 5
- Ví dụ Các dạng chuẩn đối với SĐQH • Ví dụ 1: R = {A, B, C} F = { AÆB, BÆC, CÆA} • Quay lại vấn đề thiết kế cơ sở dữ liệu quan hệ, được tách thành R1 = AB, R2 = BC. Phép tách câu hỏi mà chúng ta đặt ra trong quá trình này là này có phải là bảo toàn tập phụ thuộc hàm Có cần thiết phải tinh chỉnh thiết kế nữa hay không? không, thực sự thiết kế mà chúng ta có được đã là tốt hay chưa. Để giúp trả lời câu hỏi này, • Ví dụ 2: R = {A, B, C} , F = {ABÆC, CÆB} người ta đưa ra các định nghĩa về các dạng được tách thành R1 = AB, R2 = BC. Phép tách chuẩn. Có một vài dạng chuẩn đã được xem xét, này có bảo toàn tập pth không, có mất mát khi một quan hệ thuộc vào một dạng chuẩn nào thông tin không? đóthìta cóthể coi như là một số các vấn đề về • Ví dụ 3: R = { A, B, C, D} , F = {AÆB, CÆD} dư thừa dữ liệu hay dị thường dữ liệu đã được được tách thành R1 = AB, R2 = CD. Phép tách ngăn ngừa hay tối thiểu hóa này có bảo toàn tập pth không, có mất mát •Các dạng chuẩn mà chúng ta quan tâm thông tin không? –Dạng chuẩn 1 (1NF) •Vậy một phép tách có bảo toàn tập phụ thuộc hàm thì không đảm bảo là nó sẽ không mất mát –Dạng chuẩn 2 (2NF) thông tin và ngược lại –Dạng chuẩn 3 (3NF) 37 –Dạng chuẩn Boye-Code (BCNF) 38 Dạng chuẩn 1 (1NF) Dạng chuẩn 2 (2NF) • Định nghĩa: Một sơ đồ quan hệ R được gọi là ở • Định nghĩa: Một sơ đồ quan hệ R được dạng chuẩn 1 nếu tất cả các miền giá trị của các thuộc tính trong R đều chỉ chứa giá trị nguyên tố coi là ở dạng chuẩn 2 nếu –Giátrị nguyên tố là giá trị mà không thể chia –Sơ đồ quan hệ này ở 1NF nhỏ ra được nữa •Một quan hệ r xác định trên sơ đồ quan hệởdạng –Tất cả các thuộc tính không khoá đều phụ chuẩn 1 thì quan hệ đấy là ở dạng chuẩn 1 thuộc hàm đầy đủ vào khoá chính •Vídụ: Quan hệ không ở dạng chuẩn 1 và quan hệ (Lưu ý, A là một thuộc tính khoá nếu A sau khi chuẩn hóa về dạng chuẩn 1 thuộc một khoá tối thiểu nào đócủa R. sname city product sname city item price Ngược lại A là thuộc tính không khoá) name price Blake London Nut 100 Blake London Nut 100 Blake London Bolt 120 Bolt 120 Smith Paris Screw 75 Smith Paris Screw 75 39 40 Phụ thuộc hàm đầy đủ Ví dụ • Định nghĩa: Cho lược đồ quan hệ • Sales(sid, sname, city, item, price) R(U), F là tập phụ thuộc hàm trên R. •F = {sidÆ(sname,city), X, Y U. Y được gọi là phụ thuộc đầy (sid,item)Æprice} đủ vào X nếu: • Khoá chính (sid,item), ta có sname, -XÆY thuộc F+ city không phụ thuộc hàm đầy đủ vào -! X’ X : X’ÆY F+ khoá chính => Quan hệ Sales không thuộc 2NF •Các phụ thuộc hàm không đầy đủ còn • S(sid, sname, city) và Sales (sid, gọi là phụ thuộc bộ phận item, price) là quan hệ thuộc 2NF 41 42 7
- Tách không mất mát thông tin và bảo toàn tập phụ thuộc hàm về 3NF Ví dụ •Cho R(U) trong đó U = {A,B,C,D,E,F,G}. F = •Yêu cầu: {AÆB, ACDÆE, EFÆG} –Bảo toàn tập phụ thuộc hàm (như thuật toán •Tìm một khoá tối thiểu của R: trên) K0 = ABCDEFG – Đảm bảo là có một lược đồ con chứa khoá của K1 = K0 do nếu loại A thì BCDEFG Æ U không thuộc lược đồ được tách F+ •Các bước tiến hành K2 = K1 \{B} = ACDEFG do ACDEFG Æ U thuộc F+ B1. Tìm một khoá tối thiểu của lược đồ quan hệ R đã cho K3 = K2 do nếu loại C thì ADEFG Æ U không thuộc B2. Tách lược đồ quan hệ R theo phép tách bảo toàn tập phụ F+ thuộc hàm. K4 = K3 do nếu loại D thì ACEFG Æ U không thuộc B3. Nếu 1 trong các sơ đồ con có chứa khoá tối thiểu thì kết F+ quả của B2 là kết quả cuối cùng K5 = K4 \{E} = ACDFG do ACDFG Æ U thuộc F+ Ngược lại, thêm vào kết quả đómột sơ đồ quan hệ được K6 = K5 do nếu loại F thì ACDG Æ U không thuộc tạo bởi khoá tối thiểu tìm được ở 1 F+ K7 = K6 \{G} = ACDF do ACDF Æ U thuộc F+ 49 •Vậy khoá tối thiểu cần tìm là ACDF 50 Tách không mất mát thông tin về Ví dụ (tiếp) BCNF • Dùng kết quả của ví dụởphần tách bảo • Vào: Sơ đồ quan hệ R, tập phụ thuộc hàm F. toàn tập phụ thuộc hàm ta có một phép • Ra: phép tách không mất mát thông tin bao gồm một tập các sơ đồ con ở BCNF với các phụ thuộc tách R thành 3 sơ đồ con R1 = AB, R2= hàm là hình chiếu của F lên sơ đồ đó. ACDE, R3 = EFG •Cách tiến hành • Do khoá ACDF không nằm trong bất kỳ một B1. KQ = {R}, sơ đồ con nào trong 3 sơ đồ con trên, ta lập B2.Với mỗi S KQ, S không ở BCNF, xét X A S, một sơ đồ con mới R = ACDF với điều kiện X không chứa khoá của S và A 4 X. Thay thế S bởi S1, S2 với S1=A X , S2 = S •Kết quả cuối cùng ta có phép tách R thành \A. 4 sơ đồ con {R1, R2, R3, R4} là một phép B3. Lặp (B2) cho đến khi S KQ đều ở BCNF tách không mất mát thông tin và bảo toàn KQ gồm các sơ đồ con của phép tách yêu cầu tập phụ thuộc hàm 51 52 Kết luận •Tầm quan trọng củathiếtkế CSDL – ảnh hưởng đến chất lượng dữ liệu lưu trữ –Hiệu quả của việc khai thác dữ liệu •Mục đích củathiết kế CSDL: –Tránh dư thừa dữ liệu –Tránh dị thường dữ liệu khi thêm/xoá/sửa đổi –Hiệu quả trong tìm kiếm ¾ Đưa về các dạng chuẩn –2NF: giản ước sự dư thừa để tránh các dị thuờng khi cập nhật – 3NF: tránh các dị thường khi thêm/xoá 53 54 9
- Nội dung •Tổng quan về xử lý truy vấn Tối ưu hóa câu truy vấn •Tối ưu hóa các biểu thức đại số quan hệ Nguyễn Hồng Phương phuongnh-fit@mail.hut.edu.vn Bộ môn Hệ thống thông tin Viện Công nghệ thông tin và Truyền thông Đại học Bách Khoa Hà Nội 1 2 NHP Tổng quan về xử lý truy vấn Tổng quan về xử lý truy vấn (tiếp) •Xử lý một truy vấn bao gồm 3 –Tối ưu hóa câu truy vấn: Mục tiêu của bước tối ưu hóa là chọn ra một kế hoạch thực hiện bước chính: câu truy vấn có chi phí thấp nhất. –Phân tích và Biên dịch câu truy vấn: • Để thực hiện được điều này, trước tiên ta cần biến đổi 1 biểu thức ĐSQH đầu vào thành một biểu thức ĐSQH Trong bước này, hệ thống phải dịch câu tương đương nhưng có thể xử lý được 1 cách hiệu quả truy vấn từ dạng ngôn ngữ bậc cao và ít tốn kém hơn. Bước con đầu tiên này được gọi là thành một ngôn ngữ biểu diễn dữ llệu tối ưu hóa đại số. •Tiếp theo đó, ta cần phải đặc tả các thuật toán đặc bên trong để máy tính có thể thao tác biệt tiến hành thực thi các phép toán , chọn 1 chỉ dẫn trên đó. Một biểu diễn bên trong thích cụ thể nào đó để sử dụng. hợp và hỗ trợ cho bước tối ưu hóa tiếp •Các dữ liệu thống kê về CSDL sẽ giúp ta trong quá theo là biểu diễn bằng ngôn ngữ đại số trình xem xét và lựa chọn. Ví dụ như: quan hệ 3 4 NHP NHP Tổng quan về xử lý truy vấn (tiếp) Tổng quan về xử lý truy vấn (tiếp) –Số bộ trong quan hệ –Thực hiện đánh giá truy vấn: Từ một kế –Kích thước của một bộ hoạch thực hiện có được do Trình tối ưu hóa –Số khối (block) chứa các bộ của quan hệ cung cấp, hệ thống sẽ tiến hành thực hiện các –Số bộ của quan hệ mà một khối có thể chứa thao tác trên dữ liệu trong CSDL và đưa ra câu – Các thông tin về cơ chế truy nhập, chỉ dẫn trên quan hệ trả lời cho truy vấn đó. Bieân dòch Truy vaán ñaàu vaøo Bieåu thöùc ÑSQH • Chi phí cho việc thực hiện một truy vấn được truy vaán đo bởi chi phí sử dụng tài nguyên như việc truy cập đĩa, thời gian CPU dùng để thực Toái öu hoùa hiện một truy vấn. truy vaán Thoáng keâ veà dl •Trong chương này, chúng ta sẽ tập trung vào Th öïc h i eä n Caâu traû lôøi truy vaán Keá hoaïch thöïc hieän việc đánh giá các biểu thức đại số quan hệ tìm kieám dl chứ không đi vào chi tiết việc tính toán chi phí cho việc thực hiện đánh giá một truy vấn. 5 CSDL 6 NHP NHP 1
- Các phép biến đổi tương đương Các chiến lược tối ưu tổng quát (tiếp) biểu thức ĐSQH 5. Xác định các phép toán có thể được đưa vào đường ống và thực hiện đánh giá •Hai biểu thức ĐSQH E1 và E2 là tương đương chúng theo đường ống nếu chúng cho cùng một kết quả khi áp dụng 6. Xử lý các tệp dữ liệu trước khi tiến hành trên cùng một tập các quan hệ tính toán: Tạo lập chỉ dẫn hay sắp xếp tệp dữ liệu có thể góp phần làm giảm chi phí •Trong phần này, ta có các ký hiệu dạng sau: c a các phép tính trung gian ủ –E1, E2, E3, là các biểu thức đại số quan hệ 7. Ước lượng chi phí và lựa chọn thứ tự thực –F1, F2, F3, là các điều kiện chọn hoặc là các điều hiện: Do với mỗi câu truy vấn có thể có kiện kết nối nhiều cách khác nhau để thực hiện, với –X, X , Y, Z, U , U , là các tập thuộc tính việc ướng lượng chi phí (số phép tính, tài 1 2 1 2 nguyên sử dụng, dung tích bộ nhớ, thời gian thực hiện ) ta có thể chọn cách đánh giá biểu thức ĐSQH có chi phí nhỏ nhất. 13 14 NHP NHP Các phép biến đổi tương đương Các phép biến đổi tương đương biểu thức ĐSQH (tiếp) biểu thức ĐSQH (tiếp) 1. Quy tắc kết hợp của phép tích Đề các và kết nối • VD: S* SP * P có thể được thực hiện theo (E × E ) × E ≡ E × (E × E ) 3 thứ tự như sau 1 2 3 1 2 3 1)(S*SP)*P ≡ (E1 * E2 ) * E3 E1 *(E2 * E3 ) 2)(S*P)*SP ≡ 3)S*(SP*P) (E1 > <F 3. Quy tắc đối với dãy các phép chiếu Quy tắc này áp dụng khi F là điều kiện xác định được trên tập thuộc ∏ (∏ ∏ (E) ) ≡ ∏ (E) X 1 X 2 X n X 1 tính X. Tổng quát hơn ta có: X ⊆ X ⊆ ⊆ X 1 2 n ∏ (σ (E)) ≡ ∏ (σ (∏ (E))) 4. Quy tắc đối với dãy các phép chọn X F X F XY σ (σ σ (E) ) ≡ σ ∧ ∧ ∧ (E) F1 F 2 Fn F1 F 2 Fn 17 18 NHP NHP 3
- Nội dung •An toàn dữ liệu – Xác minh người sử dụng An toàn và toàn vẹn dữ liệu –Kiểm tra quyền truy nhập của người sử dụng Nguyễn Hồng Phương –Các câu lệnh an toàn dữ liệu trong SQL phuongnh-fit@mail.hut.edu.vn •Toàn vẹn dữ liệu –Các ràng buộc toàn vẹn trong SQL Bộ môn Hệ thống thông tin – Điều khiển tương tranh Viện Công nghệ thông tin và Truyền thông Đại học Bách Khoa Hà Nội 1 2 An toàn dữ liệu Các quyền truy nhập của người sử dụng • Định nghĩa: Tính an toàn dữ liệu là sự bảo •Quyền đọc dữ liệu: được phép đọc một phần hay vệ dữ liệu trong cơ sở dữ liệu chống lại những toàn bộ dữ liệu trong CSDL truy nhập, sửa đổi hay phá hủy bất hợp •Quyền cập nhật dữ liệu: được phép sửa đổi một số pháp. giá trị nhưng không được xóa dữ liệu trong CSDL •Quyền xóa dữ liệu: được phép xóa dữ liệu trong • Người sử dụng hợp pháp là những người sử CSDL dụng được cấp phép, được ủy quyền. Ngược •Quyền bổ sung dữ liệu: được phép thêm dữ liệu mới lại là những người sử dụng bất hợp pháp. vào trong CSDL nhưng không được phép thay đổi dữ • Để đảm bảo tính an toàn cho cơ sở dữ liệu, liệu chúng ta cần có một cơ chế để quản lý người •Quyền tạo chỉ dẫn trên các quan hệ trong CSDL dùng cho hợp lý. •Quyền thay đổi sơ đồ cơ sở dữ liệu: thêm hay xóa các thuộc tính của các quan hệ trong CSDL • Những nhóm người dùng khác nhau trong hệ CSDL có quyền sử dụng khác nhau đối với •Quyền loại bỏ quan hệ trong CSDL •Quyền quản lý tài nguyên: được phép thêm các các dữ liệu trong CSDL. quan hệ mới vào CSDL 3 4 Trách nhiệm của người quản trị hệ thống Xác minh người sử dụng • Để có thể phân biệt được người sử dụng • Để xác minh được người sử dụng, người ta trong hệ CSDL, người quản trị hệ thống phải có thể dùng các kỹ thuật sau: –Kỹ thuật dùng tài khoản và mật khẩu, mật khẩu có trách nhiệm: cũng được bảo vệ bởi hệ thống một cách kỹ càng. –Xác định các quyền cụ thể mà mỗi người sử dụng –Kỹ thuật sử dụng các hàm kiểm tra cho người sử hay một nhóm người sử dụng được phép thực dụng: Hệ thống đưa cho người sử dụng một số ngẫu nhiên x, người sử dụng dùng một hàm F tính hiện, xác định vai trò và trách nhiệm của mỗi nhẩm kết quả và đưa kết quả y = F(x) vào hệ người sử dụng. Điều này được gọi chung là Phân thống. Trong lúc đó, hệ thống cũng tính toán và quyền người sử dụng so sánh kết quả với y. Người sử dụng hợp pháp là người biết hàm biến đổi F và đưa vào giá trị y – Cung cấp một phương tiện cho người sử dụng để đúng. hệ thống có thể nhận biết được người sử dụng đó –Kỹ thuật dùng thẻ điện tử, thẻ thông minh. hay còn gọi là Xác minh người sử dụng –Kỹ thuật sử dụng nhận dạng tiếng nói, vân tay v v. 5 6 1
- Ví dụ câu lệnh phân quyền cho NSD Câu lệnh thu hồi quyền của NSD •Trao quyền đọc, ghi, tìm kiếm, sửa đổi dữ • REVOKE ON FROM học trên khung nhìn vừa tạo lập trong phần [RESTRICT/CASCADE] trước • , , GRANT read, write, select, update ON giống như đối NVKH TO Hoa; với câu lệnh GRANT. •Trao quyền cho trưởng phòng Khoa học – ông HungNC •Phần [RESTRICT/CASCADE] là chỉ GRANT read, write, select, update, delete ra cơ chế thu hồi với các quyền đã ON NVKH TO HungNC WITH GRANT được người dùng trong lan truyền 13 14 Câu lệnh thu hồi quyền của NSD (tiếp) Toàn vẹn dữ liệu • Định nghĩa: Tính toàn vẹn dữ liệu là sự bảo vệ •Nếu Restrict thì có nghĩa là chỉ hủy bỏ dữ liệu trong CSDL chống lại những sự sửa đổi, quyền của những người có trong danh phá hủy vô căn cứ để đảm bảo tính đúng đắn và sách, quyền đã được lan truyền cho người chính xác của dữ liệu. • Các thao tác có thểảnh hưởng đến tính đúng khác không bị thu hồi. đắn của CSDL là thêm, xóa , sửa đổi. •Nếu dùng Cascade thì hủy bỏ quyền của • Để đảm bảo tính toàn vẹn dữ liệu, cần phải chỉ ra người trong , đồng thời và duy trì những ràng buộc toàn vẹn liên kết với kéo theo hủy bỏ quyền mà người dùng đó mỗi quan hệ. Các ràng buộc toàn vẹn cung cấp 1 phương tiện để đảm bảo rằng các thao tác được đã luân chuyển cho những người khác. thực hiện bởi những người sử dụng hợp pháp •Vídụ: không làm mất đi tính đúng đắn của CSDL. • Trong hệ thống đa người dùng, để đảm bảo được REVOKE update,delete ON NVKH FROM toàn vẹn dữ liệu, hệ thống còn phải có được một HungNC CASCADE trình điều khiển tương tranh để tránh đụng độ giữa các thao tác được đưa ra bởi những người 15 sử dụng khác nhau tại cùng một thời điểm 16 Các ràng buộc toàn vẹn trong SQL Ví dụ về khẳng định •Các ràng buộc về khóa chính, khóa •Số lượng mặt hàng được cung cấp bởi ngoài, kiểm tra trên miền sử dụng các hãng có số nhân viên (SELECT sid FROM SP WHERE quantity CHECK >= 100)) 17 18 3