Tổng quan về SQL

Ngôn ngữ hỏi có cấu trúc (SQL) và các hệ quản trị cơ sở dữ liệu quan hệ là một trong những nền tảng kỹ thuật quan trọng trong công nghiệp máy tính. Cho đến nay, có thể nói rằng SQL đã được xem là ngôn ngữ chuẩn trong cơ sở dữ liệu. Các hệ quản trị cơ sở dữ liệu quan hệ thương mại hiện có như Oracle, SQL Server, Informix, DB2,… đều chọn SQL làm ngôn ngữ cho sản phẩm của mình.

Vậy thực sự SQL là gì? Tại sao lại quan trọng trong các hệ quản trị cơ sở dữ liệu? SQL có thể làm được những gì và như thế nào? Nó được sử dụng ra sao trong các hệ quản trị cơ sở dữ liệu quan hệ? Chúng ta hãy tìm hiểu qua về cái nhìn tổng quan về SQL và một số vấn đề liên quan.

1. SQL là ngôn ngữ cơ sở dữ liệu quan hệ

SQL, viết tắt của Structured Query Language (ngôn ngữ hỏi có cấu trúc), là công cụ sử dụng để tổ chức, quản lý và truy xuất dữ liệu được lưu trữ trong các cơ sở dữ liệu. SQL là một hệ thống ngôn ngữ bao gồm tập các câu lệnh sử dụng để tương tác với cơ sở dữ liệu quan hệ.

Tên gọi ngôn ngữ hỏi có cấu trúc phần nào làm chúng ta liên tưởng đến một công cụ (ngôn ngữ) dùng để truy xuất dữ liệu trong các cơ sở dữ liệu. Thực sự mà nói, khả năng của SQL vượt xa so với một công cụ truy xuất dữ liệu, mặc dù đây là mục đích ban đầu khi SQL được xây dựng nên và truy xuất dữ liệu vẫn còn là một trong những chức năng quan trọng của nó. SQL được sử dụng để điều khiển tất cả các chức năng mà một hệ quản trị cơ sở dữ liệu cung cấp cho người dùng bao gồm:

  • Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa các cơ sở dữ liệu, các cấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các thành phần dữ liệu.
  • Truy xuất và thao tác dữ liệu: Với SQL, người dùng có thể dễ dàng thực hiện các thao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu trong các cơ sở dữ liệu.
  • Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm soát các thao tác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho cơ sở dữ liệu.
  • Đảm bảo toàn vẹn dữ liệu: SQL định nghĩa các ràng buộc toàn vẹn trong cơ sở dữ liệu nhờ nó đảm bảo tính hợp lệ và chính xác của dữ liệu trước các thao tác cập nhật cũng như các lỗi của hệ thống.

Như vậy, có thể nói rằng SQL là một ngôn ngữ hoàn thiện được sử dụng trong các hệ thống cơ sở dữ liệu và là một thành phần không thể thiếu trong các hệ quản trị cơ sở dữ liệu. Mặc dù SQL không phải là một ngôn ngữ lập trình như C, C++, Java,… song các câu lệnh mà SQL cung cấp có thể được nhúng vào trong các ngôn ngữ lập trình nhằm xây dựng các ứng dụng tương tác với cơ sở dữ liệu.

Khác với các ngôn ngữ lập trình quen thuộc như C, C++, Java,… SQL là ngôn ngữ có tính khai báo. Với SQL, người dùng chỉ cần mô tả các yêu cầu cần phải thực hiện trên cơ sở dữ liệu mà không cần phải chỉ ra cách thức thực hiện các yêu cầu như thế nào. Chính vì vậy, SQL là ngôn ngữ dễ tiếp cận và sử dụng.

2. Vai trò của SQL

Bản thân SQL không phải là một hệ quản trị cơ sở dữ liệu, nó không thể tồn tại độc lập. SQL thực sự là một phần của hệ quản trị cơ sở dữ liệu, nó xuất hiện trong các hệ quản trị cơ sở dữ liệu với vai trò ngôn ngữ và là công cụ giao tiếp giữa người sử dụng và hệ quản trị cơ sở dữ liệu.

