医疗数据库 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#) 原文地址 需求分析 根据用户在微信上发送至价值中国公众号 ...
随机推荐
- C++ 带有通配符*与?的字符串匹配
题目:两个字符串,一个是普通字符串,另一个含有*和?通配符,*代表零个到多个任意字符,?代表一个任意字符,通配符可能多次出现.写一个算法,比较两个字符串是否相等. 发现许多公司笔试面试都有这道题目,于 ...
- 从原型链看DOM--Text类型
文本节点由Text类型表示,包含的是可以按照字面解释的纯文本内容,纯文本中可以包含转义后的HTML字符但不能包含HTML代码.原型链继承关系为:textNode.__proto__->Text. ...
- PAT 1146 Topological Order[难]
1146 Topological Order (25 分) This is a problem given in the Graduate Entrance Exam in 2018: Which o ...
- C++必知必会
C++ Common knowledge Essential Intermediate Programming C++必知必会 [美] StephenC.Dewhurst 著 荣耀 译 人民邮电出 ...
- centos配置jdk的环境变量
1.首先呢,centos下的JDK环境配置分两种情况,一直是root用户级别的jdk配置,另一种是其他用户组级别的配置.这里讲解的是root用户级别的配置. 我们已经下载解压好了jdk的目录.如下 2 ...
- ajax的认识
1. ajax是一种技术,无需刷新页面即可向服务器传输.读写数据. 2. ajax的参数说明: 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为 ...
- [CLR via C#读后整理]-1.CLR的执行模型
公共语言运行时(Common Language Runtime,CLR)是一个可由多种编程语言使用的"运行时".他主要提供的功能有:程序集加载,内存管理,,安全性,异常处理,线程同 ...
- JS的Scope
关键字:域(scope),闭包(closure),关键字this,命名空间(namespace),函数域(function scope),全局域(global scope),词法作用域(lexical ...
- WCF使用安全证书验证消息加密
首先安装 服务端安全证书 代码如下: // 下面第一行是安装证书,第二行是将证书列入信任 makecert.exe -sr LocalMachine -ss MY -a sha1 -n CN=lo ...
- Helloworld.JaVa 第一次编程
package Jc; class Jc1st { public static void main(String[] args) { System.out.println("Hello Wo ...