Cỏc cõu hỏi tương đương do tớnh toàn vẹn

Một phần của tài liệu Tài liệu Giáo trình về dữ liệu và các mô hình cơ sở dữ liệu docx (Trang 53)

b. Kết hợp nhiều lệnh SELECT

3.2.2.4 Cỏc cõu hỏi tương đương do tớnh toàn vẹn

Dựa vào cỏc điều kiện toàn vẹn của cơ sở dữ liệu người ta cú thể rỳt gọn cõu hỏi. Thực chất cỏc điều kiện hỏi đó tổng hợp từ cỏc điều kiện về tớnh toàn vẹn và cỏc điều kiện hỏi. việc đơn giản hoỏ cỏc điều kiện này nhằm tăng tốc độ trả lời cõu hỏi.

Vớ dụ: “Tỡm tờn cỏc hóng cú tỡnh trạng nhỏ hơn hoặc bằng 10”. Cõu hỏi này viết bằng ngụn ngữ SQL như sau:

SELECT HANG.THang

FROM HANG

WHERE HANG.TTrang <= 10

Nếu cơ sở dữ liệu chỉ lưu cỏc hóng cú tỡnh trạng lớn hơn hoặc bằng 10, tức là nú cú ràng buộc

HANG.TTrang >= 10. Trong trường hợp này ta cú cõu hỏi tương đương như sau:

SELECT HANG.THang

FROM HANG

WHERE HANG.TTrang = 10

3.3 SẮP XẾP THỨ TỰ CÁC CÂU HỎI

Định nghĩa: Sắp xếp thứ tự cỏc cõu hỏi là việc tỏch cõu hỏi thành dóy cỏc phộp toỏn, ớt nhiều tối ưu. Cỏc phộp toỏn cú thể được sắp xếp tuần tự, hoặc song song. Phộp toỏn đại số quan hệ là cỏc phộp cú thể đưa ra để sắp xếp trước tiờn. Việc sắp thứ tự tốt sẽ tạo điều kiện cho kế hoạch khai thỏc sau này.

3.3.1 Cõy đại số quan hệ (Relational Algebra Tree)

Cõu trả lời cho một cõu hỏi là dóy cỏc phộp đại số quan hệ, ghộp nối lại thành cõy cỏc biểu diễn của cỏc phộp chiếu, phộp chọn, phộp kết nối, … gọi là cõy cõu hỏi hay cõy đại số.

Định nghĩa: Cõy thể hiện một cõu hỏi mà cỏc nỳt kết thỳc biểu diễn cỏc quan hệ, những nỳt trung gian là cỏc phộp toỏn của đại số quan hệ, nỳt gốc là kết quả của cõu hỏi, cỏc cung là dũng dữ liệu giữa cỏc phộp toỏn.

Cỏc ký hiệu đồ hoạ của cỏc phộp đại số quan hệ dựng để xõy dựng cõy đại số quan hệ: r r1 r2 r r1 r2 r r1 r2 r’ r 1. Phộp hợp 2. Phộp trừ 3. Phộp tớch đề cỏc 4. Phộp chiếu ∪ - X abc…t ∩

r’ r r r1 r2 r F r1 r2 r r1 r2

5. Phộp chọn 6. Phộp giao 7. Phộp nối 8. Phộp chia

Hỡnh 3.1 Cỏc ký hiệu đồ hoạ của cỏc phộp đại số quan hệ.

Vớ dụ cõy đại số quan hệ cho cõu hỏi trong mục 3.2.2.1 trờn như sau:

Kết quả

HANG.THang

HANG.CPU=’C-1000’

HANG.MH=HANG_MHANG.MH

MHANG.MMH=HANG_MHANG.MMH

MHANG HANG_MHANG HANG

Hỡnh 3.2 Cõy đại số quan hệ cho cõu hỏi trong mục 3.2.2.1

3.3.2 Luật biến đổi cõy đại số quan hệ

Năm 1975 Smith sử dụng tỏm luật biến đổi tương đương trờn cõy đại số. Cỏc luật này được Ullman phỏt triển vào năm 1980. Cỏc luật được trỡnh bày lần lượt như sau:

