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.
Trang 1BÀ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
Trang 2Hiệ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
Trang 3Mục lục
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 5
1 Các quy tắc/ràng buộc: 5
2 Xác định thực thể và thuộc tính của thực thể 6
3 Mô hình thực thể liên kết ER 7
II CHUYỂN TỪ MÔ HÌNH THỰC THỂ LIÊN KẾT SANG MÔ HÌNH QUAN HỆ 8
III XÁC ĐỊNH KHÓA 10
IV CHUẨN HÓA LƯỢC ĐỒ QUAN HỆ THÀNH DẠNG CHUẨN 3NF HOẶC BCNF 11
V CÂU LỆNH TRUY VẤN DỮ LIỆU SQL 13
10 câu truy vấn của Ngô Thị Hồng Nhung 13
10 câu truy vấn của Ngô Thị Hồng Nhung 14
10 câu truy vấn của Nguyễn Khánh Linh 15
KẾT LUẬN 17
TÀI LIỆU THAM KHẢO 18
Trang 4Bảng phân công công việc
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ô
4 Chuẩn hoá lược đồ quan hệ thành dạng chuẩn3NF hoặc BCNF Nhung
Trang 5I 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
Trang 62 Xác định thực thể và thuộc tính của thực thể
a ĐỘI BÓNG:
STT Tên chính xác của thuộc tính Tên ngắn gọn của thuộc tính
b THÀNH VIÊN
STT Tên chính xác của thuộc tính Tên ngắn gọn của thuộc tính
c SÂN BÓNG:
STT Tên chính xác của thuộc tính Tên ngắn gọn của thuộc tính
d VÒNG ĐẤU:
STT Tên chính xác của thuộc tính Tên ngắn gọn của thuộc tính
e TRẬN ĐẤU:
STT Tên chính xác của thuộc tính Tên ngắn gọn của thuộc tính
Trang 7QLBD (Ma_doi, Ten_doi, HLV, Doi_truong, So_TV, Ma_TV, Hoten_TV,
Ngaysinh_TV, Quoctich, Soao, Vitrichoi, Ma_SB, Ten_SB, TP, Soghe, DKVC,
8 9 10 11 12 13 14 15 16 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)}
Trang 83 Mô hình thực thể liên kết ER
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)
Trang 9VONG_DAU (Vongdau)
g Thực thể TRẬN ĐẤU:
TRAN_DAU (M a_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)
Trang 11III XÁC ĐỊNH KHÓA
QLBD (Ma_doi, Ten_doi, HLV, Doi_truong, So_TV, Ma_TV, Ten_TV,
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
Trang 12IV 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,
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)
Trang 13F1_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
Trang 14Xé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
Trang 156 Đư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';
Trang 1616 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;
Trang 1725 Đư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';
Trang 18KẾ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
Trang 19TÀ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: < https://123docz.net/document/1112800-
- Phạm Thị Hoàng Nhung, 2007.Cơ sở dữ liệu II [pdf] Truy cập tại:
- Đặng Thu Hiền, 2013 Cơ sở dữ liệu, NXB Giao Thông Vận Tải