Cộng đồng chia sẻ tri thức Doc24.vn

4. Các chức năng của hệ quản trị CSDL quan hệ

Gửi bởi: Phạm Thọ Thái Dương vào ngày 2020-02-14 03:38:37

Mục lục
* * * * *

1. Các khái niệm trong mô hình dữ liệu quan hệ

  • Miền (domain): là một tập các giá trị hoặc các đối tượng.
  • Thực thể: Thực thể là một đối tượng cụ thể hay trừu tượng trong thế giới thực mà nó tồn tại và có thể phân biệt được với các đối tượng khác.

Ví dụ: Bạn Nguyễn Văn A là một thực thể cụ thể. Hay Sinh viên cũng là một thực thể, thực thể trừu tượng.

Thuộc tính (Attribute): Là tính chất của thực thể.

  1. Các thực thể có các đặc tính, được gọi là các thuộc tính. Nó kết hợp với một thực thể trong tập thực thể từ miền giá trị của thuộc tính. Thông thường, miền giá trị của một thuộc tính là một tập các số nguyên, các số thực, hay các xâu ký tự.
  2. Một thuộc tính hay một tập thuộc tính mà giá trị của nó xác định duy nhất mỗi thực thể trong tập các thực thể được gọi là khoá đối với tập thực thể này.
  3. Mỗi một thuộc tính nhận tập số các giá trị nhất định được gọi là domain của thuộc tính đó.

Một quan hệ (Relation): Định nghĩa một cách đơn giản, một quan hệ là một bảng dữ liệu có các cột là các thuộc tính và các hàng là các bộ dữ liệu cụ thể của quan hệ.

Các liên kết: Một liên kết là một sự kết hợp giữa một số thực thể (hay quan hệ). Ví dụ: Mối liên kết giữa phòng ban và nhân viên thể hiện: Một nhân viên A sẽ thuộc một phòng ban B nào đó.

  1. Các liên kết một – một: đây là dạng liên kết đơn giản, liên kết trên hai thực thể là một – một, có nghĩa là mỗi thực thể trong tập thực thể này có nhiều nhất một thực thể trong tập thực thể kia kết hợp với nó và ngược lại.
  2. Các liên kết một – nhiều: Trong một liên kết một – nhiều, một thực thể trong tập thực thể A được kết hợp với không hay nhiều thực thể trong tập thực thể B. Nhưng mỗi thực thể trong tập thực thể B được kết hợp với nhiều nhất một thực thể trong tập thực thể A.
  3. Các liên kết nhiều – nhiều: Ðây là dạng liên kết mà mỗi thực thể trong tập thực thể này có thể liên kết với không hay nhiều thực thể trong tập thực thể kia và ngược lại.

Ví dụ 1.1. Các mối liên kết giữa các thực thể:

LOP(MaLop, TenLop, Khoa),

SINHVIEN(MaSV, Hoten, NgSinh, MaLop),

MONHOC(MaMon, TenM, SDVHT) và

KETQUA (MaSV, MaMon, Diem)

Ta có mối quan hệ giữa các thực thể đó là:

Ta có mối quan hệ giữa các thực thể đó là:
Ta có mối quan hệ giữa các thực thể đó là:

Mô hình dữ liệu quan hệ: Làm việc trên bảng hay trên quan hệ trong đó: Mỗi cột là một thuộc tính, mỗi dòng là một bộ (một bản ghi).

Các ưu điểm của mô hình dữ liệu quan hệ

  1. Cấu trúc dữ liệu dễ dùng, không cần hiểu biết sâu về kỹ thuật cài đặt.
  2. Cải thiện tính độc lập dữ liệu và chương trình.
  3. Cung cấp ngôn ngữ thao tác phi thủ tục.
  4. Tối ưu hoá cách truy xuất dữ liệu.
  5. Tăng tính bảo mật và toàn vẹn dữ liệu.
  6. Cung cấp các phương pháp thiết kế có hệ thống. Và mở ra cho nhiều loại ứng dụng (lớn và nhỏ).

Khoá của quan hệ:

  1. Khoá của quan hệ (key): Là tập các thuộc tính dùng để phân biệt hai bộ bất kỳ trong quan hệ.
  2. Khoá ngoại của quan hệ (Foreign Key): Một thuộc tính được gọi là khoá ngoại của quan hệ nếu nó là thuộc tính không khoá của quan hệ này nhưng là thuộc tính khoá của quan hệ khác.

2. Các chức năng của hệ quản trị CSDL quan hệ

Các chức năng của hệ quản trị CSDL quan hệ có thể được phân thành các tầng chức năng như hình 1.3:

  • Tầng giao diện (Interface layer): Quản lý giao diện với các ứng dụng. Các chương trình ứng dụng CSDL được thực hiện trên các khung nhìn (view) của CSDL. Ðối với một ứng dụng, khung nhìn rất có ích cho việc biểu diễn một hình ảnh cụ thể về CSDL (được dùng chung bởi nhiều ứng dụng).

          Khung nhìn quan hệ là một quan hệ ảo, được dẫn xuất từ các quan hệ cơ sở (base relation) bằng cách áp dụng các phép toán đại số quan hệ.

          Quản lý khung nhìn bao gồm việc phiên dịch câu vấn tin người dùng trên dữ liệu ngoài thành dữ liệu khái niệm. Nếu câu vấn tin của người dùng được diễn tả bằng các phép toán quan hệ, câu vấn tin được áp dụng cho dữ liệu khái niệm vẫn giữ nguyên dạng này.

  • Tầng điều khiển (Control Layer): chịu trách nhiệm điều khiển câu vấn tin bằng cách đưa thêm các vị từ toàn vẹn ngữ nghĩa và các vị từ cấp quyền.
  • Tầng xử lý vấn tin (Query processing layer): chịu trách nhiệm ánh xạ câu vấn tin thành chuỗi thao tác đã được tối ưu ở mức thấp hơn.

         Tầng này liên quan đến vấn đề hiệu năng. Nó phân rã câu vấn tin thành một cây biểu thị các phép toán đại số quan hệ và thử tìm ra một thứ tự “tối ưu” cho các phép toán này. Kết xuất của tầng này là câu vấn tin được diễn tả bằng đại số quan hệ hoặc một dạng mã ở mức thấp.

  • Tầng thực thi (Execution layer): Có trách nhiệm hướng dẫn việc thực hiện các hoạch định truy xuất, bao gồm việc quản lý giao dịch (uỷ thác, tái khởi động) và động bộ hoá các phép đại số quan hệ. Nó thông dịch các phép toán đại số quan hệ bằng cách gọi tầng truy xuất dữ liệu qua các yêu cầu truy xuất và cập nhật
  • Tầng truy xuất dữ liệu (data access layer): Quản lý các cấu trúc dữ liệu dùng để cài đặt các quan hệ (tập tin, chỉ mục). Nó quản lý các vùng đệm bằng cách lưu tạm các dữ liệu thường được truy xuất đến nhiều nhất. Sử dụng tầng này làm giảm thiểu việc truy xuất đến đĩa.
  • Tầng duy trì nhất quán (Consistency layer): chịu trách nhiệm điều khiển các hoạt động đồng thời và việc ghi vào nhật ký các yêu cầu cật nhật. Tầng này cũng cho phép khôi phục lại giao dịch, hệ thống và thiết bị sau khi bị sự cố.
Hình 1.3: Các chức năng của hệ quản trị CSDL quan hệ
Hình 1.3: Các chức năng của hệ quản trị CSDL quan hệ