Trường Đại học Khoa học Huế TRƯỜNG ĐẠI HỌC KHOA HOC ĐỀ KIỂM TRA MÔN CSDL NÂNG CAO KHOA CÔNG NGHỆ THÔNG TIN LỚP CAO HỌC KHMT K2020 – ((( Thời gian 90 phút CÂU 1 Tính trong suốt của một cơ sở dữ liệu ph.
Trang 1TRƯỜNG ĐẠI HỌC KHOA HOC ĐỀ KIỂM TRA MÔN CSDL NÂNG CAO
KHOA CÔNG NGHỆ THÔNG TIN LỚP CAO HỌC KHMT K2020 –
CÂU 1: Tính trong suốt của một cơ sở dữ liệu phân tán được hiểu như thế nào? Cho ví dụ minh
họa
BÀI LÀM
Tính trong suốt của một hệ phân tán được hiểu như là việc che khuất đi các thành phần riêng biệt của hệ đối với người sử dụng và những người lập trình ứng dụng
Các loại trong suốt trong hệ phân tán:
1 Trong suốt phân đoạn (fragmentation transparency)
2 Trong suốt về vị trí (location transparency)
3 Trong suốt ánh xạ địa phương (local mapping transparency)
4 Trong suốt nhân bản (replication transparency)
5 Không trong suốt (no transparency)
a Trong suốt phân đoạn (fragmentation transparency):
Khi dữ liệu đã được phân đoạn thì việc truy cập vào CSDL được thực hiện bình thường như là chưa bị phân tán và không ảnh hưởng tới người sử dụng
Ví dụ: Xét quan hệ tổng thể NCC (Id, Tên, Tuổi) và các phân đoạn được tách ra từ nó:
NCC1 (Id, Tên, Tuổi)
NCC2 (Id, Tên, Tuổi)
NCC3 (Id, Tên, Tuổi)
Giả sử DDBMS cung cấp tính trong suốt về phân đoạn, khi đó ta có thể thấy tính trong suốt này được thể hiện như sau:
Khi muốn tìm một người có Id=”Id1“ thì chỉ cần tìm trên quan hệ tổng thể NCC mà không cần
biết quan hệ NCC có phân tán hay không
SELECT *
FROM NCC
WHERE Id=”Id1”
Trang 2b.Tính trong suốt về vị trí (location transparency):
Người sử dụng không cần biết về vị trí vật lý của dữ liệu mà có quyền truy cập đến cơ sở
dữ liệu tại bất cứ vị trí nào Các thao tác để lấy hoặc cập nhật một dữ liệu từ xa được tự động thực hiện bởi hệ thống tại điểm đưa ra yêu cầu Tính trong suốt về vị trí rất hữu ích, nó cho phép người
sử dụng bỏ qua các bản sao dữ liệu đã tồn tại ở mỗi vị trí Do đó có thể di chuyển một bản sao dữ liệu từ một vị trí này đến một vị trí khác và cho phép tạo các bản sao mới mà không ảnh hưởng đến các ứng dụng
Ví dụ: Với quan hệ tổng thể R và các phân đoạn như đã nói ở trên nhưng giả sử rằng DDBMS
cung cấp trong suốt về vị trí nhưng không cung cấp trong suốt về phân đoạn
Xét câu truy vấn tìm người có Id=”Id1”.
SELECT *
FROM NCC1
WHERE Id=”Id1”
IF NOT #FOUND THEN
SELECT * FROM NCC2
WHERE Id=”Id1”
Đầu tiên hệ thống sẽ thực hiện tìm kiếm ở phân đoạn NCC1 và nếu DBMS trả về biến điều khiển #FOUND thì một câu lệnh truy vấn tương tự được thực hiện trên phân đoạn NCC2 , Ở đây
Trang 3quan hệ NCC2 được sao làm hai bản trên hai vị trí2 và vị trí3, ta chỉ cần tìm thông tin trên quan hệ NCC2 mà không cần quan tâm nó ở vị trí nào
c Trong suốt ánh xạ địa phương (local mapping transparency):
Là một đặc tính quan trọng trong một hệ thống DBMS không đồng nhất Ứng dụng tham chiếu đến các đối tượng có các tên độc lập từ các hệ thống cục bộ địa phương Ứng dụng được cài đặt trên một hệ thống không đồng nhất nhưng được sử dụng như một hệ thống đồng nhất
Ví dụ: Với ví dụ như trên nhưng giả sử rằng DBMS cung cấp tính trong suốt ánh xạ địa phương.
SELECT *
FROM NCC1 AS Vị trí 1
WHERE Id=”Id1”
IF NOT #FOUND THEN
SELECT * FROM NCC2 AS Vị trí 2 WHERE Id=”Id1”
d Trong suốt nhân bản (replication transparency)
Trang 4Mức trong suốt bản sao liên quan chặt chẽ tới mức trong suốt định vị Mức trong suốt bản sao có nghĩa là người sử dụng không biết bản sao của đoạn đặt ở vị trí nào Mức trong suốt bản sao tương đương mức trong suốt định vị Tuy nhiên, trong những trường hợp thực tế người sử dụng không có mức trong suốt định vị nhưng lại có mức trong suốt bản sao
e Không trong suốt (no transparency)
CÂU 2: Để quản lý việc học tập của học viên cao học Trường Đại học khoa học người ta sử dụng một CSDL bao gồm các quan hệ sau:
HV=HOCVIEN (MaHV, HTen, QQuan, MaNganh, GioiTinh): lưu thông tin về học viên,
NG=NGANH (MaNganh, TenNganh): lưu các thông tin về các ngành đào tạo cao học,
HP=HPHAN (MaHP, TenHP): danh sách các học phần đào tạo cao học,
DIEM (MaHV, MaHP, DiemSo): điểm số học phần của mỗi học viên.
Xét câu truy vấn:
SELECT HTen, TenNganh, TenHP, DiemSo
FROM HV, NG, HP, DIEM
WHERE QQuan=“Tph Huế”
AND NOT(GioiTinh=.T OR DiemSo<5) AND DiemSo>8
AND TenNganh<>”Toán học” AND TenNganh=”Khoa học máy tính”
AND HV.MaHV=DIEM.MaHV
AND HP.MaHP=DIEM.MaHP
AND HV.MaNganh=NG.MaNganh
a Câu truy vấn trên có đúng ngữ nghĩa không? Giải thích
b Hãy đơn giản hóa câu truy vấn trên bằng cách sử dụng các quy tắc lũy đẳng
c Vẽ cây đại số quan hệ của câu truy vấn sau khi đã đơn giản
BÀI LÀM
a Câu truy vấn trên đúng về mặt ngữ nghĩa vì: Sau khi vẽ đồ thị kết nối và đồ thị truy vấn từ đề
bài đã cho thì ta thấy đồ thị truy vấn liên thông
Trang 5b Ta thấy:
+ Đoạn lệnh: AND TenNganh<>”Toán học” AND TenNganh=”Khoa học máy tính” dư thừa không cần thiết TenNganh<>”Toán học” chỉ cần AND TenNganh=”Khoa học máy tính” là đủ.
+ Đoạn lệnh AND NOT(GioiTinh=.T OR DiemSo<5) AND DiemSo>8 lấy điểm số >=5
và >8 dẫn tới thừa điều kiện Diemso>=5
Câu truy vấn trên nên sửa lại như sau:
SELECT HTen, TenNganh, TenHP, DiemSo
FROM HV, NG, HP, DIEM
WHERE QQuan=“Tph Huế”
AND NOT(GioiTinh= “T”) AND DiemSo>8
AND TenNganh=”Khoa học máy tính”
AND HV.MaHV=DIEM.MaHV
AND HP.MaHP=DIEM.MaHP
AND HV.MaNganh=NG.MaNganh
Đặt p1: QQuan=“Tph Huế” p2:GioiTinh= “T” p3: DiemSo>8
p4: TenNganh=”Khoa học máy tính” p5: HV.MaHV=DIEM.MaHV
p6: HP.MaHP=DIEM.MaHP p7: HV.MaNganh=NG.MaNganh
Các vị từ sau mệnh đề WHERE được mô tả lại:
p: p1 p2 p3 p4 p5 p6 p7
c Vẽ cây đại số quan hệ của câu truy vấn sau khi đã rút gọn
Trang 6CÂU 3: Gọi:
DIEM1=s Diemso<5(DIEM), DIEM2=s5£Diemso<8(DIEM) và DIEM3=sDiemso≥8(DIEM)
HV1=HOCVIEN MaHV DIEM1, HV2=HOCVIEN MaHV DIEM2 và
HV3=HOCVIEN MaHV DIEM3 là các mảnh dữ liệu được lấy từ 2 quan hệ DIEM và HOCVIEN trong CSDL đã nói ở câu 2
Q là câu truy vấn “Cho biết họ tên của học viên có điểm môn Cơ sở dữ liệu phân tán là 9
điểm”.
a Chứng minh rằng việc phân mảnh ở trên bảo đảm các tiêu chuẩn về phân mảnh quan hệ
b Hãy vẽ đồ thị truy vấn ban đầu và đồ thị truy vấn rút gọn của câu truy vấn ở trên
BÀI LÀM
a DIEM1=s Diemso<5(DIEM) (Đ1)
DIEM2=s5£Diemso<8(DIEM) (Đ2)
DIEM3=sDiemso≥8(DIEM) (Đ3)
Dễ thấy các phân mảnh trên thỏa đầy đủ các tính chất:
Trang 7+ Đầy đủ:
+ Tái thiết được
+ Tách biệt
DIEM 1 DIEM
DIEM 2 DIEM
DIEM 3 DIEM
DIEM = DIEM 1 DIEM 2 DIEM 3
HV1 HV
HV2 HV
HV3 HV
HV DIEM = HV1 DIEM1 HV2 DIEM2 HV3 DIEM3
Cho nên việc phân mảnh ở trên bảo đảm các tiêu chuẩn về phân mảnh quan hệ
b Xét truy vấn trên ta có cây đại số quan hệ ban đầu
.
HV TenHV
MaHV MaHV MaHV
s Diemso<5 s Diemso>=5 và Diemso<8 s Diemso=9 s TenHP=”CSDL Phân tán”
Đ1 HV1 Đ2 HV2 Đ3 HV3 HP
Ta có đồ thị truy vấn rút gọn như sau::
.
HV TenHV
Trang 8MaHV s TenHP=”CSDL Phân tán”
s Diemso=9
Đ3 HV3 HP