Bài giảng Cơ sở dữ liệu: Chương 6 - Nguyễn Hồng Phương
lượt xem 4
download
Bài giảng "Cơ sở dữ liệu - Chương 6: An toàn và toàn vẹn dữ liệu" cung cấp cho người học các kiến thức: An toàn dữ liệu (Xác minh người sử dụng, kiểm tra quyền truy nhập của người sử dụng, các câu lệnh an toàn dữ liệu SQL), toàn vẹn dữ liệu. Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Cơ sở dữ liệu: Chương 6 - Nguyễn Hồng Phương
- 1/30/2012 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 Ng ễn Hồng Phương Nguyễn – Các Cá câu â lệnh lệ h an toàn t à dữ liệu liệ trong t SQL phuongnh@soict.hut.edu.vn http://is.hut.edu.vn/~phuongnh • 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 toàn bộ dữ liệu trong CSDL vệ dữ liệu trong cơ sở dữ liệu chống lại những truy nhập, sửa đổi hay phá hủy bất • Quyền cập nhật dữ liệu: được phép sửa đổi một số giá trị nhưng không được xóa dữ liệu trong CSDL hợp pháp. • 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 ụ g được ợ cấp p p phép, p, được ợ ủyy q quyền. y Ngược g ợ • 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ệ • Quyền loại bỏ quan hệ trong CSDL CSDL có quyền sử dụng khác nhau đối với • 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, x người sử dụng dùng một hàm F hệ hiện, xác á định đ h vai trò ò và à trách á h nhiệm hệ của ủ mỗiỗ tính nhẩm kết quả và đưa kết quả y = F(x) vào người sử dụng. Điều này được gọi chung là Phân hệ thống. Trong lúc đó, hệ thống cũng tính toán quyền người sử dụng và 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á – Cung cấp một phương tiện cho người sử dụng để trị y đú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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 1/30/2012 Kiểm tra quyền truy nhập của người sử dụng Các câu lệnh an toàn dữ liệu trong SQL • Mỗi người sử dụng sẽ có một bộ hồ sơ do • Câu lệnh tạo khung nhìn người quản trị thiết lập và được hệ thống quản lý, trong hồ sơ đó sẽ có chi tiết về các • Câu lệnh phân quyền cho người sử thao tác người sử dụng được phép thực hiện: dụng – Phân quyền người sử dụng: Người quản trị hệ thống phải có trách nhiệm xác định khung nhìn để • Câu lệnh thu hồi quyền của người sử kiểm soát xem mỗi người sử dụng chỉ được truy dụng nhập phần dữ liệu nào trong CSDL và có được các quyền nào trong số các quyền đọc, thêm, xóa , sửa đổi. – Xác định và kiểm soát sự lưu chuyển dữ liệu: Hệ thống phải bảo trì danh sách các quyền một cách chặt chẽ vì người sử dụng có thể được quyền lan truyền các quyền cho người sử dụng khác. 7 8 Câu lệnh tạo khung nhìn Ví dụ câu lệnh tạo khung nhìn • Cho cơ sở dữ liệu gồm 2 quan hệ: • CREATE VIEW Nhânviên(Id,Họtên,ĐC,Lương,NămBD,Đánhgiá,PhòngCT) [(d/s cột)] AS Phòng(PId, Tên, ĐC, Điệnthoại, Trưởngphòng) • Danh sách các cột trong khung nhìn • Câu lệnh tạo khung nhìn cho một nhân viên của phòng là phần không bắt buộc. Trong Khoa Học có thể được định nghĩa như sau: trường hợp người sử dụng muốn đặt CREATE VIEW NVKH(HọtênNhânviên, Địachỉliênlạc) AS tên khác cho các cột xuất hiện trong SELECT Họtên,Địachỉ FROM Nhânviên khung nhìn thì người sử dụng có thể WHERE PhòngCT IN (SELECT PId FROM Phòng WHERE Tên =‘Khoa Học’) chỉ ra tên các cột, dữ liệu trên cột thì tương ứng với các cột trong mệnh đề Select của câu truy vấn. 9 10 Câu lệnh phân quyền cho NSD Câu lệnh phân quyền cho NSD (tiếp) • GRANT ON TO • : bảng hoặc khung nhìn [WITH GRANT OPTION] • : Một người hay một • : có thể bao gồm 1 hay nhiều nhóm hay một danh sách người sử dụng. thao tác được liệt kê dưới đây: – Insert: chèn dữ liệu vào trong CSDL có sẵn nhưng không Từ khóa public được dùng thay thế cho mọi được thay đổi bất kỳ mục dữ liệu nào trong CSDL người sử dụng – Update: sửa đổi dữ liệu nhưng không được xóa dữ liệu – Delete: xóa dữ liệu trong CSDL • [With Grant Option] Nếu dùng từ khóa này – Select : tìm kiếm trong câu lệnh phân quyền thì người dùng – Create: tạo lập các quan hệ mới xuất hiện trong có – Alter: Thay đổi cấu trúc của quan hệ – Drop: Loại bỏ quan hệ quyền được lan truyền các quyền vừa được – Read/Write: Đọc và Ghi tuyên bố cho những người dùng khác 11 12 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 1/30/2012 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, read write, write select, select update ON giống iố như hư đố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à chính xác của dữ liệu. sách, quyền đã được lan truyền cho người • 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ỉ người ười trong t , dù đồ đồng thời ra a và à duy d t ì những ràng trì àng buộc b ộc toàn vẹn ẹn liên kết kéo theo hủy bỏ quyền mà người dùng đó với 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 đã luân chuyển cho những người khác. được thực hiện bởi những người sử dụng hợp • Ví dụ: pháp 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 REVOKE update,delete ON NVKH FROM được toàn vẹn dữ liệu, hệ thống còn phải có HungNC CASCADE được một trình điều khiển tương tranh để tránh đụng độ giữa các thao tác được đưa ra bởi 15 những người sử dụng khác nhau tại cùng một 16 thời điểm 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 < 50 phải Check chúng ta đã đề cập đến khi nói nhỏ hơn 100: về câu lệnh tạo bảng trong CSDL. • Các Cá khẳng khẳ đị h Là một định: ộ vịị từ ừ biểu biể thị hị CREATE ASSERTION KĐSốlượng CHECK một điều kiện mà CSDL phải luôn luôn NOT EXISTS thỏa mãn. Các khẳng định được tạo ra (SELECT * FROM S WHERE numofemps bằng câu lệnh: < 50 AND sid IN CREATE ASSERTION (SELECT sid FROM SP WHERE quantity CHECK >= 100)) 17 18 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 1/30/2012 Các ràng buộc toàn vẹn trong SQL (tiếp) Ví dụ về kích hoạt • Các kích hoạt: Là một thao tác được thực • Nhânviên(ID,Họtên,Lương,Địachỉ,Ngư hiện một cách tự động khi có một thay đổi ờiquảnlý) đối với CSDL. Kích hoạt là các cơ chế có ích • Một nhân viên bao giờ cũng có lương để báo động hoặc thực hiện những nhiệm ít hơn lương người trưởng phòng, điều vụ được định sẵn khi các điều kiện nhất kiện này phải được kiểm tra khi thêm định được thỏa mãn. bộ dữ liệu. liệ • Kích hoạt có thể được định nghĩa để hủy DEFINE TRIGGER ThemNV ON INSERT Nhânviên bỏ, hoặc kiểm tra và thực hiện một số các IF Nhânviên.Lương > (SELECT E.Lương FROM sự kiện do đó nó có thể được coi là một Nhânviên AS E WHERE E.ID = biện pháp để đảm bảo toàn vẹn dữ liệu. Nhânviên.Ngườiquảnlý) THEN ABORT; 19 20 Điều khiển tương tranh Các kỹ thuật điều khiển tương tranh • Kỹ thuật dùng khóa: Khi một giao dịch cần dữ liệu • Trong hệ CSDL đa người dùng, hệ nào thì xin hệ điều hành một khóa trên phần dữ liệu thống cần đưa ra giải pháp chống đó, các giao dịch khác phải đợi đến khi giải phóng khóa mới được sử dụng phần dữ liệu đó. Có thể đụng độ giữa các giao dịch (một dãy người ta sử dụng các loại khóa khác nhau ví dụ như các thao tác) được đưa ra bởi những khóa đọc – cho phép nhiều giao dịch đọc cùng 1 lúc, khóa ghi – chỉ 1 giao dịch có được tại một thời điểm. điểm người ờ dùng ù khác á nhau đểể tránh á việc ệ • Kỹ thuật gán nhãn thời gian: Mỗi giao dịch được một đối tượng dữ liệu nào đó bị làm gán một nhãn T theo thời gian, giao dịch nào cần được ưu tiên thì được gán nhãn thời gian nhỏ hơn và mất tính đúng đắn trong quá trình được thực hiện trước. Kỹ thuật này giúp đưa yêu cầu cập nhật. đồng thời về thực hiện tuần tự. 21 22 Lời hay ý đẹp "Khi nói sự thật bạn sẽ không phải nhớ mình vừa nói gì, mà bạn cũng không b bao giờ iờ quên ê những hữ gìì mình ì h vừa ừ nói" ói" S.Raybum 23 24 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cơ sở dữ liệu đất đai
49 p | 633 | 79
-
Bài giảng Cơ sở dữ liệu - Nguyễn Quỳnh Chi
189 p | 267 | 51
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Tổng quan về cơ sở dữ liệu
21 p | 181 | 31
-
Bài giảng Cơ sở dữ liệu: Bài 1 - ĐH CNTT
15 p | 607 | 30
-
Bài giảng Cơ sở dữ liệu - Bài 2: Mô hình cơ sở dữ liệu quan hệ
43 p | 221 | 18
-
Bài giảng Cơ sở dữ liệu: Chương 2 - ThS. Hoàng Mạnh Hà
68 p | 151 | 12
-
Bài giảng Cơ sở dữ liệu (Database): Chương 4 - TS. Đặng Thị Thu Hiền
82 p | 39 | 8
-
Bài giảng Cơ sở dữ liệu - Chương 4: Chuẩn hóa cơ sở dữ liệu
30 p | 134 | 8
-
Bài giảng Cơ sở dữ liệu nâng cao - Chương 2: Toàn vẹn và cơ sở dữ liệu active
50 p | 81 | 8
-
Bài giảng Cơ sở dữ liệu (Database): Chương 1 - TS. Đặng Thị Thu Hiền
53 p | 47 | 7
-
Bài giảng Cơ sở dữ liệu: Phần 1 – Nguyễn Hải Châu
54 p | 122 | 6
-
Bài giảng Cơ sở dữ liệu: Mở đầu - ThS. Lương Thị Ngọc Khánh
11 p | 169 | 6
-
Bài giảng Cơ sở dữ liệu nâng cao: Bài 1.1 - PGS.TS. Đỗ Phúc
25 p | 90 | 6
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Th.S Thiều Quang Trung
40 p | 93 | 5
-
Bài giảng Cơ sở dữ liệu - Bài 1: Thiết kế Cơ sở dữ liệu với Management Studio
10 p | 62 | 5
-
Bài giảng Cơ sở dữ liệu nâng cao: Bài 2 - PGS.TS. Đỗ Phúc
55 p | 66 | 4
-
Bài giảng Cơ sở dữ liệu: Chương 1 - GV. Đỗ Thị Kim Thành
21 p | 102 | 4
-
Bài giảng Cơ sở dữ liệu (Database) - Chương 1: Các khái niệm cơ bản về hệ cơ sở dữ liệu
34 p | 68 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn