1. Trang chủ
  2. » Công Nghệ Thông Tin

SQL Server 7.0

359 799 3
Tài liệu đã được kiểm tra trùng lặp

Đ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 359
Dung lượng 5,8 MB

Nội dung

SQL Server 7.0

Trang 1

LỜI CẢM ƠN

uốt quá trình học tập trong trường đại học vừa qua, chúng em đã được quýthầy cô cung cấp và truyền đạt tất cả kiến thức chuyên môn cần thiết và quýgiá nhất Ngoài ra, chúng em còn được rèn luyện một tinh thần học tập và làmviệc độc lập, sáng tạo Đây là tính cách hết sức cần thiết để có thể thành công khibắt tay vào nghề nghiệp trong tương lai

S

Luận văn tốt nghiệp là cơ hội để chúng em có thể áp dụng, tổng kết lạinhững kiến thức mà mình đã học Đồng thời, rút ra những kinh nghiệm thực tế vàquý giá trong suốt quá trình thực hiện đề tài Sau một học kỳ chúng em tập trungcông sức cho đề tài và cùng làm việc cực lực với nhau, đặc biệt là nhờ sự chỉ đạovà hướng dẫn tận tình của thầy Nguyễn Trung Trực cùng với các thầy cô trongkhoa, đã giúp cho chúng em hoàn thành đề tài này một cách thuận lợi và gặt háiđược một số kết quả khá khả quan Bên cạnh những kết quả khiêm tốn mà chúng

em đạt được, chắc chắn không tránh khỏi những sai lầm, thiếu sót khi thực hiệnluận văn của mình, kính mong thầy cô thông cảm và tha thứ Sự phê bình, góp ýcủa quý thầy cô sẽ là những bài học kinh nghiệm rất quý báu cho công việc thựctế của chúng em sau này

Là sinh viên ngành máy tính, chúng em rất tự hào về khoa mà mình đangtheo học, tự hào về tất cả các thầy cô của mình Một lần nữa, chúng em xin chânthành cảm ơn công lao dạy dỗ của quý thầy cô Kính chúc quý thầy cô mạnhkhỏe, tiếp tục đạt được nhiều thắng lợi trong nghiên cứu khoa học và sự nghiệpgiáo dục

Trân trọng kính chào! Sinh viên thực hiện

Trang 2

MỤC LỤC

A TÌM HIỂU TÍNH CHẤT PHÂN BỐ CỦA SQL SERVER 7.0

PHẦN I : SƠ LƯỢC VỀ CƠ SỞ DỮ LIỆU PHÂN BỐ Trang 1

I CÁC ĐẶC ĐIỂM CỦA CƠ SỞ DỮ LIỆU PHÂN BỐ 2

I.1 Điểu khiển tập trung 2

I.2 Sự độc lập dữ liệu 3

I.3 Sự giảm dư thừa dữ liệu 3

II KIẾN TRÚC THAM KHẢO DÙNG CHO CÁC CƠ SỞ DỮ LIỆU PHÂN BỐ 4

II.1 Lược đồ toàn cục 4

II.2 Lược đồ phân mảnh 6

II.3 Lược đồ định vị 7

II.4 Lược đồ ánh xạ cục bộ 9

III CÁC MỨC TRONG SUỐT 9

IV CÁC LOẠI PHÂN MẢNH 10

IV.1 Quy luật phân mảnh 10

IV.2 Các loại phân mảnh 11

PHẦN II : TỐI ƯU HOÁ TRUY VẤN TRONG CƠ SỞ DỮ LIỆU PHÂN BỐ Trang 12 Chương 1: TÌM HIỂU VẤN ĐỀ TỐI ƯU HÓA TRUY VẤN TRONG CƠ SỞ DỮ LIỆU PHÂN BỐ 13

I TRUY VẤN BIỂU THỨC CHUẨN TẮC CỦA TRUY VẤN 13

I.1 Truy vấn 13

I.2 Biểu thức chuẩn tắc của truy vấn 14

II TỐI ƯU HÓA TRUY VẤN TRONG CƠ SỞ DỮ LIỆU TẬP TRUNG 15

II.1 Bước 1 - Kiểm tra ngữ pháp 16

II.2 Bước 2 - Kiểm tra sự hợp lệ 16

II.3 Bước 3 - Dịch truy vấn 17

II.4 Bước 4 - Tối ưu hóa biểu thức đại số quan hệ 17

II.5 Bước 5 - Chọn lựa chiến lược truy xuất 17

II.6 Bước 6 - Tạo sinh mã 18

III TỐI ƯU HÓA TRUY VẤN TRONG CƠ SỞ DỮ LIỆU PHÂN BỐ 18

III.1 Bước 1 – Phân rã truy vấn 18

III.1.1 Bước 1.1 – Phân tích truy vấn 18

III.1.2 Bước 1.2 – Chuẩn hóa điều kiện của mệnh đề WHERE 21

III.1.3 Bước 1.3 – Đơn giản hóa điều kiện của mệnh đề WHERE 23

III.1.4 Bước 1.4 – Biến đổi truy vấn thành biểu thức đại số quan hệ hiệu quả 24

III.1.5 Một giải thuật tối ưu hóa một biểu thức đại số quan hệ trên lược đồ toàn cục 29

III.2 Bước 2 – Định vị dữ liệu 31

Trang 3

III.2.1 Bước 2.1 Biến đổi biểu thức đại số quan hệ trên lược đồ toàn cục

32

III.2.2 Bước 2.2 Đơn giản hóa biểu thức đại số quan hệ trên lược đồ phân mảnh

32

III.2.3 Một giải thuật tối ưu hóa một biểu thức đại số quan hệ trên lược đồ phân mảnh 33

III.3 Bước 3 – Tối ưu hóa truy vấn toàn cục 34

III.4 Bước 4 – Tối ưu hóa truy vấn cục bộ 36

Chương 2: TÌM HIỂU CÔNG CỤ TỐI ƯU HOÁ TRUY VẤN TRONG CƠ SỞ DỮ LIỆU PHÂN BỐ 37

I TỔNG QUAN VỀ TỐI ƯU HÓA HIỆU QUẢ CỦA CƠ SỞ DỮ LIỆU TRONG SQL SERVER 37

II ĐIỀU CHỈNH TRUY VẤN (QUERY TUNING) 38

III PHÂN TÍCH CÂU TRUY VẤN (ANALYZING A QUERY) 44

IV CÁC KHÁI NIỆM TRONG VIỆC ĐIỀU CHỈNH TRUY VẤN PHỨC TẠP 45

IV.1 Các khái niệm về Nested Loops Join 46

IV.2 Các khái niệm về Merge Join 46

IV.3 Các khái niệm về Hash Join 47

IV.3.1 Hash join trong bộ nhớ 48

IV.3.2 Grace hash join 48

IV.3 3 Hash join đệ qui 48

V PHỤ LỤC 49

V.1 SET SHOW PLAN_ALL (T-SQL) 49

V.2 SET STATISTICS IO (T_SQL)

56

V.3 SET STATISTICS TIME (T-SQL) 59

V.4 SET STATISTICS PROFILE (T-SQL) 62

PHẦN III : TRANSACTION ……….Trang 64 I.GIỚI THIỆU VỀ GIAO DỊCH TRONG SQL SERVER 7.0 65

I.1 Định nghĩa 65

I.2 Các thuộc tính của giao dịch 65

II VIỆC CHỈ RÕ VÀ RÀNG BUỘC TRANSACTION TRONG SQL SERVER 7.0 .65

II.1 Quá trình quản lý giao dịch 66

II.1.1 Khởi động một giao dịch 66

II.1.2 Kết thúc một giao dịch 67

II.1.3 Những lỗi xuất hiện trong quá trình thực thi giao dịch 67

II.2 Loại giao dịch explicit 68

II.3 Loại giao dịch autocommit 68

II.4 Loại giao dịch implicit 70

III GIAO DỊCH PHÂN BỐ (DISTRIBUTED TRANSACTION) 71

III.1 Đặc điểm của giao dịch phân bố 71

Trang 4

III.2 Tác vụ của giao dịch phân bố 72

III.3 Khởi động giao dịch phân bo 72

III.4 Truy vấn và giao dịch phân bố 73

IV NHỮNG TÍNH CHẤT KHÁC CỦA GIAO DỊCH 74

IV.1 Giao dịch lồng nhau (nesting transaction) 74

IV.2 Transaction savepoint 75

IV.3 Bound connections 76

IV.4 Điều chỉnh mức độ tách biệt của giao dịch 78

IV.5 Thiết kế giao dịch hiệu quả 78

V.LOCK 79

V.1 Bốn vấn đề đồng thời 79

V.2 Optimistic and pessimistic concurrency 80

V.3 Các mức độ tách biệt 81

V.4 Sự tương thích lock 81

V.5 Sự leo thang lock 83

V.6.Khóa động (dynamic locking) 84

V.7 Deadlock 85

V.7.1 Phát hiện và kết thúc deadlock 86

V.7.2 Tránh deadlock 86

VI KIẾN TRÚC GIAO DỊCH 87

PHẦN IV : NHÂN BẢN TRONG MS SQL SERVER 7.0 Trang 90 Chương 1 : GIỚI THIỆU VỀ NHÂN BẢN 90

I GIỚI THIỆU CHUNG 91

I.1 Tăng hiệu suất máy tính 91

I.2.Tăng tính sẵn sàng 91

I.3.Ít sai sót 91

II YÊU CẦU TRONG NHÂN BẢN 92

II.1.Trong suốt 92

