数据库课程设计NBA篮球管理系统_第1页
数据库课程设计NBA篮球管理系统_第2页
数据库课程设计NBA篮球管理系统_第3页
数据库课程设计NBA篮球管理系统_第4页
数据库课程设计NBA篮球管理系统_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、山西大学软件学院数据库系统概论课程设计报告书题 目 NBA数据系统 专 业 软件工程 班 级 姓 名 学 号 指导教师 2017年6月目录一、选题背景.3二、需求分析. .3 2.1 功能需求.3 2.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.1 球员数据表.95.2 球队信息表.95.3 赛程信息表.10六、数据库实施. .10七、界面及代码.13八、心得体会.23一、选题背景本学期的课设又开始了,我的

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

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

4、ar5PTS球员的场均得分varchar8Assist球员的场均助攻varchar8Rebound球员的场均篮板varchar8Steal球员的场均抢断varchar8Block_Shot球员的场均盖帽varchar8Turnover球员的场均失误varchar8Foul球员的场均犯规varchar8FG球员的场均投篮命中率varchar5FT球员的场均罚球命中率varchar5TP球员的场均三分命中率varchar5Zone球队所属分区varchar4Coach球队主教练varchar20Arena球队主场球馆varchar20PPG球队的场均得分varchar10APG球队的场均助攻var

5、char10RPG球队的场均篮板varchar10SPG球队的场均抢断varchar10BPG球队的场均盖帽varchar10AFG球队的场均投篮命中率varchar5AFT球队的场均罚球命中率varchar5ATP球队的场均三分命中率varchar5Date_Time比赛日期和时间varchar20Opponent对手varchar20Result比赛结果varchar5Scores比分情况varchar10Site比赛地点varchar202.2.2 数据结构数据结构名数据结构含义组成球员数据表表示球员的各项数据Season, Team_Name, Number, Position, Mi

6、nutes, PTS, Assist, Rebound, Steal, Block_Shot, Foul, FG, FT, TP球队信息表表示球队的各项信息Team_Name, Zone, Coach, Arena, PPG, APG, RPG, SPG, BPG, AFG, AFT, ATP赛程信息表表示球队之间的赛程安排以及部分比赛结果Date_Time, Team_Name, Opponent, Result, Scores, Site2.2.3 数据流数据流名称操作数据流来源数据流去向数据流组成球员数据增删球员数据管理员操作球员数据表同表中相关属性球队信息增删球队信息管理员操作球队信息

7、表同表中相关属性赛程信息增删赛程信息管理员操作赛程信息表同表中相关属性三、概念结构设计3.1 球员数据E-R模型3.2 球队信息E-R模型3.3 赛程信息E-R模型四、逻辑结构设计根据概念结构设计阶段的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

8、, APG, RPG, SPG, BPG, AFG, AFT, ATP)SCHEDULE(Date_Time, Team_Name, Opponent, Result, Scores, Site)五、物理结构设计将逻辑设计阶段设计的关系模型转化为物理数据库。5.1 PLAYER表(球员数据表)5.2 TEAM表(球队信息表)5.3 SCHEDULE表(赛程信息表)六、数据库实施6.1 向数据库输入数据数据的数据只是象征性的输入一些代表性数据。以下是输入数据的结果图,过程中没有发生错误以及约束冲突问题。PLAYER表:(注:上图没有完整截图)TEAM表:(注:上图没有完整截图)SCHEDULE表

9、:(注:上图没有完整截图)6.2 建立数据库(SQL语句)create table PLAYER(Season varchar(10),-赛季Name varchar(20),-球员姓名Team_Name varchar(20),-所在球队Number varchar(4),-球员号码Position varchar(8),-场上位置Minutes varchar(5),-场均上场时间PTS varchar(8),-场均得分Assist varchar(8),-场均助攻Rebound varchar(8),-场均篮板Steal varchar(8),-场均抢断Block_Shot varcha

10、r(8),-场均盖帽Turnover 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) primary key,-球队名Zone varchar(4),-分区Coach varchar(20),-主教练Arena varchar(20),-主场球馆PPG varchar(10),-场均得

11、分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),-当前球队Opponent varchar(20),-对手Result varchar(5),-比赛结果Scores varchar(10),-比分Sit

12、e varchar(20),-比赛地点primary key(Date_Time, Team_Name),foreign key (Team_Name) references TEAM(Team_Name)七、界面及代码以下是其中一些界面的截图以及代码,不是全部。7.1 主界面(菜单界面)主要是给用户及管理员进行导航,详情如下:截图:部分代码:(头部代码省略)namespace WindowsFormsApplication1 public partial class Menu : Form public Menu() InitializeComponent(); private void b

13、utton1_Click(object sender, EventArgs e) Player Form2 = new Player(); Form2.Show(); private void button2_Click_1(object sender, EventArgs e) Team Form3 = new Team(); Form3.Show(); private void button3_Click(object sender, EventArgs e) Schedule Form4 = new Schedule(); Form4.Show(); private void butto

14、n4_Click(object sender, EventArgs e) Login houtai = new Login(); houtai.Show(); private void button5_Click(object sender, EventArgs e) this.Close(); (“声明”按钮定义省略) 7.2 查看球员数据界面选择球队点击“查询”按钮即可查询该球队所有球员信息。截图:(其中一个例子)部分代码:(头部代码省略)namespace WindowsFormsApplication1 public partial class Player : Form public

