Tải bản đầy đủ (.docx) (18 trang)

Bài Tập lớn CSDL: THIẾT KẾ CƠ SỞ DỮ LIỆU QUẢN LÝ TỔ CHỨC GIẢI ĐẤU BÓNG ĐÁ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (259.74 KB, 18 trang )

ĐẠ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



×