II.2.Nhất quán 92

Chương 2 : KIẾN TRÚC NHÂN BẢN TRONG SQL SERVER 7.0 93

I MỤC TIÊU CHÍNH TRONG NHÂN BẢN 93

I.1 Nhất quán dữ liệu (data consistency) 93

I.1.1 Nhất quán giao dịch 93

I.1.1.1 Nhất quán lập tức (Immediate Transactional Consistency hay Tight Consistency trong MS SQL Server 6.0) 94

I.1.1.2 Nhất quán ngầm (Latent Transactional Consistency hay Loose Consistency trong MS SQL Server 6.0) 94

I.1.2 Hội tụ dữ liệu 94

I.2 Độc lập site (site autonomy) 94

II KIẾN TRÚC NHÂN BẢN : 95

II.1 Các thành phần chính của nhân bản 95

II.2 Chiều di chuyển dữ liệu 96

II.2.1 Push subscription 96

Trang 5

II.2.2 Pull subscription 97

III TÁC NHÂN (AGENT) 97

IV CÁC LOẠI NHÂN BẢN 98

Chương 3 : CÁC LOẠI NHÂN BẢN 99

I NHÂN BẢN SNAPSHOT (Snapshot Replication ) 99

I.1 Giới thiệu 99

I.2 Tác nhân (agent) 100

I.2.1 Snapshot agent 100

I.2.2 Distribution agent 100

II NHÂN BẢN GIAO DỊCH (Transation Replication ) 101

II.1 Giới thiệu 101

II.2 Tác nhân (agent) 102

II.2.1 Snapshot agent 102

II.2.2 Log Reader Agent 102

II.2.3 Distribution agent 103

II.3 Thu dọn trong nhân bản transaction: ( tương tự cho nhân bản snapshot) 103

II.4 Các dạng nhân bản giao dịch 104

II.4.1 Cập nhật Subscriber lập tức (Immediate_Updating Subscriber) 104

II.4.1.1 Triggers 104

II.4.1.2 Stored procedures 105

II.4.1.3 MS DTC (Microsoft Distributed Transaction Coordinator) 106

II.4.1.4 Phát hiện tranh chấp 106

II.4.1.5 Phát hiện loopback 106

II.4.2 Nhân bản những thực thi của Stored procedure 107

II.4.2.1 Procedure execution 107

II.4.2.2 Serializable Procedure execution 107

III NHÂN BẢN KẾT HỢP ( Merge Replication ) 107

III.1 Giới thiệu 107

III.2 Tác nhân (agent) 108

III.2.1 Snapshot agent 109

III.2.2 Merge agent 109

III.3 Giải quyết tranh chấp trong nhân bản kết hợp 110

IV GIẢI QUYẾT TRANH CHẤP 110

Chương 4: TOPOLOGY 112

I THIẾT KẾ TOPOLOGY 112

II CÁC KIỂU TOPOLOGY 112

II.1 Central publisher 113

II.2 Central publisher with remote Distributor 115

II.3 Publisher Subcriber 116

II.4 Central Subcriber 116

PHẦN V: CẤU TRÚC CƠ SỞ DỮ LIỆU CỦA SQL SERVER 7.0 Trang 118 I CẤU TRÚC CSDL CỦA SQL SERVER 7.0 119

Trang 6

II CẤU TRÚC CSDL VẬT LY 121

II.1.Trang (page) 121

II.2.Extent 121

II.3.Những loại file trong CSDL 122

PHẦN VI: SAO LƯU VÀ KHÔI PHỤC Trang 124 Chương 1: GIỚI THIỆU VỀ SAO CHÉP DỰ PHÒNG (BACKUP) VÀ KHÔI PHỤC (RECOVERY) CƠ SỞ DỮ LIỆU (CSDL) 125

I SAO LƯU CƠ SỞ DỮ LIỆU 125

II KHÔI PHỤC CƠ SỞ DỮ LIỆU 127

Chương 2: CẤU TRÚC SAO CHÉP DỰ PHÒNG (BACKUP) VÀ KHÔI PHỤC (RESTORE) CỦA SQL SERVER 7.0 131

I NHỮNG BACKUP DEVICE 134

II.BACKUP MEDIA 135

III QUÁ TRÌNH SAO LƯU VÀ KHÔI PHỤC 137

IV SAO LƯU VÀ KHÔI PHỤC SONG SONG 138

Chương 3: CÁC LOẠI BACKUP VÀ KHÔI PHỤC CSDL TỪ CÁC BACKUP .139

I.FULL DATABASE BACKUP 139

II.TRANSACTION LOG BACKUP 140

II.1 Khôi phục csdl và áp dụng transaction log backup 141

II.2 Cắt (truncate) transaction log 142

II.3 Điều kiện backup transaction log 142

II.4 Sao lưu những lệnh nonlogged 143

III DIFFERENTIAL BACKUP 145

IV FILE HOẶC FILEGROUP BACKUP 146

V HẠN CHẾ CỦA BACKUP 147

VI SỰ KHÁC NHAU GIỮA DIFFERENTIAL BACKUP VÀ TRANSACTION LOG BACKUP 148

VII SAO LƯU VÀ KHÔI PHỤC CÁC CSDL HỆ THỐNG 148

B.HỆ THỐNG QUẢN LÝ HỌC VỤ PHẦN I : SƠ LƯỢC ĐỀ TÀI Trang 150 Chương 1 : CÁC CÔNG CỤ HỖ TRỢ TRUY XUẤT DỮ LIỆU 151

I.ODBC 152

II.OLE-DB 152

III.ADO 153

IV.KHI NÀO NÊN SỬ DỤNG OLE-DB , ADO VÀ ODBC 153

V.TỔNG QUAN VỀ CÁC LỚP ODBC, OLE-DB VÀ ADO CỦA VISUAL C++

154

Chương 2 :GIỚI THIỆU ĐỀ TÀI 156

I.TỔNG QUAN VỀ ĐỀ TÀI 156

II.CÁC PHÂN HỆ 156

II.1 Phân hệ quản lý sinh viên 156

Trang 7

II.2 Phân hệ chương trình đào tạo 156

II.3 Phân hệ xếp thời khoá biểu 157

II.4 Phân hệ đăng ký môn học 157

II.5 Phân hệ xếp lịch thi 158

II.6 Phân hệ quản lý điểm – xét tốt nghiệp 158

III THIẾT KẾ CHƯƠNG TRÌNH 158

III.1 Môi trường hiện thực 158

III.2 Phân bố dữ liệu 159

III.3 Mô hình nhân bản 159

III.4 Tính bảo mật 160

III.4.1 Đăng nhập vào hệ thống 160

III.4.2 Vai trò của người sử dụng 160

PHẦN II : PHÂN HỆ QUẢN LÝ SINH VIÊN 161

Chương 1: MÔ TẢ NGHIỆP VỤ 162

I THÔNG TIN SINH VIÊN 162

II CÁC QUYẾT ĐỊNH ĐỐI VỚI SINH VIÊN 163

Chương 2: PHÂN TÍCH VÀ THIẾT KẾ 164

I.THÔNG TIN SINH VIÊN 164

II.CÁC QUYẾT ĐỊNH ĐỐI VỚI SINH VIÊN 170

III.PHÂN BỐ CƠ SỞ DỮ LIỆU 173

III.1 Sơ đồ toàn cục 173

III.2 Sơ đồ phân mảnh 174

III.3 Sơ đồ định vị 174

III.4 Vai trò của người sử dụng 175

Chương 3: CÁC CHỨC NĂNG CỦA PHÂN HỆ 176

I FORM CẬP NHẬT THÔNG TIN SINH VIÊN, THÊM SINH VIÊN MỚI 176

II FORM CẬP NHẬT LỚP 185

PHẦN III: PHÂN HỆ CHƯƠNG TRÌNH ĐÀO TẠO 186

Chương 1: MÔ TẢ NGHIỆP VỤ 187

I CÁC KHÁI NIỆM 187

I.1 Môn học trước - Môn học tiên quyết 187

I.2 Môn học song hành 187

I.3 Môn học tương đương – Nhóm tương đương 187

I.4 Môn học bắt buộc – Môn học tự chọn 188

II CHƯƠNG TRÌNH ĐẠO TẠO 188

II.1 Mối quan hệ giữa Khoa- Nhóm nghành – Ngành – Khoá ngành – Danh mục hệ đào tạo 188

II.2 Chương trình đào tạo Nhóm ngành – Chuyên ngành – Khoá ngành 189

III TIÊU CHUẨN HOÀN THÀNH GIAI ĐOẠN – TIÊU CHUẨN TỐT NGHIỆP .189

III.1 Tiêu chuẩn hoàn thành giai đoạn 189

Trang 8

III.2 Tiêu chuẩn tốt nghiệp 190

IV MỤC ĐÍCH CỦA PHÂN HỆ 190

Chương 2: PHÂN TÍCH VÀ THIẾT KẾ 192

I MỐI LIÊN KẾT GIỮA CÁC MÔN HỌC 192

I.1 Mối liên kết giữa Khoa – Bộ môn – Môn học 192

I.2 Môn học trước – Môn học tiên quyết 194

I.3 Môn học song hành 195

I.4 Môn học tương đương – Nhóm tương đương 196

II CHƯƠNG TRÌNH ĐÀO TẠO 199

II.1 Mối liên kết giữa Khoa – Nhóm ngành – Ngành – Khoá ngành – Danh mục hệ đào tạo 199

II.2 Chương trình đào tạo Khoá ngành 201