Trong hầu hết các hệ quản trị CSDL quan hệ, SQL có những vai trò như sau:

  • SQL là ngôn ngữ hỏi có tính tương tác: Người sử dụng có thể dễ dàng thông qua các trình tiện ích để gửi các yêu cầu dưới dạng các câu lệnh SQL đến CSDL và nhận kết quả trả về từ CSDL.
  • SQL là ngôn ngữ lập trình CSDL: Các lập trình viên có thể nhúng các câu lệnh SQL vào trong các ngôn ngữ lập trình để xây dựng nên các chương trình ứng dụng giao tiếp với CSDL.
  • SQL là ngôn ngữ quản trị CSDL: Thông qua SQL, người quản trị CSDL có thể quản lý được CSDL, định nghĩa các cấu trúc lưu trữ dữ liệu, điều khiển truy cập CSDL,…
  • SQL là ngôn ngữ cho các hệ thống khách/chủ (client/server): Trong các hệ thống CSDL khách/chủ, SQL được sử dụng như là công cụ để giao tiếp giữa các trình ứng dụng phía máy khách với máy chủ CSDL.
  • SQL là ngôn ngữ truy cập dữ liệu Internet: Cho đến nay, hầu hết các máy chủ Web cũng như các máy chủ trên Internet sử dụng SQL với vai trò là ngôn ngữ để tương tác với dữ liệu trong các CSDL.
  • SQL là ngôn ngữ CSDL phân tán: Đối với các hệ quản trị CSDL phân tán, mỗi một hệ thống sử dụng SQL để giao tiếp với các hệ thống khác trên mạng, gửi và nhận các yêu cầu truy xuất dữ liệu với nhau.
  • SQL là ngôn ngữ sử dụng cho các cổng giao tiếp CSDL: Trong một hệ thống mạng máy tính với nhiều hệ quản trị CSDL khác nhau, SQL thường được sử dụng như là một chuẩn ngôn ngữ để giao tiếp giữa các hệ quản trị cơ sở dữ liệu.

3. Tổng quan về cơ sở dữ liệu quan hệ

Mô hình dữ liệu quan hệ

Mô hình dũe liệu quan hệ Codd đề xuất năm 1970 và đến nay trở thành mô hình được sử dụng phổ biến trong các hệ quản trị CSDL thương mại. Nói một cách đơn giản, một CSDL quan hệ là một CSDL trong đó tất cả dữ liệu được tổ chức trong các bảng có mối quan hệ với nhau. Mỗi một bảng bao gồm các dòng và các cột. Mỗi một dòng được gọi là một bản ghi (bộ) và mỗi một cột là một trường (thuộc tính).

Bảng (Table)

Như đã nói ở trên, trong CSDL quan hệ, bảng là đối tượng được sử dụng để tổ chức và lưu trữ dữ liệu. Một CSDL bao gồm nhiều bảng và mỗi bảng được xác định duy nhất bởi tên bảng. Một bảng bao gồm một tập các dòng và các cột. Mỗi một dòng trong bảng biểu diễn cho một thực thể, mỗi một cột biểu diễn cho một tính chất của thực thể.

Như vậy, liên quan đến mỗi một bảng bao gồm các yếu tố sau:

  • Tên của bảng: được sử dụng để xác đinh duy nhất mỗi bảng trong CSDL.
  • Cấu trúc của bảng: Tập các cột trong bảng. Mỗi một cột trong bảng được xác định bởi một tên cột và phải có một kiểu dữ liệu nào đó.
  • Dữ liệu của bảng: Tập các dòng (bản ghi) hiện có trong bảng.

Khoá của Bảng

Trong một CSDL được thiết kế tốt, mỗi một bảng phải có một hoặc một tập các cột mà giá trị dữ liệu của nó xác định duy nhất một dòng trong một tập các dòng của bảng. Tập một hoặc nhiều cột có tính chất này được gọi là khoá của bảng.

Việc chọn khoá của bảng có vai trò quan trọng trong việc thiết kế và cài đặt các khoá.

sql server

Một bảng có thể có nhiều tập các cột khác nhau có tính chất của khoá (tức là giá trị của nó xác định duy nhất một dòng dữ liệu trong bảng). Trong trường hợp này, khoá được chọn cho bảng được gọi là khoá chính (Primary key) và những khoá còn lại gọi là khoá phụ hay là khoá dự tuyển (candidate key/ unique key).

Mối quan hệ và khoá ngoài

Các bảng trong một CSDL không tồn tại độc lập mà còn có mối quan hệ mật thiết với nhau về mặt dữ liệu. Mối quan hệ này được thể hiện thông qua ràng buộc giá trị dữ liệu xuất hiện ở bảng này phải có xuất hiện trước trong một bảng khác. Mối quan hệ giữa các bảng trong CSDL nhằm đảm bảo được tính đúng đắn và hợp lệ của dữ liệu trong CSDL.

Mối quan hệ giữa các bảng trong một CSDL thể hiện đúng mối quan hệ giữa các thực thể trong thế giới thực.

sql server

Khái niệm khoá ngoài (Foreign Key) trong CSDL quan hệ được sử dụng để biểu diễn mối quan hệ giữa các bảng dữ liệu. Một hay một tập các cột trong một bảng mà giá trị của nó được xác định từ khoá chính của một bảng khác được gọi là khoá ngoài.

Cảm ơn các bạn đã xem.
Tăng tương tác tại: Like Sub Ngon Giá Rẻ

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Chào mừng bạn đến với Shop Theme Wordpress. Chúc bạn có khoảng thời gian ý nghĩa khi mua sắm tại đây! Bỏ qua