Lý thuyết Tin học 11 Bài 18 (Kết nối tri thức): Thực hành xác định cấu trúc bảng và các trường khoá
Tóm tắt lý thuyết Tin học lớp 11 Bài 18: Thực hành xác định cấu trúc bảng và các trường khoá hay, chi tiết sách Kết nối tri thức sẽ giúp học sinh nắm vững kiến thức trọng tâm, ôn luyện để học tốt Tin học 11.
Lý thuyết Tin học 11 Bài 18: Thực hành xác định cấu trúc bảng và các trường khoá
A. Kiến thức trọng tâm Tin học 11 Bài 18: Thực hành xác định cấu trúc bảng và các trường khoá
Nhiệm vụ. Xác định các bảng dữ liệu, cấu trúc của chúng và các trường khóa cho cơ sở dữ liệu của một website âm nhạc
1. XEM XÉT BÀI TOÁN
Cùng xem xét lại bài toán quản lí các bản thu âm nhạc. Ta sẽ quy ước nói đến nhạc sĩ sáng tác bản nhạc là nói đến tên một nhạc sĩ hay tên một nhóm nhạc sĩ sáng tác bản nhạc đó. Tương tự như vậy, ta cũng quy ước khi nói đến tên ca sĩ là nói đến một ca sĩ hay một nhóm ca sĩ biểu diễn tác phẩm. Dưới đây là một ví dụ về một bản ghi chép lại thông tin các bản thu âm.

2. TẠO LẬP BẢNG
Tổng kết tất cả các thông tin cần quản lí, viết ra thành dãy: Số hiệu bản thu âm (STT), tên bản nhạc, tên nhạc sĩ sáng tác, tên ca sĩ thể hiện. Từ đó em có thể hình dung về một bảng dữ liệu tên là banthuam, với các trường idbanthuam (để lưu số hiệu bản thu âm), tenBannhac (để lưu tên bản nhạc), tenNhacsi (để lưu tên nhạc sĩ), tenCasi (để lưu tên ca sĩ) và viết mô tả ngắn gọn ở dạng:
banthuam(idBanthuam, tenBannhac, tenNhacsi, tenCasi)
Trong bảng này, trường idbanthuam xác định duy nhất một bản thu âm nên được lấy làm khoá chính của bảng. Nhóm cả ba trường tenBannhac, tenNhacsi, tenCasi cũng xác định duy nhất một bản thu âm, nên nhóm các trường này cũng có thể dùng làm khoá chính của bảng, nhưng rõ ràng dùng idBanthuam là ngắn gọn và thuận lợi hơn. Có thể viết lại mô tả bảng trên với tên trường khoá chính có gạch chân như sau:
banthuam(idBanthuam, tenBanthuam, tenNhacsi, tenCasi)
3. TỔ CHỨC LẠI BẢNG DỮ LIỆU
Phân tích và sắp xếp lại để hạn chế lượng dữ liệu lặp lại.
Một ca sĩ có thể là người thể hiện nhiều bản nhạc khác nhau nên trường tenCasi có giá trị lặp lại, tên ca sĩ lại dài, làm lớn dung lượng lưu trữ và khó khăn khi cần sửa chữa. Ví dụ, trong Bảng 18.1 ca sĩ Trần Khánh thể hiện hai bản nhạc (ở dòng số 3 và 9), khi cần sửa chữa tên của ca sĩ, sẽ phải tìm sửa ở tất cả những dòng có tên ca sĩ này.
Để khắc phục hạn chế này, cách làm tốt hơn là lập bảng casi(idCasi, tenCasi) với trường khoá là idCasi và thay tenCasi trong bảng banthuam bởi idCasi. Như vậy, idCasi trong bảng banthuam sẽ là khoá ngoài tham chiếu đến khoá chính idCasi trong bảng casi.
banthuam(idBanthuam, tenBannhac, tenNhacsi, idCasi)
casi(idCasi, tenCasi)

Tương tự, một bản nhạc có thể có nhiều bản thu âm khác nhau do những ca sĩ khác nhau thể hiện. Ví dụ, trong Bảng 18.1, bản nhạc Trường ca Sông Lô xuất hiện ở dòng số 2 và số 9. Do đó, cách tốt hơn là tạo bảng bannhac(idBannhac, tenBannhac, tenNhacsi) với trường khoá là idbannhac và thay cặp (tenBannhac, tenNhacsi) trong bảng banthuam bởi idBannhac.
banthuam(idBanthuam, idBannhac, idCasi)
casi(idCasi, tenCasi)
bannhac(idbannhac, tenBannhac, tenNhacsi)

