Phân tích, xử lí câu hỏi trong cơ sở dữ liệu phân tán

Một phần của tài liệu (LUẬN văn THẠC sĩ) mô hình cơ sở dữ liệu phân tán và áp dụng vào bài toán quản lý đào tạo (Trang 36 - 39)

2.3.3. Phân rã truy vấn

Phân rã vấn tin là giai đoạn đầu tiên của quá trình xử lý câu vấn tin. Nó biến đổi câu vấn tin ở dạng phép tính quan hệ thành câu vấn tin đại số quan hệ. Phân rã vấn tin đều giống nhau trong cả hệ thống tập trung lẫn phân tán. Phân rã vấn tin có thể xem như bốn bước liên tiếp nhau: Chuẩn hoá, phân tích, loại bỏ dư thừa, viết lại câu vấn tin.

2.3.3.1. Chuẩn hóa

Mục đích của việc chuẩn hoá là biến đổi một câu truy vấn sang một dạng chuẩn để xử lý tiếp. Với các ngôn ngữ quan hệ như SQL, việc chuyển đổi quan trọng nhất là lượng từ hoá truy vấn (mệnh đề WHERE). Có 2 dạng chuẩn có thể cho việc dự đoán: một là đưa ra mức độ ưu tiên cho phép AND và còn lại cho phép OR.

 Dạng chuẩn hội là hội của các tuyển như sau: (p11 ∨ p12 ∨ …∨ p1n) ∧ …∧

(pm1∨ pm2 ∨ …∨ pmn) ; trong đó, pij là một vị từ đơn giản.

 Ngược lại một lượng từ hoá ở dạng tuyển: (p11 ∧ p12 ∧ … ∧ p1n) ∨…∨ (m1

Biến đổi các vị từ phi lượng từ bằng cách sử dụng các quy tắc tương đương như sau: 1. p1 ∧ p2 ⇔ p2 ∧ p1. 2. p1 ∨ p2 ⇔ p2 ∨ p1 3. p1 ∧ (p2 ∧ p3) ⇔ (p1 ∧ p2 ) ∧ p3 4. p1 ∨ (p2 ∨ p3) ⇔ (p1 ∨ p2 )∨ p3 5. p1 ∧ (p2 ∨ p3) ⇔ (p1 ∧ p2) ∨ (p1 ∧ p3) 6. p1 ∨ (p2 ∧ p3) ⇔ (p1 ∨ p2)∧ (p1 ∨ p3) 7. ¬ (p1 ∧ p2 ) ⇔ ¬ p1 ∨ (¬p2) 8. ¬(p1 ∨ p2 ) ⇔ ¬ p1 ∧ (¬p2) 9. ¬ (¬ p) ⇔ p

Thí dụ “Tìm tên các sinh viên học môn MH1 có điểm thi lần 1 là 9 hoặc 10 điểm”.

SELECT HOTEN

FROM SINHVIEN, DIEM

WHERE SINHVIEN.MASV = DIEM.MASV AND MAMONHOC = “MH1”

AND LANTHI = 1

AND DIEMTHI = 9 OR DIEMTHI = 10

Lượng từ hoá dạng chuẩn hội là:

SINHVIEN.MASV = DIEM.MASV ∧ DIEM.MAMONHOC = “MH1” ∧

LANTHI = 1 ∧ (DIEMTHI = 9 V DIEMTHI = 10)

Lượng từ hoá dạng chuẩn tuyển là:

(SINHVIEN.MASV = DIEM.MASV ∧ DIEM.MAMONHOC = “MH1” ∧

LANTHI = 1 ∧ DIEMTHI = 9) ∨ (SINHVIEN.MASV = DIEM.MASV ∧

DIEM.MAMONHOC = “MH1” ∧ LANTHI = 1 ∧ DIEMTHI = 10)

2.3.3.2. Phân tích

Bước phân tích câu truy vấn cho phép loại bỏ câu truy vấn đã được chuẩn hoá nhưng sai kiểu hoặc không đúng ngữ nghĩa.

Sai kiểu: Một câu truy vấn sai kiểu nếu có một thuộc tính trong quan hệ hay tên một quan hệ cha được khai báo trong lược đồ toàn cục, hoặc các thao tác áp dụng cho các thuộc tính có kiểu không thích hợp. Tìm các truy vấn có kiểu không đúng tương tự

như kiểm tra khai báo kiểu trong các ngôn ngữ lập trình. Chẳng hạn SELECT MAMONHOC FROM SINHVIEN WHERE HOTEN > 5. Truy vấn này sai kiểu, vì

 Thuộc tính MAMONHOC không phải là thuộc tính của lược đồ quan hệ toàn

cục.

 HOTEN có kiểu chuỗi không thể so sánh với 5 kiểu số.

Sai ngữ nghĩa: Một câu truy vấn được gọi là sai nghĩa nếu các thành phần của nó không tham gia vào việc tạo ra kết quả. Để có thể xác định tính đúng đắn ngữ nghĩa câu truy vấn tổng quát, bằng cách biểu diễn đồ thị truy vấn hay đồ thị kết nối gồm các phép chọn, phép chiếu và các phép kết nối, không chứa các phép tuyển và phép phủ định.

Người ta biểu diễn bằng đồ thị vấn tin, với một số kí pháp sau :

 Một Node biểu thị một quan hệ kết quả;

 Các nút khác biểu thị cho quan hệ toán hạng;

 Đường nối giữa 2 Node không phải là quan hệ kết quả biểu thị cho phép kết nối;

 Đường nối có Node đích là quan hệ kết quả biểu thị cho phép chiếu;

 Các Node quan hệ toán hạng có thể được gán nhãn là một vị từ chọn hoặc vị từ tự kết nối;

 Đồ thị nối: Một đồ thị con quan trọng của đồ thị vấn tin, nó chỉ có các nối. Thí dụ xét cơ sở dữ liệu với các bảng dữ liệu:

Diem (MaSV, Mamonhoc, lanthi, diemthi) Sinhvien (MaSV, hoten, diachi, malop) Monhoc (Mamonhoc, tenmonhoc, soTC)

“Tìm tên của những sinh viên có malop=‟L1‟ có điểm thi môn „Cơ sở dữ liệu‟ cao hơn hoặc bằng 5.

Select hoten

From Diem, Sinhvien, Monhoc

Where Diem.MaSV = Sinhvien.MaSV and Diem.Mamonhoc = Monhoc.Mamonhoc and tenmonhoc = „Cơ sở dữ liệu‟

Các vị từ đơn giản: p1: Diem.MaSV = Sinhvien.MaSV; p2: Diem.Mamonhoc = Monhoc.Mamonhoc; p3: tenmonhoc = „Cơ sở dữ liệu‟; p4: malop =‟L1‟; p5: diemthi >=5.

Một phần của tài liệu (LUẬN văn THẠC sĩ) mô hình cơ sở dữ liệu phân tán và áp dụng vào bài toán quản lý đào tạo (Trang 36 - 39)

Tải bản đầy đủ (PDF)

(59 trang)