球员球队信息管理系统项目设计方案书.docx
- 文档编号:11581384
- 上传时间:2023-03-19
- 格式:DOCX
- 页数:18
- 大小:232.29KB
球员球队信息管理系统项目设计方案书.docx
《球员球队信息管理系统项目设计方案书.docx》由会员分享,可在线阅读,更多相关《球员球队信息管理系统项目设计方案书.docx(18页珍藏版)》请在冰豆网上搜索。
球员球队信息管理系统项目设计方案书
球员球队信息管理系统项目设计方案书
2.2系统可行性分析
时代的发展,技术的进入,人们生活水平的提高,人们对体育的热爱,使体育产业发展迅速,越来越多的参与到体育运动中,成为体育爱好者,成为体育职业运动员。
相应的,体育产业发展更加专业化,更加职业化,更加复杂庞大,组织、管理的工作量度增大了不少。
以篮球为例,欧美发达国家职业的篮球机构(例如美职篮)已有近百年的历史。
随着和平与发展的主旋律,全球化的时代,参与者的增加,职业篮球的竞争也愈加激烈,对职业球员的需求也在增加,职业球员的数量增长迅速,流动性也大了许多,跨国间的球员转会的数量越来越多,频率越来越快。
这些使其组织、管理的工作量增大了不少。
为了快捷方便的完成工作,提高运营,管理水平,必要开发球员管理信息系统,以便于篮球界各方的组织管理、参与关注。
从而促进篮球运动、篮球产业的发展。
综上分析,本系统可以立即开发。
第三章系统数据库设计
本数据库使用的是DBMS中的DQL(数据查询语言DataQueryLanguage)。
该查询语言可以按一定的查询条件从数据库对象中检索符合条件的数据,该查询语言更加适合本数据库使用。
3.1数据库概念设计
该数据库具有四个实体,分别为赛区,球队,球员,比赛。
实体之间的关系转换为其他两个表(球队参赛表,球员参赛表)。
赛区为实体,赛区名和地理位置是赛区的属性
球队是实体,球队名,城市,球员数,总冠军数,赛区名和赛区名次是球队的属性
球员是实体,球员姓名,年龄,身高,体重,国籍,位置,球队名,年薪和加盟时间是球员的属性
比赛是实体,比赛类型,开始时间和结束时间是比赛的属性
球队参赛是球队和比赛表关系转换得来,所以球员参赛是实体,球队名,比赛类型,名次和胜率是球队参赛的属性
球员参赛是球员和比赛表转换得来的,所以球员姓名,比赛类型,场均得分和个人奖项是球员参赛的属性
3.2数据库逻辑设计(关系模式)
赛区(赛区名,地理位置)
球队(球队名,城市,球员数,总冠军数,赛区名,赛区名次)
球员(球员姓名,年龄,身高,体重,国籍,位置,球队名,年薪,加盟时间)
比赛(比赛类型,开始时间,结束时间)
球队参赛(球队名,比赛类型,名次,胜率)
球员参赛(球员姓名,比赛类型,场均得分,个人奖项)
3.3数据库物理设计
赛区表
序号
列名
数据类型
宽度
是否主外键
是否为空
描述
1.
赛区
Varchar
10
PK
NotNull
赛区
2.
地理位置
Varchar
10
NotNull
地理位置
赛区表建表T-SQL语句
--创建赛区表
createtableDivision(
赛区名char(10)notnullprimarykey,
地理位置char(10)notnull,
)
球队表
列名
数据类型
宽度
是否主外键
是否为空
描述
1.
球队名
Varchar
20
PK
NotNull
球队名
2
城市
Varchar
20
NotNull
城市
3.
球员数
Int
NotNull
球员数
4.
总冠军数
Int
NotNull
总冠军数
5.
赛区名
Char
10
赛区表FK
NotNull
赛区名
6.
赛区名次
Int
NotNull
赛区名次
球队表建表T-SQL语句
--创建球队表
createtableteam
(球队名char(20)notnullprimarykey,
城市char(20)notnull,
球员数intnotnull,
总冠军数intnotnull,
赛区名char(10)null,
赛区名次intnotnull,
)
球员表
列名
数据类型
宽度
是否主外键
是否为空
描述
1.
球员姓名
Varchar
20
PK
NotNull
球员姓名
2.
年龄
Int
NotNull
年龄
3.
身高
Int
NotNull
身高
4.
体重
Int
NotNull
体重
5.
国籍
Varchar
10
NotNull
国籍
6.
位置
Varchar
10
NotNull
位置
7.
球队名
Varchar
20
球队表FK
NotNull
球队名
8.
年薪
Int
NotNull
年薪
9.
加盟时间
Datime
NotNull
加盟时间
球员表建表T-SQL语句
--创建球员表
createtableplayer
(球员姓名char(20)notnullprimarykey,
年龄intnotnull,
身高intnotnull,
体重intnotnull,
国籍char(10)notnull,
位置char(10)notnull,
球队名char(20)notnull,
年薪intnotnull,
加盟时间datetimenotnull,
)
--创建外键球队名
AlterTableplayerAddConstraintFK_球队名
ForeignKey(球队名)Referencesteam(球队名)
比赛表
序号
列名
数据类型
宽度
是否主外键
是否为空
描述
1.
比赛类型
Varchar
10
PK
NotNull
比赛类型
2.
开始时间
Datime
NotNull
开始时间
3.
结束时间
Datime
NotNull
结束时间
比赛表建表T-SQL语句
--创建比赛表
createtablerace(
比赛类型char(10)notnullprimarykey,
开始时间datetimenotnull,
结束时间datetimenotnull,
)
球队参赛表
列名
数据类型
宽度
是否主外键
是否为空
描述
1.
球队名
Varchar
20
球队表FK
NotNull
球队名
2
比赛类型
Varchar
10
比赛表FK
NotNull
比赛类型
3.
名次
Int
NotNull
名次
4.
胜率
Float
NotNull
胜率
球队参赛建表T-SQL语句
--创建球队参赛表
createtableQC(
球队名char(20)notnull,
比赛类型char(10)notnull,
名次intnotnull,
胜率floatnotnull,
)
--创建外键--球队名
AlterTableQCAddConstraintFK_球队名_QC
ForeignKey(球队名)ReferencesTeam(球队名)
--创建外键--比赛类型
AlterTableQCAddConstraintFK_比赛类型
ForeignKey(比赛类型)Referencesrace(比赛类型)
球员参赛表
列名
数据类型
宽度
是否主外键
是否为空
描述
1.
球队名
Varchar
20
球队表FK
NotNull
球队名
2
比赛类型
Varchar
10
比赛表FK
NotNull
比赛类型
3.
场均得分
Float
NotNull
场均得分
4.
个人奖项
Varchar
15
个人奖项
球员参赛表建表T-SQL语句
--创建球员参赛表
createtablePC(
球员姓名char(20)notnull,
比赛类型char(10)notnull,
场均得分floatnotnull,
个人奖项char(15),
)
--创建外键--球员姓名
AlterTablePCAddConstraintFK_球员姓名
ForeignKey(球员姓名)Referencesplayer(球员姓名)
--创建外键--比赛类型
AlterTablepcAddConstraintFK_比赛类型_PC
ForeignKey(比赛类型)Referencesrace(比赛类型)
以上是六个表格的建立及代码,下面是数据库的插入数据和创建索引,代码如下:
--向赛区表加入数据
InsertintoDivisionvalues('EN','东北')
insertintoDivisionvalues('WS','西南')
insertintoDivisionvalues('ES','东南')
insertintoDivisionvalues('WN','西北')
--向球队表加入数据
insertintoTeamvalues('凯尔特人','波士顿','14','17','EN','7')
insertintoTeamvalues('热火','迈阿密','15','2','ES','2')
insertintoTeamvalues('湖人','洛杉矶','15','16','WS','11')
insertintoTeamvalues('雷霆','俄荷拉何马','14','1','WN','2')
--向球员表加入数据
insertintoplayervalues('KobeByrant','34','198','93','美国','得分后卫','湖人','2000','1996-08-12')
Insertintoplayervalues('DwightHoward','27','211','120','美国','中锋','湖人','1700','2012-08-09')
insertintoplayervalues('SteveNash','38','191','80','加拿大','控球后卫','湖人','1200','2012-08-22')
insertintoplayervalues('DwyaneWade','30','193','99','美国','得分后卫','热火','1700','2003-09-11')
insertintoplayervalues('ChrisBosh','28','211','106','美国','中锋','热火','1665','2010-07-25')
insertintoplayervalues('LebornJames','28','203','113','美国','得分后卫','热火','1770','2010-07-31')
insertintoplayervalues('KevinGarnett','36','211','115','美国','大前锋','凯尔特人','1455','2007-08-01')
insertintoplayervalues('LeandroBabosa','30','191','88','巴西','小前锋','凯尔特人','774','2008-08-06')
insertintoplayervalues('PaulPierce','35','201','106','美国','得分后卫','凯尔特人','1520','2010-07-09')
insertintoplayervalues('RusselWestbrook','24','191','85','美国','控球后卫','雷霆','1600','2008-03-06')
insertintoplayervalues('KevinDurant','24','206','106','美国','得分后卫','雷霆','1863','2007-03-15')
insertintoplayervalues('SergeIbaka','23','208','106','西班牙','中锋','雷霆','236','2008-04-05')
--向比赛表加入数据
insertintoracevalues('常规赛','2011-10-03','2012-04-22')
insertintoracevalues('季前赛','2011-08-31','2011-09-30')
insertintoracevalues('季后赛','2012-04-22','2012-07-25')
--向球队参赛表加入数据
insertintoQCvalues('凯尔特人','季前赛','2','0.8')
insertintoQCvalues('凯尔特人','常规赛','4','0.32')
insertintoQCvalues('凯尔特人','季后赛','3','0.47')
insertintoQCvalues('热火','季前赛','1','0.88')
insertintoQCvalues('热火','常规赛','2','0.76')
insertintoQCvalues('热火','季后赛','4','0.36')
insertintoQCvalues('湖人','季前赛','3','0.54')
insertintoQCvalues('湖人','常规赛','1','0.90')
insertintoQCvalues('湖人','季后赛','1','1')
insertintoQCvalues('雷霆','季前赛','4','0.25')
insertintoQCvalues('雷霆','常规赛','3','0.66')
insertintoQCvalues('雷霆','季后赛','2','0.88')
--向球员参赛表加入数据
insertintoPCvalues('KobeByrant','常规赛','28','MVP')
insertintoPCvalues('DwightHoward','季前赛','22','篮板王')
insertintoPCvalues('SteveNash','季后赛','17','助攻王')
insertintoPCvalues('DwyaneWade','常规赛','26',null)
insertintoPCvalues('ChrisBosh','季后赛','15',null)
insertintoPCvalues('LeBornJames','常规赛','31','盖帽王')
insertintoPCvalues('KevinGarnett','季前赛','12',null)
insertintoPCvalues('LeandroBabosa','季前赛','6',null)
insertintoPCvalues('PaulPierce','季后赛','20','抢断王')
insertintoPCvalues('RusselWestbrook','季前赛','24','最佳新秀')
insertintoPCvalues('KevinDurant','常规赛','32','得分王')
insertintoPCvalues('SergeIbaka','季后赛','22',null)
--创建索引--球队名
createuniqueindexIX_球队名onteam(球队名)
--创建索引--身高
createindexIX_身高onplayer(身高)
--创建索引--球员姓名
createindexIX_球员姓名onplayer(球员姓名)
该数据的查询功能—查询语句
多条件组合查询
-查询球员表中国籍是美国的所有球员
select*fromplayerwhere国籍='美国'
截图结果
--查询球员表中加盟时间在-08-01到-08-01的球员
select*fromplayerwhere加盟时间between'1996-08-0100:
00:
00.000'and'2008-08-0100:
00:
00.000'
截图结果
--查询球员表中球员年龄不超过的人数
selectCount(*)AS'年龄不超过的人数'
fromplayer
截图结果
--查询球员表中球员的平均年龄
selectSum(年龄)/12AS'平均年龄'
fromplayer
截图结果
--统计球员表中球员的年龄总和
selectSum(年龄)Fromplayer
截图结果
--查询各队季前赛的名次和胜率
select*fromQCwhere比赛类型='季前赛'
截图结果
--查询常规赛mvp的详细信息
select*frompCwhere个人奖项='MVP'
截图结果
未知值(null)查询
--查询在各项比赛中没有获得任何个人奖项的球员信息
select*fromPCwhere个人奖项ISNULL
截图结果
--查询场均得分超过分的人数
selectCount(*)AS'场均得分超过28的人数'
frompc
截图结果
--查询场均得分最高的前%的球员信息
selecttop10percent*frompc
orderby场均得分desc
截图结果
--排序增加删除数据
--按名次从大到小,胜率从小到大排序
select*fromQC
orderby名次Desc,胜率asc
截图结果
--需要向表中增加数据的代码
--为表球员参赛表(pc)增加列Comments,可以为空Null
AlterTablePC
AddCommentsvarchar(20)
select*frompc
截图结果
--需要向表中删除数据的代码
--删除一列
AlterTablepcDROPCOLUMNcomments
SELECT*FROMpc
截图结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 球员 球队 信息管理 系统 项目 设计方案