cache数据库之表的存储结构

1.我们已经建了一个person类,接下来就是表的存储结构
2.打开Inspector,先输入rowid名字为p_RowID,选class->Storage
这里写图片描写叙述
3.新建一个Storage,选择CacheSQLStorage。在SqlIdExpression中输入$i(^mdata(“Person”))是\$不是S
意思是设置Rowid为自增,注意StremLocation的写法
这里写图片描写叙述
4.Caché 以多维数组存储数据,全部数据都是保存Global中。Global以例如以下形式表示:^名称(下标1,下标2,下标3…)=值
SET ^Y(3,6,7)=”third”
SET ^Y(3,6,8)=”fourth”
SET ^Y(3,6,7,8,4)=”fifth”
SET ^Y(3,6,7,8,9)=”sixth”
Global的树状结构例如以下:
5.打开SQL storage map建立索引,点击add,选择map type为data,输入global名。一般为类名的大写
这里写图片描写叙述
6.点击左側data。选择add加入glabal的三条数据,用“^”隔开
这里写图片描写叙述
7.点击左側Subscripts。输入{p_RowID}
这里写图片描写叙述
8.点击左側Rowid,输入如图所看到的
这里写图片描写叙述
9.这时就建立了一个主索引。通过rowid能够查询表数据
这里写图片描写叙述
^PERSON(1)=xiaoming^18^man
^PERSON是global名。(1)表示rowid为1。后面的数据位置依据data里的位置排列
10.接下来。我们在建一个索引,在NewStorage1里add一个索引,map type选择index,输入global名
这里写图片描写叙述
11.Subscripts建立如图所看到的,这里表示了global的四个层级。第一和第二层级是自己起的名字,方便理解global存储的信息,三四层是详细内容
这里写图片描写叙述
12.rowid如图所看到的,是第四层
这里写图片描写叙述
13.这个以名字建立的索引我们以global来理解
^PERSONi(0,”name”,”xiaoming”,1)=0

posted @ 2017-07-24 08:22  gccbuaa  阅读(595)  评论(0编辑  收藏  举报