C#.NET开源项目、机器学习、Power BI

简介:

          本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html 

开源C#彩票数据资料库系列文章总目录http://www.cnblogs.com/asxinyu/p/4329642.html 

  本篇文章开始将逐步介绍使用C#搭建足球赛事资料库与预测平台的相关细节。还是先从数据库开始,从本文开始将逐步对每个核心实体类和数据库设计相关的内容进行讲解,并公布源代码,至于能不能跑起来,看的看个人努力。由于没有时间将所有相关业务都简述清楚,所以也只好将需求和表设计一起进行。本人也是走了很多弯路的。考虑到系统数据表很多,按照功能不同,分为基础数据表,比赛相关表,赔率相关表,以及特殊数据表4个部分分别进行讲解,请大家关注博客。

  今天要关注就是核心的赔率指数表,由于赔率指数表的内容比较多,所以将分为2篇来进行。赔率指数是赛事预测的重要参考条件,虽然有一定的随机因素,但是根据长期的分析和统计,赔率还是具有很强的指导性。所以赔率指数数据库的设计也尤为重要。一方面要考虑到日益增长的赔率数据越来越多,需要确保查询分析的速度;另外一方面赔率的类型比较复杂,设计要比较合理,才能在后续的统计分析和预测模型中方便使用。今天先介绍常规的赔率指数表的设计,主要是胜平负指数,大小盘,半全场,总进球,比分指数的数据库设计。

本文原文地址:http://www.cnblogs.com/asxinyu/p/4476287.html

1.不得不说的XCode泛型基类

  2年前刚学会XCode的时候,对XCode研究比较多,总结过一篇文章:关于泛型基类的相关知识,其中对XCode的泛型基类的作用和用法做了一个初步的概述,这些年用XCode做过很多小玩具,但由于项目太小,基本很难用得上泛型基类,因为要求有一些公共的字段才比较有用。这次的赔率指数数据表由于表的结构很多字段都相同,才想到用这个东西,的确简单方便了很多,逻辑也很清晰。非常给你。具体的思想参考上面那篇文章,这里只给出一个泛型基类,继承的截图,以后在代码中再着重介绍。

上面是泛型基类,实际的指数表,会进行继承,这样公共的查询方法就只需要写一次就OK了:

具体的暂时就不过多展开了,好好看那篇总结文章,应该会有收获。所以我们先看看泛型基类对应的表的结构

2.泛型基类的表结构

  泛型基类不直接对应表,是作为一个实体基类,为了节省后面的空间,因为所有的指数信息表都要继承该类,所以基类的公共字段在这里发布出来,后面的相关表就直接只写独有的字段,公共字段就省略掉了。主要就是公司名称和赛事名称,场次编号以及时间这些公共信息。

编号

字段名

类型

长度

描述

备注

1

Id

int

10

编号

自增主键

2

CompanyID

int

10

公司编号

 

3

CompanyName

nvarchar(20)

20

公司名称

 

4

EventName

nvarchar(20)

20

赛事名称

分库用

5

MatchID

int

10

场次编号

索引

6

UpdateTime

datetime

3

更新时间

 

3.胜平负指数表

  以前版本将胜平负赔率指数称为欧赔指数,不太准确,这一版本统一改为胜平负指数,指数记录都是指某个赔率公司对某场比赛开出的赔率。胜平负指数的主要内容主要胜平负的赔率和赔率开出的相关信息,如公司,时间,赛前间隔等。也是按照 公司+联赛 进行分库的。看看基本的表结构,注意基类字段省略了: 

编号

字段名

类型

长度

描述

备注

7

TimeInterval

float

53

赛前间隔

 

8

Odds3

float

53

主胜赔率

 

9

Odds1

float

53

主平赔率

 

10

Odds0

float

53

主负赔率

 

11

LossRatio

float

53

赔付率

 

12

KellyIndex3

float

53

凯利指数3

 

13

KellyIndex1

float

53

凯利指数1

 

14

KellyIndex0

