Bài 20 Thực hành tạo lập các bảng có khóa ngoài

Lớp 11Tin Học9 câu hỏiBài tập

Phần 1

Câu 1

(Câu 20.1 trang 68 SBT Tin học 11) 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?
AKhông, khoá ngoài phải tham chiếu đến khoá chính của một bảng khác.
BCó, chỉ cần trường đó có tên giống trường ở bảng khác.
CCó, miễn là trường đó có kiểu dữ liệu số nguyên.
DCó, nếu trường đó không chứa giá trị trùng lặp.

Câu 2

(Câu 20.2 trang 68 SBT Tin học 11) 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?
AKhông, trường khoá ngoài và trường khoá chính được tham chiếu phải có kiểu dữ liệu tương thích.
BCó, vì tên trường mới là yếu tố quyết định.
CCó, nếu trường khoá ngoài có giá trị mặc định.
DCó, nếu bảng chứa khoá ngoài có ít bản ghi hơn bảng được tham chiếu.

Câu 3

(Câu 20.4 trang 68 SBT Tin học 11) Câu lệnh SQL nào sau đây dùng để đổi tên trường hovaten trong bảng hocsinh thành trường hoten?
AALTER TABLE hocsinh CHANGE COLUMN hovaten hoten VARCHAR(128);
BALTER TABLE hocsinh RENAME hocsinh TO hoten;
CUPDATE hocsinh SET hovaten = hoten;
DDELETE COLUMN hovaten FROM hocsinh;

Câu 4

(Câu 20.5 trang 68 SBT Tin học 11) Câu lệnh SQL nào sau đây dùng để chỉnh sửa trường gioitinh trong bảng hocsinh thành trường có giá trị mặc định là 1?
AALTER TABLE hocsinh CHANGE COLUMN gioitinh gioitinh CHAR(1) DEFAULT '1';
BALTER TABLE hocsinh DELETE COLUMN gioitinh DEFAULT '1';
CUPDATE hocsinh SET DEFAULT gioitinh = '1';
DCREATE TABLE hocsinh CHANGE gioitinh DEFAULT '1';

Phần 2

Câu 1

(Câu 20.3 trang 68 SBT Tin học 11) Trong CSDL qlhs, cần tạo lập bảng hocsinh để 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.
a)Có thể thiết kế bảng hocsinh gồm các trường idHs, cccd, hovaten, gioitinh, ngaysinh, idDantoc, idXa, namvaotruong, namratruong.
b)idHs có thể được chọn làm khoá chính của bảng hocsinh.
c)idDantoc và idXa là các khoá ngoài, lần lượt tham chiếu đến bảng dantoc và bảng xa.
d)idDantoc và idXa nên được chọn làm khoá chính thay cho idHs vì hai trường này luôn xác định duy nhất từng học sinh.

Câu 2

(Câu 20.3 trang 68 SBT Tin học 11) Tìm hiểu kiểu dữ liệu phù hợp khi tạo bảng hocsinh trong CSDL qlhs.
a)idHs có thể dùng kiểu số nguyên không âm, tự động tăng.
b)cccd có thể dùng kiểu xâu 12 kí tự.
c)gioitinh có thể dùng kiểu CHAR(1), chẳng hạn 0 biểu thị nam và 1 biểu thị nữ.
d)ngaysinh nên dùng kiểu VARCHAR(128) thay cho DATE vì ngày sinh không cần xử lí như dữ liệu ngày tháng.

Câu 3

(Câu 20.3 trang 68 SBT Tin học 11) Xét câu lệnh tạo bảng hocsinh trong CSDL qlhs.
a)Có thể dùng PRIMARY KEY (idHs) để khai báo idHs là khoá chính.
b)Có thể dùng FOREIGN KEY (idDantoc) REFERENCES dantoc (idDantoc) để khai báo khoá ngoài tham chiếu đến bảng dantoc.
c)Có thể dùng FOREIGN KEY (idXa) REFERENCES xa (idXa) để khai báo khoá ngoài tham chiếu đến bảng xa.
d)Khi đã khai báo khoá ngoài, không cần tạo bảng dantoc và bảng xa trước đó.

Câu 4

(Câu 20.6 trang 68 SBT Tin học 11) Trong CSDL qlhs, cần 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.
a)Có thể tạo bảng lophs gồm hai trường idLop và idHs.
b)Có thể chọn cặp trường (idLop, idHs) làm khoá chính của bảng lophs.
c)idLop và idHs là các khoá ngoài, trong đó idLop tham chiếu đến bảng lop, idHs tham chiếu đến bảng hocsinh.
d)Bảng lophs không cần khoá ngoài vì idLop và idHs không liên quan đến bảng nào khác.

Câu 5

(Câu 20.6 trang 68 SBT Tin học 11) Xét câu lệnh tạo bảng lophs trong CSDL qlhs để quản lí học sinh thuộc lớp học.
a)Bảng lophs dùng để thể hiện mối liên hệ giữa học sinh và lớp học.
b)Mỗi bản ghi trong bảng lophs có thể cho biết một học sinh thuộc một lớp cụ thể.
c)Có thể khai báo FOREIGN KEY (idLop) REFERENCES lop (idLop).
d)Có thể khai báo FOREIGN KEY (idHs) REFERENCES lop (idHs) vì idHs là khoá chính của bảng lop.