Giải Tin Học trang 96
Lời giải chi tiết SGK Lớp 11 · Môn Tin Há»c · Trang 96–97
Mục tiêu bài học
Sau bài này em sẽ biết cách tạo mới các bảng có khoá ngoài.
Câu hỏi gợi mở: Khoá ngoài có tác dụng liên kết dữ liệu giữa các bảng. Vậy khi tạo bảng có khoá ngoài, việc thiết lập khoá ngoài được thực hiện như thế nào?
Nhiệm vụ thực hành
Tạo lập bảng bannhac với cấu trúc:
bannhac (idBannhac, tenBannhac, idNhacsi)
| Trường | Kiểu dữ liệu | Ghi chú |
|---|---|---|
idBannhac | INT | Khoá chính, tự tăng |
idNhacsi | INT | Khoá ngoài, tham chiếu nhacsi |
tenBannhac | VARCHAR(255) | Tên bản nhạc |
Công cụ sử dụng: HeidiSQL (kết nối tới máy chủ MariaDB, cơ sở dữ liệu mymusic).
1. Khai báo bảng bannhac với các trường idBannhac, tenBannhac
Các bước thầy tóm tắt lại:
- Chọn thẻ Tạo mới, chọn Bảng.
- Nhập tên bảng:
bannhac. - Nhấn Thêm mới để thêm trường dữ liệu. Một trường tên mặc định
Column1sẽ xuất hiện phía dưới (Hình 20.1).
Khai báo trường idBannhac (Hình 20.2):
- Nhập tên:
idBannhac - Chọn kiểu dữ liệu: INT
- Bỏ đánh dấu ô Allow NULL (không cho phép giá trị rỗng, vì đây là khoá chính)
- Nháy vào ô No default để đặt giá trị mặc định là AUTO_INCREMENT (tự động tăng mỗi khi thêm bản ghi mới)
Khai báo trường tenBannhac (Hình 20.3):
- Để thêm trường tiếp theo: nhấn Ctrl + Insert hoặc nháy phải chuột vào phần dưới dòng
idBannhacrồi chọn Add column - Nhập tên:
tenBannhac - Chọn kiểu VARCHAR, độ dài 255
- Giá trị mặc định là kí tự rỗng
''
2. Khai báo các trường là khoá ngoài
Phần lý thuyết quan trọng nhất của bài:
Các trường là khoá ngoài của bảng là các trường tham chiếu đến một trường khoá chính (k) của một bảng khác, vì vậy cần được khai báo giá trị mặc định phù hợp với giá trị tương ứng của k.
Ví dụ với trường idNhacsi (Hình 20.4):
- Trường
idNhacsitrong bảngbannhactham chiếu đến trườngidNhacsi(kiểu INT) của bảngnhacsi. - Vì vậy:
- Kiểu dữ liệu của trường này cũng phải là INT (phải khớp với kiểu của trường được tham chiếu).
- Giá trị mặc định là một số nguyên, chẳng hạn
0.
Sau bước này, cấu trúc bảng bannhac đã có đủ 3 trường:
| # | Tên | Kiểu | Length | Mặc định |
|---|---|---|---|---|
| 1 | idBannhac | INT | 11 | AUTO_INCREMENT |
| 2 | tenBannhac | VARCHAR | 255 | '' |
| 3 | idNhacsi | INT | 0 |
Ghi nhớ nhanh
- Khoá ngoài dùng để liên kết dữ liệu giữa hai bảng.
- Trường khoá ngoài phải có cùng kiểu dữ liệu với trường khoá chính mà nó tham chiếu.
- Giá trị mặc định của khoá ngoài nên là một giá trị hợp lệ (ví dụ số nguyên
0với kiểu INT). - Khoá chính thường được đặt AUTO_INCREMENT và không cho phép NULL.
Hai trang này hoàn toàn là nội dung hướng dẫn, không có bài tập cần giải. Khi em sang trang tiếp theo (phần Luyện tập / Vận dụng), gửi ảnh cho thầy nhé, thầy sẽ giải chi tiết từng câu cho em.
