Dưới đây là các câu trả lời cho các câu hỏi của bạn:
### Câu 22
Để truy vấn dữ liệu trong SQL ta sử dụng?
**B. Cú pháp câu lệnh SELECT.**
### Câu 23
Câu lệnh
```sql
SELECT bannhac.tenBannhac, nhacsi.tenNhacsi
FROM bannhac INNER JOIN nhacsi
ON bannhac.idNhacsi=nhacsi.idNhacsi;
```
Thực hiện nhiệm vụ gì?
**D. Lấy danh sách gồm tenBannhac, tenNhacsi thông qua idNhacsi.**
### Câu 24
Để truy vấn hai bảng qua liên kết khóa ta dùng mệnh đề nào sau đây?
**A. JOIN.**
### Câu 25
Câu lệnh
```sql
SELECT Sách.tên sách, Thể loại.tên thể loại
FROM sach INNER JOIN theloai
ON Sách.Mã thể loại= Thể loại.Mã thể loại;
```
Thực hiện nhiệm vụ gì?
**D. Lấy danh sách gồm tên sách, tên thể loại thông qua Mã thể loại.**
### Câu 26
Để sao lưu các bảng ta chọn?
**D. "Export Database".**
### Câu 27
Cần cấu hình và xây dựng kế hoạch phục hồi dữ liệu trong trường hợp?
**D. Cả ba đáp án trên đều đúng.**
### Câu 28
Có thể lựa chọn tùy chọn sao lưu nào dưới đây?
**D. Cả ba đáp án trên đều đúng.**
### Câu 29
HeidiSQL là gì?
**C. Một trình quản lý cơ sở dữ liệu MySQL.**
### Câu 30
Để tạo lập bảng thì cần?
**D. Tất cả đều đúng.**
### Câu 31
Để ấn định khóa chính thì ta thực hiện?
**A. Chọn Create new index -> Primary.**
### Câu 32
Khi lập CSDL quản lí tên các Quận/Huyện, Tính/Thành phố của Việt Nam. Tạo bảng Tính/Thành phố thì cần có các trường nào?
**D. Cả ba đáp án trên đều đúng.**
### Câu 33
Sau khi đã tạo các bảng, bạn có thể thiết lập các quan hệ giữa các bảng bằng cách?
**C. Thiết lập khóa ngoại.**
### Câu 34
Để biểu diễn thứ tự GIẢM dần ta dùng?
**D. DESC.**
### Câu 35
Trường idNhacsi là trường khóa ngoài đã được khai báo tham chiếu đến trường idNhacsi của bảng nhacsi, để đảm bảo giá trị hợp lệ chỉ có thể lấy từ các giá trị của?
**C. idNhacsi có trong bảng nhacsi.**
---
### PHẦN TỰ LUẬN
**Câu 1:**
a. Các bước để tạo CSDL Quản lý sách, tạo bảng Tác giả trong CSDL Quản lý Sách:
1. Mở phần mềm quản lý cơ sở dữ liệu (ví dụ: MySQL Workbench, HeidiSQL).
2. Tạo một cơ sở dữ liệu mới với tên "QuanLySach".
3. Sử dụng câu lệnh SQL để tạo bảng Tác giả:
```sql
CREATE TABLE TacGia (
MaTacGia INT PRIMARY KEY,
TenTacGia VARCHAR(255),
Website VARCHAR(255),
GhiChu TEXT
);
```
b. Các bước khai báo trường khóa ngoài của bảng Sách tham chiếu đến bảng Tác giả:
1. Trong câu lệnh tạo bảng Sách, thêm trường Mã tác giả và khai báo khóa ngoài:
```sql
CREATE TABLE Sach (
MaSach INT PRIMARY KEY,
TenSach VARCHAR(255),
MaTacGia INT,
FOREIGN KEY (MaTacGia) REFERENCES TacGia(MaTacGia)
);
```
c. Viết truy vấn để lập danh sách gồm tên sách, tên tác giả, tên nhà xuất bản:
```sql
SELECT Sach.TenSach, TacGia.TenTacGia, NhaXuatBan.TenNXB
FROM Sach
INNER JOIN TacGia ON Sach.MaTacGia = TacGia.MaTacGia
INNER JOIN NhaXuatBan ON Sach.MaNXB = NhaXuatBan.MaNXB;
```
**Câu 2:**
a. Các bước khai báo trường khóa ngoài của bảng Sách tham chiếu đến bảng Tác giả:
1. Trong câu lệnh tạo bảng Sách, thêm trường Mã tác giả và khai báo khóa ngoài:
```sql
CREATE TABLE Sach (
MaSach INT PRIMARY KEY,
TenSach VARCHAR(255),
MaTacGia INT,
FOREIGN KEY (MaTacGia) REFERENCES TacGia(MaTacGia)
);
```
b. Các bước để nhập mới dữ liệu vào bảng Sách:
1. Sử dụng câu lệnh INSERT INTO để thêm dữ liệu:
```sql
INSERT INTO Sach (MaSach, TenSach, MaTacGia, MaTheLoai, MaNXB, NamXuatBan)
VALUES (1, 'Tên sách 1', 1, 1, 1, 2022);
```
c. Viết truy vấn để lập danh sách gồm mã sách, tên sách, tên tác giả của những cuốn sách được xuất bản từ năm 2022 đến nay:
```sql
SELECT Sach.MaSach, Sach.TenSach, TacGia.TenTacGia
FROM Sach
INNER JOIN TacGia ON Sach.MaTacGia = TacGia.MaTacGia
WHERE Sach.NamXuatBan >= 2022;
```
Hy vọng những thông tin trên sẽ giúp ích cho bạn! Nếu bạn cần thêm thông tin gì, hãy cho tôi biết nhé!