Co So Du Lieu

Màu nền
Font chữ
Font size
Chiều cao dòng

Mô hình dữ liệu quan hệ bao gồm những khái niệm cơ bản sau:

-         Quan hệ: một quan hệ là một bảng (ma trận) với các hàng và các cột. Các quan hệ sẽ lưu giữ thông tin về các đối tượng được mô hình hóa trong một cơ sở dữ liệu.

-         Thuộc tính: một thuộc tính là một cột được đặt tên của một quan hệ. Một thuộc tính là một đặc tính nào đó của một thực thể (hay một mối quan hệ) được mô hình hóa trong cơ sở dữ liệu. Các thuộc tính có thể xuất hiện theo bất kỳ trật tự nào trong một quan hệ.

-         Miền giá trị: Một miền giá trị là một tập các giá trị có thể của một hoặc nhiều thuộc tính. Mỗi thuộc tính được xác định trên một miền giá trị nào đó. Các miền giá trị có thể khác nhau cho mỗi thuộc tính hoặc hai hay nhiều thuộc tính có thể được xác định trên cungd một miền giá trị.

-         Bộ: Một bộ là một hàng của một quan hệ. Các bộ có thể xuất hiện theo bất ký trật tự nào trong một quan hệ và quan hệ sẽ vẫn giống nhau vì vậy thể hiện cùng ý nghĩa.

-         Cấp:  của  một quan hệ là số lượng các thuộc tính mà nó có

-         Lực lượng: Lực lượng của một quan hệ là số lượng các bộ mà nó có.

-         Cơ sở dữ liệu quan hệ: Một tập hợp các quan hệ được chuẩn hóa với các tên phân biệt nhau.

*)

¡        Các thông tin lưu trữ trong CSDL được tổ chức thành bảng (table) 2 chiều gọi là quan hệ

¡        Quan hệ gồm

¡        Tên

¡        Tập hợp các cột

¡        Cố định

¡        Được đặt tên

¡        Có kiểu dữ liệu

¡        Tập hợp các dòng

¡        Thay đổi theo thời gian

¡         

¡        Một dòng ~ Một thực thể

¡        Quan hệ ~ Tập thưc thể

*) Thuộc tính :

¡        Tên các cột của quan hệ

¡        Mô tả ý nghĩa cho các giá trị tại cột đó

¡        Tất cả các dữ liệu trong cùng 1 một cột đều có dùng kiểu dữ liệu

Bộ:

¡        Là các dòng của quan hệ (trừ dòng tiêu đề - tên của các thuộc tính)

¡        Thể hiện dữ liệu cụ thể của các thuộc tính trong quan hệ

Phép chọn

Là một phép toán một ngôi được ký hiệu bởi một chữ cái Hy lạp là sigma, s

Dạng chung của phép chọn này như sau:   s(mệnh đề)(thể hiện một quan hệ)

Lược đồ của quan hệ kết quả: giống hết như quan hệ toán hạng.

Kích cỡ của quan hệ kết quả (số bộ) £½quan hệ toán hạng½

Ví dụ:

s(major = “CS”)(students)

s(major = “CS” and hair-color = “brown”)(students)

s(hours-attempted > hours-earned)(students)

Phép chọn này sẽ lựa chọn ra những bộ từ thể hiện của một quan hệ mà thỏa mãn một mệnh đề cụ thể nào đó. Nhìn chung, một mệnh đề có thể chứa bất kể một toán tử so sánh logic nào trong số =, ¹, <, £, >, ³ hơn nữa một số các mệnh đề có thể kết hợp chúng với các phép toán liên kết như and (Ù), or (Ú), và not (Ø). Phép toán lựa chọn có thể được hình dung như một lát cắt ngang của quan hệ toán hạng. Ví dụ về toán tử lựa chọn được thể hiện dưới đây với một quan hệ R

Phép chiếu

Là một loại phép toán một ngôi được kí hiệu bởi một chữ cái Hy Lạp  pi: p

Dạng chung của phép toán này là:   p(danh sách các thuộc tính)(thể hiện của quan hệ)

