NBA球员球队信息管理系统项目设计方案要点.docx

上传人:b****3 文档编号:5356202 上传时间:2022-12-15 格式:DOCX 页数:19 大小:221.95KB
下载 相关 举报
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球员球队信息管理系统项目设计方案

专业

物联网应用技术

班级

12届1班

姓名

刘啸尘

学号

 

日期

2013年12月3日

 

 

 

第1章系统概述  3

第2章系统需求分析  4

2.1系统功能结构图  4

4

2.2系统可行性分析  4

第三章系统数据库设计  5

3.1数据库概念设计  6

3.2数据库逻辑设计(关系模式)  6

3.3数据库物理设计  9

 

第1章系统概述

NBA是NationalBasketballAssociation的缩写。

成立于1946年6月6日。

成立时叫BAA,即全美篮协会(BasketballAssociationofAmerica),是由十一家冰球馆体育馆的老板为了让体育馆在冰球比赛以外的时间,不至于闲置而共同发起成立的。

BAA成立时共11支球队。

1949年BAA吞并了当时的另外一个联盟(NBL),并改名为NBA。

直到现在联盟共30支球队。

近些年,随着姚明在NBA的成功,华裔球员林书豪的大红大紫,NBA也逐渐地成功进入了中国这块市场,中国很多球迷开始迷恋NBA,而球迷们也对每支球队的球员非常感兴趣。

而设计这个的系统就是想统计了东部冠亚军和西部冠亚军四个球队中关键球员的年龄、位置、籍贯、身高、所在球队、加盟时间、年薪、场均得分、个人奖项及该球队在季前赛、常规赛、季后赛的胜率和名次的各种数据统计。

为广大篮球fans提供了更为方便的去了解NBA,也让球迷们对自己喜爱的球员有直观的透彻的了解到他们的情况。

该“NBA球员球队信息管理系统”只是对数据库应用技术的一个样本数据库的实例,重在对数据库一些方法的熟悉与掌握,其中包括从数据库的概念模型到ER图的绘制,再到数据库模式的建立(即为数据库及其基本表的建立),而后数据的录入,最后完成一些简单的关系运算表达式的表达和相关的Select查询语句的使用。

第2章系统需求分析

2.1系统功能结构图

2.2系统可行性分析

时代的发展,技术的进入,人们生活水平的提高,人们对体育的热爱,使体育产业发展迅速,越来越多的参与到体育运动中,成为体育爱好者,成为体育职业运动员。

相应的,体育产业发展更加专业化,更加职业化,更加复杂庞大,组织、管理的工作量度增大了不少。

以篮球为例,欧美发达国家职业的篮球机构(例如美职篮)已有近百年的历史。

随着和平与发展的主旋律,全球化的时代,参与者的增加,职业篮球的竞争也愈加激烈,对职业球员的需求也在增加,职业球员的数量增长迅速,流动性也大了许多,跨国间的球员转会的数量越来越多,频率越来越快。

这些使其组织、管理的工作量增大了不少。

为了快捷方便的完成工作,提高运营,管理水平,必要开发球员管理信息系统,以便于篮球界各方的组织管理、参与关注。

从而促进篮球运动、篮球产业的发展。

综上分析,本系统可以立即开发。

第三章系统数据库设计

本数据库使用的是DBMS中的DQL  (数据查询语言DataQueryLanguage)。

该查询语言可以按一定的查询条件从数据库对象中检索符合条件的数据,该查询语言更加适合本数据库使用。

3.1数据库概念设计

该数据库具有四个实体,分别为赛区,球队,球员,比赛。

实体之间的关系转换为其他两个表(球队参赛表,球员参赛表)。

赛区为实体,赛区名和地理位置是赛区的属性

球队是实体,球队名,城市,球员数,总冠军数,赛区名和赛区名次是球队的属性

球员是实体,球员姓名,年龄,身高,体重,国籍,位置,球队名,年薪和加盟时间是球员的属性

比赛是实体,比赛类型,开始时间和结束时间是比赛的属性

球队参赛是球队和比赛表关系转换得来,所以球员参赛是实体,球队名,比赛类型,名次和胜率是球队参赛的属性

球员参赛是球员和比赛表转换得来的,所以球员姓名,比赛类型,场均得分和个人奖项是球员参赛的属性

3.2数据库逻辑设计(关系模式)

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

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

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

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

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

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

3.3数据库物理设计

赛区表

序号

列名

数据类型

宽度

是否主外键

是否为空

描述

1.

赛区

Varchar

10

PK

NotNull

赛区

2.

地理位置

Varchar

10

 

NotNull

地理位置

 

 

 

 

 

 

 

赛区表建表T-SQL语句

--创建赛区表

