NBA球员球队信息管理系统项目设计方案Word文档下载推荐.docx
《NBA球员球队信息管理系统项目设计方案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《NBA球员球队信息管理系统项目设计方案Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。
![NBA球员球队信息管理系统项目设计方案Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-12/31/053344d9-efc8-4658-91fd-28795271fbf4/053344d9-efc8-4658-91fd-28795271fbf41.gif)
3.2数据库逻辑设计(关系模式)
赛区(赛区名,地理位置)
球队(球队名,城市,球员数,总冠军数,赛区名,赛区名次)
球员(球员姓名,年龄,身高,体重,国籍,位置,球队名,年薪,加盟时间)
比赛(比赛类型,开始时间,结束时间)
球队参赛(球队名,比赛类型,名次,胜率)
球员参赛(球员姓名,比赛类型,场均得分,个人奖项)
3数据库物理设计
赛区表
序号
列名
数据类型
宽度
是否主外键
是否为空
描述
1.
赛区
Varchar
10
PK
NotNull
2.
地理位置
赛区表建表T—SQL语句
—-创建赛区表
createtableDivision(
赛区名char(10)notnullprimarykey,
地理位置char(10)notnull,
)
球队表
1。
球队名
20
2
城市
3.
球员数
Int
4.
总冠军数
5.
赛区名
Char
赛区表FK
6.
赛区名次
球队表建表T—SQL语句
-—创建球队表
createtableteam
(球队名char(20)notnullprimarykey,
城市char(20)notnull,
球员数intnotnull,
总冠军数intnotnull,
赛区名char(10)null,
赛区名次intnotnull,
球员表
球员姓名
2。
年龄
身高
体重
国籍
位置
7.
球队表FK
8.
年薪
9.
加盟时间
Datime
球员表建表T—SQL语句
—-创建球员表
createtableplayer
(球员姓名char(20)notnullprimarykey,
年龄intnotnull,
身高intnotnull,
体重intnotnull,
国籍char(10)notnull,
位置char(10)notnull,
球队名char(20)notnull,
年薪intnotnull,
加盟时间datetimenotnull,
——创建外键球队名
AlterTableplayerAddConstraintFK_球队名
ForeignKey(球队名)Referencesteam(球队名)
比赛表
比赛类型
开始时间
结束时间
比赛表建表T-SQL语句
—-创建比赛表
createtablerace(
比赛类型char(10)notnullprimarykey,
开始时间datetimenotnull,
结束时间datetimenotnull,
球队参赛表
比赛表FK
名次
4。
胜率
Float
球队参赛建表T-SQL语句
--创建球队参赛表
createtableQC(
球队名char(20)notnull,
比赛类型char(10)notnull,
名次intnotnull,
胜率floatnotnull,
——创建外键--球队名
AlterTableQCAddConstraintFK_球队名_QC
ForeignKey(球队名)ReferencesTeam(球队名)
--创建外键--比赛类型
AlterTableQCAddConstraintFK_比赛类型
ForeignKey(比赛类型)Referencesrace(比赛类型)
球员参赛表
场均得分
个人奖项
15
球员参赛表建表T-SQL语句
-—创建球员参赛表
createtablePC(
球员姓名char(20)notnull,
比赛类型char(10)notnull,
场均得分floatnotnull,
个人奖项char(15),
-—创建外键--球员姓名
AlterTablePCAddConstraintFK_球员姓名
ForeignKey(球员姓名)Referencesplayer(球员姓名)
-—创建外键——比赛类型
AlterTablepcAddConstraintFK_比赛类型_PC
以上是六个表格的建立及代码,下面是数据库的插入数据和创建索引,代码如下:
-—向赛区表加入数据
InsertintoDivisionvalues('
EN’,'
东北'
insertintoDivisionvalues(’WS'
,'
西南'
insertintoDivisionvalues('
ES'
’东南’)
WN’,'
西北'
—-向球队表加入数据
insertintoTeamvalues(’凯尔特人'
,'
波士顿'
'
14'
,’17’,’EN'
’7'
insertintoTeamvalues(’热火'
,’迈阿密’,'
15'
,’2'
’ES’,’2’)
insertintoTeamvalues('
湖人’,’洛杉矶’,’15’,'
16’,'
WS’,'
11'
雷霆’,’俄荷拉何马’,’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'
LeandroBabosa'
30'
’191’,'
88'
,’巴西’,’小前锋'
’774'
,’2008—08-06’)
insertintoplayervalues(’PaulPierce'
35'
201’,’106’,’美国'
得分后卫’,'
’1520’,’2010—07-09'
RusselWestbrook'
24’,’191'
’85'
’美国’,’控球后卫’,'
雷霆’,'
1600’,’2008-03—06’)
insertintoplayervalues(’KevinDurant’,'
24'
,’206’,'
,’美国’,'
得分后卫'
1863'
,’2007—03—15’)
SergeIbaka'
23’,’208'
西班牙’,’中锋’,'
雷霆’,'
236'
2008—04-05’)
--向比赛表加入数据
insertintoracevalues('
常规赛'
2011-10—03'
2012—04-22'
insertintoracevalues(’季前赛’,’2011-08-31'
2011—09-30’)
季后赛'
’2012-04—22'
,’2012-07—25'
——向球队参赛表加入数据
insertintoQCvalues(’凯尔特人'
,’季前赛'
,’2’,’0.8'
insertintoQCvalues('
’常规赛’,’4’,'
0。
32’)
insertintoQCvalues(’凯尔特人’,’季后赛'
’3’,'
47'
’季前赛'
,’1’,’0.88'
热火’,'
’2'
’0。
76’)
insertintoQCvalues('
热火’,’季后赛’,'
4'
36’)
insertintoQCvalues(’湖人’,'
季前赛'
,’3’,'
54’)
insertintoQCvalues(’湖人'
,’常规赛’,’1’,'
0.90’)
湖人'
’季后赛’,’1'
1’)
insertintoQCvalues(’雷霆'
,’4’,’0.25’)
3’,’0。
66'
雷霆'
,’季后赛'
,’0。
——向球员参赛表加入数据
insertintoPCvalues(’KobeByrant’,’常规赛'
MVP’)
insertintoPCvalues('
DwightHoward'
’季前赛'
22'
篮板王'
SteveNash'
17'
,’助攻王’)
DwyaneWade'
,’常规赛'
26’,null)
ChrisBosh’,’季后赛’,’15'
null)
insertintoPCvalues(’LeBornJames’,'
31'
盖帽王'
KevinGarnett’,’季前赛'
’12’,null)
insertintoPCvalues(’LeandroBabosa’,'
季前赛’,’6'
,null)
PaulPierce’,'
20’,’抢断王'
最佳新秀’)
insertintoPCvalues(’KevinDurant'
’常规赛'
’32’,'
得分王'
insertintoPCvalues(’SergeIbaka’,'
,’22'
—-创建索引—-球队名
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.000'
—-查询球员表中球员年龄不超过的人数
selectCount(*)AS'
年龄不超过的人数’
fromplayer
-—查询球员表中球员的平均年龄
selectSum(年龄)/12AS’平均年龄’
-—统计球员表中球员的年龄总和
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