数据库项目-NBA球队信息管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NBA球队信息管理系统
一.系统需求
系统结构简述:
本系统包括6个实体:球员;球队;比赛;赛区;赞助商,教练
实体之间的关系转换为其他三个表:球队参加比赛情况,赞助,球员参赛情况(均为“M比N”关系)
实体“球员”与“球队”之间多对一化到“球员”表中,“球队”与“赛区”转换到表“球队”中,“教练”与“球队”转换到“球队”表中
注:各个基本表中关键字已在关系模式中说明
该数据库需要进行如下数据处理(通过创建存储过程来实现):
查询某球员的基本信息:
输入:球员姓名
输出:球员姓名,年龄,身高,体重,国籍,位置,球队名,年薪,加盟时间
查询某球员的加盟球队情况:
输入:球员姓名
输出:球员姓名,球队名,球员数,总冠军数,赛区名,城市,赛区名次
查询某球员比赛表现(按得分降序排序):
输入:球员姓名
输出:球员姓名,比赛类型,开始时间,结束时间,场均得分,个人奖项
查询某赞助商所赞助球队情况:
输入:赞助商名
输出:赞助商名,球队名,名次,胜率
删除某球员信息:
输入:球员姓名
操作:删除其全部信息
二.ER 图
球队
赞助
赞助商
赞助金额
球员
比赛
球员参赛
加入球队
年薪
加盟时间
球队区位
赛区
赛区名次
比赛类型
开始时间
结束时间
球队参赛
场均得分
所得奖项
地区
老板
行业
赞助商名
教 练
教练姓名 教练年龄
执教
执教时间
三. 逻辑结构设计
赛区(赛区名,地理位置)
球队(球队名,城市,球员数,总冠军数,赛区名,赛区名次)
球员(球员姓名,年龄,身高,体重,国籍,位置,球队名,年薪,加盟时间)比赛(比赛类型,开始时间,结束时间)
球队参赛(球队名,比赛类型,名次,胜率)
球员参赛(球员姓名,比赛类型,场均得分,个人奖项)
赞助商(赞助商名,地区,行业,老板)
赞助(球队名,赞助商名,赞助金额)
教练(教练姓名,教练年龄,球队名,执教时间)
四.物理设计
五.数据库实施
1.数据库及其基本表的建立
create database NBA-------数据库的建立
go
create table赛区表---------------基本表的建立
(赛区名char(10)not null primary key,
地理位置char(10)not null,
)
go
create table球队表
(球队名char(20)not null primary key,
城市char(20)not null,
球员数int not null,
总冠军数int not null,
赛区名char(10)null,
赛区名次int not null,
)
go
create table球员表
(球员姓名char(20)not null primary key,
年龄int not null,
身高int not null,
体重int not null,
国籍char(10)not null,
位置char(10)not null,
球队名char(20)not null foreign key(球队名)references球队表(球队名), 年薪int not null,
加盟时间datetime not null,
)
go
create table比赛表
(比赛类型char(10)not null primary key,
开始时间datetime not null,
结束时间datetime not null,
)
go
create table球队参赛表
(球队名char(20)not null foreign key (球队名)references球队表(球队名),
比赛类型char(10)not null foreign key (比赛类型)references比赛表(比赛类型), 名次int not null,
胜率float not null,
)
go
create table球员参赛表
(球员姓名char(20)not null foreign key (球员姓名)references球员表(球员姓名), 比赛类型char(10)not null foreign key (比赛类型)references比赛表(比赛类型), 场均得分float not null,
个人奖项char(15),
)
go
create table赞助商表
(赞助商名char(20)not null primary key,
地区char(10)not null,
行业char(20)not null,
老板char(20)not null,)
go
create table赞助表
(球队名char(20)not null foreign key (球队名)references球队表(球队名),
赞助商名char(20)not null foreign key (赞助商名)references赞助商表(赞助商名), 赞助金额int not null,
)
go
create table教练表
(教练姓名char(20)not null primary key,
教练年龄int not null,
球队名char(20)not null foreign key (球队名)references球队表(球队名),
执教时间int not null,
)
go
Insert into赛区表values ('EN','东北')-------数据的插入
insert into赛区表values ('WS','西南')
insert into赛区表values ('ES','东南')
insert into赛区表values ('WN','西北')
insert into球队表values('凯尔特人','波士顿','14','17','EN','7')
insert into球队表values('热火','迈阿密','15','2','ES','2')
insert into球队表values('湖人','洛杉矶','15','16','WS','11')