ĐẠI HỌC THỦY LỢI
BỘ MÔN HỆ THỐNG THÔNG TIN
BÀI TẬP LỚN
Đề tài:
THIẾT KẾ CƠ SỞ DỮ LIỆU QUẢN LÝ TỔ CHỨC
GIẢI ĐẤU BĨNG ĐÁ
Sinh viên thực hiện:
Ngơ Thị Hồng Nhung
Nguyễn Khánh Linh
Lời nói đầu
1
ĐẠI HỌC THỦY LỢI
BỘ MÔN HỆ THỐNG THÔNG TIN
Hiện nay máy tính được áp dụng trong rất nhiều các lĩnh vực đời sống.
Trong số đó có cơng tác tổ chức quản lý các giải thi đấu.
Khi tổ chức các giải đấu, một nhu cầu đặt ra là giúp tổ chức và quản lý một
cách nhanh chóng và tiện lợi. Do quy mơ của các giải đấu ngày càng lớn thì số
lượng giải cũng tăng rất nhanh qua các năm nên việc tổ chức và quản lý là không
hề dễ dàng và đơn giản. Do đó, việc ra đời của các phần mềm để trợ giúp là cần
thiết.
Vì vậy, nhóm chúng em chọn đề tài ‘Thiết kế cơ sở dữ liệu quản lý tổ chức
giải đấu bóng đá’. Nhằm mục đích giúp công việc tổ chức và quản lý trở nên dễ
dàng và hiệu quả hơn.
2
ĐẠI HỌC THỦY LỢI
BỘ MÔN HỆ THỐNG THÔNG TIN
Mục lục
3
ĐẠI HỌC THỦY LỢI
BỘ MÔN HỆ THỐNG THÔNG TIN
Bảng phân công công việc
STT
Tên công việc
Người thực hiện
1
Xác định quy tắc/ràng buộc, xây dựng mơ
hình thực thể liên kết ER
Nhung, Linh
2
Chuyển từ mơ hình thực thể liên kết sang mơ
hình quan hệ
3
Xác định khoá
4
Chuẩn hoá lược đồ quan hệ thành dạng chuẩn
3NF hoặc BCNF
5
Nhung
Nhung, Linh
Câu lệnh truy vấn dữ liệu SQL
4
Nhung
Nhung, Linh
ĐẠI HỌC THỦY LỢI
BỘ MÔN HỆ THỐNG THÔNG TIN
I. XÁC ĐỊNH QUY TẮC/RÀNG BUỘC, XÂY DỰNG MƠ HÌNH
THỰC THỂ LIÊN KẾT ER
1. Các quy tắc/ràng buộc:
1. Giải đấu có nhiều vịng đấu khác nhau. Mỗi vịng có tên vịng đấu để xác
định vịng đấu đó
2. Mỗi vịng đấu có nhiều trận đấu. Mỗi trận đấu có mã trận đấu để xác định
trận đấu đó
3. Mỗi trận đấu lại có các đội bóng. Mỗi đội bóng có một mã đội duy nhất để
xác định đội đó và trong đội bóng sẽ có: tên đội, huấn luyện viên, các thành viên
tham gia và có một đội trưởng.
4. Mỗi đội bóng thì có các thành viên.: Mỗi thành viên trong đội có một mã
thành viên duy nhất để xác định thành viên đó và có các thơng tin: tên TV, ngày
sinh, quốc tịch, số áo, vị trí chơi
5. Mỗi sân bóng có mã sân bóng để xác định sân bóng đó và các thơng tin:
tên sân bóng, thành phố, sức chứa, điều kiện vật chất
6. Thể thức thi đấu: các đội thi đấu vịng trịn tính điểm hoặc loại trực tiếp.
Đội nhiều điểm nhất hoặc đội thắng trong trận chung kết là đội vơ địch. Khi các
trận đấu diễn ra sẽ có: ngày, giờ, trọng tài, trọng tài biên 1, trọng tài biên 2, giám
sát trọng tài, bàn thắng 1, bàn thắng 2, thẻ vàng 1, thẻ vàng 2, thẻ đỏ 1, thẻ đỏ 2.
7. Cách thức tính điểm: thắng 3, hịa 1 và thua 0
8. Cách thức xếp hạng:
Điểm số các đội (theo thứ tự từ cao đến thấp)
Nếu có 2 hoặc nhiều đội bằng điểm nhau thì xếp theo thứ tự sau:
Hiệu số bàn thắng bàn thua
Tổng số bàn thắng, bàn thua
Số trận, thẻ vàng, thẻ đỏ
9. Sau khi cập nhật kết quả cho mỗi đội sẽ có bảng xếp hạng cho vịng đấu
đó dựa theo số điểm của mỗi đội.
10. Ban tổ chức thông báo các cặp đấu cho vòng kế tiếp bao gồm tên 2 đội,
thời gian diễn ra và tên sân bóng.
5
ĐẠI HỌC THỦY LỢI
BỘ MÔN HỆ THỐNG THÔNG TIN
2. Xác định thực thể và thuộc tính của thực thể
a. ĐỘI BĨNG:
STT
1
2
3
4
5
Tên chính xác của thuộc tính
Đội bóng
Tên đội bóng
Huấn luyện viên
Đội trưởng
Số thành viên
b. THÀNH VIÊN
Tên ngắn gọn của thuộc tính
Mã đội
Tên đội
HLV
Đội trưởng
Số TV
STT
1
2
3
4
5
6
Tên chính xác của thuộc tính
Thành viên
Họ và tên
Ngày sinh
Quốc tịch
Số áo
Chức danh
c. SÂN BÓNG:
Tên ngắn gọn của thuộc tính
Mã TV
Họ tên TV
Ngày sinh
Quốc tịch
Số áo
Vị trí chơi
STT
Tên chính xác của thuộc tính
Mã sân bóng
Tên sân bóng
Thành phố
Sức chứa
Điều kiện vật chất
d. VỊNG ĐẤU:
Tên ngắn gọn của thuộc tính
Mã SB
Tên SB
TP
Số ghế
ĐKVC
STT
1
Tên chính xác của thuộc tính
Tên vịng đấu
e. TRẬN ĐẤU:
Tên ngắn gọn của thuộc tính
Vịng đấu
STT
1
Tên chính xác của thuộc tính
Mã trận đấu
Tên ngắn gọn của thuộc tính
Mã TĐ
6
ĐẠI HỌC THỦY LỢI
BỘ MÔN HỆ THỐNG THÔNG TIN
QLBD (Ma_doi, Ten_doi, HLV, Doi_truong, So_TV, Ma_TV, Hoten_TV,
1
2
3
4
5
6
7
Ngaysinh_TV, Quoctich, Soao, Vitrichoi, Ma_SB, Ten_SB, TP, Soghe, DKVC,
8
9
10
11
12
13
14
Vongdau, Ma_TD)
17
18
PTH F = {1(2,3,4,5), 6(7,8,9,10,11), 12(13,14,15,16),
(17,18)(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16)}
3. Mơ hình thực thể liên kết ER
7
15
16
ĐẠI HỌC THỦY LỢI
BỘ MÔN HỆ THỐNG THÔNG TIN
II. CHUYỂN TỪ MƠ HÌNH THỰC THỂ LIÊN KẾT SANG MƠ
HÌNH QUAN HỆ
a. Thực thể ĐỘI BÓNG:
DOI_BONG (Ma_doi, Ten_doi, HLV, Đoitruong, So_TV)
b. Thực thể THÀNH VIÊN:
THANH_VIEN (Ma_TV, Ma_ doi, Ten_TV, Ngaysinh, Quoctich, Soao, Vitrichoi)
c. Thực thể SÂN BÓNG:
SAN_BONG (Ma_SB, Ten_ SB, TP, Soghe, ĐKVC)
f. Thực thể VÒNG ĐẤU:
VONG_DAU (Vongdau)
g. Thực thể TRẬN ĐẤU:
TRAN_DAU (Ma_TD, Vongdau)
a. Mối quan hệ <THI ĐẤU>:
THI_DAU (Ma_doi1, Ma_doi2, Ma_TD, Ma_SB, Ngay, Gio, Trongtai, TTBien1,
TTBien2, BThang1, BThang2, TVang1, TVang2, TDo1, TDo2, ĐS1, ĐS2)
b. Mối quan hệ <BẢNG XẾP HẠNG>:
BANG_XEP_HANG (Vongdau, STT, Ma_doi, Sotranchoi, BThang, BThua, HS,
TVang, TDo, TDiem, Ghichu)
c.Mối quan hệ <THAM GIA>:
THAM_GIA (Ma_TD, Ma_TV, Vaitro)
8
ĐẠI HỌC THỦY LỢI
BỘ MÔN HỆ THỐNG THÔNG TIN
9
ĐẠI HỌC THỦY LỢI
BỘ MÔN HỆ THỐNG THÔNG TIN
III. XÁC ĐỊNH KHÓA
QLBD (Ma_doi, Ten_doi, HLV, Doi_truong, So_TV, Ma_TV,
1
2
3
4
5
6
Ten_TV,
7
Ngaysinh_TV, Quoctich, Soao, Vitrichoi, Ma_SB, Ten_SB, TP,
8
9
10
11
12
13
14
Soghe, DKVC, Vongdau, Ma_TD)
15
16
17
18
f1 = Ma_doi Ten_doi, HLV, Doitruong, So_TV
f2 = MaTV Hoten_TV, Ngaysinh, Quoctich, Soao, Vitrichoi
f3 = Ma_SB Ten_SB, TP, Soghe, DKVC
f4 = Vong_dau, Ma_TD Ten_doi, HLV, Doitruong, So_TV, Hoten_TV, Ngaysin,
Quoctich, Soao, Vitrichoi, Ten_SB, TP, Soghe, DKVC
Ký hiệu các thuộc tính của QLBD là R (U),
U = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 có phụ thuộc hàm
F = {1(2,3,4,5), 6(7,8,9,10,11), 12(13,14,15,16),
(17,18)(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16)}
Ta có giao của các khóa là:
X = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18} {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} = {17,18}
Ta có: {17,18} + = {17,18,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} = U
R(U) có 1 khóa là {17,18} => QLBD có khóa là Vong_dau và Ma_TD
10
ĐẠI HỌC THỦY LỢI
BỘ MÔN HỆ THỐNG THÔNG TIN
IV. CHUẨN HÓA LƯỢC ĐỒ QUAN HỆ THÀNH DẠNG CHUẨN
3NF HOẶC BCNF
QLBD (Ma_doi, Ten_doi, HLV, Doi_truong, So_TV, Ma_TV, Hoten_TV,
1
2
3
4
5
6
7
Ngaysinh_TV, Quoctich, Soao, Vitrichoi, Ma_SB, Ten_SB, TP,
8
9
10
11
12
13
14
Soghe, DKVC, Vongdau, Ma_TD)
15
16
17
18
F= {1(2,3,4,5), 6(7,8,9,10,11), 12(13,14,15,16),
(17,18)(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16)}
- Xét 1NF:
Chưa ở dạng 1NF vì có các thuộc tính (có dấu *) là thuộc tính lặp. ta tiến
hành phân rã thành 2 quan hệ:
QH1 gồm các thuộc tính lặp (1,2,3,4,5,6,7,8,9,10,11)
Tức là ĐỘIBÓNG(Ma_doi,Ten_doi, HLV, Doitruong, So_TV, Ma_TV*, Ten_TV*,
1
2
3
4
5
6
7
Ngaysinh*, Quoctich*, Soao*, Vitrichoi*)
8
9
10
11
F1 = {1(2,3,4,5,6,7,8,9,10,11), 6(7,8,9,10,11)}, khóa là {1}
Xét QH1 chưa đạt chuẩn 1NF do có các thuộc tính lặp (6,7,8,9,10,11) ta tiến
hành tách thành 2 quan hệ:
QH1_1: gồm các thuộc tính lặp (6,7,8,9,10,11)
Tức là THANH_VIEN (6,7,8,9,10,11)
F1_1 = {6(7,8,9,10,11)} khóa là {6}
QH1_2 gồm các thuộc tính khơng lặp (1,2,3,4,5)
DOI_BONG (1,2,3,4,5)
11
ĐẠI HỌC THỦY LỢI
BỘ MÔN HỆ THỐNG THÔNG TIN
F1_2 = {1(1,2,3,4,5)} khóa là {1}
QH2 gồm các thuộc tính khơng lặp (17,18,12,13,14,15,16)
QLBD(17, 18, 12, 13, 14, 15, 16) khóa (17,18)
F2 = {(17,18)(12,13,14,15,16), 12(13,14,15,16)}
- Xét 2NF
Xét QH1_1 đạt chuẩn 2NF vì các thuộc tính khơng khóa phụ thuộc đầy đủ
vào khóa
Xét QH1_2 đạt chuẩn 2NF vì các thuộc tính khơng khóa phụ thuộc đầy đủ
vào khóa
Xét QH2 đạt chuẩn 2NF vì các thuộc tính khơng khóa phụ thuộc đầy đủ vào khóa
- Xét 3NF
Xét QH1_1 đạt chuẩn 3NF vì đạt chuẩn 2NF và khơng có phụ thuộc hàm
bắc cầu
Xét QH1_2 đạt chuẩn 3NF vì đạt chuẩn 2NF và khơng có phụ thuộc hàm
bắc cầu
Xét QH2 chưa đạt chuẩn 3NF vì thuộc tính (13,14,15,16) bắc cầu vào khóa
qua (12). Ta tiến hành tách QH2 thành 2 quan hệ:
QH2_1: SANBONG(12,13,14,15,16)
F2_1 = {12(13,14,15,16)}
Khóa chính là 12
Đạt chuẩn 3NF
QH2_2: QLBD((17,18)12)
F2_2 = {(17,18)12}
Khóa chính là (17,18)
Đạt chuẩn 3NF
- Xét BCNF
Xét QH1_1 đạt chuẩn BCNF vì VT là 1 siêu khóa
12
ĐẠI HỌC THỦY LỢI
BỘ MÔN HỆ THỐNG THÔNG TIN
Xét QH1_2 đạt chuẩn BCNF vì VT là 1 siêu khóa
Xét QH2_1 đạt chuẩn BCNF vì VT là 1 siêu khóa
Xét QH2_2 đạt chuẩn BCNF vì VT là 1 siêu khóa
Kết luận: Quan hệ QLBD phân rã thành các quan hệ đạt chuẩn BCNF:
+ THANH_VIEN(Ma_TV, Ten_TV, Ngaysinh, Quoctich, Soao, Vitrichoi)
+ DOIBONG(Ma_doi, Ten_doi, HLV, Doitruong, So_TV)
+ SANBONG(Ma_SB, Ten_SB, TP, Soghe, DKVC)
+ QLBD(Vong_dau, Ma_TD, Ma_SB)
V. CÂU LỆNH TRUY VẤN DỮ LIỆU SQL
10 câu truy vấn của Ngô Thị Hồng Nhung
1. Cho biết các thơng tin thành viên của câu lạc bộ Becamex Bình Dương
Select * from Thanh_vien where Ma_doi = 'BFC';
2. Cho biết thơng tin sân bóng có điều kiện vật chất đạt chuẩn
Select * from San_bong where DKVC = N'Đạt Chuẩn';
3. Hiển thị vịng đấu, mã đội và có tổng điểm lớn nhất trong vòng đấu 1
Select Vongdau, Ma_doi, TDiem from Bang_Xep_Hang where TDiem in
(select MAX(TDiem) from Bang_Xep_Hang where Vongdau = 'VD1') and
Vongdau = 'VD1';
4. Cho biết thông tin trận đấu của vòng đấu 1
Select * from Thi_dau inner join Tran_dau
on Thi_dau.Ma_TD = Tran_dau.Ma_TD and Tran_dau.Vongdau = 'VD1';
5. Đưa ra mã đội có tổng số bàn thắng trong bảng xếp hạng có thứ tự từ cao
đến thấp
Select ma_doi, sum (Bthang) as TSBthang from Bang_Xep_Hang group by
Ma_doi order by sum (Bthang) desc;
13
ĐẠI HỌC THỦY LỢI
BỘ MÔN HỆ THỐNG THÔNG TIN
6. Đưa ra thơng tin thành viên có tên Anh
Select * from Thanh_vien where Ten_TV like N'%Anh'
7. Đưa ra mã thành viên và tên thành viên có số áo 1
Select Ma_TV, Ten_TV from Thanh_vien where Soao = '1';
8. Hiển thị lịch thi đấu ở sân vận động SVD06
Select * from Thi_dau where Ma_SB = 'SVD06'
9. Hiển thị các thông tin của thành viên có vị trí chơi là hậu vệ
Select * from Thanh_vien where Vitrichoi = N'Hậu Vệ'
10. Hiển thị mã đội và đếm số thành viên của đội đó
Select Ma_doi, COUNT(Ma_TV) as soTV from Thanh_vien group by
Ma_doi;
10 câu truy vấn của Ngơ Thị Hồng Nhung
11. Đưa ra sân bóng có sức chứa lớn hơn bằng 20000
Select * from San_bong WHERE Soghe >= 20000;
12.Đưa ra mã trận đấu có trọng tài là Nguyễn Văn Dũng
Select Ma_TD from Thi_dau where Trongtai like N'Nguyễn Văn Dũng';
13. Đưa ra tổng số trận thua của đội Nam Định
Select sum (Bthua) as TSBthua from Bang_Xep_Hang
where Ma_doi = 'NDFC;
14. Hiển thị tất cả thông tin của thành viên có năm sinh 1996
Select * from Thanh_vien where Ngaysinh like '1996%'
15. Hiển thị bàn thua trung bình của vịng đấu 5
Select avg (Bthua) as TBBThua from Bang_Xep_Hang
where Vongdau = 'VD5';
14
ĐẠI HỌC THỦY LỢI
BỘ MÔN HỆ THỐNG THÔNG TIN
16. Hiển thị đội bóng và huấn luyện viên có số thứ tự 1 trên bảng xếp hạng
Select Ten_doi, HLV from Doi_bong, Bang_Xep_Hang where
Doi_bong.Ma_doi = Bang_Xep_Hang.Ma_doi and Bang_Xep_Hang.STT = '1';
17.Đưa ra lịch thi đấu của đội bóng cả lượt đi và lượt về
Select * from Thi_dau inner join Tran_dau on Thi_dau.Ma_TD =
Tran_dau.Ma_TD and (Ma_doi_1 = 'SGFC' or Ma_doi_2 = 'SGFC');
18. Cho biết mã đội và đếm số thẻ đỏ của đội đó
Select Ma_doi, count (TDo) as So_TDo from Bang_Xep_Hang group by
Ma_doi;
19. Cho biết các trọng tài trong thi đấu
Select distinct Trongtai from Thi_dau;
20. Cho biết mã đội, tên đội và đội trưởng của các đội bóng
Select Ma_doi, Ten_doi, Doitruong from Doi_bong;
10 câu truy vấn của Nguyễn Khánh Linh
21. Đưa ra mã đội và tính tổng số thẻ vàng của đội đó
Select Ma_doi, sum (TVang) as TSo_TVang from Bang_Xep_Hang group
by Ma_doi;
22. Đưa ra mã đội có tổng số bàn thua trong bảng xếp hạng có thứ tự từ thấp
đến cao
Select Ma_doi, sum (Bthua) as TBSthua from Bang_Xep_Hang group by
Ma_doi order by sum (Bthua) asc;
23.Hiển thị tên đội, huấn luyện viên
Select Ten_doi, HLV from Doi_bong;
24. Đưa ra tổng số trận thắng của đội Sài Gòn
Select sum (Bthang) as TSBthang from Bang_Xep_Hang
where Ma_doi = 'SGFC';
15
ĐẠI HỌC THỦY LỢI
BỘ MÔN HỆ THỐNG THÔNG TIN
25. Đưa ra vòng và đếm số trận đấu của vòng đấu ấy
Select Vongdau, COUNT(Ma_TD) as soTD from Tran_dau group by
Vongdau;
26. Cho biết các trận đấu thi đấu ngày 6/01/2021
Select * from Thi_dau where Ngay = '06/01/2021';
27. Cho biết thông tin sân bóng có sức chứa lớn hơn bằng 12000 hoặc nhỏ hơn
bằng 18000
Select * from San_bong where Soghe between 12000 and 18000;
28. Đưa ra mã sân bóng và tên sân bóng ở thành phố Hà Nội
Select Ma_SB, Ten_SB from San_bong where TP = N'Hà Nội';
29. Cho biết các mã đội có hiệu số nhỏ nhất theo thứ tự từ thấp đến cao
Select Ma_doi, min (HS) as Hieu_so from Bang_Xep_Hang group by
Ma_doi order by Hieu_so asc;
30. Hiển thị số thứ tự, tên đội và huấn luyện viên trong vòng đấu 1
Select STT, Ten_doi, HLV from Bang_Xep_Hang, Doi_bong where
Bang_Xep_Hang.Ma_doi = Doi_bong.Ma_doi and Bang_Xep_Hang.Vongdau =
'VD1';
16
ĐẠI HỌC THỦY LỢI
BỘ MÔN HỆ THỐNG THÔNG TIN
KẾT LUẬN
Bài tập lớn là một dịp để chúng em có thể hệ thống lại kiến thức đã được học
ở môn Cơ sở dữ liệu, giúp chúng em làm quen với công việc của một người quản
lý hệ thống trong tương lai. Đồng thời còn giúp chúng em liên hệ giữa kiến thức lý
thuyết để áp dụng vào thực tế.
Vì thời gian làm bài tập lớn có hạn, kiến thức của chúng em còn nhiều hạn
chế, lần đầu tiên tiếp xúc với một vấn đề lớn nên chúng em chưa có kinh nghiệm
thực tế. Do vậy, nội dung của bài tập chưa thật sự sâu sắc, khơng tránh khỏi những
sai sót và hạn chế nhất định. Chúng em kính mong được thầy/cơ chỉ bảo, góp ý
thêm để bài tập lớn của chúng em được hoàn thiện hơn.
Chúng em xin chân thành cảm ơn cơ Nguyễn Ngọc Quỳnh Châu đã tận tình
giảng dạy cho chúng em để chúng em tiếp nhận được thật nhiều kiến thức từ môn
học này.
17
ĐẠI HỌC THỦY LỢI
BỘ MÔN HỆ THỐNG THÔNG TIN
TÀI LIỆU THAM KHẢO
- 2014. XÂY DỰNG CHƯƠNG TRÌNH TRỢ GIÚP TỔ CHỨC VÀ QUẢN
LÝ CÁC GIẢI ĐẤU [pdf]. Truy cập tại: < [Ngày truy cập: 28/10/2021]
- Phạm Thị Hoàng Nhung, 2007.Cơ sở dữ liệu II [pdf]. Truy cập tại:
< [Ngày truy cập: 30/10/2021]
- Đặng Thu Hiền, 2013. Cơ sở dữ liệu, NXB Giao Thông Vận Tải.
18