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 =ABE, AGI, BEI, EG, GIH. Chứng minh: ABGH.

2. Cho r(U,F) với U={ABCDEGH); F =ABC, CD, CDE, CEGH, GA. Chứng minh : ABE; ABG

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={AC, 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={ABC; ADB; BD}.

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, AD,

GE}.

a) Tìm một khoá cho r(U,F). b) Chứng minh rằng: CGEHF+ 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, ABFEG, CEFG}. 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.