基础
一、 了解DM数据库
DM 数据库是中国的一个关系型数据库产品,由中国国内的公司发展。DM 数据库支持 SQL 语言、存储过程、触发器、视图等关系型数据库的标准特性,并且具有高并发、高可用、高安全性等特点。
以下是关于 DM 数据库的一些特点和功能:
高性能:DM 数据库经过了优化,以支持高并发、大数据量的操作。它采用了先进的查询优化技术、索引技术等,以确保查询和事务的高效执行。
高可用性:DM 数据库支持多种高可用解决方案,如数据复制、热备份、故障切换等,以确保业务的连续性。
安全性:DM 数据库提供了多种安全特性,如访问控制、加密、审计等,以确保数据的安全。
兼容性:DM 数据库支持 SQL 标准,并且与多种编程语言和开发工具有良好的兼容性。
易于管理:DM 数据库提供了图形化的管理工具和命令行工具,使得数据库的管理和维护变得更加简单。
支持分布式:DM 数据库支持分布式部署和查询,可以满足大规模、分布式的业务需求。
国产化:作为国内自主研发的数据库产品,DM 数据库在国内市场有着很好的口碑和应用案例。
总的来说,DM 数据库是一个功能齐全、性能高、安全可靠的关系型数据库产品,特别适合在国内环境下使用。
二、安装
1、 安装DM数据库前,先检查当前操作系统相关信息,确认 DM 数据库安装程序与当前操作系统匹配,以保证 DM 数据库能够正确安装和运行。
2、 用户可以在终端通过 Win+R 打开运行窗口,输入 cmd,打开命令行工具,输入 systeminfo 命令进行查询,如下图所示:
3、 下载安装包
下载好后解压iso文件
点击exe文件下载
直接下一步
下一步
接受,下一步
下一步
选择典型安装下一步
● 典型安装包括:服务器、客户端、驱动、用户手册、数据库服务。
● 服务器安装包括:服务器、驱动、用户手册、数据库服务。
● 客户端安装包括:客户端、驱动、用户手册。
● 自定义安装包括:用户根据需求勾选组件,可以是服务器、客户端、驱动、用户手册、数据库服务中的任意组合。
DM 默认安装在 C:\dmdbms 目录下,不建议使用默认目录,改为其他任意盘符即可
三、创建数据库实例
打开DM数据库配置助手
选择创建,点击开始
然后一直下一步
到口令管理,口令就是密码 尽量是默认
这个随便勾选一个即可,建议勾选可以不勾选
然后直接安装即可
四、 启动、停止数据库
1、 执行dmservice.exe文件
找到该exe文件双击
可以查看对应的服务,可选择启动或停止
五、 在.Net中使用DM数据库
输入命令:gacutil /if D:\dmdbms\drivers\dotNet\DmProvider\net60\DmProvider.dll该命令是将对应目录下的dll文件注册到.Net驱动中,注册完后全局可用。
地址是对应DM下载的地址路径下的net60\DmProvider.dll包如果出现提示
改为自己的路径即可
点击添加项目引用
浏览
找到对应的dll文件在Dm数据库文件夹下的Dmprovider中我这里创建的项目是.Net6所以用的是net60根据对应的项目选择不同的dll文件
选择完成后勾选点击确定即可
我在控制器里写了个基本的创建表方法测试是否可用,Server是
最后创建成功在MAIN下查看,一般创建的表和做的操作都在该目录下
进阶
一、 SqlSugar使用DM数据库
1、了解DM数据库
SqlSugar是一款国产的ORM轻量级框架用于在 .NET 平台上简化与数据库的交互操作。它支持主流的关系型数据库,如 DM, SQL Server、MySQL、Oracle 等,并提供了一系列强大的功能和特性,使数据库的操作更加简便和高效。
2、 配置上下文以及注册Progrom
在appsettings里面配置连接字符串
在WebApi中下载对应的包
在扩展方法写配置调用或在Progrom中直接写配置
在仓储类库中下载对应的包
在Model中创建实体类因为在DM数据库中只能识别大写所以要加一个[Column("BID")]这样迁移后的数据就都是大写了
最后在上下文类中写对应的配置即可,注意表名要大写!
迁移的命令:add-migration 创建数据库和表,Update-Database
2、 在仓储层中写对应的通用扩展接口和实现方法类
结构
主要分为三大类:同步,异步和批量操作
对应的实现方法
2、控制器实现方法
写了一些方法实现的模版
二、 使用DM高级语法
1、 索引
虚索引和实索引:
虚索引是指在创建表的时候如果Id是主键自增的情况自动创建的索引,SqlServer不 支持虚索引
实索引就是除了虚索引之外的所有索引
聚集索引和非聚集索引:
使用DM数据库创建聚集索引的语句是CREATE CLUSTER INDEX C1 on T1(ID);
非聚集索引是CREATE INDEX S1 on T1(NAME);并且如果该表有主键自增的情况下无法 创建索引。
而SqlServer创建聚集索引的语句是CREATE CLUSTERED INDEX index_name ON table_name (column_name);非聚集索引的语句是CREATE NONCLUSTERED INDEXindex_name ON table_name (column_name);并且因为SqlServer没有虚索引所以 表id不管是不是主键都可以创建索引
优化
一、 解决名称必须全部大写的问题
创建数据库的时候取消字符串比较大小写敏感即可