数据库课程设计NBA篮球管理系统方案

上传人:Sc****h 文档编号:141231842 上传时间:2022-08-23 格式:DOC 页数:33 大小:1.12MB
收藏 版权申诉 举报 下载
数据库课程设计NBA篮球管理系统方案_第1页
第1页 / 共33页
数据库课程设计NBA篮球管理系统方案_第2页
第2页 / 共33页
数据库课程设计NBA篮球管理系统方案_第3页
第3页 / 共33页
资源描述:

《数据库课程设计NBA篮球管理系统方案》由会员分享,可在线阅读,更多相关《数据库课程设计NBA篮球管理系统方案(33页珍藏版)》请在装配图网上搜索。

1、山西大学软件学院数据库系统概论课程设计报告书题目NBA数据系统专业软件工程班级姓名学号.指导教师2017 年6月.专业 .专注.目录一、选题背景 .3二、需求分析 . .32.1功能需求 .32.2数字字典 .42.2.1数据项 . .42.2.2数据结构 .62.2.3数据流 .6三、概念结构设计 .63.1球员 E-R 图.73.2球队 E-R 图.73.3赛程 E-R 图.8四、逻辑结构设计 .8五、物理结构设 计.85.15.25.3球员数据表球队信息表赛程信息表.9.9.10六、数据库实施.10七、界面及代码13八、心得体会23.专业 .专注.一、选题背景本学期的课设又开始了 ,我的

2、想法就是为每个球迷建立一个方便查询NBA相关信息的数据库系统 。 虽然当今 NBA 数据系统很强大而且很全面,但这次我就是想继续通过自己的能力以及利用自己学习的知识来做出一个可以利用的软件系统。另外,NBA 球员多,球队多,比赛也多 。球迷需要一个可以方便查询所有信息的一个系统 。所以 ,针对这个背景 ,我便定了这个题目。以下就是我的设计思想和过程 。二、需求分析2.1功能需求系统要实现的主要功能有:( 1)建立数据库 :根据系统功能设计的要求以及功能模块的划分,设计相关数据库。( 2)球员数据管理模块 :实现 NBA 球员基本情况的录入 、删除等基本操作 ;对球员基本信息能提供灵活的查询方式

3、 。.专业 .专注.( 3)球队信息管理模块 :实现 NBA 球队的录入 、删除等基本操作 ;能方便的查询球队的各项信息 。( 4)球队赛程信息管理模块:实现 NBA 各球队赛程信息的录入 、删除等基本操作 ;能方便查询各球队各赛季的比赛信息 。2.2数据字典通过对 NBA 联盟赛制赛程以及球迷关注信息的研究分析 ,我设计出如下的简单的数据项和数据结构 :数据项所涉及全部数据项及其解释与类型定义:数据项名数据项含义数据类型长度Season所属赛季varchar10Name球员姓名varchar20Team_Name球队名varchar20Number球员的号码varchar4Position球

4、员的场上位置varchar8Minutes球员的场均上场时间varchar5PTS球员的场均得分varchar8.专业 .专注.Assist球员的场均助攻varcharRebound球员的场均篮板varcharSteal球员的场均抢断varcharBlock_Shot球员的场均盖帽varcharTurnover球员的场均失误varcharFoul球员的场均犯规varcharFG球员的场均投篮命中率varcharFT球员的场均罚球命中率varcharTP球员的场均三分命中率varcharZone球队所属分区varcharCoach球队主教练varcharArena球队主场球馆varcharPPG

5、球队的场均得分varcharAPG球队的场均助攻varcharRPG球队的场均篮板varcharSPG球队的场均抢断varcharBPG球队的场均盖帽varcharAFG球队的场均投篮命中率varcharAFT球队的场均罚球命中率varcharATP球队的场均三分命中率varcharDate_Time比赛日期和时间varchar. .88888855542020101010101055520.专业 .专注.Opponent对手varcharResult比赛结果varcharScores比分情况varcharSite比赛地点varchar数据结构数据结构名数据结构含义组成2051020Seaso

6、n, Team_Name,Number, Position, Minutes,球员数据表表示球员的各项数据PTS, Assist, Rebound, Steal,Block_Shot, Foul, FG, FT, TPTeam_Name, Zone, Coach,球队信息表表示球队的各项信息Arena, PPG, APG, RPG, SPG,BPG, AFG, AFT, ATPDate_Time, Team_Name,表示球队之间的赛程安排以赛程信息表Opponent, Result, Scores,及部分比赛结果Site数据流数据流名称操作数据流来源数据流去向数据流组成球员数据增删球员数据管

