1、数据库项目NBA球队信息管理系统NBA球队信息管理系统一系统需求系统结构简述:本系统包括6个实体:球员;球队;比赛;赛区;赞助商,教练实体之间的关系转换为其他三个表:球队参加比赛情况,赞助,球员参赛情况(均为“M比N关系)实体“球员”与“球队”之间多对一化到“球员表中,“球队与“赛区”转换到表“球队”中,“教练与“球队”转换到“球队”表中注:各个基本表中关键字已在关系模式中说明该数据库需要进行如下数据处理(通过创建存储过程来实现):查询某球员的基本信息:输入:球员姓名输出:球员姓名,年龄,身高,体重,国籍,位置,球队名,年薪,加盟时间查询某球员的加盟球队情况:输入:球员姓名输出:球员姓名,球队
2、名,球员数,总冠军数,赛区名,城市,赛区名次查询某球员比赛表现(按得分降序排序):输入:球员姓名输出:球员姓名,比赛类型,开始时间,结束时间,场均得分,个人奖项查询某赞助商所赞助球队情况:输入:赞助商名输出:赞助商名,球队名,名次,胜率删除某球员信息:输入:球员姓名操作:删除其全部信息 二ER图 三。 逻辑结构设计赛区(赛区名,地理位置)球队(球队名,城市,球员数,总冠军数,赛区名,赛区名次)球员(球员姓名,年龄,身高,体重,国籍,位置,球队名,年薪,加盟时间)比赛(比赛类型,开始时间,结束时间)球队参赛(球队名,比赛类型,名次,胜率)球员参赛(球员姓名,比赛类型,场均得分,个人奖项)赞助商(
3、赞助商名,地区,行业,老板)赞助(球队名,赞助商名,赞助金额)教练(教练姓名,教练年龄,球队名,执教时间)四物理设计表1:赛区表字段名类型特殊属性赛区名Char(10)主键地理位置Char(10)Not null表2:球队表字段名类型特殊属性球队名Char(20)主键城市Char(20)Not null球员数IntNot null总冠军数IntNot null赛区名Char(10)赛区表外键约束赛区名次IntNot null表3:球员表字段名类型特殊属性球员姓名Char(20)主键年龄IntNot null身高IntNot null体重IntNot null国籍Char(10)Not null
4、位置Char(10)Not null球队名Char(20)球队表外键约束年薪IntNot null加盟时间DatetimeNot null表4:比赛表字段类型特殊属性比赛类型Char(10)主键开始时间DatetimeNot null结束时间DatetimeNot null表5:球队参赛表字段类型特殊属性球队名Char(20)球队表外键约束比赛类型Char(10)比赛表外键约束名次IntNot null胜率FloatNot null表6:球员参赛表字段类型特殊属性球员姓名Char(20)球员表外键约束比赛类型Char(10)比赛表外键约束场均得分FloatNot null个人奖项Char(15
5、)表7:赞助商表字段类型特殊属性赞助商名Char(20)主键地区Char(10)Not null行业Char(20)Not null老板Char(20)Not null表8:赞助表字段类型特殊属性球队名Char(20)球队表外键赞助商名Char(20)赞助商表外键赞助金额Int Not null表9:教练表字段类型特殊属性教练姓名Char(20)主键教练年龄IntNot null球队名Char(20)球队表外键执教时间IntNot null五数据库实施1。数据库及其基本表的建立create database NBA-数据库的建立gocreate table 赛区表-基本表的建立(赛区名 cha
6、r(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,
7、国籍 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 (
8、球队名) 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(
9、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,)gocreate table 教练
10、表(教练姓名 char(20) not null primary key,教练年龄 int not null,球队名 char(20) not null foreign key (球队名) references 球队表(球队名),执教时间 int not null,)goInsert into 赛区表 values (EN, 东北)-数据的插入insert into 赛区表 values (WS, 西南)insert into 赛区表 values (ES,东南)insert into 赛区表 values (WN,西北)insert into 球队表 values(凯尔特人,波士顿, 14,
11、 17, EN, 7)insert into 球队表 values(热火,迈阿密,15,2,ES,2)insert into 球队表 values(湖人,洛杉矶,15,16,WS,11)insert into 球队表 values(雷霆,俄荷拉何马,14,1,WN,2)insert into 球员表 values (Kobe Byrant,34,198,93,美国,得分后卫,湖人,2000,199608-12)Insert into 球员表 values(Dwight Howard,27,211,120,美国,中锋,湖人,1700,20120809)insert into 球员表 values
12、(Steve Nash,38,191,80,加拿大,控球后卫,湖人,1200,201208-22)insert into 球员表 values(Dwyane Wade,30,193,99,美国,得分后卫,热火,1700,2003-09-11)insert into 球员表 values(Chris Bosh,28,211,106,美国,中锋,热火,1665,2010-07-25)insert into 球员表 values(Leborn James,28,203,113,美国,得分后卫,热火,1770,2010-07-31)insert into 球员表 values(Kevin Garnet
13、t,36,211,115,美国,大前锋,凯尔特人,1455,2007-08-01)insert into 球员表 values(Leandro Babosa,30,191,88,巴西,小前锋,凯尔特人,774,2008-0806)insert into 球员表 values(Paul Pierce,35,201,106,美国,得分后卫,凯尔特人,1520,2010-0709)insert into 球员表 values(Russel Westbrook,24,191,85,美国,控球后卫,雷霆,1600,200803-06)insert into 球员表 values(Kevin Durant
14、,24,206,106,美国,得分后卫,雷霆,1863,2007-0315)insert into 球员表 values(Serge Ibaka,23,208,106,西班牙,中锋,雷霆,236,2008-0405)insert into 比赛表 values (常规赛,2011-10-03 ,2012-0422)insert into 比赛表 values (季前赛,201108-31,201109-30)insert into 比赛表 values (季后赛,201204-22,201207-25)insert into 球队参赛表 values (凯尔特人,季前赛,2,0.8)inser
15、t into 球队参赛表 values (凯尔特人,常规赛,4,0.32)insert into 球队参赛表 values (凯尔特人,季后赛,3,0.47)insert into 球队参赛表 values (热火,季前赛,1,0.88)insert into 球队参赛表 values (热火,常规赛,2,0。76)insert into 球队参赛表 values(热火,季后赛,4,0.36)insert into 球队参赛表 values(湖人,季前赛,3,0.54)insert into 球队参赛表 values(湖人,常规赛,1,0.90)insert into 球队参赛表 values
16、(湖人,季后赛,1,1)insert into 球队参赛表 values(雷霆,季前赛,4,0。25)insert into 球队参赛表 values(雷霆,常规赛,3,0。66)insert into 球队参赛表 values(雷霆,季后赛,2,0.88)insert into 球员参赛表 values(Kobe Byrant, 常规赛,28,MVP)insert into 球员参赛表 values (Dwight Howard, 季前赛,22,篮板王)insert into 球员参赛表 values (Steve Nash, 季后赛,17,助攻王)insert into 球员参赛表 val
17、ues (Dwyane Wade, 常规赛,26,null)insert into 球员参赛表 values (Chris Bosh, 季后赛,15,null)insert into 球员参赛表 values (LeBorn James, 常规赛,31,盖帽王)insert into 球员参赛表 values (Kevin Garnett, 季前赛,12,null)insert into 球员参赛表 values (Leandro Babosa, 季前赛,6,null)insert into 球员参赛表 values (Paul Pierce, 季后赛,20,抢断王)insert into 球
18、员参赛表 values (Russel Westbrook,季前赛,24,最佳新秀)insert into 球员参赛表 values (Kevin Durant,常规赛,32,得分王)insert into 球员参赛表 values (Serge Ibaka,季后赛,22,null)insert into 赞助商表 values (nike,USA,Sports Experiments,Phil Knight)insert into 赞助商表 values (adidas,Germany,Sports Experiments,Adolf Adi Dassler)insert into 赞助商表
19、 values (Haier,China,electric appliance,ZhangRui ming)insert into 赞助商表 values (Toyota,Japan,Car,Fujio Cho)insert into 赞助表 values (凯尔特人,nike,2000000)insert into 赞助表 values (凯尔特人,Haier,3500000)insert into 赞助表 values (湖人,adidas,2300000)insert into 赞助表 values (湖人,Toyota,4000000)insert into 赞助表 values (热
20、火,nike,3000000)insert into 赞助表 values (热火,Haier,2600000)insert into 赞助表 values (雷霆,adidas,2400000)insert into 赞助表 values (雷霆,Toyota,3400000)insert into 教练表 values (Doc Rivers,51,凯尔特人,8)insert into 教练表 values (Erik Spoelstra,42,热火,4)insert into 教练表 values (Mike DAntoni,61,湖人,1)insert into 教练表 values
21、(Scott Brooks,47,雷霆,4)2。创建索引use NBA_SYSTEM create unique index IX_球队名on 球队表(球队名)gocreate index IX_身高on 球员表(身高)gocreate index IX_球员姓名on 球员表(球员姓名)gocreate index IX_赞助商名on 赞助商表(赞助商名)gocreate index IX_教练姓名on 教练表(教练姓名)go3。创建视图create view 赞助商信息_view asselect 赞助表.赞助商名,老板,赞助表。球队名,赞助金额from 赞助表,赞助商表,球队表where
22、赞助商表。赞助商名=赞助表。赞助商名 and 赞助表.球队名=球队表。球队名gocreate view 教练信息_viewasselect 教练姓名,教练年龄,执教时间,教练表。球队名,城市,总冠军数from 教练表,球队表where 教练表.球队名=球队表。球队名go六数据库运行Select from 比赛表Select from 教练表Select from 球队表Select from 球队参赛表Select * from 球员表Select * from 球员参赛表Select * from 赛区表Select * from 赞助表Select * from 赞助商表七数据库维护八数据
23、库开发use NBA -存储过程的创建gocreate procedure 某球员基本信息_pro 球员姓名varchar(20)as select from 球员表where 球员姓名=球员姓名gocreate procedure 某球员的加盟球队情况_pro 球员姓名varchar(20)asselect 球员表.球员姓名,球队表.球队名,球员数,总冠军数,城市from 球队表inner join 球员表on 球员表.球队名=球队表。球队名where 球员姓名=球员姓名gocreate procedure 某球员比赛表现_pro 球员姓名varchar(20)asselect 球员姓名,比
24、赛表。比赛类型,开始时间,结束时间,场均得分,个人奖项from 比赛表inner join 球员参赛表on 比赛表.比赛类型=球员参赛表.比赛类型where 球员姓名=球员姓名order by 场均得分descgocreate procedure 赞助商所赞助球队情况_pro 赞助商名varchar(20)as select 赞助商名,赞助表.球队名,比赛类型,名次,胜率from 赞助表inner join 球队参赛表on 赞助表。球队名=球队参赛表.球队名where 赞助商名=赞助商名 gocreate procedure 删除某球员信息_pro 球员姓名varchar(20)asbegindelete 球员表where 球员姓名=球员姓名delete 球员参赛表where 球员姓名=球员姓名endgo
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1