09.01.2013 Views

Cơ sở dữ liệu - e-ptit.edu.vn

Cơ sở dữ liệu - e-ptit.edu.vn

Cơ sở dữ liệu - e-ptit.edu.vn

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chương I: Khái niệm cơ bản về các hệ cơ <strong>sở</strong> <strong>dữ</strong> <strong>liệu</strong><br />

• Xóa khỏi R một tập các bộ DR,: V new =V old - σF(DR).<br />

Xem xét phép chọn V = ΠA(R): Giả sử quan hệ R có dạng R=(A,B) và chứa hai bộ<br />

(a,2) và (a,3). Sau khi thực hiện phép chiếu trên thuộc tính A, quan hệ kết quả ΠA(R)<br />

chứa bộ đơn (a). Nếu xóa bộ (a,2) ra khỏi R:<br />

• Xóa trực tiếp từ ΠA(R): khi đó quan hệ ΠA(R) là quan hệ rỗng.<br />

• Xóa từ quan hệ R trước khi chiếu, quan hệ ΠA(R) sẽ chứa bộ đơn (a).<br />

Như vậy tùy từng trường hợp cụ thể sử dụng phương pháp khung nhìn. Trong trường hợp<br />

xóa sau phép chiếu đúng, nếu lực lượng của ΠA(R) lớn hơn 1. Ngược lại sẽ cho kết quả sai.<br />

6.6.3 Các phép toán khối<br />

Các phép toán khối, về nguyên tắc cũng như các phép chiếu và chọn. Các phép khối trong<br />

SQL là các phép COUNT(), SUM() , AVG(), MIN() và MAX().<br />

COUNT(): Xem xét khung nhìn cụ thể hóa V= COUNT(GROUP BY A)), phân<br />

hoạch theo thuộc tính A và đếm theo nó: Chèn<br />

• Nếu không tồn tại, chèn thêm ( t.A.1) vào khung nhìn cụ thể hóa.<br />

• Nếu tồn tại ( t.A) , thêm 1 vào giá trị đếm của nhóm.<br />

SUM(): V = SUM(GROUP BY A)).<br />

AVG()<br />

MIN(), MAX().<br />

6.6.4 Các phép toán khác<br />

Phép giao tập hợp: V = R ∩ S, :<br />

• Chèn một bộ vào R.<br />

• Xóa khỏi tập giao nếu nó tồn tại trong đó.<br />

Các phép toán tập hợp khác: Hợp và hiệu được thực hiện theo kiểu tương tự .<br />

6.6.5 Tối ưu hóa các câu hỏi và các khung nhìn cụ thể hóa<br />

Tối ưu hóa các câu hỏi có thể được thực hiện bằng cách xem các khung nhìn cụ thể hoá như<br />

là các quan hệ . Tuy nhiên, sử dụng phương pháp các khung nhìn cụ thể hóa tùy trong các<br />

trường hợp cụ thể.<br />

Biến đổi câu hỏi để sử dụng khung nhìn cụ thể hóa: Giả sử có một khung nhìn cụ thể<br />

�� �� ��<br />

��<br />

V = R S và một câu hỏi R S T. Khi đó câu hỏi có thể biến đổi và<br />

đựoc sử dụng khung nhìn cụ thể như sau: V T.<br />

Thay thế khung nhìn cụ thể bằng khung nhìn bình thường. Giả sử có một khung nhìn<br />

cụ thể V = R �� S và một câu hỏi của người sử dụng yêu cầu thực hiện: σ A=<br />

10(V). Giả sử S có một chỉ số trên thuộc tính B và R có một chỉ số trên thuộc tính A.<br />

Khi đó phương án tốt nhất cho câu hỏi này có thể thay thế khung nhìn cụ thể V bởi<br />

khung nhìn bình thường R �� S: σ A= 10(R) �� S. Phép chọn và kết nối có thể<br />

được thực hiện một cách hiệu quả bằng cách sử dụng tương ứng các chỉ số trong R.A và<br />

S.B . Ngược lại đánh giá phép chọn một cách trực tiếp trên V có thể đòi hỏi sự quét toàn<br />

bộ V mà có thể tốn kém hơn nhiều.<br />

139

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!