医疗数据库 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#) 原文地址 需求分析 根据用户在微信上发送至价值中国公众号 ...
随机推荐
- MySQL - 查询今天的数据(以及昨天、本月、上个月、今年...) 查询Datetime 时间的数据
1,查询当天(今天)的数据 1 SELECT * FROM `order` WHERE TO_DAYS(order_time) = TO_DAYS(NOW()) 2,查询昨天的数据 1 SELECT ...
- Web项目管理工具精选(上)
原文:Web项目管理工具精选(上) 随着新兴科技公司的蓬勃发展,不少Web应用和浏览器工具在开发者.设计者.自由职业者和项目经理中间流行开来.这些工具在不断发展,我们也看到越来越多的桌面应用.移动应用 ...
- mysql表的完整性约束
概览 为了防止不符合规范的数据进入数据库,在用户对数据进行插入.修改.删除等操作时,DBMS自动按照一定的约束条件对数据进行监测, 使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确.有效 ...
- SVM支持向量机总结
一.拉格朗日乘子法 一般,在有等式约束时使用拉格朗日乘子法,在有不等约束时使用KKT条件.这里我们先介绍拉格朗日乘子法,后面再介绍KKT条件. 比如考虑下面的组合优化的问题, 这是一个带等式约束的优化 ...
- PAT 1039 Course List for Student[难]
1039 Course List for Student (25 分) Zhejiang University has 40000 students and provides 2500 courses ...
- 闪回事务(Flashback Transaction)
到目前为止,介绍的所有功能均不会直接将数据恢复为“以前”的样子.闪回查询只是查看,闪回数据归档只是延伸了闪回查询的时间窗口,闪回事务查询虽然提供了撤销SQL,但是否执行及如何执行还需要管理员进一步手动 ...
- C#中获取时间差
/// <summary> /// 已重载.计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. /// </summary> /// <param name=&q ...
- 关联规则之Apriori
1.关联规则原理 1.关联规则概述 关联规则(Association Rules)是反映一个事物与其他事物之间的相互依存性和关联性,如果两个或多个事物之间存在一定的关联关系,那么,其中一个事物就能通过 ...
- C# 导出 Excel 的各种方法总结
第一种:使用 Microsoft.Office.Interop.Excel.dll 首先需要安装 office 的 excel,然后再找到 Microsoft.Office.Interop.Excel ...
- 论文笔记:CNN经典结构1(AlexNet,ZFNet,OverFeat,VGG,GoogleNet,ResNet)
前言 本文主要介绍2012-2015年的一些经典CNN结构,从AlexNet,ZFNet,OverFeat到VGG,GoogleNetv1-v4,ResNetv1-v2. 在论文笔记:CNN经典结构2 ...