




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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.1 球员数据表95.2 球队信息表95.3 赛程信息表10六、数据库实施10七、界面及代码13心得体会23本学期的课设又开始了,我的想法就是为每个球迷建立一个方便查询NBA相关信息的数据库系统。虽然当今NBA数据系统很强大而且很全面,但这
2、次我就是想继续通过自己的能力以及利用自己学习的知识来做出一个可以利用的软件系统。另外,NBA球员多,球队多,比赛也多。球迷需要一个可以方便查询所有信息的一个系统。所以,针对这个背景,我便定了这个题目。以下就是我的设计思想和过程。二、需求分析2.1 功能需求系统要实现的主要功能有:(1)建立数据库:根据系统功能设计的要求以及功能模块的划分,设计相关数据库。(2)球员数据管理模块:实现NBA球员基本情况的录入、删除等基本操作;对球员基本信息能提供灵活的查询方式。(3)球队信息管理模块:实现NBA球队的录入、删除等基本操作;能方便的查询球队的各项信息。(4)球队赛程信息管理模块:实现NBA各球队赛程
3、信息的录入、删除等基本操作;能方便查询各球队各赛季的比赛信息2.2 数据字典通过对NBA联盟赛制赛程以及球迷关注信息的研究分析,我设计出如下的简单的数据项和数据结构:2.2.1 数据项所涉及全部数据项及其解释与类型定义:数据项名数据项含义数据类型长度Season所属赛季varchar10Name球员姓名varchar20Team_Name球队名varchar20Number球员的号码varchar4Position球员的场上位置varchar8Minutes球员的场均上场时间varchar5PTS球员的场均得分varchar8Assist球员的场均助攻varchar8Rebound球员的场均篮
4、板varchar8Steal球员的场均抢断varchar8Block_Shot球员的场均盖帽varchar8Turnover球员的场均失误varchar8Foul球员的场均犯规varchar8FG球员的场均投篮命中率varchar5FT球员的场均罚球命中率varchar5TP球员的场均三分命中率varchar5Zone球队所属分区varchar4Coach球队主教练varchar20Arena球队主场球馆varchar20PPG球队的场均得分varchar10APG球队的场均助攻varchar10RPG球队的场均篮板varchar10SPG球队的场均抢断varchar10BPG球队的场均盖帽v
5、archar10AFG球队的场均投篮命中率varchar5AFT球队的场均罚球命中率varchar5ATP球队的场均三分命中率varchar5Date_Time比赛日期和时间varchar20Opponent对手varchar20Result比赛结果varchar5Scores比分情况varchar10Site比赛地点varchar202.2.2数据结构数据结构名数据结构含义组成球员数据表表示球员的各项数据Season,Team_Name,NumberPosition,Minutes,PTS,Assist,Rebound,Steal,Block_Shot,Foul,FG,FT,TP球队信息表表
6、示球队的各项信息Team_Name,Zone,Coach,Arena,PPG,APG,RPG,SPG,BPG,AFG,AFT,ATP赛程信息表表示球队之间的赛程安排以及部分比赛结果Date_Time,Team_Name,Opponent,Result,Scores,Site2.2.3数据流数据流名称操作数据流来源数据流去向数据流组成球员数据增删球员数据管理员操作球员数据表同表中相关属性球队信息增删球队信息管理员操作球队信息表同表中相关属性赛程信息增删赛程信息管理员操作赛程信息表同表中相关属性号码赛季场上位置命中率分区场均抢断三、概念结构设计3.1球员数据E-R模型3.2球队信息E-R模型所在球
7、队场均失误场均抢断场均罚球命中率场均三分命中率场均得分球员数据(PLAYER)场均投篮y场均助攻场均篮板场均三分4命中率场均罚球命中率场均分钟场均犯规场均盖帽场均投篮I命中率主教练I4主场球馆球队名卜球队信息(TEAM)|场均得分/场均助攻I场均篮板3.3赛程信息E-R模型对手球队I.(结果赛程信息(SCHEDULE)日期1q比分地点四、逻辑结构设计根据概念结构设计阶段的E-R模型,现按规则将其转换为以下3个关系模式:(表名和属性名均用英文)PLAYER(Season,Season,Name,Team_Name,Number,Position,Minutes,PTS,Assist,Reboun
8、d,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,Opponent,Result,Scores,Site)五、物理结构设计将逻辑设计阶段设计的关系模型转化为物理数据库。5.1 PLAYED(球员数据表)r1NlGHTWlSH-NBA-dboPLAYER列名允许Null值|_i_uiiaiMjiaiuuiHiihuiiiii-miiiMuainiai闪iSeasonIUIIIIIU4IIIII.Al
9、llllUlllia-lJvarhar(10)B_Namevarchar(20)_H£TeamjNamevarchar(2D口Numbervarchar(4)BPositionvarchar(8)BMinniesvarchar(5)国?T£varchari8)H阳咏tvarchar8)EReboundvarfharfS)回Stealvarchar(S)国BIq亡k_£hcrtvarc.har(8)0Turnovervarchar(8)SFoulvarrharfS)0FGvarchar(5血FTvarchar(5)sTPvarchar(5)国B5.2 TEAM表(球
10、队信息表)N1GHTWISH.NBA-dbsTEAM列名允声Null值wiliirimuibiwiniiBirvBiiirhi!inn!imuiBmaiii想::TeamName'varchar(20)nZonevarchar(4)0Coachvarchar(iD)aArenavarchar(20)困PPGvarchartlO)回APGvarchar(lO)aRPGvarchar(lO)aSPGvarchar(lO)画BPGuarcharflO)回AFGvarchar(5i回AFTvarchar(5jaATPvarchar(5Js5.3 SCHEDULE!(赛程信息表)N1GHTW1S
11、HNBA-dbo,&CHEDULEX列名允许Null值理|DateJTimevarchar(20)gTeam_N3nieOpponentResultvarcharUO)varchar(20)varchar(5H.ScoresvarcharflO)£rtevarchar(20)国六、数据库实施6.1 向数据库输入数据数据的数据只是象征性的输入一些代表性数据。以下是输入数据的结果图,过程中没有发生错误以及约束冲突问题。PLAYER表:(注:上图没有完整截图)TEAM表:MtGMTWrSWABfi-dbo.TEAMk|Team.NameC>a£hArenaPPG林&
12、amp;RPGSPG日咫76AM挈匕为走亚口1?,”炉A2L54£JE3总击行育溺冉注"5米=钱花青宴&鹏W.32U.44.5fi.165£立壬100.32L745,76.275.7忐腱布日卡学司2<5M30.945酉贪:卢无话顿串台运嫡中.9731&043.072布左尊卷耳憎杵特感W.313;&KfiS.733西步立E辟SiW三王匾并摘£9832L795民M4.0不正转乐电节7通土本1,二夺押M.521.Quq7.513褓西京电或舞而亏TE-.iJTfS103.»22.2心,皿4.2却迈新三推门嗓值ni.101.
13、922744方744.8西岸豕那同号两方曳军哈河719.0w115,2百空将眼厮金汽电卬g102.82L945.9fl.4£9此相人WMimviMAZE建也10142<54*3305曲卷舌盾tum10672484247.84.7班号亍,阿Wii料三电*山。工2b山4JL4?.64.D=.Ui+骷4wiiSRJT-e寸Mi+*37(注:上图没有完整截图)SCHEDULE表:hj.r-i'.T1,-TLJ,C.J-.IL7|QattTimeTfean_NartieOajcrentFlfruikScoiesSiteNCIGg月L)m&J0»±幺*f
14、t102-105就白中心国定2016112=70G魔术市囊在107-班安和中心I?襦2C1C4R1237:00身摩胜13-94侬豺即201C4RL2=7;30点才苫同胜120-111201&1P4R123&00期除胜121-lie新曼尔良利雷k201E年4月13三ZOC总询小疔着n90-102生疔茎生活以博【01诲1月71.10送去挑火立93心99宓吞山言/岗情Wie年4月隔m8:0076A公牛负305115野稳中心丽JOltlMH14=&DO世行有逢身性幻-W希拉律到中心工01£年4月14m段优7&A胜115-105用台中心毕暄2016#:14=&a
15、mp;:00加尔后人牲98S31D北洋荷日乐馆20建年娟14m8:00苴阈叫负,6105甲MIS2C1E年4月14三名优会程网胜103-Q6:0164R143&0Q行商安食103117斫二邻有隆一2016年4月“38:00全才老雪K10593成和中吧毯耀2016年4月14三a0C械步疔舍ft9297布拄粽历心,“.1工-1r-三一一-11,4Iljirnri>rF产(注:上图没有完整截图)6.2 建立数据库(SQL语句)createtablePLAYER(-赛季-球员姓名-所在球队-球员号码-场上位置-场均上场时间Seasonvarchar(10),Namevarchar(20)
16、,Team_Namvarchar(20),Numbervarchar(4),Positionvarchar(8),Minutesvarchar(5),PTSvarchar(8),-场均得分Assistvarchar(8),-场均助攻Reboundvarchar(8),-场均篮板Stealvarchar(8),-场均抢断Block_Shotvarchar(8),-场均盖帽Turnovervarchar(8),-场均失误Foulvarchar(8),-场均犯规FGvarchar(5),-场均投篮命中率FTvarchar(5),-场均罚球命中率TPvarchar(5),-场均三分命中率primary
17、key(Season,NumberTeam_Nan)e)createtableTEAM(Team_Namvarchar(20)primarykey,-球队名Zonevarchar(4),-分区Coachvarchar(20),-主教练Arenavarchar(20),-主场球馆PPGvarchar(10),-场均得分APGvarchar(10),-场均助攻RPGvarchar(10),-场均篮板SPGvarchar(10),-场均抢断BPGvarchar(10),-场均盖帽AFGvarchar(5),-场均投篮命中率AFTvarchar(5),-场均罚球命中率ATPvarchar(5)-场均三
18、分命中率createtableSCHEDULE(Date_Timevarchar(20),-日期Team_Namvarchar(20),-当前球队Opponentvarchar(20),-对手Resultvarchar(5),-比赛结果Scoresvarchar(10),-比分Sitevarchar(20),-比赛地点primarykey(Date_Time,Team_Nan)eforeignkey(Team_Nan)ereferencesTEAMTeam_Nan)e七、界面及代码以下是其中一些界面的截图以及代码,不是全部7.1主界面(菜单界面)主要是给用户及管理员进行导航,详情如下:截图:部
19、分代码:(头部代码省略)namespaceWindowsFormsApplicationl(publicpartialclassMenu:Form(publicMenu()(InitializeComponent();privatevoidbutton1_Click(objectsender,EventArgse)(PlayerForm2=newPlayer();Form2.Show();privatevoidbutton2_Click_1(objectsender,EventArgse)TeamForm3=newTeam();Form3.Show();privatevoidbutton3_C
20、lick(objectsender(ScheduleForm4=newSchedule();Form4.Show();)privatevoidbutton4_Click(objectsender(Loginhoutai=newLogin();houtai.Show();)privatevoidbutton5_Click(objectsender(this.Close();)(“声明”按钮定义省略)EventArgse)EventArgse)EventArgse)7.2查看球员数据界面选择球队点击“查询”按钮即可查询该球队所有球员信息截图:(其中一个例子)部分代码:(头部代码省略)namespa
21、ceWindowsFormsApplicationl(publicpartialclassPlayer:Form(publicPlayer()(InitializeComponent();privatevoidbutton1_Click(objectsender,EventArgse)(/创建数据库连接SqlConnectionconn=newSqlConnection("Server=.;database=NBA;IntegratedSecurity=True");try(conn.Open();/打开数据库连接stringsql="selectSeasonas
22、'赛季',Nameas'球员',Team_Nameas'球队',Numberas'号码',Positionas'位置',Minutesas'场均上场时间,PTSas'场均得分',Assistas'场均助攻',Reboundas'场均篮板',Stealas'场均抢断',Block_Shotas'场均盖帽,Turnoveras'场均失误',Foul'场均犯规',FG'场均投篮命中率',FTas
23、'场均罚球命中率',TPas'场均三分命中率'fromPLAYERwhereTeam_Name='0'"/编写SQL语句sql=string.Format(sql,comboBoxl.SelectedItem.ToString();/填充SQL语句SqlDataAdapterada=newSqlDataAdapter(sql,conn);/创建数据适配器对象DataSetds=newDataSet();/创建数据集对象ada.Fill(ds);/填充数据集dataGridViewl.DataSource=ds.Tables0;/将数据集
24、/关闭数据库连接中的内容与datagridview绑定catchMessageBox.Show("操作错误!");finallyconn.Close();7.3 查看球队信息导航界面在主界面上点击“查看球队信息”按钮进入球队信息导航界面。在这个界面中会给出30个球队的按钮,点击其中一个则可查询该球队信息。截图:部分代码:(头部代码省略)namespaceWindowsFormsApplicationl(publicpartialclassTeam:Form(publicTeam()(InitializeComponent();)privatevoidbutton1_Clic
25、k(objectsender,EventArgse)(ATLlaoying=newATL();laoying.Show();)(这里只列举一个按钮,其余还有29个按钮定义省略)7.4 球队信息界面(以芝加哥公牛为例)在球队信息导航界面中点击“芝加哥公牛”进入该界面。自动从数据库中提取该球队数据。且其中文本框内容为只读。截图:部分代码:(头部代码省略)namespaceWindowsFormsApplicationl(publicpartialclassCHI:Form(publicCHI()(InitializeComponent();privatevoidCHI_Load(objectsen
26、der,EventArgse)(textBox1.ReadOnly=true;/设置textBox为只读textBox2.ReadOnly=true;textBox3.ReadOnly=true;textBox4.ReadOnly=true;textBox5.ReadOnly=true;textBox6.ReadOnly=true;textBox7.ReadOnly=true;textBox8.ReadOnly=true;textBox9.ReadOnly=true;textBox10.ReadOnly=true;textBoxlI.ReadOnly=true;SqlConnectioncon
27、n=newSqlConnection("Server=.;database=NBA;IntegratedSecurity=True");conn.Open();/打开数据库连接stringsql="selectZonefromTEAMwhereTeam_Name='公牛"/编写SQL语句SqlCommandcmd=newSqlCommand(sql,conn);/创建命令对象textBox1.Text=cmd.ExecuteScalar().ToString();sql="selectCoachfromTEAMwhereTeam_Nam
28、e='公牛'"/编写SQL语句cmd=newSqlCommand(sql,conn);/创建命令对象textBox2.Text=cmd.ExecuteScalar().ToString();sql="selectArenafromTEAMwhereTeam_Name='公牛"/编写SQL语句cmd=newSqlCommand(sql,conn);/创建命令对象textBox3.Text=cmd.ExecuteScalar().ToString();(这里只列出三个,剩下8个省略)conn.Close();7.5 后台登陆以及后台功能选择界面
29、提供登陆以及检查用户名密码。成功进入后即可选择功能截图:选择功能界面部分代码:namespaceWindowsFormsApplicationl(publicpartialclassHoutai:Form(publicHoutai()(InitializeComponent();privatevoidbutton1_Click(objectsender,EventArgse)(AddPlayerAddPlayer=newAddPlayer();AddPlayer.Show();privatevoidbutton2_Click(objectsender,EventArgse)(AddTeamAd
30、dTeam=newAddTeam();AddTeam.Show();(其他四个功能代码省略)7.6 后台添加功能界面(以添加球员为例)在文本框中输入内容,然后插入到insert语句中,完成插入数据过程。截图:部分代码:namespaceWindowsFormsApplicationl(publicpartialclassAddPlayer:Form(publicAddPlayer()(InitializeComponent();privatevoidbutton1_Click(objectsender,EventArgse)(SqlConnectionconn=newSqlConnection
31、("Server=.;database=NBA;IntegratedSecurity=True");try(conn.Open();/打开数据库连接stringsql="insertintoPLAYER(Season,Name,Team_Name,Number,Position,Minutes,PTS,Assist,Rebound,Steal,Block_Shot,'"+textBox2.Text+'"+textBox5.Text+"''""''"+text
32、Box3.Text+textBox6.Text+"''""''"+textBox4.Text+textBox7.Text+"'"''"+textBox8.Text+"''"+textBox9.Text+"''"+textBox10.Text+"''"+textBox11.Text+"''"+textBox12.Text+&quo
33、t;''"+textBox13.Text+"''"+textBox14.Text+"''"+textBox15.Text+"''"+textBox16.Text+"')/编写SQL语句SqlCommandcmd=newSqlCommand(sql,conn);/创建命令对象Turnover,Foul,FG,FT,TP)values('"+textBox1.Text+intreturnvalue=cmd.ExecuteNonQu
34、ery();/执行SQL语句if(returnvalue!=-1)/判断是否添加成功(MessageBox.Show("添加成功!");catch(MessageBox.Show("操作错误!");finally(conn.Close();/关闭数据库连接7.7 后台删除功能界面(以删除球队信息为例)先输入球队名(主键)进行查询,然后选中某行信息再点击删除截图:部分代码:namespaceWindowsFormsApplicationl(publicpartialclassDeleteTeam:Form(publicDeleteTeam()(Initia
35、lizeComponent();)privatevoidbutton2_Click(objectsender,EventArgse)(SqlConnectionconn=newSqlConnection("Server=.;database=NBA;IntegratedSecurity=True");try(conn.Open();/打开数据库连接stringsql="selectTeam_Nameas'球队名',Zoneas'分区',Coachas'主教练',Arenaas'球馆',PPGas'场均得分',APGas'场均助攻',RPGas'场均篮板',SPGas'场均抢断',BPGas'场均盖帽,AFGas'场均投篮命中率',AFTas'场均罚
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《5 生物的启示》(教案)五年级下册科学苏教版
- DB41∕T 1757-2019 瓜叶菊培育技术规程
- 任务五线路障碍种类及维护技术要求李永华课件
- 任务认识工程地质测绘的内容课件
- 11 爸爸妈妈在我心中 第二课时(教学设计)2023-2024学年统编版道德与法治三年级上册
- 施工组织设计与概预算人李慧英30课件
- 《第四单元 建立网站 第14课 完善与发布网站 五、把网站发布到因特网上》教学设计教学反思-2023-2024学年初中信息技术人教版七年级上册
- 2025年国际工程承包项目贷款合同模板
- 2025商场租赁合同样本
- 2025的企业贷款合同模板
- 2025榆林能源集团有限公司招聘工作人员(473人)笔试参考题库附带答案详解
- 银行等安全保卫现场检查要点清单
- 活动场地租赁与活动安全责任协议
- 《数据统计与分析》课件
- 2024年河南职业技术学院单招职业适应性考试题库必考题
- (二模)新疆维吾尔自治区2025年普通高考第二次适应性检测 英语试卷(含答案详解)
- 征信系统AI应用行业深度调研及发展战略咨询报告
- 旅行社企业章程范本
- 2024届新高考物理冲刺复习:“正则动量”解决带电粒子在磁场中的运动问题
- 2024年国家粮食和物资储备局直属事业单位招聘笔试参考题库附带答案详解
- 地下储气库天然气损耗及控制
评论
0/150
提交评论