II.3 Chương trình đào tạo Nhóm ngành 204

II.4 Chương trình đào tạo Chuyên ngành 206

III TIÊU CHUẨN TỐT NGHIỆP – TIÊU CHUẨN GIAI ĐOẠN 208

III.1 Tiêu chuẩn tốt nghiệp 208

III.2 Tiêu chuẩn giai đoạn 210

Chương 3: PHÂN BỐ DỮ LIỆU VÀ HỆ THỐNG PHÂN QUYỀN 213

I PHÂN BỐ DỮ LIỆU 213

I.1 Sơ đồ toàn cục 213

I.2 Sơ đồ phân mảnh 213

I.3 Sơ đồ phân định vị 218

I.4 Mô hình nhân bản 221

II HỆ THỐNG PHÂN QUYỀN 222

Chương 4: CÁC CHỨC NĂNG TRONG PHÂN HỆ 223

I FORM TỪ ĐIỂN DỮ LIỆU 223

I.1 Tự điển môn học 223

I.2 Tự điển môn học tương đương 224

I.3 Tự điển môn học trước / tiên quyết 226

I.4 Tự điển môn học song hành 227

I.5 Tự điển hệ đào tạo 228

I.6 Tự điển nhóm ngành và ngành 229

I.7 Tự điển khóa ngành 231

II FORM CHƯƠNG TRÌNH ĐÀO TẠO 232

II.1 Form chương trình đào tạo nhóm ngành chuẩn 232

II.2 Form chương trình đào tạo chuyên ngành chuẩn 234

II.3 Form chương trình đào tạo khóa ngành 235

III FORM TIÊU CHUẨN HOÀN THÀNH GIAI ĐOẠN – TIÊU CHUẨN TỐT NGHIỆP 236

III.1 Tiêu chuẩn xét hoàn thành giai đoạn 236

III.2 Form tiêu chuẩn tốt nghiệp 237

PHẦN IV: PHÂN HỆ XẾP THỜI KHÓA BIỂU 239

Chương 1:MÔ TẢ PHÂN HỆ XẾP THỜI KHÓA BIỂU 240

Trang 9

I.MỤC ĐÍCH XÂY DỰNG PHÂN HỆ 240

II DỮ LIỆU TRONG PHÂN HỆ 240

III NHỮNG RÀNG BUỘC TRONG PHÂN HỆ XẾP THỜI KHÓA BIỂU 244

III.1 Ràng buộc về tài nguyên 244

III.2 Các ràng buộc theo qui tắc 244

III.3 Một số ràng buộc khác nhằm tăng tính tiện dụng và tăng hiệu quả sử dụng tài nguyên trong hệ thống 245

IV QUI TRÌNH XẾP THỜI KHÓA BIỂU 245

IV.1 Bước chuẩn bị 245

IV.2 Bước nhập liệu 245

IV.3 Bước xếp thời khóa biểu 246

IV.4 Bước chỉnh sửa thời khóa biểu 246

IV.5 Xem thời khóa biểu 247

V THIẾT KẾ GIAO DIỆN 247

V.1 Thiết kế form nhập liệu 247

V.2 Thiết kế report 262

Chương 2: GIẢI THUẬT XẾP THỜI KHÓA BIỂU 267

I SƠ ĐỒ KHỐI 267

II CHIẾN LƯỢC XẾP THỜI KHÓA BIỂU 268

III MÔ HÌNH XẾP THỜI KHÓA BIỂU 269

III.1 Mô hình chạy trên 1 server 270

III.2 Mô hình chạy song song trên nhiều server 273

III.3 Mô hình load tất cả dữ liệu trên hệ phân bố dữ liệu vào quá trình client .275 PHẦN V: PHÂN HỆ ĐĂNG KÝ MÔN HỌC 279

Chương 1: PHÂN TÍCH VÀ THIẾT KẾ 280

I MỤC ĐÍCH 280

II CÁC RÀNG BUỘC 280

III HƯỚNG GIẢI QUYẾT 281

III.1 Sơ đồ các luồng công việc 281

III.2 Thiết kế dữ liệu 284

III.3 Các tiêu chuẩn xét đăng ký môn học 286

III.4 Các chiến lược xét đăng ký môn học trên sơ sở dữ liệu phân bố 286

IV PHÂN QUYỀN 288

Chương 2: CÁC CHỨC NĂNG TRONG PHÂN HỆ 289

I CHỨC NĂNG THỐNG KÊ 289

II CHỨC NĂNG XÉT ĐĂNG KÝ MÔN HỌC 291

III CHỨC NĂNG XÉT VÉT ĐĂNG KÝ MÔN HỌC 293

IV CHỨC NĂNG XEM KẾT QUẢ DKMH CỦA SINH VIÊN 295

V CHỨC NĂNG HIỆU CHỈNH 297

PHẦN VI: PHÂN HỆ XẾP LỊCH THI 301

Chương 1: MÔ TẢ NGHIỆP VỤ 303

I MỤC ĐÍCH 303

I.1 Các yêu cầu 303

Trang 10

I.2 Các ràng buộc về sinh viên khi xếp lịch thi cho một môn thi 305

Chương 2: PHÂN TÍCH VÀ THIẾT KẾ 307

I PHÂN TÍCH VẤN ĐỀ 307

II CÁC HƯỚNG TIẾP CẬN VÀ GIẢI QUYẾT VẤN ĐỀ 307

II.1 Phương pháp phân nhóm 308

II.2 Phương pháp tuần tự 308

II.3 Chiến lược tìm kiếm tổng quát 311

III CÁCH GIẢI QUYẾT VẤN ĐỀ 313

III.1 Các chiến lược xếp lịch thi 313

III.2 Sự kết hợp giữa các chiến lược 314

III.3 Các tiêu chuẩn và thang điểm đánh giá một lịch thi 315

III.4 Các tùy chọn trong khi xếp lịch thi 315

IV CHỌN MÔ HÌNH KHI LÀM VIỆC TRÊN CƠ SỞ DỮ LIỆU PHÂN BỐ .316 Chương 3: QUAN HỆ THỰC THỂ 317

I.ERD 317

II PHÂN BỐ DỮ LIỆU 319

Chương 4: CÁC CHỨC NĂNG CỦA PHÂN HỆ 320

I TÓM TẮT CHỨC NĂNG 320

II THIẾT KẾ FORM 321

III MÔ TẢ GIẢI THUẬT 337

III.1 Sơ đồ khối tổng quát của chương trình 337

III.2 Các phương pháp cụ thể giải quyết các yêu cầu 337

III.2.1 Chọn đơn vị nhỏ nhất cho quá trình xếp lịch thi 337

III.2.2 Xếp theo độ ưu tiên của các chiến lược 337

III.2.3 Xếp lịch thi với các tùy chọn 338

III.2.4 Đánh giá lịch thi theo thang điểm 339

PHẦN VII: PHÂN HỆ QUẢN LÝ ĐIỂM 340

Chương 1: MÔ TẢ NGHIỆP VỤ 341

Chương 2: PHÂN TÍCH VÀ THIẾT KẾ 346

I MỐI LIÊN KẾT GIỮA SINH VIÊN VÀ ĐIỂM TỔNG HỢP 346

II MỐI LIÊN KẾT GIỮA MÔN HỌC VÀ MÔN HỌC TƯƠNG ĐƯƠNG, NHÓM MÔN HỌC TƯƠNG ĐƯƠNG 347

III MỐI LIÊN KẾT GIỮA KHÓA NGÀNH VÀ MÔN BẮT BUỘC TIÊU CHUẨN TỐT NGHIỆP, NHÓM TỰ CHỌN TIÊU CHUẨN TỐT NGHIỆP 349

IV PHÂN BỐ CƠ SỞ DỮ LIỆU 350

Chương 3: CÁC CHỨC NĂNG CỦA PHÂN HỆ 351

I FORM NHẬP SỬA THÔNG TIN MÔN HỌC 351

II FORM NHẬP ĐIỂM THI 353

III FORM NHẬP ĐIỂM THI 1 SINH VIÊN 354

IV FORM CỘNG ĐIỂM TRUNG BÌNH HỌC KỲ VÀ ĐIỂM TRUNG BÌNH TÍCH LŨY TẤT CẢ SINH VIÊN 356

V FORM CỘNG ĐIỂM TRUNG BÌNH HỌC KỲ VÀ ĐIỂM TRUNG BÌNH TÍCH LŨY 1 SINH VIÊN 358

Trang 11

VI FORM CỘNG ĐIỂM TRUNG BÌNH HỌC KỲ VÀ ĐIỂM TRUNG BÌNH TÍCH LŨY THEO DANH SÁCH SINH VIÊN NHẬP VÀO 359VII FORM XÉT TỐT NGHIỆP 360

TÀI LIỆU THAM KHẢO 361

Trang 12

PHAÀN A:

TÌM HIEÅU TÍNH CHAÁT PHAÂN BOÁ CUÛA SQL SERVER 7.0

Trang 13

PHẦN I:

SƠ LƯỢC VỀ

CƠ SỞ DỮ LIỆU PHÂN BỐ

Trang 14

Trong những năm gần đây, cơ sở dữ liệu phân bố đã trở thành một lãnh

vực quan trọng của xử lý thông tin Các công ty hoặc cơ quan có hoạt động quimô lớn cần phải có các hệ thống xử lý thông tin trên một mạng diện rộng Điềunày đòi hỏi một hệ quản trị cơ sở dữ liệu phân bố hiệu quả và có độ tin cậy cao

