数据库项目NBA球队信息管理系统.docx

上传人:b****5 文档编号:6503549 上传时间:2023-01-07 格式:DOCX 页数:19 大小:361.78KB
下载 相关 举报
数据库项目NBA球队信息管理系统.docx_第1页
第1页 / 共19页
数据库项目NBA球队信息管理系统.docx_第2页
第2页 / 共19页
数据库项目NBA球队信息管理系统.docx_第3页
第3页 / 共19页
数据库项目NBA球队信息管理系统.docx_第4页
第4页 / 共19页
数据库项目NBA球队信息管理系统.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

数据库项目NBA球队信息管理系统.docx

《数据库项目NBA球队信息管理系统.docx》由会员分享,可在线阅读,更多相关《数据库项目NBA球队信息管理系统.docx(19页珍藏版)》请在冰豆网上搜索。

数据库项目NBA球队信息管理系统.docx

数据库项目NBA球队信息管理系统

NBA球队信息管理系统

一.系统需求

系统结构简述:

本系统包括6个实体:

球员;球队;比赛;赛区;赞助商,教练

实体之间的关系转换为其他三个表:

球队参加比赛情况,赞助,球员参赛情况(均为“M比N”关系)

实体“球员”与“球队”之间多对一化到“球员”表中,“球队”与“赛区”转换到表“球队”中,“教练”与“球队”转换到“球队”表中

注:

各个基本表中关键字已在关系模式中说明

该数据库需要进行如下数据处理(通过创建存储过程来实现):

查询某球员的基本信息:

输入:

球员姓名

输出:

球员姓名,年龄,身高,体重,国籍,位置,球队名,年薪,加盟时间

查询某球员的加盟球队情况:

输入:

球员姓名

输出:

球员姓名,球队名,球员数,总冠军数,赛区名,城市,赛区名次

查询某球员比赛表现(按得分降序排序):

输入:

球员姓名

输出:

球员姓名,比赛类型,开始时间,结束时间,场均得分,个人奖项

查询某赞助商所赞助球队情况:

输入:

赞助商名

输出:

赞助商名,球队名,名次,胜率

删除某球员信息:

输入:

球员姓名

操作:

删除其全部信息

 

二.ER图

 

三.逻辑结构设计

赛区(赛区名,地理位置)

球队(球队名,城市,球员数,总冠军数,赛区名,赛区名次)

球员(球员姓名,年龄,身高,体重,国籍,位置,球队名,年薪,加盟时间)

比赛(比赛类型,开始时间,结束时间)

球队参赛(球队名,比赛类型,名次,胜率)

球员参赛(球员姓名,比赛类型,场均得分,个人奖项)

赞助商(赞助商名,地区,行业,老板)

赞助(球队名,赞助商名,赞助金额)

教练(教练姓名,教练年龄,球队名,执教时间)

四.物理设计

表1:

赛区表

字段名

类型

特殊属性

赛区名

Char(10)

主键

地理位置

Char(10)

Notnull

表2:

球队表

字段名

类型

特殊属性

球队名

Char(20)

主键

城市

Char(20)

Notnull

球员数

Int

Notnull

总冠军数

Int

Notnull

赛区名

Char(10)

赛区表外键约束

赛区名次

Int

Notnull

表3:

球员表

字段名

类型

特殊属性

球员姓名

Char(20)

主键

年龄

Int

Notnull

身高

Int

Notnull

体重

Int

Notnull

国籍

Char(10)

Notnull

位置

Char(10)

Notnull

球队名

Char(20)

球队表外键约束

年薪

Int

Notnull

加盟时间

Datetime

Notnull

表4:

比赛表

字段

类型

特殊属性

比赛类型

Char(10)

主键

开始时间

Datetime

Notnull

结束时间

Datetime

Notnull

表5:

球队参赛表

字段

类型

特殊属性

球队名

Char(20)

球队表外键约束

比赛类型

Char(10)

比赛表外键约束

名次

Int

Notnull

胜率

Float

Notnull

表6:

球员参赛表

字段

类型

特殊属性

球员姓名

Char(20)

球员表外键约束

比赛类型

Char(10)

比赛表外键约束

场均得分

Float

Notnull

个人奖项

Char(15)

表7:

赞助商表

字段

类型

特殊属性

赞助商名

Char(20)

主键

地区

Char(10)

Notnull

行业

Char(20)

Notnull

老板

Char(20)

Notnull

表8:

赞助表

字段

类型

特殊属性

球队名

Char(20)

球队表外键

赞助商名

Char(20)

赞助商表外键

赞助金额

Int

Notnull

表9:

教练表

字段

类型

特殊属性

教练姓名

Char(20)

主键

教练年龄

Int

Notnull

球队名

Char(20)

球队表外键