float

53

凯利指数0

 

15

KellyVar3

float

53

凯利方差3

 

16

KellyVar1

float

53

凯利方差1

 

17

KellyVar0

float

53

凯利方差0

 

4.半全场指数表

  半全场指数和胜平负指数类似,只不过一个是半场+全场,1个是全场的结果,结果可能性多了,所以赔率肯定是要高的。当然这个玩法还是比较有趣的,有时间再细说。半全场指数表的开盘公司是非常多,但由于数据源的关系,个人能力有限,所以可用的公司没有胜平负赔率那么多,但是这也没关系,有几家就足够了,所以也进行了分库。看看基本结构,注意基类字段省略了:  

编号

字段名

类型

长度

描述

备注

7

Odd33

float

53

胜胜

 

8

Odd31

float

53

胜平

 

9

Odd30

float

53

胜负

 

10

Odd13

float

53

平胜

 

11

Odd11

float

53

平平

 

12

Odd10

float

53

平负

 

13

Odd03

float

53

负胜

 

14

Odd01

float

53

负平

 

15

Odd00

float

53

负负

 

5.大小盘指数表

  大小盘国彩的竞彩以及北单暂时都没有大小盘,但考虑到数据的完整性,本项目还是采集了大小盘的数据,和前面的结构类型,也是分库进行。结构很简单:

编号

字段名

类型

长度

描述

备注

7

TimeInterval

float

53

赛前间隔

 

8

Handicap

float

53

盘口

 

9

Big

float

53

大球赔率

 

10

Small

float

53

小球赔率

 

11

LossRatio

float

53

赔付率

 

6.总进球指数表

  总进球玩法目前国彩是有的,目前是0-7+,和国外的差不多,所以这个数据还是比较有用的,唯一遗憾的是,数据源中总进球的开盘公司基本只有几家。不管怎么样,先采集再说。这个表的结构不仅包括了国彩的情况,还包括了区间的情况,以及单双进球的赔率。所以功能比较多,根据实际的数据源使用:

编号

字段名

类型

长度

描述

备注

7

Odd0

float

8

0球

 

8

Odd1

float

8

1球

 

9

Odd2

float

8

2球

 

10

Odd3

float

8

3球

 

11

Odd4

float

8

4球

 

12

Odd5

float

8

5球

 

13

Odd6

float

8

6球

 

14

Odd7

float

8

7球

 

15

Odd01

float

8

0-1球

欧赔用

16

Odd23

float

8

2-3球

欧赔用

17

Odd46

float

8

4-6球

欧赔用

18

OddSingle

Float

8

单数球

欧赔用

19

OddDouble

Float

8

双数球

欧赔用

  这些常见的指数表就介绍到这里,下一篇将继续介绍其他指数表的结构。


本文转自叶小钗 h数据之巅博客园博客,原文链接:http://www.cnblogs.com/asxinyu/p/Smart_Lottery_FootBall_DataBase_5.html,如需转载请自行联系原作者