15、 Player() InitializeComponent(); private void button1_Click(object sender, EventArgs e) /创建数据库连接 SqlConnection conn = new SqlConnection(Server=.;database=NBA;Integrated Security=True); try conn.Open(); /打开数据库连接 string sql = select Season as 赛季, Name as 球员, Team_Name as 球队, Number as 号码, Position as

16、位置, 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 = string.Format(sql, comboBox1.SelectedItem.ToString(); /填充SQL语句 SqlDataAdapter

17、ada = new SqlDataAdapter(sql, conn); /创建数据适配器对象 DataSet ds = new DataSet(); /创建数据集对象 ada.Fill(ds); /填充数据集 dataGridView1.DataSource = ds.Tables0; /将数据集中的内容与datagridview绑定 catch MessageBox.Show(操作错误!); finally conn.Close(); /关闭数据库连接 7.3 查看球队信息导航界面在主界面上点击“查看球队信息”按钮进入球队信息导航界面。在这个界面中会给出30个球队的按钮,点击其中一个则可查

18、询该球队信息。截图:部分代码:(头部代码省略)namespace WindowsFormsApplication1 public partial class Team : Form public Team() InitializeComponent(); private void button1_Click(object sender, EventArgs e) ATL laoying = new ATL(); laoying.Show(); (这里只列举一个按钮,其余还有29个按钮定义省略)7.4球队信息界面(以芝加哥公牛为例)在球队信息导航界面中点击“芝加哥公牛”进入该界面。自动从数据库中

19、提取该球队数据。且其中文本框内容为只读。截图:部分代码:(头部代码省略)namespace WindowsFormsApplication1 public partial class CHI : Form public CHI() InitializeComponent(); private void CHI_Load(object sender, EventArgs e) textBox1.ReadOnly = true; /设置textBox为只读 textBox2.ReadOnly = true; textBox3.ReadOnly = true; textBox4.ReadOnly =

20、 true; textBox5.ReadOnly = true; textBox6.ReadOnly = true; textBox7.ReadOnly = true; textBox8.ReadOnly = true; textBox9.ReadOnly = true; textBox10.ReadOnly = true; textBox11.ReadOnly = true; SqlConnection conn = new SqlConnection(Server=.;database=NBA;Integrated Security=True); conn.Open(); /打开数据库连接

21、 string sql = select Zone from TEAM where Team_Name = 公牛 ; /编写SQL语句 SqlCommand cmd = new SqlCommand(sql, conn);/创建命令对象 textBox1.Text = cmd.ExecuteScalar().ToString(); sql = select Coach from TEAM where Team_Name = 公牛 ; /编写SQL语句 cmd = new SqlCommand(sql, conn); /创建命令对象 textBox2.Text = cmd.ExecuteScal

22、ar().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 后台登陆以及后台功能选择界面提供登陆以及检查用户名密码。成功进入后即可选择功能。截图:选择功能界面部分代码:namespace WindowsFormsApplication1 public pa

23、rtial class Houtai : Form public Houtai() InitializeComponent(); private void button1_Click(object sender, EventArgs e) AddPlayer AddPlayer = new AddPlayer(); AddPlayer.Show(); private void button2_Click(object sender, EventArgs e) AddTeam AddTeam = new AddTeam(); AddTeam.Show(); (其他四个功能代码省略) 7.6 后台

24、添加功能界面(以添加球员为例)在文本框中输入内容,然后插入到insert语句中,完成插入数据过程。截图:部分代码:namespace WindowsFormsApplication1 public partial class AddPlayer : Form public AddPlayer() InitializeComponent(); private void button1_Click(object sender, EventArgs e) SqlConnection conn = new SqlConnection(Server=.;database=NBA;Integrated S

25、ecurity=True); try conn.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+, +textBox5.Text+, +textBox6.Text

26、+, +textBox7.Text+, +textBox8.Text+, +textBox9.Text+, +textBox10.Text+, +textBox11.Text+, +textBox12.Text+, +textBox13.Text+, +textBox14.Text+, +textBox15.Text+, +textBox16.Text+) ; /编写SQL语句 SqlCommand cmd = new SqlCommand(sql, conn); /创建命令对象 int returnvalue = cmd.ExecuteNonQuery();/执行SQL语句 if (retu

27、rnvalue != -1) /判断是否添加成功 MessageBox.Show(添加成功!); catch MessageBox.Show(操作错误!); finally conn.Close(); /关闭数据库连接 7.7 后台删除功能界面(以删除球队信息为例)先输入球队名(主键)进行查询,然后选中某行信息再点击删除。截图:部分代码:namespace WindowsFormsApplication1 public partial class DeleteTeam : Form public DeleteTeam() InitializeComponent(); private void

28、button2_Click(object sender, EventArgs e) SqlConnection conn = new SqlConnection(Server=.;database=NBA;Integrated Security=True); try conn.Open(); /打开数据库连接 string sql = select Team_Name as 球队名, Zone as 分区, Coach as 主教练, Arena as 球馆, PPG as 场均得分, APG as 场均助攻, 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); SqlDataAdapter ada = new SqlDataAdapter(sql, conn); /创建数据适配器对象 DataSet ds = new DataSet(); /创建数据集对象 ada

温馨提示

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

评论

0/150

提交评论