7、理员操作球员数据表同表中相关属性.专业 .专注.球队信息增删球队信息管理员操作球队信息表同表中相关属性赛程信息增删赛程信息管理员操作赛程信息表同表中相关属性三、概念结构设计3.1球员数据 E-R 模型姓名号码赛季所在球队场上位置场均三分场均分钟命中率场均罚球球员数据场均得分命中率(PLAYER)场均投篮场均助攻命中率场均犯规场均盖帽场均篮板场均失误场均抢断.专业 .专注.3.2球队信息 E-R 模型主教练主场球馆分区场均得分场均助攻球队名球队信息(TEAM)场均篮板场均抢断场均三分命中率场均罚球场均投篮命中率命中率3.3赛程信息 E-R 模型对手球队赛程信息(SCHEDULE)日期地点场均盖帽

8、结果比分四、逻辑结构设计根据概念结构设计阶段的E-R 模型,现按规则将其转换为以下3个关系模式 :(表名和属性名均用英文 ) PLAYER(Season, Season,Name,Team_Name,Number,.专业 .专注.Position, Minutes, PTS, Assist, Rebound, Steal, Block_Shot, Turnover,Foul, FG, FT, TP)TEAM(Zone, Coach, Arena, PPG, APG, RPG, SPG, BPG, AFG,AFT, ATP) SCHEDULE(Date_Time, Team_Name, Oppo

9、nent, Result, Scores, Site)五、物理结构设计将逻辑设计阶段设计的关系模型转化为物理数据库。5.1 PLAYER 表(球员数据表 ).专业 .专注.5.2 TEAM表(球队信息表 )5.3 SCHEDULE表(赛程信息表 )六、数据库实施6.1向数据库输入数据数据的数据只是象征性的输入一些代表性数据。.专业 .专注.以下是输入数据的结果图,过程中没有发生错误以及约束冲突问题。PLAYER表:(注:上图没有完整截图 )TEAM 表:(注:上图没有完整截图 )SCHEDULE表:.专业 .专注.(注:上图没有完整截图 )6.2建立数据库 ( SQL 语句)create ta

