-
Chương 1: CÁC KHÁI NIỆM CƠ BẢN
Các khái niệm cơ bản
-
Chương 2: MÔ HÌNH THỰC THỂ LIÊN KẾT
Mô hình thực thể liên kết
-
Chương 3: MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ
Mô hình cơ sở dữ liệu quan hệ
-
Chương 4: ĐẠI SỐ QUAN HỆ
Các phép toán trên dữ liệu
-
Chương 5: RÀNG BUỘC TOÀN VẸN
-
Chương 6: PHỤ THUỘC HÀM
-
Chương 7: CHUẨN HÓA CƠ SỞ DỮ LIỆU
3.2. Các khái niệm của mô hình quan hệ
Các khái niệm trong mô hình quan hệ
Mô hình quan hệ biểu diễn cơ sở dữ liệu như một tập các quan hệ. Mỗi quan hệ có thể được biểu diễn như một bảng tương ứng với một kiểu thực thể, mỗi dòng của bảng biểu diễn một tập hợp các giá trị dữ liệu liên quan với nhau tương ứng với một thực thể cụ thể hoặc một liên kết của thế giới thực, mỗi cột của bảng tương ứng với một thuộc tính của kiểu thực thể. Tên bảng và tên các cột dùng để giúp giải thích ý nghĩa của các giá trị trong mỗi dòng. Mọi giá trị trong một cột đều cùng một kiểu dữ liệu.
Theo thuật ngữ mô hình quan hệ hình thức, mỗi hàng được gọi là một bộ, mỗi đầu cột được gọi là một thuộc tính, và bảng được gọi là một quan hệ. Kiểu dữ liệu mô tả các kiểu của dữ liệu xuất hiện trong mỗi cột gọi là một miền.
3.1.1 Thuộc tính (Attribute)
Thuộc tính trong mô hình quan hệ là các cột của quan hệ, nó thể hiện một đặc trưng hay một tính chất của quan hệ
3.1.2 Miền giá trị (Domain)
Một miền giá trị, ký hiệu là D là một tập hợp các giá trị nguyên tử, không thể phân chia được trong phạm vi mô hình quan hệ. Để đặc tả một miền một phạm vi nhận giá trị của một thuộc tính nào đó, người ta chỉ ra một tên, một kiểu dữ liệu và khuôn dạng dữ liệu. Một số ví dụ về định nghĩa miền giá trị:
- Họ tên: Tập hợp các dãy chữ cái có độ dài <= 30.
- Tuổi: Tập các số nguyên nằm trong khoảng từ 1 đến 80.
- Giới tính: Tập hợp gồm hai giá trị “Nam”, “Nữ”.
Miền giá trị trong mô hình quan hệ ký hiệu là D, miền giá trị của một thuộc tính Ai bất kì ký hiệu là Dom(Ai).
3.1.3 Bộ dữ liệu (Data Tube)
Bộ trong mô hình quan hệ là các dòng thể hiện giá trị của quan hệ trừ dòng tiêu đề. Bộ dùng để thể hiện dữ liệu cụ thể của các thuộc tính trong quan hệ.
3.1.4 Quan hệ (Relation)
Một quan hệ R(U) trong đó U là tập thuộc tính (A1,…,An), là một tập hợp n-bộ r = { t1, …, tn}
Mỗi bộ t là một danh sách có thứ tự của n giá trị, ti = <v1, v2, …, vn>, với mỗi vi thuộc Dom(Ai) mà 1<= i <= n.
R(U) là tập con của tích Đê các: D1 x …. x Dn. Với Ai là thuộc tính và miền giá trị của các thuộc tính Ai là: D1 = Dom(A1), D2 = Dom(A2),…, Dn = Dom(An)
Giá trị thứ i của bộ t tương ứng với thuộc tính Ai, ký hiệu là t[Ai].
Ví dụ:
3.1.5 Lược đồ quan hệ
Như trình bày trên, một quan hệ là một bảng hai chiều các giá trị, đó là tập hợp các bộ của quan hệ tại thời điểm nào đó. Tuy nhiên, trên quan hệ lại thường xuyên có các phép cập nhật (bổ sung, loại bỏ, điều chỉnh), do đó quan hệ thay đổi theo thời gian.
Tuy quan hệ thay đổi về giá trị do thực hiện thao tác cập nhật nhưng quan hệ đó vẫn giữ được các đặc trưng về mặc ngữ nghĩa. Các đặc trưng không thay đổi đó của quan hệ được gọi là lược đồ quan hệ.
Lược đồ quan hệ được sử dụng để mô tả một quan hệ, bao gồm: Tên quan hệ, các thuộc tính và bậc của quan hệ (số lượng các thuộc tính).
Ký hiệu lược đồ quan hệ: R(A1,…,An)
Trong đó:
– R là tên quan hệ cần biểu diễn,
– Ai là tên các thuộc tính, mỗi Ai có miền giá trị tương ứng Dom(Ai).
Lược đồ quan hệ là sự tạo thành từ hai yếu tố cơ bản:
– Một cấu trúc cơ bản, gồm tên quan hệ và một danh sách các thuộc tính (mỗi thuộc tính gắn với một miền), thường cho dưới dạng R(A1, A2, …, An),
– Một tập hợp các ràng buộc toàn vẹn, tức là các điều kiện mà mọi quan hệ trong lược đồ đều phải thỏa mãn.
Như vậy, Lược đồ quan hệ là một khuôn mẫu, là một bộ lọc cho phép thiết lập một họ các quan hệ có cùng ngữ nghĩa với nhau.
Ví dụ, ta có lược đồ quan hệ SINHVIÊN (Mã_số, Họ_tên, Ngày_sinh, Giới_tính, Địa_chỉ) với các ràng buộc toàn vẹn như sau:
– Một bộ <ms, ht, ns, gt, dc> có nghĩa là một sinh viên nào đó có một mã số, một họ tên, một ngày sinh, một giới tính và một địa chỉ xác định,
– Miền xác định của giới tính chỉ nhận hai giá trị “Nam” hoặc “Nữ”
Lược đồ cơ sở dữ liệu: là tập các lược đồ quan hệ của một hệ thống quản lý
Ví dụ: Bài toán quản lý sinh viên ta có lược đồ cơ sở dữ liệu như sau:
KHOA(Mã_Khoa, Tên_Khoa)
LỚP(Mã_Lớp, Tên_Lớp, Mã_Khoa)
SINHVIÊN (Mã_SV, Họ_tên, Ngày_sinh, Giới_tính, Địa_chỉ, Mã_Lớp)