(1)达梦数据库模型分析

本文探讨了DM数据库与SQLServer在体系结构上的相似性,特别是表空间分区和系统模型对象的管理。作者指出,通过SQLServer脚本修改,可以构建std_upp,并强调了在不同数据库间的兼容性。关键词包括:DM数据库、SQLServer、兼容性、系统模型、对象管理、TABOBJ、SCHOB。
摘要由CSDN通过智能技术生成

当我们安装完dm数据库后,进入管理端将看到如下信息:

整个体系来看,与我们常用的数据库类似。上周使用sqlserver的数据库脚本进行小改后能完成std_upp的构建,从这个角度来说,dm与sqlserver的语法基本是兼容的。

sqlserver采用了数据库名称作为分区隔离,dm数据库直接采用了表空间进行分区隔离。

当我们想进行模型分析时,在system表空间中发现了数据库自我描述信息。

基于这个模型分析,dm与sqlserver更为接近,我们在upp项目中,采用了数据库模型对象来检测表与列是否存在,使得我们必须在dm中找到类似的模型提供数据源。根据system模型,我们大体分析出了相应的对象。

整个体系以Sysobjects对象为主对象管理,区分了相应的对象类型:

select distinct type$ From sysobjects 

根据进一步分析,我们本次构建的对象将基于SCHOBJ与TABOBJ进行展开。

TABOBJ核心信息管理着约束与索引。

select distinct subtype$ From sysobjects where type$='TABOBJ';

 

 SCHOB管理的主要是表/视图等对象:

select distinct subtype$ From sysobjects where type$='SCHOBJ';

基于以上分析,dm的系统模型管理对象与sqlserver确实非常类似,所以可以参照sqlserver的版本进行兼容构建。存在细节内容再进行特性定制。

我们在产品中对数据类型的使用保持着谨慎的态度,为支持多数据库尽可能使用通用的数据类型,但时间对象是较为突出的对象,必须简化处理,下面将提供通用的日期对象:

select curdate()
select curtime()
select getdate;
select sysdate
select ADD_DAYS( getdate(), 1)
select ADD_MONTHS( getdate(), 1)
select ADD_WEEKS( getdate(), 1);

从对系统时间的提取来看,确实兼容了sqlserver、oracle、mysql的写法.............

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值