Lược đồ của quan hệ kết: được xác định bởi <danh sách các thuộc tính >

Kích cỡ của quan hệ kết quả (số bộ): £½ quan hệ toán hạng ½

Ví dụ:

p(student-id, name, major)(students)

p(name, advisor)(students)

p(name, gpa, hours-attempted)(students)

Phép chiếu này có thể được hình dung như việc sinh ra một lát cắt theo chiều dọc của quan hệ toán hạng. Nếu phép toán sinh ra các bộ giống hệt nhau, những bộ này sẽ thường được loại bỏ khỏi quan hệ kết quả trong việc giữ chức năng set-like. Ví dụ về phép toán này với một thể hiện của quan hệ R như sau:

Phép hợp

Là một phép toán hai ngôi được ký hiệu bằng biểu tượng hợp  È .

Dạng chung của phép toán này là:   r È s, với r và s là hai quan hệ khả hợp.

Lược đồ của quan hệ kết quả chính là lược đồ của các quan hệ toán hạng.

Kích cỡ của quan hệ kết quả (số bộ): £ max{½r½+½s½}

Ví dụ:

            r È s                p(a, b)(r) Èp(a, b)(s)

Phép hợp này cung cấp một phương tiện để trích lọc thông tin nằm trên hai quan hệ toán hạng, hai quan hệ này phải khả hợp với nhau. Khả hợp là một đặc tính mà hai điều kiện sau đây phải được thỏa mãn:

1.      Hai quan hệ r(R)s(S) trong biểu thức r È s phải cùng cấp, có nghĩa là chúng phải có cùng số lượng thuộc tính.

2.      Miền giá trị của thuộc tính thứ (i) của r và thuộc tính thứ (i) của s phải giống nhau, cho mọi giá trị của i.

Ví dụ về toán tử hợp (union) với thể hiện quan hệ R, T, S, X được thể hiện dưới đây.

Phép trừ

Là một phép toán hai ngôi được ký hiệu với biểu tượng: - .

Dạng chung của phép toán này là:   r - s, với r s là phải khả hợp.

Lược đồ của quan hệ kết quả: là lược đồ của quan hệ toán hạng.

Kích cỡ của quan hệ kết quả (số bộ): £½quan hệ r½ (lực lượng của quan hệ r)

Ví dụ:          r - s

Phép toán trừ này cho phép trích lọc các thông tin được chứa trong một quan hệ mà không chứa trong quan hệ thứ hai. Giống như phép toán hợp, phép trừ đòi hỏi rằng hai quan hệ toán hạng là khả hợp. Ví dụ về phép toán này được thể hiện như dưới đây.

Phép tích đề các

Là phép toán một ngôi với ký hiệu là: ´ .

Dạng chung của phép toán này là:   r ´ s (không có hạn chế trên r s)

Lược đồ của quan hệ kết quả: lược đồ của r ´ lược đồ s với việc đặt lại tên một số thuộc tính.

Kích cỡ của quan hệ kết quả (số bộ): >½quan hệ  r ½và  >½quan hệ s½

Ví dụ:  r ´ s

Phép tích đề các cho phép kết hợp hai quan hệ bất kỳ thành một quan hệ đơn. Gợi nhớ rằng một quan hệ được định nghĩa là một tập con của tích đề các tập miền giá trị vì vậy điều này khiến bạn có một số ý tưởng về cách hành xử của phép toán tích đề các. Ví dụ về phép toán này với hai quan hệ T và X được thể hiện trong hình vẽ dưới đây.

Biểu thức đại số quan hệ

Trong khi mỗi một toán tử đại số quan hệ cơ bản trong số năm toán tử trình bày ở trên có thể được sử dụng riêng rẽ để hình thành một truy vấn, sức mạnh thể hiện của chúng thực sự được cải thiện đáng kể khi chúng được kết hợp với nhau để hình thành các biểu thức truy vấn. Trước khi giới thiệu những phép toán bổ sung trong đại số quan hệ chúng ta sẽ xem xét việc tạo ra các tổ hợp phức tạp hơn của năm phép toán cơ bản này. [Việc này cũng sẽ khiến cho bạn đánh giá cao hơn các phép toán bổ sung này].