Cơ sở dữ liệu phân bố tránh được một số nhược điểm của các cơ sở dữ liệu tậptrung và thích hợp với cách tổ chức không tập trung của các công ty hoặc cơ quanlớn

I CÁC ĐẶC ĐIỂM CỦA CƠ SỞ DỮ LIỆU PHÂN BỐ

Cơ sở dữ liệu phân bố không đơn giản là sự phân bố của các cơ sở dữ liệutập trung, bởi vì cơ sở dữ liệu phân bố có nhiều đặc điểm khác biệt so với cơ sởdữ liệu tập trung, truyền thống Phần này so sánh cơ sở dữ liệu phân bố với cơ sở

dữ liệu tập trung ở một số đặc điểm: điều khiển tập trung, sự độc lập dữ liệu, sự

giảm dư thừa dữ liệu, các cấu trúc vật lý phức tạp để truy xuất hiệu quả.

I.1 Điểu khiển tập trung :

Điều khiển tập trung (centralized control) là một đặc điểm của cơ sở dữ

liệu, toàn bộ dữ liệu được tập trung lại nhằm để tránh sự dư thừa dữ liệu, và được

quản lý bởi người quản trị cơ sở dữ liệu Chức năng cơ bản của người quản trị cơ

sở dữ liệu (DBA - database administrator) là bảo đảm sự an toàn của dữ liệu.

Trong các cơ sở dữ liệu phân bố, vấn đề điều khiển tập trung không đượcnhấn mạnh Nói chung, trong các cơ sở dữ liệu phân bố, sự điều khiển được thựchiện theo một cấu trúc điều khiển phân cấp bao gồm hai loại người quản trị cơ sởdữ liệu:

(1) Người quản trị cơ sở dữ liệu toàn cục (global database administrator) là

người có trách nhiệm chính về toàn bộ cơ sở dữ liệu phân bố

(2) Người quản trị cơ sở dữ liệu cục bộ (local database administrator) là người

có trách nhiệm về cơ sở dữ liệu cục bộ của họ

Tuy nhiên, những người quản trị cơ sở dữ liệu cục bộ cần phải có nhữngquyền độc lập riêng về cơ sở dữ liệu dữ liệu cục bộ của mình mà người quản trị

cơ sở dữ liệu toàn cục hoàn toàn không có những quyền này và sự phối hợp giữacác vị trí được thực hiện bởi chính những người quản trị cục bộ Đặc điểm này

được gọi là sự độc lập vị trí Các cơ sở dữ liệu phân bố có thể khác nhau rất nhiều

về mức độ độc lập vị trí: từ sự độc lập vị trí hoàn toàn (không có người quản trị cơsở dữ liệu tập trung) đến sự điều khiển tập trung hầu như hoàn toàn

I.2 Sự độc lập dữ liệu :

Sự độc lập dữ liệu (data independence) cũng là một đặc điểm của cơ sở dữ

liệu Sự độc lập dữ liệu có nghĩa là tổ chức hiện tại của dữ liệu là trong suốt đối

Trang 15

với người lập trình ứng dụng Ưu điểm chính của sự độc lập dữ liệu là các chươngtrình không bị ảnh hưởng bởi những thay đổi về tổ chức vật lý của dữ liệu.

Trong các cơ sở dữ liệu phân bố, sự độc lập dữ liệu cũng quan trọng nhưtrong các cơ sở dữ liệu tập trung Tuy nhiên, một đặc điểm mới được đưa vào

trong khái niệm thông thường của sự độc lập dữ liệu là sự trong suốt phân bố

(distribution transparency) Nhờ sự trong suốt phân bố này mà các chương trình

ứng dụng có thể được viết giống như trong cơ sở dữ liệu không được phân bố Chonên, tính đúng đắn của các chương trình ứng dụng không bị ảnh hưởng bởi sự dichuyển dữ liệu từ một vị trí này đến một vị trí khác Tuy nhiên, tốc độ thực hiệncủa các chương trình ứng dụng thì bị ảnh hưởng

Sự độc lập dữ liệu trong cơ sở dữ liệu tập trung được thể hiện thông quamột kiến trúc nhiều mức, các mức này có những mô tả khác nhau về dữ liệu, vàcó những ánh xạ biến đổi giữa các mức này Sự trong suốt phân bố trong cơ sở dữliệu phân bố được thê hiện bằng cách bổ sung thêm các mức trong suốt vào kiến

trúc nhiều mức của cơ sở dữ liệu tập trung Xem “Chương 3 Các mức trong suốt

của dữ liệu phân bố”.

I.3 Sự giảm dư thừa dữ liệu

Trong các cơ sở dữ liệu tập trung, sự dư thừa dữ liệu cần được giảm bớtcàng nhiều càng tốt vì hai lý do: tránh sự không nhất quán giữa nhiều bản sao củacùng dữ liệu bằng cách chỉ có một bản sao, và tiết kiệm vùng nhớ lưu trữ Khi đó,các ứng dụng cùng chia xẻ dữ liệu, cùng truy xuất đến các tập tin dữ liệu

Tuy nhiên, trong các cơ sở dữ liệu phân bố, sự dư thừa dữ liệu như là mộtđặc điểm cần thiết, vì các lý do sau:

(1) Làm tăng tính cục bộ của các ứng dụng nếu dữ liệu được nhân bản tại tất

cả các vị trí mà ứng dụng cần dữ liệu này Khi đó, các ứng dụng cục bộ được thực hiện nhanh hơn vì không cần phải truy xuất dữ liệu từ xa.(2) Làm tăng tính sẵn sàng của hệ thống ứng dụng, bởi vì một vị trí bị hỏng

sẽ không làm ngưng sự thực hiện của các ứng dụng ở những vị trí khác nếu dữ liệu tại vị trí bị hỏng được nhân bản tại các vị trí khác

Tuy nhiên, sự nhân bản dữ liệu cần phải xem xét kỹ lưỡng dựa vào hai

loại ứng dụng cơ bản, đó là ứng dụng chỉ đọc và ứng dụng cập nhật Sự nhân bản

dữ liệu giúp cho các ứng dụng chỉ đọc được thực hiện nhanh hơn, nhưng nó làmcho các ứng dụng cập bị thực hiện lâu hơn vì phải cập nhật dữ liệu tại các vị tríđược nhân bản

Như vậy, sự nhân bản dữ liệu sẽ là một ưu điểm nếu hệ thống có rất nhiềuứng dụng chỉ đọc và có rất ít ứng dụng cập nhật; trong trường hợp ngược lại thì sựnhân bản dữ liệu lại là một nhược điểm

Trang 16

II KIẾN TRÚC THAM KHẢO DÙNG CHO CÁC CƠ SỞ DỮ LIỆU PHÂN BỐ

Hình ở trang kế tiếp trình bày một kiến trúc tham khảo dùng cho một cơ sởdữ liệu phân bố Kiến trúc tham khảo này không được thực hiện một cách tườngminh trong tất cả cơ sở dữ liệu phân bố; tuy nhiên, các mức của nó thích hợp ởmức ý niệm để hiểu về tổ chức của một cơ sở dữ liệu phân bố bất kỳ

II.1 Lược đồ toàn cục

Ở mức cao nhất của kiến trúc này là lược đồ toàn cục (global schema).

Lược đồ toàn cục dùng để định nghĩa tất cả các dữ liệu được chứa trong cơ sở dữliệu phân bố và cũng giống như toàn bộ cơ sở dữ liệu không được phân bố Dođó, lược đồ toàn cục có thể được định nghĩa theo cách hoàn toàn giống với cáchđịnh nghĩa trong một cơ sở dữ liệu không phân bố Chúng ta dùng mô hình dữ liệuquan hệ để minh họa cho một lược đồ toàn cục và các ánh xạ giữa các mức khácnhau của cơ sở dữ liệu phân bố Trong mô hình dữ liệu quan hệ này, lược đồ toàn

cục bao gồm định nghĩa một tập hợp các quan hệ toàn cục (global relation).

Ví dụ: Một lược đồ toàn cục như sau

sinhvien (masv, hoten, tuoi, malop)

lop (malop, tenlop, malt, tenkhoa)

hoc (masv, mamh, diem)

monhoc (mamh, tenmh)

trong đó:

Sinhvien chứa thông tin về sinh viên gồm: mã sinh viên (masv), họ tên (hoten),

tuổi (tuoi), thuộc lớp (malop) Khóa là masv

Lop chứa thông tin về lớp học gồm: mã lớp (malop), tên lớp (tenlop), mã lớp

trưởng (malt), thuộc khoa (tenkhoa) Khóa là malop

Monhoc chứa thông tin về môn học gồm: mã môn học (mamh), tên môn học

(tenmh)hoc chứa thông tin về sinh viên (masv) học môn học (mamh) có điểm thi

cuối kỳ (diem) Khóa là masv và mamh

Trang 17

II.2 Lược đồ phân mảnh

Mỗi quan hệ toàn cục có thể được phân chia thành nhiều phần không giao

nhau và các phần này được gọi là các mảnh (fragment) Có nhiều cách khác nhau

để thực hiện phép phân chia này Aùnh xạ giữa các quan hệ toàn cục và các mảnh

được định nghĩa trong lược đồ phân mảnh (fragmentation schema) Aùnh xạ này là

một - nhiều, nghĩa là một quan hệ toàn cục có thể được phân chia thành nhiềumảnh, nhưng một mảnh chỉ tương ứng với một quan hệ toàn cục Các mảnh đượcchỉ ra bởi một tên quan hệ toàn cục và một chỉ số mảnh; ví dụ Ri chỉ ra mảnh thứ icủa quan hệ toàn cục R

