Slide bài giảng Khoa học máy tính 11 cánh diều Chủ đề F Bài 3: Quan hệ giữa các bảng và khoá ngoài trong cơ sở dữ liệu quan hệ

Slide điện tử Chủ đề F Bài 3: Quan hệ giữa các bảng và khoá ngoài trong cơ sở dữ liệu quan hệ. Trình bày với các hiệu ứng hiện đại, hấp dẫn. Giúp học sinh hứng thú học bài. Học nhanh, nhớ lâu. Có tài liệu này, hiệu quả học tập của học môn Khoa học máy tính 11 Cánh diều sẽ khác biệt

Bạn chưa đủ điều kiện để xem được slide bài này. => Xem slide bài mẫu

Tóm lược nội dung

BÀI 3. QUAN HỆ GIỮA CÁC BẢNG VÀ KHÓA NGOÀI TRONG CƠ SỞ DỮ LIỆU QUAN HỆ

 

HOẠT ĐỘNG KHỞI ĐỘNG

GV đặt câu hỏi: Để quản lý sách, người đọc và việc mượn/trả sách của một thư viện trường học, bạn Anh Thư dự định sử dụng một bảng như trong mẫu ở Hình 1. Theo em, trong trường hợp này, việc gộp tất cả dữ liệu cần quản lý vào một bảng như Anh Thư thực hiện sẽ có những ưu điểm và nhược điểm gì?

NỘI DUNG BÀI HỌC GỒM

  • Tính dư thừa dữ liệu
  • Liên kết giữa các bảng và khóa ngoài
  • Hệ quản trị CSDL đảm bảo ràng buộc khóa ngoài
  • Thực hành về bảng với khóa ngoài
  • Luyện tập
  • Vận dụng

HOẠT ĐỘNG HÌNH THÀNH KIẾN THỨC

Hoạt động 1: Tính dư thừa dữ liệu

a) Dư thừa dữ liệu có thể dẫn đến dữ liệu không nhất quán khi cập nhật

GV yêu cầu học sinh trao đổi: Nếu chỉ sử dụng một bảng, tình trạng nào có thể xảy ra?

Nội dung gợi ý:

- Những bài toán quản lí cần dùng nhiều hơn một bảng dữ liệu. Nếu chỉ dùng một bảng thì có thể dẫn đến tình trạng dư thừa dữ liệu

b) CSDL cần được thiết kế để tránh dư thừa dữ liệu

Để khắc phục những vấn đề do dư thừa dữ liệu, thiết kế của cơ sở dữ liệu quan hệ thường được thực hiện như thế nào?

Nội dung gợi ý:

- Để tránh những nhược điểm do dư thừa dữ liệu gây ra, CSDL quan hệ thường được thiết kế gồm một số bảng, có chứa dữ liệu về riêng một số đối tượng (cá thể) cần quản lí, có bảng chứa dữ liệu về những sự kiện liên quan đến các đối tượng được quản lí 

Hoạt động 2: Liên kết giữa các bảng và khóa ngoài

HS thảo luận trả lời câu hỏi:

Tại sao việc kết nối dữ liệu giữa các bảng trong cơ sở dữ liệu quan hệ lại quan trọng? 

Thuộc tính nào là cần thiết để tham chiếu giữa hai bảng trong cơ sở dữ liệu? 

Cách thức liên kết giữa hai bảng trong cơ sở dữ liệu được thực hiện như thế nào?

Nội dung gợi ý:

- Để trích xuất thông tin từ CSDL quan hệ, ta có thể cần dữ liệu trong hơn một bảng và phải ghép nối đúng được dữ liệu giữa các bảng với nhau  

- Để tham chiếu xác định thì thuộc tính liên kết hai bảng phải là khóa của bảng được tham chiếu 

- Liên kết giữa hai bảng trong CSDL được thực hiện thông qua cặp khóa chính – khóa ngoài.  

Hoạt động 3: Hệ quản trị CSDL đảm bảo ràng buộc khóa ngoài

GV đặt câu hỏi hướng dẫn học sinh tìm hiểu: Thế nào là Ràng buộc khóa ngoài ?

Nội dung gợi ý:

Ràng buộc khóa ngoài là yêu cầu mọi giá trị của khóa ngoài trong bảng tham chiếu phải xuất hiện trong giá trị khóa ở bảng được tham chiếu

Hoạt động 4: Thực hành về bảng với khóa ngoài

GV đặt câu hỏi hướng dẫn học sinh tìm hiểu:

Các bước khám phá cách khai báo liên kết giữa các bảng trong môi trường Access và nhận biết các cập nhật vi pham ràng buộc khóa ngoài

Nội dung gợi ý:

Bước 1. Mở CSDL Thư viện đã có bảng SÁCH (kết quả mục thực hành ở Bài 2). Tạo cấu trúc như ở Hình 2 cho bảng NGƯỜI ĐỌC và bảng MƯỢN-TRẢ. Chọn Số thẻ TV làm khóa chính cho bảng NGƯỜI ĐỌC, chọn khóa chính của bảng MƯỢN-TRẢ gồm ba thuộc tính: Số thẻ TV, Mã sách và Ngày mượn. 