1. Phộp nối cỏc quan hệ cú tớnh giao hoỏn: r1  r2 = r2  r1

2. Phộp nối cỏc quan hệ cú tớnh kết hợp: (r1  r2)  r3 = r1  (r2  r3) 3. Hợp nhất cỏc phộp chọn: δF2(δF1(r)) = δF(r) với F = F1 ∧ F2

4. Giao hoỏn giữa phộp chọn và phộp chiếu: ∏abc...tF(r))= δF(∏abc...t(r))

5. Giao hoỏn giữa phộp chọn và phộp nối: δF(r1  r2) = δF(r1) δF(r2)

Lưu ý: ở đõy F cú thể là điều kiện đối với r1 hoặc r2 hoặc cả hai.

6. Giao hoỏn giữa phộp chọn và phộp hợp và giao hoỏn giữa phộp chọn và phộp trừ:

F

7. Hoỏn vị phộp chiếu và phộp nối: ∏abc...ta'b'c'...t'(r1 r2) = ∏abc...t(r1)∏a'b'c'...t'(r2)

Lưu ý: Thụng thường nờn thực hiện phộp chiếu trước phộp nối tuy nhiờn cần lưu ý là cú thể phải dựng thờm phộp chiếu đối với quan hệ kết quả trong trường hợp cần thiết.

8. Hoỏn vị phộp chiếu và phộp hợp: ∏abc...t(r1∪r2) = ∏abc...t(r1) ∪∏abc...t(r2)

3.3.3 Cỏc bước tối ưu cõy đại số quan hệ

Thụng thường trong cỏc phộp toỏn đại số quan hệ đó xột, một số phộp toỏn làm giảm kớch thước của quan hệ một số phộp toỏn khỏc thỡ ngược lại, chỳng làm tăng kớch thước của quan hệ. Do vậy để tối ưu cõy đại số quan hệ ta nờn thực hiện cỏc phộp toỏn làm giảm kớch thước của quan hệ trước (phộp chiếu, phộp chọn, …) hay núi cỏch khỏc là đưa cỏc phộp toỏn này xuống mức thấp hơn trong cõy. Thuật toỏn tối ưu dựa trờn cỏc luật biến đổi như sau:

1. Tỏch cỏc phộp chọn trong biểu thức điều kiện nhờ luật 3 2. Đưa cỏc phộp chọn xuống thấp hơn nhờ cỏc luật 4, 5, 6 3. Nhúm cỏc phộp chọn trờn cựng một quan hệ nhờ luật 3

4. Đưa cỏc phộp chiếu xuống mức thấp nhất cú thể được nhờ cỏc luật 7, 8

5. Nhúm cỏc phộp chiếu tuần tự, giữ cỏc thuộc tớnh, bỏ cỏc phộp chiếu khụng cần thiết. Khi cú một phộp hạn chế sau một phộp chiếu trờn cựng một quan hệ thỡ tuỳ vào điều kiện cụ thể mà đưa ra quyết định việc thay đổi vị trớ của chỳng.

3.3.4 Sắp thứ tự bằng cỏch phõn ró cỏc cõu hỏi con

Để tối ưu cõu hỏi, ngoài phương phỏp sắp thứ tự bằng cõy đại số quan hệ ta cũn cú thể dựng phương phỏp khỏc như phương phỏp sắp xếp dựa trờn kỹ thuật tỏch và thay thế được sử dụng trong INGRES.

3.3.4.1 Tỏch thành cỏc cõu hỏi con

Định nghĩa phộp tỏch (Detachchement). Việc chuyển cõu hỏi theo cỏch chia một cõu hỏi thành hai cõu hỏi cú cựng biến chung.

Phộp nối cỏc quan hệ trong thực tế tốn nhiều thời gian và bộ nhớ. Do đú theo yờu cầu của cõu hỏi đụi khi ta dựng phộp nửa nối thay cho phộp nối. Phộp này do Berstein đưa ra năm 1979 như sau:

