我们一起发布数据库

30 篇文章 0 订阅
5 篇文章 0 订阅

我们一起发布

数据库

1. 特别声明

       本数据库没有依赖任何其他开源代码,全部自己在业余时间编写,当前只是实现了简单的增删查改功能,如果需要复杂查询,索引,自定义数据类型则需要自己开发。本源码仅限用于交流学习,任何商业用途都必须经过作者书面授权。

        本人也正在开发V2版本,在V2版本中将可以任意扩展数据类型、数据存储、索引、函数,期待能够找到一些志同道合的朋友一块开发。

        在使用本数据库时最好先了解下“标签驱动框架”,了解为何是标签,何为驱动,驱动通过标签实例化后为什么叫设备,设备的上下文是什么、配置是什么。在标签驱动框架上为什么扩展数据类型、存储、索引与函数不需要整体编译,只需要根据接口编译自己的模块,设备间的通信机制是什么。

本数据库全部模块基于标签驱动框架编写。

2. 准备工作

本代码全部使用C/C++编写。

VS2019环境安装,请在网络上搜索安装方式。

SVN客户端安装,请在网络上搜索安装方式。

Oss库源码下载:

svn://gitee.com/wjh_2010/ossLib

标签驱动框架及数据库源码下载:

svn://gitee.com/wjh_2010/labelDriver

Oss库与标签驱动框架的目录需要符合如下要求,否则需要自己调整配置。

 

 

 符合此目录布局,下载下来后就可以直接编译,不需要配置。

3. 编译代码

3.1 框架路径

 

所有驱动编译后都会生成到该目录下,分为:drvs、lib、log、ui。

Drvs:驱动目录

Ui:界面驱动目录。

3.2 Html界面组件编译

 

打开html.sln,全部编译即可。

3.3 编译日志输出驱动

 

这边默认提供界面输出和文件输出,如果需要扩展日志输出则自己根据需求编写相应驱动。

3.4 编译数据库驱动

 

3.5 编译设置界面

 

4. 发布数据库

4.1 数据库的标签配置

<!-- UI的主配置程序

      默认值规则:如果没有指定ID,ID默认为标签的名称,如果发现重复则ID相同。如果有指定ID,则ID为指定ID,多个标签指定同一个ID,则只创建同一个ID。如果没有指定配置文件路径,则默认为配置文件为./config目录下,文件名为ID+“.ini”。     如果有指定配置文件,则为指定的配置文件路径driver:指定当前界面绑定指定驱动实例化的设备。

-->

<html show="true">     

      <head>

            <title>SD数据库</title>

      </head>

      <body >

            <tab>

                  <about title="关于"></about>

                  <logMaster id="logMaster" configFile="./config/logMaster.ini" title="日志"></logMaster>

                  <tab title="数据库">

                        <DbInterface id="TsDb" configFile="./config/DbInterface.ini"></DbInterface>

                        <tableManage id="tableManage"  configFile="./config/tableManage.ini" title="数据库表管理器"> </tableManage>

                      <sqlParser id="sqlParser"  title="Sql解析器"> </sqlParser>

                        <tableData id="sqlParser" title="表数据管理"></tableData>

                  </tab>

                  <setting id="Setting" title="设置"></setting>          

            </tab>

      </body>

</html>

说明:注释部分的文字需要后期慢慢体会,规则简单,尝试一下即可了解。

Xml 的每一个节点都是一个标签,对应指定的同名的驱动。一个标签实例化一个驱动和一个界面(如果不存在驱动或界面则不实例化)。运行起来后可以看日志输出。

4.2 数据库主模块介绍

模块

说明

DbInterface

外部调用的入口,网络、消息通信的入口模块。

sqlParser

Sql解析模块

tableManage

数据表管理模块

tableData

表数据模块

4.3 发布程序

特别说明:当前只支持发布win32-debug版本,如需要发布其他的请联系作者。

进入生成目录:labelDriver\labelDriver\output\Win32-Debug。在此目录中已经将相关工程的生成的文件放到指定目录中。如下图所示:

 

labelDriver.cfg参考4.1的说明配置,在本开源中的每个项目也提供了默认的配置,可以直接拷贝到此目录。

各个目录和文件说明:

目录/文件

说明

labelView.exe

框架主程序

labelDriver.cfg

配置主程序实例化的设备信息

config

规定存放配置文件的目录

data

规定存放实例化设备生成的数据,运行中或者需要保存的数据

drvs

驱动程序目录,存放所有驱动,框架从此目录加载驱动。

lib

第三方依赖库

log

日志文件

ui

所有UI驱动,主程序界面支持的驱动由此目录加载。

在此目录下将不必要的文件删除,即可打包发布程序。

5. 使用数据库

5.1 新增数据库

 当前只支持GBK的编码方式。

5.2 新增/修改表字段

 数据库表会以设备的形式呈现,所以统一在设置界面中找到对应项进行修改。

5.3 操作数据库表

 数据库表中对sql语句有些扩展,但是当前不支持复杂的查询。如insert\delete增加了return,可以将受影响的记录的指定字段返回。

5.4 查看数据库表

 

当前查看表数据时不可以直接删除记录。

6. 结语

       数据库是一个庞大而复杂的工程,靠我个人之力无法支撑起这庞大的工程,更无法实现我心中想要的数据库。

        我希望有一个数据库可以自己任意定义数据类型、运算符、函数,支持一维、二维、三维、…n维的结果运算,在统一的框架下每个人都可以扩展。数据库和数学合在一块,可以实现很高阶的复杂运算。和办公合在一块,就可以实现很复杂的图表展现;和日常是生活合在一块,就可以轻松实现生活中任意数据的存储….。

数据库是基础中的基础,但这基础希望能够找到志同道合的人一块去打磨。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值