Ví dụ: Một lược đồ phân mảnh tương ứng với lược đồ toàn cục ở trên như sau, giảsử chỉ có hai khoa tên là ‘CNTT’ và ‘DIEN’

lop1 (malop, tenlop, malt, tenkhoa)

lop2 (malop, tenlop, malt, tenkhoa)

Lược đồ định vị(Allocation schema)

Lược đồ toàn cục(Global Schema)

Lược đồ phân mảnh(Fragmentation Schema)

Hệ quản trị CSDL (DBMS)tại vị trí n

Lược đồ ánh xạ cục bộ n(Local MappingSchema)

CSDL cục bộ n(Local Database)

Hệ quản trị CSDL

(DBMS)tại vị trí 1

Lược đồ ánh xạ cục bộ 1

Trang 18

sinhvien1 (masv, hoten, tuoi, malop)

sinhvien2 (masv, hoten, tuoi, malop)

trong đó:

lop1 mảnh chứa dữ liệu của các lớp thuộc khoa ‘CNTT’

lop2 mảnh chứa dữ liệu của các lớp thuộc khoa ‘DIEN’

sinhvien1 mảnh chứa dữ liệu của các sinh viên thuộc khoa ‘CNTT’

sinhvien2 mảnh chứa dữ liệu của các sinh viên thuộc khoa ‘DIEN’

và các ánh xạ phân mảnh là:

lop1 = tenkhoa = ‘CNTT’ (lop)

lop2 = tenkhoa = ‘DIEN’ (lop)

sinhvien1 = sinhvien < malop = malop (lop1)

sinhvien2 = sinhvien < malop = malop (lop2)

II.3 Lược đồ định vị

Các mảnh là những phần luận lý của các quan hệ toàn cục mà chúng được

lưu trữ vật lý ở một hoặc nhiều vị trí khác nhau của mạng Lược đồ định vị

(allocation schema) xác định một mảnh được lưu ở những vị trí nào Loại của ánh xạ được xác định trong lược đồ định vị sẽ xác định cơ sở dữ liệu phân bố là dư

thừa hoặc không dư thừa Nếu một mảnh chỉ được lưu trữ tại một vị trí thì ánh xạ

là một – một (không dư thừa dữ liệu), nếu một mảnh được lưu trữ tại nhiều vị tríkhác nhau thì ánh xạ là một – nhiều (có dư thừa dữ liệu) Tất cả các mảnh tươngứng với cùng một quan hệ toàn cục R và được lưu trữ ở cùng một vị trí j sẽ tạo

thành một hình ảnh vật lý (physical image) của quan hệ toàn cục R tại vị trí j – quan hệ cục bộ (local relation) của R tại vị trí j Vì thế có một ánh xạ một - một

giữa một hình ảnh vật lý với một cặp (quan hệ toàn cục, vị trí); các hình ảnh vật

lý có thể được chỉ ra bởi một tên quan hệ toàn cục và một chỉ số vị trí Để phânbiệt quan hệ cục bộ với các mảnh, chúng ta sẽ dùng chỉ số trên, ví dụ Rj chỉ rahình ảnh vật lý của quan hệ toàn cục R tại vị trí j

Một ví dụ về mối liên kết giữa các loại đối tượng được định nghĩa ở trênsẽ được chỉ ra trong hình dưới đây Một quan hệ toàn cục R được phân chia thànhbốn mảnh R1, R2, R3 và R4 Bốn mảnh này được lưu trữ một cách dư thừa ở ba vịtrí của một mạng máy tính, tạo thành ba hình ảnh vật lý R1, R2 và R3

Trang 19

Quan hệ toàn cục Các mảnh Hình ảnh vật lý

Chúng ta sẽ tham khảo đến một nhân bản (replica) của một mảnh ở một

vị trí cho trước, và ký hiệu nó bằng cách dùng tên quan hệ toàn cục và hai chỉ số(một chỉ số mảnh và một chỉ số vị trí)

Ví dụ: Ký hiệu R23 chỉ ra nhân bản của mảnh R2 được lưu trữ ở vị trí 3

Hai hình ảnh vật lý có thể giống nhau Trong trường hợp này, chúng ta sẽnói rằng một hình ảnh vật lý là một nhân bản của một hình ảnh vật lý khác

Ví dụ: R1 là một nhân bản của R2

Trong kiến trúc tham khảo ở trên, chúng ta đã mô tả các mối liên kết giữa

các đối tượng ở ba mức trên cùng của kiến trúc này Ba mức này là độc lập vị trí

R2

(vị trí 2)

R3(vị trí 3)

Trang 20

(site independent) bởi vì chúng không phụ thuộc vào mô hình dữ liệu của các

DBMS cục bộ

II.4 Lược đồ ánh xạ cục bộ

Mức thấp hơn ba mức trên sẽ phụ thuộc vào mô hình dữ liệu của DBMScục bộ nhằm để ánh xạ các hình ảnh vật lý vào các đối tượng mà chúng được

thao tác bởi các DBMS cục bộ Aùnh xạ này được gọi là một lược đồ ánh xạ cục bộ (local mapping schema) và phụ thuộc vào loại DBMS cục bộ Vì thế, trong một

hệ thống không đồng nhất (heterogenous system), chúng ta có nhiều loại ánh xạ

cục bộ khác nhau ở các vị trí khác nhau

III CÁC MỨC TRONG SUỐT :

 Mức 1 : Tính “trong suốt” phân mảnh : Ở mức này, các trình ứng dụng truy

xuất và cập nhật dữ liệu theo phương thức như là CSDL không được phân bố,và hệ thống có nhiệm vụ thực thi tất cả các thao tác được yêu cầu rõ ràngtrong các sơ đồ phân mảnh và định vị Như vậy, các ứng dụng hoàn toànkhông bị ảnh hưởng khi có bất kỳ sự thay đổi nào trong các sơ đồ nằm dưới sơđồ toàn cục (global schema) trong kiến trúc tham khảo ở trên

 Mức 2 : Trính “trong suốt” vị trí : Ở mức này, người lập trình ứng dụng phải

giao dịch rõ ràng với các fragment Và các ứng dụng độc lập với các thay đổi

ở sơ đồ định vị (allocation schema) nhưng lại phải thay đổi khi có sự thay đổi

ở sơ đồ phân mảnh (fragmentation schema) vì các cấu trúc của sự phân mảnhđược đưa vào ứng dụng Tuy nhiên, chính bản thân của tính “trong suốt” vị trícũng rất có ích vì nó cho phép các ứng dụng bỏ qua sự tồn tại nhiều bản saocủa mỗi fragment, qua đó cho phép các bản sao được di chuyển từ site nàyđến site khác và cho phép tạo ra các bản sao mới mà không ảnh hưởng đếncác ứng dụng Ngoài ra, lợi dụng sự hiểu biết cấu trúc của sự phân mảnh,người lập trình có thể chọn ra được chiến lược tốt nhất để thực thi các thaotác trong các ứng dụng, công việc mà ở mức 1 hệ quản lý CSDL phải thựchiện tự động và nhiều khi chiến lược được chọn không phải là tốt nhất

 Mức 3 : Tính “trong suốt” ánh xạ cục bộ Các ứng dụng buộc phải liên quan

đến vị trí của các fragment và nếu có sự cập nhật dữ liệu thì phải lưu ý đếnsự sao chép dữ liệu (replication) Các ứng dụng tuy v† n tham khảo đến cácđối tượng thông qua các tên độc lập với các hệ cục bộ riêng lẻ nhưng phải chỉđịnh rõ site lưu giữ các đối tượng đó Trong các ứng dụng, mỗi primitive truyxuất CSDL được hệ quản lý CSDL phân bố gửi đến các site riêng biệt và cácprimitive này sử dụng tên fragment không phụ thuộc site (site-independentfragment names) Nếu sự ánh xạ này không được hệ quản lý CSDL cung cấpthì ứng dụng sẽ phải đưa vào trực tiếp tên tập tin được các hệ cục bộ sử dụng.Tuy nhiên, khía cạnh quan trọng nhất của tính “trong suốt” ánh xạ cục bộ

Trang 21

không phải là sự ánh xạ giữa tên fragment và tên cục bộ mà là sự ánh xạgiữa các primitive dùng trong trình ứng dụng và các primitive được các hệCSDL cục bộ sử dụng Vì vậy, tính “trong suốt” ánh xạ cục bộ là một đặctính quan trọng trong một hệ CSDL phân bố không đồng nhất.

 Mức 4 : Không có tính “trong suốt” : Người lập trình ứng dụng phải biết tất

cả các thông tin về sự phân mảnh, sự định vị, sự sao chép cũng như tên củacác bản sao của các fragment tại các site khác nhau để có thể tạo ra một ứngdụng thao tác trên các fragment đó Ngoài ra, họ còn phải tạo các chươngtrình hỗ trợ để thực thi các chức năng cần thiết bằng ngôn ngữ thích hợp vớihệ quản lý CSDL cục bộ và cài đặt các chương trình này tại các site tươngứng, đồng thời trong các ứng dụng phải có yêu cầu kích hoạt các chương trìnhhỗ trợ từ xa này để thực hiện các thao tác cần thiết

IV CÁC LOẠI PHÂN MẢNH :

IV.1 Quy luật phân mảnh :

 Điều kiện hoàn toàn : Tất cả dữ liệu trong quan hệ toàn cục phải được ánh xạvào phân mảnh

 Điều kiện có thể tạo lại được : phải luôn luôn có khả năng tạo lại quan hệtoàn cục

 Điều kiện không giao nhau : các phân mảnh phải không giao nhau Điều kiệnnày chỉ áp dụng đối với phân mảnh ngang

