FDBMS
传统数据库管理系统(database management system)方式——
这种就是以sql的方式来操作Caché,Caché同样也有关系型数据的表、视图、索引等概念。
实操一下
进入terminal:
zn “DHC-DATA” //切换NameSpace
do ^%msql //进入管理页面 user/pass: system/sys
Data Dictionary -->Base Table Definition
操作:
F3查看表的关联关系;
F4返回上一级;
清除:Ctrl+Delete
查看属性,
电脑的F6和Crtl+Delete被其它快捷方式占用了,所以没法返回和删除,每次新操作都得重来,所以后面的偷懒没有做,直接截几张视频里的图。
一点理解:
Global无疑是个树状索引的结构,用sql的表、视图、索引其实都是转化而来的,至于怎么转化的,以后有机会用的到的时候再仔细研究一下吧。
面向对象的持久类
终于到这个,持久化主要还是用这种方式,这就是所谓的cache object(和M语言应该是一个玩意儿吧。)
一个持久化案例
Studio中创建持久类
1、Change Namespace
2、Create New Class
3、ClassType
4、Property
5、Index
6、Compile
7、Storage
Class web.Test1 Extends %Persistent { ClassMethod GetSex(RowId As %String) As %String { //定义一个返回string类型的有参类方法 if (RowId=""){ //if后竟然还要一个空格 s str=$g(^CT("SEX",RowId)) //定义的什么东西我也不知道 s Desc=$p(str,"^",2) //应该是前面写过的命令行吧 w Desc, ! }else{ s Rowid=0 f s Rowid=$o(^CT("SEX",Rowid)) // f后要两个空格 .s str=$g(^CT("SEX",Rowid)) .s Desc=$p(str,"^",2) .w !,Desc,! } } }
倒霉玩意儿,基本语法没看,所以代码是抄的,我也看不太懂,果然出错了,目前也不知道怎么改。
其它的不知道,反正上面那一段代码敲起来很不爽啊。
1、嵌入了不少命令,里面各种符号
2、上面有两处对空格竟然有要求。
问题回头再解决吧。