Caché学习笔记(四、 FDBMS与持久类)

博客介绍了FDBMS,即传统数据库管理系统以SQL方式操作Caché,展示了进入管理页面及相关操作。还提到面向对象的持久类,是持久化主要方式,给出在Studio中创建持久类的步骤,但实操中因基本语法问题代码出错,相关问题待解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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、上面有两处对空格竟然有要求。
问题回头再解决吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三分恶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值