BÀI 3. QUAN HỆ GIỮA CÁC BẢNG VÀ KHÓA NGOÀI TRONG CƠ SỞ DỮ LIỆU QUAN HỆ HOẠT ĐỘNG KHỞI ĐỘNGGV đặt câu hỏi: Để quản lý sách, người đọc và việc mượn/trả sách của một thư viện trường học, bạn Anh Thư dự định sử dụng một bảng như trong mẫu ở Hình 1. Theo em, trong trường hợp này, việc gộp tất cả dữ liệu cần quản lý vào một bảng như Anh Thư thực hiện sẽ có những ưu điểm và nhược điểm gì?NỘI DUNG BÀI HỌC GỒM

Bước 2. Khám phá cách khai báo liên kết giữa các hàng

- Trong dải Database Tools, chọn Relationships

- Dùng chuột kéo thả các bảng vào cửa sổ khai báo liên kết (vùng trống ở giữa)

- Dùng chuột kéo thả khóa ngoài của bảng tham chiếu thả vào khóa chính của bảng được tham chiếu, làm xuất hiện hộp thoại Edit Relationships

- Đánh dấu hộp kiểm Enforce Referential Integrity và chọn Create

Bước 3. Khám phá báo lỗi của phần mềm quản trị CSDL khi cập nhật vi phạm ràng buộc khóa ngoài. 

- Thêm một vài bản ghi trong đó có bản ghi vi phạm lỗi ràng buộc khóa ngoài, quan sát báo lỗi của phần mềm

- Chọn xóa một bản ghi trong bảng NGƯỜI ĐỌC nếu giá trị Số thẻ TV trong bản ghi này xuất hiện trong bảng MƯỢN-TRẢ, quan sát báo lỗi của phần mềm. 

HOẠT ĐỘNG LUYỆN TẬP

Câu 1: Hãy chọn phương án ứng với cú pháp câu lệnh xoá dữ liệu trong các phương án dưới đây:

A. DROP

B. DELETE  WHERE <điều kiện>

C. DROP <tên bảng="">WHERE <điều kiện>

D. DELETE<tên bảng="">

Câu 2: Trong Cú pháp câu lệnh ràng buộc Forein Key, từ khoá On Update có nghĩa gì? Hãy chọn phương án đung trong các phương án dưới đây

A. Là ràng buộc được phép cập nhật khoá Forein Key

B. Là ràng buộc được phép cập nhật khoá Primary Key

C. Là ràng buộc được phép cập nhật Check Key

D. Là ràng buộc được phép xóa khoá Forein Key

Câu 3: Cho bảng Khoa gồm (makhoa char (10), tenkhoa char (30), dienthoai char (11)). Để tạo bảng GiangVien gồm (magv int, hotengv char (30), luong decimal (5,2), makhoa char (10)) trong đó magv là khóa chính, makhoa là khóa phụ ta thực hiện lệnh nào dưới đây:

A. Create table GiangVien (magv int not null primary key, hotengv char (30), luong decimal (5,2), makhoa char (10), constraint fk_makhoa foreign key (makhoa) references Khoa(makhoa))

B. Create table GiangVien (magv int not null primary key, hotengv char (30), luong decimal (5,2), makhoa char (10), constraint fk_makhoa khoaphu (makhoa) references Khoa(makhoa))

C. Create table GiangVien (magv int not null primary key, hotengv char (30), luong decimal (5,2), makhoa char (10), constraint fk_makhoa primary key(makhoa) references Khoa(makhoa))

D. Create table GiangVien (magv int not null primary key, hotengv char (30), luong decimal (5,2), makhoa char (10), constraint fk_makhoa foreign key(makhoa) references Giangvien (makhoa))

Câu 4: Hãy chọn phương án ứng với câu lệnh được sử dụng để tạo Database trong SQL:

A. Create database tên_database

B. Update database tên_database

C. Create table tên_database

D. Create data tên_database

Câu 5: Hãy chọn phương án ứng với cú pháp được sử dụng để tạo ràng buộc Check:

A. CONSTRAINT tên ràng buộc CHK (điều kiện)

B. CONSTRAINT thuộc tính CHECK (điều kiện)

C. CONSTRAINT tên ràng buộc CHECK (điều kiện)

D. CHECK tên ràng buộc CONSTRAINT (điều kiện)

Đáp án gợi ý:

Câu 1

Câu 2

Câu 3

Câu 4

Câu 5

B

A

A

A

C

HOẠT ĐỘNG VẬN DỤNG

GV yêu cầu HS hoàn thành Vận dụng SGK trang 61: 

Khi tạo cơ sở dữ liệu, sau khi thiết lập cấu trúc cho hai bảng dự kiến liên kết bằng khóa ngoại, chúng ta nên khai báo liên kết trước hay nhập dữ liệu cho hai bảng trước? Xin hãy giải thích lý do.