FROM E, G

Một phần của tài liệu chuong 6 - distributed database (Trang 77 - 81)

- Cỏc phộp toỏn cần phải được sắp xếp để trỏnh thực hiện tớch Descartes hoặc để lại thực hiện sau.

FROM E, G

WHERE E.MANV= G.MANV

AND G.MADA=”J1”

AND THOIGIAN=12 OR THOIGIAN=24

Điều kiện trong dạng chuẩn hội là:

E.MANV=G.MANV

E.MANV=G.MANV ∧∧ G.MADA=”J1” G.MADA=”J1” ∧∧ (THOIGIAN=12 (THOIGIAN=12 ∨∨ THOIGIAN=24) THOIGIAN=24)

Điều kiện trong dạng chuẩn tuyển là:

2. Phõn tớch

Mục đớch: Phỏt hiện ra những thành phần khụng đỳng (sai

kiểu hoặc sai ngữ nghĩa) và loại bỏ chỳng sớm nhất nếu cú thể.

Truy vấn sai kiểu: nếu một thuộc tớnh bất kỳ hoặc tờn quan

hệ của nú khụng được định nghĩa trong lược đồ tổng thể, hoặc phộp toỏn ỏp dụng cho cỏc thuộc tớnh sai kiểu.

Vớ dụ: truy vấn dưới đõy là sai kiểu

SELECT E#

FROM E

WHERE E.TENNV > 200

vỡ hai lý do:

•Thuộc tớnh E# khụng khai bỏo trong lược đồ

•Phộp toỏn “>200” khụng thớch hợp với kiểu chuỗi của thuộc tớnh E.TENNV

Truy vấn sai ngữ 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ả.

Để xỏc định truy vấn cú sai về ngữ nghĩa hay khụng, ta dựa trờn việc biểu diễn truy vấn như một đồ thị gọi là đồ thị

truy vấn. Đồ thị này được xỏc định bởi cỏc truy vấn liờn quan

đến phộp chọn, chiếu và nối. Nếu đồ thị truy vấn mà khụng khụng

liờn thụng thỡ truy vấn là sai ngữ nghĩa

liờn thụng thỡ truy vấn là sai ngữ nghĩa

Đồ thị truy vấn:

• Cú một nỳt dựng để biểu diễn cho quan hệ kết quả

• Cỏc nỳt khỏc biểu diễn cho cỏc toỏn hạng trong cõu truy vấn (cỏc quan hệ)

• Cạnh nối giữa hai nỳt mà khụng phải là nỳt kết quả thỡ biểu diễn một phộp nối.phộp nối.

• Cạnh cú nỳt đớch là nỳt kết quả thỡ biểu diễn một phộp chiếu. phộp chiếu

• Một nỳt khụng phải là nỳt kết quả cú thể được gỏn nhón bởi

phộp chọn

phộp chọn hoặc phộp tự nối (seft-join: nối của quan hệ với chớnh nú). phộp tự nối

Đồ thị kết nối:

• Là một đồ thị con của đồ thị truy vấn (join graph), trong đú chỉ cú phộp nối.

Vớ dụ: Từ cỏc quan hệ E=E (MANV, TENNV, CHUCVU) và G =

HOSO (MANV, MADA, NHIEMVU, THOIGIAN) và J=DUAN (MADA, TENDA, NGANSACH).

Hóy xỏc định “Tờn và nhiệm vụ cỏc lập trỡnh viờn làm dự ỏn

CSDL cú thời gian lớn hơn 3 năm.”

Truy vấn SQL tương ứng là:

SELECT E.TENNV, G.NHIEMVU

FROM E, G, J

WHERE E.MANV=G.MANV

AND G.MADA.= J.MADA

AND TENDA=”CSDL”

Một phần của tài liệu chuong 6 - distributed database (Trang 77 - 81)

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

(114 trang)