Mô hình dữ liệu quan hệ – quan hệ cơ sở dữ liệu

relation-schema

Cho $A_1, A_2, …, A_n$ là các tên của các thuộc tính thuộc các miền $D_1, D_2,…, D_n$ theo thứ tự tương ứng.

Lược đồ quan hệ

Lược đồ quan hệ (relation schema) được biểu diễn bởi một tên, đi theo sau là một tập hữu hạn các thuộc tính $\{A_1, A_2, .., A_n\}$ được ghi trong hai dấu ngoặc đơn. Lược đồ quan hệ được biểu diễn như sau:

$$R(A_1, A_2, …, A_n)$$

Với $R$ là tên của lược đồ quan hệ. Để đơn giản, đôi khi chúng ta cũng nói $R$ là tập thuộc tính của lược đồ quan hệ $R$.

Ví dụ: Xét một lược đồ quan hệ sau đây: Employee(Emp_ID, Name, Dept_Name, Salary). Trong đó, Employee là tên của lược đồ quan hệ; Emp_ID, Name, Dept_Name, Salary là các thuộc tính của lược đồ quan hệ.

Bậc của lược đồ quan hệ là số lượng các thuộc tính của lược đồ quan hệ. Trong lược đồ quan hệ Employee, ta có bậc = 4.

Vị từ (predicate) của lược đồ quan hệ $R(U)$, được ký hiệu là $||R(U)||$, là một quy tắc đúng đắn mà mọi ánh xạ $(A_1: d_1, A_2: d_2, …, A_n: d_n)$ với $d_i \in D_i, 1 \leq i \leq n$ cho câu trả lời là đúng hoặc sai. Vị từ của lược đồ quan hệ là một phát biểu cho biết ngữ nghĩa của lược đồ quan hệ R trong thế giới thực. Trong ví dụ trên, vị từ là: “Một nhân viên có các thuộc tính gồm mã nhân viên Emp_ID duy nhất, tên nhân viên Name, làm việc tại phòng Dept_Name và có tiền lương là Salary“.

Quan hệ

$$\text{Gọi } D = D_1 \cup D_2 \cup … \cup D_n$$

Quan hệ $r$ trên lược đồ quan hệ $R$, được ký hiệu là $r(R)$ là một tập hữu hạn các ánh xạ $\{t_1, t_2, …, t_p\}$ từ $R$ vào $D$ với điều kiện mọi ánh xa $t \in r$ thì $t[A_i] \in D_i, 1 \leq i \leq n$.

Quan hệ $r$ là một thể hiện quan hệ (relation instance) của lược đồ quan hệ R tại một thời điểm. Mỗi ánh xạ của quan hệ là một bộ của quan hệ và được ký hiệu:

$$(A_1: d_1, A_2: d_2, …, A_n: d_n)$$

Với $d_i \in D_i, 1 \leq i \leq n$.

Một bộ của quan hệ bao gồm nhiều giá trị, mỗi giá trị là thành phần (component) của bộ. Thành phần $A_i$ của bộ $t$ được ký hiệu là $t[A_i]$ hoặc $t.A_i$. Các thành phần $X = \{A_i, …, A_j\}$ của bộ $t$ được ký hiệu là $t[X]$.

Thông thường, khi chúng ta biểu diễn một quan hệ là một bảng thì tên của một thuộc tính là tiêu đề của một cột và một bộ là một hàng theo dạng $(d_1, d_2, …, d_n)$, trong đó mỗi giá trị thuộc một miền thích hợp. Bằng cách này, chúng ta có thể xem quan hệ trong mô hình dữ liệu quan hệ như là một tập con bất kỳ của tích Descartes của các miền thuộc tính. Một bảng là sự biểu diễn vật lý của một quan hệ.

Xét tiếp ví dụ phía trên, một bộ $t$ của quan hệ Employee là:

$$t = (Emp\_ID: 100, Name: “Simpson”, Dept\_Name: “Marketing”, Salary: 48000)$$

Thành phần Name của bộ $t$ là: t.Name = “Simpson”