IV.2 Các loại phân mảnh :

 Phân mảnh ngang : Bao gồm các phân mảnh trong quan hệ toàn cục đượcphân thành những tập con dựa trên thuộc tính của quan hệ và toán hạng lựachọn (selection)

 Phân mảnh suy diễn ngang : Các phân mảnh không chia theo thuộc tính củachính quan hệ mà dựa trên sự phân mảnh của quan hệ khác

 Phân mảnh dọc : Các phân mảnh được chia theo những thuộc tính tạo thànhnhóm

Trang 23

CHƯƠNG 1:

TÌM HIỂU TỐI ƯU HÓA TRUY VẤN TRONG CƠ SỞ DỮ LIỆU PHÂN BỐ

I TRUY VẤN BIỂU THỨC CHUẨN TẮC CỦA TRUY VẤN

I.1 Truy vấn:

Truy vấn (query) là một biểu thức được biểu diễn bằng một ngôn ngữ thích

hợp và dùng để xác định một phần dữ liệu được chứa trong cơ sở dữ liệu

Một truy vấn có thể được dùng để xác định ngữ nghĩa của một ứng dụng,hoặc nó có thể được dùng để xác định công việc cần được thực hiện bởi một ứngdụng nhằm để truy xuất cơ sở dữ liệu

Ví dụ: Xét truy vấn cho biết tên lớp của lớp có mã lớp là ‘MT01’ Truy vấn nàycó thể được biểu diễn bởi một biểu thức đại số quan hệ như sau:

tenlop (malop=’MT01’ (lop))

Một truy vấn có thể được biểu diễn bởi một cây toán tử Một cây toán tử (operator tree) của một truy vấn, còn được gọi là cây truy vấn (query tree) hoặc cây đại số quan hệ (relational algebra tree), là một cây mà một nút lá là một quan

hệ trong cơ sở dữ liệu, và một nút khác lá (nút trung gian hoặc nút gốc) là mộtquan hệ trung gian được tạo ra bởi một phép toán đại số quan hệ Chuỗi các phéptoán đại số quan hệ được thực hiện từ các nút lá đến nút gốc để tạo ra kết quả củatruy vấn

Ví dụ: Truy vấn trên có thể được biểu diễn bằng một cây toán tử như sau:

tenlop

malop = 1lop

Trang 24

I.2 Biểu thức chuẩn tắc của truy vấn

Biểu thức chuẩn tắc (canonical expression) của một biểu thức đại số quan

hệ trên lược đồ toàn cục là một biểu thức có được bằng cách thay thế mỗi tênquan hệ toàn cục xuất hiện trong biểu thức bởi biểu thức tái lập của quan hệ toàncục này

Tương tự, chúng ta có thể biến đổi một cây toán tử trên lược đồ toàn cụcthành một cây toán tử trên lược đồ phân mảnh bằng cách thay thế các nút lá củacây đầu tiên bằng các biểu thức chuẩn tắc của chúng Một điều quan trọng là bâygiờ các nút lá của cây toán tử của biểu thức chuẩn tắc là các mảnh thay vì là cácquan hệ toàn cục

Ví dụ: Giả sử chúng ta chỉ có hai ngành mã số ngành là 4 và 5 Quan hệ lop được phân mảnh ngang dựa vào msnganh thành hai mảnh lop1 và lop2.

lop1 = lop  msnganh = 4 (lop)

lop2 = lop  msnganh = 5 (lop)

Biểu thức tái lập của quan hệ toàn cục lop là:

lop = lop1  lop2

Biểu thức chuẩn tắc của biểu thức truy vấn này là:

tenlop (malop=’MT01’ (lop1  lop2))

Thay thế quan hệ toàn cục lop trong cây toán tử bởi biểu thức tái lập ở trên,

chúng ta được cây toán tử như sau:

Trang 25

Sơ đồ tối ưu hóa truy vấn trong cơ sở dữ liệu tập trung bao gồm các bướcsau:

Truy vấn SQL

Kiểm tra ngữ pháp

Truy vấn đúng ngữ pháp

Kiểm tra sự hợp lệ

Truy vấn SQL hợp lệ

Dịch truy vấn

Truy vấn đại số quan hệ

Tối ưu hóa đại số quan hệ

Truy vấn đại số quan hệ được tối ưu hóa

Chọn chiến lược

Kế hoạch thực hiện

Tạo sinh mã

Mã cho truy vấn

Trang 26

Khi một hệ quản trị dữ liệu (DBMS) nhận một truy vấn viết bằng ngônngữ cấp cao, chẳng hạn SQL, DBMS thực hiện các bước sau đây

II.1 Bước 1 - Kiểm tra ngữ pháp (Syntax Checking)

Trong bước này, DBMS sẽ kiểm tra ngữ pháp của truy vấn ban đầu (SQLquery) Nếu truy vấn bị sai ngữ pháp thì DBMS sẽ thông báo truy vấn bị sai ngữpháp và truy vấn này sẽ không được thực hiện Nếu truy vấn đúng ngữ pháp(syntactically correct SQL query) thì DBMS sẽ tiếp tục thực hiện bước 2

Ví dụ: Xét truy vấn

SELECT mssv, hoten

FORM sinhvien;

Truy vấn này bị sai ngữ pháp (viết sai từ khóa FROM)

II.2 Bước 2 - Kiểm tra sự hợp lệ (Validation)

Trong bước này, DBMS sẽ thực hiện các công việc:

- Kiểm tra sự tồn tại của các đối tượng dữ liệu (các cột, các biến, cácbảng, vvv…) của truy vấn trong cơ sở dữ liệu

- Kiểm tra sự hợp lệ về kiểu dữ liệu của các đối tượng dữ liệu (các cột,các biến, vv…) trong truy vấn

Ví dụ: Xét truy vấn

SELECT mssv, hotenFROM sinh_vien;

Truy vấn này có bảng sinh_vien không tồn tại trong cơ sở dữ liệu.

Ví dụ: Xét truy vấn

SELECT mssv, hotenFROM sinhvienWHERE soTCTL = ‘90’;

Truy vấn này không hợp lệ vì có cột soTCTL (thuộc kiểu dữ liệu Number)

so sánh với một hằng chuỗi ‘90’ trong mệnh đề WHERE.

Nếu truy vấn chứa các đối tượng dữ liệu không tồn tại hoặc truy vấn chứacác đối tượng dữ liệu không phù hợp kiểu dữ liệu với nhau thì DBMS sẽ thôngbáo các đối tượng dữ liệu nào không tồn tại hoặc các đối tượng dữ liệu nào khôngphù hợp kiểu dữ liệu và truy vấn này sẽ không được thực hiện Nếu các đối tượng

Trang 27

dữ liệu này đều tồn tại trong cơ sở dữ liệu (truy vấn hợp lệ – valid SQL query) thìDBMS sẽ tiếp tục thực hiện bước 3.

II.3 Bước 3 - Dịch truy vấn (Translation)

Trong bước này, DBMS sẽ biến đổi truy vấn hợp lệ này thành một dạngbiểu diễn bên trong hệ thống ở mức thấp hơn mà DBMS có thể sử dụng được.Một trong các dạng biểu diễn bên trong này là việc sử dụng đại số quan hệ bởi vìcác phép toán đại số quan hệ được biến đổi dễ dàng thành các tác vụ của hệthống: truy vấn ban đầu được biến đổi thành một biểu thức đại số quan hệ haycòn gọi là truy vấn đại số quan hệ (relational algebra query)

II.4 Bước 4 - Tối ưu hóa biểu thức đại số quan hệ (Relational Algebra

Optimization)

Trong bước này, DBMS sử dụng các phép biến đổi tương đương của đại sốquan hệ để biến đổi biểu thức đại số quan hệ có được ở bước 3 thành một biểuthức đại số quan hệ tương đương (theo nghĩa chúng có cùng một kết quả) nhưngbiểu thức sau sẽ hiệu quả hơn: loại bỏ các phép toán không cần thiết và giảmvùng nhớ trung gian Cuối bước này, DBMS tạo ra một truy vấn đại số quan hệ đãđược tối ưu hóa (optimized relational algebra query)

II.5 Bước 5 - Chọn lựa chiến lược truy xuất (Strategy Selection)

Trong bước này, DBMS sử dụng các thông số về kích thước của các bảng,các chỉ mục, vv để xác định cách xử lý truy vấn DBMS sẽ đánh giá chi phí củacác kế hoạch thực hiện khác nhau có thể có để từ đó chọn ra một kế hoạch thực

hiện (execution plan) cụ thể sao cho tốn ít chi phí nhất (thời gian xử lý và vùng

nhớ trung gian) Các thông số dùng để đánh giá chi phí của kế hoạch thực hiệngồm: số lần và loại truy xuất đĩa, kích thước của vùng nhớ chính và vùng nhớngoài, và thời gian thực hiện của các tác vụ để tạo ra kết quả của truy vấn Cuốibước này, DBMS tạo ra một kế hoạch thực hiện cho truy vấn

II.6 Bước 6 - Tạo sinh mã (Code Generation)

Trong bước này, kế hoạch thực hiện của truy vấn có được ở cuối bước 5 sẽđược mã hóa và được thực hiện

III TỐI ƯU HÓA TRUY VẤN TRONG CƠ SỞ DỮ LIỆU PHÂN BỐ

Trang 28

