btvn.vn
Tìm kiếm Đăng nhập

Tạo bảng nhạc sĩ và khóa chính

Lưu trên thiết bị này
Thực hành tạo và khai thác cơ sở dữ liệu — ICT · Chọn bài khác

Khai báo từng trường

**Nhiệm vụ:** tạo bảng `nhacsi` trong CSDL trống `btvn19_lab`. Trên HeidiSQL 12.21 bản Linux đã kiểm, nháy phải tên CSDL → **Create new → Table**, đặt tên `nhacsi`. Chọn **Add** để thêm trường đầu, đổi tên thành `idNhacsi`, giữ kiểu `INT`, bỏ **Allow NULL** và chọn **AUTO_INCREMENT** ở ô Default. Mã số này do MySQL cấp khi thêm một hàng; nó khác mã giả N01 dạng chữ ở bài thiết kế trước. Thêm trường `tenNhacsi`, chọn `VARCHAR`, Length/Set là 255, bỏ **Allow NULL**. Máy thử chọn **No default value** để khi thêm một nhạc sĩ phải nhập tên. SGK minh họa chuỗi rỗng mặc định; `NOT NULL` chỉ cấm NULL, chưa cấm người dùng cố nhập chuỗi rỗng. Tên bảng/trường trong bài dùng chữ không dấu, không có khoảng trắng để dễ gõ và thống nhất.

Chỉ định khóa rồi lưu

Chọn hàng `idNhacsi`, nháy phải → **Create new index → PRIMARY**. Trong thẻ **Indexes**, kiểm PRIMARY KEY chỉ gồm `idNhacsi`, không phải `tenNhacsi`; nếu chọn nhầm thì sửa trước khi lưu. Chọn **Save**. Bảng `nhacsi` hiện dưới CSDL trong cây. Mở lại để kiểm tên, kiểu, trạng thái không NULL và khóa chính. Cấu trúc bảng sau khi lưu tương đương: ```sql CREATE TABLE nhacsi ( idNhacsi INT NOT NULL AUTO_INCREMENT, tenNhacsi VARCHAR(255) NOT NULL, PRIMARY KEY (idNhacsi) ); ``` Nếu Save báo lỗi, kiểm tên/kiểu, AUTO_INCREMENT và PRIMARY. Không xóa bảng đã có khi chưa kiểm dữ liệu. Bảng mới vẫn trống; Bài 21 mới nhập dữ liệu.

Bài luyện

Trường nào làm PRIMARY KEY của bảng nhacsi trong ví dụ?
Chọn một đáp án

Bài luyện

Khi thêm một nhạc sĩ mà không nhập idNhacsi, AUTO_INCREMENT có tác dụng gì?
Chọn một đáp án

Bài luyện

Bảng xuất hiện trong cây sau Save. Muốn xác nhận thiết kế đúng, kiểm thêm điều gì?
Chọn một đáp án

Đang học