Sử dụng các kỹ thuật để chuyển đổi một lược đồ E-R sang thành một tập các lược đồ quan hệ chúng ta có các lược đồ kết quả như sau:

S = STUDENTS(s#, name, age, major, gpa, hours_completed)

C = COURSES(c#, term, name, dept, enrollment)

P = PROFESSORS(p#, name, dept, yrs_teaching, area)

TA = TAKES(s#, c#, term, grade)

TE = TEACH(p#, c#, term)

Khi bạn bắt đầu viết một câu truy vấn trong một ngôn ngữ truy vấn mới, việc trực quan thông qua thể hiện dữ liệu của các quan hệ toán hạng  cần thiết cho một phép toán mà bạn đang thực hiện đôi khi rất có ích. Bạn nên tự trải nghiệm điều này qua  thể hiện của các quan hệ trên sao cho bạn có thể hình dung trực quan được tuy nhiên, đây cũng là thứ mà bạn sẽ cần loại bỏ khi bạn trở nên có kinh nghiệm hơn trong việc tạo các câu truy vấn bởi vì bạn không muốn làm ảnh hưởng đến bản thiết kế các truy vấn bởi sự trực quan một thể hiện quan hệ mà nó có thể không chứa tất cả các bộ có thể có cho câu truy vấn trong quá trình thực hiện.

Ví dụ truy vấn 1: Tìm tên của tất cả các sinh viên học chuyên ngành công nghệ thông tin (Computer Science majors). Cách tiếp cận truy vấn này như sau:

-         Đầu tiên chọn tất cả  các sinh viên mà học chuyên ngành CS

r = s(major = “Computer Science”)(S)

-          Tiếp đến chiếu kết quả trên lên thuộc tính name:

                  result = p(name)(r)

Biểu thức truy vấn hoàn chỉnh là:

result = p(name)(s(major = “Computer Science”)(S))

Phép chia

Là loại phép toán hai ngôi, dùng ký hiệu và dạng chung là  r ¸ s với r({A}) và s({B}).

Lược đồ quan hệ kết quả: C với C = A - B

Định nghĩa: r¸s ºp(A-B)(r) - (p(A-B)((p(A-B)(r) ´ s) - r))

Ví dụ:  Cho r(A,B,C) = {(a,b,c), (a,d,d), (a,b,d), (a,c,c), (a,d,d)} và s(C) = {(c), (d)} thì

 r ¸s = t(A,B) = {(a,b)}

Yêu cầu cho phép toán chia

1.      Quan hệ r được xác định trên tập các thuộc tính A và quan hệ s được xác định trên tập thuộc tính B sao cho B Í A.

2.      Cho C là tập các thuộc tính trong A-B

Với các ràng buộc này phép toán chia được định nghĩa là:  một bộ t  là của r¸s nếu cho mỗi bộ ts trong s có một bộ tr trong r thỏa mãn cả hai điều kiện sau đây:

            tr [C] = ts [C]  và tr [A-B] = t[A-B]

Ví dụ về toán tử chia được thể hiện như dưới đây

Amm

1/- Luật phản xạ (reflexivity) :

X ⊇ Y ⇒ X→Y

2/- Luật tăng trưởng(augmentation) :

X → Y ⇒ XZ → YZ

3/- Luật bắc cầu(transitivity) :

X → Y, Y → Z ⇒ X → Z

Các quy tắc suy rộng :

4/- Luật hợp (the union rule) :

Cho X → Y, X → Z ⇒ X → YZ

5/- Luật bắc cầu giả (the pseudotransitivity rule) :

Cho X → Y,WY→ Z ⇒ XW → Z

6/- Luật phân rã (the decomposition rule) :

Cho X → Y, Z ⊆ Y ⇒ X → Z

Bạn đang đọc truyện trên: Truyen2U.Pro