《NBA球员球队信息管理系统项目设计方案.doc》由会员分享,可在线阅读,更多相关《NBA球员球队信息管理系统项目设计方案.doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、NBA球员球队信息管理系统工程设计方案专业物联网应用技术班级12届1班姓名刘啸尘 学号日期2021年12月3日第1章 系统概述3第2章 系统需求分析4系统功能结构图44系统可行性分析4第三章 系统数据库设计53.1 数据库概念设计6数据库逻辑设计关系模式6数据库物理设计9第1章 系统概述NBA是National Basketball Association的缩写。成立于1946年6月6日。成立时叫BAA,即全美篮协会Basketball Association of America,是由十一家冰球馆体育馆的老板为了让体育馆在冰球比赛以外的时间,不至于闲置而共同发起成立的。BAA成立时共11支球
2、队。1949年BAA吞并了当时的另外一个联盟NBL,并改名为NBA。直到现在联盟共30支球队。 近些年,随着姚明在NBA的成功,华裔球员林书豪的大红大紫,NBA也逐渐地成功进入了中国这块市场,中国很多球迷开始迷恋NBA ,而球迷们也对每支球队的球员非常感兴趣。 而设计这个的系统就是想统计了东部冠亚军和西部冠亚军四个球队中关键球员的年龄、位置、籍贯、身高、所在球队、加盟时间、年薪、场均得分、个人奖项及该球队在季前赛、常规赛、季后赛的胜率和名次的各种数据统计。 为广阔篮球fans提供了更为方便的去了解NBA,也让球迷们对自己喜爱的球员有直观的透彻的了解到他们的情况。该“NBA球员球队信息管理系统只
3、是对数据库应用技术的一个样本数据库的实例,重在对数据库一些方法的熟悉与掌握,其中包括从数据库的概念模型到ER图的绘制,再到数据库模式的建立即为数据库及其根本表的建立,而后数据的录入,最后完成一些简单的关系运算表达式的表达和相关的Select 查询语句的使用。第2章 系统需求分析系统功能结构图查询球员个人的详细信息查询东西部冠亚军的信息查询各队赛事的胜率名次查询赛事开始及结束时间查询各项赛区的详细信息图1-1 系统功能结构图系统可行性分析时代的开展,技术的进入,人们生活水平的提高,人们对体育的热爱,使体育产业开展迅速,越来越多的参与到体育运动中,成为体育爱好者,成为体育职业运发动。相应的,体育产
4、业开展更加专业化,更加职业化,更加复杂庞大,组织、管理的工作量度增大了不少。以篮球为例,欧美兴旺国家职业的篮球机构例如美职篮已有近百年的历史。随着和平与开展的主旋律,全球化的时代,参与者的增加,职业篮球的竞争也愈加剧烈,对职业球员的需求也在增加,职业球员的数量增长迅速,流动性也大了许多,跨国间的球员转会的数量越来越多,频率越来越快。这些使其组织、管理的工作量增大了不少。为了快捷方便的完成工作,提高运营,管理水平,必要开发球员管理信息系统,以便于篮球界各方的组织管理、参与关注。从而促进篮球运动、篮球产业的开展。综上分析,本系统可以立即开发。第三章 系统数据库设计本数据库使用的是DBMS中的DQL
5、(数据查询语言 Data Query Language)。该查询语言可以按一定的查询条件从数据库对象中检索符合条件的数据,该查询语言更加适合本数据库使用。3.1 数据库概念设计该数据库具有四个实体,分别为赛区,球队,球员,比赛。实体之间的关系转换为其他两个表球队参赛表,球员参赛表。赛区为实体,赛区名和地理位置是赛区的属性球队是实体,球队名,城市,球员数,总冠军数,赛区名和赛区名次是球队的属性球员是实体,球员姓名,年龄,身高,体重,国籍,位置,球队名,年薪和加盟时间是球员的属性比赛是实体,比赛类型,开始时间和结束时间是比赛的属性球队参赛是球队和比赛表关系转换得来,所以球员参赛是实体,球队名,比赛
6、类型,名次和胜率是球队参赛的属性球员参赛是球员和比赛表转换得来的,所以球员姓名,比赛类型,场均得分和个人奖项是球员参赛的属性计关系模式赛区赛区名,地理位置球队球队名,城市,球员数,总冠军数,赛区名,赛区名次球员球员姓名,年龄,身高,体重,国籍,位置,球队名,年薪,加盟时间比赛比赛类型,开始时间,结束时间球队参赛球队名,比赛类型,名次,胜率球员参赛球员姓名,比赛类型,场均得分,个人奖项球队城市赛区名赛区名次总冠军数球员数球队名球队参赛胜率名次比赛类型比赛开始时间结束时间E-R图 图示 2-1球员体重年龄身高国籍位置球队姓名球员参赛个人奖项场次得分比赛类型比赛开始时间结束时间年薪加盟时间E-R图
7、图示3-1赛区名地理位置赛区E-R图 图示4-1计赛区表序号列名数据类型宽度是否主外键是否为空描述1.赛区Varchar10PKNot Null赛区2.地理位置Varchar10Not Null地理位置赛区表建表T-SQL语句-创立赛区表create table Division(赛区名char(10) not null primary key,地理位置char(10)not null,)球队表列名数据类型宽度是否主外键是否为空描述1.球队名Varchar20PKNot Null球队名2城市Varchar20Not Null城市3.球员数IntNot Null球员数4.总冠军数IntNot N
8、ull总冠军数5.赛区名Char10赛区表FKNot Null赛区名6.赛区名次IntNot Null赛区名次球队表建表T-SQL语句-创立球队表create table team(球队名char(20) not null primary key,城市char(20) not null,球员数int not null,总冠军数int not null,赛区名char(10) null,赛区名次int not null,)球员表列名数据类型宽度是否主外键是否为空描述1.球员姓名Varchar20PKNot Null球员姓名2.年龄IntNot Null年龄3.身高IntNot Null身高4.体
9、重IntNot Null体重5.国籍Varchar10Not Null国籍6.位置Varchar10Not Null位置7.球队名Varchar20球队表FKNot Null球队名8.年薪IntNot Null年薪9.加盟时间DatimeNot Null加盟时间球员表建表T-SQL语句-创立球员表create table player(球员姓名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)
10、not null,年薪int not null,加盟时间datetime not null,)-创立外键球队名Alter Table player Add Constraint FK_球队名Foreign Key(球队名)References team (球队名)比赛表序号列名数据类型宽度是否主外键是否为空描述1.比赛类型Varchar10PKNot Null比赛类型2.开始时间DatimeNot Null开始时间3.结束时间DatimeNot Null结束时间比赛表建表T-SQL语句-创立比赛表create table race(比赛类型char(10) not null primary k
11、ey,开始时间datetime not null,结束时间datetime not null,)球队参赛表列名数据类型宽度是否主外键是否为空描述1.球队名Varchar20球队表FKNot Null球队名2比赛类型Varchar10比赛表FKNot Null比赛类型3.名次IntNot Null名次4.胜率FloatNot Null胜率球队参赛建表T-SQL语句-创立球队参赛表create table QC(球队名char(20) not null ,比赛类型char(10) not null ,名次int not null,胜率float not null,)-创立外键-球队名Alter T
12、able QC Add Constraint FK_球队名_QC Foreign Key(球队名)References Team(球队名)-创立外键-比赛类型Alter Table QC Add Constraint FK_比赛类型Foreign Key(比赛类型)References race(比赛类型)球员参赛表列名数据类型宽度是否主外键是否为空描述1.球队名Varchar20球队表FKNot Null球队名2比赛类型Varchar10比赛表FKNot Null比赛类型3.场均得分FloatNot Null场均得分4.个人奖项Varchar15个人奖项球员参赛表建表T-SQL语句-创立球员
13、参赛表create table PC(球员姓名char(20)not null,比赛类型char(10) not null,场均得分float not null,个人奖项char(15),)-创立外键-球员姓名Alter Table PC Add Constraint FK_球员姓名Foreign Key(球员姓名)References player(球员姓名)-创立外键-比赛类型Alter Table pc Add Constraint FK_比赛类型_PC Foreign Key(比赛类型)References race(比赛类型)以上是六个表格的建立及代码,下面是数据库的插入数据和创立索
14、引,代码如下:-向赛区表参加数据Insert into Division values (EN, 东北)insert into Division values (WS, 西南)insert into Division values (ES,东南)insert into Division values (WN,西北)-向球队表参加数据insert into Team values(凯尔特人,波士顿, 14, 17, EN, 7)insert into Team values(热火,迈阿密,15,2,ES,2)insert into Team values(湖人,洛杉矶,15,16,WS,11)i
15、nsert into Team values(雷霆,俄荷拉何马,14,1,WN,2)-向球员表参加数据insert into player values (Kobe Byrant,34,198,93,美国,得分后卫,湖人,2000,1996-08-12)Insert into player values(Dwight Howard,27,211,120,美国,中锋,湖人,1700,2021-08-09)insert into player values(Steve Nash,38,191,80,加拿大,控球后卫,湖人,1200,2021-08-22)insert into player val
16、ues(Dwyane Wade,30,193,99,美国,得分后卫,热火,1700,2003-09-11)insert into player values(Chris Bosh,28,211,106,美国,中锋,热火,1665,2021-07-25)insert into player values(Leborn James,28,203,113,美国,得分后卫,热火,1770,2021-07-31)insert into player values(Kevin Garnett,36,211,115,美国,大前锋,凯尔特人,1455,2007-08-01)insert into player
17、 values(Leandro Babosa,30,191,88,巴西,小前锋,凯尔特人,774,2021-08-06)insert into player values(Paul Pierce,35,201,106,美国,得分后卫,凯尔特人,1520,2021-07-09)insert into player values(Russel Westbrook,24,191,85,美国,控球后卫,雷霆,1600,2021-03-06)insert into player values(Kevin Durant,24,206,106,美国,得分后卫,雷霆,1863,2007-03-15)inser
18、t into player values(Serge Ibaka,23,208,106,西班牙,中锋,雷霆,236,2021-04-05)-向比赛表参加数据insert into race values (常规赛,2021-10-03 ,2021-04-22)insert into race values (季前赛,2021-08-31,2021-09-30)insert into race values (季后赛,2021-04-22,2021-07-25)-向球队参赛表参加数据insert into QC values (凯尔特人,季前赛,2,0.8)insert into QC valu
19、es (凯尔特人,常规赛,4,0.32)insert into QC values (凯尔特人,季后赛,3,0.47)insert into QC values (热火,季前赛,1,0.88)insert into QC values (热火,常规赛,2,0.76)insert into QC values(热火,季后赛,4,0.36)insert into QC values(湖人,季前赛,3,0.54)insert into QC values(湖人,常规赛,1,0.90)insert into QC values(湖人,季后赛,1,1)insert into QC values(雷霆,季
20、前赛,4,0.25)insert into QC values(雷霆,常规赛,3,0.66)insert into QC values(雷霆,季后赛,2,0.88)-向球员参赛表参加数据insert into PC values(Kobe Byrant, 常规赛,28,MVP)insert into PC values (Dwight Howard, 季前赛,22,篮板王)insert into PC values (Steve Nash, 季后赛,17,助攻王)insert into PC values (Dwyane Wade, 常规赛,26,null)insert into PC val
21、ues (Chris Bosh, 季后赛,15,null)insert into PC values (LeBorn James, 常规赛,31,盖帽王)insert into PC values (Kevin Garnett, 季前赛,12,null)insert into PC values (Leandro Babosa, 季前赛,6,null)insert into PC values (Paul Pierce, 季后赛,20,抢断王)insert into PC values (Russel Westbrook,季前赛,24,最正确新秀)insert into PC values (
22、Kevin Durant,常规赛,32,得分王)insert into PC values (Serge Ibaka,季后赛,22,null)-创立索引-球队名create unique index IX_球队名on team(球队名)-创立索引-身高create index IX_身高on player(身高)-创立索引-球员姓名create index IX_球员姓名on player(球员姓名)该数据的查询功能查询语句多条件组合查询-查询球员表中国籍是美国的所有球员select * from player where 国籍=美国截图结果-查询球员表中加盟时间在-08-01到-08-01的
23、球员select * from player where 加盟时间between 1996-08-01 00:00:00.000and2021-08-01 00:00:00.000截图结果-查询球员表中球员年龄不超过的人数select Count (*) AS 年龄不超过的人数from player截图结果-查询球员表中球员的平均年龄select Sum(年龄)/12 AS 平均年龄from player截图结果-统计球员表中球员的年龄总和select Sum(年龄)From player截图结果-查询各队季前赛的名次和胜率select * from QC where 比赛类型=季前赛截图结果
24、-查询常规赛mvp的详细信息select * from pC where 个人奖项=MVP截图结果未知值null查询-查询在各项比赛中没有获得任何个人奖项的球员信息select * from PC where 个人奖项IS NULL截图结果-查询场均得分超过分的人数select Count (*) AS 场均得分超过28的人数from pc截图结果-查询场均得分最高的前%的球员信息select top 10 percent * from pcorder by 场均得分desc截图结果-排序增加删除数据-按名次从大到小,胜率从小到大排序select * from QCorder by 名次Desc,胜率asc截图结果-需要向表中增加数据的代码-为表球员参赛表pc增加列Comments,可以为空NullAlter Table PCAdd Comments varchar(20)select * from pc截图结果-需要向表中删除数据的代码-删除一列Alter Table pc DROP COLUMN commentsSELECT * FROM pc截图结果