【原创】C#搭建足球赛事资料库与预测平台(4) 比赛信息数据表设计
本博客所有文章分类的总目录:【总目录】本博客博文总目录-实时更新
开源C#彩票数据资料库系列文章总目录:【目录】C#搭建足球赛事资料库与预测平台与彩票数据分析目录
本篇文章开始将逐步介绍使用C#搭建足球赛事资料库与预测平台的相关细节。还是先从数据库开始,从本文开始将逐步对每个核心实体类和数据库设计相关的内容进行讲解,并公布源代码,至于能不能跑起来,看的看个人努力。由于没有时间将所有相关业务都简述清楚,所以也只好将需求和表设计一起进行。本人也是走了很多弯路的。考虑到系统数据表很多,按照功能不同,分为基础数据表,比赛相关表,赔率相关表,以及特殊数据表4个部分分别进行讲解,请大家关注博客。
今天要关注就是比赛信息相关的数据表设计。比赛信息表是核心数据,核心是指其数据都是直接用于预测的,是预测的主体和最重要的信息要素。这是系统的核心,比赛场次的信息是预测,模型研究的基础。而且也是本系统最复杂的部分之一,业务查询复杂。同时考虑到系统复杂程度,数据量大,以及为了以后的查询方便,该部分大量使用了分数据库操作,主要是按照赛事数据分开存储。主要包括以下表:
本文原文地址:http://www.cnblogs.com/asxinyu/p/4447523.html
1.场次信息表
存储每一场比赛的比赛 本身的信息,如比赛时间,主客队球队名称与编号,轮次,赛季,以及主客进球和平均赔率信息。该表按赛事名称进行分库。也就是每一项赛事的所有赛季都放在一起,便于查询。10年的数据,单库也就几千条记录,技术再差也不至于效率很差吧。其表结构如下:
编号 |
字段名 |
类型 |
长度 |
描述 |
备注 |
1 |
Id |
int |
4 |
编号 |
自增主键 |
2 |
SeasonId |
int |
4 |
赛季编号 |
索引 |
3 |
SeasonName |
nvarchar(50) |
100 |
赛季名称 |
|
4 |
EventId |
int |
4 |
赛事编号 |
索引 |
5 |
EventName |
nvarchar(50) |
50 |
赛事名称 |
|
6 |
RoundId |
int |
4 |
轮号 |
索引 |
7 |
RoundName |
nvarchar(30) |
30 |
轮名称 |
|
8 |
HomeId |
int |
4 |
主队编号 |
索引 |
9 |
VisiteId |
int |
4 |
客队编号 |
索引 |
10 |
HomeName |
nvarchar(30) |
30 |
主队名称 |
|
11 |
VisitName |
nvarchar(30) |
30 |
客队名称 |
|
12 |
MatchID |
int |
4 |
比赛编号 |
唯一索引 |
13 |
HalfHomeGoals |
int |
4 |
主队半场进球 |
|
14 |
HalfVisitGoals |
int |
4 |
客队半场进球 |
|
15 |
HomeGoals |
int |
4 |
主队全场进球 |
|
16 |
VisitGoals |
int |
4 |
客队全场进球 |
|
17 |
Result |
int |
4 |
全场结果 |
|
18 |
HalfResult |
int |
4 |
半场结果 |
|
19 |
GameTime |
datetime |
8 |
比赛时间 |
|
20 |
IsHistory |
bit |
1 |
是否历史 |
|
21 |
IsSue |
datetime |
8 |
期号 |
索引 |
22 |
Odds3 |
float |
53 |
主胜平均赔率 |
|
23 |
Odds1 |
float |
53 |
主平平均赔率 |
|
24 |
Odds0 |
float |
53 |
主负平均赔率 |
|
25 |
Handicap |
nvarchar(15) |
15 |
亚盘盘口 |
|
26 |
HomeLevel |
float |
53 |
亚盘主水 |
|
27 |
VisitLevel |
float |
53 |
亚盘客水 |
|
28 |
HandResult |
nvarchar(15) |
15 |
亚盘结果 |
|
29 |
BigSmallResult |
nvarchar(15) |
15 |
大小盘结果 |
2.球队场次表
是本次新增的主要表,球队场次涉及到球队历史场次的查询,需要很快的速度要求,所以单独按照球队进行分库保存,合理的冗余和分库,同时只保存场次的主要信息,其他信息暂时不保存,去对应的联赛表找。在以前的版本中,场次历史表不仅存储了双方对战场次的信息,同时也存储主客双方最近比赛的信息,简单的包括了胜平负欧赔和亚盘的数据。本次更新的最大问题也是在这里的改进,由于每一场比赛历史数据的冗余非常严重(30-50倍),因此引入了球队场次表,每次动态的对主客比赛进行查询。因此改进后的场次历史表,就只存储双方对战场次的信息。表结构和场次信息表大致类似,增加了欧赔和亚盘的数据。因此,相对来说,球队场次表更加节省空间,并提高了效率,这是实际做过后得到的总结和教训。
编号 |
字段名 |
类型 |
长度 |
描述 |
备注 |
1 |
Id |
int |
4 |
编号 |
自增主键 |
2 |
TeamId |
int |
4 |
球队编号 |
|
3 |
TeamName |
nvarchar(20) |
20 |
球队名称 |
|
4 |
SeasonId |
int |
4 |
赛季编号 |
索引 |
5 |
SeasonName |
nvarchar(50) |
100 |
赛季名称 |
|
6 |
EventId |
int |
4 |
赛事编号 |
索引 |
7 |
EventName |
nvarchar(50) |
50 |
赛事名称 |
分库用 |
8 |
MatchID |
int |
4 |
比赛编号 |
唯一索引 |
9 |
GameTime |
datetime |
8 |
比赛时间 |
排序用 |
10 |
IsHome |
bit |
1 |
是否主场 |
查询用 |
11 |
UpdateTime |
datetime |
3 |
更新时间 |
3.联赛排名表
联赛排名不是从外部获取的,是要根据实际的联赛场次动态来计算的,要与实际的排名相符合,每一轮进行计算保存。也是按照联赛进行分库的,同时也可以为以后开发出自己的基于PageRank的排序算法进行排名。具体排名算法将在后续中介绍,这里先介绍表的基本结构。
编号 |
字段名 |
类型 |
长度 |
描述 |
备注 |
1 |
Id |
int |
4 |
编号 |
自增主键 |
2 |
EventName |
nvarchar(10) |
20 |
赛事名称 |
|
3 |
EventId |
int |
4 |
赛事编号 |
|
4 |
SeasonId |
int |
4 |
赛季编号 |
索引 |
5 |
RoundId |
int |
4 |
轮编号 |
索引 |
6 |
TeamId |
int |
4 |
球队编号 |
索引 |
7 |
TeamName |
nvarchar(10) |
20 |
球队名称 |
|
8 |
TotalRank |
int |
4 |
总排名 |
|
9 |
HomeRank |
int |
4 |
主场排名 |
|
10 |
VisitRank |
int |
4 |
客场排名 |
|
11 |
TotalScore |
int |
4 |
总积分 |
|
12 |
HomeScore |
int |
4 |
主场积分 |
|
13 |
VisitScore |
int |
4 |
客场积分 |
|
14 |
TotalCount |
int |
4 |
总场次 |
|
15 |
HomeCount |
int |
4 |
主场场次 |
|
16 |
VisitCount |
int |
4 |
客场场次 |
|
17 |
TotalCount3 |
int |
4 |
总胜场次 |
|
18 |
HomeCount3 |
int |
4 |
主胜场次 |
|
19 |
VisitCount3 |
int |
4 |
客胜场次 |
|
20 |
TotalCount1 |
int |
4 |
总平场次 |
|
21 |
HomeCount1 |
int |
4 |
主平场次 |
|
22 |
VisitCount1 |
int |
4 |
客平场次 |
|
23 |
TotalCount0 |
int |
4 |
总负场次 |
|
24 |
HomeCount0 |
int |
4 |
主负场次 |
|
25 |
VisitCount0 |
int |
4 |
客负场次 |
|
26 |
TotalGoal |
int |
4 |
总进球 |
|
27 |
HomeGoal |
int |
4 |
主场进球 |
|
28 |
VisitGoal |
int |
4 |
客场进球 |
|
29 |
TotalLossGoal |
int |
4 |
总失球 |
|
30 |
HomeLossGoal |
int |
4 |
主场失球 |
|
31 |
VisitLossGoal |
int |
4 |
客场失球 |
|
32 |
UpdateTime |
datetime |
8 |
更新时间 |
4.设计文件
自从使用XCode和XCoder之后,设计数据库只需要在XML文件中进行就可以了,本节中的设计文件如下图所示,后面提供了下载。
XML下载:比赛信息实体.xml
【原创】C#搭建足球赛事资料库与预测平台(4) 比赛信息数据表设计的更多相关文章
- 【原创】C#搭建足球赛事资料库与预测平台(6) 赔率数据表设计2
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源C#彩票数据资料库系列文章总目录:[目录]C#搭建足球赛事资料库与预测平台与彩票数据分析目录 本篇文章开始将逐步介 ...
- 【原创】C#搭建足球赛事资料库与预测平台(5) 赔率数据表设计1
本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html 开源C#彩票数据资料库系列文章总目录:http://www.cn ...
- 【目录】C#搭建足球赛事资料库与预测平台与彩票数据分析目录
本博客所有文章分类的总目录链接:本博客博文总目录-实时更新 1.彩票数据分析与预测 6.智彩足球技术研究团队成员介绍 5.关于组建“智彩足球技术研究团队”的说明 4.为什么选择玩足球彩票以及玩彩票的心 ...
- 【原创】C#搭建足球赛事资料库与预测平台(2) 数据库与XCode组件
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源C#彩票数据资料库系列文章总目录:[目录]C#搭建足球赛事资料库与预测平台与彩票数据分析目录 本篇文章开始将逐步 ...
- 【原创】C#搭建足球赛事资料库与预测平台(3) 基础数据表设计
本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html 开源C#彩票数据资料库系列文章总目录:http://www.cn ...
- C#搭建足球赛事资料库与预测平台(1) 基本介绍
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源C#彩票数据资料库系列文章总目录:[目录]C#搭建足球赛事资料库与预测平台与彩票数据分析目录 去年4月到现在,一年 ...
- .NET足球赛事资料数据库平台SmartLottery开源发布——全球足球联赛应有尽有
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源C#彩票数据资料库系列文章总目录:[目录]C#搭建足球赛事资料库与预测平台与彩票数据分析目录 前2个月,我的系列文 ...
- 基于SpringBoot+SSM实现的Dota2资料库智能管理平台
Dota2资料库智能管理平台的设计与实现 摘 要 当今社会,游戏产业蓬勃发展,如PC端的绝地求生.坦克世界.英雄联盟,再到移动端的王者荣耀.荒野行动的火爆.都离不开科学的游戏管理系统,游戏管理系 ...
- 【原创】Newlife.XCode的常见功能使用(一)查询与数据初始化
本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html Newlife XCode组件相关文章目录:http://www ...
随机推荐
- Maven学习总结(一副本)——Maven配置和搭建
环境准备: JDK 1.6 Maven 3.0.4 myeclipse 8.6.1 安装 Maven 之前要求先确定你的 JDK 已经安装配置完成.Maven是 Apache 下的一个项目,目前最新版 ...
- 第六章 应用层(DNS和http协议详解)
序言 这是计算机网络基础的最后一篇博文了,大体的从物理层到最上层的应用层做了一个大概的了解,花了也有快1个月的时间了,在本章结尾会给你们我学习该课程的视频资料,我希望能帮到所有想学习想提高自己技术的同 ...
- 采用TL026等构成的宽带ALC放大器电路图
Building a Differential Amplifier An op-amp with no feedback is already a differential amplifier, am ...
- python3 slice
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32Type & ...
- android如何播放和录制音频
视频录制功能正在走来,在Androidsdk中有与之相关的类:android.media.MediaRecorder.当然,因为模拟器上没有提供必要的硬件设施,所以在学习过程中并不能实现.Media能 ...
- Maven Learning - Direct Dependencies & Transitive Dependencies
Dependencies declared in your project's pom.xml file often have their own dependencies. The main dep ...
- 每日英语:Mistrust Between U.S., Malaysia Strains Probe
Mistrust between U.S. and Malaysian air-accident investigators has hampered a multinational probe in ...
- 【转】20个Cydia常见错误问题解决方法汇总
对于已经越狱的用户来说,经常会使用Cydia来安装一些酷炫或实用插件,但是有时候它总是会出现一些问题,以下收集了在Cydia经常遇到的问题,供大家参考: 一.主屏幕没有 Cydia 图标 1.设备需已 ...
- centos 7 /etc/rc.local 开机不执行的问题
最近发现centos7 的/etc/rc.local不会开机执行,于是认真看了下/etc/rc.local文件内容的就发现了问题的原因了 1 2 3 4 5 6 7 8 9 10 11 #!/bin/ ...
- C#后台弹出对话框
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script language='jav ...