首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

你也可以成为内马尔!话说如何自建足球数据系统模拟真实世界

本文将用户分为两类,普通用户和数据库管理用户,普通用户通过账号密码登陆可以访问数据库中比赛,球员,俱乐部的信息,并提供了联赛积分榜,联赛射手榜和联赛助攻榜等统计信息;数据库管理用户拥有对数据库进行增删改的权限。明确系统边界后进行详尽的需求分析,将系统划分为信息管理(增删改)、信息查询、积分榜查询模块。

1

需求分析阶段的目标

(1)了解比赛,俱乐部,球员数据信息的含义。

(2)了解三种信息之间的相互关系及约束关系,满足各主体之间的联系。

(3)了解球迷和系统管理员的要求,给予其不同权限,满足安全性要求,完整性要求。

2

需求分析阶段的任务

(1)处理对象:

球员,比赛,俱乐部信息的录入和修改;

按球员姓名查找球员信息;

按比赛队伍或者某联赛相应轮次查找比赛,按俱乐部名查找俱乐部;

(2)处理功能及要求:

a.能够存储一定数量的球员,比赛,俱乐部信息,可进行相应的数据操作和管理:

1)球员,比赛,俱乐部信息的录入,删除和修改。

2)球员,比赛,俱乐部信息的关键字查询。

b.数据库本身能够根据数据间的逻辑关系自动调整:

1)比赛记录的添加修改与删除会引起俱乐部胜/平/负,进球/失球信息的改变,并根据此自动生成正确的联赛积分及净胜球。

2)比赛的球队只能来自同一个联赛,不符合则不予通过。

3)提供给球迷的积分榜,射手榜,助攻榜都是根据联赛规则排序。

c.能够提供一定的安全机制,提供数据信息授权访问,修改和删除,防止随意查询,修改及删除。系统分为普通用户和数据管理员用户。

d.对查询,统计的结果能够列表显示。

3

概念设计阶段

概念设计阶段的任务和目标:

(1)选择底层数据流为切入点,即实际系统中的子系统;

(2)设计分E-R图;

(3)生成初步E-R图,通过合并方法,使各子系统实体、属性、联系统一;

(4)生成全局E-R图,消除冲突。

4

物理设计阶段

(1)物理设计阶段的目标及任务:

a)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;

b)物理结构合理,查询时间快,占用空间小。

(2)创建各表的sql语句。

(3)触发器,视图等可编程性设计:

15个榜单提供排行榜快捷查找;

比赛的3个触发器用增删改时自动更改俱乐部表中的胜负平,进球,失球等;

比赛规范的2个触发器是规范比赛表中两队在同意联赛且不相同;

俱乐部的2个触发器是用来自动计算联赛积分和净胜球的。

5

数据库安全

(1)对软件的登陆用户进行区分,当输入账号密码admin时进入管理员界面。

(2)当输入账号密码user时进入用户查询界面。

(3)在安全管理中体现出视图机制、和数据库完整性的使用;视图机制的体现,查询积分榜只显示俱乐部相关的属性。

主体完整性体现:在比赛表中添加恒大对国安的比赛,由于两只球队不在俱乐部表中,且中超不在联赛范畴,故添加失败。

6

程序功能

打开进入登陆界面,输入 user user后进入用户界面;

输入admin admin后进入管理员界面,比用户界面多一个管理菜单;

登陆后点击文件菜单可以选择重新登录返回登陆界面,

还有管理,查询,排行榜菜单可以点击;

点击管理-添加修改删除比赛,填写轮次,主队,客队可删除比赛。

结语

本文通过sqlserver数据库设计了一个足球联赛信息数据库。给予不同用户不同的操作权限,可完成基本的增删查改等操作。查找速率快,占用空间小,界面设计合理,简单易学。能够满足球迷用户的基本需求。也满足本文的设计目标。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180308A0PSA100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券