Bài 10: Cơ sở dữ liệu quan hệ - Tin học 12

10 trắc nghiệm 3 bài tập SGK

Nội dung của Bài 10: Cơ sở dữ liệu quan hệ dưới đây, các em sẽ được tìm hiểu về khái niệm mô hình dữ liệu quan hệ và các đặc trưng cơ bản của mô hình này; khái niệm CSDL quan hệ, khóa liên kết giữa các bảng. Mời các em cùng theo dõi nội dung chi tiết của bài học.

Tóm tắt lý thuyết

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

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

Theo các mức mô tả chi tiết về CSDL, có thể phân chia các mô hình dữ liệu thành hai loại:

  • Mô hình lôgic (còn gọi là 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ô tả bản chất lôgic của dữ liệu được lưu trữ;
  • Mô hình vật lí (còn gọi là mô hình dữ liệu bậc thấp) cho mô tả CSDL ở mức vật lí, trả lời cho câu hỏi "Dữ liệu được lưu trữ như thế nào?".

Có nhiều mô hình dữ liệu bậc cao nhưng ở đây ta chỉ đề cập đến mô hình dữ liệu quan hệ vì cho đến nay đó là mô hình phổ biến nhất trong thực tế xây dựng các ứng dụng CSDL. 

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

Mô hình dữ liệu quan hệ (gọi tắt là mô hình quan hệ) được  E. F. Codd đề xuất năm 1970. Trong khoảng ba mươi năm trở lại đây, các hệ CSDL xây dựng 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.
    • Mỗi bảng bao gồm các hàngcác cột thể hiện thông tin về một chủ thể.
    • Các cột biểu thị các thuộc tính của chủ thể và tên cột thường là tên của thuộc tính.
    • Mỗi hàng biểu thị cho một cá thể, gồm một bộ các giá trị tương ứng với các cột.
  • Về mặt thao tác trên dữ liệu:
    • Có thể cập nhật dữ liệu như thêm, xóa hay sửa bản ghi trong một bảng.
    • Các kết quả tìm kiếm thông tin qua truy vấn dữ liệu có được nhờ thực hiện các thao tác trên dữ liệu.
  • Về mặt các ràng buộc dữ liệu:  Dữ liệu trong các bảng phải thoả mãn một số ràng buộc. Chẳng hạn, không được có hai bộ nào trong một bảng giống nhau hoàn toàn.

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

a. Khái niệm

  • Cơ sở dữ liệu được xây dựng dựa trên mô hình dữ liệu quan hệ gọi là cơ sở dữ liệu quan hệ.
  • Hệ QTCSDL dùng để tạo lập, cập nhật và khai thác CSDL quan hệ gọi là hệ QTCSDL quan hệ.

b. Các đặc trưng của một quan hệ

Một quan hệ trong hệ CSDL quan hệ có các đặc trưng chính sau:

  • Mỗi quan hệ có tên để phân biệt với các quan hệ khác;
  • Các bộ là duy nhất và không phân biệt thứ tự;
  • Mỗi thuộc tính có tên phân biệt và không phân biệt thứ tự;
  • Quan hệ không có thuộc tính đa trị hay phức hợp.
    • Thuộc tính đa trị: 1 thuộc tính tương ứng trong nhiều bộ giá trị;

    • Phức hợp: Một thuộc tính có 2 giá trị.

Lưu ý:

  • Quan hệ là bảng;
  • Thuộc tính là trường (cột);
  • Bộ là bản ghi (hàng).

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

a. Khóa

  • Khoá của một bảng là một tập thuộc tính gồm một hay một số thuộc tính của bảng có hai tính chất:
    • Không có hai bộ (khác nhau) trong bảng có giá trị bằng nhau trên khoá.
    • Không có tập con thực sự nào của tập thuộc tính này có tính chất.

b. Khóa 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 khoá chính (primary key). 
  • Trong một hệ QTCSDL quan hệ, 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
  • Các hệ QTCSDL quan hệ kiểm soát điều đó và đảm bảo sự nhất quán dữ liệu, tránh trường hợp thông tin về một đối tượng xuất hiện hơn một lần sau những cập nhật dữ liệu. Trong mô hình quan hệ, ràng buộc như vậy về dữ liệu còn được gọi là ràng buộc toàn vẹn thực thể (hay gọi ngắn gọn là ràng buộc khóa).

Chú ý:

  • Mỗi bảng có ít nhất một khóa. Việc xác định khoá 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ác dữ liệu.
  • Nên chọn khoá chính là khoá có ít thuộc tính nhất.

c. Liên kết giữa các bảng

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.

Bài tập minh họa

Dạng 1: Mô hình dữ liệu quan hệ

Câu 1

Chỉ ra các điều kiện trong mô hình dữ liệu quan hệ Ql_hoctap

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

Gợi ý trả lời:

  • Cấu trúc dữ liệu: là các bảng dữ liệu, bảng hoc_sinh, Mon_hoc, Bang_diem gồm có các trường dữ liệu, các bản ghi.
  • Các ràng buộc: khoá chính, trong bảng hoc_sinh thì dữ liệu trong trường khoá chính là duy nhất.
  • Các thao tác cập nhật dữ liệu (thêm, sửa, xoá), khai thác dữ liệu, thống kê dữ liệu theo một điều kiện nào đó, có thể thực hiện trên một bảng hoặc nhiều bảng.

Dạng 2: Cơ sở dữ liệu quan hệ

Câu 2

Trong CSDL quan hệ Ql_hoctap ở ví dụ trên (ví dụ 1)xác định quan hệ, thuộc tínhbộ.

Gợi ý trả lời:

  • Quan hệ Hoc_sinh
  • Có các thuộc tính: ma_hoc_sinh, Ho_dem, Ten.
  • Vì lớp có 50HS nên có 50 bộ, bộ thứ 10 là {12A9, Nguyễn Thị Thanh, An}

Câu 3

Trong CSDL quan hệ Ql_thuvien dưới đây, xác định thuộc tính đa trị và phức hợp.

Hình 2. Cơ sở dữ liệu quan hệ Ql_thuvien

Gợi ý trả lời:

  • Bảng có thuộc tính đa trị
Số thẻ Mã số sách Ngày mượn Ngày trả
TV_02

TO-012

TN-102

5/9/07

24/9/07

30/9/07

5/10/07

.....      

Bảng 1. Bảng có thuộc tính đa trị

Vì giá trị Số thẻ TV_02 có 2 bộ giá trị

  • Bảng có thuộc tính phức hợp

Số thẻ Mã số sách Ngày mượn trả
Ngày mượn Ngày trả
.....      

Bảng 2. Bảng có thuộc tính phức hợp

Ngày mượn trả có 2 cột Ngày mượnNgày trả.

Lời kết

Sau khi học xong Bài 10: Cơ sở dữ liệu quan hệ, các em cần nắm vững các nội dung trọn tâm:

  • Khái niệm mô hình dữ liệu;
  • Khái niệm mô hình dữ liệu quan hệ và các đặt trưng cơ bản của mô hình dữ liệu quan hệ;
  • Hai loại mô hình dữ liệu: mô hình lôgic và mô hình vật lí;
  • Khái niệm CSDL quan hệ, khóa, khóa chính và liên kết giữa các bảng.

Nhằm giúp các em củng cố lại các kiến thức đã học, trong phần sau là các câu hỏi Trắc nghiệm Tin học 12 Bài 10 Cơ sở dữ liệu quan hệ các em hãy cùng thử sức để tự đánh giá xem mức độ hiểu bài của bản thân mình tới đâu các em nhé. Ngoài ra, các câu hỏi trong sách giáo khoa trang 86 môn Tin học lớp 12 đều được gợi ý trả lời chi tiết và dễ hiểu trong phần Giải bài tập Tin học 12 Bài 10. Nếu có thắc mắc về nội dung bài học thì các em vui lòng đặt câu hỏi trong phần Hỏi đáp để được hỗ trợ.

Các em quan tâm có thể tham khảo thêm bài học trước và bài học sau:

>> Bài trước: Bài tập và thực hành 9: Bài thực hành tổng hợp

>> Bài sau: Bài 11: Các thao tác với cơ sở dữ liệu quan hệ

Chúc các em học tốt!

-- Mod Tin Học 12 HỌC247