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+比赛场次+比赛时间+比赛地点+比赛结果(主队胜负平)+比赛比分+主裁信息+边裁信息;
5、积分信息球队ID+球队名称+比赛场数+胜场数+负场数+平场数+主场战绩+客场战绩+进球总数+失球总数+积分;5 系统数据流图三 结构设计1 数据库结构设计 系统用户表:名称数据类型作用idvarchar用户帐号namevarchar用户名称typevarchar用户类型passwordvarchar用户密码telvarchar联系电话addrvarchar联系地址PICNovarchar身份证号remarkvarchar备注球队信息表名称数据类型作用T_idvarchar球队编号T_namevarchar球队名称Chairmanvarchar球队董事长T_managervarchar球队经理C
6、oachvarchar球队主教练Coach_resumevarchar教练备注Addrvarchar球队联系地址Zipvarchar邮编Telvarchar联系电话Faxvarchar传真T_remarkvarchar球队备注球员信息表名称数据类型作用P_idvarchar球员编号P_namevarchar球员姓名T_namevarchar所属球队Birthdaydatetime出生日期Weightfloat体重Highfloat身高Posivarchar场上位置Nation_playervarchar是否现役国脚Photovarchar图片地址P_remarkvarchar球员备注进球信息表
7、名称数据类型作用G_idint进球编号M_timesvarchar进球场次shotter_idvarchar射门球员编号Assist_idvarchar助攻球员编号G_timevarchar场上时间红黄牌信息表名称数据类型作用C_idint红黄牌编号M_idvarchar红黄牌场次P_idvarchar领牌球员编号Yellow_Redvarchar红、黄牌C_timevarchar出示时间比赛信息表名称数据类型作用M_idvarchar比赛编号Host_idvarchar主队编号Guest_idvarchar客队编号M_timesvarchar比赛场次M_datedatetime比赛时间M_a
8、ddrvarchar比赛地点Host_winvarchar主队胜负平Host_goalsint主队进球Guest_goalsint客队进球Chief_umpirevarchar主裁判Umpire_1varchar边裁1Umpire_2varchar边裁2积分表名称数据类型作用T_idvarchar球队编号T_namevarchar球队名称Sum_matchint比赛总数Winsint胜场数Losesint负场数Too_fallint平场数Host_winsint主场获胜数Guest_winsint客场获胜数Goalsint总进球数Lose_goalsint总失球Scoreint联赛积分2E-R
9、图图 球队作为一个实体图 球员最为一个实体图 进球作为一个实体图 比赛作为一个实体图 红黄牌作为一个实体图 积分榜作为一个实体 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 varchar (10) COLLATE Chines
10、e_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 Chinese_PRC_CI_AS NOT
11、 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 (10) COLLATE
12、 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 Chine
13、se_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
14、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
15、 ( T_id 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 PRIMARYGO
16、CREATE TABLE dbo.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 varcha
17、r (20) COLLATE Chinese_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_
18、PRC_CI_AS NULL ) ON PRIMARYGOCREATE 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_
19、PRC_CI_AS NULL , addr varchar (50) 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
20、 CONSTRAINT PK_Goals PRIMARY KEY CLUSTERED ( 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_TEA
21、MScore PRIMARY KEY CLUSTERED ( T_id ) ON PRIMARY 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
22、 ( P_id ) REFERENCES dbo.Players ( P_id )GOalter table 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
23、 )GOalter table dbo.Goals nocheck constraint FK_Goals_PlayersGOalter 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 FORE
24、IGN KEY ( Guest_id ) REFERENCES dbo.TEAMScore ( T_id )GOalter table dbo.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 )GOa
25、lter table dbo.TEAMScore nocheck constraint FK_TEAMScore_TeamsGO2 系统功能模块设计图:四 程序设计实现1 用户登陆。在这个模块主要由两个类来实现:, 。这是程序进入的界面,这个程序的入口类调用。界面如下: 。这个类主要设置了登陆界面,并从界面获取用户输入的用户名和密码,并对这些数据进行处理,通过类中的方法进行判断是否是用户以及获得用户的权限。主要代码实现如下: quals()|().equals()|().equals() (this, 请输入完整的信息, 错误, ; return; MainFrame k=(MainFrame
26、)(); String operator=(); if(!(operator,tempPass) (this,错误的用户名或密码,错误,; else if(!(pass2) (this,两次输入的新密码不一致,错误,; else (operator,pass1); (); (this,密码已成功修改,提示,; 用户管理。这一功能主要有实现具体功能。而操作界面以及界面中的数据处理主要由来实现,主要是对输入数据进行检查和接受、判断,并调用相应方法处理。界面如下: 增加用户功能。主要是依靠中的方法addOperator来实现。具体实现方法前文中已有介绍。而在此界面中主要是对用户的插入信息进行验证,确
27、认ID未重复,并传递相应参数给addOperator来实现。相关代码如下: String id = (); quals() (this, 用户名不能为空!, 警告, ; return; String name = (); String userT = (String) (); String telephone = (); String addr = (); char temp=(); String pass=new String(temp); String PIC = (); String note = (); CheckUser cUser = new CheckUser(); boolean userExist=(id); if(userExist) (this, 系统中已存在该用户!, 错误, ; return; quals() (this, 用户名不能为空!, 警告, ; return; CheckUser cUser = new CheckUser(); etPath(); Connection con=null;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1