Định nghĩa phộp nửa nối (Semi-join). Phộp nửa nối của quan hệ r1 với quan hệ r2, ký hiệu là r1 <

r2, là nối của r1 và r2 rồi chiếu trờn cỏc thuộc tớnh của r1.

3.3.4.2 Thay thế cỏc n_bộ

Đối với cỏc cõu hỏi khụng suy diễn được bằng phộp tỏch, do chỳng khụng cú chu trỡnh trong đồ thị nối cỏc thuộc tớnh, người ta dựng giải phỏp như sau:

• Một trong cỏc quan hệ được quột tuần tự và người ta thay mỗi n_bộ đạt được bằng cõu hỏi con, do việc thay thế một biến bằng một n_bộ.

• Cõu hỏi con này được đem ra tỏch. Cụng việc được tiến hành đệ quy, thu được Q’(X1, X2, … , Xn) bằng cỏc Q(a, X2, … , Xn) . Trong đú a mụ tả quan hệ r, ký hiệu qua biến X1. Số cỏc cõu hỏi con là số cỏc n_bộ của r1. Do vậy người ta chọn cỏc quan hệ r1 bộ nhất để đỡ tốn kộm.

3.4 CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN AN TOÀN DỮ LIỆU

3.4.1 An toàn trong cơ sở dữ liệu

An toàn thụng tin trong cơ sở dữ liệu được nhỡn nhận theo ba khớa cạnh chớnh: Tớnh bảo mật, tớnh toàn vẹn dữ liệu và tớnh sẵn sàng.

Bảo mật cú nghĩa là phũng ngừa, phỏt hiện, ngăn cản cỏc truy nhập khụng được phộp tới cơ sở dữ liệu. Núi chung tớnh bảo mật hướng đến việc bảo vệ dữ liệu trong cỏc mụi trường bớ mật như quõn sự, thương mại. Thụng thường, cơ chế bảo mật được thực hiện tại nhiều mức tuỳ thuộc vào từng yờu cầu cụ thể và thường đi đụi với quyền khai thỏc cơ sở dữ liệu của người dựng hay nhúm người dựng.

Tớnh toàn vẹn cú liờn quan đến cỏc quy tắc quản lý được ỏp đặt lờn cỏc đối tượng của thế giới nhận biết được hay cỏc thực thể trong cơ sở dữ liệu. Cỏc quy tắc này đũi hỏi tất cả cỏc thực thể cú liờn quan trong cơ sở dữ liệu đều phải thoả món ở bất kỳ thời điểm nào, vỡ thế tớnh toàn vẹn được xem như một cụng cụ diễn đạt ngữ nghĩa của cơ sở dữ liệu.

Tớnh sẵn sàng của dữ liệu cho biết khả năng đỏp ứng phục vụ của nú tại thời điểm đang xột, nhờ đú cú thể phũng ngừa, phỏt hiện và ngăn cản cỏc hành động từ chối phục vụ cỏc khả năng của hệ thống.

Trong thực tế, việc khai thỏc cơ sở dữ liệu tại một thời điểm thường do nhiều người sử dụng thực hiện. Như vậy hệ quản trị cơ sở dữ liệu ngoài việc phải thực hiện cỏc yờu cầu của từng người sử dụng cũn phải cú cỏc chớnh sỏch, cơ chế để đảm bảo an toàn cho cỏc dữ liệu.

3.4.2 Cỏc điều khiển an toàn

Cỏc biện phỏp giỳp bảo vệ cơ sở dữ liệu bao gồm: Điều khiển luồng thụng tin, điều khiển suy diễn, điều khiển truy nhập. Đối với mỗi biện phỏp này, người ta cú thể bổ sung thờm cỏc kỹ thuật mật mó tức là thực hiện mó hoỏ cỏc dữ liệu đó lưu trữ dưới dạng mó bớ mật và chỉ người cú đủ thẩm quyền mới hiểu được. Sau đõy ta xem xột từng biện phỏp một cỏch cụ thể như sau.

3.4.2.1 Điều khiển luồng thụng tin

