医疗数据库 Caché 开发笔记
目前所知的 Caché 是应用在医院信息系统(即 HIS),据说在欧美医疗卫生行业,Caché 占了 70% 的市场份额。国内的东华软件就是采用 Caché 数据库,东华软件在国内医院市场占有率大致为 20%,其中包括北京协和医院、四川大学华西医院等。
Caché 的特点:多维数据库架构,后关系型数据库,自带开发环境,完全面向对象。
关系型数据库能很好地处理「表格型数据」,却对复杂类型的数据无能为力。
但现在毕竟是关系型数据库的全盛时期,许多医疗行业的应用软件,都使用 SQL 作为查询语言,Caché 也支持 SQL 数据存取,以兼容这些应用程序。
Caché 有三种整合的、能并发访问同一数据的数据库技术:
1、成熟的对象访问方式
2、高性能的 SQL 访问方式
3、丰富的多维访问
Caché 提供的不只是单纯的数据库技术,还包括一个应用服务器,这个服务器提供高级对象编程,可以很容易与很多技术集成;还提供了高性能的运行环境,采用了独特的分布式数据缓存协议技术;还提供了丰富的集成开发环境,用于开发基于网页的应用程序;对于不基于浏览器的应用,用户接口可以用任意一种流行的编程语言来编写,如 VB、Delphi、Java 或 C++。
Caché 支持多种对象建模技术,包括多重继承、封装、多态。Caché 都自动兼容 ODBC。能使用 JDBC 和 ODBC 进行 SQL 访问。
Caché 命名空间是资源的逻辑表示方式,应用程序通过命名空间访问数据库里的数据和程序,因此,命名空间和数据库之间要建立映射。
命名空间和数据库之间的映射不一定是一对一的。一个数据库可以被多个命名空间访问;一个命名空间可以访问多个数据库里的数据。命名空间也可以用来映射远程计算机中的数据库文件。建立命名空间的主要工作就是建立与数据库的映射。
Caché 类的类型:
1、Persistent:持久类,实例可保存到磁盘上。
2、Serial:可序列化的类,可以被嵌入到其它类中。
3、Registered:内存不会写到磁盘上,实例只存在于内存中。
4、Abstract:抽象类,不创建实例的类。
5、Data Type:数据类型类。
6、CSP:Caché 服务器脚本语言类。
7、Extends:从某一类继承下来的类。

Caché ObjectScript,即Caché 对象脚本,或 COS,在创建类的方法时,所添加的代码就是 COS 代码。在 Caché 服务器端,我们都使用 COS 语言进行编程,COS 语言是在 M 语言的基本上发展起来的。
参考资料:
1、陈航. 《Caché数据库在医疗领域的研究分析及测试对比》
医疗数据库 Caché 开发笔记的更多相关文章
- Neo4j图数据库管理系统开发笔记之一:Neo4j Java 工具包
1 应用开发概述 基于数据传输效率以及接口自定义等特殊性需求,我们暂时放弃使用Neo4j服务器版本,而是在Neo4j嵌入式版本的基础上进行一些封装性的开发.封装的重点,是解决Neo4j嵌入式版本Emb ...
- Neo4j图数据库管理系统开发笔记之三:构建安全的RMI Service(Server)
RMI Server(服务端)主要包括以下功能:远程用户权限验证管理.远程服务接口实现类.Neo4j实体映射转换等.项目目录结构如下图所示: 3.2.1 远程用户权限验证管理 3.2.1.1 用户权限 ...
- Neo4j图数据库管理系统开发笔记之二:管理系统Server端界面一览
最近在neo4j java api和rmi的基础上,设计了一套neo4j管理工具,分为server端和client端,中间用rmi进行通信.基本功能包括图数据库基本信息维护管理(创建.编辑.删除.统计 ...
- 【转】Android开发笔记(序)写在前面的目录
原文:http://blog.csdn.net/aqi00/article/details/50012511 知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯:另一方面希望通过分享自己的经 ...
- Android开发笔记:打包数据库
对于数据比较多的控制一般会加入SQLite数据库进行数据存储,在打包时这些数据库是不自动打包到apk中的,如何创建数据库呢 方法1:将创建数据库的sql语句在SQLiteHelper继承类中实现,在第 ...
- CoolBlog开发笔记第4课:数据库模型设计
教程目录 1.1 CoolBlog开发笔记第1课:项目分析 1.2 CoolBlog开发笔记第2课:搭建开发环境 1.3 CoolBlog开发笔记第3课:创建Django应用 前言 我新书<Py ...
- Java开发笔记(一百四十七)通过JDBC管理数据库
前面介绍了如何通过JDBC获取数据库连接,可是Connection对象不能直接执行SQL语句,需要引入Statement报告对象才能操作SQL.Statement对象由Connection的creat ...
- 开发笔记:基于EntityFramework.Extended用EF实现指定字段的更新
今天在将一个项目中使用存储过程的遗留代码迁移至新的架构时,遇到了一个问题——如何用EF实现数据库中指定字段的更新(根据UserId更新Users表中的FaceUrl与AvatarUrl字段)? 原先调 ...
- 微信公众号开发笔记(C#)
这篇文章还不错,使用 .net , 对微信用户的想公众号发送的文字进行回复.比较简单,自己可以修改更复杂的回复. 微信公众号开发笔记(C#) 原文地址 需求分析 根据用户在微信上发送至价值中国公众号 ...
随机推荐
- Mad Counting---LightOJ1148(好任性的过了)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1148 已知有n个人,并且每个人都知道除自己之外还有m个人与自己支持的队一样,让我们求至 ...
- RocketMQ Java 客户端实现
本章介绍使用 Java 实现RocketMQ 的客户端. 以及各种消息的方式的实现. 本章实现了以下几种消息的实现方式: 一:普通消息 普通的消息分为三种: 1> 可靠的同步消息 可靠的同步传输 ...
- SDUT3165:Round Robina(循环链表)
题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=3165 题意分析: 比赛时这题没有A真伤心 ...
- 推荐系统第3周--- 大数据环境下的itemCF实现
代码报错注意事项: 1:最后Ctrl+shift+O 导入包2:导入mahout包3:新建datafile文件包,在其下面新建csv文件
- HALCON串口通讯程序
串口通讯程序 * Note: This example is meant to demonstrate the use of the serial interface * of HALCON. ...
- appium 中手势密码的定位坐标
原文地址http://www.cnblogs.com/smallTestKK/p/5408143.html 1.press方法中的坐标为绝对坐标,moveTO方法中的坐标都是相对坐标,具体来说第一个m ...
- Linux系统——ACL权限控制及特殊权限
ACL权限控制 ACL(access control list),可以提供除属主.属组.其他人的rwx权限之外的细节权限设定 ACL的权限控制 (1)User 使用者 (2)Group 群组 (3)M ...
- VS和IE或者360兼容模式简单调试js方法
首先IE(8.0版本以上)将脚本调试去掉,如下图 之后在vs里面的js要调试的地方添加代码debugger ,如下图所示 当程序运行到debugger处时,就会提示要调试,选择vs版本即可 之后会出现 ...
- 如何建立DB2分区数据库?(转)
欢迎和大家交流技术相关问题:邮箱: jiangxinnju@163.com博客园地址: http://www.cnblogs.com/jiangxinnjuGitHub地址: https://gith ...
- SpringSource Tool Suite (STS)无法启动问题
修改STS.ini,指定一个JRE路径: -vmD:\Program\Java\jdk1.7.0_79\bin\javaw.exe-startupplugins/org.eclipse.equinox ...