I. BÀI TẬP
CHƯƠNG 2. MÔ HÌNH DỮ LIỆU QUAN HỆ 1. Cho các quan hệ R, S và P có dạng sau:
R A B C S D E F P A B D
a1 b1 c1 d1 e1 f1 a1 b1 d1
a2 b2 c2 d2 e2 f2 a2 b2 d2
a3 b3 c3 d3 e3 f3 a1 b3 d3
a2 b1 d2
a2 b2 d1
a3 b3 d3
a2 b3 d3
Hãy tính giá trị của các biểu thức đại số quan hệ sau:
a) (AB)(P)
b) R*(AB)(P)
c) F(R*(AB)(P)) với F có dạng D=’d1’
d) R * S * P
e) CE(C=’c2’ ^ F=’f2’(R x S))
2. Cho các quan hệ R, S và P có dạng sau:
R A B C S D E P A B D H
a1 b1 c1 d1 e1 a1 b1 d1 h1
a2 b2 c2 d2 e2 a2 b2 d1 h2
a3 b3 c3 d3 e3 a2 b2 d2 h3
a2 b2 d3 h4
Hãy tính kết quả của các biểu thức đại số quan hệ sau:
a) S x P
b) S.D=P.D (S x P)
c) R*(S.D=P.D (S x P))
1
d) R*S*P
3. Cho quan hệ R, S và P có dạng sau:
R A B C S D E P B D
a1 b1 c1 1 b1 1 e1
a2 b2 c2 2 e2 b2 2
3 e3 b2 2
Hãy tính kết quả của các phép toán đại số quan hệ sau:
a) S*P
b) R*S*P
c) D=2 (S* P)
d) R * (D=2 (S* P))
S
4. Cho các quan hệ R, S và Q có dạng sau:
B
C
R A
B
Q D
C
D
E
F
b2
c1
a2
c1
d1
b2
e1
f1
d1
b2
c1
a1
c1
d2
b2
e1
f2
d2
b3
c2
a2
c2
d3
b1
e2
f3
d2
Hãy tính kết quả của các phép toán đại số quan hệ sau:
a. A=a2(R*S) b. ABC(R*S*Q) c. BC(R) BC(S) d. BC(R) BC(S) e. R x S f. R * B = b1(S) g. B(B=b2(R*S)) h. D=d1(BCD(S*Q))
+ Quan hệ LOPHOC
5. Cho các quan hệ LOPHOC, SINHVIEN, DIEMTHI và MONHOC lần lượt như sau:
MALOP
TENLOP
L01
ĐHCQK2C
L02
ĐHCQK2C
L03
ĐHCQK2B
L04
ĐHCQK2B
2
+ Quan hệ SINHVIEN
MASV
HOTEN
GIOITINH
DIACHI
MALOP
CQK21001
Lê Hồng Vân
1
Thái Nguyên
L01
CQK21002
Nguyễn Văn Hà
1
Bắc giang
L01
CQK21003
Hoàng Thị Gấm
0
Hà Nội
L02
CQK21004
Lê Thị Thao
0
Thái Nguyên
L02
+ Quan hệ MONHOC
SOTINCHI
MAMH TENMH
M01
Pascal
3
M02
Ngôn ngữ C
3
M03
Cơ sở dữ liệu
2
+ Quan hệ DIEMTHI
MASV
MAMH KYHOC DIEMLAN1 DIEMLAN2
CQK21001 M01
1
4
7
CQK21001 M02
3
8
CQK21001 M03
3
4
6
CQK21003 M01
1
8
CQK21004 M02
3
2
6
Hãy viết các biểu thức đại số quan hệ để thực hiện các yêu cầu sau:
a. Cho biết mã sinh viên, họ tên, giới tính của các sinh viên có địa chỉ tại Thái
Nguyên?
b. Cho biết mã sinh viên, họ tên, địa chỉ của các sinh viên có giới tính bằng 1?
c. Cho biết mã và tên của các môn học có số tín chỉ bằng3?
d. Cho biết mã của các môn học có số tín chỉ<=2?
e. Cho biết mã sinh viên, họ tên, điểm thi lần 1 của các sinh viên đã học môn
học có mã là ‘M01’ trong học kỳ 1?
f. Cho biết mã sinh viên, họ tên, điểm thi lần 1 của các sinh viên đã học môn
học có tên môn là ‘cơ sở dữ liệu’?
g. Cho biết mã của các sinh viên đã tích luỹ được tất cả các môn học có ?
3
h. Cho biết mã của các môn học chưa có sinh viên nào đăng ký học?
i. Cho biết mã, họ tên, mã lớp của các sinh viên phải thi lại môn học có mã
môn là ‘M01’?
j. Cho biết mã, họ tên, mã lớp của các sinh viên phải học lại môn học có tên
môn là ‘Ngôn ngữ C’?
k. Cho biết mã, họ tên, mã lớp của các sinh viên phải thi lại môn học có tên
môn là ‘Pascal’?
l. Cho biết mã sinh viên, mã môn học, điểm thi lần 1 của các sinh viên học
trong học kỳ 3?
6. Cho lược đồ cơ sở dữ liệu Thưviện:
SACH(Mãsách, Tênsách, TênNXB)
SACH_TACGIA(Masach, TênTG)
NHAXUATBAN(TênNXB, Địachỉ, Điệnthoại)
SACH_BANSAO(Mãsách, Mãnhánh, Sốlượngbảnsao)
NHANH_THUVIEN(Mãnhanh, Tênnhánh, Địachỉ)
SACH_MUON(Mãsách, Mãnhánh, Sốthẻ, Ngàymượn, Ngàytrả)
NGUOIMUON(Sốthẻ, Tên, Địachỉ, Điệnthoại)
Hãy viết các biểu thức quan hệ cho các truy vấn sau đây trên CSDL Thưviện:
a) Có bao nhiêu bản sao của cuốn sách “The Lost Tribe” có trong nhánh thư viện có tên là “Shapstown”.
b) Có bao nhiêu bản sao của cuốn sách “The Lost Tribe” có trong mỗi nhánh thư viện.
c) Đưa ra tên của tất cả người muợn chưa mượn cuốn sách nào.
d) Với mỗi cuốn sách được mượn ra từ nhánh thư viện “Shapstown” có ngày trả là ngày hôm nay, hãy đưa ra Tên sách, Tên người mượn và địa chỉ người mượn.
e) Với mỗi thư viện nhánh, hãy đưa ra tên nhánh thư viện và tổng số sách được mượn ra từ nhánh này.
f) Đưa ra tên, địa chỉ và số các sách do người này mượn với những người mượn nhiều hơn 5 cuốn sách.
g) Với mỗi cuốn sách có tác giả (hoặc đồng tác giả) là “Stephen King”, hãy đưa ra tên sách và số lượng các bản sao có tại nhánh thư viện có tên là “Central”.
7. Cho cơ sở dữ liệu CÔNGTY gồm các lược đồ:
NHÂNVIÊN(MãNV, HọTên, NSinh, GTính, ĐC, Lương, MãsốNGS, Mã sốĐV)
ĐƠNVỊ(MãsốĐV, TênĐV, MãsốNQL, Ngàybắtđầu)
DỰÁN(MãsốDA, TênDA, ĐịađiểmDA, MãsốĐV)
4
PHỤTHUỘC(MãNV, TênPT, Ngày sinh, Giớitính, Quanhệ)
NHÂNVIÊN_DỰÁN(MãNV, MãsốDA, Sốgiờ)
ĐƠNVỊ_ĐỊAĐIỂM(MãsốĐV, Địađiểm)
Hãy viết các biểu thức quan hệ thực hiện các truy vấn sau:
a) Đưa ra tên và địa chỉ của tất cả các nhân viên làm việc cho đơn vị nghiên cứu.
b) Với mỗi dự án có địa điểm tại Hà nội, hãy liệt kê mã số dự án, mã số của đơn
vị kiểm soát, Tên, địa chỉ và ngày sinh của người quản lý đơn vị
c) Tìm tên của các nhân viên làm việc trên tất cả các dự án do đơn vị có mã số 5
kiểm soát.
d) Tạo ra một danh sách các mã số dự án đối với các dự án có một nhân viên
hoặc một người quản lý đơn vị kiểm soát dự án có tên là ‘Nam’.
e) Đưa ra tên của tất cả các nhân viên có nhiều hơn hoặc bằng 2 người phụ thuộc.
f) Đưa ra các nhân viên không có người phụ thuộc.
g) Đưa ra tên của những người quản lý có ít nhất là một người phụ thuộc.
CHƯƠNG 3. LÝ THUYẾT THIẾT KẾ CƠ SỞ DỮ LIỆU
1. Cho r(U,F) với U = {ABDEGIH}và F =ABE, AGI, BEI, EG, GIH. Chứng minh: ABGH.
2. Cho r(U,F) với U={ABCDEGH); F =ABC, CD, CDE, CEGH, GA. Chứng minh : ABE; ABG
3. Cho r(U,F) với U={ABCDEGH}; F={A→D, AB →DE, CE→G, E→H}.
Hãy tính (AB)+
4. Cho r(U,F) với U={ABCDEG); F={A→D, AB →E, BG→E, CD→G,E→C}.
Hãy tính (AB)+
5. Cho r(U,F); U={ABCDEH}; F={BC→E, D→A, C→A, AE→D, BE→CH}. Tìm một khoá tối thiểu cho r(U)? 6. Cho r(U,F), với U={DBIOQS}; F={S→D, I→B, IS→Q, B→O}. Hãy chuẩn hoá r(U,F) về dạng chuẩn 3NF?
7. Cho sơ đồ quan hệ r(U,F); U=(ABCDEGH); F={ABC→D, AB→E, BC→DC, C→DE, CE→H, DC→G, CH→G, AD→H}. Hãy chuẩn hoá r(U,F) về dạng chuẩn 3NF?
5
6. Cho r(U,F). U= {C#, I,D,B,K,E,L}; F= { C# IBKE, D B, K E}. Hãy chuấn hoá r(U,F) về dạng chuẩn 3NF?
7. Cho r(U,F), U={ABCD}; F={D→B,C→A,B→ACD}. Hãy xác định dạng chuẩn cao nhất của r(U)? Giải thích?
8. Kiểm tra tính kết nối không mất mát thông tin của phép tách r(ABCDE) thành các lược đồ quan hệ sau: r1=AD; r2=AB; r3=BE; r4=CDE; r5 = AE. Với tập phụ thuộc hàm: F={AC, B C; A B; DE C; CE A}?
9. Cho r(U,F); U={ABCDEG}; F ={AB C; C B; ABD E; G A}.Chuẩn hoá
r thành dạng BCNF? (Khóa: BDG, CDG)
10. Kiểm tra tính không mất mát thông tin của phép tách r(ABCDEG) thành:
(r) = (BC,AC,ADBE,ADBF). Với tập phụ thuộc hàm F={AB C; C B; ABD
E; G A}
11. Cho r(U,F) với U=(ABCDE), F={ABC; ADB; BD}.
a) Tìm giao của các khoá? (AE)
b) Tìm tất cả các khoá cho r(U,F)? (ABE, AED)
12. Cho r(U,F) U=(ABCDEGH), F={ B AC, DH AE, AC BE, E H, AD,
GE}.
a) Tìm một khoá cho r(U,F). b) Chứng minh rằng: CGEHF+ c) Các tập thuộc tính CGH và ABCG có phải là khoá của r hay không?
13. Cho r(U,F) U = {A, B, C, D, E, G}
F= {AB →C,D →EG, BE→C,BC →D,CG →BD,ACD→B,CE→ AG}.
a). Tìm tất cả các khoá của r(U,F)
b). Tìm giao của khoá
c). Tìm phủ tối thiểu của F
d). Chuẩn hoá r(U,F) về dạng chuẩn 3NF
14. Cho r(U,F), U={EHIPQGMN}, F ={EH→N, P→MI, M→PQN, P→GM, N→ Q }.
Tìm dạng chuẩn cao nhất của lược đồ con r1 của r, với tập thuộc tính U1={E,H,N,Q,M}?
15. Cho r(U,F) U = {ABCDEFG}, F = {ABC DE, BCD G, ABFEG, CEFG}. Tìm một khoá của r(U)?
16. Hãy kiểm tra các quy tắc suy diễn đối với các phụ thuộc hàm sau đây là đúng hay sai:
a) {W →Y, X →Z} |= {WX →Y}
b) {X →Y} và Y ⊇Z |= {X →Z}
c) {X →Y , X →W, WY →Z} |= {X →Z}
6
d) {XY →Z, Y →W} |= {XW →Z}
e) {X →Z, Y →Z} |= {X →Y}
f) {X →Y, Z →W} |= {XZ →YW}
g) {XY →Z , Z →X} |= {Z →Y}
h) {X →Y, Y →Z} |= {X →YZ}
i) {XY →Z, Z →W} |= {X →W}
17. Cho r(U,F) với U=(A,B,C,D,E,F,G,H,I,J), F = {AB → C, A → DE, B → F, F → GH, D→ IJ}
a) Khóa của quan hệ là gì? Hãy tách quan hệ thành 2NF, sau đó thành 3NF.
b) Làm lại câu a) với tập phụ thuộc hàm sau:
F = { AB → C, BD → EF, AD→ GH, A → I , H → J }
18. Xét quan hệ r(A,B,C,D,E), F = {AB →C, CD →E, DE → B}. AB có phải là khóa của quan hệ không? Vì sao? Hãy tìm một khóa của nó.
19. Cho quan hệ sau:
Những phụ thuộc hàm nào sau đây là đúng: A → B , B → C, C → B, B → A, C → A. Nếu có những phụ thuộc hàm sai, hãy giải thích vì sao?
20. Cho r(U,F) với U = {J, K, L, M, N, P, Q}, F={J→KLMNP, JKL→MNP, K→MQ, KL→MNP, KM→NP, N→KP}
a) Hãy tìm khóa của lược đồ quan hệ trên. b) Lược đồ trên ở dạng chuẩn 3NF chưa? Vì sao? c) Dùng phép tách không mất thông tin để có các lược đồ ở chuẩn BCNF. 21. Giả sử có một ngành mà tỷ lệ thu thuế theo doanh thu của ngành đó phụ thuộc vào đơn vị hành chính thành phố. Mỗi một công ty của ngành có một số tài khoản K, đăng ký kinh doanh chỉ ở một thành phố và chịu tý lệ thuế của thành phố đó. Mặt khác doanh thu của mỗi công ty được quản lý chi tiết đến doanh thu của từng loại sản phẩm của công ty đó. Nếu kí hiệu C, P, T, S và D lần lượt là các thuộc tính mã công ty,
7
thành phố, tỷ lệ thuế, mã sản phẩm và doanh thu thì ta có các phụ thuộc hàm sau : C→KP, P→T, CS→D
a) Tìm khoá của lược đồ quan hệ nêu trên. b) Tìm một phép tách kết nối không mất thông tin cho R để thay R bởi các lược
đồ ở dạng chuẩn BCNF (Boyce-Codd).
c) Tìm một phép tách R thành những lược đồ ở dạng chuẩn 3, phép tách này
vừa là tách kết nối không mất thông tin vừa bảo toàn các phụ thuộc đã cho.
22. Một CSDL cho một công ty đầu tư gồm các thuộc tính sau: B (người buôn cổ phiếu), O (văn phòng của người buôn cổ phiếu), I (người đầu tư), S (loại cổ phiếu), Q
(số lượng của loại cổ phiếu mà người đầu tư có) và D (giá trị lãi của loại cổ phiếu đó).
Như vậy có các phụ thuộc hàm sau: S→D, I→B, IS→Q, B→O
a) Tìm khoá của lược đồ quan hệ R(BOSQID). b) Tìm một phép tách kết nối không mất thông tin cho R để thay R bởi các lược
đồ ở dạng chuẩn BCNF (Boyce-Codd).
c) Tìm một phép tách R thành những lược đồ ở dạng chuẩn 3, phép tách này
vừa là tách kết nối không mất thông tin vừa bảo toàn các phụ thuộc đã cho.
CHƯƠNG 4. NGÔN NGỮ ĐỊNH NGHĨA VÀ THAO TÁC DỮ LIỆU
Bài 1. Cho CSDL gồm 2 quan hệ
CC(MSNCC,TEN_CC,DCCC) và MH(MSNCC,MSMH)
Trong đó: MSNCC: Mã số người cung cấp.
TEN_CC: Tên người cung cấp
DCCC: Địa chỉ cung cấp
MSMH: Mã số mặt hàng
Hãy cho mỗi quan hệ 5 bộ dữ liệu
Hãy biểu diễn các yêu cầu sau đây bằng ngôn ngữ SQL.
a. Tìm mã số người đã cung cấp
Q1: ít nhất một mặt hàng
Q2: không cung cấp mặt hàng nào Q3: cung cấp mặt hàng có MSMH là 15
Q4: cung cấp ít nhất một mặt hàng nhưng không có mặt hàng có mã số là 15 b. Mặt hàng có mã số là 12, 13, 15 dược cung cấp bởi các nhà cung cấp địa chỉ nào? c. Lập danh sách gồm các cột MSNCC, TEN_CC,MSMH) từ cơ sở dữ liệu trên Bài 2. Cho CSDL gồm các quan hệ sau:
DAIHOC(TENTRUONG,HIEUTRUONG,DIACHI) KHOA(TENTRUONG,MSKHOA,TENKHOA,SOSINHVIEN) SINHVIEN(TENTRUONG,MSKHOA,MSSV,TENSV,DIACHISV)
8
trong đó:
SOSINHVIEN: số lượnglà sinh viên MSKHOA: mã số khoa
TENSV: tên sinh viên
DIACHISV: địa chỉ của sinh viên (hiểu là quê quán)
Hãy cho mỗi quan hệ 5 bộ dữ liệu
Biểu diễn các câu hỏi sau đây bằng ngôn ngữ SQL a/ Trường Đại học nào có khoa TINHOC
b/ Tổng số sinh viên học ở tất cả các trường đại học.
c/ Sinh viên nào học tại quê nhà (giả sử lấy tên tỉnh, thành phố)
d/ Khoa nào của trường có số sinh viên cao nhất? e/ Cho biết tên hiệu trưởng của các trường có khoa TINHOC
Bài 3. Cho CSDL với các quan hệ:
NHANVIEN(MSNV,TENNHANVIEN,MSCOQUAN,CONGVIEC,
THUTRUONG,LUONG)
COQUAN(MSCOQUAN,TENCOQUAN,DIACHI)
Hãy cho mỗi quan hệ 5 bộ dữ liệu
Biểu diễn bằng ngôn ngữ SQL, và đại số quan hệ yêu cầu sau đây:
Q1: Tìm tên những nhân viên ở cơ quan có mã số là 50
Q2: Tìm mã số tất cả các cơ quan từ quan hệ NHANVIEN Q3: Tìm tên các nhân viên cơ quan có mã số là 15, 20, 25
Q4: Tìm tên những người làm việc ở Đồ Sơn
Bài 4. Cho cơ sở dữ liệu quản lý dự án gồm các bảng dữ liệu sau:
+ Bảng NHANVIEN chứa danh sách các nhân viên gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaNV Mã nhân viên
Hoten Họ tên nhân viên
Ngaysinh Ngày sinh
GT Giới tính
+ Bảng DU_AN chứa thông tin về các dự án gồm có các thuộc tính sau:
Tên Thuộc tính Giải thích
MaDA Mã dự án
TenDA Tên dự án
9
NganSach Ngân sách
+ Bảng THAMGIA ghi danh sách sinh viên đăng ký tham gia dự án
Tên Thuộc tính Giải thích
MaDA Mã dự án
MaNV Mã nhân viên
TGBD Thời gian bắt đầu
TGKT Thời gian kết thúc
Biểu diễn bằng ngôn ngữ SQL, và đại số quan hệ các yêu cầu sau đây:
a/ Đưa ra danh sách các nhân viên ?
b/ Đưa ra danh sách các nhân viên có giới tính bằng 1 ?
c/ Đưa ra danh sách các dự án có ngân sách lớn nhất ?
d/ Cho biết mỗi nhân viên đã tham gia tổng số bao nhiêu dự án ? e/ Cho biết mỗi dự án có tổng số bao nhiêu nhân viên tham gia ?
f/ Cho biết mã và tên của các dự án có số tổng số nhân viên tham gia >=10
người ?
g/ Cho biết mã và tên của các nhân viên đã tham gia dự án có tên dự án là ‘Dự
án nước sạch nông thôn’ ?
h/ Đưa ra mã và tên các dự án mà nhân viên có mã là NV01 đã tham gia ?
i/ Đưa ra danh sách các nhân viên chưa tham gia bất kỳ dự án nào ?
k/ Cho biết thông tin về các nhân viên đã tham gia ít nhất một dự án ?
m/ Đưa ra danh sách các dự án có sự sắp xếp giảm dần theo ngân sách ?
Bài 5. Cho cơ sở dữ liệu gồm các bảng dữ liệu sau:
+ Bảng NSX (nước sản xuất)
Tên Thuộc tính Giải thích
MaNSX Mã nhà sản xuất
TenNSX Tên nhà sản xuất
+ Bảng SANPHAM (sản phẩm)
Tên Thuộc tính Giải thích
MaSP Mã sản phẩm
TenSP Tên sản phẩm
DVT Đơn vị tính
NgaySX Ngày sản xuất
SoLuong Số lượng
ChungLoai Chủng loại
10
MaNSX Mã nhà sản xuất
Biểu diễn bằng ngôn ngữ SQL, và đại số quan hệ các yêu cầu sau đây:
a) Cho biết mã và tên của nhà sản xuất đã sản xuất sản phẩm có tên là ‘Máy lọc
nước’?
b) Cho biết mã, tên, số lượng, ngày sản xuất của các sản phẩm do nhà sản xuất có
mã là ‘N01’ đã sản xuất? c) Hãy tổng hợp thông tin về từng loại sản phẩm của mỗi nhà sản xuất (gồm các
thuộc tính sau: MaSP, TenSP, DVT, TongSoLuong)?
d) Cho biết mỗi nhà sản xuất đã sản xuất tổng số bao nhiêu loại sản phẩm?
e) Cho biết danh sách các sản phẩm do nhà sản xuất có tên là ‘Panasonic’ đã sản xuất?
Bài 6. Cho cơ sở dữ liệu quản lý điểm gồm các bảng sau: + Bảng LopHoc gồm các thuộc tính
Tên Thuộc tính Giải thích
MaLop Mã lớp
TenLop Tên lớp
+Bảng SinhVien gồm các thuộc tính
Tên Thuộc tính Giải thích
MaSV Mã sinh viên
HoTen Họ tên sinh viên
NS Ngày sinh
GT Giới tính
DC Địa chỉ
MaLop Mã lớp
+ Bảng MonHoc gồm các thuộc tính
Tên Thuộc tính Giải thích
MaMon Mã môn
TenMon Tên môn
TC Số tín chỉ
+Bảng Diem gồm các thuộc tính
Tên Thuộc tính Giải thích
MaSV Mã sinh viên
MaMon Mã môn
Ky Kỳ thi
DiemLan1 Điểm thi lần thi
11
DiemLan2 Điểm thi lần 2
Hãy biểu diễn các yêu cầu sau đây bằng ngôn ngữ SQL:
a) Cho biết danh sách các sinh viên có giới tính bằng 1 ?
b) Cho biết danh sách các sinh viên có địa chỉ ở Thái Nguyên?
c) Cho biết mã và tên và điểm thi lần 1 của các sinh viên đã học môn học có mã
là MH01?
d) Cho biết mã và tên và điểm thi lần 1 của các sinh viên đã học môn học có tên môn là Cơ sở dữ liệu?
e) Cho biết danh sách các sinh viên phải thi lại môn học có tên môn là Cơ sở
dữ liệu?
f) Cho biết sinh viên có mã là SV01 phải thi lại những môn học nào? g) Cho biết điểm cao thi cao nhất của môn học Hệ quản trị cơ sở dữ liệu là bao
nhiêu?
h) Cho biết những sinh viên đạt điểm thi cao nhất của môn Cơ sở dữ liệu?
Bài 7. Cho cơ sở dữ liệu quản lý bán hàng gồm các bảng dữ liệu sau:
+ Bảng DMKhach để lưu các danh mục các khách hàng gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaKhach Mã khách hàng
TenKhach Tên khách hàng
DiaChi Địa khách hàng
DienThoai Điện thoại
+ Bảng DMHang để lưu danh mục hàng hoá gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaHang Mã hàng
TenHang Tên hàng
DVT Đơn vị tính
SoLuong Số lượng
+ Bảng HoaDonBan để lưu danh sách các đơn hàng gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
SoHD Số hoá đơn bán
MaKhach Mã khách hàng
NgayHD Ngày hoá đơn
12
DienGiai Diễn giải
+ Bảng ChiTietHoaDon để lưu chi tiết các hoá đơn bán hàng gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
SoHD Số hoá đơn bán
MaHang Mã hàng
SoLuong Số lượng bán
DonGia Đơn giá
Yêu cầu
1/ Hãy tạo cấu trúc cơ sở dữ liệu trên; 2/ Mỗi bảng yêu cầu nhập 5 bản ghi; 3/ Thực hiện các câu lệnh truy vấn sau:
a. Đưa ra danh sách các khách hàng có địa chỉ ở Thái Nguyên b. Đưa ra danh sách các khách hàng không có số điện thoại liên lạc. c. Đưa ra danh sách các khách hàng có số điện thoại liên lạc. d. Đưa ra danh sách các mặt hàng có số lượng nhỏ nhất. e. Đưa ra danh sách các khách hàng đã mua hàng tại cửa hàng. f. Đưa ra danh sách các khách hàng đã mua hàng trong ngày '2/11/2011'. g. Hãy tổng hợp thông tin về từng loại mặt hàng đã được bán, danh sách tổng hợp gồm các thuộc tính (Mã hàng, tên hàng, tổng số lượng đã bán).
h. Cho biết mã và tên của các khách hàng đã mua mặt hàng có tên hàng là Máy In. i. Đưa ra danh sách các mặt hàng có trong hóa đơn có số hóa đơn là 'HD01'. j. Cho biết mỗi khách hàng đã đến cửa hàng mua hàng bao nhiêu lần. k. Đưa ra danh sách các mặt hàng chưa được bất kỳ khách hàng nào mua.
Bài 8. Cho cơ sở dữ liệu quản lý nhà cho thuê bao gồm các bảng dữ liệu sau:
+ Bảng KHACH để lưu danh sách các khách hàng gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaK Mã khách hàng
TenK Tên khách hàng
ĐiaChi Địa chỉ khách
SoDT Số điện thoại
+ Bảng NHA để lưu trữ thông tin về các ngôi nhà cho thuê, gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaN Mã nhà
TenChuNha Tên chủ nhà
GiaThue Giá thuê
13
DiaChiNha Địa chỉ nhà
+Bảng HOPDONG để lưu trữ thông tin về các hợp đồng thuê nhà của khách, gồm các
thuộc tính sau:
Giải thích
Tên Thuộc tính SoHĐ MaN MaK NgayBĐ NgayKT Số hợp đồng Mã nhà Mã khách Ngày bắt đầu hợp đồng Ngày kết thúc hợp đồng
Yêu cầu:
1/ Hãy tạo cấu trúc cơ sở dữ liệu trên;
2/ Mỗi bảng yêu cầu nhập 5 bản ghi;
3/ Thực hiện các câu lệnh truy vấn sau:
Thực hiện các câu lệnh truy vấn sau:
a. Đưa ra mã và tên của các khách hàng.
b. Đưa ra danh sách các khách hàng có địa chỉ ở Thái Nguyên.
c. Đưa ra danh sách các ngôi nhà có giá thuê bằng 2 triệu đồng.
d. Đưa ra danh sách các ngôi nhà có giá thuê thấp nhất.
e. Đưa ra danh sách các khách hàng có giá thuê cao nhất.
f. Đưa ra danh sách các khách hàng đã thuê nhà vào ngày 20/10/2011.
g. Đưa ra danh sách các khách hàng kết thúc hợp đồng thuê nhà vào ngày 2/1/2011.
h. Đưa ra danh sách các khách hàng đã thuê nhà ít nhất một lần.
i. Hãy cho biết mỗi ngôi nhà đã cho khách hàng thuê bao nhiêu lần.
Bài 9. Cho cơ sở dữ liệu quản lý sinh viên bao gồm các bảng dữ liệu sau:
+ Bảng LOP để lưu thông tin về các lớp học gồm có các thuộc tính sau:
Tên Thuộc tính Giải thích
MaLop Mã lớp học
TenLop Tên lớp học
+ Bảng TINH để lưu trữ thông tin về các tỉnh thành phố, gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaTinh Mã tỉnh, thành phố
14
TenTinh Tên tỉnh, thành phố
+Bảng SINHVIEN để lưu trữ thông tin về các sinh viên, gồm các thuộc tính sau:
Giải thích
Tên Thuộc tính MaSV HoTen NgaySinh GioiTinh MaLop MaTinh DTB Mã sinh viên Họ tên sinh viên Ngày sinh Giới tính Mã lớp Mã tỉnh Điểm trung bình
Yêu cầu:
1/ Hãy tạo cấu trúc cơ sở dữ liệu trên;
2/ Mỗi bảng yêu cầu nhập 5 bản ghi;
3/ Thực hiện các câu lệnh truy vấn sau:
a. Đưa ra thông tin về những sinh viên có điểm trung bình dưới 5
b. Đưa ra thông tin về sinh viên có địa chỉ ở Thái Nguyên
c. Đưa ra thông tin về các lớp học không có sinh viên nào ở Hà Nội.
d. Cho biết mỗi lớp có tổng số bao nhiêu sinh viên có điểm trung bình nhỏ hơn 5.
e. Cho biết mỗi tỉnh có tổng số bao nhiêu sinh viên.
f. Cho biết mã và tên của các sinh viên ở tỉnh có tên tỉnh là ‘Thái nguyên’
Bài 10: Cho cơ sở dữ liệu quản lý Thực tập gồm 3 bảng dữ liệu sau:
+ Bảng SINHVIEN chứa danh sách sinh viên bao gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
Masv Mã số sinh viên
HotenSV Họ tên sinh viên
NS Ngày sinh
Diachi Địa chỉ
+ Bảng DETAI chứa danh sách các đề tài thực tập gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaDT Mã số đề tài
TenDT Tên đề tài
GVHD Họ và tên giáo viên hướng dẫn đề tài
+ Bảng SV_DETAI chứa thông tin về tình hình thực tập của sinh viên theo các đề tài,
15
gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
Mã số đề tài MaDT
Mã số sinh viên MaSV
NTT Nơi sinh viên đến thực tập
KQ Kết quả thực tập của sv theo đề tài đã chọn
Yêu cầu:
1/ Hãy tạo cấu trúc cơ sở dữ liệu trên; 2/ Mỗi bảng yêu cầu nhập 5 bản ghi; 3/ Thực hiện các câu lệnh truy vấn sau: a. Đưa ra danh sách các sinh viên tham gia thực tập tại quê. b. Đưa ra mã và tên củ các sinh viên có kết quả thực tập cao nhất. c. Hãy tổng hợp thông tin về mỗi giáo viên đã và đang hướng dẫn bao nhiêu sinh viên thực tập.
d. Đưa ra danh sách các sinh viên do giáo viên ‘Trần Anh Dũng’ hướng dẫn thực tập. e. Đưa ra danh sách các sinh viên thực tập tại ‘Công ty phần mềm CIO – Thái nguyên’.
f. Đưa ra danh sách các đề tài chưa từng có sinh viên nào tham gia đăng ký thực tập. g. Đưa ra danh sách các sinh viên đã thực hiện đề tài có tên đề tài là ‘Xây dựng CTQL Bán hàng’.
h. Đưa ra danh sách các sinh viên đã thực hiện đề tài có tên là ‘Xây dựng thư viện điện tử’ do giáo viên ‘Nguyễn Văn Hưng’ hướng dẫn.
Bài 11: Cho cơ sở dữ liệu quản lý thư viện gồm các bảng dữ liệu sau:
+Bảng SACH chứa danh mục sách gồm các thông tin thuộc tính sau:
Tên Thuộc tính Giải thích
MaSach Mã sách
TenSach Tên sách
NXB Tên nhà xuất bản
NamXB Năm xuất bản
TenTG Tên tác giả
SL Số lượng sách
16
+Bảng DOCGIA chứa danh sách độc giả gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaDG Mã độc giả
TenDG Tên độc giả
DiaChiDG Địa chỉ độc giả
+Bảng MUON_TRA chứa thông tin về sự mượn và trả sách của độc giả gồm các
thuộc tính:
Tên Thuộc tính Giải thích
MaDG Mã độc giả
MaSach Mã sách
NgayMuon Ngày mượn
SL Số lượng mượn
NgayHenTra Ngày hẹn trả
NgayTra Ngày trả
Yêu cầu:
1/ Hãy tạo cấu trúc cơ sở dữ liệu trên;
2/ Mỗi bảng yêu cầu nhập 5 bản ghi;
3/ Thực hiện các câu lệnh truy vấn sau:
a. Đưa ra danh sách các độc giả đã hết hạn trả sách nhưng chưa trả.
b. Đưa ra danh mục sách chưa từng được độc giả nào mượn.
c. Hãy tổng hợp thông tin về từng loại sách hiện tại có độc giả đang mượn ( danh
sách gồm các thuộc tính sau: MaSach, TenSach, TenTG, SoLuong).
d. Đưa ra danh sách các độc giả đã mượn sách vào ngày 03/06/2012.
e. Đưa ra danh sách các độc giả ngày hôm nay là hạn cuối cùng phải trả sách cho thư
viện.
f. Đưa ra màn hình danh sách các độc giả đã hiện tại vẫn đang mượn sách của thư
viện.
17
g. Đưa ra sách dách các cuốn sách của tác giả của tác giả Lê Tiến Vương.
TÀI LIỆU THAM KHẢO
[1] Tập bài giảng cơ sở dữ liệu, Bộ môn Hệ thống thông tin.
[2] Lê Tiến Vương, Nhập môn cơ sở dữ liệu quan hệ, NXB Thống kê
[3] Vũ Đức Thi, Cơ sở dữ liệu - Kiến thức và thực hành, Nhà xuất bản thống kê, 1997.
[4] Nguyễn Bá Tường, Cơ sở dữ liệu – Lý thuyết và thực hành, Nhà xuất bản Khoa học và Kỹ thuật, 1997.
18
[5] Tô Văn Nam, Giáo trình cơ sở dữ liệu, Nhà xuất bản giáo dục.
II. THẢO LUẬN
a) Tên bài tập thảo luận theo nhóm
1) Hạch toán kết quả kinh doanh
2) Quản lý khách sạn
3) Quản lý thư viện
4) Quản lý học tập của sinh viên đại học 5) Hệ thống thông tin giới thiệu việc làm
6) Quản lý nhân sự
Các bài tập tham khảo thêm:
Quản lý tính thuế
HT cung ứng vật tư của một nhà máy
Hệ thống quản lý sách, báo, tạp chí và phục vụ bạn đọc tại thư viện TP
Quản lý dịch vụ nhà cho thuê
Quản lý danh bạ điện thoại
Quản lý lỗi vi phạm giao thông
Quản lý bán hàng siêu thị
Quản lý xe ở bến xe khách TN
Quản lý hồ sơ sinh viên
Quản lý thu tiền điện thoại
b) Hướng dẫn sinh viên nghiên cứu:
Sinh viên cần thực hiện những việc sau:
- Xác định các quan hệ
- Tìm khoá cho từng quan hệ
- Xác định các phụ thuộc hàm cho từng quan hệ - Tìm phủ tối thiểu
- Chuẩn hoá quan hệ đã tìm được về các dạng chuẩn 1NF, 2NF, 3NF
- Kiểm tra phép tách - Cơ sở dữ liệu được xây dựng ở trên phải trả lời một số câu truy vấn.
c) Gợi ý mô tả nội dung cơ bản khảo sát của từng bài thảo luận:
1) Hạch toán kết quả kinh doanh
Hãng Livel làm đại lý chuyên bán mô tô xe đạp. Hãng có khách hàng thường xuyên là các cửa hàng bán lẻ. Hàng hoá của hãng do nhiều nhà cung cấp khác nhau
19
cung cấp. Mỗi lần bán, người bán lập hoá đơn có dạng: Số hoá đơn: XX Mã Cửa hàng: Ngày: Tên cửa hàng:
Diễn giải: Chi tiết hàng bán
Mã hàng Tên hàng Đơn vị tính Số lượng Đơn giá Thành tiền
Mỗi lần mua được ghi nhận bằng hoá đơn có dạng:
Số hoá đơn: XX Ngày mua:
Tên Nhà cung cấp:
Mã Nhà cung cấp: Diễn giải:
Chi tiết hàng bán:
Mã hàng Tên hàng Đơn vị tính Số lượng Đơn giá Thành tiền
Khách thanh toán tiền với bộ phận Kế toán Quĩ và việc trả tiền được ghi nhận
bằng chứng từ quỹ (thu, chi) có dạng sau:
Số chứng từ: XX Ngày:
Mã Khách: Tên khách: Địa chỉ:
Diễn giải: Thu/Chi:
Các chi phí trong tháng như trả lương, vận chuyển, tiền điện, nước.. được ghi
nhận bằng các hoá đơn chi phí do kế toán quĩ lập. Hoá đơn, chứng từ được chuyển
sang bộ phận Kế toán tổng hợp và Kế toán chi tiết. Lỗ lãi được tính thông qua lãi trên
số hàng bán ra trong tháng trừ các chi phí trong tháng.
Hãng cần tự động hoá việc hạch toán lỗ lãi hàng tháng.
2) Quản lý khách sạn (sử dụng dịch vụ khách sạn)
Các hoạt động chủ yếu của Khách sạn Nhật Tân là cung cấp dịch vụ cho khách trọ. Bộ phận lễ tân (Reception) hàng ngày tiếp nhận khách, và cung cấp các dịch vụ như thuê phòng, ăn uống, điện thoại, xe cộ, du lịch, giặt là... Mỗi dịch vụ cho khách do
20
một bộ phận chịu trách nhiệm: Tổ giặt là, Tổng đài, Tổ xe, Tổ phòng, Tổ bếp... Hàng ngày các dịch vụ từng khách sử dụng được thông báo về bộ phận lễ tân bằng các phiếu sử dụng dịch vụ có dạng sau:
Số phiếu dịch vụ: XX Mã Khách: Ngày: Tên khách:
Tổ phục vụ: Số phòng:
Chi tiết dịch vụ sử dụng:
Mã dịch vụ Tên dịch vụ Số lượng ĐVT Đơn giá Thành tiền
Các khách hàng thuê phòng thời gian dài phải đặt cọc hoặc tạm ứng. Việc thanh
toán tạm ứng được ghi nhận bằng chứng từ:
Số chứng từ: XX Ngày:
Mã Khách: Tên khách:
Số tiền: Số phòng:
Diễn giải:
Khi có khách đi khỏi khách sạn bộ phận lễ tân lập hoá đơn tổng hợp các dịch vụ
khách đã sử dụng trừ các khoản đã thanh toán đặt cọc trước có dạng:
Số hoá đơn thanh toán: Ngày:
Mã Khách: Tên khách:
Số tiền đã tạm ứng: Số phòng:
Số còn phải trả:
Chi tiết dịch vụ sử dụng:
Mã dịch vụ Tên dịch vụ Số lượng Ngày Đơn giá Thành
tiền
Các khách hàng thuê phòng thời gian dài phải đặt cọc hoặc tạm ứng. Việc thanh
toán tạm ứng được ghi nhận bằng chứng từ:
Ngày: Tên khách: Số phòng:
Số chứng từ: Mã Khách: Số tiền: Diễn giải:
Khách hàng thanh toán tại Quầy (bộ phận Lễ Tân). Cuối ngày toàn bộ số tiền kèm
21
hoá đơn thanh toán được chuyển sang bộ phận Kế toán tổng hợp, và kế toán quỹ.
Khách sạn rất cần quản lý sử dụng dịch vụ và tự động hoá việc lập hoá đơn thanh
toán cho khách hàng.
3) Quản lý thư viện
Để quản lý sách cho thư viện, mỗi khi nhập sách được ghi nhận lại bằng phiếu
nhập, mỗi quấn sách được được đánh mã riêng và có đầy đủ thông tin về sách như mẫu sau: PHIẾU QUẢN LÝ SÁCH
PHIẾU NHẬP SÁCH
Số phiếu:
Ngày nhập:
Diễn giải:
Chi tiết nhập:
Mã sách
Tên sách
Số lượng
Đơn giá
Thành tiền
Tổng tiền:
Mã sách: ..................................................Tên sách: ................................... Năm xuất bản: ..........................................Vị trí:...................................... Mã ngôn ngữ: ..........................................Tên ngôn ngữ: ............................ Mã nhà xuất bản: ....................................Tên nhà xuất bản: ....................... Mã thể loại: .............................................Tên thể loại: ............................... Mã tác giả: ..............................................Tên tác giả: ................................. Mỗi lần nhập sách ghi nhận bằng phiếu nhập sách, có các thông tin chính sau:
- Để quản lý việc mượn sách của độc giả, thư viện có một danh mục các loại sách. Mỗi
độc giả có một thẻ độc giả, khi mượn sách độc giả tìm kiếm theo yêu cầu và mỗi lần
mượn được ghi nhận bằng một phiếu mượn. Thông tin trên phiếu mượn sách như sau:
PHIẾU MƯỢN SÁCH
Ngày trả:
Ngày hẹn trả: Tên độc giả: Chứng minh thư:
Số phiếu: Ngày mượn: Mã thẻ độc giả: Địa chỉ độc giả: Chi tiết mượn Tên sách
Mã sách
Tên tác giả
Tên NXB Số lượng
Đơn giá
......
22
4) Quản lý điểm
Quản lý học tập của sinh viên ở một trường Cao đẳng được tiến hành như sau:
a) Mỗi sinh viên vào trường phải khai báo các thông tin sau: Họ tên, ngày sinh,
nơi sinh, giới tính, địa chỉ, mã ngành, tên ngành. Phòng Quản lý sinh viên sẽ gán cho
mỗi sinh viên một mã riêng biệt.
Trong trường có nhiều ngành, mỗi ngành học theo những môn khác nhau. Mỗi môn học được phân biệt bởi mã môn, tên môn, số học phần.
b) Sau khi dạy xong một môn giáo viên trả điểm cho phòng đào tạo bao gồm: mã
môn, tên môn, mã sinh viên, tên sinh viên, điểm.Sinh viên nào có điểm dưới 5 coi như
môn đó phải thi lại.
c) Cuối năm phòng đào tạo sẽ công bố phiếu điểm của học sinh gồm các dữ liệu
sau: Mã sinh viên, họ tên, ngày sinh, mã ngành, tên ngành. Phần chi tiết của phiếu
điểm là kết quả học tập của sinh viên đó theo từng môn học bao gồm: mã môn học,
tên môn, số học phần, điểm. Phần tổng kết là tổng số môn học, học phần mà sinh viên
đó đạt và không đạt.
5) Hệ thống thông tin giới thiệu việc làm
Để giúp đỡ bố trí công việc làm ăn cho thanh niên, Bộ lao động đã thành lập trung
tâm giới thiệu việc làm và có nhu cầu quản lý thông tin giới thiệu việc làm bằng máy tính.
Hàng ngày các công ty, đơn vị có nhu cầu tuyển dụng gửi yêu cầu tới trung tâm có dạng:
Phiếu yêu cầu lao động:
Ngày: Tên Công ty:
Lĩnh vực hoạt động: Địa chỉ:
Chi tiết yêu cầu lao động:
Tuổi Số lượng Trình độ Chuyên môn Ngoại ngữ Giới tính Thể hình Công việc Mức lương
Mỗi khi có yêu cầu việc làm, cá nhân được đăng ký vào danh mục yêu cầu việc
làm dưới dạng:
Thể hình:
Công việc
Mức lương
Phiếu yêu cầu việc làm: Ngày: Họ tên: Giới tính: Chuyên môn: Trình độ: Địa chỉ: Tuổi: Số hiệu hồ sơ cá nhân:
23
Chi tiết nguyên vọng:
6) Quản lý nhân sự (chấm công và lương)
Cho thông tin về các nhân viên gồm Mã nhân viên, tên nhân viên, ngày sinh,
giới tính, chức vụ , hệ số chức vụ, phòng ban, bảng lương tháng của các nhân viên, ....
Hàng tháng có các báo cáo:
BẢNG CHẤM CÔNG
Tháng:
MãNV Họ tên Mã số chức Ngày Nghỉ có Ngày làm Nghỉ
công phép vụ thêm
không phép
BẢNG LƯƠNG NHÂN VIÊN
Tháng:
MãNV Họ tên Lương cơ bản Phụ cấp chức Tổng lương
24
vụ
TÀI LIỆU THAM KHẢO
[1] Tập bài giảng cơ sở dữ liệu, Bộ môn Hệ thống thông tin.
[2] Lê Tiến Vương, Nhập môn cơ sở dữ liệu quan hệ, NXB Thống kê
[3] Vũ Đức Thi, Cơ sở dữ liệu - Kiến thức và thực hành, Nhà xuất bản thống kê, 1997.
[4] Nguyễn Bá Tường, Cơ sở dữ liệu – Lý thuyết và thực hành, Nhà xuất bản Khoa học và Kỹ thuật, 1997.
25
[5] Tô Văn Nam, Giáo trình cơ sở dữ liệu, Nhà xuất bản giáo dục.