相关文章
|
17天前
|
数据可视化 网络协议 C#
C#/.NET/.NET Core优秀项目和框架2024年3月简报
公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不分先后,都是十分优秀的开源项目和框架,每周定期更新分享(欢迎关注公众号:追逐时光者,第一时间获取每周精选分享资讯🔔)。
|
1月前
|
SQL 数据库 C#
C# .NET面试系列十一:数据库SQL查询(附建表语句)
#### 第1题 用一条 SQL 语句 查询出每门课都大于80 分的学生姓名 建表语句: ```sql create table tableA ( name varchar(10), kecheng varchar(10), fenshu int(11) ) DEFAULT CHARSET = 'utf8'; ``` 插入数据 ```sql insert into tableA values ('张三', '语文', 81); insert into tableA values ('张三', '数学', 75); insert into tableA values ('李四',
65 2
C# .NET面试系列十一:数据库SQL查询(附建表语句)
|
1月前
|
开发框架 算法 搜索推荐
C# .NET面试系列九:常见的算法
#### 1. 求质数 ```c# // 判断一个数是否为质数的方法 public static bool IsPrime(int number) { if (number < 2) { return false; } for (int i = 2; i <= Math.Sqrt(number); i++) { if (number % i == 0) { return false; } } return true; } class Progr
58 1
|
1月前
|
并行计算 安全 Java
C# .NET面试系列四:多线程
<h2>多线程 #### 1. 根据线程安全的相关知识,分析以下代码,当调用 test 方法时 i > 10 时是否会引起死锁? 并简要说明理由。 ```c# public void test(int i) { lock(this) { if (i > 10) { i--; test(i); } } } ``` 在给定的代码中,不会发生死锁。死锁通常是由于两个或多个线程互相等待对方释放锁而无法继续执行的情况。在这个代码中,只有一个线程持有锁,且没有其他线程参与,因此不
105 3
|
3月前
|
Linux C# 开发工具
C#开源的一款友好的.NET SDK管理器
C#开源的一款友好的.NET SDK管理器
|
10天前
|
开发框架 前端开发 JavaScript
采用C#.Net +JavaScript 开发的云LIS系统源码 二级医院应用案例有演示
技术架构:Asp.NET CORE 3.1 MVC + SQLserver + Redis等 开发语言:C# 6.0、JavaScript 前端框架:JQuery、EasyUI、Bootstrap 后端框架:MVC、SQLSugar等 数 据 库:SQLserver 2012
|
1月前
|
开发框架 人工智能 .NET
C#/.NET/.NET Core拾遗补漏合集(持续更新)
C#/.NET/.NET Core拾遗补漏合集(持续更新)
|
1月前
|
SQL 存储 关系型数据库
C# .NET面试系列十:数据库概念知识
#### 1. 为什么要一定要设置主键? 设置主键是数据库设计中的一个重要概念,有几个主要原因: 1、唯一性 ```c# 主键必须保证表中的每一行都有唯一的标识。这样可以避免数据冗余和不一致性。如果没有主键或者主键不唯一,就可能出现数据混乱或错误。 ``` 2、查询性能 ```c# 数据库系统通常会使用主键来加速数据检索。主键通常会被索引,这样可以更快速地找到特定行的数据,提高查询效率。 ``` 3、关联性 ```c# 主键常常用于建立表与表之间的关系。在关系数据库中,一个表的主键通常与其他表中的外键建立关联,这种关系对于数据的一致性和完整性非常重要。 ``` 4、数据完
131 1
C# .NET面试系列十:数据库概念知识
|
1月前
|
XML 开发框架 .NET
C# .NET面试系列八:ADO.NET、XML、HTTP、AJAX、WebService
## 第二部分:ADO.NET、XML、HTTP、AJAX、WebService #### 1. .NET 和 C# 有什么区别? .NET(通用语言运行时): ```c# 定义:.NET 是一个软件开发框架,提供了一个通用的运行时环境,用于在不同的编程语言中执行代码。 作用:它为多语言支持提供了一个统一的平台,允许不同的语言共享类库和其他资源。.NET 包括 Common Language Runtime (CLR)、基础类库(BCL)和其他工具。 ``` C#(C Sharp): ```c# 定义: C# 是一种由微软设计的面向对象的编程语言,专门为.NET 平台开发而创建。 作
174 2
|
1月前
|
开发框架 中间件 .NET
C# .NET面试系列七:ASP.NET Core
## 第一部分:ASP.NET Core #### 1. 如何在 controller 中注入 service? 在.NET中,在ASP.NET Core应用程序中的Controller中注入服务通常使用<u>依赖注入(Dependency Injection)</u>来实现。以下是一些步骤,说明如何在Controller中注入服务: 1、创建服务 首先,确保你已经在应用程序中注册了服务。这通常在Startup.cs文件的ConfigureServices方法中完成。例如: ```c# services.AddScoped<IMyService, MyService>(); //
63 0

热门文章

最新文章