Khôi phục là phục hồi một cơ sở dữ liệu từ một trạng trạng đã cho (thường là trạng thái không nhất quán) sang trạng thái nhất quán trước đó. Kỹ thuật khôi phục dựa trên tính chất nguyên tố
của giao dịch: Tất cả thành phần của một giao dịch phải được xem như một đơn vị logic đơn của công việc, trong đó mọi thao tác phải được hoàn thành để đưa ra một cơ sở dữ liệu nhất quán. Nếu vì một số lý do nào đó, một thao tác của giao dịch không thể hoàn thành, thì toàn bộ giao dịch phải được hủy bỏ, và các sự thay đổi cơ sở dữ liệu phải được quay lui để trở lại trạng thái nhất quán trước đó.
Mặc dù các giao dịch có khả năng phục hồi về trạng thái nhất quán trước đó khi giao dịch không thực hiện thành công, tuy vậy trong một số trường hợp xảy ra sự cố nghiêm trọng như: Lỗi hệ thống, bị virus tấn công, hỏng đĩa cứng, hỏa hoạn,… Tất cả các sự cố này có có thể dẫn đến việc làm hỏng thậm chí mất cơ sở dữ liệu. Để tránh rủi do, chúng ta nên có biện pháp và chiến lược sao lưu - phục hồi cơ sở dữ liệu một cách hợp lý. Tuỳ vào điều kiện thực tế mà ta có thể tiến hành sao lưu định kỳ theo ngày, tuần, tháng,.. và sao lưu toàn bộ hay một phần của cơ sở dữ liệu. Các bản sao này thường được lưu trữ trên thiết bị lưu trữ khác và được bảo vệ cẩn thận.
Các chức năng sao lưu và phục hồi là thành phần hết sức quan trọng trong các hệ quản trị cơ sở dữ liệu ngày nay. Một số hệ quản trị cơ sở dữ liệu cung cấp các chức năng cho phép người quản trị cơ sở dữ liệu thiết lập chế độ sao lưu dữ liệu một cách tự động, như: SQL Server, Oracle,.…
TµI LIÖU THAM KH¶O
[1] Nguyễn An Tế, Giáo trình Nhập môn cơ sở dữ liệu, Đại học
Quốc gia Thành phố Hồ Chí Minh, 1996
[2] Vũ Đức Thi, Cơ sở dữ liệu, Nhà xuất bản Thống kê Hà nội, 1997.
[3] Đỗ Trung Tuấn, Cơ sở dữ liệu, Nhà xuất bản Giáo dục, 1998.
[4] Lê Tiến Vương, Nhập môn cơ sở dữ liệu quan hệ, Nhà xuất bản Khoa học và Kỹ thuật, 1996.
[5] Nguyễn Kim Anh, Nguyên lý các hệ Cơ sở dữ liệu, Nhà xuất
bản Đại học Quốc gia Hà Nội, 2004
[6] Đoàn Văn Ban, Ngô Trung Việt, Đặng Văn Hưng, Trần Thị Phiến và Phạm Ngọc Khôi, Phân tích, thiết kế, cài đặt Hệ thông tin quản lý (Bản dịch), Viện Tin học, 1990.
[7] C. J. Date, An introduction to database Systems, Addison Weslay Publishinh Company, 4th Ed., 1986.
[8] David Maier, The Theory of Relational Databases, Computer
Science Press, Rockville, 1983.
[9] J. D. Ullman, Principles of Database systems, Computer
Môc lôc
Lời nói đầu... 3
Chương 1. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU... 5
1.1. CÁC KHÁI NIỆM CƠ BẢN... 5
1.1.1. Tổ chức dữ liệu theo tệp tin truyền thống ... 5
1.1.2. Cơ sở dữ liệu (Data Base) ... 6
1.1.3. Vai trò của cơ sở dữ liệu ... 8
1.1.4. Hệ quản trị cơ sở dữ liệu ... 9
1.2. CÁC MÔ HÌNH DỮ LIỆU ... 12
1.2.1. Mô hình hoá trong tin học... 12
1.2.2. Các mô hình dữ liệu ... 13
1.3. NGÔN NGỮ DỮ LIỆU... 18
CÂU HỎI VÀ BÀI TẬP ... 19
Chương 2. MÔ HÌNH DỮ LIỆU QUAN HỆ ... 21
2.1. CÁC ĐỊNH NGHĨA ... 21
2.2. CƠ SỞ DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ. 23 2.2.1. Khái niệm... 23
2.2.2. Ràng buộc dữ liệu... 24
2.3. ĐỊNH NGHĨA SIÊU KHÓA VÀ KHÓA ... 24
2.4. CÁC PHÉP TÍNH TRÊN CƠ SỞ DỮ LIỆU QUAN HỆ ... 26
2.4.1. Phép chèn: (Insert)... 26
2.4.2. Phép loại bỏ (DEL)... 27
2.4.3. Phép thay đổi (CH)... 28
Chương 3. KHAI THÁC CƠ SỞ DỮ LIỆU QUAN HỆ... 29
3.1. ĐẠI SỐ QUAN HỆ... 29
3.1.1. Định nghĩa ... 29
3.1.2. Các phép toán Đại số quan hệ ... 29
3.1.3. Ngôn ngữ Đại số quan hệ... 48
3.1.4. Các ví dụ về tìm kiếm bằng Đại số quan hệ ... 49
3.1.5. Tối ưu hoá biểu thức Đại số quan hệ... 51
CÂU HỎI VÀ BÀI TẬP ... 55
3.2. NGÔN NGỮ SQL (STRUCTURED QUERY LANGUAGE )... 56
3.2.1. Các lệnh về kiến trúc cơ sở dữ liệu ... 57
3.2.2. Các lệnh cập nhật dữ liệu ... 63
3.2.3. Truy vấn dữ liệu ... 64
3.2.4. Giá trị NULL... 75
3.2.5. Khung nhìn... 76
CÂU HỎI VÀ BÀI TẬP ... 77
Chương 4. THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ... 79
4.1. PHỤ THUỘC HÀM ... 79
4.1.1. Định nghĩa ... 79
4.1.2. Hệ tiên đề Armstrong cho phụ thuộc hàm ... 80
4.1.3. Bao đóng của tập phụ thuộc hàm... 81
4.1.4. Bao đóng của tập thuộc tính ... 82
4.1.5. Siêu khóa, khóa ... 83
4.1.6. Tập phụ thuộc hàm tối thiểu... 84
4.2. PHÉP TÁCH CÁC LƯỢC ĐỒ QUAN HỆ... 86
4.2.1 Khái niệm phép tách lược đồ quan hệ... 86
4.2.2. Phép tách không mất mát thông tin... 87
4.3.1. Các định nghĩa ... 88
4.3.2. Các dạng chuẩn... 90
4.3.3. Phép tách lược đồ quan hệ thành các lược đồ 3NF ... 91
CÂU HỎI VÀ BÀI TẬP ... 93
Chương 5. AN TOÀN VÀ TOÀN VẸN DỮ LIỆU... 95
5.1. AN TOÀN DỮ LIỆU... 95
5.1.1. Khái niệm an toàn dữ liệu ... 95
5.1.2. Các lệnh an toàn dữ liệu của SQL ... 95
5.2. TOÀN VẸN DỮ LIỆU... 96
5.2.1. Khái niệm toàn vẹn dữ liệu... 98
5.2.2. Các ràng buộc toàn vẹn... 98
5.2.3. Xác nhận (Assertion) ... 98
5.2.4. Kích hoạt (Trigger) ... 99
5.3. QUẢN LÝ GIAO DỊCH ... 100
5.3.1. Khái niệm giao dịch... 100
5.3.2. Các tính chất của giao dịch... 100
5.3.3. Đánh giá các giao dịch ... 101
5.3.4. Quản lý giao dịch với SQL ... 102
5.4. ĐIỀU KHIỂN TƯƠNG TRANH... 104
5.4.1. Cập nhật bị mất (Lost Updates)... 104
5.4.2. Dữ liệu chưa hoàn thành (Uncommitted Data)... 105
5.4.3. Tra cứu không nhất quán (Inconsistent Retrieval) ... 106
5.4.4. Xếp lịch... 107
5.4.5. Điều khiển tương tranh với phương thức khóa... 108
5.4.6. Điều khiển tương tranh với phương thức nhãn thời gian... 109
5.4.7. Quản lý khôi phục cơ sở dữ liệu ... 114