Ban chỉ ĐẠo công nghệ thông tin của cơ quan đẢng giáo trình thiết kế, XÂy dựng và quản trị CƠ SỞ DỮ liệu hà NỘI, 2004



tải về 1.04 Mb.
trang14/29
Chuyển đổi dữ liệu07.07.2016
Kích1.04 Mb.
1   ...   10   11   12   13   14   15   16   17   ...   29

3.Các phép toán quan hệ bổ sung


Có nhiểu truy vấn cơ sở dữ liêu không thể thực hiện được bằng các phép toán đại số cơ bản trình bày ở trên. Trong phần này chúng ta sẽ trình bày các phép toán bổ sung để biểu diễn các truy vấn đó.Các phép toán này làm tăng cường sức mạnh của đại số quan hệ.

Các hàm nhóm và các phép nhóm

Kiểu câu hỏi đầu tiên không thể biểu diễn được trong đại số quan hệ cơ sở là chỉ ra các hàm nhóm toán học trên các tập hợp giá trị của các cơ sở dữ liệu. Các ví dụ về các hàm như vaỵy có thể là đưa ra lương trung bình hoặc tổng lương của tất cả nhân viên, hoặc cho biết số các bộ của bảng nhân viên. Các hàm hay áp dụng để thu thập các giá trị số là hàm Tổng (SUM), Trungbình (AVERAGE), Tính giá trị lớn nhất (MAX), Giá trị bé nhất (MIN). Hàm Đếm (COUNT) được sử dụng để đếm các bộ giá trị.

Một kiểu câu hỏi hay dùng khác là đòi hỏi nhóm các bộ trong một quan hệ theo một giá trị của một số các thuộc tính của chúng và sau đó áp dụng các hàm nhóm một cách độc lập cho từng nhóm.. Ví dụ, nhóm các bộ của quan hệ NHÂNVIÊN theo Mãsố đơn vị. Như vậy, mỗi nhóm bao gồm các nhân viên cùng làm việc trong một đơn vị. Sau đó chúng ta có thể đưa ra mỗi giả trị của Mãsố đơn vị cùng với lương trung bình của các nhân viên ở trong đơn vị.

Chúng ta có thể định nghĩa một phép toán nhóm như sau:

< các thuộc tính nhóm> < danh sách các hàm>(R)

trong đó  là ký hiệu hàm nhóm, < các thuộc tính nhóm> là một một danh sách các thuộc tính của quan hệ được chỉ ra trong R, là danh sách các cặp . Trong các cặp hư vậy, là một trong các hàm cho phép như SUM, AVERAGE, MAX, MIN, COUNT, và là một thuộc tính của quan hệ được chỉ ra trong R. Quan hệ kết quả có các thuộc tính nhóm cộng với một thuộc tính cho mỗi phần tử trong danh sách hàm. Ví dụ, để lấy ra theo MãsốDV số các nhân viên và lương trung bình của các nhân viên, ta có thể viết:



< MãsốDV>  COUNT (), AVERAGE(Lương)(NHÂNVIÊN)

Kết quả được minh hoạ ở hình 3.10



Mã số ĐV

COUNT()

AVERAGE(Lương)

1

1

5500

4

3

3100

5

4

3325

Hình 3.10 Minh hoạ phép toán nhóm

Nếu không chỉ ra thuộc tính nhóm thì các hàm được áp dụng cho các giá trị thuộc tính của tất cả các bộ trong quan hệ; vì vậy quan hệ kết quả chỉ có một bộ. Cần chú ý rằng, nói chung, các trùng lặp không được loại bỏ khi hàm nhóm được áp dụng. Kết quả của việc áp dụng một hàm nhóm là một quan hệ chứ không phải là một đại lượng vô hướng, thậm chí nếu nó chỉ có một giá trị.

Các phép toán khép kín đệ quy

Một kiểu phép toán khác, nói chung, không chỉ ra được trong các phép toán đại số quan hệ cơ sở là phép toán khép kín đệ quy. Phép toán này được áp dụng cho mối liên kết đệ quy giữ các bộ cùng kiểu.Với các phép toán này chúng ta phải sử dụng kỹ thuật lặp.

Các phép toán nối ngoài (outer join) hợp ngoài (outer union)

Trong phần này chúng ta thảo luận một vài mở rộng của phép toán nối và hợp. Các phép toán nối mô tả ở trên liên kết các bộ thoả mãn điều kiện nối. Như vậy, các bộ không có bộ liên kết sẽ bị loại khỏi kết quả nối. Các bộ với giá trị null trong các tthuộc tính nối cũng bị loại. Một tập hợp các phép toán gọi là nối ngoài có thể được sử dụng khi chúng ta muốn giữ các bộ trong R hoặc S hoặc trong cả hai quan hệ trong kết quả của phép nối dù chúng có những bộ liên kết trong quan hệ kia hay không. Có ba phép nối ngoài gọi là nối ngoài trái (left outer join), nối ngoài phải (right outer join)và nối ngoài đầy đủ (full outer join), được ký hiệu tương ứng là:





Nối ngoài trái Nối ngoài phải Nối ngoài đầy đủ

Phép nối ngoài trái giữ lại mọi bộ trong quan hệ bên trái R trong phép nối. Nếu không có bộ liên kết nào được tìm thấy trong S thì các thuộc tính của S trong kết quả phép nối được “làm đầy”bằng các giá trị null.

Tương tự như vậy đối với các phép nối ngoài phải và các phép nối ngoài đầy đủ.

Phép toán hợp ngoài được mở rộng để lấy hợp của các bộ từ các quan hệ nếu các bộ không tương thích đồng nhất. Phép toán này chỉ lấy hợp của các quan hệ mà chúng chỉ tương thích bộ phận, nghĩa là chỉ một vài thuộc tính của chúng là tương thích phép hợp. Điều phải tôn trọng là danh sách các thuộc tính tưông thích phải chứa một khoá cho các hai quan hệ. Các bộ từ các quan hệ thành phần với cùng một khoá chỉ được biểu diễn một lần trong kết quả và có giá trị cho tất cả các thuộc tính trong kết quả. Các thuộc tính không tương thích phép hợp từ bất kỳ quan hệ nào cũng được giữ trong kết quả và các bộ không có giá trị cho các thuộc tính này cũng được lấp đầy bằng những giá trị null.


1   ...   10   11   12   13   14   15   16   17   ...   29


Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2016
được sử dụng cho việc quản lý

    Quê hương