a. Quan hệ
Cho D1, D2,…., Dn là n miền giá trị, không nhất thiết khác nhau. Theo định nghĩa toán học ta có: Tích đề các của các tập D1, D2,…., Dn được ký hiệu là D1x D2 x….x Dn là tập các bộ n của dãy sắp thứ tự (d1, d2,…., dn) trong đó di ∈Di với i = 1,n.
Nói cách khác D1 x D2 x….x Dn = {(d1, d2,…., dn)| di ∈Di với i = 1,2,….,n}. Một quan hệ
là R⊆ D1 x D2 x….x Dn.
Nếu viết tất cả các bộ n của quan hệ R, mỗi bộ trên một dòng, các thành phần cùng vị trí trên các bộ được gióng thẳng đứng với nhau, ta có một bảng hai chiều với: số n các cột được gọi là cấp của quan hệ, số m các dòng được gọi là bản số của quan hệ. Ví dụ: Cho D1 là tập người và D2 là tập các số nguyên dương. Quan hệ R⊆ D1 x D1 x D2 trong đó mỗi bộ <a, b, c> diễn tả một cuộc hôn nhân (anh a lấy chị b vào năm c) có thể biểu diễn thành bảng như sau:
Cột thứ nhất Cột thứ hai Cột thứ ba
Hải Hạnh 1975
Quỳnh Nga 1956
Hòa Cúc 1980
b. Thuộc tính
Theo định nghĩa toán học về quan hệ, các miền D1, D2,…., Dn là có thứ tự. Chúng không thể trao đổi vị trí cho nhau, vì vai trò của chúng trong sự diễn tả ý nghĩa của quan hệ là gắn với vị trí. Chẳng hạn ở ví dụ trên cột thứ nhất được diễn tả là chồng, cột thứ hai được diễn tả là vợ và cột thứ ba được diễn tả là năm kết hôn. Tráo đổi vị trí sẽ làm ý nghĩa của quan hệ bị sai lạc
Tuy nhiên nếu ta đem tên vai trò của mỗi cột gắn cho cột đó (xem là tên của cột), thì vị trí lại không còn quan trọng nữa. Gọi tên đó c ủa mỗi cột là một thuộc tính. Trong tin học, ta xem ý nghĩa của mỗi cột là được giải thích bởi tên của cột đó (thuộc tính) chứ không phải bởi vị trí của cột đó. Như vậy ví dụ trên có thể được viết lại với các thuộc tính cho số thứ tự của cột
Chồng Vợ Năm kết hôn
Hải Hạnh 1975
Quỳnh Nga 1956
Hòa Cúc 1980
c. Khóa
o Khoá chính: Khoá chính của một quan hệ (Primary Key-PK) là một hoặc một nhóm thuộc tính xác định duy nhất một bộ trong quan hệ. Khoá
chính của quan hệ là định danh của thực thể tương ứng. Trong quan hệ các thuộc tính thuộc khoá chính được gạch chân và được gọi là các thuộc tính khoá.
Ví dụ: SINH VIÊN (m ã S V, họ tên, ngày sinh, quê quán, lớp) – mã SV là khoá chính của quan hệ SINH VIÊN.
Khi chọn khoá chính cần phải xem xét các tiêu chuẩn sau: khoá chính phải xác định được duy nhất một bộ trong quan hệ, phải có số thuộc tính ít nhất, phải không thay đổi theo thời gian.
o Khoá ghép: Khoá ghép là khoá có từ hai thuộc tính trở lên.
Ví dụ: GIẢNG DẠY(m ã G V , m ã M H , ngày bắt đầu, ngày kết thúc) – khoá chính của quan hệ GIẢNG DẠY là một khoá ghép gồm hai thuộc tính mã GV và mã MH.
o Khoá ngoài: Một khoá ngoài được sử dụng để thiết lập một mối quan hệ. Đó là thuộc tính mô tả của quan hệ này nhưng đồng thời lại là thuộc tính khoá trong quan hệ khác. Trong quan hệ các thuộc tính khoá ngoài được in nghiêng hoặc gạch chân bằng nét đứt.
Ví dụ: LỚP (t ên l ớ p, khoa, phòng học)
SINH VIÊN (m ã S V, họ tên, ngày sinh, quê quán, tên lớp) – tên lớp là khoá ngoài của quan hệ SINH VIÊN
d. Lược đồ quan hệ
Một lược đồ quan hệ là sự hợp thành của hai yếu tố một cấu trúc 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 có dưới dạng R(A1, A2, …., An), một tập hợp các rang 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, có thể nói lược đồ quan hệ là một khuôn mẫu, hay nói đúng hơn là một cái lọc, cho phép thiết lập một họ các quan hệ cùng ngữ nghĩa. Ví dụ: Lược đồ quan hệ SINH VIÊN(Mã sinh viên, Họ tên, Ngày sinh,….).
Ràng buộc toàn vẹn trong lược đồ quan hệ là điều kiện ràng buộc đối với giá trị của một hay nhiều thuộc tính. Nhằm đảm bảo tính hợp lý trong thế giới thực của các thực thể trong mô hình; trong hệ thống thông tin, giúp hệ thống phát hiện những sai lệch trong thu thập, xử lý và truyền thông tin; trở thành những kiểm soát để sàng lọc các giá trị không hợp lý trong hệ thống tin học hóa sau này. Có các loại ràng buộc toàn vẹn sau:
Miền giá trị: Xác định ràng buộc về giá trị cho các thuộc tính. Ví dụ:Năm sinh > 1945, 0 < Tuổi < 100 để chỉ tuổi của nhân viên.
Giá trị không (NULL value):Xác định ràng buộc cho phép hay không một thuộc tính nhận giá trị Null (giá trị không nhất thiết phải có). Ví dụ: thuộc tính “diemthi” cho phép không có giá trị bởi vì có những sinh viên không thi hoặc chưa thi. Thuộc tính “tensinhvien” không cho phép không có giá trị vì bất cứ sinh viên nào cũng phải có tên.
Định danh: Không thể có hai thực thể khác nhau lại trùng định danh. Ví dụ: Biển số xe xác định một xe duy nhất. Số áo và màu áo xác định duy nhất một cầu thủ trên sân.
So sánh tương ứng giữa mô hình thực thể liên kết, lược đồ quan hệ và hệ quản trị CSDL chúng ta có bảng sau:
Mô hình thực thể liên kết Lược đồ quan hệ Hệ QTCSDL
Thực thể Quan hệ Bảng
Thể hiện của thực thể Bộ Dòng và bản ghi
Thuộc tính Thuộc tính Cột và trường
Ví dụ:
o Mô hình thực thể liên kết
o Mô hình quan hệ: Biểu diễn quan hệ dưới dạng bản ghi logic Quan hệ SINH VIÊN (Mã SV, Họ tên, Ngày sinh, Quê quán, Lớp) Các bộ: (SV01, Vũ Thị Lan, 12/3/1985, Hà Nội, T5_K2)
(SV41, Đặng Nhật Minh, 1/8/1981, Thái Bình, T4_K4)
tblSINH VIÊN
Mã SV Họ tên Ngày sinh Quê quán Lớp
SV01 Vũ Thị Lan 12/3/1985 Hà Nội T5_K2
SV41 Đặng Nhật Minh 1/8/1981 Thái Bình T4_K4