Sau bài học này em sẽ:

Các em đã biết, khoá ngoài có tác dụng liên kết dữ liệu giữa các bàng. 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ụ

Tạo lập bảng bannhac với cấu trúc: bannhac (idBannhac, tenBannhac, idNhacsi), Các trường idBannhac, idNhacsi kiểu INT, Trường tenBannhac kiều VARCHAR (255). Hướng dẫn:

1. Khai báo bàng bannhac với các trường idbannhac, tenbannhac

Chọn thẻ Tạo mới, chọn Bàng. Nhập tên: bannhac, chọn Thêm mới để thêm trường dữ liệu, một trường với tên mặc định Column1 sẽ xuất hiện phía dưới.

Hình 20.1. Screenshot of HeidiSQL showing the table editor for creating a new table named 'bannhac'. The column definition area is empty, ready for adding columns.

Nhập tên: idBannhac, chọn kiểu dữ liệu INT, bỏ đánh dấu ô Allow NULL, nháy chuột vào ô No default để chọn giá trị mặc định là AUTO_INCREMENT.

Hình 20.2. Screenshot of HeidiSQL showing column properties for 'idBannhac'. Data type is INT, Unsigned is checked, Allow NULL is unchecked, and Default is set to AUTO_INCREMENT.

Để khai báo thêm trường tiếp theo, nhấn Ctrl+Insert hoặc nháy nút phải chuột vào phần dưới dòng idBannhac và chọn Add column.

Nhập: tenBannhac, chọn kiểu VARCHAR, độ dài 255, giá trị mặc định là ki tự rồng ".".

Hình 20.3. Screenshot of HeidiSQL showing column properties for 'tenBannhac'. Data type is VARCHAR, Length/Set is 255, and Default is set to an empty string.

2. Khai báo các trường là khoá ngoà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ụ, bảng bannhac, trường idNhacsi tham chiếu đến trường idNhacsi (kiểu INT) của bảng nhacsi nên giá trị của trường này cũng là INT và giá trị mặc định là một số nguyên, chẳng hạn là 0.

Hình 20.4. Screenshot of HeidiSQL showing column properties for 'idNhacsi' in the 'bannhac' table. Data type is INT, and Default is set to 0.

3. Khai báo các trường khoá

a) Khai báo khoá chính: idBannhac

Nhây nút phải chuột vào ô id Bannhac, chọn Creat new index, chọn PRIMARY.

Hình 20.5. Screenshot of HeidiSQL showing a context menu with options for creating new indexes, including 'PRIMARY', 'KEY', 'UNIQUE', 'FULLTEXT', 'SPATIAL'.

b) Khai báo khoá chống trùng lặp

Cập (tenBannhac, idNhacsi) không được trùng lập giá trị nên phải khai báo khoả cấm trùng lặp. Đánh dầu hai trường này, nháy nút phải chuột vào vùng đánh dấu và chọn Create new index, chọn UNIQUE.

Hình 20.6. Screenshot of HeidiSQL showing the table editor for 'bannhac'. Columns 'tenBannhac' and 'idNhacsi' are selected, and a context menu is open, showing options to create a new index, including 'UNIQUE'.

Khai báo các trường là khoá ngoài

Khai báo các trường khoá

Khai báo khoá chính: idBannhac

Nháy nút phải chuột vào ô idBannhac, chọn Creat new index, chọn PRIMARY.

Khai báo khoá chống trùng lặp

Cặp (tenBannhac, idNhacsi) không được trùng lập giá trị nên phải khai báo khoả cấm trùng lặp. Đánh dấu hai trường này, nháy nút phải chuột vào vùng đánh dấu và chọn Create new index, chọn UNIQUE.

Khai báo các khoá ngoài

Để khai báo khoá ngoài idNhacsi, chọn thẻ Foreign Key.

Hình 20.7. Khai báo khoá ngoài

Nháy chuột vào ô dưới dòng Columns và chọn trường khoá ngoài là idNhacsi rồi chọn OK.

Hình 20.8. Chọn trường là khoá ngoài

Nháy chuột vào ô phía dưới Reference table để chọn bảng tham chiếu là nhacsi và chọn OK.

Hình 20.9. Chọn bảng tham chiếu

Tiếp theo chọn trường tham chiếu trong bảng nhacsi.

Hình 20.10. Chọn trường tham chiếu

Cuối cùng nháy chuột chọn Lưu để kết thúc khai báo và khởi tạo bảng bannhac.

LUYỆN TẬP

Hãy tạo lập bảng banthuam.

VẬN DỤNG

Hãy tạo lập bảng Quận/Huyện trong CSDL quản lí tên Quận/Huyện, Tỉnh/Thành phố.

Xem bản PDF nguyên trang sách: Tin học 11 – Kết nối tri thức với cuộc sống (trang 95–99).