当前位置:文档之家› 运动会管理系统

运动会管理系统

一﹑设计目的: (4)二、实验平台: (4)1、visio 2003 :E-R图; (4)2、SQL 2005。

(4)三、试题容: (4)四、设计步骤 (4)1. 需求分析 (4)2. 概念结构设计 (6)(1) 抽象出实体,并画出各实体的E-R 图; (6)(2) 分析各实体之间的联系及类型,设计运动会管理系统总体E-R图。

73. 逻辑结构设计 (7)4. 数据库物理设计与实现 (7)(1)建立“运动会管理系统”数据库 (7)(2)建立基本表 (9)(3)管理基本表 (12)(4) 使用Insert 语句插入数据,各表中的数据如下: (13)(5) 建立和管理视图 (18)(6) 建立和管理索引 (19)5. 数据库访问 (19)数据查询: (19)数据更新: (23)6. 数据库备份 (28)(1) 使用SQL 语句备份数据库 (28)五、课程设计小结: (29)六、主要参考文献: (30)一﹑设计目的:按照关系型数据库的基本原理,综合运用所学知识,完成运动会管理数据库应用系统的设计全过程,包括需求分析、数据库设计、数据库建立,数据输入、应用系统的设计和开发、用户界面的设计和实现、系统安装和调试。

通过对一个实际问题的分析、设计实现,将原理与应用结合,学会学以致用,并能够解决实际问题。

二、实验平台:1、visio 2003 :E-R图;2、SQL 2005。

三、试题容:根据给定的“运动会管理系统”的需求分析,完成概念结构设计、逻辑结构设计、数据库的物理设计、数据库的访问和数据库维护等容,并提交完整的课程设计报告。

四、设计步骤1. 需求分析引入计算机管理运动会,运动可以在运动会管理系统中查询自己的比赛项目及比赛结果,裁判员或工作人员可以通过系统记录运动员各个比赛项目的成绩、进行成绩统计等。

运动会管理系统保存运动员、比赛项目以及不同类型的比赛的参数数据。

对于运动员来说:可以查看运动员所在代表队的名称、领队、本代表队的总积分、总名次;查看运动员参加比赛的项目、每个项目的成绩、积分等。

对于管理员来说:可以记录并查看运动员参加比赛项目的成绩、积分、名次;查看各代表队的总积分、总名次等。

运动会管理系统同主要管理对象有代表队、运动员、比赛项目等。

对于代表队,需要有代表队号、代表队的名称、领队、本代表队的总积分、总名次等属性;对于运动员需要有运动员号、姓名、年龄、性别等属性;对于比赛项目,需要有项目号、项目类别、项目名称、成绩单位等属性。

在运动会管理系统中,基本规定为:一个代表队包含多个运动员,一个运动员只能属于一个代表队;一个运动员可以参加多个比赛项目,一个比赛项目也可以被多个运动员参加;假设各个比赛项目结束后,按照成绩由高到低排出名次,并对前3 名运动员给予相应的积分,如第1、2、3 名分别积分为3 分、2 分、1分,而获得其他名次的运动员积分为0分,将代表队中所有成员的积分累加,得到各代表队总积分,将总积分由高到低排序,得到各个代表队的排名情况。

为简化系统需求,本系统只考虑代表队、运动员、比赛项目的关系,其他关系不考虑。

2. 概念结构设计(1) 抽象出实体,并画出各实体的E-R 图;(2) 分析各实体之间的联系及类型,设计运动会管理系统总体E-R图。

3. 逻辑结构设计逻辑结构设计:根据E-R 图,设计运动会管理数据库的关系模式。

(1)、运动员(运动员号,姓名,年龄,性别);(2)、代表队(代表队号,队名称,领队,总积分,总名次);(3)、比赛项目(项目号,项目类别,项目名称,成绩单位);(4)、参加(运动员号, 项目号,成绩,积分,名次)。

4. 数据库物理设计与实现(1)建立“运动会管理系统”数据库其初始大小为100MB,增长率为10%,数据文件和日志文件名分别为:“运动会管理系统_data”和“运动会管理系统_log”,存储路径为“E:\data”文件夹下。

