Mô hình dữ liệu quan hệ - các khái niệm cơ bản
Tập hợp là khái niệm đầu tiên của toán học, không định nghĩa. Ví dụ: Tập hợp các số nguyên; Tập hợp các sinh viên trong một lớp; Tập hợp các nghiệm của một phương trình.. Tập hợp được tạo thành từ các phần tử của ...
- Tập hợp là khái niệm đầu tiên của toán học, không định nghĩa. Ví dụ: Tập hợp các số nguyên; Tập hợp các sinh viên trong một lớp; Tập hợp các nghiệm của một phương trình..
- Tập hợp được tạo thành từ các phần tử của nó, phần tử cũng là một khái niệm không định nghĩa. Người ta thường dùng các chữ cái viết hoa để kí hiệu cho tập hợp, chữ cái viết thường để chỉ một phần tử của tập hợp.
Các phép toán về tập hợp.
Cho hai tập hợp A và B, khi đó ta có các phép toán trên hai tập hợp như sau:
Phép giao: Giao của hai tập hợp A và B là một tập hợp, ký hiệu A B gồm những phần tử vừa thuộc A vừa thuộc B
A B={ x | x ∈ A và x ∈B}
Phép hội: Hội của hai tập hợp A và B là một tập hợp, ký hiệu A B gồm những phần tử thuộc A hay thuộc B.
A B={ x | x ∈ A và x ∈ B}
Phép hiệu: Hiệu của hai tập hợp A và B là một tập hợp, ký hiệu A B, gồm những phần tử thuộc A và không thuộc B
A B={ x | x ∈ A và x ∉ B}
Ví dụ
A={1, 2, 3, 4, 5}; B={2, 4, 6, 8}
AB={1, 2, 3, 4, 5, 6, 8}; AB={2,4}; AB={1, 3, 5}
Phép tích đề các: Tích đề các của hai tập A và B là một tập hợp, ký hiệu AxB, được định nghĩa như sau:
AxB = {(x, y) | x ∈ A và y ∈ B}
Ví dụ: A = {1, 2, 3}; B = {a, b}
=> AxB = {(1, a), (1, b), (2, a), (2, b), (3, a), (3, b)}
Ví dụ : A = {1, 2, 3}; B = {a, b }; C = { α, β}, lúc đó:
AxBxC = {(1, a, α), (1, b, β), (2, a, α), (2, b, β), (3, a, α), (3, b, β)}
Định nghĩa mô hình dữ liệu quan hệ
Mở đầu
Mô hình dữ liệu quan hệ là một mô hình được sử dụng rộng rãi trong đời sống xã hội của mọi tổ chức, cơ quan, xí nghiệp, doanh nghiệp, nơi nào cần quản lý và xử lý thông tin.Ta xét một vài ví dụ minh hoạ
Ví dụ 1: Xét hồ sơ cán bộ của 1 cơ quan
TT | Mã Số | Tên | Năm Sinh | TĐộ | Quê | GT | Lương |
1 | 01 | Huy | 1945 | Đại Học | T.Bình | Nam | 3000000 |
2 | 02 | Hoàng | 1965 | Cao Học | H.Nội | Nam | 5000000 |
3 | 03 | Minh | 1970 | Trung Học | H.Nội | Nữ | 2000000 |
Ví dụ 2: Xét sổ theo dõi khách của một khách sạn
Trong các vấn đề trên tuy quản lý các mảng thông tin khác nhau nhưng cả 2 đều có chung một đặc thù là dữ liệu để mô tả dưới dạng bảng, mỗi bảng có một dòng đầu tiên gọi là dòng thuộc tính. Mỗi thuộc tính có một miền giá trị của nó
Vi dụ3 :
- Các thuộc tính là (MK, Đến, Đi......)
- Miền giá trị của thuộc tính năm sinh là: 1900....1986
- Trong mỗi ví dụ ở trên mỗi bảng đều có một số phần tử như bản hồ sơ nhân sự có 3 phần tử, bảng theo dõi khách sạn có hai phần tử, mỗi 1 phần tử trong bảng gọi là một bộ(1 bản ghi).
Các dữ liệu được lưu dưới dạng bảng như vậy được gọi là mô hình CSDL quan hệ.
Sau đây chúng ta sẽ định nghĩa chính xác mô hình cơ sở dữ liệu quan hệ
Trong mô hình cơ sở dữ liệu, mỗi quan hệ là một bảng.
Gọi U={A1, A2, ..., An}là tập hữu hạn các thuộc tính, mỗi thuộc tính Ai (i=1..n) có miền giá trị tương ứng là Dom(Ai). Người ta gọi r là quan hệ trên tập thuộc tính U nếu r là tập con của tích Đề-các của n miền Dom(Ai):
r ⊆ Dom(A1)xDom(A2)x...xDom(An).
Lược đồ quan hệ
Một lược đồ quan hệ (relational scheme) là một cặp có thứ tự:
R = <U, F>
Trong đó U là tập hữu han các thuộc tính của quan hệ và F là tập các ràng buộc của quan hệ (tập phụ thuộc hàm). Ở đây một ràng buộc trên tập các thuộc tính {A1, A2,...An} được hiểu là một tính chất trên tập tất cả các quan hệ xác đinh trên tập thuộc tính này.
Ngôn ngữ đại số quan hệ là cơ sở quan trọng của một ngôn ngữ bậc cao được sử dụng để thao tác trên các quan hệ. Ngôn ngữ này bao gồm hai nhóm phép toán:
- Các phép toán tập hợp (phép giao, phép trừ, phép hợp, và tích Đề-các).
- Các phép toán đặc biệt trên quan hệ(phép chọn, phép chiếu, phép kết nối và phép chia.
Định nghĩa: Hai quan hệ gọi là khả hợp nếu chúng có số thuộc tính bằng nhau và thuộc tính thứ i của quan hệ này có miền giá trị bằng miền giá trị thuộc tính thứ i của quan hệ kia.
Giả thiết r là quan hệ xác định trên tập thuộc tính U = {A1, A2, ..., AN}, với r là tập hữu hạn các bộ. Khi đó ta có các phép toán trên quan hệ r như sau:
Hợp của hai quan hệ r1 và r2 khả hợp, ký hiệu r s là tập tất cả các bộ thuộc r hoặc s hoặc thuộc cả hai quan hệ r và s.
Biểu diễn phép hợp có dạng:
r1 r2 = (t | t ∈ r1 hoặc t ∈ r2 hoặc t ∈ r1 và t ∈ r2 )
Ví dụ:
r1 (A B C) r2 (A B C) r1 r2 (A B C)
a1 b1 c1 a1 b1 c1 a1 b1 c1
a2 b1 c2 a2 b2 c2 a2 b1 c2
a2 b2 c1 a2 b2 c2 a2 b2 c1
a2 b2 c2
Phép giao:
Giao của hai quan hệ r1 và r2 khả hợp, ký hiệu r1 r2 là tập tất cả các bộ thuộc cả r1 và r2.
Biểu diễn hình thức:
r1 r2 = {t | t ∈ r1 và t ∈ r2}
Ví dụ: Với r1 và r2 là hai quan hệ ở ví dụ trên, khi đó ta có:
r1 r2 (A B C)
a1 b1 c1
Phép trừ:
Hiệu của hai quan hệ r1 và r2 ký hiệu r1- r2 là tập tất cả các bộ thuộc r không thuộc s.
r1- r2 = (A B C)
a2 b1 c2
a2 b2 c1
Tích Đề-các:
Gọi r là quan hệ xác định trên tập thuộc tính {A1,A2,....,An} và s là quan hệ xác định trên tập thuộc tính {B1,B2,....,Bm}. Tích Đề_các của r và s là tập (n + m) bộ sao cho n thành phần đầu có dạng một bộ thuộc r và m thành phần sau có dạng của một bộ thuộc s.
r x s = {t | t có dạng (a1,a2,....,an,b1,b2,....,bm}. trong đó: (a1,a2,....,an) ∈ r và (b1,b2,....,bm) ∈ s}
Ví dụ:
Phép chiếu:
Gọi X là tập con của tập thuộc tính R = ( A1,A2,....,An). Phép chiếu trên tập X của quan hệ r, ký hiệu là πX (r) và được định nghĩa như sau:
πX (r) = {t[X] / t ∈ r}
- Ví dụ: R = { A, B, C, D}, X = { A, B}, Y = { A, C}
Phép chọn:
Phép chọn là phép tính để xây dựng một tập con các bộ của quan hệ đã cho thoả mãn biểu thức q xác định.
Có thể diễn đạt như sau: Cho r là một quan hệ trên lược đồ quan hệ, một phép chọn trên r thoả mãn điều kiện q là một tập hợp được định nghĩa và ký hiệu như sau.
σq(r) = {t | ∈ r | q(t) = đúng}
Biểu thức q được diễn tả bằng một tổ hợp Boolean của các toán hạng, mỗi toán hạng là một phép so sánh đơn giản giữa 2 biến là hai thuộc tính hoặc giữa một biến là một thuộc tính và một hằng, cho giá trị đúng sai đối với mỗi bộ đã kiểm tra.Các phép so sánh trong biểu thức q là <, =, >=, <=, >, ≠. Các phép toán logic là ¬ (không), ∨ (hoặc), ∧ (và).
R = { A, B, C, D}, q = {A = a1}
Phép nối tự nhiên:
Cho hai lược đồ quan hệ R1(U1), R2(U2). Gọi S = U1 U2 và U = U1 U2. Phép kết nối tự nhiên trên hai quan hệ r1, r2 là một quan hệ r trên U được ký hiệu và định nghĩa:
r1* r2 = {t(U) | ∃ t1 ∈ r1 và ∃ t2 ∈ r2 và t[U1]= t1, t[U2]= t2 }
Ví dụ:
Phép trừ
Hiệu của hai quan hệ r và s khả hợp , ký hiệu là r-s, là tập các bộ thuộc r nhưng không thuộc s.
r-s = {t / t ∈r và t ∉ s}
Ví dụ: