SQL – Ngôn ngữ truy vấn SBT trang 36 lớp 11 Tin học ứng dụng – NXB Kết Nối Tri Thức, mời các em tham khảo cùng Bumbii.
Chủ đề 4. Giới thiệu các hệ cơ sở dữ liệu. Bài 14. SQL – Ngôn ngữ truy vấn.
Câu 14.1
Hãy viết câu truy vấn SQL tạo lập bảng Danh sách môn học (Bảng A ở câu 13.4).
Danh sách môn học (Bảng A)
Mã môn học | Môn học |
MAT10 | Toán học |
MAT11 | Toán học |
PHY10 | Vật lí |
PHY10 | Vật lí |
LIT10 | Ngữ văn |
… |
Biết rằng Mã môn học là xâu 5 kí tự, Tên môn học là xâu tối đa 64 kí tự; quy định đặt tên các trường tương ứng là manh và tenmh, tên bảng là monhoc.
Đáp án:
CREATE TABLE monhoc (
mamh CHAR(5),
tenmh VARCHAR(64),
PRIMARY KEY (mamh)
);
Câu 14.2
Hãy viết câu truy vấn tạo bảng Danh sách học sinh (Bảng B ở câu 13.5).
Danh sách học sinh (Bảng B)
Mã học sinh | Số CCCD | Họ và tên | Ngày sinh | Giới tính |
190001 | 032204200141 | Trần Văn An | 12/01/2004 | Nam |
190002 | 032203210023 | Nguyễn Hoàng Anh | 21/08/2003 | Nam |
190003 | 032304003252 | Phan Vàng Anh | 17/05/2004 | Nữ |
… |
Biết rằng Mã học sinh là xâu 6 kí tự, Số CCCD là xâu 12 kí tự, Họ và tên là xâu không quá 64 kí tự, Giới tính 1 kí tự với quy ước 1 là nữ, 0 là nam với các trường có tên gọi tương ứng là mahs, cccd, hoten, ngsinh, gt và tên bảng là học sinh.
Đáp án:
CREATE TABLE hocsinh (
mahs CHAR(6),
cccd CHAR(12),
hoten VARCHAR(64),
ngsinh DATE,
gt CHAR(1),
PRIMARY KEY (mamh)
);
Câu 14.3
Hãy viết câu truy vấn thay đổi tên trường ngsinh của bảng hocsinh thành ngaysinh.
Đáp án:
ALTER TABLE hocsinh
CHANGE COLUMN ngsinh ngaysinh DATE;
Câu 14.4
Hãy viết câu truy vấn tạo bảng Điểm môn học (Bảng C).
Điểm môn học (Bảng C)
Mã học sinh | Mã môn học | Điểm |
19001 | MAT11 | 9 |
19001 | PHY11 | 10 |
19002 | LIT10 | 8 |
19002 | MAT10 | 8 |
… |
Biết rằng Điểm là số tự nhiên không lớn hơn 10 với tên trường là diem và tên bảng là diemmonhoc.
Đáp án:
CREATE TABLE diemmonhoc(
mahs CHAR(6) REFERENCES hocsinh (mahs),
mamh CHAR(5) REFERENCES monhoc (mamh),
diem INT CHECK (diem BETWEEN 0 AND 10),
PRIMARY KEY (mahs, mamh),
);
Cũng có thể dùng nhiều câu truy vấn:
CREATE TABLE diemmonhoc(
mahs CHAR(6),
mamh CHAR(5),
diem INT,
PRIMARY KEY (mahs, mamh),
);
ALTER TABLE ADD FOREIGN KEY hs REFERENCES hocsinh (mahs);
ALTER TABLE ADD FOREIGN KEY mh REFERENCES monhoc (mamh);
ALTER TABLE ADD FOREIGN KEY dm CHECK (diem BETWEEN 0 AND 10);
Câu 14.5
Hãy viết câu truy vấn thêm các dòng dữ liệu (‘MAT10’, ‘Toán học’), (‘MAT11’, ‘Toán học’), (‘PHY 10’, ‘Vật lí’), (‘PHY11’, ‘Vật lí’), (‘LIT10’, ‘Ngữ văn’) vào bảng monhoc.
Đáp án:
INSERT INTO monhoc VALUES
(‘MAT10’, ‘Toán học),
(‘MAT11’, ‘Toán học’),
(‘PHY10’, ‘Vật lí’),
(‘PHY11’, ‘Vật lí’),
(‘LIT10’, ‘Ngữ Văn’);
Câu 14.6
Hãy viết câu truy vấn sửa chữa tên môn học ‘Toan hoc’ thành ‘Toán học’ trong bảng monhoc.
Đáp án:
UPDATE monhoc
SET tenmh = ‘Toán học’
WHERE mamh = ‘MAT10’ OR mamh = ‘MAT11’;
Câu 14.7
Hãy viết câu truy vấn xoá dòng (‘LIT 10’, ‘Ngữ văn’) trong bảng monhoc.
Đáp án:
DELETE FROM monhoc WHERE mamh = ‘LIT10’;
Câu 14.8
Hãy viết câu truy vấn đọc ra toàn bộ dữ liệu của bảng monhoc.
Đáp án:
SELECT * FROM monhoc;
Câu 14.9
Hãy viết câu truy vấn đọc ra các môn có tên là ‘Toán học’.
Đáp án:
SELECT * FROM monhoc WHERE tenmh = ‘Toán học’;
Câu 14.10
Mô tả kết quả của câu truy vấn:
SELECT tenmh FROM monhoc WHERE mamh = ‘PHY10’ OR mamh = ‘PHY11’
Đáp án:
Kết quả nhận được là tên môn học của tất cả các dòng có mã môn học là PHY10 hay PHY11.
Xem các bài giải khác tại Giải bài tập SBT lớp 11 định hướng tin học ứng dụng – NXB Kết nối tri thức với cuộc sống
Thông tin liên hệ & mạng xã hội:
Website: https://bumbii.com/
Facebook: https://www.facebook.com/bumbiiapp
Pinterest: https://www.pinterest.com/bumbiitech
Không bao giờ từ bỏ hy vọng. Cố gắng mỗi ngày.