创建运动会数据库SQL代码如下:CREATE DATABASE运动会管理系统--创建数据库ON(NAME=运动会管理系统1_data,--主数据文件的逻辑名FILENAME='E:\data\运动会管理系统.mdf',--主数据文件的物理名SIZE=100MB,--初始大小MAXSIZE=200MB,FILEGROWTH=10%--增长率)LOG ON(NAME=运动会管理系统1_log,--日志文件的逻辑名FILENAME='E:\data\运动会管理系统.ldf',--日志文件的物理名SIZE=1MB,MAXSIZE=20MB,FILEGROWTH=10%)GO(2)建立基本表①创建代表队表创建代表队表SQL代码:CREATE TABLE代表队(代表队号CHAR(10)NOT NULL PRIMARY KEY, 队名称CHAR(20)NOT NULL,领队CHAR(10)NOT NULL,总积分INT NOT NULL CHECK(总积分>=0),总名次INT NOT NULL CHECK(总名次>=0),)②创建运动员表创建运动员表SQL代码:CREATE TABLE运动员(运动员号CHAR(6)NOT NULL PRIMARY KEY,姓名CHAR(10)NOT NULL,性别CHAR(10)NOT NULL CHECK(性别='男'or性别='女'), 年龄Tinyint NOT NULL CHECK(年龄>1 and年龄< 100),代表队号CHAR(10)NOT NULL,)③创建比赛项目表创建比赛项目表SQL代码:CREATE TABLE比赛项目(项目号CHAR(6)NOT NULL PRIMARY KEY,项目类别CHAR(10)NOT NULL,项目名称CHAR(20)NOT NULL,成绩单位CHAR(20)NOT NULL,)④创建比赛详情表创建比赛详情表SQL代码:CREATE TABLE比赛详情(运动员号CHAR(6)NOT NULL,项目号CHAR(6)NOT NULL,成绩Float,积分Tinyint CHECK(积分>= 0 ),名次Tinyint CHECK(名次>= 0 ),CONSTRAINT运动会管理系统_比赛详情_运动员号FOREIGN KEY(运动员号) REFERENCES运动员(运动员号),CONSTRAINT运动会管理系统_比赛详情_项目号FOREIGN KEY(项目号)REFERENCES 比赛项目(项目号),)(3)管理基本表(3-1) 向运动员表中增加“身高”列,其数据类型为整型。

SQL代码:alter table运动员add身高INT NULL原运动员表:增加了身高列:(3-2) 将运动员表中的“身高”的数据类型改为浮点型。

SQL代码:alter table运动员alter column身高float(3-3) 为运动员表中的“身高”属性增加取值必须大于0 的约束条件。

SQL代码:alter table运动员add constraint运动会管理系统_运动员_身高check(身高>0)(3-4) 删除运动员表中的“身高”列。

alter table运动员drop constraint运动会管理系统_运动员_身高alter table运动员drop column身高身高列已删除:(4) 使用Insert 语句插入数据,各表中的数据如下:(4-1) 代表队表数据SQL代码:代表队insert into代表队values('GLXY','管理学院','吴道福','7','2')insert into代表队values('JSJXY','计算机学院','鹏','6','3')insert into代表队values('SXXY','数学学院','宋威','3','4')insert into代表队values('WYXY','外语学院','王光明','8','1')打开代表队表:(4-2) 运动员表数据SQL代码:insert into运动员values('G11001','钱翔','男','14','GLXY') insert into运动员values('G11002','吴帆','男','16','GLXY') insert into运动员values('G11003','石乔乔','女','16','GLXY') insert into运动员values('G11004','桂芳','女','19','GLXY') insert into运动员values('G11005','洪雪','女','18','GLXY') insert into运动员values('J11001','月','女','19','JSJXY') insert into运动员values('J11002','田楠','男','18','JSJXY') insert into运动员values('J11003','恒博','男','18','JSJXY') insert into运动员values('J11004','徐铜铃','男','15','JSJXY') insert into运动员values('J11005','明','男','16','JSJXY') insert into运动员values('S11001','崔天齐','男','18','SXXY') insert into运动员values('S11002','王','女','16','SXXY') insert into运动员values('S11003','冰洁','女','18','SXXY') insert into运动员values('S11004','中华','男','15','SXXY')insert into运动员values('S11005','雪平','女','15','SXXY') insert into运动员values('W11001','叶星','男','18','WYXY') insert into运动员values('W11002','顾羽翔','男','16','WYXY') insert into运动员values('W11003','袁建明','男','15','WYXY') insert into运动员values('W11004','琼','女','17','WYXY') insert into运动员values('W11005','孟储强','男','19','WYXY')打开运动员表:(4-3) 比赛项目表数据SQL代码:insert into比赛项目values('JS001M','径赛','男子米','秒') insert into比赛项目values('JS002W','径赛','女子米','分钟') insert into比赛项目values('TS001M','田赛','男子三级跳远','米') insert into比赛项目values('TS002W','田赛','女子铅球','米')打开比赛项目表:(4-4) 比赛详情表数据SQL代码:insert into比赛详情values('S11001','JS001M','12.91','3','1') insert into比赛详情values('J11005','JS001M','13.15','2','2') insert into比赛详情values('J11002','JS001M','13.19','1','3') insert into比赛详情values('S11004','JS001M','13.55','0','4') insert into比赛详情values('W11004','JS002W','1.24','3','1') insert into比赛详情values('J11001','JS002W','1.25','2','2') insert into比赛详情values('G11004','JS002W','1.32','1','3') insert into比赛详情values('G11003','JS002W','2.02','0','4')insert into比赛详情values('W11005','TS001M','5.47','3','1') insert into比赛详情values('W11002','TS001M','5.15','2','2') insert into比赛详情values('J11003','TS001M','5.11','1','3') insert into比赛详情values('S11004','TS001M','4.98','0','4') insert into比赛详情values('G11004','TS002W','5.72','3','1') insert into比赛详情values('G11003','TS002W','5.38','2','2') insert into比赛详情values('G11005','TS002W','5.21','1','3') insert into比赛详情values('W11004','TS002W','5.02','0','4')打开比赛详情表:(5-1) 生成一“项目类别”为“田赛”的视图,并将该视图命名为“田赛项目”。

相关主题