Giải SBT Tin học 11 KNTT Bài 20. Thực hành tạo lập các bảng và khoá ngoài có đáp án
Đề thi

Giải SBT Tin học 11 KNTT Bài 20. Thực hành tạo lập các bảng và khoá ngoài có đáp án

A
Admin
Tin họcLớp 1190 lượt thi
6 câu hỏi
1. Tự luận
1 điểm

Trong một bảng, có thể chỉ định một trường làm khoá ngoài mà không cần chỉ ra tham chiếu đến một khoá chính của bảng khác không?

Xem đáp án

Trong một bảng, không thể chỉ định một trường làm khoá ngoài mà không cần chỉ ra tham chiếu đến một khoá chính của bảng khác.

2. Tự luận
1 điểm

Trong một bảng, có thể chỉ định một trường (a) làm khoá ngoài tham chiếu đến khoá chính (b) của một bảng khác mà a và b có kiểu dữ liệu khác nhau được không?

Xem đáp án

Trong một bảng, không thể chỉ định một trường (a) làm khoá ngoài tham chiếu đến khoá chính (b) của một bảng khác mà a và b có kiểu dữ liệu khác nhau.

3. Tự luận
1 điểm

Trong CSDL glhs, hãy tạo lập các bảng cho mục đích quản lí danh sách học

sinh trong một trường, gồm các thông tin mã học sinh, số CCCD, họ và tên, giới tính, ngày sinh, dân tộc, địa chỉ, năm vào trường, năm ra trường. Trong đó địa chỉ là thông tin về xã/phường nơi học sinh cư trú.

Xem đáp án

Danh sách các thông tin cần quản lí đã được nêu rõ trong đầu bài. Có thể lấy thông tin dân tộc là idDantoc – tham chiếu đến bảng dantoc, địa chỉ là idXa – tham chiếu đến bảng danh sách xã/phường trong các câu ở Bài 19. Đáp án: hocsinh (idHs, cccd, hovaten, gioitinh, ngaysinh, idDantoc, idXa, namvaotruong, namratruong).

Khoá chính là idHs; idDantoc và idXa là các khoá ngoài.

Có thể chọn kiểu nguyên không âm, tự động tăng cho idHs. Số cccd là kiểu xâu 12 kí tự, gioitinh kiểu 1 kí tự (0 – nam, 1 – nữ), ngaysinh kiểu date, namvaotruong, namratruong kiểu xâu 4 kí tự.

Dùng chức năng tạo lập bảng của HeidiSQL để tạo bảng.

Hoặc dùng câu truy vấn SQL:

CREATE TABLE qlhs.hocsinh (

);

idHs INT UNSIGNED NOT NULL AUTO_INCREMENT,

cccd CHAR(12),

hovaten VARCHAR(128),

gioitinh CHAR(1),

ngaysinh DATE,

idDantoc INT UNSIGNED NOT NULL,

idXa INT UNSIGNED NOT NULL,

namvaotruong CHAR(4),

namratruong CHAR(4),

PRIMARY KEY (idHs),

FOREIGN KEY (idDantoc) REFERENCES dantoc (idDantoc),

FOREIGN KEY (idXa) REFERENCES xa (idXa)

4. Tự luận
1 điểm

Hãy thực hiện và mô tả lại các thao tác đổi tên trường hovaten trong bảng hocsinh thành trường hoten.

Xem đáp án

Thực hiện các thao tác đổi tên trường dữ liệu bằng HeidiSQL như đã được trình bày chi tiết trong SGK hoặc thực hiện câu truy vấn SQL:

ALTER TABLE hocsinh

CHANGE COLUMN hovaten hoten VARCHAR(128);

5. Tự luận
1 điểm

Hãy thực hiện và mô tả lại các thao tác chỉnh sửa trường gioitinh trong bảng hocsinh thành trường có giá trị mặc định là 1.

Xem đáp án

Thực hiện các thao tác đổi tên trường dữ liệu bằng HeidiSQL như đã được trình bày chi tiết trong SGK hoặc thực hiện câu truy vấn SQL:

ALTER TABLE hocsinh

CHANGE COLUMN gioitinh gioitinh CHAR(1) DEFAULT “1”;

6. Tự luận
1 điểm

Trong CSDL qlhs, hãy tạo lập bảng danh sách học sinh – lớp học để quản lí danh sách học sinh trong các lớp học.

Xem đáp án

Mỗi học sinh trong một năm học chỉ thuộc về một lớp học.

Đáp án: lophs (idLop, idHs)

Khoá chính là (idLop, idHs), idLop và idHs là các khoá ngoài. Dùng chức năng tạo lập bảng của HeidiSQL để tạo bảng.

Hoặc dùng câu truy vấn SQL:

CREATE TABLE q1hs.lophs (

idLop INT UNSIGNED NOT NULL,

idHs INT UNSIGNED NOT NULL, PRIMARY KEY (idLop, idHs),

FOREIGN KEY (id Lop) REFERENCES lop (idLop),

FOREIGN KEY (idHs) REFERENCES lop (idHs)

);