createtableDivision(

赛区名char(10)notnullprimarykey,

地理位置char(10)notnull,

球队表

 

列名

数据类型

宽度

是否主外键

是否为空

描述

1.

球队名

Varchar

20

PK

NotNull

球队名

2

城市

Varchar

20

 

NotNull

城市

3.

球员数

Int

 

 

NotNull

球员数

4.

总冠军数

Int

 

 

NotNull

总冠军数

5.

赛区名

Char

10

赛区表FK

NotNull

赛区名

6.

赛区名次

Int

 

 

NotNull

赛区名次

 

 

 

 

 

 

 

球队表建表T-SQL语句

--创建球队表

createtableteam

(球队名char(20)notnullprimarykey,

城市char(20)notnull,

球员数intnotnull,

总冠军数intnotnull,

赛区名char(10)null,

赛区名次intnotnull,

球员表

 

列名

数据类型

宽度

是否主外键

是否为空

描述

1.

球员姓名

Varchar

20

PK

NotNull

球员姓名

2.

年龄

Int

 

 

NotNull

年龄

3.

身高

Int

 

 

NotNull

身高

4.

体重

Int

 

 

NotNull

体重

5.

国籍

Varchar

10

 

NotNull

国籍

6.

位置

Varchar

10

 

NotNull

位置

7.

球队名

Varchar

20

球队表FK

NotNull

球队名

8.

年薪

Int

 

 

NotNull

年薪

9.

加盟时间

Datime

 

 

NotNull

加盟时间

 

 

 

 

 

 

 

球员表建表T-SQL语句

--创建球员表

createtableplayer

(球员姓名char(20)notnullprimarykey,

年龄intnotnull,

身高intnotnull,

体重intnotnull,

国籍char(10)notnull,

位置char(10)notnull,

球队名char(20)notnull,

年薪intnotnull,

加盟时间datetimenotnull,

--创建外键球队名

AlterTableplayerAddConstraintFK_球队名

ForeignKey(球队名)Referencesteam(球队名)

比赛表

序号

列名

数据类型

宽度

是否主外键

是否为空

描述

1.

比赛类型

Varchar

10

PK

NotNull

比赛类型

2.

开始时间

Datime

 

 

NotNull

开始时间

3.

结束时间

Datime

 

 

NotNull

结束时间

 

 

 

 

 

 

 

比赛表建表T-SQL语句

--创建比赛表

createtablerace(

比赛类型char(10)notnullprimarykey,

开始时间datetimenotnull,

结束时间datetimenotnull,

球队参赛表

 

列名

数据类型

宽度

是否主外键

是否为空

描述

1.

球队名

Varchar

20

球队表FK

NotNull

球队名

2

比赛类型

Varchar

10

比赛表FK

NotNull

比赛类型

3.

名次

Int

 

 

NotNull

名次

4.

胜率

Float

 

 

NotNull

胜率

 

 

 

 

 

 

 

球队参赛建表T-SQL语句

--创建球队参赛表

createtableQC(

球队名char(20)notnull,

比赛类型char(10)notnull,

名次intnotnull,

胜率floatnotnull,

--创建外键--球队名

AlterTableQCAddConstraintFK_球队名_QC

ForeignKey(球队名)ReferencesTeam(球队名)

--创建外键--比赛类型

AlterTableQCAddConstraintFK_比赛类型

ForeignKey(比赛类型)Referencesrace(比赛类型)

球员参赛表

 

列名

数据类型

宽度

是否主外键

是否为空

描述

1.

球队名

Varchar

20

球队表FK

NotNull

球队名

2

比赛类型

Varchar

10

比赛表FK

NotNull

比赛类型

3.

场均得分

Float

 

 

NotNull

场均得分

4.

个人奖项

Varchar

15

 

 

个人奖项

 

 

 

 

 

 

 

球员参赛表建表T-SQL语句

--创建球员参赛表

createtablePC(

球员姓名char(20)notnull,

比赛类型char(10)notnull,

场均得分floatnotnull,

个人奖项char(15),

--创建外键--球员姓名

AlterTablePCAddConstraintFK_球员姓名

ForeignKey(球员姓名)Referencesplayer(球员姓名)

--创建外键--比赛类型

AlterTablepcAddConstraintFK_比赛类型_PC

ForeignKey(比赛类型)Referencesrace(比赛类型)

以上是六个表格的建立及代码,下面是数据库的插入数据和创建索引,代码如下:

--向赛区表加入数据

InsertintoDivisionvalues('EN','东北')

insertintoDivisionvalues('WS','西南')

insertintoDivisionvalues('ES','东南')

insertintoDivisionvalues('WN','西北')

--向球队表加入数据

insertintoTeamvalues('凯尔特人','波士顿','14','17','EN','7')

insertintoTeamvalues('热火','迈阿密','15','2','ES','2')

insertintoTeamvalues('湖人','洛杉矶','15','16','WS','11')

insertintoTeamvalues('雷霆','俄荷拉何马','14','1','WN','2')

--向球员表加入数据

insertintoplayervalues('KobeByrant','34','198','93','美国','得分后卫','湖人','2000','1996-08-12')

Insertintoplayervalues('DwightHoward','27','211','120','美国','中锋','湖人','1700','2012-08-09')

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

insertintoplayervalues('DwyaneWade','30','193','99','美国','得分后卫','热火','1700','2003-09-11')

insertintoplayervalues('ChrisBosh','28','211','106','美国','中锋','热火','1665','2010-07-25')

insertintoplayervalues('LebornJames','28','203','113','美国','得分后卫','热火','1770','2010-07-31')

insertintoplayervalues('KevinGarnett','36','211','115','美国','大前锋','凯尔特人','1455','2007-08-01')

insertintoplayervalues('LeandroBabosa','30','191','88','巴西','小前锋','凯尔特人','774','2008-08-06')

insertintoplayervalues('PaulPierce','35','201','106','美国','得分后卫','凯尔特人','1520','2010-07-09')

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

insertintoplayervalues('KevinDurant','24','206','106','美国','得分后卫','雷霆','1863','2007-03-15')

insertintoplayervalues('SergeIbaka','23','208','106','西班牙','中锋','雷霆','236','2008-04-05')

--向比赛表加入数据

insertintoracevalues('常规赛','2011-10-03','2012-04-22')

insertintoracevalues('季前赛','2011-08-31','2011-09-30')

insertintorace values ('季后赛','2012-04-22','2012-07-25')

--向球队参赛表加入数据

insertintoQCvalues('凯尔特人','季前赛','2','0.8')

insertintoQCvalues('凯尔特人','常规赛','4','0.32')

insertintoQCvalues('凯尔特人','季后赛','3','0.47')

insertintoQCvalues('热火','季前赛','1','0.88')

insertintoQCvalues('热火','常规赛','2','0.76')

insertintoQCvalues('热火','季后赛','4','0.36')

insertintoQCvalues('湖人','季前赛','3','0.54')

insertintoQCvalues('湖人','常规赛','1','0.90')

insertintoQCvalues('湖人','季后赛','1','1')

insertintoQCvalues('雷霆','季前赛','4','0.25')

insertintoQCvalues('雷霆','常规赛','3','0.66')

insertintoQCvalues('雷霆','季后赛','2','0.88')

--向球员参赛表加入数据

insertintoPCvalues('KobeByrant','常规赛','28','MVP')

insertintoPCvalues('DwightHoward','季前赛','22','篮板王')

insertintoPCvalues('SteveNash','季后赛','17','助攻王')

insertintoPCvalues('DwyaneWade','常规赛','26',null)

insertintoPCvalues('ChrisBosh','季后赛','15',null)

insertintoPCvalues('LeBornJames','常规赛','31','盖帽王')

insertintoPCvalues('KevinGarnett','季前赛','12',null)

insertintoPCvalues('LeandroBabosa','季前赛','6',null)

insertintoPCvalues('PaulPierce','季后赛','20','抢断王')

insertintoPCvalues('RusselWestbrook','季前赛','24','最佳新秀')

insertintoPCvalues('KevinDurant','常规赛','32','得分王')

insertintoPCvalues('SergeIbaka','季后赛','22',null)

--创建索引--球队名

createuniqueindexIX_球队名onteam(球队名)

--创建索引--身高

createindexIX_身高onplayer(身高)

--创建索引--球员姓名

createindexIX_球员姓名onplayer(球员姓名)

该数据的查询功能—查询语句

多条件组合查询

-查询球员表中国籍是美国的所有球员

select*fromplayerwhere国籍='美国'

截图结果

--查询球员表中加盟时间在-08-01到-08-01的球员

select*fromplayerwhere加盟时间between'1996-08-0100:

00:

00.000'and'2008-08-0100:

00:

00.000'

截图结果

--查询球员表中球员年龄不超过的人数

selectCount(*)AS'年龄不超过的人数'

fromplayer

截图结果

--查询球员表中球员的平均年龄

selectSum(年龄)/12AS'平均年龄'

fromplayer

截图结果

--统计球员表中球员的年龄总和

selectSum(年龄)Fromplayer

截图结果

--查询各队季前赛的名次和胜率

select*fromQCwhere比赛类型='季前赛'

截图结果

--查询常规赛mvp的详细信息

select*frompCwhere个人奖项='MVP'

截图结果

未知值(null)查询

--查询在各项比赛中没有获得任何个人奖项的球员信息

select*fromPCwhere个人奖项ISNULL

截图结果

--查询场均得分超过分的人数

selectCount(*)AS'场均得分超过28的人数'

frompc

截图结果

--查询场均得分最高的前%的球员信息

selecttop10percent*frompc

orderby场均得分desc

截图结果

--排序增加删除数据

--按名次从大到小,胜率从小到大排序

select*fromQC

orderby名次Desc,胜率asc

截图结果

--需要向表中增加数据的代码

--为表球员参赛表(pc)增加列Comments,可以为空Null

AlterTablePC

AddCommentsvarchar(20)

select*frompc

截图结果

--需要向表中删除数据的代码

--删除一列

AlterTable pcDROPCOLUMNcomments

SELECT*FROMpc

截图结果

 

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

当前位置:首页 > 幼儿教育 > 家庭教育

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

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