HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA VIỄN THÔNG I
BÁO CÁO BÀI TẬP LỚN MÔN CƠ SỞ DỮ LIỆU
Đề tài: Xây dựng hệ thống quản lý sân bóng
Giảng viên : Vũ Thị Thúy Hà
Trang 2Phần I:
1 Mô tả:
-Việc lập ra một website riêng như vậy không những giúp cho người chơi dễ dàng đặt giờ, xem lịch, xem thông tin sân (Cụ thể như khi khách đến chơi lần đầu họ không hề biết được chất lượng các sân bóng như thế nào,thông tin giờ giấc ra sao thì họ có thể lên ngay website riêng của sân bóng để tìm hiểu.Bên cạnh đó thì giờ đây họ không cần phải gọi điện để đặt giờ như trước kia mà chỉ cần một vài thao tác lướt web nho nhỏ thì họ có thể chọn cho mình một khung giờ hợp lí để ra sân.) -Giúp cho người quản lý sân bóng có thể kiểm soát được toàn bộ hệ thống sân bóng,người tham gia chỉ bằng việc thao tác trên một chiếc máy tính hoặc laptop dễ dàng
-Đối với những khách hàng thân thiết lâu năm thì sân bóng sẽ có những chế độ ưu tiên đặc biệt cho họ,chỉ cần lên website và đăng nhập vào tài khoản cá nhân riêng của mình đã đăng kí trước đó thì hệ thống sẽ tự động cung cấp các chương trình ưu đãi đang có
1.2.Mô tả ứng dụng của hệ CSDL
-Quản lí danh sách người dùng (tài khoản đăng ký sử dụng) -Quản lí danh sách các sân của khu thể thao
-Quản lí việc nhập xuất hóa đơn khi sân được thuê, khi hàng hóa được bán -Quản lí các trận đấu khi sân được đặt và việc thuê các dịch vụ đi kèm -Quản lí việc đặt sân online, hủy sân online
2 Các yêu cầu về dữ liệu cần lưu trữ
-Dữ liệu về người dùng, các thông tin bao gồm: userName, password, fullname, SĐT, ngày Sinh, giới tính, tài khoản người dùng này là thuộc client hay admin, … -Dữ liệu về thông tin của sân cần cho thuê, gồm có: giá sân, tình trạng sân(đang hoạt động hay đang được bảo trì), loại sân(sân 5, 7, 9, 11), ngày mở sân, … -Dữ liệu về các trận đấu: ID sân, ID user, ngày diễn ra, giờ bắt đầu, giờ kết thúc, tình trạng …
-Dữ liệu về dịch vụ: mã dịch vụ, tên dịch vụ, giá của dịch vụ, mã địa điểm, -Dữ liệu về địa điểm: lưu trữ thông tin về địa chỉ bao gồm: số Đường, Phường, Quận
-Dữ liệu về hóa đơn: + Hóa đơn Sân gồm: ngày tạo, ID sân, giá, …
+ Hóa đơn hàng hóa:; ngày, số lượng, giá, ID hàng ,… 4 Các chức năng tra cứu, tìm kiếm
- User: Mỗi user có quyền cập nhật thêm, sửa đổi thông tin của mình khi đăng nhập vào hệ thống thành công
- Trận đấu: User có thể vào xem thông tin trận đấu, hủy trận đấu đó
- Sân: User có thể xem tình trạng của sân có thể đặt được hay không, admin có quyền chỉnh sửa tình trạng sân
Trang 3- Hàng hóa, Dịch vụ: xem các thông tin về dịch vụ có thể được thuê trong trận đấu, thông tin về hàng hóa được bán
- Hóa đơn: Quản lí hóa đơn và tính toán tổng tiền cần thanh toán của khách hàng khi đặt sân, mua hàng hóa
5.Chức năng kết xuất:
-Báo cáo số lượng lượt đặt sân của từng sân -Báo cáo doanh thu của từ sân, từng địa điểm
-Liệt kê danh sách khách hàng thân thiệt thông qua số lượt đặt sân của khách hàng so với tổng số lượt đặt sân của địa điểm (2 * lượt đăt >= tổng số lượt đặt) 6 Đăng ký đặt sân onlie
-Người dùng muốn đăng ký sân online thì phải có tài khoản người dùng online được đăng ký từ trước đó
-Sau khi đã đăng nhập Người dùng có thể chọn hoặc tìm kiếm sân (SAN) theo mong muốn của chính mình Sau khi chọn được sân, người dùng sẽ chọn ngày, giờ của trận đấu mình sẽ đặt Nếu thoã mãn được các yêu cầu của hệ thống thì một dòng dữ liệu sẽ được insert vào bảng TRANDAU của
7 Chức năng hủy sân
-Khi khách hàng nhấn hủy trận đấu, hệ thống sẽ tự động cập nhật trạng thái của trận đấu (đang có giá trị là 1 (được đặt) sang giá trị là 0 (đã hủy) ), và cập nhật lại trong cơ sở dữ liệu, đồng thời cũng xóa luôn dữ liệu của trận đấu trong bảng hóa đơn trận đấu
Trang 4Phần II: Lược đồ E-R
Sân
Trang 5Phần III Lược đồ quan hệ
Trang 6
Phần IV: Chuẩn hóa các lược đồ quan hệ về dạng chuẩn 3NF:
Từ 15 lược đồ quan hệ chuẩn hóa về dạng 3NF
1 User (ID_user, name, ngày sinh, giới tính)
F1 = {ID_user→Name, ID_user→Ngày sinh, ID_user→ Giới tính}
- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng chuẩn 1NF
- ID_user là khóa dự bị, các thuộc tính không khóa phụ thuộc hàm đầy đủ vào ID_user nên lược đồ ở dạng chuẩn 2NF
- Do ID_user→Name, ID_user→Ngày sinh, ID_user→ Giới tính, ID_user là siêu khóa, nên lược đồ ở dạng chuẩn 3NF
2 User-SĐT (ID_user, SĐT)
F2 = {SĐT→ ID_user}
- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng chuẩn 1NF
- SĐT là khóa dự bị, thuộc tính ID_user phụ thuộc hàm đầy đủ vào SĐT nên lược đồ ở dạng chuẩn 2NF
- Do SĐT→ ID_user, SĐT là siêu khóa nên lược đồ ở dạng chuẩn 3NF
3 Trận đấu (ID_Trận, ID_Sân, ID_User, Thời Gian)
F3 = {ID_Trận→ID_Sân, ID_Trận→ID_User, ID_Trận→Thời gian}
- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng chuẩn 1NF
- ID_Trận là khóa dự bị, các thuộc tính không khóa phụ thuộc hàm đầy đủ vào ID_Trận
nên lược đồ ở dạng chuẩn 2NF
- Do ID_Trận→ID_Sân, ID_Trận→ID_User, ID_Trận→Thời gian, ID_Trận là khóa dự bị nên lược đồ thuộc dạng chuẩn 3NF
4 Dịch vụ (ID_DV, Tên DV, Giá)
F4 = {ID_DV→Tên DV, ID_DV→Ngày}
- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng chuẩn 1NF
- ID_DV là khóa dự bị, các thuộc tính không khóa phụ thuộc hàm đầy đủ vào ID_DV nên lược đồ ở dạng chuẩn 2NF
-Do ID_DV→Tên DV, ID_DV→Ngày là khóa dự bị nên lược đồ thuộc
- SĐT là khóa dự bị, thuộc tính ID_DV phụ thuộc hàm đầy đủ vào SĐT nên lược đồ ở dạng chuẩn 2NF
- Do SĐT→ ID_DV, SĐT là siêu khóa nên lược đồ ở dạng chuẩn 3NF
6 Sân (ID_Sân, ID_Địa điểm, Loại sân, Tình trạng, ngày mở, Mã HĐS, ID_NV)
F6 = {ID_Sân→ID_Địa điểm, ID_Sân→Loại sân, ID_Sân→Tình trạng, ID_Sân→Ngày mở, ID_Sân→Mã HĐS, ID_Sân→ID_NV }
Trang 7- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng chuẩn 1NF
- ID_Sân là khóa dự bị, các thuộc tính khác phụ thuộc hàm đầy đủ vào ID_Sân
nên lược đồ ở dạng chuẩn 2NF
- Do ID_Sân→ID_Địa điểm, ID_Sân→Loại sân, ID_Sân→Tình trạng, ID_Sân→Ngày mở, ID_Sân→Mã HĐS, ID_Sân→ID_NV, ID_Sân là siêu khóa nên lược đồ ở dạng chuẩn 3NF
7 Nhân viên(ID_NV, DIACHI, Ten_NV)
nên lược đồ ở dạng chuẩn 2NF
- Do ID_NV→DIACHI, ID_NV→Ten_NV, ID_NV là siêu khóa nên lược
- SĐT là khóa dự bị, thuộc tính ID_NV phụ thuộc hàm đầy đủ vào SĐT nên lược đồ ở dạng chuẩn 2NF
- Do SĐT→ ID_NV, SĐT là siêu khóa nên lược đồ ở dạng chuẩn 3NF
9 Địa điểm (ID_Địa điểm, Đường, Phường, Quận)
F9 = {ID_Địa điểm→Đường, ID_Địa điểm→Phường, ID_Địa điểm→Quận} - Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng chuẩn 1NF
- ID_Địa điểm là khóa dự bị, các thuộc tính khác phụ thuộc hàm đầy đủ vào ID_Địa điểm nên lược đồ ở dạng chuẩn 2NF
- Do ID_Địa điểm→Đường, ID_Địa điểm→Phường, ID_Địa điểm→Quận, ID_Địa điểm là siêu khóa nên lược đồ ở dạng chuẩn 3NF
10 Hóa đơn sân (Mã HĐS, Ngày tạo)
F10 = {Mã HĐS→Ngày tạo}
- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng chuẩn 1NF
- Mã HĐS là khóa dự bị, ngày tạo phụ thuộc hàm đầy đủ vào Mã HĐS nên lược đồ ở dạng chuẩn 2NF
- Do Mã HĐS→Ngày tạo, Mã HĐS là siêu khóa nên lược đồ ở dạng chuẩn 3NF
Trang 8
11 Hóa đơn hàng (Mã HĐN, Ngày tạo)
F11 = {Mã HĐN→Ngày tạo}
- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng chuẩn 1NF
- Mã HĐN là khóa dự bị, ngày tạo phụ thuộc hàm đầy đủ vào Mã HĐN nên lược đồ ở dạng chuẩn 2NF
- Do Mã HĐN→Ngày tạo, Mã HĐN là siêu khóa nên lược đồ ở dạng chuẩn 3NF
12 Hàng hóa (ID_Hàng, Tên, Số lượng, Mã HĐN, ID-ĐĐ)
F12 = {ID_Hàng→Tên, ID_Hàng→Số lượng, ID_Hàng→Mã HĐN,
nên lược đồ ở dạng chuẩn 2NF
- Do ID_Hàng→Tên, ID_Hàng→Số lượng, ID_Hàng→Mã HĐN, ID_Hàng→ĐĐ, ID_Hàng là siêu khóa nên lược đồ ở dạng chuẩn 3NF
13 Tình trạng hàng hóa (ID_Hàng, Mã trạng thái, Người phụ trách)
F13 = {ID_Hàng→Mã trạng thái, ID_Hàng→Người phụ trách}
- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng chuẩn 1NF
- ID_Hàng là khóa dự bị, các thuộc tính khác phụ thuộc hàm đầy đủ vào ID_Hàng
nên lược đồ ở dạng chuẩn 2NF
- Do ID_Hàng→Mã trạng thái, ID_Hàng→Người phụ trách, ID_Hàng là siêu khóa nên lược đồ ở dạng chuẩn 3NF
14 Đồ uống (ID_Đồ uống, Tên, Nhà sx, Giá, ID_NV)
F14 = {ID_Đồ uống→Tên, ID_Đồ uống→NHà sx, ID_Đồ uống→Giá, ID_Đồ uống→ID_NV}
- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng chuẩn 1NF
- ID_Đồ uống là khóa dự bị, các thuộc tính khác phụ thuộc hàm đầy đủ vào ID_Đồ uống nên lược đồ ở dạng chuẩn 2NF
- Do ID_Đồ uống→Tên, ID_Đồ uống→Loại, ID_Đồ uống→Giá, , ID_Đồ uống→ID_NV, ID_Đồ uống là siêu khóa nên lược đồ ở dạng chuẩn 3NF
15 Đồ ăn (ID_Đồ ăn, Tên, , Giá, Thành phần, ID_NV)
F15 = {ID_Đồ ăn→Tên, ID_Đồ ăn→Thành Phần, ID_Đồ ăn→Giá, ID_Đồ ăn→ID_NV}
- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng chuẩn 1NF
- ID_Đồ ăn là khóa dự bị, các thuộc tính khác phụ thuộc hàm đầy đủ vào ID_Đồ ăn nên lược đồ ở dạng chuẩn 2NF
- Do ID_Đồ ăn→Tên, ID_Đồ ăn→Thành phần, ID_Đồ ăn→Giá, ID_Đồ ăn→ID_NV, ID_Đồ ăn là siêu khóa nên lược đồ ở dạng chuẩn 3NF
Trang 10-Tạo bảng đồ uống
-Tạo bảng nhân viên
-Tạo bảng nhân viên – số điện thoại
-Tạo bảng tình trạng hàng
-Tạo bảng trận đấu
-Tạo bảng user
Trang 11-Tạo bảng user-số điện thoại
Trang 12-Bảng dịch vụ
-Bảng dịch vụ - số điện thoại
Trang 13-Bảng đồ ăn
-Bảng đồ uống
Trang 14-Bảng hàng hóa
-Bảng hóa đơn sân
Trang 15-Bảng hóa đơn hàng
-Bảng nhân viên
Trang 16-Bảng nhân viên-số điện thoại
Trang 19-Bảng sân
-Bảng tình trạng hàng
Trang 20
-Bảng trận đấu
-Bảng user
-Bảng user – số điện thoại
Trang 213.Truy vấn dữ liệu -Câu 1:
Kết quả:
Trang 22Câu 2:
Kết quả
Câu 3:
Trang 25Kết quả :
Cập nhật địa chỉ không hợp lệ :
Kết quả :
Cập nhật địa chỉ hợp lệ :
Trang 26Giao thức phân tán :