数据库项目NBA球队信息管理系统.docx
《数据库项目NBA球队信息管理系统.docx》由会员分享,可在线阅读,更多相关《数据库项目NBA球队信息管理系统.docx(16页珍藏版)》请在冰豆网上搜索。
![数据库项目NBA球队信息管理系统.docx](https://file1.bdocx.com/fileroot1/2022-10/16/1763be8b-7cc5-4949-afe5-51987216a50f/1763be8b-7cc5-4949-afe5-51987216a50f1.gif)
数据库项目NBA球队信息管理系统
数据库项目NBA球队信息管理系统
NBA球队信息管理系统
一.系统需求
系统结构简述:
本系统包括6个实体:
球员;球队;比赛;赛区;赞助商,教练
实体之间的关系转换为其他三个表:
球队参加比赛情况,赞助,球员参赛情况(均为“M比N”关系)
实体“球员”与“球队”之间多对一化到“球员”表中,“球队”与“赛区”转换到表“球队”中,“教练”与“球队”转换到“球队”表中
注:
各个基本表中关键字已在关系模式中说明
该数据库需要进行如下数据处理(通过创建存储过程来实现):
查询某球员的基本信息:
输入:
球员姓名
输出:
球员姓名,年龄,身高,体重,国籍,位置,球队名,年薪,加盟时间
查询某球员的加盟球队情况:
输入:
球员姓名
输出:
球员姓名,球队名,球员数,总冠军数,赛区名,城市,赛区名次
查询某球员比赛表现(按得分降序排序):
输入:
球员姓名
输出:
球员姓名,比赛类型,开始时间,结束时间,场均得分,个人奖项
查询某赞助商所赞助球队情况:
输入:
赞助商名
输出:
赞助商名,球队名,名次,胜率
删除某球员信息:
输入:
球员姓名
操作:
删除其全部信息
16
/1
NBA球队信息管理系统数据库项目ER图二.教练年龄教练姓名教练执教时间赛区名次执教赞助赛区地区球队区位球队年薪赞助金额赞助商加入球队加盟时间赞助商名老板行业球员球队参赛所得奖项球员参赛场均得分
比赛类型
比赛结束时间
开始时间
16
/2
数据库项目NBA球队信息管理系统
球队名球员数姓名
体重身高球队所在城市球员年龄总冠军数位置国籍
.逻辑结构设计三赛区(赛区名,地理位置)球队(球队名,城市,球员数,总冠军数,赛区名,赛区名次)球员(球员姓名,年龄,身高,体重,国籍,位置,球队名,年薪,加盟时间)比赛(比赛类型,开始时间,结束时间)球队参赛(球队名,比赛类型,名次,胜率)球员参赛(球员姓名,比赛类型,场均得分,个人奖项)赞助商(赞助商名,地区,行业,老板)赞助(球队名,赞助商名,赞助金额)教练(教练姓名,教练年龄,球队名,执教时间)四.物理设计:
赛区表表1特殊属性类型字段名主键Char(10)赛区名NotnullChar(10)地理位置
2:
球队表表特殊属性字段名类型Char(20)主键球队名
NotnullChar(20)城市NotnullInt球员数
NotnullInt总冠军数
赛区表外键约束Char(10)赛区名NotnullInt赛区名次
3:
球员表表特殊属性类型字段名Char(20)主键球员姓名
NotnullInt年龄
Notnull
Int身高16
/3
数据库项目NBA球队信息管理系统
NotnullInt
体重
NotnullChar(10)国籍Notnull
位置Char(10)
球队表外键约束球队名Char(20)
NotnullInt
年薪
Notnull
加盟时间Datetime
:
比赛表表4
特殊属性字段类型
主键Char(10)比赛类型
NotnullDatetime开始时间
结束时间
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
Notnull行业Char(20)
Notnull
老板Char(20)
:
赞助表表8特殊属性类型字段Char(20)球队名球队表外键Char(20)赞助商名赞助商表外键Notnull
Int赞助金额
9表:
教练表特殊属性字段类型
教练姓名Char(20)
主键
16
/4
数据库项目NBA球队信息管理系统
教练年龄
Int
Notnull
球队名
Char(20)
球队表外键
执教时间
Int
Notnull
五.数据库实施数据库及其基本表的建立1.数据库的建立NBA-------createdatabase
go
---------------基本表的建立tablecreate赛区表,keynullprimary赛区名char(10)not(null,)notchar(10地理位置)
go
球队表createtable,keynullprimarychar(20)not(球队名
null,not20)城市char(null,intnot球员数
null,intnot总冠军数
null,(10)赛区名charnull,intnot赛区名次
)
go球员表tablecreate
keyprimarynotnull(球员姓名char(20)null,not年龄intnull,not身高int
null,
not体重int
null,not10)char国籍(null,
not10)位置char(),球队名球队表(球队名)references(char(20)notnullforeignkey球队名null,
not年薪intnull,not加盟时间datetime
)
go
比赛表createtable,primarykeynotnull10比赛类型(char()null,not开始时间datetime
null,notdatetime结束时间
)
go球队参赛表createtable16
/5
数据库项目NBA球队信息管理系统
(球队名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')
16
/6
数据库项目NBA球队信息管理系统
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')
inse