执教时间

Int

Notnull

五.数据库实施

1.数据库及其基本表的建立

createdatabaseNBA-------数据库的建立

go

createtable赛区表---------------基本表的建立

(赛区名char(10)notnullprimarykey,

地理位置char(10)notnull,

go

createtable球队表

(球队名char(20)notnullprimarykey,

城市char(20)notnull,

球员数intnotnull,

总冠军数intnotnull,

赛区名char(10)null,

赛区名次intnotnull,

go

createtable球员表

(球员姓名char(20)notnullprimarykey,

年龄intnotnull,

身高intnotnull,

体重intnotnull,

国籍char(10)notnull,

位置char(10)notnull,

球队名char(20)notnullforeignkey(球队名)references球队表(球队名),

年薪intnotnull,

加盟时间datetimenotnull,

go

createtable比赛表

(比赛类型char(10)notnullprimarykey,

开始时间datetimenotnull,

结束时间datetimenotnull,

go

createtable球队参赛表

(球队名char(20)notnullforeignkey(球队名)references球队表(球队名),

比赛类型char(10)notnullforeignkey(比赛类型)references比赛表(比赛类型),

名次intnotnull,

胜率floatnotnull,

go

createtable球员参赛表

(球员姓名char(20)notnullforeignkey(球员姓名)references球员表(球员姓名),

比赛类型char(10)notnullforeignkey(比赛类型)references比赛表(比赛类型),

场均得分floatnotnull,

个人奖项char(15),

go

createtable赞助商表

(赞助商名char(20)notnullprimarykey,

地区char(10)notnull,

行业char(20)notnull,

老板char(20)notnull,)

go

createtable赞助表

(球队名char(20)notnullforeignkey(球队名)references球队表(球队名),

赞助商名char(20)notnullforeignkey(赞助商名)references赞助商表(赞助商名),

赞助金额intnotnull,

go

createtable教练表

(教练姓名char(20)notnullprimarykey,

教练年龄intnotnull,

球队名char(20)notnullforeignkey(球队名)references球队表(球队名),

执教时间intnotnull,

go

Insertinto赛区表values('EN','东北')-------数据的插入

insertinto赛区表values('WS','西南')

insertinto赛区表values('ES','东南')

insertinto赛区表values('WN','西北')

insertinto球队表values('凯尔特人','波士顿','14','17','EN','7')

insertinto球队表values('热火','迈阿密','15','2','ES','2')

insertinto球队表values('湖人','洛杉矶','15','16','WS','11')

insertinto球队表values('雷霆','俄荷拉何马','14','1','WN','2')

insertinto球员表values('KobeByrant','34','198','93','美国','得分后卫','湖人','2000','1996-08-12')

Insertinto球员表values('DwightHoward','27','211','120','美国','中锋','湖人','1700','2012-08-09')

insertinto球员表values('SteveNash','38','191','80','加拿大','控球后卫','湖人','1200','2012-08-22')

insertinto球员表values('DwyaneWade','30','193','99','美国','得分后卫','热火','1700','2003-09-11')

insertinto球员表values('ChrisBosh','28','211','106','美国','中锋','热火','1665','2010-07-25')

insertinto球员表values('LebornJames','28','203','113','美国','得分后卫','热火','1770','2010-07-31')

insertinto球员表values('KevinGarnett','36','211','115','美国','大前锋','凯尔特人','1455','2007-08-01')

insertinto球员表values('LeandroBabosa','30','191','88','巴西','小前锋','凯尔特人','774','2008-08-06')

insertinto球员表values('PaulPierce','35','201','106','美国','得分后卫','凯尔特人','1520','2010-07-09')

insertinto球员表values('RusselWestbrook','24','191','85','美国','控球后卫','雷霆','1600','2008-03-06')

insertinto球员表values('KevinDurant','24','206','106','美国','得分后卫','雷霆','1863','2007-03-15')

insertinto球员表values('SergeIbaka','23','208','106','西班牙','中锋','雷霆','236','2008-04-05')

insertinto比赛表values('常规赛','2011-10-03','2012-04-22')

insertinto比赛表values('季前赛','2011-08-31','2011-09-30')

insertinto比赛表values('季后赛','2012-04-22','2012-07-25')

insertinto球队参赛表values('凯尔特人','季前赛','2','0.8')

insertinto球队参赛表values('凯尔特人','常规赛','4','0.32')

insertinto球队参赛表values('凯尔特人','季后赛','3','0.47')

insertinto球队参赛表values('热火','季前赛','1','0.88')

insertinto球队参赛表values('热火','常规赛','2','0.76')

insertinto球队参赛表values('热火','季后赛','4','0.36')

insertinto球队参赛表values('湖人','季前赛','3','0.54')

insertinto球队参赛表values('湖人','常规赛','1','0.90')

insertinto球队参赛表values('湖人','季后赛','1','1')

insertinto球队参赛表values('雷霆','季前赛','4','0.25')

insertinto球队参赛表values('雷霆','常规赛','3','0.66')

insertinto球队参赛表values('雷霆','季后赛','2','0.88')

insertinto球员参赛表values('KobeByrant','常规赛','28','MVP')

insertinto球员参赛表values('DwightHoward','季前赛','22','篮板王')

insertinto球员参赛表values('SteveNash','季后赛','17','助攻王')

insertinto球员参赛表values('DwyaneWade','常规赛','26',null)

insertinto球员参赛表values('ChrisBosh','季后赛','15',null)

insertinto球员参赛表values('LeBornJames','常规赛','31','盖帽王')

insertinto球员参赛表values('KevinGarnett','季前赛','12',null)

insertinto球员参赛表values('LeandroBabosa','季前赛','6',null)

insertinto球员参赛表values('PaulPierce','季后赛','20','抢断王')

insertinto球员参赛表values('RusselWestbrook','季前赛','24','最佳新秀')

insertinto球员参赛表values('KevinDurant','常规赛','32','得分王')

insertinto球员参赛表values('SergeIbaka','季后赛','22',null)

insertinto赞助商表values('nike','USA','SportsExperiments','PhilKnight')

insertinto赞助商表values('adidas','Germany','SportsExperiments','AdolfAdiDassler')

insertinto赞助商表values('Haier','China','electricappliance','ZhangRuiming')

insertinto赞助商表values('Toyota','Japan','Car','FujioCho')

insertinto赞助表values('凯尔特人','nike',2000000)

insertinto赞助表values('凯尔特人','Haier',3500000)

insertinto赞助表values('湖人','adidas',2300000)

insertinto赞助表values('湖人','Toyota',4000000)

insertinto赞助表values('热火','nike',3000000)

insertinto赞助表values('热火','Haier',2600000)

insertinto赞助表values('雷霆','adidas',2400000)

insertinto赞助表values('雷霆','Toyota',3400000)

insertinto教练表values('DocRivers','51','凯尔特人','8')

insertinto教练表values('ErikSpoelstra','42','热火','4')

insertinto教练表values('MikeDAntoni','61','湖人','1')

insertinto教练表values('ScottBrooks','47','雷霆','4')

 

2.创建索引

useNBA_SYSTEM

createuniqueindexIX_球队名on球队表(球队名)

go

createindexIX_身高on球员表(身高)

go

createindexIX_球员姓名on球员表(球员姓名)

go

createindexIX_赞助商名on赞助商表(赞助商名)

go

createindexIX_教练姓名on教练表(教练姓名)

go

3.创建视图

createview赞助商信息_view

as

select赞助表.赞助商名,老板,赞助表.球队名,赞助金额

from赞助表,赞助商表,球队表

where赞助商表.赞助商名=赞助表.赞助商名and赞助表.球队名=球队表.球队名

go

createview教练信息_view

as

select教练姓名,教练年龄,执教时间,教练表.球队名,城市,总冠军数

from教练表,球队表

where教练表.球队名=球队表.球队名

go

六.数据库运行

Select*from比赛表

Select*from教练表

Select*from球队表

Select*from球队参赛表

Select*from球员表

Select*from球员参赛表

Select*from赛区表

Select*from赞助表

Select*from赞助商表

七.数据库维护

八.数据库开发

useNBA---------------------存储过程的创建

go

createprocedure某球员基本信息_pro@球员姓名varchar(20)

as

select*

from球员表

where@球员姓名=球员姓名

go

createprocedure某球员的加盟球队情况_pro@球员姓名varchar(20)

as

select球员表.球员姓名,球队表.球队名,球员数,总冠军数,城市

from球队表innerjoin球员表on球员表.球队名=球队表.球队名

where@球员姓名=球员姓名

go

createprocedure某球员比赛表现_pro@球员姓名varchar(20)

as

select球员姓名,比赛表.比赛类型,开始时间,结束时间,场均得分,个人奖项

from比赛表innerjoin球员参赛表on比赛表.比赛类型=球员参赛表.比赛类型

where@球员姓名=球员姓名

orderby场均得分desc

go

createprocedure赞助商所赞助球队情况_pro@赞助商名varchar(20)

as

select赞助商名,赞助表.球队名,比赛类型,名次,胜率

from赞助表innerjoin球队参赛表on赞助表.球队名=球队参赛表.球队名

where@赞助商名=赞助商名

go

createprocedure删除某球员信息_pro@球员姓名varchar(20)

as

begin

delete球员表where@球员姓名=球员姓名

delete球员参赛表where@球员姓名=球员姓名

end

go

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1