LỜI CẢM ƠN
S
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àm việ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 khi bắt
tay vào nghề nghiệp trong tương lai.
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ại
nhữ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 trung
cô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ỉ đạo
và 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ô trong
khoa, đã 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ện
luậ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ực tế
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 đang
theo 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ân
thà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ạnh khỏe,
tiếp tục đạt được nhiều thắng lợi trong nghiên cứu khoa học và sự nghiệp giáo dục.
Trân trọng kính chào!
Sinh viên thực hiện
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
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
III.2. Tác vụ của giao dịch phân boá.......................................................................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
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 doï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 HP ( 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
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
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
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
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
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 HP...........................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
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 VAØO.........................................359
VII. FORM XÉT TỐT NGHIỆP..........................................................................360
TÀI LIỆU THAM KHẢO.................................................................................361
PHẦN 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Ố
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 qui mô 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ều nà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ập trung 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ơ quan lớ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ệu
tậ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 được
nhấn mạnh. Nói chung, trong các cơ sở dữ liệu phân bố, sự điều khiển được thực
hiệ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ững
quyề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ữa cá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 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ương trì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ố. Cho nê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ự di chuyể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ện củ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 qua mộ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ớt
cà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ủa
cù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àm cho
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.
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ường
minh 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ệu quan 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ác nhau 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
Lop
Monhoc
hoc
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.
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.
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)
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 vaø mamh.
Lược đồ toàn cục
(Global Schema)
Lược đồ phân mảnh
(Fragmentation Schema)
Lược đồ định vị
(Allocation schema)
Lược đồ ánh xạ cục bộ 1
(Local Mapping
Schema) 1
Hệ quản trị CSDL
(DBMS)
tại vị trí 1
CSDL cục bộ 1
(Local Database)
Các
lược
đồ
độc
lập
vị
trí
Lược đồ ánh xạ cục bộ n
(Local Mapping Schema)
Hệ quản trị CSDL
(DBMS)
tại vị trí n
CSDL cục bộ n
(Local Database)
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. 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). 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ều
mả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 được
chỉ 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ứ i
củ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)
sinhvien1 (masv, hoten, tuoi, malop)
sinhvien2 (masv, hoten, tuoi, malop)
trong đó:
lop1
lop2
sinhvien1
sinhvien2
mảnh chứa dữ liệu của các lớp thuộc khoa ‘CNTT’.
mảnh chứa dữ liệu của các lớp thuộc khoa ‘DIEN’.
mảnh chứa dữ liệu của các sinh viên thuộc khoa ‘CNTT’.
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 = σ
lop2 = σ
tenkhoa = ‘CNTT’
tenkhoa = ‘DIEN’
sinhvien1 = sinhvien ><
sinhvien2 = sinhvien ><
(lop)
(lop)
malop = malop
malop = malop
(lop1)
(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ân biệ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ỉ ra hì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ên sẽ
được chỉ ra trong hình dưới đây. Một quan hệ toàn cục R được phân chia thành bố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 vaø R3.
R
R1
R1 1
R1
(vị trí1)
R2 1
R2
R1 2
R3
R4
R2 2
R2
(vị trí 2)
R2 3
R3
3
R3
(vị trí 3)
R4 3
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í
(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 DBMS cụ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ộ. 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àng trong
các sơ đồ phân mảnh và định vị. Như vậy, các ứng dụng hoàn toàn khô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 sao
củ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 đến cá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 thao tác trong các
ứng dụng, công việc mà ở mức 1 hệ quản lý CSDL phải thực hiệ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 ý đến sự
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 truy xuất
CSDL được hệ quản lý CSDL phân bố gửi đến các site riêng biệt và các
primitive này sử dụng tên fragment không phụ thuộc site (site-independent
fragment names). Nếu sự ánh xạ này không được hệ quản lý CSDL cung cấp
thì ứ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 boä
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 đặc tí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ủa các
bản sao của các fragment tại các site khác nhau để có thể tạo ra một ứng dụng
thao tác trên các fragment đó. Ngoài ra, họ còn phải tạo các chương trì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ới hệ 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ình hỗ 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ện nà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 được
phâ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ựa
chọ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ủa
chí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ành
nhóm.
PHẦN II:
TỐI ƯU HÓA TRUY VẤN
TRONG CƠ SỞ DỮ LIỆU
PHÂN BOÁ
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 ứng
dụ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ày có
thể được biểu diễn bởi một biểu thức đại số quan hệ như sau:
Π
(σ
(lop))
tenlop malop=’MT01’
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ột quan hệ
trung gian được tạo ra bởi một phép toán đại số quan hệ. Chuỗi các phép toá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ủa truy 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 = 1
lop
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ên quan
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àn cụ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ục
thà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ủa
câ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ây
giờ 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ác
quan 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
lop2 = lop σ
(lop)
msnganh = 5
(lop)
Bieå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à:
Π
(σ
(lop1 ∪ lop2))
tenlop malop=’MT01’
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:
Π
tenlop
σ
malop = ’MT01’
∪
lop1
lop2
II. TỐI ƯU HÓA TRUY VẤN TRONG CƠ SỞ DỮ LIỆU TẬP TRUNG
Sơ đồ tối ưu hóa truy vấn trong cơ sở dữ liệu tập trung bao gồm các bước
sau:
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
Khi một hệ quản trị dữ liệu (DBMS) nhận một truy vấn viết bằng ngôn ngữ
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)