Caché存储方式介绍

本文介绍了Caché数据库的三种Storage Schema:Caché storage、Caché SQL storage和Custom storage。以Person和Patient类为例,详细阐述了Caché storage的工作原理,包括如何查看和修改存储定义,以及数据在全局变量中的存储形式。通过实例展示了如何调整存储布局以优化数据组织。
摘要由CSDN通过智能技术生成

阅读前提
阅读本文需要有Caché面向对象建模和SQL的基本知识。

简介
Caché提供工具让用户自己定义存储Schema (Storage) ,而且用户定义的Storage不影响面向对象、SQL访问,也就是说,不需要修改任何代码。

Caché提供3种Storage Schema:Caché storage、Caché SQL storage、 Custom storage。

我们以一个简单的类Person和其继承类Patient为例来讲解Storage:

Class User.Person Extends %Persistent
{
   
Property Name As %String;
Property Gender As %String;
Property DOB As %Date;
}

Class User.Patient Extends User.Person
{
   
Property PID As %String;
}

Caché storage
Caché storage是Caché默认的Storage schema。它产生一个基于列表(list)的多维数组结构。持久化存储的类编译后会自动生成Caché Storage schema。

查看Storage定义:
有两种方式可以查看Storage定义:通过Studio的Storage>Data nodes 编辑器、Storage XML定义。

通过Data nodes 编辑器

在Studio>Inspector里选中Storage,会看到名为Default的Storage定义:

双击Default,然后点击Data Nodes后面的 ,会弹出Data nodes 编辑器:

看到其中只有一个Node,名为”PersonDefaultData”,双击该Node会显示其具体的定义。可以看到默认情况下,所有的非流类型属性组成一个list被放在ID为下标的节点下:

^User.PersonD(ID)=$LB(%%CLASSNAME,Name,Gender,DOB)

通过Data nodes 编辑器

通过Caché Studio的View>View Storage来查看其Storage定义,例如下面我们查看User.Person的Storage定义:

<Storage name="Default">
<Data name="PersonDefaultData">
<Value name="1">
<Value>%%</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值