Các khái niệm RDBMS trong SQL
RDBMS là gì? RDBMS là viết tắt của R elational D atabase M anagement S ystem ((Hệ thống quản lý cơ sở dữ liệu quan hệ)). Tất cả các hệ thống quản lý cơ sở dữ liệu hiện đại như SQL, MS SQL Server, ORACLE, … là dựa trên RDBMS. Nó được gọi là RDBMS bởi vì nó dựa trên Relational Model ...
RDBMS là gì?
RDBMS là viết tắt của Relational Database Management System ((Hệ thống quản lý cơ sở dữ liệu quan hệ)). Tất cả các hệ thống quản lý cơ sở dữ liệu hiện đại như SQL, MS SQL Server, ORACLE, … là dựa trên RDBMS. Nó được gọi là RDBMS bởi vì nó dựa trên Relational Model (Mô hình quan hệ) đã được giới thiệu bởi E.F.Codd.
Trong RDBMS, dữ liệu được biểu diễn bởi các hàng. Relational Database là cơ sở dữ liệu được sử dụng phổ biến nhất. Nó chứa các bảng và mỗi bảng có Primary Key riêng. Bởi vì các bảng này được tổ chức chặt chẽ nên việc truy cập dữ liệu trở nên dễ dàng hơn trong RDBMS.
Bảng (Table) là gì?
RDBMS Database sử dụng các bảng để lưu trữ dữ liệu. Một bảng là một tập hợp các dữ liệu có liên quan và chứa các hàng và các cột để lưu dữ liệu. Một bảng là một kho lưu trữ (Storage) dữ liệu đơn giản nhất trong RDBMS. Bạn theo dõi ví dụ về bảng một nhóm sinh viên trong bảng SINHVIEN sau:
+----+---------+-----+-----------+--------+ | ID | TEN | TUOI| KHOAHOC | HOCPHI | +----+---------+-----+-----------+---------+ | 1 | Hoang | 21 | CNTT | 4 | | 2 | Viet | 19 | DTVT | 3.0 | | 3 | Thanh | 18 | KTDN | 4 | | 4 | Nhan | 19 | CK | 4.5 | | 5 | Huong | 20 | TCNH | 5 | +----+---------+-----+-----------+---------+ 5 rows in set (0.00 sec)
Field (Trường) là gì?
Trường, là một thực thể nhỏ nhất của bảng, chứa thông tin cụ thể về mỗi bản ghi trong bảng. Trong ví dụ trên, trường trong bảng sinh viên là id, ten, tuoi, khoahoc, hocphi.
Hàng hoặc bản ghi là gì?
Một hàng của một bảng cũng được gọi là bản ghi. Nó chứa thông tin cụ thể về một entry riêng rẽ trong bảng. Hàng là một thực thể nằm ngang trong bảng. Bảng trên gồm 5 hàng. Bạn theo dõi ví dụ một hàng trong bảng này:
+----+----------+-----+-----------+----+ | 1 | Hoang | 21 | CNTT | 4 | +----+----------+-----+-----------+----+
Column (cột) là gì?
Một cột, là một thực thể dọc trong bảng, chứa tất cả thông tin được liên kết với một trường cụ thể trong một bảng. Trong bảng trên, cột "ten" bao gồm thông tin về tên của sinh viên.
+-----------+ | TEN | +-----------+ | Hoang | | Viet | | Thanh| | Nhan | | Huong | +-----------+
Giá trị NULL là gì?
Giá trị NULL của một bảng xác định rằng trường đã bị để trống trong khi tạo bản ghi. Nó là khác hoàn toàn với giá trị 0 hoặc một trường mà chứa khoảng trống (space).
Ràng buộc (Constraint) trong SQL
Ràng buộc (Constraint) là các qui tắc cho các cột dữ liệu trong bảng. Chúng được sử dụng để giới hạn kiểu dữ liệu mà có thể nhập vào một bảng. Điều này đảm bảo tính chính xác và tính đáng tin cậy cho dữ liệu trong Database.
Ràng buộc (Constraint) có thể là ở cấp độ cột (column level) hoặc cấp độ bảng (table level). Ràng buộc cấp độ cột chỉ được áp dụng cho một cột, trong khi ràng buộc cấp độ bảng được áp dụng cho cả bảng.
Dưới đây là các Ràng buộc (Constraint) được sử dụng phổ biến có sẵn trong SQL:
Chúng ta sẽ tìm hiểu các loại ràng buộc này trong các chương riêng trong chủ đề Ràng buộc trong SQL.
Toàn vẹn dữ liệu trong SQL
Toàn vẹn dữ liệu (Data Integrity) là việc đặt ra các quy tắc trong một cơ sở dữ liệu nhằm kiểm tra các giá trị của dữ liệu trước khi được lưu trữ phải đảm bảo tính chính xác và hợp lý bên trong một cơ sở dữ liệu. Nếu các giá trị dữ liệu nào vi phạm các quy tắc đặt ra thì các dữ liệu đó sẽ không được lưu vào table. Dưới đây là một số loại về tính toàn vẹn dữ liệu tồn tại với mỗi RDBMS:
Chuẩn hóa cơ sở dữ liệu (Database Normalization) trong SQL
Chuẩn hóa cơ sở dữ liệu (Database normalization) là tiến trình tổ chức dữ liệu một cách hiệu quả trong một Database. Có hai lý do của tiến trình chuẩn hóa:
Cả hai mục tiêu trên đều giúp giảm thiểu không gian sử dụng trong Database và đảm bảo dữ liệu được lưu giữ một cách logic. Chuẩn hóa gồm một dãy các guideline giúp hướng dẫn bạn trong việc tạo một cấu trúc cơ sở dữ liệu tốt.
Các nguyên tắc chuẩn hóa cơ sở dữ liệu được phân chia thành các normal form; bạn nên nghĩ về form như là định dạng hoặc cách một cấu trúc cơ sở dữ liệu được bố trí. Mục tiêu của normal form là để tổ chức cấu trúc cơ sở dữ liệu, để mà nó biên dịch theo các qui tắc của First Normal Form (1NF), của Second Normal Form (2NF) và cuối cùng là Third Normal Form (3NF). Chúng ta sẽ tìm hiểu chúng trong chủ đề Tài liệu SQL tham khảo.