目前所知的 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é 开发笔记的更多相关文章

  1. Neo4j图数据库管理系统开发笔记之一:Neo4j Java 工具包

    1 应用开发概述 基于数据传输效率以及接口自定义等特殊性需求,我们暂时放弃使用Neo4j服务器版本,而是在Neo4j嵌入式版本的基础上进行一些封装性的开发.封装的重点,是解决Neo4j嵌入式版本Emb ...

  2. Neo4j图数据库管理系统开发笔记之三:构建安全的RMI Service(Server)

    RMI Server(服务端)主要包括以下功能:远程用户权限验证管理.远程服务接口实现类.Neo4j实体映射转换等.项目目录结构如下图所示: 3.2.1 远程用户权限验证管理 3.2.1.1 用户权限 ...

  3. Neo4j图数据库管理系统开发笔记之二:管理系统Server端界面一览

    最近在neo4j java api和rmi的基础上,设计了一套neo4j管理工具,分为server端和client端,中间用rmi进行通信.基本功能包括图数据库基本信息维护管理(创建.编辑.删除.统计 ...

  4. 【转】Android开发笔记(序)写在前面的目录

    原文:http://blog.csdn.net/aqi00/article/details/50012511 知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯:另一方面希望通过分享自己的经 ...

  5. Android开发笔记:打包数据库

    对于数据比较多的控制一般会加入SQLite数据库进行数据存储,在打包时这些数据库是不自动打包到apk中的,如何创建数据库呢 方法1:将创建数据库的sql语句在SQLiteHelper继承类中实现,在第 ...

  6. CoolBlog开发笔记第4课:数据库模型设计

    教程目录 1.1 CoolBlog开发笔记第1课:项目分析 1.2 CoolBlog开发笔记第2课:搭建开发环境 1.3 CoolBlog开发笔记第3课:创建Django应用 前言 我新书<Py ...

  7. Java开发笔记(一百四十七)通过JDBC管理数据库

    前面介绍了如何通过JDBC获取数据库连接,可是Connection对象不能直接执行SQL语句,需要引入Statement报告对象才能操作SQL.Statement对象由Connection的creat ...

  8. 开发笔记:基于EntityFramework.Extended用EF实现指定字段的更新

    今天在将一个项目中使用存储过程的遗留代码迁移至新的架构时,遇到了一个问题——如何用EF实现数据库中指定字段的更新(根据UserId更新Users表中的FaceUrl与AvatarUrl字段)? 原先调 ...

  9. 微信公众号开发笔记(C#)

    这篇文章还不错,使用  .net , 对微信用户的想公众号发送的文字进行回复.比较简单,自己可以修改更复杂的回复. 微信公众号开发笔记(C#) 原文地址 需求分析 根据用户在微信上发送至价值中国公众号 ...

随机推荐

  1. CF#301 D:Bad Luck Island (概率dp)

    D:Bad Luck Island 一个岛上有r个石头,s个剪子,p个布,他们之间随机挑出两个相遇,如果不是相同物种,就会有一个消失,分别求出最后这座岛上只剩下一个物种的概率. 我们用dp[i][j] ...

  2. Palindrome---poj3974(最大回文子串manacher)

    题目链接:http://poj.org/problem?id=3974 和hdu上的最长回文题一样,manacher的模板题 #include<stdio.h> #include<s ...

  3. 在django中实现支付宝支付(支付宝接口调用)

    支付宝支付 正式环境:用营业执照,申请商户号,appid 测试环境:沙箱环境:https://openhome.alipay.com/platform/appDaily.htm?tab=info 支付 ...

  4. 【MFC系列】MFC快速设置控件文本字体、大小、颜色、背景

    以静态文本为例,分享一下怎么修改文本字体.大小.颜色.背景等参数.其他文本.控件等可参照修改. 1.修改字体.大小 这个很简单,首先在Dlg类中声明一个CFont类型的成员变量: 然后在类的初始化函数 ...

  5. javascript 之 valueOf

    var m = { i:10, toString:function () { console.log('toString'); return this.i; }, valueOf:function ( ...

  6. (3.9)常用知识-标识值(identity)的不连续与强行插入、计算列

    概念:标识值 identity(begin,add_number) 是一种特殊的值,依赖于列,由sql server自动维护,是自增的,而且一般是不会重复的.但是sql server并不维护标识(id ...

  7. 18.解决合并androidmanfest错误

    这个是minsdk和tartgetsdk的版本不一致的问题

  8. cl查看类的内存布局

    查看单个类的内存布局 Microsoft Visual Studio编译器cl的编译选项可以查看源文件中某个C++类的内存布局,对于想了解某个对象的内存布局的人来说十分直观和方便. • 命令格式    ...

  9. Linux系统——本地定制化yum仓库部署

    1)开启yum仓库配置文件 /etc/yum.conf的keepcache功能 (开启一个新的虚拟机) 将keepcache=0改为1,修改配置文件后重新清空缓存(1默认下载的安装包不删除,才可以实现 ...

  10. HDFS datanode心跳与运维中的实际案例

    分布式系统的节点之间常采用心跳来维护节点的健康状态,如yarn的rm与nm之间,hdfs的nn与dn之间.DataNode会定期(dfs.heartbeat.interval配置项配置,默认是3秒)向 ...