Share Tìm hiểu về các khái niệm của RDBMS trong SQL

filiallion

Administrator
Staff member
Administrator
Messages
585
Points
10
Language
Tiếng Việt
RDBMS là viết tắt của cụm từ 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ư MySQL, SQL Server, Oracle,... là dựa trên RDBMS. Các cơ sở dữ liệu này được gọi là RDBMS bởi vì nó dựa trên mô hình quan hệ (Relational model) đã đượ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, các cơ sở dữ liệu quan hệ chứa các bảng và mỗi bảng có khoá chính riêng (Primary key). 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.

Sau đây, tôi giới thiệu với các bạn một số khái niệm của RDBMS như sau:

Bảng (Table):

RDBMS 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ữ dữ liệu đơn giản nhất trong RDBMS.

Trường (Field):

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.

Hàng/Bản ghi (Row/Record):

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 thực thể riêng rẽ trong bảng. Hàng là một thực thể nằm ngang trong bảng.

Cột (Column):

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.

Ràng buộc (Constraint):

Ràng buộc 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 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.

Ràng buộc có thể là ở cấp độ cột hoặc cấp độ bảng. 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 được sử dụng phổ biến có sẵn trong SQL:
  • Ràng buộc NOT NULL: Bảo đảm một cột không thể có giá trị NULL.
  • Ràng buộc DEFAULT: Cung cấp một giá trị mặc định cho cột khi không được xác định.
  • Ràng buộc UNIQUE: Bảo đảm tất cả giá trị trong một cột là khác nhau.
  • Ràng buộc PRIMARY KEY: Mỗi hàng/Bản ghi được nhận diện một cách duy nhất trong một bảng.
  • Ràng buộc FOREIGN KEY: Mỗi hàng/Bản ghi được nhận diện một cách duy nhất trong bất kỳ bảng nào.
  • Ràng buộc CHECK: Bảo đảm tất cả giá trị trong một cột thỏa mãn các điều kiện nào đó.
  • Ràng buộc INDEX: Sử dụng để tạo và lấy dữ liệu từ cơ sở dữ liệu một cách nhanh chóng.
Toàn vẹn dữ liệu (Data integrity):

Toàn vẹn dữ liệu 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 bảng dữ liệu. 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:
  • Entity Integrity: Xác định rằng trong một bảng không nên có bản sao các hàng.
  • Domain Integrity: Bắt buộc các entry hợp lệ cho một cột đã cho bằng cách giới hạn kiểu, định dạng hoặc dãy giá trị.
  • Referential integrity: Xác định rằng, các hàng/bản ghi không thể bị xóa, mà được sử dụng bởi các hàng/bản ghi khác.
  • User-Defined Integrity: Áp dụng một số qui tắc được định nghĩa bởi người dùng, các qui tắc này là khác với các loại toàn vẹn dữ liệu trên.
Chuẩn hóa cơ sở dữ liệu (Database normalization):

Chuẩn hóa cơ sở dữ liệu là tiến trình tổ chức dữ liệu một cách hiệu quả trong một cơ sở dữ liệu. Có 2 lý do của tiến trình chuẩn hóa:
  • Để loại bỏ các dữ liệu thừa, ví dụ như lưu trữ cùng dữ liệu trong nhiều hơn một bảng.
  • Bảo đảm độc lập dữ liệu (Dữ liệu liên quan với nhau được đặt trong cùng một bảng).
Cả 2 mục tiêu trên đều giúp giảm thiểu không gian sử dụng trong cơ sở dữ liệu và đảm bảo dữ liệu được lưu trữ một cách hợp lý.
 
Back
Top