数据库课程设计综合体育馆管理系统ppt课件.pptx
对外经济贸易大学综合体育馆数据库系统,组长:辛爽组员:吴欣 吕鸿见 李坤益 王晓妍,目录,1数据库设计概要2系统需求分析3系统的概念设计4逻辑结构设计5数据库的建立与实施6成果展示,1数据库设计概要,1.1背景 随着对外经济贸易大学综合体育馆的建设进行,借助本学期数据库系统的学习,我们小组决定尝试为学校综合体育馆建立一个较为完善的管理系统,学以致用的同时为学校尽绵薄之力。综合体育馆包括羽毛球馆、乒乓球馆、游泳馆等各个场馆,通过对每个场馆及器材使用情况的了解,最大程度上满足租借者对体育馆预约的需求,需要合理的数据库结构来保存、更新和查询数据信息。在此基础上,该数据库系统提供更加完善的服务,譬如:体育馆的收费管理及租借者信息管理。基本实现对综合体育馆多方面的有效管理。,1.2 数据库任务概述,目标 该数据库系统的开发致力于为包括贸大师生在内的综合体育馆用户提供便利。主要实现以下服务功能:1、体育馆场地日常租用管理。2、器材的日常租赁管理及偶尔的购买、损坏、丢失的更新管理。3、资金的管理,日常收入以及购买器材等支出。4、用户信息的分权限管理,体育馆使用记录,信用评级等。,2 系统需求分析,(1)系统功能图,(2)日常教学相关业务流程图,(2)对外租借场地、器材业务流程图,(3)数据流,(4) 数据字典,1、数据结构条目,2、数据项条目器材信息部分,2、数据项条目场地信息,2、数据项条目用户信息,2、数据项条目租借信息,2、数据项条目账号信息,3系统的概念设计,系统各功能模块设计(1)管理员管理系统局部视图(2)用户系统局部视图(3)馆长系统局部视图(4)整体ER图,整体ER图,4 逻辑结构设计,将E-R图向关系模型转换:场地(场地编号,场地名称,会员价格,非会员价格)器材(器材编号,器材名称,总数量,剩余数量,会员价格,非会员价格)用户(用户编号,用户姓名,用户身份,余额)已借出场地(场地编号,场地名称,租借起始时间,租借终止时间,状态)已借出器材(器材编号,器材名称,租借起始时间,租借终止时间)用户租借场地(场地编号,场地名称,用户编号,用户姓名,租借费用,租借起始时间,租借终止时间,租借总时长,订单编号,备注)用户租借器材(器材编号,器材名称,用户编号,用户姓名,租借个数,租借费用,租借起始时间,租借终止时间,租借总时长,订单编号,备注),5 数据库的建立与实施,5.1建立数据库、表5.2数据输入5.3数据查询5.4触发器5.5存储过程,5.1建立数据库、表建库,USE masterIF EXISTS (SELECT name FROM master.dbo.sysdatabasesWHERE name = GYM)DROP DATABASE GYMGOcreate database GYM on primary(name = GYM_data,filename = e:lxldbGYM_Data.MDF,size = 5mb,filegrowth = 10%)log on (name = GYM_log,filename = e:lxldbGYM_Log.LDF,size = 5mb,filegrowth = 10%);,5.1建立数据库、表建表,create table AREA(ANO CHAR(8) PRIMARY KEY,ANAME CHAR(10),ARENTMEMBER float,ARENTNONMEMBER float);CREATE TABLE USERS(UNO CHAR(8) PRIMARY KEY,UNAME CHAR(6),UIDENTITY CHAR(6),UREMAIN float);,CREATE TABLE LIMIT(LNO CHAR(8) PRIMARY KEY,LIDENTITY CHAR(6),LDETAIL CHAR(10);CREATE TABLE RESERVATION1(RANO CHAR(8),rname char(10),RTIMESTART datetime,RTIMEEND datetime,rcondition char(8),primary key(rano,rtimestart),foreign key (rano) references area(ano);create table reservation2(reno char(8),rname char(12),rtimestart datetime,rtimeend datetime,primary key(reno,rtimestart),foreign key (reno) references equipment(eno);,5.1建立数据库、表建表(续),CREATE TABLE LEASE1(ANO CHAR(8),Aname char(10),UNO CHAR(8),uname char(12),FEE float,LTIMESTART datetime,LTIMEEND datetime,LTIME SMALLINT,LREMARK CHAR(10)primary key(ANO,UNO,LTIMESTART),foreign key (ANO) references AREA(ANO),foreign key (UNO) references USERS(UNO);,CREATE TABLE LEASE2(ENO CHAR(8),ename char(12),UNO CHAR(8),nname char(10),number smallint,FEE float,LTIMESTART datetime,LTIMEEND datetime,LTIME SMALLINT,LREMARK CHAR(10)primary key(ENO,UNO,LTIMESTART),foreign key (ENO) references EQUIPMENT(ENO),foreign key (UNO) references USERS(UNO);,5.2数据输入,举例:INSERT AREA VALUES(01010001,篮球场,10,50)INSERT USERS VALUES(02010003,吕鸿见,会员,1200)INSERT EQUIPMENT VALUES(03010001,篮球,2,5,30,30)-这些数据是开学前预置好的,是供上课使用的场地,状态是“不可用”-如果是用户借用的场地,则rcondtion显示的是空值(NULL)insert reservation1 values(01010001,篮球场,13-05-01 8:00:00,13-05-01 10:00:00,不可用)-这些是用户预定的场地insert lease1 values(01010001,篮球场,02010001,辛爽,20,13-05-0514:00:00,13-05-05 16:00:00,2,无)-这些是用户现场借用器材的记录insert lease2 values(03010001,篮球,02010002,吴欣,15,150,13-05-028:00:00,13-05-02 10:00:00,2,无),5.3数据查询,-在reservation1表中查找“篮球场”在“-05-01 9:00:00”和“-05-01 11:00:00”是否可借用select * from reservation1 where rname=篮球场and rtimeend between 13-05-01 9:01:00 and 13-05-01 11:00:00or rtimestart between 13-05-01 9:01:00 and 13-05-01 11:00:00;-在LEASE1表中查找各个场地的收入情况select aname,sum(fee)各项收入from lease1 group by aname;,5.3数据查询,-在LEASE1表中查找“13-05-05 8:00:00和13-05-07 12:00:00之间的收入情况select sum(fee)收入from lease1 where ltimestart between 13-05-05 8:00:00and 13-05-07 12:00:00;-在LEASE1表中查找总收入情况select sum(fee)总收入from lease1;-在EQUIPMENT表中查找器材剩余数量select ename,rnumber from equipment where ename=羽毛球,5.3数据查询,-当用户来归还羽球时,把EQUIPMENT表中rnumber改成 35update equipment set rnumber=35 where ename=羽毛球-在LEASE2中查找各项收入情况,与LEASE1类似select ename,sum(fee)各项收入from lease2 group by ename;select sum(fee)收入from lease2 where ltimestart between 13-05-02 8:00:00and 13-05-03 12:00:00;select sum(fee)总收入from lease2;,5.4触发器,5.4.1 租借场地建立在“租借场地“上,功能实现:当用户借用场地后(即在LEASE1插入条记录时),自动在USERS表中该用户的账户上扣除相应的金额create trigger UPDATE_USERSON LEASE1after insertasupdate users set uremain=uremain-inserted.feefrom users,inserted where users.uname=inserted.uname;,5.4.2 场地管理,建立在“场地及器材管理”上,功能实现:当用户借用场地后(即在LEASE1中插入一条记录时),相应的在reservation1中插入该条记录,-该条记录在reservation1中rcondtion属性是空值(NULL)create trigger INSERT_reservation1ON LEASE1for insertas begininsert into reservation1(rano,rname,rtimestart,rtimeend)select inserted.ano,inserted.aname,inserted.ltimestart,inserted.ltimeendfrom insertedend;,5.4.3 器材管理,建立在“场地及器材管理”上,功能实现:当用户在现场借用器材后,在reservation2中插入该条记录create trigger INSERT_reservation2ON LEASE2for insertas begininsert into reservation2(reno,rname,rtimestart,rtimeend)selectinserted.eno,inserted.ename,inserted.ltimestart,inserted.ltimeend frominsertedend;,5.4.4 用户管理,建立在“用户管理”上,实现功能:当用户在现场用器材后,自动在USERS表中该用户的账户上扣除相应的金额create trigger UPDATE_USERS2ON LEASE2after insertasupdate users set uremain=uremain-inserted.feefrom users,inserted where users.uname=inserted.nname;,5.4.5 用户管理,建立在“用户管理”上,实现功能:当用户在现场借用器材后,自动在EQUIPMENT表中剩余数量(rnumber)扣除借走的数量create trigger UPDATE_EQUIPMENTON LEASE2after insertasupdate EQUIPMENT set rnumber=rnumber-inserted.numberfrom EQUIPMENT,inserted where EQUIPMENT.eno=inserted.eno;,5.5存储过程,-在LEASE1表中查找各个场地的收入情况create procedure eb_sp_各个场地收入 aname CHAR(10)as select aname,sum(fee)各项收入 from lease1 where aname=anamegroup by anamegoexec eb_sp_各个场地收入 篮球场,-在LEASE1表中查找“13-05-05 8:00:00和13-05-07 12:00:00之间的收入情况create procedure eb_sp_不同时间段场地收入 LTIMESTART datetime, LTIMEEND datetimeas select sum(fee)收入 from lease1 where ltimestart between LTIMESTART and LTIMEENDgoexec eb_sp_不同时间段场地收入 13-05-05 8:00:00,13-05-07 12:00:00,-在EQUIPMENT表中查找器材剩余数量create procedure eb_sp_器材剩余数量 ENAME CHAR(12)as select ename,rnumber from equipment where ename=ENAMEgoexec eb_sp_器材剩余数量羽毛球,-在LEASE2中查找各项收入情况,与LEASE1类似create procedure eb_sp_各项器材收入 ename CHAR(12)as select ename,sum(fee)各项收入 from lease2 where ename=enamegroup by enamegoexec eb_sp_各项器材收入羽毛球,-在LEASE2中查找不同时间段器材收入情况,与LEASE1类似create procedure eb_sp_不同时间段器材收入 LTIMESTART datetime, LTIMEEND datetimeas select sum(fee)收入 from lease2 where ltimestart between LTIMESTART and LTIMEENDgoexec eb_sp_不同时间段器材收入13-05-02 8:00:00,13-05-07 12:00:00,6 成果展示,6.1 用户登陆界面6.2 管理员登陆界面6.3 用户信息查询6.4 空闲场地查询6.5 订单查询6.6 空闲器材查询6.7 新增用户6.8 用户余额充值6.9 修改用户信息6.10 场地租借6.11 器材租借6.12 新增器材管理,6.1 用户登陆界面,6.2 管理员登陆界面,6.3 用户信息查询,6.4 空闲场地查询,6.5 订单查询,6.6 空闲器材查询,6.7 新增用户,6.8 用户余额充值,6.9 修改用户信息,6.10场地租借,6.11 器材租借,6.12 新增器材管理,THE END谢谢欣赏!,