Theo Denning, năm 1982, điều khiển luồng thụng tin điều chế phõn bố thụng tin trong số cỏc đối tượng được phộp khai thỏc. Luồng thụng tin giữa đối tượng X và đối tượng Y xảy ra khi một lệnh đọc giỏ trị X và ghi vào Y. Điều khiển luồng thụng tin thực hiện việc kiểm tra xem nội dung trong luồng thụng tin cú rũ rỉ sang cỏc đối tượng khỏc khụng. Nếu cú tức là thụng tin từ X đó bị lộ giỏn tiếp qua Y. Hơn nữa trong một số trường hợp thụng tin về X cú thể suy diễn được.

Núi chung, cỏc chớnh sỏch về điều khiển luồng thụng tin cần phõn loại cỏc phần tử của hệ thống như cỏc đối tượng, cỏc phộp toỏn. Việc yờu cầu liệt kờ và điều phối cỏc luồng thụng tin của cỏc chớnh sỏch này sẽ loại bỏ được cỏc yờu cầu truyền dữ liệu khụng hợp lệ.

3.4.2.2 Điều khiển suy diễn

Điều khiển suy diễn theo Denning và Schlorer, năm 1983 là nhằm bảo vệ dữ liệu khỏi cỏc truy nhập giỏn tiếp. Điều này xảy ra khi người sử dụng đọc X và dựng hàm f để cú thể tớnh ra Y = f(X). Định nghĩa về kờnh suy diễn (Inference channel). Một kờnh suy diễn là kờnh mà những người sử dụng cú thể tỡm được X và dựng X để thu được Y theo Y = f(X).

Cỏc kờnh chớnh làm thất thoỏt thụng tin trong một hệ thống cú thể kể đến là: Truy nhập giỏn tiếp, dữ liệu tương quan, mất dữ liệu. Tuy nhiờn hệ thống sẽ sử dụng một số biện phỏp ngăn ngừa như: Ngăn ngừa bằng nhiễu loạn dữ liệu, ngăn ngừa bằng cỏc điều khiển cõu hỏi.

3.4.2.3 Điều khiển truy nhập

Điều khiển truy nhập trong cỏc hệ thống thụng tin là trỏch nhiệm đảm bảo tất cả cỏc truy nhập đối tượng hệ thống tuõn theo kiểu cỏch và quy luật về bảo vệ dữ liệu. Một hệ thống điều khiển truy nhập gồm những người sử dụng và cỏc quỏ trỡnh. Cỏc chủ thể này khai thỏc cỏc dữ liệu, chương trỡnh thụng qua cỏc phộp toỏn. về chức năng, hệ thống điều khiển truy nhập gồm hai thành phần:

• Tập cỏc chớnh sỏch và luật truy nhập. Đú là cỏc thụng tin lưu trữ trong hệ thống, đặt ra cỏc kiểu cỏch khai thỏc cho cỏc chủ thể như người, cỏc quỏ trỡnh, …

• Tập cỏc thủ tục điều khiển, tức cỏc cơ chế an toàn. Tập này kiểm soỏt cỏc cõu hỏi, cho phộp hay từ chối yờu cầu khai thỏc của cỏc cõu hỏi.

Tài liệu tham khảo

1. Nhập mụn Cơ sở dữ liệu quan hệ, Lờ Tiến Vương, nxb KH&KT, 1997. 2. Cơ sở dữ liệu - Đỗ Trung Tuấn, nxb GD, 1998.

3. Cơ sở dữ liệu - kiến thức và thực hành, PGS. Vũ Đức Thi, nxb TK, 1997.

4. Giỏo trỡnh Cơ sở dữ liệu, Ths Nguyễn Quang Vinh, Khoa CNTT - ĐHQG Hà nội. 5. Tài liệu thiết kế của dự ỏn NOIP, Fujitsu, 2000.

6. Tài liệu thiết kế của cỏc dự ỏn HRM, Payroll, ST, … , 2001.

Một phần của tài liệu Tài liệu Giáo trình về dữ liệu và các mô hình cơ sở dữ liệu docx (Trang 53)

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

(58 trang)
w