- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ECO的UML模型驱动的数据库应用开发三OCL查询语言作者
基于 ECO 的UML 模型驱动的数据库应用开发(三) OCL 查询语言
作者:陈省
OCL 查询语言介绍
在传统的企业应用的开发是以数据集为核心来进行的,数据集中的数据获取和操作都是
通过标准的 SQL 语言来实现的,比如在.Net 中,通常是通过设定 SqlCommand 等组件的
CommandText 属性为相应的 Sql 来实现的。但是回顾一下使用 Eco 开发账本程序的过程,
你会发现Eco 的数据源组件如ExpressionHandle ,不是通过Sql 语句而是通过设定Expression
属性为Person.allInstanc es 等Ocl 语句来完成的。
OCL 查询语言是Object Constraints Language 的英文缩写,它最早是由IBM 公司提出的
UML 规范的一个子规范,用来描述对象的约束和相互之间的关联关系,该规范同 UML 标
准一样由OMG(Object Modeling Group)组织负责制定和维护。之所以需要OCL 查询语言是
因为标准的UML 模型对模型特性的描述主要是通过自然语言进行描述的,自然语言的特点
就是存在着二义性,这在系统设计的时候还不是太大的问题,但要将UML 模型转化为真实
运行的程序,则要求消除这种模型表述的不确定性。而OCL 语言则可以精确的描述模型的
约束条件以及相互之间的关系,非常适合于模型驱动的开发。下面是OCL 查询语言同标准
的SQL 的语言之间的对比:
OCL 查询语言 SQL 查询语言
面向对象的查询语言,“面向对象的 SQL”, 面向静态数据集的查询语言,非面向对象的,
强类型的查询语言 弱类型的查询
由OMG 制定的统一标准 有统一的 ANSI 标准,但大多数厂商对标准
进行了扩展,导致事实上的标准不统一
数据库平台无关 数据库平台相关,不同平台的SQL 语言用法
不同
只能对数据进行查询 除了查询,可以通过Insert ,Update , Delete
对数据进行修改
基于对象属性的过滤
同Sql 语言类似,Ocl 语言最大的用途主要是用于根据对象属性查询满足约束条件的对
象来。当前账本管理系统中主要有两类对象Person 和AcctItem ,我们可能经常会需要查看
满足特定条件的人员信息或者满足特定条件的账目信息,接下来我们就看看如何使用 Ocl
实现数据查询。
首先在界面上增加两个按钮,分别用于 “过滤人员”和 “过滤账目”。在前面编辑
ExpressionHandle 组件的Expression 属性时,Eco 提供了一个方便的可以实现AutoComplete
输入Ocl 属性编辑器,而这个设计时的Ocl 属性编辑器是调用Eco 框架Borland.Eco.Handles
名字空间中的 OclEditor 这个类来实现的,这个 OclEditor 类在运行时也能正确运行,因此
Ocl 语言的编辑设定功能只要简单的调用OclEditor 的静态方法ShowEditor 就可以了,这个
方法需要的参数是IHasEditableExpression 接口,而ExpressionHandle 组件实现了这个接口,
代码示意如下:
private void btnFilterPerson_Click(object sender, System.EventArgs e)
{
//显示人员Ocl 查询编辑器
OclEditor.ShowEditor(ehPerson);
}
private void btnFilterAcct_Click1(object sender, System.EventArgs e)
{
您可能关注的文档
- 华阜软件微信使用手册-公共书目查询系统.DOC
- 协同过滤推荐算法简介-RokidLabs.PDF
- 单位数字证书变更申请表.DOC
- 单扫描时空编码灵活小视野磁共振成像与图像-厦门大学学术典藏库.PDF
- 南京航空航天大学学科-南京航空航天大学人才招聘网.DOC
- 南昌食品安全社会共治体系的构建基础与路径探讨-中国食品卫生杂志.PDF
- 南桐煤矿急倾斜煤层开采过程中地表变形规律研究-路基工程.PDF
- 博士学位论文答辩学位申请工作程序-华南理工大学.DOC
- 危险化学品安全使用许可证正副本式样及说明-国家安全生产监督.DOC
- 危险品运输路径多准则优化模型及求解算法-交通运输系统工程与信息.PDF
- 基于EPON的三网融合接入网技术图.PDF
- 基于Eros的多元时间序列相似度分析-计算机工程与应用.PDF
- 基于EXCEL软件的诊断性Meta分析中缺失数据的提取方法-循证医学.PDF
- 基于Fingercode和同态加密的指纹认证方案-计算机工程与应用.PDF
- 基于FLASH的汉字书写动画演示应用结题-TeamPal-软件工程.PPT
- 基于FLcom的模糊知识推理与搜索处理-计算机工程与应用.PDF
- 基于GERT网络的应急救援关键路段识别-交通运输系统工程与信息.PDF
- 基于GIS的煤矿安全隐患排查治理综合信息管理平台设计-中国煤炭网.PDF
- 基于Hadoop及关系型数据库的海量数据分析研究-中国大数据.PDF
- 基于H264/AVC改进的时空域错误掩藏算法-云南大学.PDF
最近下载
- 2025年新版医疗器械经营质量管理规范.pdf VIP
- 法汉互译理论与实践 全套课件.ppt
- 鲁教版九年级英语课文原文及翻译Unit1.pdf VIP
- 公司员工请假条模板.docx VIP
- TIAWBS007-2018 4H 碳化硅同质外延层厚度的红外反射测量方法.pdf VIP
- 最新2025年思政开学第一课全文.ppt VIP
- 预制立柱、盖梁起重吊装及安装专项施工方案.docx VIP
- 2024届高考一轮复习课件+第12讲+水循环、陆地水体及其相互关系(第2课时).pptx VIP
- 质量管理之CAPA课件.pptx VIP
- 初中英语课件unit 1 The-Johnson-Family.ppt VIP
文档评论(0)