Biểu thức của phép tính quan hệ trên miền:

Một phần của tài liệu Cơ sở dữ liệu 3 (Trang 26 - 28)

Những công thức có thể được sử dụng để diễn tả những truy vấn một cách đơn giản. Mỗi công thức có một hoặc nhiều biến tự do định nghĩa một quan hệ mà những thuộc tính của nó tương ứng với những biến tự do này. Biểu thức biễu diễn phép tính trên miền có dạng:

{X1…X2 | F(X1…X2)} (1)

nghĩa là tập hợp những bộ a1…an mà khi chúng ta thay thế ai cho Xi, 1 ≤ i ≤ n, công thức F(a1…an) là đúng.

Ngôn ngữ truy vấn chứa những biểu thức dạng (1) đựơc gọi là phép tính quan hệ trên miền (DRC). Các biến là những bộ phận của bộ trong khi phép tính quan hệ trên bộ (giới thiệu sau) thì các biến là đại diện cho tất cả các bộ.

Những quan hệ định nghĩa bởi biểu thức DRC thì không cần phải xác định. Ví dụ:

là một biểu thức DRC hợp lý định nghĩa tập hợp những cặp (X,Y) mà không có trong quan hệ của vị từ p.

b. Chuyển từ đại số quan hệ sang phép tính quan hệ trên miền:

Định lý: Mỗi truy vấn có thể biểu diễn trong đại số quan hệ thì có thể biểu diễn trong phép tính quan hệ trên miền.

- Sau đây chúng ta xem xét 5 trường hợp tương ứng với 5 phép toán cơ bản của đại số quan hệ:

* Trường hợp 1: E = E1 E2

Chúng ta có thể giả sử rằng E, E1, và E2 tất cả đều có ngôi k. Theo giả thuyết qui nạp, có công thức DRC F1 và F2 định nghĩa quan hệ E1 và E2 tương ứng. Bằng cách thay thế những biến tự do vào trong công thức (chúng ta giả sử cả hai công thức F1

và F2 có những biến là X1…Xk), và những biến này tương ứng với những bộ phận của các bộ trong E, E1, E2 theo một trật tự đặc biệt đó, X1…Xk. Công thức cho E là:

F1 ∨ F2

* Trường hợp 2: E = E1 – E2

Như ở trường hợp 1, giả sử có những công thức F1(X1…Xk) và F2(X1…Xk) tương ứng với những quan hệ E1 và E2. Công thức cho E là:

F1 F2

* Trường hợp 3: E = πi1…ik(E1)

Đặt quan hệ E1 có ngôi n. Bằng giả thuyết quy nạp, có một công thức

F1(X1,…,Xn) tương ứng với quan hệ E1. Đặt j1,…,jn-k (thuộc danh sách {1,…,n}) mà không xuất hiện trong khoảng i1,…,ik. Thì một bộ µ trong quan hệ E nếu và chỉ nếu có tồn tại những giá trị của những bộ phận j1,…,jn-k mà chúng ta có thể kết hợp µ với những bộ phận này sinh ra một bộ trong E1. Trong giới hạn phép tính quan hệ, chúng ta có công thức:

F(Xi1,…,Xik) = (Xj1)(Xj2)(…)(Xjn-k)F1(X1,…,Xn)

* Trường hợp 4: E = E1 x E2

Đặt F1(X1,…,Xn) và F2(Y1,…,Ym) là những công thức tương ứng với E1 và E2. Đổi tên biến nếu cần thiết, chúng ta giả sử rằng cả hai không có những biến chung. Công thức cho E là:

F(X1,…,Xn , Y1,…,Ym) = F1(X1,…,Xn) F2(Y1,…,Ym)

* Trường hợp 5: E = σA(E1)

Chúng ta giả sử A là một phép chọn đơn giản có dạng i θ j hoặc i θ a. Theo giả thuyết quy nạp, có một công thức F1(X1,…,Xk) tương ứng cho E1, thì công thức F1∧ Xi θ Xj hoặc F1∧ Xi θ a tương ứng cho E, tùy thuộc vào dạng của A.

- Ví dụ: Ta có biểu thức đại số:

likes(X,Y) – (broke(X) x πy(likes(X,Y))) áp dụng những trường hợp trên để có công thức DRC:

Đối với toán hạng bên trái của dấu -, chúng ta có công thức DRC likes(X,Y). Bây giờ chúng ta tiến hành toán hạng bên phải của dấu -, toán tử bên ngoài của nó là dấu x. Toán tử này có một toán hạng bên trái với công thức DRC là broke(X). Toán hạng bên phải của nó có được bằng cách áp dụng trường hợp 3 cho công thức likes(X,Y), tạo nên (∃X)likes(X,Y). Công thức này có biến tự do là Y, công thức broke(X) có biến tự do là X, vì vậy chúng ta có thể nối kết chúng lại mà không cần đổi tên để thu được công thức cho toán hạng bên phải của dấu – là:

broke(X) ∧ (∃X)likes(X,Y) (2)

Chúng ta cần thấy rằng công thức (2) thể hiện của X trong broke là tự do, trong khi thể hiện của X trong likes là giới hạn bởi lượng từ tồn tại.

Công thức cuối cùng thu được bằng cách áp dụng trường hợp 2 cho likes(X,Y) và công thức (2) ở trên: (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Cơ sở dữ liệu 3 (Trang 26 - 28)