Tên nhạc sĩ trong bảng bannhac bị lặp lại do một ca sĩ có thể sáng tác nhiều bản nhạc; Ví dụ, trong bảng 18.1, nhạc sĩ Văn Cao xuất hiện trong hai dòng số 2 và số 6; vì vậy lại lập bảng nhacsi(idNhacsi, tenNhacsi) và thay thế trường tenNhacsi trong bảng bannhac bởi idNhacsi.

Các bảng dữ liệu thu được bây giờ sẽ là:


4. CÁC LOẠI KHÓA
- Mỗi bảng đã có một khoá chính (tên trường được gạch chân).
- Khoá ngoài của các bảng:
bannhac: idNhacsi tham chiếu đến idNhacsi trong bảng nhacsi.
banthuam: idBannhac tham chiếu đến idBannhac trong bảng bannhac.
idCasi tham chiếu đến idCasi trong bảng casi.
Có thể tóm tắt lại về cấu trúc các bảng và quan hệ của các bảng theo tham chiếu từ khoá ngoài đến khoá chính ở dạng sơ đồ như Hình 18.2.

- Khoá cấm trùng lặp giá trị (Unique): Cặp (tenBannhac, idNhacsi) trong bảng bannhac không được trùng lặp giá trị. Cặp (idbannhac, idCasi) cũng không được trùng lặp giá trị. Để ghi nhớ điều này người ta cũng nói rằng các trường này phải đặt khoá cấm trùng lặp.
5. VỀ CÁC KIỂU DỮ LIỆU CỦA CÁC TRƯỜNG
Để đơn giản, các trường khóa chính thường có kiểu dữ INT và tự động tăng giá trị (AUTO_INCREMENT).
Các trường tên tenNhacsi, tenCasi, tenBannhac có thể chọn là xâu kí tự có độ dài tối đa 255 kí tự (VARCHAR (255)).
B. Bài tập Tin học 11 Bài 18: Thực hành xác định cấu trúc bảng và các trường khoá
Câu 1: Làm sao để từ các thông tin và yêu cầu bất kì của một tập hợp dữ liệu liên quan người ta lại đi đến được CSDL với các bảng cụ thể?
A. Nhờ việc xác định cấu trúc bảng và các khóa chính
B. Nhờ việc xác định khóa ngoài
C. Nhờ việc tạo liên kết giữa các bảng
D. Cả ba đáp án trên đều đúng
Câu 2: Tổ chức cơ sở dữ liệu (CSDL) âm nhạc với các bảng mang lại lợi ích gì?
A. Quản lý thông tin về các ca sĩ (casi) và nhạc sĩ (nhacsi)
B. Quản lý thông tin về các ban nhạc (bannhac) và bản thu âm (banthuam)
C. Quản lý quan hệ giữa ca sĩ, ban nhạc và nhạc sĩ
D. Cả ba đáp án trên đều đúng
Câu 3: Việc CSDL sẽ cho phép lưu trữ và quản lý thông tin về các ca sĩ và nhạc sĩ, bao gồm các trường như idcasi, tencasi, idnhacsi, tennhacsi có lợi ích gì?
A. Giúp tổ chức có thể dễ dàng tra cứu và quản lý thông tin cá nhân
B. Giúp tổ chức có thể dẽ dàng tra cứu và quản lý thông tin hoạt động nghệ thuật, tác phẩm âm nhạc của các ca sĩ và nhạc sĩ một cách hiệu quả
C. Giúp tổ chức có thể dẽ dàng tra cứu và quản lý tác phẩm âm nhạc của các ca sĩ và nhạc sĩ một cách hiệu quả
D. Cả ba đáp án trên đều đúng
Câu 4: Việc Quản lý thông tin về các ban nhạc (bannhac) và bản thu âm (banthuam) được thể hiện qua?
A. CSDL cũng cho phép lưu trữ và quản lý thông tin về các ban nhạc và bản thu âm của các ban nhạc
B. Các thông tin như idbannhac, tenbannhac, idnhacsi sẽ giúp tổ chức có thể theo dõi và quản lý hoạt động của các ban nhạc, bao gồm cả thông tin về các tác phẩm âm nhạc mà các ban nhạc đã thực hiện
C. Cả hai đáp án trên đều đúng
D. Cả hai đáp án trên đều sai
Câu 5: Trong việc Quản lý quan hệ giữa ca sĩ, ban nhạc và nhạc sĩ, CSDL giúp?
A. Tổ chức có thể quản lý các mối quan hệ giữa các ca sĩ, ban nhạc và nhạc sĩ thông qua các khóa ngoại như idcasi, idbanthuam, idnhacsi
B. Tổ chức có thể theo dõi và quản lý các hoạt động nghệ thuật, dự án âm nhạc và các tác phẩm hợp tác giữa các ca sĩ, ban nhạc và nhạc sĩ
C. Cả hai đáp án trên đều đúng
D. Cả hai đáp án trên đều sai
Câu 6: Em có thể Tra cứu và tìm kiếm dữ liệu dễ dàng do đâu?
A. CSDL âm nhạc với các bảng được thiết kế hợp lý giúp tổ chức có thể dễ dàng tra cứu và tìm kiếm dữ liệu
B. Đáp ứng nhanh chóng nhu cầu tìm kiếm thông tin của người dùng hoặc nhân viên trong tổ chức
C. Cả hai đáp án trên đều đúng
D. Cả hai đáp án trên đều sai
Câu 7: Quản lý CSDL âm nhạc giúp tổ chức có thể tối ưu hóa hoạt động trong việv?
A. Quản lý dữ liệu
B. Phân tích
C. Bảo mật
D. Cả ba đáp án trên đều đúng
Câu 8: Nếu muốn quản lí thêm thông tin nơi sinh của nhạc sĩ, ca sĩ (tên tỉnh/thành phố), CSDL cần thay đổi như thế nào?
A. Cần xóa bỏ cấu trúc CSDL và thay bằng cấu trúc khác
B. Thêm các trường vào CSDL
C. Cần thay đổi cấu trúc CSDL bằng cách thêm một bảng mới để lưu trữ thông tin này
D. Đáp án khác
Câu 9: Để thêm thông tin ngày sinh của các nhạc sĩ, ca sĩ vào CSDL, bạn cần?
A. Cần thay đổi cấu trúc CSDL bằng cách thêm một bảng mới để lưu trữ thông tin này
B. Thêm một trường mới vào bảng "nhacsi" và bảng "casi" để lưu trữ thông tin ngày sinh
C. Cần xóa bỏ cấu trúc CSDL và thay bằng cấu trúc khác
D. Đáp án khác
Câu 10: Để thực hiện mô hình quản lí danh sách tên quận/huyện của các tỉnh thành phố em phải xác định mối quan hệ giữa?
A. Tỉnh thành phố và Quận/Huyện
B. Tỉnh và Thị trấn
C. Tỉnh và thị xã
D. Huyện và thị trấn
Trắc nghiệm Tin học 11 Bài 18: Thực hành xác định cấu trúc bảng và các trường khoá
Câu 1: Trong cấu trúc bảng banthuam(idBanthuam, idBannhac, idCasi), trường nào được chọn làm khóa chính?
A. idBanthuam
B. idBannhac
C. idCasi
D. tenBannhac
Đáp án: A
Giải thích:idBanthuam là khóa chính vì nó xác định duy nhất một bản thu âm, giúp dễ dàng truy cập và quản lý thông tin về các bản thu âm.
Câu 2: Tại sao cần tách bảng casi(idCasi, tenCasi) thay vì lưu trữ trực tiếp tenCasi trong bảng banthuam?
A. Giúp giảm dung lượng lưu trữ và tránh trùng lặp dữ liệu
B. Giúp lưu trữ nhiều ca sĩ hơn
C. Giúp truy vấn nhanh hơn
D. Giúp quản lý các bản nhạc phức tạp hơn
Đáp án: A
Giải thích: Việc tách bảng giúp giảm dung lượng lưu trữ, vì tên ca sĩ có thể lặp lại nhiều lần nếu không tách ra, và sẽ gây khó khăn khi cần chỉnh sửa tên.
Câu 3: Trong cấu trúc bảng bannhac(idBannhac, tenBannhac, idNhacsi), trường idNhacsi là gì?
A. Khóa chính
B. Khóa ngoài
C. Khóa cắm trùng lặp
D. Chỉ mụ
Đáp án: B
Giải thích:idNhacsi là khóa ngoài tham chiếu đến bảng nhacsi(idNhacsi, tenNhacsi), liên kết thông tin về nhạc sĩ với bản nhạc.
Câu 4: Khi cần quản lý thêm thông tin ngày sinh của các ca sĩ trong CSDL, nên thay đổi như thế nào?
A. Thêm trường ngaysinh vào bảng banthuam
B. Thêm trường ngaysinh vào bảng casi
C. Tạo bảng mới lưu trữ thông tin ngày sinh
D. Không cần thay đổi
Đáp án: B
Giải thích: Ngày sinh là thông tin liên quan đến ca sĩ, nên cần thêm trường ngaysinh vào bảng casi.
Câu 5: Nếu muốn quản lý thêm thông tin nơi sinh của nhạc sĩ, CSDL cần thay đổi như thế nào?
A. Thêm trường noisinh vào bảng nhacsi
B. Thêm trường noisinh vào bảng bannhac
C. Tạo bảng mới lưu trữ nơi sinh
D. Không cần thay đổi
Đáp án: A
Giải thích: Nơi sinh là thông tin liên quan đến nhạc sĩ, nên cần thêm trường noisinh vào bảng nhacsi.
Câu 6: Trường nào trong bảng banthuam(idBanthuam, idBannhac, idCasi) là khóa ngoài?
A. idBanthuam
B. idBannhac và idCasi
C. tenBannhac
D. tenCasi
Đáp án: B
Giải thích:idBannhac và idCasi là khóa ngoài tham chiếu đến bảng bannhac và casi, liên kết thông tin bản nhạc và ca sĩ.
Câu 7: Tại sao cần phải có khóa ngoài trong cơ sở dữ liệu quan hệ?
A. Để giảm trùng lặp dữ liệu
B. Để tạo mối liên hệ giữa các bảng
C. Để làm cho truy vấn nhanh hơn
D. Để quản lý được nhiều dữ liệu hơn
Đáp án: B
Giải thích: Khóa ngoài giúp tạo liên kết giữa các bảng, đảm bảo tính nhất quán dữ liệu và dễ dàng truy vấn thông tin liên quan.
Câu 8: Trong bảng nhacsi(idNhacsi, tenNhacsi), idNhacsi có vai trò gì?
A. Khóa ngoài
B. Khóa chính
C. Chỉ mục
D. Trường không cần thiết
Đáp án: B
Giải thích:idNhacsi là khóa chính xác định duy nhất một nhạc sĩ, giúp phân biệt các nhạc sĩ có thể trùng tên
Câu 9: Cặp trường nào không được trùng lặp giá trị trong bảng bannhac(idBannhac, tenBannhac, idNhacsi)?
A. idBannhac và idNhacsi
B. tenBannhac và idNhacsi
C. idBannhac và tenBannhac
D. idNhacsi và tenNhacsi
Đáp án: B
Giải thích: Cặp tenBannhac và idNhacsi phải là duy nhất để đảm bảo không có hai bản nhạc cùng tên do cùng một nhạc sĩ sáng tác.
Câu 10: Lợi ích của việc sử dụng kiểu dữ liệu AUTO_INCREMENT cho các trường khóa chính là gì?
A. Tự động tăng giá trị khi thêm bản ghi mới
B. Đảm bảo giá trị duy nhất cho mỗi bản ghi
C. Giúp truy vấn dữ liệu nhanh hơn
D. Cả A và B
Đáp án: D
Giải thích:AUTO_INCREMENT tự động tăng giá trị cho mỗi bản ghi mới, giúp đảm bảo khóa chính luôn là duy nhất mà không cần nhập thủ công.
PHẦN II. Câu trắc nghiệm đúng sai. Thí sinh trả lời từ câu 1 đến câu 2. Trong mỗi ý a), b), c), d) ở mỗi câu, thí sinh chọn đúng hoặc sai
Câu 1: Trong bảng banthuam, trường nào được chọn làm khóa chính?
a) idBanthuam
b) idBannhac
c) idCasi
d) Không có trường nào
a) Đúng. Trường idBanthuam là trường được chọn làm khóa chính trong bảng banthuam, vì nó xác định duy nhất một bản thu âm.
b) Sai. Trường này chỉ tham chiếu đến bảng bannhac và không phải là khóa chính của bảng banthuam.
c) Sai. Trường này chỉ tham chiếu đến bảng casi và không phải là khóa chính của bảng banthuam.
d) Sai. idBanthuam đã được chọn làm khóa chính.
Câu 2: Nếu muốn quản lý thêm thông tin về ngày sinh của các ca sĩ, cơ sở dữ liệu cần thay đổi bảng nào?
a) Bảng banthuam
b) Bảng bannhac
c) Bảng casi
d) Bảng nhacsi
a) Sai. Bảng này lưu trữ thông tin về bản thu âm và không chứa thông tin chi tiết về ca sĩ.
b) Sai. Bảng này chỉ chứa thông tin về các bản nhạc và nhạc sĩ sáng tác.
c) Đúng. Để lưu thêm thông tin về ngày sinh của ca sĩ, cần bổ sung trường ngaySinh vào bảng casi, vì bảng này lưu trữ thông tin chi tiết của ca sĩ.
d) Sai. Bảng này lưu trữ thông tin về nhạc sĩ, không liên quan đến ca sĩ.
PHẦN III. Câu trả lời ngắn. Thí sinh trả lời từ câu 1 đến câu 3
Câu 1: Làm thế nào để CSDL có thể quản lý thông tin ngày sinh của các nhạc sĩ và ca sĩ nhằm tránh trường hợp trùng tên?
Đáp án: Để quản lý thông tin ngày sinh của các nhạc sĩ và ca sĩ, CSDL cần thêm trường ngaysinh trong các bảng nhacsi và casi. Trường này sẽ lưu ngày sinh của mỗi người, giúp phân biệt những người có cùng tên. Cấu trúc của bảng sẽ thay đổi như sau:
nhacsi(idNhacsi, tenNhacsi, ngaysinh)
casi(idCasi, tenCasi, ngaysinh)
Giải thích: Thêm trường ngaysinh giúp giải quyết vấn đề trùng tên bằng cách lưu trữ thêm thông tin cá nhân, tạo nên sự duy nhất giữa những người có tên giống nhau. Kiểu dữ liệu DATE cho phép lưu trữ ngày sinh chuẩn xác và dễ dàng truy vấn.
Câu 2: Nếu cần quản lý thêm thông tin nơi sinh của các nhạc sĩ và ca sĩ, CSDL cần thay đổi như thế nào?
Đáp án: Để quản lý thêm thông tin nơi sinh, cần bổ sung trường noisinh vào các bảng nhacsi và casi. Trường này sẽ lưu tên tỉnh hoặc thành phố nơi nhạc sĩ và ca sĩ sinh ra, dưới dạng kiểu VARCHAR(255). Cấu trúc bảng sẽ thay đổi như sau:
nhacsi(idNhacsi, tenNhacsi, ngaysinh, noisinh)
casi(idCasi, tenCasi, ngaysinh, noisinh)
Giải thích: Thêm trường noisinh giúp lưu trữ thông tin địa lý của các nhạc sĩ và ca sĩ. Điều này cung cấp thêm chi tiết để phân biệt và quản lý các cá nhân một cách chính xác hơn, nhất là khi cần phân loại theo vùng địa lý hoặc tra cứu thông tin cụ thể.
Câu 3: Trong bài toán quản lý danh sách tên quận, huyện của các tỉnh/thành phố, cần phân tích và thiết lập mô hình dữ liệu như thế nào?
Đáp án: Để quản lý danh sách tên quận/huyện của các tỉnh/thành phố, ta cần thiết lập hai bảng: một bảng lưu thông tin tỉnh/thành phố và một bảng lưu thông tin các quận/huyện. Cấu trúc bảng như sau:
tinhthanh(idTinhThanh, tenTinhThanh)
quanhuyen(idQuanHuyen, tenQuanHuyen, idTinhThanh)
Giải thích: Bảng tinhthanh chứa thông tin về các tỉnh/thành phố, và bảng quanhuyen chứa thông tin về các quận/huyện. Trường idTinhThanh trong bảng quanhuyen là khóa ngoại, liên kết với bảng tinhthanh, giúp xác định mỗi quận/huyện thuộc tỉnh/thành phố nào. Mô hình này giúp giảm thiểu dữ liệu trùng lặp và tối ưu hóa việc quản lý thông tin địa lý.
Xem thêm các chương trình khác:
- Soạn văn lớp 11 Kết nối tri thức - hay nhất
- Văn mẫu lớp 11 - Kết nối tri thức
- Tóm tắt tác phẩm Ngữ văn 11 – Kết nối tri thức
- Tác giả tác phẩm Ngữ văn 11 - Kết nối tri thức
- Giải SBT Ngữ văn 11 – Kết nối tri thức
- Bố cục tác phẩm Ngữ văn 11 – Kết nối tri thức
- Giải Chuyên đề học tập Ngữ văn 11 – Kết nối tri thức
- Nội dung chính tác phẩm Ngữ văn lớp 11 – Kết nối tri thức
- Soạn văn 11 Kết nối tri thức (ngắn nhất)
- 100+ đề Đọc hiểu Ngữ Văn 11 (có đáp án)
- Giải sgk Toán 11 – Kết nối tri thức
- Giải Chuyên đề học tập Toán 11 – Kết nối tri thức
- Lý thuyết Toán 11 - Kết nối tri thức
- Giải sbt Toán 11 – Kết nối tri thức
- Bài tập Tiếng Anh 11 Global success theo Unit có đáp án
- Giải sgk Tiếng Anh 11 – Global success
- Giải sbt Tiếng Anh 11 - Global Success
- Trọn bộ Từ vựng Tiếng Anh 11 Global success đầy đủ nhất
- Ngữ pháp Tiếng Anh 11 Global success
- Giải sgk Vật lí 11 – Kết nối tri thức
- Lý thuyết Vật lí 11 – Kết nối tri thức
- Giải sbt Vật lí 11 – Kết nối tri thức
- Giải Chuyên đề học tập Vật lí 11 – Kết nối tri thức
- Chuyên đề dạy thêm Vật lí 11 cả 3 sách (2026 có đáp án)
- Giải sgk Hóa học 11 – Kết nối tri thức
- Giải Chuyên đề học tập Hóa học 11 – Kết nối tri thức
- Lý thuyết Hóa 11 - Kết nối tri thức
- Giải sbt Hóa học 11 – Kết nối tri thức
- Chuyên đề dạy thêm Hóa 11 cả 3 sách (2026 có đáp án)
- Giải sgk Sinh học 11 – Kết nối tri thức
- Lý thuyết Sinh học 11 – Kết nối tri thức
- Giải Chuyên đề học tập Sinh học 11 – Kết nối tri thức
- Giải sbt Sinh học 11 – Kết nối tri thức
- Giải sgk Giáo dục Kinh tế và Pháp luật 11 – Kết nối tri thức
- Giải Chuyên đề học tập Kinh tế pháp luật 11 – Kết nối tri thức
- Lý thuyết Kinh tế pháp luật 11 – Kết nối tri thức
- Giải sbt Kinh tế pháp luật 11 – Kết nối tri thức
- Giải sgk Lịch sử 11 – Kết nối tri thức
- Giải Chuyên đề học tập Lịch sử 11 – Kết nối tri thức
- Lý thuyết Lịch sử 11 - Kết nối tri thức
- Giải sbt Lịch sử 11 – Kết nối tri thức
- Giải sgk Địa lí 11 – Kết nối tri thức
- Giải Chuyên đề học tập Địa lí 11 – Kết nối tri thức
- Lý thuyết Địa lí 11 - Kết nối tri thức
- Giải sbt Địa lí 11 – Kết nối tri thức
- Giải sgk Công nghệ 11 – Kết nối tri thức
- Lý thuyết Công nghệ 11 - Kết nối tri thức
- Giải sbt Công nghệ 11 – Kết nối tri thức
- Giải sgk Giáo dục quốc phòng an ninh 11 – Kết nối tri thức
- Lý thuyết Giáo dục quốc phòng 11 – Kết nối tri thức
- Giải sbt Giáo dục quốc phòng 11 – Kết nối tri thức
- Giải sgk Hoạt động trải nghiệm 11 – Kết nối tri thức
