Tại vì hệ thống CSDL có những lợi ích: • Sự độc lập dữ liệu và truy cập hiệu quả. • Nó có thể nạp từng trang, xử lý được từng trang, từng phần. • Giảm thời gian phát triển ứng dụng. Vì DBMS cung cấp các chức quan trọng cho các ứng dụng, như điều khiển tương tranh và khôi phục sự cố, các khả năng truy vấn mức cao, vv…, người lập trình chỉ phải viết những đoạn mã chương trình đặc biệt cho từng ứng dụng. • Toàn vẹn dữ liệu và bảo mật. Cơ chế khung nhìn và các khả năng xác thực của DBMS cung cấp một cơ chế điều khiển truy cập mạnh mẽ. • Quản trị dữ liệu. Bằng việc cung cấp một bộ khung giúp hỗ trợ một tập hợp dữ liệu lớn và nhiều người sử dụng, DBMS hỗ trợ việc duy trì và các công việc quản trị dữ liệu. • Truy cập đồng thời và khôi phục sự cố. Nếu những lợi ích trên không quan trọng với ứng dụng của bạn, thì việc sử dụng một tập các file là giải phát tốt hơn vì việc duy trì và thực hiện trên DBMS phải trả giá thành cao hơn.
BÀI TẬP VỀ NHÀ CHƯƠNG DBMS NHÓM 1: Nguyễn Thành Thái 14110182 Trần Thị Thơm 14110192 Phạm Nguyễn Trường Giang 14110040 Huỳnh Nhật Thành 14110178 BÀI LÀM Tại bạn lựa chọn hệ thống CSDL thay lưu liệu file quản lý hệ điều hành? Khi bạn không nên dùng hệ CSDL? Tại hệ thống CSDL có lợi ích: • • • Sự độc lập liệu truy cập hiệu Nó nạp trang, xử lý trang, phần • Giảm thời gian phát triển ứng dụng Vì DBMS cung cấp chức quan trọng cho ứng dụng, điều khiển tương tranh khôi phục cố, khả truy vấn mức cao, vv…, người lập trình phải viết đoạn mã chương trình đặc biệt cho ứng dụng • Toàn vẹn liệu bảo mật Cơ chế khung nhìn khả xác thực DBMS cung cấp chế điều khiển truy cập mạnh mẽ • Quản trị liệu Bằng việc cung cấp khung giúp hỗ trợ tập hợp liệu lớn nhiều người sử dụng, DBMS hỗ trợ việc trì công việc quản trị liệu Truy cập đồng thời khôi phục cố Nếu lợi ích không quan trọng với ứng dụng bạn, việc sử dụng tập file giải phát tốt việc trì thực DBMS phải trả giá thành cao 2 Độc lập liệu mức logic (Logical data independence) gì? Tại quan trọng? Độc lập liệu logic có nghĩa người dùng bảo vệ từ thay đổi cấu hợp lý liệu, tức thay đổi lựa chọn quan hệ lưu trữ Ví dụ, quan hệ Students(sid, sName, GPA) thay Students (sid,sName) Studentgpas (sid, GPA) với lý đó, chương trình ứng dụng hoạt động quan hệ Students bảo vệ từ thay đổi cách xác định(ánh xạ) view Students (sid, sName, GPA) (như kết tự nhiên Studentnames Studentgpas) Do đó, chương trình ứng dụng tham khảo cho Students không cần phải thay đổi quan hệ Students thay hai quan hệ khác Sự thay đổi thay lưu trữ Students, liệu tính toán cần thiết cách sử dụng định nghĩa xem, điều rõ ràng với chương trình ứng dụng Giải thích khác độc lập liệu mức logic độc lập liệu mức vật lý (physical data independence)? Hãy cho ví dụ minh họa Độc lập liệu logic có nghĩa người dùng bảo vệ từ thay đổi cấu trúc logic liệu, độc lập liệu vật lý cách ly người dùng với thay đổi lưu trữ vật lý liệu Xem xét quan hệ Students từ ví dụ câu (và giả sử không thay hai quan hệ nhỏ hơn) Chúng ta lựa chọn để lưu trữ ghi quan hệ Students số file, với mục phân cụm trường sname Ngoài ra, lựa chọn để lưu trữ với mục trường gpa, tạo mục hai trường này, lưu trữ file xếp gpa Những cách lưu trữ người dùng không nhìn thấy được, ngoại trừ mặt cải thiện hiệu suất, họ nhìn thấy quan hệ đơn giản tập ghi Điều độc lập liệu vật lý Giải thích khác biệt lược đồ ý niệm/logic (conceptual /logical schema), lược đồ vật lý/bên (Physical/internal schema) lược đồ (external schema) Lược đồ ngoài(external schema) cho phép truy cập liệu để chỉnh (và uỷ quyền) cấp độ người dùng cá nhân nhóm người sử dụng Lược đồ ý niệm/logic (conceptual/logical schema) mô tả tất liệu thực lưu trữ sở liệu Trong có số quan điểm cho sở liệu định, có lược đồ khái niệm để tất người dùng Lược đồ vật lý/bên (Physical/internal schema) tóm tắt làm mà quan hệ mô tả lược đồ khái niệm thực lưu trữ đĩa (hoặc phương tiện vật chất khác) Lược đồ bên cung cấp độc lập liệu luận lý, lược đồ khái niệm cung cấp độc lập liệu vật lý Trách nhiệm DBA Giả sử DBA không cần quan tâm đến việc thực câu truy vấn DBA, DBA có cần hiểu tối ưu hóa câu truy vấn không? Tại sao? DBA có nhiệm vụ sau: • Thiết kế lược đồ logic vật lý, phân quyền, khung nhìn chủ yếu lược đồ • Bảo mật xác thực • Sự sẵn sàng liệu khôi phục sau cố • Tinh chỉnh sở liệu: DBAM có nhiệm vụ phát triển sở liệu, cụ thể phát triển lược đồ vật lý lược đồ để đảm bảo thực yêu cầu thay đổi theo thời gian người dùng DBA cần hiểu tối ưu hóa truy vấn người không quan tâm đến việc chạy truy vấn có số nhiệm vụ (thiết kế điều chỉnh sở liệu) liên quan đến tối ưu hóa truy vấn Nếu DBA không hiểu truy vấn sử dụng rộng rãi cần cho thực thi, DBMS tối ưu thực truy vấn nào, có định tốt thiết kế điều chỉnh sở liệu 6 Ông A cần mua hệ CSDL Để tiết kiệm chi phí, ông A mua hệ CSDL với số tính Ông ta lập kế hoạch chạy máy PC ông không share thông tin với Hãy cho biết tính tính DBMS ông A mua nên có sao: + Tiện ích bảo mật + Kiểm soát đồng thời + Khôi phục liệu sau cố + Cơ chế khung nhìn + Ngôn ngữ truy vấn Tiện ích bảo mật cần thiết đối thủ, mối đe dọa xâm nhập từ bên để cố gắng để truy sở liệu ông Tính bảo mật sở liệu chặn kẻ xâm nhập Kiểm soát đồng thời không cần thiết có ông sử dụng sở liệu Khôi phục liệu sau cố điều cần thiết cho sở liệu, ông A không muốn liệu điện bị ngắt ông sử dụng hệ thống Cơ chế khung nhìn cần thiết Ông A sử dụng điều để tùy biến khung nhìn để thuận tiện cho công việc ông Ngôn ngữ truy vấn cần thiết ông A phải có khả phân tích vùng tối bí mật nạn nhân Mô tả cấu trúc DBMS Giả sử hệ điều hành bạn nâng cấp để hỗ trợ thêm số chức file (ví dụ khả cho phép lưu chuỗi bytes lên đĩa) Hãy cho biết lớp DBMS bạn cần phải viết lại để tận dụng ưu điểm tính Cấu trúc DBMS bao gồm: - Lớp quản lý không gian đĩa Lớp quản lý nhớ có sẵn mang trang đĩa vào nhớ cần thiết - Lớp có hỗ trợ khái niệm trừu tượng tập tin cấu trúc mục Lớp thực toán tử quan hệ Lớp mà phân tích tối ưu hóa truy vấn sản xuất kế hoạch thực thi mặt toán tử Ngoài ra, có hỗ trợ điều khiển đồng thời phục hồi, tương tác với quản lý đệm phương pháp tiếp cận lớp Các lớp quản lý không gian đĩa viết lại để tận dụng lợi chức tập tin hệ điều hành Có khả lớp đệm quản lý bị ảnh hưởng Trả lời câu hỏi sau: Giao tác (transaction) gì? Giao tác tập thực thi gộp lại thành khối chương trình ứng dụng Tại DBMS thực xen kẽ hành động giao dịch khác thay thực giao dịch ? Một DBMS thường chia cho nhiều người dùng Các giao dịch từ người dùng thực thi xen kẽ để cải thiện thời gian thực truy vấn người dùng Bằng cách này, người dùng đợi giao dịch người dùng khác hoàn thành đến giao dịch bắt đầu Không thực xen kẽ, người dùng A thực giao dịch 10s, người dùng B bắt đầu thực giao dịch mình, người dùng B phải đợi 10s để giao dịch người dùng A hoàn thành Một user phải chắn điều để đảm bảo tính quán giao dịch CSDL ? Một DBMS nên chắn điều để đảm bảo tính quán thực đồng thời nhiều giao dịch CSDL DBMS phải đảm bảo giao dịch thực thi toàn độc lập với giao dịch khác Một tính chất quan trọng giao dịch DBMS tính nguyên tử, tính cô lập Các giao dịch thành công thất bại hoàn toàn Điều đảm bảo tính quán sở liệu Giải thích nghi thức khóa giai đoạn nghiêm ngặt (the strict two-phase locking protocol) Khóa hai giai đoạn nghiêm ngặt sử dụng khóa chia sẻ khóa độc quyền để bảo vệ liệu Một giao dịch phải nắm giữ tất khóa cần thiết trước thực thi không giải phóng khóa trước giao dịch kết thúc hoàn toàn Tính chất WAL quan trọng ? Đặc tính WAL ảnh hưởng đến chiến lược logging DBMS WAL viết tắt Write- Ahead Log, có nghĩa thao tác viết lên sở liệu phải ghi vào log (trên đĩa) trước thực xảy sở liệu Điều bảo vệ sở liệu có cố xảy trình giao dịch thực Bằng việc ghi lại thay đổi vào log trước thay đổi thực diễn ra, sở liệu biết phải làm lại thao tác để khôi phục cố Ngược lại, việc ghi vào log diễn sau sở liệu phát có thay đổi xảy trình khôi phục cố ... lập liệu mức logic (Logical data independence) gì? Tại quan trọng? Độc lập liệu logic có nghĩa người dùng bảo vệ từ thay đổi cấu hợp lý liệu, tức thay đổi lựa chọn quan hệ lưu trữ Ví dụ, quan hệ. .. đồng thời không cần thiết có ông sử dụng sở liệu Khôi phục liệu sau cố điều cần thiết cho sở liệu, ông A không muốn liệu điện bị ngắt ông sử dụng hệ thống Cơ chế khung nhìn cần thiết Ông A sử dụng... viết lên sở liệu phải ghi vào log (trên đĩa) trước thực xảy sở liệu Điều bảo vệ sở liệu có cố xảy trình giao dịch thực Bằng việc ghi lại thay đổi vào log trước thay đổi thực diễn ra, sở liệu biết