1. Trang chủ
  2. » Giáo án - Bài giảng

cơ sở dữ liệu vũ tuyết trinh notes7 an toàn va toàn vẹn dữ liệu sinhvienzone com

17 49 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 330 KB

Nội dung

Nhập mơn sở liệu An tồn tồn vẹn ẹ liệu ệ Vũ Tuyết Trinh trinhvt@it-hut.edu.vn Bộ môn Các hệ thống thông tin, Khoa Công nghệ thông tin Đại học Bách Khoa Hà Nội Ví dụ Giáo viên CSDL hệ QTCSDL H tậ Học tập Giáo viên Sinh viên Lớp học Mô h Môn học Điểm thi Sinh viên Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com https://fb.com/sinhvienzonevn Nhập môn sở liệu GIAO_VIEN (maGV, hoten, ngaysinh, gioitinh, diachi, h h hocham, hocvi, h i bacluong) b l ) LOP (malop, tenlop, khoa, maloptruong, maGVCN,TSSV) SINH_VIEN(maSV, hoten, ngaysinh, tuoi, gioitinh, diachi, malop) MON_HOC(mamon, tenmon, soHT) DIEM_THI(maSV, mamon, lanthi, diem) Đặt vấn đề { Mục đích CSDL z z { Lưu trữ lâu dài Khai thác hiệu Yêu cầu đ/v thiết kế CSDL z Đảm bảo tính đắn DL { { z Tránh sai sót cập nhật DL Ö định nghĩa kiểm tra ràng buộc DL Tránh sai sót q trình thao tác với DL Ư kiểm tra tính tồn vẹn thao tác với DL Đảm bảo tính an tồn DL { Tránh truy nhập DL khơng hợp lệ từ phía người dùng Ư phân quyền kiểm tra quyền hạn người sử dụng Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com https://fb.com/sinhvienzonevn Nhập môn sở liệu Nội dung { An toàn liệu { Ràng buộc liệu { Toàn vẹn liệu An toàn liệu { ¾ Bảo vệ CSDL chống lại truy nhập bất hợp pháp Cần chế cho phép z z Nhận biết người dùng Xác định thao tác hợp lệ với (nhóm) người dùng Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com https://fb.com/sinhvienzonevn Nhập môn sở liệu Phân quyền người dùng { Đ/v người khai thác CSDL z z z z z { Đ/v người quản trị CSDL z z z z { Quyền Q ề đọc đ liệu liệ Quyền sửa đổi liệu Quyền bổ sung liệu Quyền xoá liệu Quyền tạo dẫn Q ề quản Quyền ả lý tài nguyên: ê thê thêm/xoá / quan hệ Quyền thay đổi cấu trúc DL: thêm/sửa/xố thuộc tính quan hệ Xác minh người dùng { Sử dụng tài khoản người dùng z z { Sử dụng hàm kiểm tra F(x) z z { { Tên truy nhập Mật Cho giá trị ngẫu nhiên x Người dùng phải biết hàm F để tính giá trị Sử dụng thẻ điện tử tử, thẻ thơng minh Sử dụng nhận dạng tiếng nói, vân tay, Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com https://fb.com/sinhvienzonevn Nhập mơn sở liệu Lệnh tạo (nhóm) người dùng { { Cú pháp z Tạo người dùng CREATE USER username IDENTIFIED {BY password | EXTERNALLY | GLOBALLY AS 'external_name'}; z Xố người dùng DROP USER name [CASCADE]; Ví dụ CREATE USER tin123K47 IDENTIFIED BY nmcsdl Kiểm tra quyền người dùng { { { Xác định quyền hạn (nhóm) người dùng Xác định khung nhìn để hạn chế truy nhập đến DL Xác định kiểm soát lưu chuyển liệu 10 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com https://fb.com/sinhvienzonevn Nhập môn sở liệu Lệnh phân quyền cho người dùng { Cú pháp Grantt < G i il > On O TTo < > [With Grant Option] REVOKE ON FROM [RESTRICT | CASCADE] Privilege = {Insert | Update | Delete | Select | Create Alter | Drop | Read | Write} Object = {Table | View} { Ví dụ: GRANT SELECT ON DIEM_THI TO tin123K47 GRANT SELECT, UPDATE ON DIEM_THI TO vutrinh WITH GRANT OPTION 11 Ràng buộc liệu { { Mục đích: định nghĩa tính đắn DL toàn CSDL Phân loại z z Ràng buộc miền giá trị { Trên thuộc tính { Trên nhiều thuộc tính (cùng ghi) { Trên nhiều ghi Ràng buộc khoá { Trên quan hệ: khố { Trên nhiều quan hệ: khố ngồi 12 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com https://fb.com/sinhvienzonevn Nhập môn sở liệu Lệnh đ/n ràng buộc miền giá trị { Cú pháp CONSTRAINT CHECK { Ví dụ: Trong bảng DIEM CONSTRAINT gtdiem CHECK ((diem>=0) and (diem END ; 17 Ví dụ LOP (malop, tenlop, khoa, maloptruong, maGVCN,TSSV) SINH VIEN(maSV hoten, SINH_VIEN(maSV, hoten ngaysinh, ngaysinh tuoi tuoi, gioitinh, gioitinh diachi diachi, malop) CREATE TRIGGER tang_TSSV AFTER INSERT ON SINH_VIEN FOR EACH ROW BEGIN update LOP set TSSV= TSSV+1 where malop = :new.malop END; 18 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com https://fb.com/sinhvienzonevn Nhập môn sở liệu Ví dụ LOP (malop, tenlop, khoa, maloptruong, maGVCN,TSSV) SINH VIEN(maSV hoten, SINH_VIEN(maSV, hoten ngaysinh, ngaysinh tuoi tuoi, gioitinh, gioitinh diachi diachi, malop) CREATE TRIGGER giam_TSSV AFTER DELETE ON SINH_VIEN FOR EACH ROW BEGIN update LOP set TSSV= TSSV-1 where malop = :old.malop END; 19 Giao dịch – ví dụ 500USD Tài khoản A Tài khoản B Đọc số dư tài khoản A Kiểm tra (số dư > số tiền cần rút) Tăng số dư tài khoản B Giảm số dư tài khoản A Sự cố Ngân g hàng g chịu lỗ ??? 20 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com 10 https://fb.com/sinhvienzonevn Nhập môn sở liệu Giao dịch { Đ/n: tập thao tác xử lý đơn vị không chia cắt ắ z { Cho phép đảm bảo tính quán tính đắn liệu Tính chất ACID z z z z Ngun tố (Atomicity) Tính qn (Consistency) Tính lập (Isolation) Tính bền vững (Durability) Điều khiển tương tranh Phục hồi liệu 21 Tính nguyên tố { { Đ/n: Hoặc toàn hành động giao dịch đ thực th hiệ h ặ khô khơng có ó hành hà h động độ thực Ví dụ: T: Read(A,t1); If t1 > 500 { Read(B,t2); t2:=t2+500; Write(B,t2); t1:=t1-500; Write(A,t1); } stop 22 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com 11 https://fb.com/sinhvienzonevn Nhập môn sở liệu Tính quán { { Đ/n: Tính quán liệu trước bắt đầ đầu sau kết thúc thú giao i dị dịch h Ví dụ T: Read(A,t1); If t1 > 500 { Read(B,t2); t2:=t2+500; Write(B,t2); t1:=t1-500; Write(A,t1); } A+B = C A+B = C 23 Tính lập { { Đ/n: giao dịch tiến hành độc lập với giao i dị dịch h khác tiế tiến hành hà h đồng đồ thời Ví dụ: A= 5000, B= 3000 T: Read(A,t1); If t1 > 500 { Read(B,t2); t2:=t2+500; Write(B,t2); t1:=t1-500; Write(A,t1); } T’: A+B (= 5000+3500) (A+B = 4500+3500) 24 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com 12 https://fb.com/sinhvienzonevn Nhập môn sở liệu Tính bền vững { Đ/n z { Mọi thay đổi ổ mà giao dịch thực CSDL phải ghi nhận bền vững Ví dụ: A= 5000, B= 3000 T: Read(A,t1); If t1 > 500 { Read(B,t2); t2:=t2+500; Write(B,t2); t1:=t1-500; Write(A,t1); } cố A= 4500, B=3500 25 Trạng thái giao dịch 26 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com 13 https://fb.com/sinhvienzonevn Nhập môn sở liệu Giao diện cho giao dich { Giao diện z z z { Begin Trans Commit () Abort() Điểm ghi nhớ (save point) z z Savepoint Save() Rollback o bac (savepoint) (sa epo t) // sa savepoint epo t = ==> Abort bo t 27 Điều khiển tương tranh { Mục đích: tránh đụng độ giao dịch (một dãy thao tác) đối ố tượng ể làm tính quán DL T0: read(A); A := A -50; write(A); read(B); B := B + 50; write(B); T1: read(A); temp := A *0.1; A := A -temp; write(A); read(B); B := B + temp; write(B); 28 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com 14 https://fb.com/sinhvienzonevn Nhập môn sở liệu Ví dụ thực giao dịch 29 Kỹ thuật khố { Mục đích z { Các kiểu khố z z { Chia sẻ: đọc không ghi DL Độc quyền: đọc ghi DL Ký hiệu z z z { Đảm bảo Đả bả việc iệ truy t nhập hậ đến đế DL đ thực th hiệ theo phương pháp loại trừ LS(D): khoá LS(D) kh chia hi sẻ ẻ LX(D): khố độc quyền UN(D): mở khố Tính tương thích LS LX LS true false LX false false Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com 30 15 https://fb.com/sinhvienzonevn Nhập môn sở liệu Ví dụ T0: LX(A); read(A); A := A -50; write(A); LX(B); read(B); B := B + 50; ( ); write(B); UN(A); UN(B); T1: LX(A); read(A); temp := A *0.1; A := A -temp; write(A) LX(B); read(B); B:=B+temp; p; write(B); UN(A); UN(B); 31 Khoá chết (deadlock) T0: LX(B); read(B); B := B +50; write(B); LX(A); read(A); A := A - 50; ( ); write(A); UN(A); UN(B); T1: LX(A); read(A); temp := A *0.1; A := A -temp; write(A) LX(B); read(B); B:=B+temp; p; write(B); UN(A); UN(B); 32 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com 16 https://fb.com/sinhvienzonevn Nhập môn sở liệu Các vấn đề quản trị giao dịch { Các kỹ thuật điều khiển tương tranh z z { { { chế độ khoá, giải khoá chết kỹ thuật gán nhãn Lập lịch Các kỹ thuật phục hồi (recovery) 33 Kết luận Để đảm bảo tính an tồn tồn vẹn liệu { Đ/v người thiết ế kế ế CSDL z { Đ/v người quản trị hệ thống z z { Phải định nghĩa ràng buộc toàn vẹn liệu Phải định nghĩa khung nhìn Phải phần quyền cho (nhóm) người dùng Đ/v hệ CSDL z z z Phải xác minh người dùng Phải kiểm tra ràng buộc DL cách tự động Phải đảm bảo tính chất ACID cho giao dịch người dùng 34 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone.com 17 https://fb.com/sinhvienzonevn ... thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone. com https://fb .com/ sinhvienzonevn Nhập môn sở liệu Nội dung { An toàn liệu { Ràng buộc liệu { Toàn vẹn liệu An toàn liệu { ¾ Bảo vệ CSDL chống lại... chuyển liệu 10 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN SinhVienZone. com https://fb .com/ sinhvienzonevn Nhập môn sở liệu Lệnh phân quyền cho người dùng { Cú pháp Grantt

Ngày đăng: 30/01/2020, 21:02

w