版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、足球联赛信息系统设计报告书一 概述1 项目名称:足球联赛信息系统2 项目背景: 结合数据库系统概论中介绍的内容和以往所学的专业知识,开发一个足球联赛信息系统。3 项目目的:掌握数据库管理和设计原理,熟悉并能熟练使用sql语句,能在一个或多个数据库管理系统进行开发和管理,并结合特定程序开发语言如c、java进行项目的开发。4 开发环境:数据库管理系统采用sqlsever2000sp3(加装jdbc),程序开发语言采用java,集成开发环境使用jbuilder2005。二 需求分析1 系统使用对象:足球编辑。足球作为世界第一运动,拥有广大的爱好者,催生并推动了诸多周边产业的发展,比如说足球报纸的蓬
2、勃发展。为了方便足球编辑们的工作,让他们能对相关信息进行查询,本人开发了此足球联赛信息系统。2 系统开发定位:由于有其固定使用群体足球编辑,本系统在设计上有所侧重,更加强调信息的完整性和查询功能,娱乐性较小,因而对界面上设计则未投入过多精力,整个界面相对也较朴实。而对于操作设计从人性化着手,方便管理人员的信息录入,同时,在能满足使用者的日常需要外,还也针对一般用户简化设计。3 系统主要功能:本项目针对使用者的工作特点,设定了4大功能模块。 系统管理。一般用户和管理员的密码修改功能;系统超级管理员对用户进行类别权限设置;系统超级管理员对数据进行备份。 系统信息录入。这个模块是数据库的核心之一,它
3、实现了对数据库中所有有效信息的管理。包括联赛球队信息,联赛球员信息,联赛赛事信息,联赛犯规信息和进球信息。要求有管理员或超级管理员权限。同时考虑到对数据的保护,有些表中的信息无法在更改,只能由程序自动进行其相应的增删改的操作,对操作人员而言是透明的。 联赛信息查询。用户在这个模块中可查询系统相应的一些简单的已定制好的信息,比如积分榜,射手榜,助攻榜,累积红牌信息,累积黄牌信息。这些基本的信息查询可以方便用户可以便捷的查询相关联赛的统计信息。 用户定制查询。用户可以自己定制选择查询信息,朝着人性话的方式建立。用户查询所有系统中的信息(用户信息出外),也可以根据需要定制查询的内容,同时可以关联到上
4、一模块中相关的联赛统计信息。4 数据字典: 用户信息用户id+用户姓名+用户类型+用户密码+联系电话+联系地址+证件号码+备注; 球队信息球队id+球队名称+董事长+总经理+主教练+教练简介+联系电话+联系地址+邮编+传真号码+球队备注; 球员信息球员id+球员名称+所属球队+出生日期+身高+体重+场上位置+国家队身份+照片+备注; 进球信息进球id+射门球员id+助攻球员id+比赛场次+进球时间; 领牌信息红黄牌id+领牌球员id+出示时间; 比赛信息比赛id+主队id+客队id+比赛场次+比赛时间+比赛地点+比赛结果(主队胜负平)+比赛比分+主裁信息+边裁信息; 积分信息球队id+球队名称
5、+比赛场数+胜场数+负场数+平场数+主场战绩+客场战绩+进球总数+失球总数+积分;5 系统数据流图用户信息设置基本基本用户信息录入联赛数据信息管理球队信息设置球队信息录入球员信息设置比赛结果信息设置球员信息录入红黄牌信息设置进球信息设置红黄牌信息录入进球信息录入比赛信息录入积分信息设置积分信息录入三 结构设计1 数据库结构设计 系统用户表:名称数据类型作用idvarchar用户帐号namevarchar用户名称typevarchar用户类型passwordvarchar用户密码telvarchar联系电话addrvarchar联系地址picnovarchar身份证号remarkvarchar备
6、注球队信息表名称数据类型作用t_idvarchar球队编号t_namevarchar球队名称chairmanvarchar球队董事长t_managervarchar球队经理coachvarchar球队主教练coach_resumevarchar教练备注addrvarchar球队联系地址zipvarchar邮编telvarchar联系电话faxvarchar传真t_remarkvarchar球队备注球员信息表名称数据类型作用p_idvarchar球员编号p_namevarchar球员姓名t_namevarchar所属球队birthdaydatetime出生日期weightfloat体重highf
7、loat身高posivarchar场上位置nation_playervarchar是否现役国脚photovarchar图片地址p_remarkvarchar球员备注进球信息表名称数据类型作用g_idint进球编号m_timesvarchar进球场次shotter_idvarchar射门球员编号assist_idvarchar助攻球员编号g_timevarchar场上时间红黄牌信息表名称数据类型作用c_idint红黄牌编号m_idvarchar红黄牌场次p_idvarchar领牌球员编号yellow_redvarchar红、黄牌c_timevarchar出示时间比赛信息表名称数据类型作用m_id
8、varchar比赛编号host_idvarchar主队编号guest_idvarchar客队编号m_timesvarchar比赛场次m_datedatetime比赛时间m_addrvarchar比赛地点host_winvarchar主队胜负平host_goalsint主队进球guest_goalsint客队进球chief_umpirevarchar主裁判umpire_1varchar边裁1umpire_2varchar边裁2积分表名称数据类型作用t_idvarchar球队编号t_namevarchar球队名称sum_matchint比赛总数winsint胜场数losesint负场数too_fa
9、llint平场数host_winsint主场获胜数guest_winsint客场获胜数goalsint总进球数lose_goalsint总失球scoreint联赛积分2e-r图球队编号名称主教练地址邮编联系电话传真董事长总经理教练简介备注图2.1 球队作为一个实体球员编号姓名所属球队出生日期国家队员位置身高体重备注照片图2.2 球员最为一个实体进球比赛场次进球队员编号助攻队员编号进球时间图2.3 进球作为一个实体比赛编号主队编号客队编号场次日期时间比赛地点主队赢主队平主队输主队进球数客队进球数主裁边裁1边裁2图2.4 比赛作为一个实体红黄牌比赛编号队员编号红黄牌编号红黄牌出示时间图2.5 红黄
10、牌作为一个实体积分榜球队编号球队名总比赛数赢场次数输场次数平场次数主场赢次数客场赢次数失球数积分进球数图2.6 积分榜作为一个实体进球取得球员 n m 1出示组成 n计算积分榜 1 n n 1参加红黄牌球队比赛 2 1主要数据表关系如下: 主要数据库sql脚本如下:create table dbo.cards (c_id int not null ,m_id varchar (20) collate chinese_prc_ci_as not null ,p_id varchar (20) collate chinese_prc_ci_as not null ,yellow_red varch
11、ar (10) collate chinese_prc_ci_as not null ,c_time varchar (10) collate chinese_prc_ci_as null ) on primarygocreate table dbo.goals (g_id int not null ,m_times varchar (10) collate chinese_prc_ci_as null ,shotter_id varchar (20) collate chinese_prc_ci_as not null ,assist_id varchar (20) collate chin
12、ese_prc_ci_as not null ,g_time varchar (10) collate chinese_prc_ci_as null ) on primarygocreate table dbo.matches (m_id varchar (20) collate chinese_prc_ci_as not null ,host_id varchar (20) collate chinese_prc_ci_as not null ,guest_id varchar (20) collate chinese_prc_ci_as not null ,m_times varchar
13、(10) collate chinese_prc_ci_as not null ,m_date datetime null ,m_addr varchar (50) collate chinese_prc_ci_as null ,host_win varchar (10) collate chinese_prc_ci_as null ,host_goals int null ,guest_goals int null ,chief_umpire varchar (20) collate chinese_prc_ci_as null ,umpire_1 varchar (20) collate
14、chinese_prc_ci_as null ,umpire_2 varchar (20) collate chinese_prc_ci_as null ) on primarygocreate table dbo.players (p_id varchar (20) collate chinese_prc_ci_as not null ,p_name varchar (25) collate chinese_prc_ci_as null ,t_name varchar (30) collate chinese_prc_ci_as not null ,birthday datetime nul
15、l ,weight float null ,high float null ,posi varchar (10) collate chinese_prc_ci_as null ,nation_player varchar (10) collate chinese_prc_ci_as null ,photo varchar (255) collate chinese_prc_ci_as null ,p_remark varchar (255) collate chinese_prc_ci_as null ) on primarygocreate table dbo.teamscore (t_id
16、 varchar (20) collate chinese_prc_ci_as not null ,t_name varchar (30) collate chinese_prc_ci_as not null ,sum_match int null ,wins int null ,loses int null ,too_fall int null ,host_wins int null ,guest_wins int null ,goals int null ,lose_goals int null ,score int null ) on primarygocreate table dbo.
17、teams (t_id varchar (20) collate chinese_prc_ci_as not null ,t_name varchar (30) collate chinese_prc_ci_as not null ,coach varchar (20) collate chinese_prc_ci_as null ,addr varchar (50) collate chinese_prc_ci_as null ,zip varchar (15) collate chinese_prc_ci_as null ,tel varchar (20) collate chinese_
18、prc_ci_as null ,fax varchar (20) collate chinese_prc_ci_as null ,chairman varchar (20) collate chinese_prc_ci_as null ,t_manager varchar (20) collate chinese_prc_ci_as null ,coach_resume varchar (254) collate chinese_prc_ci_as null ,t_remark varchar (254) collate chinese_prc_ci_as null ) on primaryg
19、ocreate table dbo.operator (id varchar (25) collate chinese_prc_ci_as not null ,name varchar (25) collate chinese_prc_ci_as null ,type varchar (10) collate chinese_prc_ci_as null ,password varchar (15) collate chinese_prc_ci_as null ,tel varchar (15) collate chinese_prc_ci_as null ,addr varchar (50)
20、 collate chinese_prc_ci_as null ,picno varchar (18) collate chinese_prc_ci_as null ,remark varchar (255) collate chinese_prc_ci_as null ) on primarygoalter table dbo.cards add constraint pk_card primary key clustered (c_id) on primary goalter table dbo.goals add constraint pk_goals primary key clust
21、ered (g_id) on primary goalter table dbo.matches add constraint pk_matches primary key clustered (m_id) on primary goalter table dbo.players add constraint pk_players primary key clustered (p_id) on primary goalter table dbo.teamscore add constraint pk_teamscore primary key clustered (t_id) on prima
22、ry goalter table dbo.teams add constraint pk_teams primary key clustered (t_id) on primary goalter table dbo.operator add constraint pk_operator primary key clustered (id) on primary goalter table dbo.cards add constraint fk_cards_players foreign key (p_id) references dbo.players (p_id)goalter table
23、 dbo.cards nocheck constraint fk_cards_playersgoalter table dbo.goals add constraint fk_goals_players foreign key (shotter_id) references dbo.players (p_id),constraint fk_goals_players1 foreign key (assist_id) references dbo.players (p_id)goalter table dbo.goals nocheck constraint fk_goals_playersgo
24、alter table dbo.goals nocheck constraint fk_goals_players1goalter table dbo.matches add constraint fk_matches_teamscore foreign key (host_id) references dbo.teamscore (t_id) not for replication ,constraint fk_matches_teamscore1 foreign key (guest_id) references dbo.teamscore (t_id)goalter table dbo.
25、matches nocheck constraint fk_matches_teamscoregoalter table dbo.matches nocheck constraint fk_matches_teamscore1goalter table dbo.teamscore add constraint fk_teamscore_teams foreign key (t_id) references dbo.teams (t_id)goalter table dbo.teamscore nocheck constraint fk_teamscore_teamsgo2 系统功能模块设计图:
26、足球联赛信息系统系统管理系统更新信息浏览详细查询修改密码用户管理数据备份球队更新球员更新犯规更新比赛更新进球更新积分榜助攻进球榜赛况查询红黄牌榜球员查询完全查询球队查询单球员多球员赛事犯规进球四 程序设计实现1 用户登陆。在这个模块主要由两个类来实现:checkuser.class, loginsystem.class。这是程序进入的界面,main.class这个程序的入口类调用。界面如下: loginsystem.class。这个类主要设置了登陆界面,并从界面获取用户输入的用户名和密码,并对这些数据进行处理,通过checkuser.class类中的方法进行判断是否是用户以及获得用户的权限。主
27、要代码实现如下: /取得用户输入的用户名 string operator=username.gettext(); /取得用户输入的密码 char temp=password.getpassword(); string temppass=new string(temp); /检查用户是否为合法用户 if(cuser.isvaliduser(operator,temppass)=false) joptionpane.showmessagedialog(this, 错误的用户名或密码, 错误, joptionpane.warning_message); logincount+; /如果输入错误三次,
28、自动退出系统 if(logincount=3) system.exit(1); else /初始化系统主界面 mainframe frame=new mainframe(); /获取用户类型 string usertype=cuser.getusertype(operator); /将主界面置于屏幕中央 checkuser.class。这个类主要封装了对用户表的相关操作,如查询用户名是否存在(userexist)、修改密码(updatepassword)、增加用户(addoperator)、删除用户(deleteoperator)、获得用户类型(getusertype)。各方法主要代码如下:
29、isvaliduser: connection con=null; preparedstatement ps=null; resultset rs=null; boolean isvalid=false; try con = drivermanager.getconnection(url); string querystr = select * from operator where id=? and password=?; ps = con.preparestatement(querystr); ps.setstring(1, operator); ps.setstring(2, passw
30、ord); rs = ps.executequery(); if (rs.next() isvalid = true; catch(sqlexception exc) exc.printstacktrace(); finally if (rs != null) try rs.close();catch (sqlexception ignore) if (ps != null) try ps.close();catch (sqlexception ignore) if (con != null) trycon.close();catch (sqlexception ignore) return
31、isvalid; userexist: try con = drivermanager.getconnection(url); string updatestr = insert into operator(id,password,name,type,tel,addr,picno,remark) values(?,?,?,?,?,?,?,?); ps = con.preparestatement(updatestr); ps.setstring(1, userid); ps.setstring(2, password); ps.setstring(3,username); ps.setstri
32、ng(4,usertype); ps.setstring(5,tel); ps.setstring(6,addr); ps.setstring(7,picno); ps.setstring(8,remark); ps.executeupdate(); catch(sqlexception exc) exc.printstacktrace(); finally if (ps != null) try ps.close();catch (sqlexception ignore) if (con != null) trycon.close();catch (sqlexception ignore)
33、updatepassword: try con = drivermanager.getconnection(url); string updatestr = update operator set password=? where id=?; ps = con.preparestatement(updatestr); ps.setstring(1, password); ps.setstring(2, operator); ps.executeupdate(); catch(sqlexception exc) exc.printstacktrace(); finally if (ps != n
34、ull) try ps.close();catch (sqlexception ignore) if (con != null) trycon.close();catch (sqlexception ignore) addoperator: try con = drivermanager.getconnection(url); string updatestr = insert into operator(id,password,name,type,tel,addr,picno,remark) values(?,?,?,?,?,?,?,?); ps = con.preparestatement
35、(updatestr); ps.setstring(1, userid); ps.setstring(2, password); ps.setstring(3,username); ps.setstring(4,usertype); ps.setstring(5,tel); ps.setstring(6,addr); ps.setstring(7,picno); ps.setstring(8,remark); ps.executeupdate(); catch(sqlexception exc) exc.printstacktrace(); finally if (ps != null) tr
36、y ps.close();catch (sqlexception ignore) if (con != null) trycon.close();catch (sqlexception ignore) deleteoperator: boolean succeed=true; try con = drivermanager.getconnection(url); string deletestr=delete from operator where id=?; ps=con.preparestatement(deletestr); ps.setstring(1,userid); ps.exec
37、uteupdate(); catch(sqlexception exc) succeed=false; finally if (ps != null) try ps.close();catch (sqlexception ignore) if (con != null) trycon.close();catch (sqlexception ignore) return succeed; getusertype: string usertype=; try con = drivermanager.getconnection(url); string querystr = select * fro
38、m operator where id=?; ps = con.preparestatement(querystr); ps.setstring(1, user); rs = ps.executequery(); if (rs.next() usertype = rs.getstring(type); catch(sqlexception exc) exc.printstacktrace(); finally if (rs != null) try rs.close();catch (sqlexception ignore) if (ps != null) try ps.close();cat
39、ch (sqlexception ignore) if (con != null) trycon.close();catch (sqlexception ignore) return usertype;2 主操作窗口。这个窗口主要设置操作界面,由mainframe.class来实现。在这个窗口中,声明了一个jdesktoppane类,程序中的其他操作界面通过这个类中调用add方法添加其他操作窗口,实现多窗口的结构。最主要的是,在这个类中添加了诸多的操作菜单,同时对各个菜单进行事件的响应和处理。界面如下:在这个类中还设置了一个operator的string对象,用来保存登陆者的身份信息,通过这个
40、类型对界面进行设置(若类型为operator则系统更新模块和用户管理、数据备份子模块均不可操作,若为manager则不可操作用户管理和数据备份子模块,若为sa则所有操作均可执行)。主要设置代码如下: if (usertype.equals(manager) userman.setenabled(false); backup.setenabled(false); if (usertype.equals(operator) userman.setenabled(false); backup.setenabled(false); updateinf.setenabled(false); 3 系统管理
41、。这个模块主要涉及到用户的密码修改和用户管理以及系统数据的备份。分为三个子板块。 密码修改。在这个小模块主要只是方便用户更改密码。界面由modifypassword.class设置。同时接受信息,并调用checkuser.class中的isvaliduser在验证用户原密码确定后,将输入栏中的新密码与确认新密码二栏中的数据进行比对,无误后接受修改信息。界面如下实现代码如下: /原密码temppass;新密码pass1;确认新密码pass2; if(temppass.trim().equals()|pass1.trim().equals()|pass2.trim().equals() jopti
42、onpane.showmessagedialog(this, 请输入完整的信息, 错误, joptionpane.warning_message); return; mainframe k=(mainframe)this.getowner(); string operator=k.getoperator(); if(!cuser.isvaliduser(operator,temppass) joptionpane.showmessagedialog(this,错误的用户名或密码,错误,joptionpane.warning_message); else if(!pass1.equals(pas
43、s2) joptionpane.showmessagedialog(this,两次输入的新密码不一致,错误,joptionpane.warning_message); else cuser.updatepassword(operator,pass1); this.dispose(); joptionpane.showmessagedialog(this,密码已成功修改,提示,joptionpane.warning_message); 用户管理。这一功能主要有checkuser.class实现具体功能。而操作界面以及界面中的数据处理主要由operatorconfig.class来实现,主要是对输
44、入数据进行检查和接受、判断,并调用相应方法处理。界面如下: 增加用户功能。主要是依靠checkuser.class中的方法addoperator来实现。具体实现方法前文中已有介绍。而在此界面中主要是对用户的插入信息进行验证,确认id未重复,并传递相应参数给addoperator来实现。相关代码如下: string id = userid.gettext(); /检查用户名是否为空,如为空,提示用户输入用户名 if(id.trim().equals() joptionpane.showmessagedialog(this, 用户名不能为空!, 警告, joptionpane.error_mess
45、age); return; string name = username.gettext(); string usert = (string) usertype.getselecteditem(); string telephone = tel.gettext(); string addr = address.gettext(); char temp=password.getpassword(); string pass=new string(temp); string pic = picno.gettext(); string note = remark.gettext(); checkus
46、er cuser = new checkuser(); boolean userexist=cuser.userexist(id); if(userexist) joptionpane.showmessagedialog(this, 系统中已存在该用户!, 错误, joptionpane.error_message); return; /调用checkuser类中的方法添加用户 cuser.addoperator(id,name,usert,pass,pic,telephone,addr,note); /刷新列表显示 jbutton refreshbutton=dbnavtoolbar.getrefreshbutton
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 徐州医科大学《电子商务运营》2025-2026学年期末试卷
- 全麻并发症处理措施
- 高胆固醇血症的治疗与护理措施
- 精神科患者康复训练课件
- 2026年成人高考土木工程专业建筑力学单套试卷
- 2026年成人高考高起专市场营销模拟单套试卷
- 浙江地理试卷及答案
- 2025-2026学年人教版七年级音乐上册音乐欣赏与创作测试卷(含答案)
- 云计算安全题库及答案
- 2017年活动策划方案(3篇)
- 蕉岭县幅地质图说明书
- 2023年上海奉贤区高三二模作文解析(质疑比相信更难) 上海市高三语文二模作文【范文批注+能力提升】
- 实验诊断学第十章肾脏疾病实验室诊断
- 2023年江西环境工程职业学院高职单招(语文)试题库含答案解析
- 湘教版(2019)高中地理必修二知识点汇编(全一册)
- GA/T 2000.156-2016公安信息代码第156部分:常用证件代码
- 10KV开关柜二次原理图详解讲解课件
- 北师大数学六年级下册第一单元《圆柱与圆锥》单元整体解读课件
- 考研考博-英语-中国美术学院考试押题卷含答案详解4
- DLT5210.4-2018热工施工质量验收表格
- 东北地区的地理位置与自然环境八年级地理湘教版公开课
评论
0/150
提交评论