Phần 1:Giới thiệu I.1 Xây dựng ý tưởng I.1.1 Phát biểu bài toán Sau những giờ làm việc,học tập căng thẳng thì con người ngày nay thường có xu thế tìm đến những khu vui chơi giải trí để x
Trang 1ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA HỆ THỐNG THÔNG TIN
BÁO CÁO ĐỒ ÁN CUỐI KÌ
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
Đề tài: Xây dựng website hệ thống sân bóng
Giáo viên hướng dẫn:GV.Đỗ Thị Minh Phụng
Lớp:IS210.F11
Sinh viên thực hiện:12520275-Nguyễn Hoài Nam
12520020-Hoàng Trọng Bảo 12520049-Trịnh Minh Đại 12520575-Phan Thanh Duy
Thành phố Hồ Chí Minh,ngày 12 tháng 1 năm 2014
Trang 2LỜI CÁM ƠN
Đầu tiên, nhóm tác giả xin gởi lời cảm ơn chân thành đến tập thể quý Thầy Cô Trường Đại học Công nghệ thông tin – Đại học Quốc gia TP.HCM và quý Thầy Cô khoa Hệ thống thông tin đã giúp cho nhóm tác giả có những kiến thức cơ bản làm nền tảng để thựchiện đề tài này
Đặc biệt, nhóm tác giả xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới Cô Đỗ Thị Minh Phụng (Giảng viên môn Hệ quản trị cơ sở dữ liệu) Cô đã trực tiếp hướng dẫn tận tình, sửa chữa và đóng góp nhiều ý kiến quý báo giúp nhóm tác giả hoàn thành tốt báo cáo môn học của mình
Trong thời gian một học kỳ thực hiện đề tài, nhóm tác giả đã vận dụng những kiến thức nền tảng đã tích lũy đồng thời kết hợp với việc học hỏi và nghiên cứu những kiến thức mới Từ đó, nhóm tác giả vận dụng tối đa những gì đã thu thập được để hoàn thành một báo cáo đồ án tốt nhất Tuy nhiên, trong quá trình thực hiện, nhóm tác giả không tránh khỏi những thiếu sót Chính vì vậy, nhóm tác giả rất mong nhận được những sự góp ý từ phía các Thầy Cô nhằm hoàn thiện những kiến thức mà nhóm tác giả đã học tập và là hành trang để nhóm tác giả thực hiện tiếp các đề tài khác trong tương lai
Xin chân thành cảm ơn các quý Thầy Cô!
Nhóm sinh viên thực hiện
NHẬN XÉT CỦA GIẢNG VIÊN
Trang 3
MỤC LỤC
Trang 4I Phần 1:Giới thiệu 6
I.1 Xây dựng ý tưởng 6
I.1.1 Phát biểu bài toán 6
I.1.2 Yêu cầu giải pháp 7
I.1.3 Mục tiêu hệ thống 7
I.1.4 Phạm vi hoạt động 8
I.1.5 Công cụ sử dụng 8
I.2 Xác định và phân tích yêu cầu 8
I.2.1 Yêu cầu chức năng 8
I.2.1.1 Yêu cầu chức năng tổng quát 8
I.2.1.1.1 Chức năng lưu trữ 8
I.2.1.1.2 Chức năng tra cứu,tìm kiếm 9
I.2.1.1.3 Chức năng tính toán: 9
I.2.1.1.4 Chức năng kết xuất: 10
I.2.1.2 Yêu cầu chức năng cụ thể 10
I.2.1.2.1 Tạo tài khoản 10
I.2.1.2.2Hủy đăng ký tài khoản 10
I.2.1.2.3 Đăng ký sân 11
I.2.1.2.4 Hủy đăng ký sân 11
I.2.1.2.5 Yêu cầu mua nhu yếu phẩm từ hệ thống, hay thuê dịch vụ của sân bóng 11
I.2.1.2.6 Hủy giao dịch 12
I.2.1.2.7 Tính hoá đơn, tiền thuê sân, tiền dịch vụ 12
I.2.2 Yêu cầu phi chức năng: 12
I.3 Mô hình quan hệ 13
I.3.1 Mô hình quan hệ 13
I.3.2 Mô tả các quan hệ 14
I.3.3 Mô tả thuộc tính 16
I.3.4 Mô hình ER-Mô tả ràng buộc toàn vẹn 20
I.3.4.1 Mô hình ER 20
Trang 5II Phần 2:Xây dựng giao tác trigger-store procedure 25
II.1 Các thủ tục store procedure cho quản lý sân bóng 25
II.1.1 Liệt kê danh sách các thàng viên đăng ký sân trong cùng ngày 25
II.1.2 Liệt kê danh sách những thành viên không đăng ký thuê sân trong 1 khoảng thời gian 25 II.1.3 Thêm một trận đấu 25
II.1.4 Thêm một hóa đơn 26
II.1.5 Thêm một sân đấu 27
II.1.6 Thêm một dịch vụ 27
II.1.7 Thêm một hàng hóa 27
II.2 Trigger 27
II.2.1 Cập nhật tăng giá trị chứng từ hóa đơn(TR_CTHD) 27
II.2.2 Cập nhật giảm giá trị chứng từ hóa đơn(TR_CTHDSUB) 27
II.2.3 Cập nhật tăng giá trị chứng từ dịch vụ(TR_CTDVADD) 28
II.2.4 Cập nhật giảm giá trị chứng từ dịch vụ(TR_CTDVSUB) 28
II.2.5 Cập nhật lại dữ liệu thành viên trên hệ thống(TR_TDUP) 28
II.2.6 Cập nhật lại dữ liệu thành viên trên hệ thống(TR_HDUP) 28
II.2.7 Cập nhật lại dữ liệu sân bóng(TR_SAN) 29
II.3 Các quy định của hệ thống 29
III Phần 3:Xử lý đồng thời(TRANSAcTION) 30
III.1 Các khái niệm 30
III.1.1Transaction 30
III.1.2 Isolation level 31
III.1.3 Lock 34
III.2 Các tình huống 38
IV Phần 4:Thiết kế giao diện 48
V Phần 5:Kết luận 49
V.1 Môi trường phát triển và môi trường triển khai ứng dụng 49
V.1.1 Môi trường phát triển 49
V.1.2 Môi trường triển khai ứng dụng - Server 49
V.2 Kết quả đạt được 50
Trang 6V.2.1 Kết quả 50
V.2.2 Hạn chế 51
V.3 Hướng phát triển 51
V.4 Bảng phân công công việc 52
CHI TIẾT
I Phần 1:Giới thiệu
I.1 Xây dựng ý tưởng
I.1.1 Phát biểu bài toán
Sau những giờ làm việc,học tập căng thẳng thì con người ngày nay thường
có xu thế tìm đến những khu vui chơi giải trí để xả stress,ăn uống,gặp gỡ bạn bè,…Một bộ phận khác họ sẽ tìm đến những nơi có thể vừa làm giảm
áp lực công việc mà còn làm thỏa niềm đam mê thể thao của họ chẳng hạn như các sân bóng,các câu lạc bộ thể thao,…Theo thực tế thì giới trẻ ngày nay đặc biệt là các bạn nam thường hẹn gặp bạn bè bằng cách rủ nhau đi đá bóng.Nắm bắt được nhu cầu cần thiết này nhiều người đã tổ chức kinh doanh các dịch vụ cho thuê các loại sân bóng như : bóng đá,bóng bàn,tennis,…Nhưng để đảm bảo được khả năng thu hút khách đến chơi thì việc quảng cáo chất lượng và cung cấp thông tin là một trong các yếu tố cần thiết hàng đầu.Việc này đòi hỏi người quản lý phải lập ra một trang web riêng cho sân bóng của mình để dễ dàng quản lý và cung cấp thông tin cho khách.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
Trang 7tá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.Đố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àotà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ó.Việc lập ra một websiteriêng như vậy không những giúp cho người chơi dễ dàng đặt giờ,xemlịch,xem thông tin sân bóng,…mà cò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ệcthao tác trên một chiếc máy tính hoặc laptop dễ dàng
I.1.2 Yêu cầu giải pháp
Hệ thống mà chúng tôi muốn nói đến ở đây là xây dựng một trang web để cung cấp cho khách hàng những thông tin chi tiết về địa điểm sân, tình trạng sân bóng,mức giá cụ thể từng loại sân và các dịch vụ mà sân bóng cung cấp đến khách hàng chính xác để khách hàng có thể chọn lựa sân bóngphù hợp và nhanh chóng tiện lợi.Nó cũng sẽ giảm bớt khó khăn trong khâu quản lý của người chủ sân
I.1.3 Mục tiêu hệ thống
Các yêu cầu mà trang web sẽ đáp ứng cho người sử dụng:
-Quản lý qua trình nhập xuất thông tin của các sân,các trận đấu,mức giá của các sân
-Quản lí việc kết xuất báo cáo đáng tự động và tin cậy
-Quản lí thông tin các giao dịch của khách hàng
-Quản lí quá trình đặt sân online,hủy sân đã đặt online
- Quản lí quá trình giải quyết truy xuất đồng thời trong quá trình đặt sân
- Quản lí thông tin được lưu trữ trong cơ sở dữ liệu ,giúp truy xuất các thông tin,sao lưu và phục hồi dễ dàng nhanh chóng
Trang 8- Tin tức được cập nhập liên tục để đáp ứng tốt nhu cầu của khách hàng.
I.1.4 Phạm vi hoạt động
Website quản lí hệ thống sân bóng đá nhân tạo mà nhóm xây dựng sẽ tập trung vào các chức năng quan trọng gồm:quản lí thông tin sân bóng,quản lí thông tin khách hàng,quản lí thông tin mức giá các sân-các dịch vị cung cấp cho khách hàng,quản lí quá trình đặt sân-hủy sânonline và quản lí thông tin giao dịch với khách hàng
I.1.5 Công cụ sử dụng
Để thực hiện được đồ án này trong quá trình làm việc nhóm có sử dụng công cụ là các phần mềm sau:
-Microsoft SQL Server 2012: Hệ quản trị CSDL quan hệ
-NetBeans IDE 8.0.2 :Thiết kế phần giao diện và xử lí web-Adobe Photoshop CS6, Adobe Illustrator CS6: Phục vụ việc thiết kế
giao diện và các thành phần xử lý
I.2 Xác định và phân tích yêu cầu
I.2.1 Yêu cầu chức năng I.2.1.1 Yêu cầu chức năng tổng quát I.2.1.1.1 Chức năng lưu trữ
-Thông tin thành viên:Lưu thông tin ID,mật khẩu,giới tính,họ,tên,địachỉ ,số điện thoại,ngày đăng ký tài khoản,quyền làm khách hàng hayadmin của thành viên
- Thông tin sân: Lưu trữ thông tin của sân gồm mã sân, mã địa điểm,loại sân, ngày mở, tình trạng, ghi chú, giá sân quy định
-Thông tin trận đấu:Lưu thông tin của trận đấu gồm mã trận,mãsân,mã địa điểm,ID,ngày diễn ra trận đấu,giờ bắt đấu,giờ kết thúc củatrận đấu,tiền sân diễn ra trên trận,tình trạng trận đấu là chưa bắtđầu,đang diễn ra hay đã kết thúc của trận đấu
-Thông tin địa điểm:Lưu trữ thông tin địa chỉ của sân đấu bao gồmsố,đường,phường,quận,ghi chú
Trang 9-Thông tin hàng:Lưu trữ thông tin hàng hóa(thức ăn nước uống) baogồm mã hàng,mã địa điểm,tên hàng,tồn,đơn giá
-Thông tin chứng từ hóa đơn:Lưu thông tin chứng từ hóa đơn baogồm số hóa đơn,mã hàng,mã địa điểm,số lượng
-Thông tin dịch vụ:Lưu trữ thông tin dịch vụ bao gồm mã dịch vụ,mãđịa điểm
-Thông tin chứng từ dịch vụ:Lưu thông tin chứng từ dịch vụ gồm mãtrận,mã địa điểm,mã dịch vụ,số lượng
I.2.1.1.2 Chức năng tra cứu,tìm kiếm
+ Thông tin thành viên:
Mỗi thành viên có quyền tra cứu thông tin của mình sau khi
đã đăng nhập thành công để bổ sung sửa chữa
Người quản lý đăng nhập tài khoản admin thành công trướckhi có quyền tra cứu xem thông tin thành viên,kiểm tra giámsát tổng hợp danh sách thông tin thành viên
+ Thông tin sân, trận đấu:
Thành viên có thể vào xem thông tin sân để đặt
Xem chi tiết trận đấu sắp diễn ra
+ Xem mặt hàng, dịch vụ:
Xem mặt hàng có thể đặt
Xem dịch vụ hỗ trợ cho trận đấu có thể đặt
+ Thông tin hóa đơn: Quản lý xem hóa đơn để tính tổng tiền phải trả củathành viên
I.2.1.1.3 Chức năng tính toán:
Tính toán doanh thu sân bóng hàng ngày,hàng tuần,hàng tháng,từngquý và năm
Tính toán chi phí từ các hoạt động dịch vụ theo sân và tổng địa điểmhàng ngày,hàng tuần,hàng tháng,từng quý và năm
Tính toán chi phí từ việc kinh doanh hàng hóa theo sân và tổng địađiểm hàng ngày,hàng tuần,hàng tháng,từng quý và năm
Trang 10 Tính toán tổng doanh thu sân bóng(gồm tiền sân,tiền hàng hóa,tiềndịch vụ) theo sân hàng ngày,hàng tuần,hàng tháng,từng quý và năm
Tính toán tỷ lệ từng sân,từng địa điểm hàng ngày,hàng tuần,hàngtháng,từng quý và năm
I.2.1.1.4 Chức năng kết xuất:
Báo cáo tình hình đặt sân từng địa điểm
Báo cáo doanh thu sân bóng,địa điểm
Báo cáo tỷ lệ doanh thu sân bóng,địa điểm
Báo cáo danh sách khách hàng thân thiết(đặt sân >= trận/tháng)
I.2.1.2 Yêu cầu chức năng cụ thể I.2.1.2.1 Tạo tài khoản
-Ngoài cách đặt sân bằng hai cách trực tiếp là gọi điện và đến thẳng nơiban quản lý sân làm việc thì còn cách nhanh hơn,ít tốn thời gian và tiệnlợi hơn là đặt sân online và website quản lý sân bóng.Để đăng ký,ngườidùng phải tạo một tài khoản trên website.Người dùng tạo tài khoản trênwebsite truy cập vào website hệ thống và tạo mật khẩu là bước bắtbuộc
-Ngay khi truy cập vào link đăng ký tài khoản,người dùng sẽ tự cấp chomình 1 tên đăng nhập(ID- đảm bảo là không trùng với ID của các thànhviên khác; cũng như về số điện thoại khi đăng ký tài khoản) Sau đóngười dùng tạo mật khẩu tài khoản đúng theo quy định khi đăng ký tàikhoản
-Người dùng sau khi nhập mật khẩu sẽ được chuyển sang giao diệnnhập thông tin.Các thông tin được hệ thống yêu cầu cung cấp bao gồmhọ(HO),tên(TEN),địa chỉ(DIACHI-không bắt buộc),số điệnthoại(PHONE), và được hệ thống cấp quyền(QUYEN) là 1 tương ứngvới quyền người dùng
I.2.1.2.2Hủy đăng ký tài khoản
-Người dùng đã đăng ký thành viên của website có quyền hủy đăng kýkhi có yêu cầu.Người dùng muốn hủy đăng ký sẽ cung cấp ID và đăngnhập với mật khẩu(MK) đã được xác nhận từ hệ thống
-Người dùng khi xác thực muốn hủy tài khoản đăng ký thì sẽ được hệthống xử lý hủy toàn bộ dữ liệu đã đăng ký bao gồmhọ(HO),tên(TEN),địa chỉ(DC),số điện thoại(PHONE) và ID
Trang 11-Khi người dùng hủy đăng ký xong thì ID đã đăng ký cũng không tồntại dữ liệu,nghĩa là ở trạng thái trống,người dùng tiếp theo đăng ký sẽ
sử dụng ID này
I.2.1.2.3 Đăng ký sân
-Người dùng muốn đăng ký sân online thì phải có tài khoản người dùngonline được đăng ký từ trước đó.Người dùng sau khi đăng nhập tàikhoản thì hệ thống sẽ tự chuyển sang giao diện đặt sân
- 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ườidùng sẽ chọn ngày và giờ của trận đấu mình sẽ đặt Nếu thoã mãn đượccác yêu cầu của hệ thống thì một dòng dữ liệu sẽ được insert vào bảngTRANDAU của CSDL
I.2.1.2.4 Hủy đăng ký sân
-Khách hàng có yêu cầu hủy sân đã đăng ký phải thực hiện yêu cầungay trong ngày (Và trước giờ bắt đầu trận đấu ít nhất 60 phút).Saumột ngày tính từ thời điểm đăng ký,hệ thống sẽ cập nhật các thông tin
về sân như mã trận(MATRAN),mã sân(MASAN),mã địađiểm(MADD),…và sao lưu trên hệ thống để tránh tình trạng có kháchhàng đăng ký sau đặt trùng
-Khi có yêu cầu hủy sân từ người dùng,hệ thống sẽ delete tất cả cácthông tin như mã trận(MATRAN),mã sân(MASAN),mã địađiểm(MADD),…ngay thời điểm hủy để khách hàng đăng ký sau có thểthực hiện thao tác Đồng thời, những thông tin về việc đăng ký dịch vụcủa trận đấu đó trong bảng CTDV(nếu có) cũng sẽ được xoá bỏ
I.2.1.2.5 Yêu cầu mua nhu yếu phẩm từ hệ thống, hay thuê dịch
vụ của sân bóng
- Ngoài việc có thể đăng ký thuê sân, thành viên còn có thể đặt muanhững thức ăn, nước uống… qua việc đăng ký hoá đơn Việc đăng kýnày hoàn toàn độc lập với việc thuê sân bóng
- Và đồng thời ứng với mỗi trận đấu… nếu có nhu cầu về dịch vụ chotrận đấu của mình, thành viên cũng có thể đăng ký thêm, dựa trênnhững dịch vụ có ở địa điễm mà mình đăng ký thê sân
I.2.1.2.6 Hủy giao dịch
- Cũng giống với việc huỷ trận đấu, việc huỷ việc thuê dịch vụ, hay huỷnhững đăng ký hoá đơn của các thành viên cũng được xử lí tương tự
Trang 12I.2.1.2.7 Tính hoá đơn, tiền thuê sân, tiền dịch vụ
- Với những thành viên có đăng ký hoá đơn Hoá đơn sẽ được thanhtoàn vào ngày hoá đơn; mà thành viên đã đăng ký Tổng tiền hoá đơn
sẽ được tính dựa vào đơn giá ở bảng hàng hoá và số lượng ở bảngCTHD
- Tổng tiền ở mỗi trận đấu sẽ được tính dựa trên: thời gian đấu đượcđăng ký trong bảng, đơn giá của sân đấu mà trận đấu đăng ký Và tổngtiền được tính từ các chi tiết dịch vụ mà thành viên đã đăng ký cho trậnđấu đó (nếu có)
I.2.2 Yêu cầu phi chức năng:
- Bảo mật: Dữ liệu phải được bảo vệ kỹ càng, tránh thất lạc, đặc biệt là các
dữ liệu quan trọng như thông tin thành viên…Cần phải lưu trữ bằng hìnhthức phân cấp, phân tán: cấp quyền đăng nhập vào hệ thống theo từng cấp
độ người dùng: khách hàng, nhân viên mỗi cấp độ cần quy định rõ ràngquyền hạn, giới hạn với các thao tác xem, tìm kiếm và truy xuất, thao tác dữliệu…
- Mã hóa dữ liệu: chuyển dữ liệu ra các dạng mật mã, bit… để đảm bảo an
toàn khi truy xuất dữ liệu từ xa hoặc truyền dữ liệu qua mạng internet màmáy chủ khó có thể quản lý
- Sao lưu định kì: kiểm tra, cập nhật, thêm (các dữ liệu mới) bớt (các dữ
liệu cũ, hoặc không còn hiệu lực) và sao lưu dữ liệu một cách định kỳ nhưhàng tháng, hàng quý… để đảm bảo tình trạng lưu trữ dữ liệu luôn là tốtnhất
- Phục hồi khi có sự cố: các sự cố có thể xảy ra như mất điện trong thời
gian dài, server bị DDOS, hack, nhiễm mã độc, tai nạn (hỏa hoạn, thiêntai…) có thể dẫn đến việc dữ liệu bị mất Cần có cơ chế khôi phục các dữliệu, đặc biệt là các dữ liệu quan trọng; phục hồi các hoạt động của hệthống…
Trang 13- Yêu cầu thiết bị, cấu hình: đơn giản, tối ưu hóa phần mềm để tương thích
với nhiều loại thiết bị, hệ điều hành, nhiều mức độ cấu hình, đặc biệt vớicác loại máy trung bình yếu, phòng tình trạng yêu cầu cấu hình vượt khảnăng của khách hàng Cần đơn giản hóa các khâu cài đặt, thiết lập chứcnăng, thông số…
- Các bản dùng thử: tạo ra các bản dùng thử để khách hàng kiểm nghiệm
trước khi đặt hàng, cần có nhiều bản dung thử ứng với nhiều loại kháchhàng, quy mô kinh doanh khác nhau
I.3 Mô hình quan hệ
I.3.1 Mô hình quan hệ
Trang 14I.3.2 Mô tả các quan hệ
THANHVIEN: ID, MK, GIOITINH, HO , TEN, DC, PHONE, QUYEN,
NGAYDK
SAN: MASAN, MADD, LOAISAN, NGAYMO, TINHTRANG,
GHICHU, GIASAN
TRANDAU: MATRAN, MASAN, MADD, ID, NGAYDAT, GIOBD,
GIOKT, TINHTRANG, TONGTIEN
DIADIEM: MADD, TENDD, SO, DUONG, PHUONG, QUAN,
GHICHU
HANG: MAHANG, MADD, TON, DONGIA DICHVU: MADV, MADD, TENDV, DONGIA, TON HOADON: SOHD, NGAYHD, ID, TONGTIEN, TINHTRANG CTHD: SOHD, MAHANG, MADD, SOLUONG
CTDV: MATRAN, MADV, MADD, SOLUONG
*Mô tả CSDL bằng ngôn từ
- Người quản lý của sân bóng phải nắm được thông tin việc đặt sân bóngcủa các thành viên có tài khoản trên website của sân bóng.Việc đặt sânbóng bao gồm việc đặt bao nhiêu sân,loại sân nào,và ở quận nào,huyện nàotrong thành phố,….Người quản lý còn phải tính luôn cả phụ thu cho nhữngphí phát sinh khác trong quá trình người chơi bóng nhận sân cho đến khihết trận như phí mượn áo đấu cùng màu,phí nước giải khát,đồ ăn đi kèm,…
- Bảng người dùng(THANHVIEN).Người dùng sẽ phải cung cấp tên đăngnhập (ID), mật khẩu(MK),họ(HO),tên(TEN), giới tính(GIOITINH),địachỉ(DC) và số điện thoại(PHONE) và được mặc định cấp quyền(QUYEN)
= 1 nghĩa là quyền thành viên,và 0 là quyền admin khi đăng ký làm thànhviên, 2 là thành viên đang bị khoá
- Bảng trận đấu bao gồm mã trận(MATRAN-hệ thống cung cấp),mãsân(MASAN) ,mã địa điểm(MADD) được người dùng cung cấp khi tiến
Trang 15hành đặt sân.Ngày thi đấu(NGTRAN) được quy định là phải sau hoặc bằngngày hiện tại hệ thống Giờ bắt đầu(GIOBD) và giờ kết thức(GIOKT) đượccung cấp sao cho hiệu GIOKT-GIOBD >=30p và phải là bội số của 5.Tìnhtrạng(TINHTRANG) sân gồm 3 thông số (0: trận đấu chưa bắt đầu, 1: trậnđấu đã kết thúc, 2: trận đấu bị huỷ hợp lệ), Tổng tiền (được tính bằng tổngtiền hoá đơn (nếu có) và tiền thuê sân)
- Bảng địa điểm bao gồm mã địa điểm(MADD) được đánh số thứ tự mà hệthống tự cung cấp với các thông tin mà địa điễm đó toạ lạc
- Bảng sân gồm mã sân(MASAN),mã địa điểm(MADD) tương ứng với mỗiđịa điễm (MADD) sẽ có nhiều sân (MASAN) (LOAISAN) chỉ số lượngngười của mỗi đội trên sân TINHTRANG chỉ tình trạng hoạt động củasân(Y: sân có thể thuê, N: sân kkhông thể thuê)
- Bảng (HOADON) là thể hiện hoá đơn mua hàng (đồ ăn, thức uống) củathành viên yêu cầu hệ thống Tình trạng (TINHTRANG) của hoá đơn sẽ thểhiện (hoá đơn chưa thanh toán, đã thanh toán, hay bị bỏ) Ngày hoá đơn(NGAYHD) sẽ là ngày tình trạng hoá đơn được quyết định
-Bảng chi tiết hóa đơn(CTHD) gồm mã trận(MAHD),mã hàng(MAHANG),
mã địa điễm(MADD) lấy từ bảng hàng hóa (HANG) và số lượng hàng(SL).-Bảng hàng hóa(HANG) gồm mã hàng(MAHANG-hệ thống cung cấp),mãđịa điễm(MADD) thông tin hàng hoá của địa điễm (Thể hiện, hàng hoá có(MAHANG) ở địa điễm (DIADIEM) nào
- Bảng Chi tiết dịch vụ (CTDV) Tương ứng với mỗi TRANDAU, thànhviên có thể đăng ký thêm các DICHVU của hệ thống như thuê các dụng cụ
Trang 16T Tên Thuộc Tính Kiểu Ràng Buộc Giá Trị Khởi
Động
Ý Nghĩa/ Ghi Chú
9 NGAYDK SMALLDATETIM
E
Ngày Đăng Ký
Trang 17T Tên Thuộc Tính Kiểu Ràng Buộc Giá Trị Khởi Động Ý Nghĩa/Ghi Chú
4 ID VARCHAR(20
)
ID
8 TINHTRAN
G
Table ĐỊA ĐIỂM
ST
T Tên Thuộc Tính Kiểu Ràng Buộc Giá Trị Khởi Động Ý Nghĩa/Ghi Chú
4 DUONG MVARCHAR(40
Trang 181 MAHANG INT Khác null Mã Hàng
T Tên Thuộc Tính Kiểu Ràng Buộc Giá Trị Khởi Động Ý Nghĩa/ Ghi Chú
Trang 192 MAHANG INT Khác null Mã Hàng
3 MADD INT Khác null Mã Địa Điểm
1 MATRAN INT Khác null
2 MADV INT Khác null
3 MADD INT Khác null
4 SOLUONG INT
I.3.4 Mô hình ER-Mô tả ràng buộc toàn vẹn
I.3.4.1 Mô hình ER
Trang 20I.3.4.2 Mô tả ràng buộc toàn vẹn
- Ràng buộc tự nhiên
ST
T Mã Ràng Buộc Nội Dung Bối Cảnh
1 RTN1 NGAYDK (đăng ký thành viên) >
NGAYDAT ( thành viên đặt sân)
THANHVIEN, TRANDAU
2 RTN2 NGAYMO(ngày mở sân) >
NGAYDAT(ngày đặt sân)
SAN, TRANDAU
3 RTN3 GIOBD(giờ bắt đầu trận đấu) >
GIOKT( giờ kết thúc trận đấu) TRANDAU
4 RTN4 Người cập nhật cho mỗi trận đấu phải
là người quản lý
THANHVIEN, TRANDAU
Trang 21RTN2 Thêm Xóa Sửa
T Mã Ràng Buộc Nội Dung Bối Cảnh
1 RNC1 ID và PHONE của THANHVIEN là duy
nhất đối với mỗi thành viên khi đăng ký vào hệ thống
THANHVIEN
2 RNC2 Mã địa điễm là số thứ tự của các địa điễm
có trong hệ thống bắt đầu từ 1 Khi thêm mới phải kiểm tra có những số thứ tự bị xóa thì bổ sung vào những số thứ tự còn trống này; nếu không có (nghĩa là những sốthứ tự liên tục với nhau) thì thêm với số thứ
tự tiếp theo Trongtrường hợp xóa thì không phải chỉnh sửa lại số thứ tự của các tựa sách ở phía sau
DIADIEM
Trang 223 RNC3 Khi đăng ký hoá đơn, thành viên chỉ có thể
chọn mua những hàng hoá trong hệ thống với số lượng nhỏ hơn số lượng tồn của hàng hoá đó
THANHVIEN, HOADON, HANG
4 RNC4 Khi đăng ký dịch vụ từ hệ thống hệ thống
sẽ kiễm tra trong dữ liệu hiện có- tổng những dịch vụ cùng loại đã được đăng ký, nếu lớn hơn số lượng tồn của dịch vụ đó thìthành viên sẽ không được đăng ký
THANHVIEN, DICHVU
5 RNC5 Những thành viên huỷ đăng ký trận không
hợp lệ( huỷ trước khi bắt đầu trận đấu 60 phút, hay bỏ trận đấu không đến) hay huỷ đăng ký hoá đơn (được xét tương tự huỷ trận đấu) 3 lần Thì tình trạng thành viên đó
sẽ trở thành “bị khoá” thành viên đó sẽ không thể đăng ký trận đấu được nữa
( Trong trường hợp thành viên đó chưa đăng ký hoá đơn, hay trận đấu nào hợp lệ thì thông tin thành viên đó sẽ bị xoá) Đồngthời những Hoá đơn, những Trận đấu bị huỷ không hợp lệ trước đó, sẽ bị xoá
THANHVIEN, TRANDAU, HOADON
6 RNC6 Trận đấu được đăng ký sẽ có giờ bắt đầu
trễ hơn 5h00 và giờ kết thúc sớm hơn 23h00 Mỗi trận đấu có thời gian đấu tối thiểu là 30p, và tổng thời gian tính theo phút là bội số của 5 Trong thời gian một trận đấu được diễn ra trên một sân đấu; thì không thể đăng ký một trận đấu nào trên sân đấu đó mà có thời gian bắt đầu hay kết thúc trong khoảng thời gian đó Mỗi trận đấu chỉ có thể đăng ký tối đa 3 trận đấu/
ngày, và mỗi trận đấu có thời lượng tối đa
8 RNC8 Thành viên chỉ có thể đăng ký dịch vụ, khi
đã đăng ký trận bóng trước đó
THANHVIEN, TRANDAU,
Trang 239 RNC9 Mỗi ngày(ngayhd trong quan hệ hoá đơn)
mỗi thành viên chỉ có thể đăng ký tối đa 3 hoá đơn
HOADON, CTHD
10 RNC10 Khi sân có vấn đề cần được sửa chửa(tình
trạng:N) sẽ xóa trận đấu đó Khi sân sửa chữa xong những trận đấu chưa diễn ra sẽ trở lại bình thường
SAN, TRANDAU
Trang 24RNC7 Thêm Xóa Sửa
II Phần 2:Xây dựng giao tác trigger-store procedure
II.1 Các thủ tục store procedure cho quản lý sân bóng
II.1.1 Liệt kê danh sách các thàng viên đăng ký sân trong cùng ngày
-Tên:sp_DSTVN-Nội dung:thống kê danh sách thông tin tất cả thành viên có đặt sân trongngày-ngày được nhập vào hệ thống từ quản lý
II.1.2 Liệt kê danh sách những thành viên không đăng ký thuê sân trong 1 khoảng thời gian
Trang 25-Tên:sp_TVKHD-Nội dung:Liệt kê không trùng lặp thông tin tất cả thông tin thành viênkhông đăng ký đặt sân trong khoảng thời gian nhập vào từ hệ thống
II.1.3 Thêm một trận đấu
-Tên:sp_addTRAN-Nội dung:thêm một trận đấu được đăng ký mới từ thành viên-Các bước thực hiện:
B1:Kiểm tra xem sân bóng trong trận đấu có nằm trong CSDL hay không
+Nếu không có,hủy bỏ giao tácB2:Nếu có,kiểm tra ID thành viên đã đăng ký chưa
+Nếu chưa,hủy bỏ giao tácB3:Nếu có,kiểm tra ID thành viên còn hiệu lực không
+Nếu không,hủy bỏ giao tácB4:Nếu có,kiểm tra ngày đăng ký sân có lớn hơn ngày mở sân hay không
+Nếu không ,hủy vỏ giao tácB5:Nếu có,kiểm tra ngày đăng ký sân có lớn hơn ngày đăng ký tài khoảnkhông
+Nếu không,hủy bỏ giao tácB6:Nếu có,kiểm tra quy định về giờ giấc trong quy định 6
+Nếu không thỏa,hủy bỏ giao tácB7:Nếu thỏa,kiểm tra xem giờ đặt sân có lớn hơn hoặc bằng giờ kết thúcmột trận đấu khác hay không
+Nếu không,hủy bỏ giao tácB8:Nếu có,kiểm tra về hạn chế số lần thành viên đăng ký sân trong quyđịnh 6
+Nếu không thỏa,hủy bỏ giao tácB9:Nếu thỏa,thêm mới một bộ dữ liệu trong bảng trận đấu
Trang 26-Tên:sp_addHD-Nội dung:thêm một hóa đơn khi có khách hàng đăng ký sử dụng hàng hóa-Các bước thực hiện:
+B1:Kiểm tra thành viên đã đăng ký tài khoản chưa
-Nếu chưa,hủy bỏ giao tác+B2:Nếu có,kiểm tra tài khoản thành viên còn hiệu lực hay không
-Nếu không,hủy bỏ giao tác+B3:Nếu có,kiểm tra về hạn chế số lần đặt sân của thành viên trong quy định 6
-Nếu không thỏa,hủy bỏ giao tác+B4:Nếu thỏa,thêm mới một bộ dữ liệu trong bảng hóa đơn
II.1.5 Thêm một sân đấu
-Tên:sp_addSAN-Nội dung:thêm một sân đấu mới vào bảng sân-Các bước thực hiện:
B1:Kiểm tra xem địa điểm có tồn tại không
+Nếu không,hủy bỏ giao tácB2:Nếu có,thêm mới một bộ dữ liệu vào bảng sân đấu
II.1.6 Thêm một dịch vụ
-Tên:sp_addDV-Nội dung:thêm mới một bộ dữ liệu vào bảng dịch vụ-Các bước thực hiện:
B1:Kiểm tra xem địa điểm có tồn tại hay không
+Nếu không,hủy bỏ giao tácB2:Nếu có,thêm mới một bộ dữ liệu vào bảng dịch vụ
II.1.7 Thêm một hàng hóa
-Tên:sp_addHang