Đại số quan hệ
Các hệ thống cơ sở dữ liệu quan hệ dự kiến sẽ được trang bị một ngôn ngữ truy vấn có thể hỗ trợ người dùng của nó để truy vấn các cá thể cơ sở dữ liệu. Có hai loại ngôn ngữ truy vấn - đại số quan hệ và phép tính quan hệ.
Đại số quan hệ
Đại số quan hệ là một ngôn ngữ truy vấn thủ tục, lấy các thể hiện của quan hệ làm đầu vào và lấy các thể hiện của quan hệ làm đầu ra. Nó sử dụng các toán tử để thực hiện các truy vấn. Một toán tử có thể làunary hoặc là binary. Họ chấp nhận quan hệ là đầu vào và quan hệ lợi tức là đầu ra của họ. Đại số quan hệ được thực hiện đệ quy trên một quan hệ và các kết quả trung gian cũng được coi là quan hệ.
Các phép toán cơ bản của đại số quan hệ như sau:
- Select
- Project
- Union
- Đặt khác nhau
- Sản phẩm Descartes
- Rename
Chúng ta sẽ thảo luận về tất cả các thao tác này trong các phần sau.
Chọn Thao tác (σ)
Nó chọn các bộ giá trị thỏa mãn vị từ đã cho từ một quan hệ.
Notation- σ p (r)
Ở đâu σ là viết tắt của vị từ lựa chọn và rviết tắt của quan hệ. p là công thức logic giới từ có thể sử dụng các trình kết nối nhưand, or, và not. Các thuật ngữ này có thể sử dụng các toán tử quan hệ như - =, ≠, ≥, <,>, ≤.
For example -
σsubject = "database"(Books)
Output - Chọn bộ giá trị từ những cuốn sách có chủ đề là 'cơ sở dữ liệu'.
σsubject = "database" and price = "450"(Books)
Output - Chọn bộ giá trị từ những cuốn sách có chủ đề là 'cơ sở dữ liệu' và 'giá' là 450.
σsubject = "database" and price = "450" or year > "2010"(Books)
Output - Chọn bộ giá trị từ những cuốn sách có chủ đề là "cơ sở dữ liệu" và "giá" là 450 hoặc những cuốn sách được xuất bản sau năm 2010.
Hoạt động dự án (∏)
Nó chiếu (các) cột thỏa mãn một vị từ nhất định.
Kí hiệu - ∏ A 1 , A 2 , A n (r)
Trong đó A 1 , A 2 , A n là tên thuộc tính của quan hệr.
Các hàng trùng lặp sẽ tự động bị loại bỏ, vì mối quan hệ là một tập hợp.
For example -
∏subject, author (Books)
Chọn và chiếu các cột có tên chủ đề và tác giả từ các Sách liên quan.
Hoạt động Liên minh (∪)
Nó thực hiện kết hợp nhị phân giữa hai quan hệ nhất định và được định nghĩa là -
r ∪ s = { t | t ∈ r or t ∈ s}
Notation - r bạn
Ở đâu r và s là quan hệ cơ sở dữ liệu hoặc tập kết quả quan hệ (quan hệ tạm thời).
Để hoạt động công đoàn có hiệu lực, các điều kiện sau đây phải có:
- rvà s phải có cùng một số thuộc tính.
- Các miền thuộc tính phải tương thích.
- Các bộ giá trị trùng lặp sẽ tự động bị loại bỏ.
∏ author (Books) ∪ ∏ author (Articles)
Output - Chiếu tên của các tác giả đã viết một cuốn sách hoặc một bài báo hoặc cả hai.
Đặt Chênh lệch (-)
Kết quả của phép toán chênh lệch tập hợp là các bộ giá trị, có mặt trong một quan hệ nhưng không có trong quan hệ thứ hai.
Notation - r - s
Tìm tất cả các bộ giá trị có trong r nhưng không phải trong s.
∏ author (Books) − ∏ author (Articles)
Output - Cung cấp tên tác giả đã viết sách nhưng không phải là bài báo.
Sản phẩm Descartes (Χ)
Kết hợp thông tin của hai quan hệ khác nhau thành một.
Notation - r Χ s
Ở đâu r và s là các quan hệ và đầu ra của chúng sẽ được định nghĩa là -
r Χ s = {qt | q ∈ r và t ∈ s}
σauthor = 'tutorialspoint'(Books Χ Articles)
Output - Tạo ra một mối quan hệ, hiển thị tất cả các sách và bài báo được viết bởi hướng dẫn viên.
Đổi tên hoạt động (ρ)
Kết quả của đại số quan hệ cũng là quan hệ nhưng không có tên gọi nào. Thao tác đổi tên cho phép chúng ta đổi tên quan hệ đầu ra. hoạt động 'đổi tên' được biểu thị bằng chữ cái Hy Lạp nhỏrho ρ .
Notation- ρ x (E)
Kết quả của biểu thức ở đâu E được lưu với tên của x.
Các hoạt động bổ sung là -
- Đặt giao lộ
- Assignment
- Tham gia tự nhiên
Giải tích quan hệ
Trái ngược với Đại số quan hệ, Giải tích quan hệ là một ngôn ngữ truy vấn phi thủ tục, nghĩa là nó cho biết phải làm gì nhưng không bao giờ giải thích cách thực hiện.
Phép tính quan hệ tồn tại ở hai dạng:
Giải tích quan hệ Tuple (TRC)
Lọc các phạm vi biến trên các bộ giá trị
Notation- {T | Tình trạng}
Trả về tất cả các bộ giá trị T thỏa mãn một điều kiện.
For example -
{ T.name | Author(T) AND T.article = 'database' }
Output - Trả về các bộ giá trị có 'tên' từ Tác giả đã viết bài báo trên 'cơ sở dữ liệu'.
TRC có thể được định lượng. Chúng ta có thể sử dụng Định lượng Hiện sinh (∃) và Đa lượng (∀).
For example -
{ R| ∃T ∈ Authors(T.article='database' AND R.name=T.name)}
Output - Truy vấn trên sẽ cho kết quả tương tự như truy vấn trước đó.
Tính toán quan hệ miền (DRC)
Trong DRC, biến lọc sử dụng miền thuộc tính thay vì toàn bộ giá trị tuple (như được thực hiện trong TRC, đã đề cập ở trên).
Notation -
{a 1 , a 2 , a 3 , ..., a n | P (a 1 , a 2 , a 3 , ..., a n )}
Trong đó a1, a2 là các thuộc tính và P là viết tắt của các công thức được xây dựng bởi các thuộc tính bên trong.
For example -
{< article, page, subject > | ∈ TutorialsPoint ∧ subject = 'database'}
Output - Mang lại Bài viết, Trang và Chủ đề từ quan hệ TutorialsPoint, trong đó chủ đề là cơ sở dữ liệu.
Cũng giống như TRC, DRC cũng có thể được viết bằng các bộ định lượng hiện sinh và phổ quát. DRC cũng liên quan đến các toán tử quan hệ.
Công suất biểu thức của Giải tích quan hệ Tuple và Giải tích quan hệ miền tương đương với Đại số quan hệ.