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

Elib đã biên soạn và tổng hợp để giới thiệu đến các em nội dung bài giảng Cơ sở dữ liệu quan hệ. Bài giảng giúp các em nắm vững lý thuyết bài học, kèm theo đó là những bài tập minh họa có hướng dẫn giải chi tiết sẽ giúp các em hiểu bài hơn. Mời các em cùng theo dõi.

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

1. Tóm tắt lý thuyết

1.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.

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

  • Mô hình lôgic (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.

1.2. 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 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 (hàng, 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.

1.3. 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ệ: dùng để tạo lập, cập nhật và khai thác CSDL quan hệ.

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

- Mỗi quan hệ có tên để phân biệt với 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 không quan trọng.

- 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).

Ví dụ: Để quản lí việc 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ả)

1.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 gồm một hay một số thuộc tính của bảng pân biệt dược các cá thể.

  • 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). 

  • 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. Chẳng hạng 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 hai bảng này

2. Bài tập minh họa

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

Hướng dẫn giả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.

Câu 2: Trong CSDL quan hệ Ql_hoctap ở ví dụ trên (ví dụ 1), xác định quan hệ, thuộc tính và bộ.

Hướng dẫn giả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}

3. Luyện tập

3.1. Bài tập tự luận

Câu 1: Khi xét một mô hình dữ liệu, ta cần quan tâm đến những yếu tố nào?

Câu 2: Nêu khái niệm CSDL quan hệ.

Câu 3: Nêu tiêu chí chọn khóa chính trong bảng. Nêu ví dụ và giải thích.

3.2. Bài tập trắc nghiệm

Câu 1: Thuật ngữ “quan hệ” dùng trong hệ CSDL quan hệ là để chỉ đối tượng:

A. Kiểu dữ liệu của một thuộc tính

B. Bảng

C. Hàng

D. Cột

Câu 2: Thuật ngữ “bộ” dùng trong hệ CSDL quan hệ là để chỉ đối tượng:

A. Kiểu dữ liệu của một thuộc tính

B. Bảng

C. Hàng

D. Cột

Câu 3: Mô hình phổ biến để xây dựng CSDL quan hệ là:

A. Mô hình phân cấp

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

C. Mô hình hướng đối tượng

D. Mô hình cơ sỡ quan hệ

Câu 4: Các khái niệm dùng để mô tả các yếu tố nào sẽ tạo thành mô hình dữ liệu quan hệ?

A. Cấu trúc dữ liệu

B. Các ràng buộc dữ liệu

C. Các thao tác, phép toán trên dữ liệu

D. Tất cả câu trên

Câu 5: Thao tác trên dữ liệu có thể là:

A. Sửa bản ghi

B. Thêm bản ghi

C. Xoá bản ghi

D. Tất cả đáp án trên

Câu 6: Phát biểu nào về hệ QTCSDL quan hệ là đúng?

A. Phần mềm dùng để xây dựng các CSDL quan hệ

B. Phần mềm dùng để tạo lập, cập nhật và khai thác CSDL quan hệ

C. Phần mềm Microsoft Access

D. Phần mềm để giải các bài toán quản lí có chứa các quan hệ giữa các dữ liệu

3.3. Trắc nghiệm Online

Các em hãy luyện tập bài trắc nghiệm Cơ sở dữ liệu quan hệ Tin học 12 sau để nắm rõ thêm kiến thức bài học.

Trắc Nghiệm

4. Kết luận

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 và phân loại 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ệ.
  • Khái niệm CSDL quan hệ, khóa, khóa chính và liên kết giữa các bảng.
Ngày:13/08/2020 Chia sẻ bởi:Denni

CÓ THỂ BẠN QUAN TÂM