Tối ưu hóa truy vấn trong cơ sở dữ liệu phân bố bao gồm một số bước đầucủa tối ưu hóa truy vấn trong cơ sở dữ liệu tập trung và một số bước tối ưu hóa cóliên quan đến sự phân bố dữ liệu.

III.1 Bước 1 - Phân rã truy vấn (Query Decomposition)

Bước này còn được gọi là bước Tối ưu hóa truy vấn trên lược đồ toàn cục.

Bước này giống với các bước 1, 2, 3 và 4 của tối ưu hóa truy vấn trong cơ sở dữ liệu tập trung, nhằm để biến đổi một truy vấn viết bằng ngôn ngữ cấp cao, chẳng

hạn SQL, thành một biểu thức đại số quan hệ tương đương (theo nghĩa chúng cho

ra cùng một kết quả) và hiệu quả (theo nghĩa loại bỏ các phép toán đại số quan hệ không cần thiết, giảm vùng nhớ trung gian) Bước này chưa đề cặp đến sự phân bố

dữ liệu

Tối ưu hóa truy vấn trên lược đồ toàn cục bao gồm 4 bước sau:

III.1.1 Bước 1.1 - Phân tích truy vấn

Trong bước này, DBMS kiểm tra ngữ pháp của truy vấn, kiểm trasự tồn tại của các đối tượng dữ liệu (tên cột, tên bảng, vv…) của truy vấntrong cơ sở dữ liệu, phát hiện các phép toán trong truy vấn bị sai về kiểu

dữ liệu, điều kiện của mệnh đề WHERE có thể bị sai về ngữ nghĩa.

Phân tích điều kiện của mệnh đề WHERE để phát hiện truy vấn bị

sai Có hai loại sai:

- Sai về kiểu dữ liệu (type incorrect)

- Sai về ngữ nghĩa (semantically incorrect)Truy vấn bị sai về kiểu dữ liệu

Một truy vấn bị sai về kiểu dữ liệu nếu các thuộc tính của nó hoặc các tên quan hệ không được định nghĩa trong lược đồ toàn cục, hoặc nếu các phép toán được áp dụng cho các thuộc tính bị sai về kiểu dữ liệu

Để giải quyết cho vấn đề này, trong lược đồ toàn cục, chúng taphải mô tả kiểu dữ liệu của các thuộc tính của các quan hệ

Sơ đồ tối ưu hóa truy vấn trong cơ sở dữ liệu phân bố bao gồm cácbước sau:

Trang 29

Truy vấn trêncác quan hệ được phân bố

Phân rã truy vấn

(Lược đồ toàn cục)

Truy vấn đại số quan hệ trêncác quan hệ được phân bố

Định vị dữ liệu

(Lược đồ phân mảnh)Truy vấn mảnh

Tối ưu hóa truy vấn toàn cục

Truy vấn mảnh được tối ưu hóavới các tác vụ truyền thông

Tối ưu hóa truy vấn cục bộ

Các truy vấn cục bộ được tối ưu hóa

Ví dụ: Xét truy vấn:

SELECT masv, hoten

Trang 30

FROM sinhvien

WHERE soTCTL = ‘123’;

Truy vấn này có hai lỗi sai:

(1) masv không tồn tại trong quan hệ sinhvien, và

(2) soTCTL thuộc kiểu Number không thể so sánh với hằng chuỗi ‘123’.

Truy vấn bị sai về ngữ nghĩa

Một truy vấn bị sai về ngữ nghĩa nếu nó có chứa các thành phần không tham gia vào quá trình tạo ra kết quả của truy vấn

Để phát hiện một truy vấn bị sai về ngữ nghĩa, chúng ta dùng một đồ thị truy vấn (query graph) hoặc đồ thị kết nối quan hệ (relation connection graph) cho

các truy vấn có chứa các phép chọn, phép chiếu và phép kết Trong một đồ thị

truy vấn, một nút biểu diễn cho một quan hệ kết quả (result relation) và các nút khác biểu diễn cho các quan hệ toán hạng (operand relation) Một cạnh giữa hai

nút quan hệ toán hạng biểu diễn cho một phép kết, một cạnh giữa một nút quan hệ toán hạng với một nút quan hệ kết quả biểu diễn cho một phép chiếu Một nút quan hệ toán hạng có thể chứa một điều kiện chọn Một đồ thị con quan trọng củađồ thị này là đồ thị kết (join graph) được dùng trong bước tối ưu hóa truy vấn

Một truy vấn bị sai về ngữ nghĩa nếu đồ thị truy vấn của nó là không liên thông Đồ thị không liên thông là một đồ thị bao gồm nhiều thành phần liên

thông, mỗi thành phần liên thông là một đồ thị con riêng biệt, hai thành phần liênthông không được nối với nhau thông qua các cạnh Trong trường hợp này, một truy vấn được xem là đúng đắn bằng cách chỉ giữ lại thành phần có liên quan đến quan hệ kết quả và loại bỏ các thành phần còn lại

Nếu đồ thị truy vấn của truy vấn là không liên thông, truy vấn bị sai về ngữ nghĩa Có ba giải pháp cho vấn đề này là:

(1) Hủy bỏ truy vấn này

(2) Hủy bỏ các bảng không cần thiết trong mệnh đề From và các điều kiện có

liên quan đến các bảng này trong mệnh đề WHERE.

(3) Bổ sung điều kiện kết sao cho đồ thị truy vấn được liên thông Một đồ thị

truy vấn có thể không bị sai ngữ nghĩa nếu đồ thị này là một đồ thị đơn (cónhiều nhất một cạnh nối giữa hai đỉnh), liên thông và số cạnh bằng số đỉnhtrừ 1

III.1.2 Bước 1.2 - Chuẩn hóa điều kiện của mệnh đề WHERE

Điều kiện ghi trong mệnh đề WHERE là một biểu thức luận lý có

thể bao gồm các phép toán luận lý (not, and, or) được viết dưới một dạng bất kỳ

Trang 31

Ký hiệu các phép toán luận lý: not (), and (), or () Bước này nhằm mục đích

chuẩn hóa điều kiện của mệnh đề Where về một trong hai dạng chuẩn:

- Dạng chuẩn giao (conjunctive normal form)

(p11  p12   p1n)   (pm1  pm2   pmn)

- Dạng chuẩn hợp (disjunctive normal form)

(p11  p12   p1n)   (pm1  pm2   pmn)

trong đó pij là một biến luận lý (có giá trị là true hoặc false) hoặc là một

vị từ đơn giản (simple predicate) có dạng:

Để biến đổi điều kiện của mệnh đề WHERE về một trong hai dạng

chuẩn trên, chúng ta sử dụng các phép biến đổi tương đương của các phéptoán luận lý Ký hiệu  là sự tương đương

Các phép biến đổi tương đương:

Trang 32

(9) (p)  p

Ví dụ: Xét truy vấn

SELECT mslopFROM sinhvienWHERE (NOT (mslop = 1)

AND (mslop = 1 OR mslop = 2)AND NOT (mslop = 2))

OR hoten = ‘Nam’;

Điều kiện q của mệnh đề WHERE là:

(NOT (mslop = 1) AND (mslop = 1 OR mslop = 2) AND NOT (mslop = 2)) OR hoten = ‘Nam’

Ký hiệu:

p1 là mslop = 1

p2 là mslop = 2

p3 là hoten = ‘Nam’

Điều kiện q sẽ là:

(p1  (p1  p2)  p2)  p3

Bằng cách áp dụng các phép biến đổi (3), (5) để đưa điều kiện q về dạngchuẩn hợp:

(p1  p1  p2)  (p1  p2  p2)  p3

III.1.3 Bước 1.3 - Đơn giản hóa điều kiện của mệnh đề WHERE

Bước này sử dụng các phép biến đổi tương đương của cácphép toán luận lý (not, and, or) để rút gọn điều kiện của mệnh đề

WHERE.

Các phép biến đổi tương đương gồm có:

(10) p  p  p(11) p  p  p

Trang 33

Áp dụng phép biến đổi (15), chúng ta được điều kiện q cuối cùng là

p3, tức là hoten = ‘Nam’ Vậy truy vấn này trở thành truy vấn sau:

SELECT mslopFROM sinhvienWHERE hoten = ‘Nam’;

III.1.4 Bước 1.4 - Biến đổi truy vấn thành một biểu thức đại số quan hệ hiệu quả

Bước này sử dụng các phép biến đổi tương đương của các

phép toán đại số quan hệ nhằm để loại bỏ các phép toán đại số

quan hệ không cần thiết và giảm vùng nhớ trung gian được sử dụng

trong quá trình thực hiện các phép toán đại số quan hệ cần thiếtcho truy vấn

Bước này bao gồm hai bước sau đây:

Bước 1.4.1 - Biến đổi truy vấn thành một biểu thức đại số quan hệ,

biểu diễn biểu thức đại số quan hệ này bằng một cây toán tử

Trang 34

Bước 1.4.2 - Đơn giản hóa cây toán tử để có được một biểu thức

đại số quan hệ hiệu quả

Bước 1.4.1 Biểu diễn truy vấn bằng cây toán tử

Quá trình biến đổi một truy vấn được viết bằng lệnh

SELECT thành một cây toán tử bao gồm các bước như sau:

(1) Các nút lá được tạo lập từ các quan hệ ghi trong mệnh đềFrom

(2) Nút gốc được tạo lập bằng phép chiếu trên các thuộc tính

ghi trong mệnh đề SELECT.

(3) Điều kiện ghi trong mệnh đề WHERE được biến đổi thành

