Bài tập thực hành ----CSDL----
A.
BÀI TẬP I:
TẠO LẬP VÀ LƯU GIỮ CÁC BẢNG
Mục đích: Làm quen với các câu lệnh
- Tạo bảng Create Table
- Sửa đổi bảng Alter Table
- Xoá bảng Drop Table
A.I. 1. Hãy tạo bảng sau có sự ràng buộc khoá chính, khoá ngoại
HOADON
SOHD KHACHHANG
TONGTIEN
GHICHU
2. Thêm vào một cột NGAYHD cho bảng trên
3. Xoá bảng HOADON trên
Hướng dẫn:
1.
CREATE TABLE HOADON
( SOHD NUMBER NOT NULL CONSTRAINT PK_HOADON PRIMARY KEY,
KHACHHANG CHAR(20),
TONGTIEN NUMBER,
GHICHU CHAR(50));
2. ALTER TABLE HOADON
ADD NGAYHD DATE;
3. DROP TABLE HOADON;
A.II. QUẢN LÝ ĐIỂM
1. Tạo các bảng sau có sự ràng buộc khoá chính, khoá ngoại
SINH VIEN
MASV TEN
NAM
KHOA
MONHOC
MAMH TENMH
TINCHI
KHOA
ĐIEUKIEN
MAMH
MAMH_TRUOC
KHOAHOC
MAKH
MAMH
HOCKY
KETQUA
MASV
MAKH
DIEM
NAM
GV
Mô tả:
-
Mỗi sinh viên có một mã duy nhất để phân biệt với các sinh viên khác.
Mỗi sinh viên bao gồm các thông tin như Tên sinh viên, học năm mấy? thuộc
khoa nào?
Biên soạn - Nguyễn Thị Thanh Tâm
1
Bài tập thực hành ----CSDL----
Mỗi môn học có một mã duy nhất để phân biệt với các môn học khác. Ngoài ra
nó còn có các thông tin như Tên môn học, bao nhiêu tín chỉ? Và môn đó thuộc
khoa nào?
- Trong bảng Điều Kiện bao gồm Mã môn học và Mã Môn Học tiên quyết
- Đối với Khoá học, Mỗi khoá học có một mã duy nhất để phân biệt với các khoá
học khác. Mỗi kháo học thì sẽ học các môn học nào? Học kỳ mấy? Năm học
nào? Và giáo viên nào dạy?
- Để quản lý điểm của sinh viên thì thông qua bảng kết quả.
2. Thêm vào bảng SINHVIEN một cột mới: ĐIACHI varchar(50)
3. Tạo thêm một bảng KHOA(Makhoa, Tenkhoa, SoĐT)
4. Xoá bảng KHOA ra khỏi CSDL
-
A.III. QUẢN LÝ TÀI KHOẢN
1. Tạo các bảng sau
HOADON
TENCTY TONGTIEN SOTK
TK_NGANHANG
SOTK
KIEU_TTOAN
CONGTY
TENCTY DIACHICTY
SOHD
SODU
TPHO
NGANHANG
TIEUBANG
2. Thêm 2 bảng vào CSDL đặt tên NGANHANG và KIEU_TT. Bảng NGANHANG gồm
các thông tin về trường NGANHANG được dùng trong bảng TK_NGANHANG
Bảng KIEU_TT gồm các thông tin về trường KIEU_TTOAN cũng trong bảng
TK_NGANHANG
3. Tạo ràng buộc khoá chính, khoá ngoại cho 5 bảng trên
A.IV. QUẢN LÝ NHÂN VIÊN
1. Tạo vác bảng tương ứng với lược đồ bên dưới. Lưu ý là phải khai báo đầy đủ ràng buộc
Khoá chính(primary key), khoá ngoại (foreign key), not null...
NHANVIEN
HOLOT TENNV MANV NGAYSINH PHAI
LUONG MA_NQL PHONG
PHONGBAN
MAPB TENPHONG
DEAN
MA_DAN
TR_PHONG
TEN_DAN
PHANCONG
MANV
MA_DAN
NGAY_NCHUC
DDIEM_DA
PHONG
TGIAN
Biên soạn - Nguyễn Thị Thanh Tâm
2
Bài tập thực hành ----CSDL----
THANNHAN
MANV
TENTN
PHAI
NGAYSINH
QUANHE
2. Thêm vào bảng NHANVIEN một cột mới: DIACHI varchar(50)
3. Tạo thêm 1 bảng ĐIAĐIEMPHONG(MAPB, ĐIAIEM) có sự ràng buộc khoá với các
bảng trên
Biên soạn - Nguyễn Thị Thanh Tâm
3
Bài tập thực hành ----CSDL----
B.
BÀI TẬP II:
Mục đích:
-
CẬP NHẬT DỮ LIỆU
Cung cấp cho các bạn các kỹ năng về
Cách sử dụng các câu lệnh Insert, Update, Delete để chèn, cập nhật,xoá dữ
liệu
Tầm quan trọng của việc sử dụng mệnh đề Where kho bạn cập nhật dữ liệu
Một số kiến thức về việc xuất và nhập dữ liệu từ nguồn dữ liệu ngoài
B.I. Sử dụng lại bảng HOADON ở bài tập A.I.1. thực hiện các yêu cầu sau
1.
Nhập dữ liệu theo mẫu sau
SOHD
1
2
3
4
5
2.
3.
TENKHACH
Lê Văn Minh
Nguyễn Thành Trung
Trần Thị Hà
Lê Phú
Lê Minh
TONGTIEN
100
500
300
500
200
GHICHU
Tiền mặt
Chuyển khoản
Chuyển khoản
Tiền mặt
Tiền mặt
Xoá bỏ các khách hàng có trường GHICHU là ‘Chuyển khoản’
Sửa lại trường GHICHU là ‘Chuyển khoản’ cho khách hàng có số hoá đơn 1
Hướng dẫn:
1.
INSERT INTO HOADON(SOHD,TENKHACH,TONGTIEN,GHICHU)
VALUES(‘1’,’ Lê Văn Minh’,’100’,’ Tiền mặt’);
INSERT INTO HOADON
VALUES(‘2’,’ Nguyễn Thành Trung’,’500’,’ Chuyển khoản’);
INSERT INTO HOADON
VALUES(‘3’,’ Trần Thị Hà’,’300’,’ Chuyển khoản’);
INSERT INTO HOADON
VALUES(‘4’,’ Lê Phú’,’500’,’Tiền mặt’);
INSERT INTO HOADON
VALUES(‘5’,’ Lê Minh’,’200’,’Tiền mặt’);
2. DELETE HOADON WHERE GHICHU=’Chuyển khoản’;
3. UPDATE HOADON SET GHICHU=’Chuyển khoản’ WHERE SOHD=1
B.II. Sử dụng CSDL QUẢN LÝ ĐIỂM ở bài tập A.II.1 thực hiện các yêu cầu sau
1. Nhập dữ liệu vào cho bảng theo mẫu sau
Table SINHVIEN
TEN MASV NAM
Sơn
15
1
Bảo
8
2
Mai
17
1
Lan
12
5
KHOA
CNTT
CNTT
TOAN
KINHTE
Biên soạn - Nguyễn Thị Thanh Tâm
4
Bài tập thực hành ----CSDL----
Table ĐKIEN
MAMH
COSC3380
COSC3380
COSC3320
COSC3380
COSC3380
COSC3320
MAMH_TRUOC
COSC3320
MATH2410
COSC1310
COSC3320
MATH2410
COSC1310
Table MHOC
Ten_MH
Nhập môn tin học
Cấu trúc dữ liệu
Toán rời rạc
Cơ sở dữ liệu
MAMH
COSC1310
COSC3320
MATH2410
COSC3380
Table KETQUA
MASV
MAKH
15
112
15
119
8
85
8
92
15
135
17
112
17
119
12
102
12
92
Table KHOAHOC
MAKH
MAMH
85
MATH2410
92
COSC1310
102
COSC3320
112
MATH2410
119
COSC1310
135
COSC3380
TINCHI
4
4
3
3
KHOA
CNTT
CNTT
TOAN
CNTT
DIEM
8
6
10
10
4
4
7
8
10
HOCKY
1
1
2
1
1
2
NAM
2004
2004
2005
2005
2005
2005
GV
Kim
An
Niên
Tùng
An
Tâm
2. Sửa giá trị cột NAM của bảng SINHVIEN có tên Sơn thành 2
3.Xoá bỏ các bản ghi của bảng SINHVIEN có NAM>4
4.Bổ sung địa chỉ cho sin viên tên Sơn:”10 Phan Châu Trinh – TP Đà Nẵng”
5.Nếu sinh viên có điểm số dưới trung bình thì xoá dữ liệu trong bảng KETQUA
6.Tăng số tín chỉ lên 1 cho mỗi môn học
Biên soạn - Nguyễn Thị Thanh Tâm
5
Bài tập thực hành ----CSDL----
B.III. 1. Sử dụng CSDL QUẢN LÝ TÀI KHOẢN ở bài tập A.III.1 thêm dữ liệu vào cho các
bảng theo mẫu sau
HOADON
TENCTY
TONGTIEN
SOTK
SOHD
Phone Company
125
1
HD01
Power Company
75
1
HD02
Record Club
25
2
HD03
Software Company
250
1
HD04
Cable TV Company
35
3
HD05
TK_NGANHANG
SOTK
KIEU_TTOAN
1
Checking
2
Money Market
3
Checking
CONGTY
TENCTY
Phone Company
Power Company
Record Club
Software Company
Cable TV Company
SODU
NGANHANG
500 FF
1200 FI
90 CU
DIACHICTY
1st Street
2nd Street
3rd Avenue
4th Drive
5th Drive
TPHO
Atlanta
Jacksonville
Los Angeles
San Francisco
Austin
TIEUBANG
GA
FL
CA
CA
TX
2. Thay đổi SODU của SOTK=’2’ thành 1500
3. Xoá những công ty thuộc tiểu bang ‘CA’
4. Tăng 10% trên tổng số tiền cho tất cả các tờ hoá đơn
B.IV.1. Sử dụng CSDL QUẢN LÝ NHÂN VIÊN Ỉơ bài tập A.IV.1 thêm dữ liệu vào cho bảng
theo mẫu sau
NHANVIEN
HOLOT
TENNV
Đinh Ba
Tiên
Nguyễn Thanh
Tùng
Trần Thanh
Vũ
Lê Thị
Hoa
Nguyễn Mạnh
Cương
Trần Thanh
Hiếu
Lê Hồng
Phúc
Ngô Ngọc
Quyên
MANV
123456789
333445555
999887777
987654321
666884444
453453453
987987987
888665555
Biên soạn - Nguyễn Thị Thanh Tâm
NGAYSINH PHAI LUONG MA_NQL PHONG
09/01/1955
Nam
30000 333445555
5
08/12/1958
Nam
40000 888665555
5
15/11/1931
Nam
25000 987654321
4
02/09/1954
Nữ
43000 888665555
4
31/07/1962
Nam
38000 333445555
5
05/02/1959
Nam
25000 333445555
5
10/10/1935
Nam
25000 987654321
4
18/11/1965
Nữ
55000
1
6
Bài tập thực hành ----CSDL----
PHONGBAN
MAPB TENPHONG
5
Nghiên cứu
4
Điều hành
1
Quản lý
DEAN
MA_DAN
1
2
3
10
20
30
TR_PHONG NGAY_NCHUC
333445555
15/12/1989
987987987
01/01/2001
888665555
15/08/2000
TEN_DAN
Sản phẩn X
Sản phẩm Y
Sản phẩm Z
Tin học hoá
Cáp quang
Đào tạo
DDIEM_DA
VŨNG TÀU
ĐÀ NẴNG
TP HCM
HÀ NỘI
TP HCM
HÀ NỘI
PHANCONG
MANV
MA_DAN
123456789
1
123456789
2
666884444
3
453453453
1
453453453
2
333445555
3
333445555
10
333445555
20
999887777
30
999887777
10
987987987
10
987987987
30
987654321
30
987654321
20
888665555
20
THANNHAN
MANV
TENTN
333445555 Quang
333445555 Vinh
333445555 Dung
987654321 Duy
123456789 Dương
123456789 Châu
123456789 Phượng
PHONG
5
5
5
4
1
4
TGIAN
32.5
7.5
40.0
20.0
10.0
10.0
10.0
10.0
30.0
10.0
35.0
5.0
20.0
15.0
NULL
PHAI
Nam
Nam
Nữ
Nam
Nam
Nữ
Nữ
Biên soạn - Nguyễn Thị Thanh Tâm
NGAYSINH
05/04/1979
25/10/1973
03/05/1948
29/02/1932
01/01/1978
21/12/1978
05/05/1957
7
QUANHE
Con trai
Con trai
Vợ chồng
Vợ chồng
Con trai
Con gái
Vợ chồng
Bài tập thực hành ----CSDL----
ĐIAIEMPHONG
MAPB
1
4
5
5
5
ĐIAIEM
TP HCM
HÀ NỘI
TP HCM
ĐÀ NẴNG
VŨNG TÀU
2. Tăng mức lương thêm 10% cho những nhân viên có thân nhân
3. Tăng mức lương thêm 20% cho những nhân viên là trưởng phòng và đồng thời có thân
nhân
5. Tăng mức lương thêm 30% cho những nhân viên là trưởng phòng và có tuổi trên 50
6. Xoá những nhân viên ra khỏi danh sách nếu là phái nam và tuổi >=60
7. Xoá những nhân viên ra khỏi danh sách nếu là phái nữ và tuổi >=55
8. Hãy cập nhật lại địa điểm làm đề án và địa điểm phòng là cùng một nơi
9. Hãy loại bỏ những đề án có thời gian làm việc trên 30 giờ
10. Hãy cập nhật lại những đề án có thời giam làm việc chưa xác định thành có thời gian mặc
định là 5 giờ
B.V.1. Tạo bảng COLLECTION gồm có dữ liệu mẫu sau
COLLECTION
ITEM
NBA CARDS
MALIBU BARBIE
STAR WARS GLASS
LOCK OF SPOUSES HAIR
WORTH
300
150
5.5
1
REMARKS
SOME STILL IN BIKE SPOKES
TAN NEEDS WORD
HANDLE CHIPPED
HASN’T NOTICED BALD SPOT
2. Tạo một bảng mới có tên INVENTORY (ITEM, COST, REMARKS) và đưa dữ liệu từ
bảng COLLECTION vào bảng mới đó
3. Thay đổi lại giá trị WORTH=800 cho ITEM=’NBA CARDS’
4. Xoá tất cả các bản ghi trong bảng COLLECTION có WORTH nhỏ hơn 300
Biên soạn - Nguyễn Thị Thanh Tâm
8
Bài tập thực hành ----CSDL----
C.
BÀI TẬP III:
CÂU LỆNH SELECT ĐƠN GIẢN
Mục đích: Làm quen với một số câu lệnh truy vấn đơn giản của SQL
- Cách viết một truy vấn SQL
- Lựa chọn và hiển thị tất cả các hàng và cột trong bảng
- Lựa chọn và hiển thị chỉ các cột chỉ định trong bảng
- Lựa chọn và hiển thị các cột từ nhiều bảng
- Hiển thị dữ liệu có sự sắp xếp
C.I. Sử dụng dữ liệu của bảng HOADON trong bài tập A.I.1. thực hiện các yêu cầu sau
1. Cho hiển thị tất cả các trường của bảng HOADON
2. Cho biết khách hàng và tổng tiền của khách có trong HOADON
3. Hãy xem số tiền khác nhau có trong cột tổng tiền
Hướng dẫn:
1.
2.
3.
SELECT * FROM HOADON;
SELECT KHACHHANG,TONGTIEN FROM HOADON;
SELECT DISTINCT TONGTIEN FROM HOADON;
C.II. Sử dụng CSDL QUANLYDIEM trong bài tập A.II. thực hiện các yêu cầu sau:
1.
2.
3.
4.
In ra tên sinh viên
In ra tên các môn học và số tín chỉ
Cho biết thông tin của các sinh viên có tên bắt đầu bằng chữ ‘H’
In ra kết quả học tập của sinh viên được sắp xếp giảm dần theo MASV
C.III. Sử dụng CSDL QUẢN LÝ NHÂN VIÊN trong bài tập A.IV. thực hiện các yêu cầu sau:
1. Cho biết Họ tên và địa chỉ của các nhân viên sống ở TP Hồ Chí Minh sắp xếp tăng dần theo
Ten, Holot
2. Cho biết Họ tên và mức lương các nhân viên trên 40 tuổi, sắp xếp tăng dần theo lương
3. Cho biết nhân viên nào có thân nhân tên ‘Minh’
4. Cho biết Trưởng phòng Tổ chức và ngày nhận chức của người đó
Biên soạn - Nguyễn Thị Thanh Tâm
9
Bài tập thực hành ----CSDL----
D.
BÀI TẬP IV: CÂU TRUY VẤN CÓ ĐIỀU KIỆN
VÀ CÁCH DÙNG BIỂU THỨC, TOÁN TỬ
Mục đích: Thực hiện bài tập này sinh viên sẽ được:
- Biết thế nào là một biểu thức và cách sử dụng
- Biết thế nào là một mệnh đề điều kiện và cách sử dụng
- Làm quen với việc sử dụng mệnh đề WHERE
- Có thể sử dụng phép toán số học, phép so sánh, ký tự, phép logic và tập hợp các
toán tử
D.I. Sử dụng dữ liệu bảng HOADON, thực hiện các yêu cầu sau:
Cho biết tổng tiền của tờ HOADON do ông khách ‘A’ trả là bao nhiêu
Cho biết có bao nhiêu khách tên ‘B’
Hiển thị những HOADON và KHACHHANG có tổng tiền >500
Hiển thị KHACHHANG có tên bắt đầu bằng chữ ‘N’
Hiển thị HOADON không có tiền
Hiển thị những KHACHHANG có tên bắt đầu bằng chữ ‘B’ và có số tiền trong
HOADON <=1000
7. Hiển thị những KHACHHANG có tên không bắt đầu bằng chữ ‘B’ hoặc có số tiền trong
HOADON <=1000
1.
2.
3.
4.
5.
6.
D.II. Sử dụng bảng với dữ liệu sau đây:
Friends
Lastname
Firstname
Areacode
BUNDY
AL
100
MEZA
AL
200
MERRICK
UD
300
MAST
JD
381
BULHER
FRRRIS
345
PERKING
ALTON
911
BOSS
SIR
204
MERRICK
BUD
300
Phone
555-1111
555-2222
555-6666
555-3333
555-5555
555-9999
555-7777
555-8888
St
IL
UK
CO
LA
IL
CA
CT
CO
Zip
22333
80212
23332
95633
25643
12345
65432
1. Hãy cho biết thông tin của tất cả những người trong CSDL có tên bắt đầu bằng chữ ‘M’
2. Hãy cho biết thông tin của tất cả những người trong CSDL có họ là ’AL’ và sống ở ‘IL’
3. Cho biết những người không có Zip
D.III. Sử dụng CSDL QUẢN LÝ ĐIỂM thực hiện các yêu cầu sau:
1. Cho biết kết quả học tập của sinh viên có mã số 10
2. Cho biết các mã số môn học phải học ngay trước môn có mã số COSC3320
3. Cho biết các mã số môn học phải học ngay sau môn có mã số COSC3320
Biên soạn - Nguyễn Thị Thanh Tâm
10
Bài tập thực hành ----CSDL----
4. Cho biết tên các sinh viên thuộc về khoa phụ trách môn ‘Cơ sở dữ liệu’
5. Cho biết Tên sinh viên và các môn học mà sinh viên đó tham gia với kết quả cuối khoá
trên 7 điểm
6. Cho biết tên các môn học phải học ngay trước môn ‘Cấu trúc dữ liệu’
7. Cho biết Tên các môn học mà giáo viên Tâm tham gia giảng dạy và Tên sinh viên theo
học môn đó. Sắp xếp kết quả tăng dần theo thứ tự : Tên môn học, Tên sinh viên
D.IV. Sử dụng CSDL QUẢN LÝ NHÂN VIÊN thực hiện các yêu cầu sau
1. Liệt kê danh sách những nhân viên (Holot, TenNV) có cùng tên (TenNV) với người thân
2. Với mọi đề án ở ‘Đà Nẵng’, liệt kê các mã số đề án (MADA), mã số phòng ban chủ trì đề
án (PHONG), Họ tên trưởng phòng(TenNV, Holot)
3. Cho biết Tên những nhân viên phòng số 3 có tham gia đề án ‘Sản phẩm Y’ với số giờ làm
việc trên 10 giờ/tuần.
4. Cho biết danh sách những nhân viên (Holot, TenNV) không có thân nhân nào
5. Cho biết những trưởng phòng có tối thiểu một thân nhân
6. Cho biết danh sách những nhân viên (Holot, TenNV, Dchi) không làm việc cho bất kỳ đề
án nào
7. Cho biết danh sách những nhân viên ( Holot, TenNV, Ngaysinh, Dchi) có trên 2 thân
nhân
8. Tìm tên và địa chỉ của tất cả các nhân viên phòng ‘Điều hành’
9. Cho biết danh sách những nhân viên được ‘Nguyễn Thanh Tùng’ phụ trách trực tiếp
10. Với mỗi đề án , liệt kê Tên đề án (TEN_DA) và tổng số giờ làm việc mọtt tuần của tất cả
các nhân viên tham gia đề án đó
11. Với mỗi phòng ban, liệt kê tên phòng ban và lương trung bình của những nhân viên làm
việc cho phòng ban đó
12. Với các phòng ban có múc lương trung bình trên 30000. liệt kê tên phòng ban và số lượng
nhân viên của phòng ban đó
Biên soạn - Nguyễn Thị Thanh Tâm
11
Bài tập thực hành ----CSDL----
E.
BÀI TẬP V: MỆNH ĐỀ TRONG SQL
Mục đích: Chủ đề của bài này là các mệnh đề trong câu lệnh SQL. Bạn có thể sử dụng các
mệnh đề sau:
- Where
- Starting With
- Order by
- Group by
- Having
E.I. Sử dụng bảng HOADON ở bài tập A.I.1. thực hiện các yêu cầu sau:
1.
2.
3.
4.
5.
6.
7.
8.
Tìm tất cả các HOADON bạn viết với giá trị lớn hơn 100USD
Cho biết những khách hàng có tên bắt đầu bằng chữ ‘C’ trong các HOADON
Hãy sắp xếp danh sách các khách hàng theo thứ tự giảm dần
Cho biết tổng của tất cả số tiền có trong bảng HOADON
Cho biết mỗi khách hàng đã tiêu hết bao nhiêu tiền
Cho biết mỗi khách hàng đã trả bao nhiêu tiền với bao nhiêu hoá đơn
Cho biết những khách hàng nào có mức tiền trung bình phải trả <100USD
Hãy tìm tất cả các HOADON về cô ‘Hà’ và những khách hàng họ ‘Lê’ trong bảng
HOADON và sắp xếp chúng theo SOHD
Hướng dẫn:
1. SELECT * FROM HOADON WHERE TONGTIEN>100;
2. SELECT * FROM HOADON WHERE KHACHHANG LIKE(‘C%’);
HOẶC SELECT * FROM HOADON WHERE KHACHHANG STARTING WITH (‘C’);
3. SELECT * FROM HOADON ORDER BY KHACHHANG DESC;
4. SELECT SUM(TONGTIEN) FROM HOADON;
5. SELECT KHACHHANG,SUM(TONGTIEN)
FROM HOADON
GROUP BY KHACHHANG;
6. SELECT KHACHHANG,SUM(TONGTIEN),COUNT(KHACHHANG)
FROM HOADON
GROUP BY KHACHANG;
7. SELECT KHACHHANG,AVG(TONGTIEN)
FROM HOADON
GROUP BY KHACHANG
HAVING AVG(TONGTIEN)<100;
8. SELECT KHACHHANG,SOHD
FROM HOADON
WHERE KHACHHANG LIKE’%Hà’ OR KHACHHANG LIKE ‘Lê%’
ORDER BY SOHD;
E.II. Sử dụng CSDL QUANLYDIEM ở bài tập A.II.1. Sinh viên tự đặt ra câu hỏi để truy
vấn
Biên soạn - Nguyễn Thị Thanh Tâm
12
Bài tập thực hành ----CSDL----
F. BÀI TẬP VI: KẾT HỢP CÁC BẢNG & TRUY VẤN LỒNG NHAU
Mục đích: Giúp cho sinh viên biết về các kiểu kết hợp. Cho phép bạn tập hợp và thao tác với dữ
liệu ở nhiều bảng. Sinh viên sẽ thực hành trên một số việc sau đây:
- Xây dựng một truy vấn lồng nhau
- Dùng các từ khoá Exists, Any và All trong truy vấn lồng nhau
- Xây dựng và dùng được các truy vấn lông nhau tương quan
F.I. Mô tả bài toán: Giả sử bạn là người bán hàng cho một cửa hiệu xe đạp. Khi bạn thiết kế
CSDL thì sẽ có các bảng dữ liệu liên quan sau:
KHACHHANG
TEN
Nguyễn Văn Nam
Trần Thị Thanh
Phan Văn Sơn
DCHI
12 Nguyễn Văn Linh
K12 Nguyễn Thị Minh Khai
21 Phan Thanh
HANGHOA
MAHANG
MOTA
01
Xe đạp Nhật
02
Xe đạp Trung Quốc
03
Xe đạp Việt Nam
HOADON
SOHD
TENKH
HD01 Nguyễn Văn Nam
HD03 Nguyễn Văn Nam
HD02 Trần Thị Thanh
HD05 Nguyễn Văn Nam
HD04 Phan Văn Sơn
HD06 Trần Thị Thanh
HD07 Nguyễn Văn Nam
1.
2.
3.
4.
5.
6.
TPHO
Đà Nẵng
TP HCM
Đà Nẵng
SDT
645895
568794
568796
DONGIA
100
90
80
MAHANG
01
02
03
01
03
01
03
NGAYHD
15/12/2005
17/12/2005
20/12/2005
16/12/2005
15/12/2005
15/12/2005
15/12/2005
SOLUONG
2
1
5
2
2
3
2
Cho biết thông tin của những xe đạp đã được đặt hàng
Cho biết những khách hàng nào đặt ‘Xe đạp Nhật’
Hãy tính xem bạn đã thu được bao nhiêu tiền từ việc bán ‘Xe đạp Trung Quốc’
Cho biết thông tin của các khách hàng với tổng tiền của mỗi Hoá đơn
Cho biết thông tin của các hàng hoá được ghi trong hoá đơn có mã hàng =01
Kết hợp thông tin của hai bảng hàng hoá và hoá đơn. Đưa ra giá trị Null ở các trường mà
mã hàng của bảng Hoá đơn <>03
F.II. Sử dụng các bảng dữ liệu KHACHHANG, HOADON, HANGHOA của bài tập F.I, thực
hiện các yêu cầu sau:
Biên soạn - Nguyễn Thị Thanh Tâm
13
Bài tập thực hành ----CSDL----
1. Cho biết những thông tin trên bảng HOADON của các mặt hàng là ‘Xe đạp’
2. Tìm số tiền trung bình phải trả của một Hoá đơn
3. Tìm các Hoá đơn có giá trị lớn hơn mức trung bình
4. Hãy in ra những Khách hàng đã tiêu nhiều hơn số tiền trung bình
5. Hiển thị những hoá đơn mua ‘Xe đạp Việt Nam’
6. Tìm tổng hoá đơn trung bình cho một loại xe và sau đó dùng giá trị trung bình này để lọc tổng
số hoá đơn được nhóm theo Mã hàng
7. Hiển thị NgayHD và tên các khách hàng cư ngụ tại Đà Nẵng
8. Cho biết Tên khách hàng và NgayHD của tất cả Khách hàng trừ ông ‘Phan Văn Sơn’
Biên soạn - Nguyễn Thị Thanh Tâm
14
Bài tập thực hành ----CSDL----
G BÀI TẬP VII CÀI ĐẶT RÀNG BUỘC TOÀN VẸN TRÊN CSDL
Mục đích: Giúp cho sinh viên biết về cách cài đặt một số ràng buộc toàn vẹn trên CSDL
Sử dụng CSDL Quản Lý Nhân Viên, thực hiện một số câu truy vấn sau:
1. Tạo ràng buộc trên table NHANVIEN để những nhân viên vào làm việc phải có
tuổi trên 18
2. Tạo ràng buộc trên Table PHONGBAN để ngày nhận chức trưởng phòng của nhân
viên không nhỏ hơn ngày sinh của người ấy
3. Tạo ràng buộc trên table DEAN trên cột DDIEM_DA chỉ thuộc các khu vực trong
phạm vi cho trước
4. Tạo ràng buộc trên table THANNHAN để nếu một thân nhân là con của nhân viên
thì có ngày sinh nhỏ hơn ngày sinh của nhân viên, đồng thời nếu là con trai thì
phái nam, còn con gái thì phái nữ
Biên soạn - Nguyễn Thị Thanh Tâm
15
Bài tập thực hành ----CSDL----
BÀI TẬP TỔNG HỢP
Mô tả: Để quản lý thời khoá biểu của các lớp học tại trường đại học ta tiến hành tạo các bảng
sau:
1. BỘMÔN(MABM, TENBM, TENKHOA)
Tân từ: Mỗi bộ môn có một mã số duy nhất để phân biệt với bộ môn khác, có tên bộ môn và
thuộc 1 khoa
2. MÔNHỌC(MAMH, TENMH, MABM)
Tân từ: Mỗi môn học có một mã duy nhất để phân biệt với môn học khác, có tên môn học và
thuộc một bộ môn
3. LỚP(MALOP, TENLOP, TENKHOA)
Tân từ: Một lớp có một mã duy nhất để phân biệt lớp khác, có một tên lớp và thuộc vào một
khoa
4. PHÒNGHỌC(MAPHONG, TENKHOA)
Tân từ: Một phòng học có một mã duy nhất để phân biệt từng phòng học, Một phòng học
thuộc một khoa quản lý
5. TKBIỂU(NGAY, TIETBĐ, MAPHONG, TIETKT, MALOP, MAMH)
Tân từ: Một lớp học một môn tại một phòng vào một ngày và có tiết bắt đầu và tiết kết thúc
Yêu cầu:
1. Tạo các bảng trên gồm có các ràng buộc Khoá chính, Khoá ngoại và kết nối các bảng
2. Chèn dữ liệu vào cho các bảng trên ( Tự đưa dữ liệu mẫu cho hợp lý)
3. Cho biết Tên các lớp có ngày học 10 tiết
4. Cho biết thời khoá biểu của lớp ‘ Tin học K11 chính qui’ học môn ‘Toán Cao Cấp’
5. Thống kê số môn học trong từng Khoa: TENKHOA, SỐ MÔN HỌC
6. Cho biết Khoa nào có nhiều phòng học nhất
7. Cho biết Tên các lớp học có tổng số tiết nhiều nhất
8. Cho biết Tên lớp và Mã phòng học mà các lớp này học nhưng các phòng này không thuộc
Khoa của lớp đó quản lý
Biên soạn - Nguyễn Thị Thanh Tâm
16