Bài 10: Cơ sở dữ liệu quan hệ

Nội dung lý thuyết

Các phiên bản khác

BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ

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

a. Khái niệm mô hình dữ liệu

- Mô hình dữ liệu là một tập hợp các khái niệm, dùng để mô tả CTDL, các thao tác dữ liệu, các ràng buộc dữ liệu của một CSDL

- Các loại mô hình dữ liệu:

  • Mô hình logic: (mô hình dữ liệu bậc cao) cho mô tả CSDL ở mức khái niệm và mức khung nhìn.
  • Mô hình vật lí: (mô hình dữ liệu bậc thấp) cho biết dữ liệu được lưu trữ thế nào.

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

- Mô hình dữ liệu quan hệ được E.F.Codd đề xuất năm 1970. Trong khoảng 20 năm trở lại đây các hệ CSDL theo mô hình quan hệ được dùng rất phổ biến.

- Trong mô hình quan hệ:

  • Về mặt cấu trúc: Dữ liệu được thể hiện trong các bảng (hàng, cột).
  • Về mặt thao tác trên dữ liệu: Có thể cập nhật dữ liệu : Thêm, xoá, sửa.
  • Về mặt ràng buộc dữ liệu: Dữ liệu trong một bảng phải thoả mãn một số ràng buộc.

2. Cơ sở dữ liệu quan hệ

a. Khái niệm

- CSDL quan hệ: CSDL được xây dựng trên mô hình dữ liệu quan hệ.

- Hệ QTCSDL quan hệ : Hệ QTCSDL quan hệ dùng để tạo lập, cập nhật và khai thác CSDL quan hệ.

- Những đặc trưng của CSDL quan hệ:

  • Mỗi quan hệ có một tên phân biệt với tên các quan hệ khác.
  • Các bộ là phân biệt và thứ tự các bộ là không quan trọng.
  • Mỗi thuộc tính có một tên phân biệt và thứ tự các thuộc tính là không quan trọng.
  • Quan hệ không có thuộc tính đa trị hay phức hợp.

b. Ví dụ

- Để quản lý học sinh mượn sách ở một trường học, thông thường quản lí các thông tin sau: 

  • Thông tin người mượn sách
  • Thông tin sách
  • Thông tin mượn sách (ai mượn sách, mượn sách gì, thời gian mượn/ trả)

c. Khóa và liên kết giữa các bảng

- Khóa: Khóa của một bảng là một tập gồm một hay một số thuộc tính của bảng phân biệt được các cá thể.

- Khoá chính:

  • Một bảng có thể có nhiều khóa. Trong các khóa của một bảng người ta thường chọn (chỉ định) một khóa làm khóa chính.
  • Khi nhập dữ liệu cho một bảng, giá trị của mọi bộ tại khóa chính không được để trống.

* Chú ý:

  • Mỗi bảng có ít nhất một khóa. Việc xác định khóa phụ thuộc vào quan hệ lôgic của các dữ liệu chứ không phụ thuộc vào giá trị của các dữ liệu.
  • Nên chọn khóa chính là khóa có ít thuộc tính nhất.

- Liên kết: Thực chất sự liên kết giữa các bảng là dựa trên thuộc tính khóa. Chẳng hạn thuộc tính số thẻ là khóa của bảng người mượn xuất hiện lại ở bảng mượn sách đó tạo nên liên kết giữa 2 bảng này.