10、ble PLAYER(Season varchar (10),- 赛季Name varchar (20),- 球员姓名Team_Name varchar (20),- 所在球队Numbervarchar (4),- 球员号码Positionvarchar (8),- 场上位置Minutesvarchar (5),- 场均上场时间PTS varchar (8),- 场均得分Assist varchar (8),- 场均助攻.专业 .专注.Rebound varchar (8),- 场均篮板Steal varchar (8),- 场均抢断Block_Shot varchar (8),- 场均盖帽T

11、urnover varchar (8),- 场均失误Foul varchar (8),- 场均犯规FG varchar (5),- 场均投篮命中率FT varchar (5),- 场均罚球命中率TP varchar (5),- 场均三分命中率primary key(Season, Number , Team_Name )create table TEAM(Team_Name varchar (20) primarykey,- 球队名Zone varchar (4),- 分区Coach varchar (20),- 主教练Arena varchar (20),- 主场球馆PPG varchar

12、(10),- 场均得分APG varchar (10),- 场均助攻RPG varchar (10),- 场均篮板SPG varchar (10),- 场均抢断.专业 .专注.BPG varchar (10),- 场均盖帽AFG varchar (5),- 场均投篮命中率AFT varchar (5),- 场均罚球命中率ATP varchar (5)- 场均三分命中率)create table SCHEDULE(Date_Time varchar (20),- 日期Team_Name varchar (20),- 当前球队Opponentvarchar (20),- 对手Result varc

13、har (5),- 比赛结果Scores varchar (10),- 比分Site varchar (20),- 比赛地点primary key(Date_Time , Team_Name ),foreignkey (Team_Name ) references TEAM(Team_Name )七、界面及代码以下是其中一些界面的截图以及代码,不是全部 。.专业 .专注.7.1主界面 (菜单界面 )主要是给用户及管理员进行导航,详情如下 :截图:部分代码 :(头部代码省略)namespaceWindowsFormsApplication1publicpartialclass Menu : Fo

14、rmpublicMenu ()InitializeComponent();privatevoid button1_Click( objectsender , EventArgse).专业 .专注.Player Form2 = new Player ();Form2.Show ();privatevoid button2_Click_1(objectsender , EventArgse)Team Form3= new Team ();Form3.Show ();privatevoid button3_Click( objectsender , EventArgse)ScheduleForm4=

15、 new Schedule ();Form4.Show ();privatevoid button4_Click( objectsender , EventArgse)Login houtai= new Login ();houtai.Show();privatevoid button5_Click( objectsender , EventArgse).专业 .专注.this .Close ();(“声明 ”按钮定义省略 )7.2查看球员数据界面选择球队点击 “查询 ”按钮即可查询该球队所有球员信息。截图:(其中一个例子 )部分代码 :(头部代码省略)namespaceWindowsForm

16、sApplication1.专业 .专注.publicpartialclass Player : FormpublicPlayer ()InitializeComponent();privatevoid button1_Click( objectsender , EventArgse)/ 创建数据库连接SqlConnectionconn= newSqlConnection(Server=.;database=NBA;Integrated Security=True);tryconn.Open ();/ 打开数据库连接string sql = select Season as 赛季 , Name

17、 as 球员 , Team_Name as 球队 , Number as 号码 , Position as 位置 , Minutes as 场均上场时间, PTS as 场均得分, Assist as 场均助攻 , Rebound as 场均篮板 , Steal as 场均抢断 , Block_Shot as 场均盖帽, Turnover as 场均失误 , Foul 场均犯规 , FG 场均投篮命中率, FT as 场均罚球命中率, TP as 场均三分命中率 from PLAYER where Team_Name = 0;/ 编写 SQL语句.专业 .专注.();/ 填充 SQL语句Sql

18、DataAdapterada = new SqlDataAdapter( sql, conn );/ 创建数据适配器对象DataSet ds = new DataSet ();/ 创建数据集对象ada.Fill (ds );/ 填充数据集dataGridView1.DataSource= ds.Tables 0;/ 将数据集中的内容与datagridview绑定catchMessageBox .Show ( 操作错误 ! );finallyconn.Close ();/ 关闭数据库连接.专业 .专注.7.3查看球队信息导航界面在主界面上点击 “查看球队信息 ”按钮进入球队信息导航界面。在这个界

19、面中会给出 30 个球队的按钮 ,点击其中一个则可查询该球队信息。截图:部分代码 :(头部代码省略)namespaceWindowsFormsApplication1publicpartialclass Team : FormpublicTeam ()InitializeComponent();.专业 .专注.privatevoid button1_Click( objectsender , EventArgse)ATL laoying= new ATL();laoying.Show();(这里只列举一个按钮,其余还有 29个按钮定义省略)7.4 球队信息界面(以芝加哥公牛为例)在球队信息导航

20、界面中点击“芝加哥公牛 ”进入该界面 。自动从数据库中提取该球队数据 。 且其中文本框内容为只读。截图:部分代码 :.专业 .专注.(头部代码省略 )namespaceWindowsFormsApplication1publicpartialclass CHI : FormpublicCHI ()InitializeComponent();privatevoid CHI_Load ( objectsender , EventArgse)textBox1.ReadOnly=true ; / 设置 textBox 为只读textBox2.ReadOnly=true ;textBox3.ReadOn

21、ly=true ;textBox4.ReadOnly=true ;textBox5.ReadOnly=true ;textBox6.ReadOnly=true ;textBox7.ReadOnly=true ;textBox8.ReadOnly=true ;textBox9.ReadOnly=true ;.专业 .专注.textBox10.ReadOnly= true ;textBox11.ReadOnly= true ;SqlConnectionconn= newSqlConnection(Server=.;database=NBA;Integrated Security=True);con

22、n.Open ();/ 打开数据库连接stringsql = select Zone from TEAM where Team_Name = 公牛 ; / 编写SQL语句SqlCommandcmd = new SqlCommand(sql , conn );/ 创建命令对象textBox1.Text= cmd.ExecuteScalar () .ToString ();sql = select Coach from TEAM where Team_Name = 公牛 ; / 编写 SQL语句cmd = new SqlCommand(sql , conn ); / 创建命令对象textBox2.

23、Text= cmd.ExecuteScalar () .ToString ();sql = select Arena from TEAM where Team_Name = 公牛 ; / 编写 SQL语句cmd = new SqlCommand(sql , conn ); / 创建命令对象textBox3.Text= cmd.ExecuteScalar () .ToString ();(这里只列出三个,剩下 8个省略 )conn.Close ();.专业 .专注.7.5后台登陆以及后台功能选择界面提供登陆以及检查用户名密码。成功进入后即可选择功能。截图:选择功能界面部分代码 :namespac

24、eWindowsFormsApplication1publicpartialclass Houtai : FormpublicHoutai ()InitializeComponent();privatevoid button1_Click( objectsender , EventArgse).专业 .专注.AddPlayerAddPlayer= new AddPlayer ();AddPlayer.Show();privatevoid button2_Click( objectsender , EventArgse)AddTeamAddTeam= new AddTeam ();AddTeam

25、.Show();(其他四个功能代码省略)7.6后台添加功能界面(以添加球员为例)在文本框中输入内容 ,然后插入到insert语句中,完成插入数据过程 。截图:.专业 .专注.部分代码 :namespaceWindowsFormsApplication1publicpartialclass AddPlayer: FormpublicAddPlayer ()InitializeComponent();privatevoid button1_Click( objectsender , EventArgse)SqlConnectionconn= newSqlConnection(Server=.;da

26、tabase=NBA;Integrated Security=True);.专业 .专注.tryconn.Open ();/ 打开数据库连接string sql = insert into PLAYER(Season, Name, Team_Name, Number,Position, Minutes, PTS, Assist, Rebound, Steal, Block_Shot, Turnover, Foul, FG, FT, TP)values( +textBox1.Text+, +textBox2.Text+, +textBox3.Text+, +textBox4.Text+,+tex

27、tBox5.Text+, +textBox6.Text+, +textBox7.Text+, +textBox8.Text+,+textBox9.Text+, +textBox10.Text+, +textBox11.Text+, +textBox12.Text+,+textBox13.Text+, +textBox14.Text+, +textBox15.Text+, +textBox16.Text+) ;/ 编写 SQL语句SqlCommandcmd = new SqlCommand( sql, conn ); / 创建命令对象int returnvalue= cmd.ExecuteNon

28、Query();/ 执行 SQL语句if ( returnvalue!= -1 )/ 判断是否添加成功MessageBox .Show ( 添加成功 ! );catchMessageBox .Show ( 操作错误 ! );.专业 .专注.finallyconn.Close ();/ 关闭数据库连接7.7后台删除功能界面(以删除球队信息为例)先输入球队名 (主键)进行查询 ,然后选中某行信息再点击删除。截图:部分代码 :namespaceWindowsFormsApplication1.专业 .专注.publicpartialclass DeleteTeam: FormpublicDelete

29、Team ()InitializeComponent();privatevoid button2_Click( objectsender , EventArgse)SqlConnectionconn= newSqlConnection(Server=.;database=NBA;Integrated Security=True);tryconn.Open ();/ 打开数据库连接string sql = select Team_Name as 球队名 , Zone as 分区 , Coach as 主教练 , Arena as 球馆 , PPG as 场均得分 , APG as 场均助攻 ,

30、RPG as 场均篮板 , SPG as场均抢断 , BPG as 场均盖帽 , AFG as 场均投篮命中率, AFT as 场均罚球命中率, ATP as场均三分命中率 from TEAM where Team_Name = 0 ; / 编写 SQL语句sql = string .Format ( sql, textBox1.Text );SqlDataAdapterada = new SqlDataAdapter( sql, conn );/ 创建数据适配器对象.专业 .专注.DataSet ds = new DataSet ();/ 创建数据集对象ada.Fill (ds );/ 填充

31、数据集dataGridView1.DataSource= ds.Tables 0;/ 将数据集中的内容与 datagridview绑定catchMessageBox .Show ( 操作错误 ! );finallyconn.Close ();/ 关闭数据库连接privatevoid button1_Click( objectsender , EventArgse)SqlConnectionconn= newSqlConnection(Server=.;database=NBA;Integrated Security=True);try/ 获取选中行中的主键值int team_name=.专业

32、.专注.int .Parse(dataGridView1.SelectedRows0 .Cells0 .Value.ToString ();conn.Open ();/ 打开数据库连接string sql = delete from TEAM where Team_Name = + team_name+ ; / 编写 SQL语句SqlCommandcmd= new SqlCommand(sql, conn );/ 创建命令对象int returnvalue= cmd.ExecuteNonQuery();/ 执行 SQL语句if ( returnvalue!= -1 )/ 判断是否添加成功Mes

33、sageBox .Show ( 删除成功 ! );catchMessageBox .Show ( 操作错误 ! );finallyconn.Close ();/ 关闭数据库连接.专业 .专注.八、心得体会感觉这次做的课设内容是自己成就感最大的一回,不但把界面做出来了,而且可以连接后台数据库并实现各项功能。这次课设经历也是我自己认为收获最大的一次 ,体会到未来工作时做项目的部分流程。再对我的程序进行一下分析吧,我感觉不足之处就是我没有做出修改功能 update ,个人感觉是这个系统的短板部分 。 在未来的学习中 ,我要赶紧解决这个问题 ,并把这个程序越做越好 ,在这个过程中增长自己的能力 ,并学习开发经验 。相信我会从中收获更多地知识 !最后,这是大二的最后一个学期了 ,从这个暑假开始 ,更加努力的学习和做项目,真正在大学校园中锻炼自己 !.专业 .专注.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!