một chuỗi thích hợp các phép toán đại số quan hệ (phép chọn, phépkết, phép hợp, vv ) đi từ các nút lá đến nút gốc Chuỗi các phéptoán này có thể được cho trực tiếp bởi thứ tự của các vị từ đơn giảnvà các phép toán luận lý

Một cây toán tử tương ứng với một biểu thức đại số quan hệ

Bước 1.4.2 Đơn giản hóa cây toán tử

Đơn giản hóa cây toán tử nhằm mục đích để đạt hiệu quả (loại bỏ các phép toán dư thừa trên các quan hệ, giảm vùng nhớ

trung gian, giảm thời gian xử lý truy vấn) bằng cách sử dụng các

phép biến đổi tương đương của các phép toán đại số quan hệ

Trong bước đơn giản hóa cây toán tử, một điều quan trọngtrong việc áp dụng các phép biến đổi tương đương cho một biểu

thức truy vấn là việc phát hiện các biểu thức con chung (common

subexpression) có trong biểu thức truy vấn, nghĩa là các biểu thức

con xuất hiện nhiều lần trong biểu thức truy vấn Điều này có ý

nghĩa là tiết kiệm thời gian thực hiện truy vấn vì các biểu thức con

này chỉ được định trị duy nhất một lần Một phương pháp để nhậnbiết chúng là ở chỗ việc biến đổi cây toán tử tương ứng thành mộtđồ thị toán tử bằng cách trước tiên gộp các nút lá giống nhau củacây (nghĩa là các quan hệ giống nhau), và sau đó gộp các nút trunggian khác của cây tương ứng với cùng các phép toán và có cùngcác toán hạng

Khi các biểu thức con đã được xác định, chúng ta có thể sửdụng các phép biến đổi tương đương sau đây để đơn giản hóa mộtcây toán tử:

(1) R  R  R

(2) R  R  R

Trang 35

(3) R - R  (4) R  F (R)  F R(5) R  F (R)  R(6) R - F (R)  

F (R)(7) F1 (R)  F2 (R)  F1  F2 (R)(8) F1 (R)  F2 (R)  F1  F2 (R)(9) F1 (R) - F2 (R)  F1  F2 (R)(10) R  R  R

(11) R  F (R)  F (R)(12) F1 (R)  F2 (R)   F1  F2 (R)(13) F (R) - R  

Ý nghĩa của các phép biến đổi này là loại bỏ các phép toán dư

thừa.

Ví dụ: Xét truy vấn Q13 cho biết các họ tên của các sinh viênthuộc lớp có mã tên lớp là 1 và các sinh viên này có số tín chỉ tích lũykhông lớn hơn 90 tín chỉ Một biểu thức cho truy vấn này là:

hoten((sinhvien mslop = mslop  tenlop = 1 (lop)) -

(soTCTL > 90 (sinhvien) mslop = mslop tenlop = 1 (lop))

Cây toán tử tương ứng:

hoten_

Trang 36

sinhvien  tenlop = 1 tuoi > 20 tenlop = 1

Để phát hiện ra biểu thức con chung, chúng ta bắt đầu bằng cách gộp các

nút lá tương ứng với các quan hệ sinhvien và lop Sau đó chúng ta đặt thừa số là phép chọn trên tenlop đối với phép kết (trong cách làm này, chúng ta di chuyển

phép chọn lên phía trên) Bâây giờ, chúng ta có thể trộn các nút tương ứng với

phép chọn trên soTCTL và cuối cùng các nút tương ứng với phép kết; chúng ta

được cây toán tử sau:

hoten_

soTCTL > 90

mslop = mslop

lopAùp dụng phép biến đổi tương đương (6) với R là biểu thức:

sinhvien mslop = mslop tenlop = 1 lop

chúng ta được cây toán tử sau:

hoten

soTCTL  90

mslop = mslop

Trang 37

và biểu thức đại số quan hệ sau khi đã đơn giản hóa là:

hoten (hoten,mslop (soTCTL  90 (sinhvien))

mslop=mslop mslop(tenlop = 1 (lop)))

Đơn giản hóa một biểu thức đại số quan hệ được thực hiện dựa trên cáctiêu chuẩn sau đây:

Tiêu chuẩn 1 Dùng tính idempotence của phép chọn và phép chiếu để tạo ra các

phép chọn và các phép chiếu thích hợp cho mỗi quan hệ toán hạng

Tiêu chuẩn 2 Thực hiện các phép chọn và các phép chiếu càng sớm càng tốt, tức

là đẩy các phép chọn và các phép chiếu xuống phía dưới cây càng xa càngtốt

Trang 38

Tiêu chuẩn 3 Khi các phép chọn được thực hiện sau một phép tích thì kết hợp

các phép toán này để tạo thành một phép kết

Tiêu chuẩn 4 Kết hợp chuỗi các phép toán một ngôi liên tiếp nhau áp dụng cho

một quan hệ toán hạng Một chuỗi các phép chọn liên tiếp nhau (hoặc mộtchuỗi các phép kết liên tiếp nhau) có thể được kết hợp thành một phépchọn (hoặc phép kết)

Tiêu chuẩn 5 Khi phát hiện các biểu thức con chung trong biểu thức truy vấn, áp

dụng các phép biến đổi tương đương để đơn giản hóa biểu thức truy vấn

III.1.5 Một giải thuật tối ưu hóa một biểu thức đại số quan hệ trên lược đồ toàn cục

Vào: Một biểu thức đại số quan hệ trên lược đồ toàn cục Ra: Một biểu thức đại số quan hệ đã được tối ưu hóaGiải thuật tối ưu hóa một biểu thức đại số quan hệ trên lược đồtoàn cục bao gồm các bước sau đây:

Bước 1 Phát hiện các biểu thức con chung có trong cây toán tử,

biến đổi cây toán tử dựa trên biểu thức con chung

Bước 2 Thực hiện phép chọn càng sớm càng tốt Sử dụng tính

idempotence của phép chọn, tính giao hoán của phép chọn với phép chiếu,và tính phân phối của phép chọn đối với phép hợp, phép giao, phép hiệu,phép kết và phép tích để di chuyển phép chọn càng xuống phía dưới câycàng tốt

Sử dụng các phép biến đổi tương đương:

Trang 39

( nếu F = F1  F2 và Attr(F1)  Attr(R) và Attr(F2)  Attr(R)  Attr(S))

Bước 3 Thực hiện phép chiếu càng sớm càng tốt Sử dụng tính

idempotence của phép chiếu, tính phân phối của phép chiếu đối với phéphợp, phép kết và phép tích để di chuyển phép chiếu càng xuống phía dướicây càng tốt Kiểm tra tất cả các phép chiếu là cần thiết, loại bỏ phépchiếu không cần thiết nếu phép này chiếu trên tất cả các thuộc tính củaquan hệ toán hạng

Sử dụng các phép biến đổi:

Trang 40

( nếu X1  Attr(R) và X2  Attr(S))

Bước 4 Nếu một phép chọn được thực hiện ngay sau một phép

tích, mà phép chọn bao gồm các thuộc tính của các quan hệ trong phéptích, thì biến đổi phép tích thành phép kết Nếu phép chọn chỉ bao gồmcác thuộc tính của một quan hệ trong phép tích, thì thực hiện phép chọncho quan hệ này trước khi thực hiện phép tích

Sử dụng các phép biến đổi:

( nếu F = F1  F2 và Attr(F1)  Attr(R) và Attr(F2)  Attr(R)  Attr(S))

Bước 5 Nếu có một chuỗi các phép chọn và/hoặc các phép chiếu,

sử dụng tính giao hoán hoặc tính idempotence để kết hợp chúng thành mộtphép chọn, một phép chiếu hoặc một phép chọn đi trước một phép chiếuvà áp dụng chúng cho mỗi bộ của quan hệ toán hạng Nếu một phép kếthoặc phép tích đi trước một chuỗi các phép chọn hoặc các phép chiếu, thìáp dụng chúng cho mỗi bộ của phép kết hoặc phép chiếu ngay khi tạo rakết quả

Bước 6 Sử dụng tính kết hợp của phép giao, phép tích, và phép kết

để sắp xếp lại các quan hệ trong cây toán tử, sao cho phép toán nào mà nótạo ra kết quả ít nhất sẽ được thực hiện trước tiên

Sử dụng các phép biến đổi:

(R  S)  T  (R  T)  S

(R  S)  T  (R  T)  S

(R F1 S) F2 T  (R F2 T) F1 S

( nếu Attr(F2)  Attr(R)  Attr(T))

( nếu Attr(F1)  Attr(R)  Attr(S))

Ngày đăng: 31/08/2012, 10:00

Xem thêm

HÌNH ẢNH LIÊN QUAN

Hình minh họa: - SQL Server 7.0
Hình minh họa: (Trang 63)
Hình minh họa: - SQL Server 7.0
Hình minh họa: (Trang 67)
Hình minh họa: - SQL Server 7.0
Hình minh họa: (Trang 70)
Hình minh họa: - SQL Server 7.0
Hình minh họa: (Trang 71)
Hình minh họa quá trình khôi phục giao dịch - SQL Server 7.0
Hình minh họa quá trình khôi phục giao dịch (Trang 130)
Bảng LOP: - SQL Server 7.0
ng LOP: (Trang 167)
Bảng này dùng để tham khảo khi xếp TKB . - SQL Server 7.0
Bảng n ày dùng để tham khảo khi xếp TKB (Trang 227)

TỪ KHÓA LIÊN QUAN

w