
Hệ thống quản trị đào tạo trực tuyến
Chương này đi sâu vào Mô hình Dữ liệu Quan hệ (Relational Data Model), nền tảng của hầu hết các Hệ quản trị CSDL thương mại hiện nay. Sinh viên sẽ nắm vững các khái niệm lý thuyết, quy tắc chuyển đổi từ Mô hình E-R sang Mô hình Quan hệ, và cách sử dụng Đại số Quan hệ để truy vấn dữ liệu.
Mô hình Quan hệ được xây dựng dựa trên các khái niệm toán học về Tập hợp và Logic. Dữ liệu được tổ chức dưới dạng các bảng (Table) hai chiều, gọi là Quan hệ (Relation).
Quan hệ là một bảng hai chiều. Trong môi trường CSDL, Quan hệ được gọi là Bảng (Table).
Bộ là một hàng (Row) trong Quan hệ. Mỗi Bộ đại diện cho một bản ghi (Record) hoặc một thực thể cụ thể (ví dụ: thông tin của một sinh viên).
Thuộc tính là một cột (Column) trong Quan hệ. Mỗi Thuộc tính mô tả một đặc tính của thực thể (ví dụ: Tên, Mã số).
Miền giá trị là tập hợp tất cả các giá trị hợp lệ mà một thuộc tính có thể nhận (ví dụ: miền giá trị của thuộc tính NgàySinh là tập hợp các ngày hợp lệ).
Lược đồ Quan hệ là mô tả tên của Quan hệ cùng với tập hợp các thuộc tính của nó.
Ký hiệu: $R(A_1, A_2, ..., A_n)$, trong đó $R$ là tên quan hệ và $A_i$ là các thuộc tính.
Khóa là một thuộc tính hoặc tập hợp các thuộc tính giúp định danh duy nhất một Bộ trong Quan hệ.
Quy trình chuyển đổi (Mapping) Mô hình E-R sang Mô hình Quan hệ là bước thiết kế logic quan trọng, tuân theo các quy tắc sau:
Mỗi Thực thể mạnh được chuyển đổi thành một Quan hệ (Bảng). Các thuộc tính của thực thể trở thành các cột, và Thuộc tính khóa chính của thực thể trở thành Khóa chính (PK) của quan hệ.
Có hai cách:
Tạo một Khóa ngoại (FK) trong bảng đại diện cho phía "Nhiều" để tham chiếu đến Khóa chính của bảng đại diện cho phía "Một".
Tạo một Quan hệ mới (Bảng liên kết/Intersection Table) đại diện cho mối quan hệ đó. Khóa chính (PK) của bảng mới này là sự kết hợp của Khóa chính của hai bảng tham gia mối quan hệ. Bảng này cũng chứa các thuộc tính riêng của mối quan hệ (nếu có).
Thực thể yếu được chuyển thành một bảng. Khóa chính của bảng này là sự kết hợp giữa Khóa chính của Thực thể mạnh xác định và Thuộc tính phân biệt (Partial Key) của Thực thể yếu. Bảng thực thể yếu cũng chứa Khóa ngoại tham chiếu đến bảng thực thể mạnh.
Đại số Quan hệ (Relational Algebra) là ngôn ngữ truy vấn thủ tục (Procedural Query Language) được sử dụng để thao tác dữ liệu trong mô hình quan hệ. Nó sử dụng các toán tử để tạo ra các quan hệ mới từ các quan hệ hiện có.
Ký hiệu: $\sigma_{\text{điều kiện}}(R)$
Ký hiệu: $\pi_{\text{danh sách thuộc tính}}(R)$
Ký hiệu: $R \times S$
Ký hiệu: $\rho_{\text{tên mới}}(R)$
Đại số Quan hệ là cơ sở lý thuyết cho Ngôn ngữ truy vấn có cấu trúc (SQL). Mọi truy vấn SQL phức tạp đều có thể được phân rã thành một chuỗi các phép toán Đại số Quan hệ. Việc hiểu Đại số Quan hệ giúp sinh viên tối ưu hóa và hiểu sâu hơn về cách DBMS thực thi các truy vấn dữ liệu.