-
-
-
- Lớp 2
- Tự nhiên và xã hội
- Tiếng việt
- Toán học
- Tiếng Anh
- Đạo đức
- Âm nhạc
- Mỹ thuật
- HĐ trải nghiệm, hướng nghiệp
- Lớp 4
- Khoa học
- Tiếng việt
- Toán học
- Đạo đức
- Tiếng Anh
- Lịch sử và Địa lí
- Công nghệ
- HĐ trải nghiệm, hướng nghiệp
- GD Thể chất
- Âm nhạc
- Lớp 5
- Khoa học
- Toán học
- Tiếng việt
- Tin học
- Tiếng Anh
- Đạo đức
- Lịch sử và Địa lí
- HĐ trải nghiệm, hướng nghiệp
- Lớp 6
- Công nghệ
- Tin học
- Lịch sử và Địa lí
- GDCD
- Ngữ văn
- Toán học
- Khoa học tự nhiên
- Tiếng Anh
- Âm nhạc
- Mỹ thuật
- HĐ trải nghiệm, hướng nghiệp
- Lớp 7
- Tiếng Anh
- GDCD
- Toán học
- Công nghệ
- Tin học
- Ngữ văn
- Lịch sử và Địa lí
- Khoa học tự nhiên
- HĐ trải nghiệm, hướng nghiệp
- Âm nhạc
- Lớp 8
- Tiếng Anh
- GDCD
- Toán học
- Công nghệ
- Ngữ văn
- Khoa học tự nhiên
- Lịch sử và Địa lí
- HĐ trải nghiệm, hướng nghiệp
- GD Thể chất
- Âm nhạc
- Lớp 9
- Tiếng Anh
- GDCD
- Toán học
- Công nghệ
- Tin học
- Ngữ văn
- Khoa học tự nhiên
- HĐ trải nghiệm, hướng nghiệp
- Lịch sử và Địa lí
- Lớp 10
- Hóa học
- Tiếng Anh
- Lịch sử
- Sinh học
- Địa lí
- Vật lí
- Tin học
- Toán học
- GD kinh tế và pháp luật
- Công nghệ
- Ngữ văn
- HĐ trải nghiệm, hướng nghiệp
- GD Thể chất
- GD Quốc phòng và An ninh
- Lớp 11
- Hóa học
- Tiếng Anh
- Vật lí
- Tin học
- Toán học
- Địa lí
- Công nghệ
- Lịch sử
- Ngữ văn
- Sinh học
- GD Thể chất
- GD Quốc phòng và An ninh
- GD kinh tế và pháp luật
- HĐ trải nghiệm, hướng nghiệp
-
-
- KHÁM PHÁ
-
-
-
-
-
-
-
-
- FAVORITES
-
- Hỏi đáp
- Tin Học
- Lớp 11
- Tạo 1 cơ sở dữ liệu có ít nhất 4 bảng, 4 câu truy vấn có liên kết với nhau. Cho dữ liệu bảng cụ thể. Thêm khóa chính khóa ngoại cho từng bảng
Tạo 1 cơ sở dữ liệu có ít nhất 4 bảng, 4 câu truy vấn có liên kết với nhau. Cho dữ liệu bảng cụ thể. Thêm khóa chính khóa ngoại cho từng bảng
Tạo 1 cơ sở dữ liệu có ít nhất 4 bảng, 4 câu truy vấn có liên kết với nhau. Cho dữ liệu bảng cụ thể. Thêm khóa chính khóa ngoại cho từng bảng
Câu trả lời này dùng AI, hãy kiểm tra lại trước khi sử dụng
1. Tạo cơ sở dữ liệu: Giả sử chúng ta tạo một cơ sở dữ liệu quản lý thư viện với các bảng: Sách, Tác giả, Thể loại và Độc giả.
2. Các bảng và dữ liệu cụ thể:
- Bảng `Sách`:
```
| id_sach (PK) | ten_sach | id_tac_gia (FK) | id_the_loai (FK) |
|--------------|-------------------|------------------|-------------------|
| 1 | Đắc Nhân Tâm | 1 | 1 |
| 2 | Nghĩ Như Một Nhà Vô Địch | 2 | 1 |
| 3 | Tư Duy Nhanh Và Chậm | 3 | 2 |
| 4 | Như Một Con Người | 1 | 3 |
```
- Bảng `Tác giả`:
```
| id_tac_gia (PK) | ten_tac_gia |
|------------------|-----------------|
| 1 | Dale Carnegie |
| 2 | Tim Grover |
| 3 | Daniel Kahneman |
```
- Bảng `Thể loại`:
```
| id_the_loai (PK) | ten_the_loai |
|-------------------|-----------------|
| 1 | Kỹ Năng Sống |
| 2 | Tâm Lý Học |
| 3 | Triết Học |
```
- Bảng `Độc giả`:
```
| id_doc_gia (PK) | ten_doc_gia | email |
|------------------|------------------|-----------------|
| 1 | Nguyễn Văn A | [email protected] |
| 2 | Trần Thị B | [email protected] |
| 3 | Lê Văn C | [email protected] |
```
3. Câu truy vấn:
- Câu truy vấn 1: Tìm tất cả sách cùng với tên tác giả:
```sql
SELECT S.ten_sach, T.ten_tac_gia
FROM Sách S
JOIN Tác giả T ON S.id_tac_gia = T.id_tac_gia;
```
- Câu truy vấn 2: Tìm tất cả sách theo thể loại:
```sql
SELECT S.ten_sach, TL.ten_the_loai
FROM Sách S
JOIN Thể loại TL ON S.id_the_loai = TL.id_the_loai;
```
- Câu truy vấn 3: Tìm tất cả độc giả đã mượn sách và tên sách họ đã mượn:
```sql
SELECT DG.ten_doc_gia, S.ten_sach
FROM Độc giả DG
JOIN Mượn_Sách MS ON DG.id_doc_gia = MS.id_doc_gia
JOIN Sách S ON MS.id_sach = S.id_sach;
```
- Câu truy vấn 4: Thống kê số lượng sách theo thể loại:
```sql
SELECT TL.ten_the_loai, COUNT(S.id_sach) as so_luong_sach
FROM Sách S
JOIN Thể loại TL ON S.id_the_loai = TL.id_the_loai
GROUP BY TL.ten_the_loai;
```
Tiến hành tạo các khóa chính (PK) và khóa ngoại (FK) trong các bảng để đảm bảo tính toàn vẹn dữ liệu. Khóa chính trong từng bảng là các trường id tương ứng, khóa ngoại trong bảng `Sách` là id_tac_gia và id_the_loai liên kết tới bảng `Tác giả` và `Thể loại`. Để thực hiện điều này, bạn có thể sử dụng các câu lệnh SQL như sau:
```sql
ALTER TABLE Sách
ADD CONSTRAINT FK_Tac_Gia FOREIGN KEY (id_tac_gia) REFERENCES Tác giả(id_tac_gia);
ALTER TABLE Sách
ADD CONSTRAINT FK_The_Loai FOREIGN KEY (id_the_loai) REFERENCES Thể loại(id_the_loai);
```
Đối với bảng mượn sách, bạn có thể tạo bảng thêm để quản lý việc mượn sách với khóa chính và khóa ngoại:
- Bảng `Mượn_Sách`:
```
| id_muon_sach (PK) | id_doc_gia (FK) | id_sach (FK) |
|--------------------|------------------|-----------------|
| 1 | 1 | 1 |
| 2 | 2 | 3 |
| 3 | 1 | 2 |
```
Rồi thêm khóa ngoại cho bảng `Mượn_Sách`:
```sql
ALTER TABLE Mượn_Sách
ADD CONSTRAINT FK_Doc_Gia FOREIGN KEY (id_doc_gia) REFERENCES Độc giả(id_doc_gia);
ALTER TABLE Mượn_Sách
ADD CONSTRAINT FK_Sach FOREIGN KEY (id_sach) REFERENCES Sách(id_sach);
```
Việc tạo các bảng và câu truy vấn này giúp bạn truy vấn dữ liệu một cách liên kết, dễ dàng hơn trong việc quản lý thông tin liên quan đến sách, tác giả, thể loại và độc giả.
2. Các bảng và dữ liệu cụ thể:
- Bảng `Sách`:
```
| id_sach (PK) | ten_sach | id_tac_gia (FK) | id_the_loai (FK) |
|--------------|-------------------|------------------|-------------------|
| 1 | Đắc Nhân Tâm | 1 | 1 |
| 2 | Nghĩ Như Một Nhà Vô Địch | 2 | 1 |
| 3 | Tư Duy Nhanh Và Chậm | 3 | 2 |
| 4 | Như Một Con Người | 1 | 3 |
```
- Bảng `Tác giả`:
```
| id_tac_gia (PK) | ten_tac_gia |
|------------------|-----------------|
| 1 | Dale Carnegie |
| 2 | Tim Grover |
| 3 | Daniel Kahneman |
```
- Bảng `Thể loại`:
```
| id_the_loai (PK) | ten_the_loai |
|-------------------|-----------------|
| 1 | Kỹ Năng Sống |
| 2 | Tâm Lý Học |
| 3 | Triết Học |
```
- Bảng `Độc giả`:
```
| id_doc_gia (PK) | ten_doc_gia | email |
|------------------|------------------|-----------------|
| 1 | Nguyễn Văn A | [email protected] |
| 2 | Trần Thị B | [email protected] |
| 3 | Lê Văn C | [email protected] |
```
3. Câu truy vấn:
- Câu truy vấn 1: Tìm tất cả sách cùng với tên tác giả:
```sql
SELECT S.ten_sach, T.ten_tac_gia
FROM Sách S
JOIN Tác giả T ON S.id_tac_gia = T.id_tac_gia;
```
- Câu truy vấn 2: Tìm tất cả sách theo thể loại:
```sql
SELECT S.ten_sach, TL.ten_the_loai
FROM Sách S
JOIN Thể loại TL ON S.id_the_loai = TL.id_the_loai;
```
- Câu truy vấn 3: Tìm tất cả độc giả đã mượn sách và tên sách họ đã mượn:
```sql
SELECT DG.ten_doc_gia, S.ten_sach
FROM Độc giả DG
JOIN Mượn_Sách MS ON DG.id_doc_gia = MS.id_doc_gia
JOIN Sách S ON MS.id_sach = S.id_sach;
```
- Câu truy vấn 4: Thống kê số lượng sách theo thể loại:
```sql
SELECT TL.ten_the_loai, COUNT(S.id_sach) as so_luong_sach
FROM Sách S
JOIN Thể loại TL ON S.id_the_loai = TL.id_the_loai
GROUP BY TL.ten_the_loai;
```
Tiến hành tạo các khóa chính (PK) và khóa ngoại (FK) trong các bảng để đảm bảo tính toàn vẹn dữ liệu. Khóa chính trong từng bảng là các trường id tương ứng, khóa ngoại trong bảng `Sách` là id_tac_gia và id_the_loai liên kết tới bảng `Tác giả` và `Thể loại`. Để thực hiện điều này, bạn có thể sử dụng các câu lệnh SQL như sau:
```sql
ALTER TABLE Sách
ADD CONSTRAINT FK_Tac_Gia FOREIGN KEY (id_tac_gia) REFERENCES Tác giả(id_tac_gia);
ALTER TABLE Sách
ADD CONSTRAINT FK_The_Loai FOREIGN KEY (id_the_loai) REFERENCES Thể loại(id_the_loai);
```
Đối với bảng mượn sách, bạn có thể tạo bảng thêm để quản lý việc mượn sách với khóa chính và khóa ngoại:
- Bảng `Mượn_Sách`:
```
| id_muon_sach (PK) | id_doc_gia (FK) | id_sach (FK) |
|--------------------|------------------|-----------------|
| 1 | 1 | 1 |
| 2 | 2 | 3 |
| 3 | 1 | 2 |
```
Rồi thêm khóa ngoại cho bảng `Mượn_Sách`:
```sql
ALTER TABLE Mượn_Sách
ADD CONSTRAINT FK_Doc_Gia FOREIGN KEY (id_doc_gia) REFERENCES Độc giả(id_doc_gia);
ALTER TABLE Mượn_Sách
ADD CONSTRAINT FK_Sach FOREIGN KEY (id_sach) REFERENCES Sách(id_sach);
```
Việc tạo các bảng và câu truy vấn này giúp bạn truy vấn dữ liệu một cách liên kết, dễ dàng hơn trong việc quản lý thông tin liên quan đến sách, tác giả, thể loại và độc giả.
Đăng phản hồi
© 2025 Học Tốt Online - Chia Sẻ Tài Liệu Học Tập và Giải Bài Tập Miễn Phí
Vietnamese
