oracle中的接口,Oracle中接口的概念

博客探讨了Oracle数据库如何借鉴面向对象编程中的接口概念,通过函数(过程)定义与实现分离来增强数据库管理的灵活性。Oracle中的函数(过程)定义相当于接口,而具体实现则通过函数(过程)体完成,类似于编程语言中的接口实现。文中以用户密码管理为例,展示了如何自定义校验函数,以满足特定需求,从而提高了系统的可扩展性和定制化能力。
摘要由CSDN通过智能技术生成

在面向对象的编程语言中,一直强调面对接口或抽象类编程,而接口也一直是各大设计模式重点研究的对象,实际证明接口确实给程序设计和开发带来很大的灵活性。而接口这一概念源于编程,严格意义上说应该来自于面向对象的语言,因此一些设计模式的教材举例子的时候都用了面向对象的语言作为讲解的工具。但其实在数据库中也有类似接口的概念,尤其在面向对象的Oracle数据库中。

这里的接口只能说类似于面向对象语言的接口,因为在Oracle中不存在接口数据类型或多个实现了同一接口的类型。这种接口的具体实现形式,我想开发过Oracle函数或者过程的人员都能想到,那就是Oracle中函数(过程)定义与函数(过程)体分离的,函数(过程)的定义相当于对接口的定义,但具体的实现是通过函数(过程)体来实现。这里跟一般接口的使用方式是一样的,只不过在编程语言中看作是类型而已。不过Oracle的这种方式中不能存在多个实现了同一接口的函数(过程)体,因为实现的函数(过程)名称与定义的是一样的。

而这种函数(过程)定于与实现的应用,平时更多只是在包中开发,很少提升到接口这个层面。最近在看Oracle的用户管理中看到了这一应用的体现。在用户密码管理中,Oracle用到了叫profile的文件对密码进行管理,如果用默认的profile文件进行管理,不能对密码的强度,规范性等进行校验,就比如dotnet中对密码的校验方式。Oracle服务器就提供了一个复杂密码的校验函数,以一个定义好的函数verify_function作为校验函数,oracle自身也提供了这个函数的实现方式,好比dotnet中的策略模式的实现,都提供了默认的方式。但Oracle中默认的校验函数仍满足不了要求,这时候接口的作用就体现了。这种定义与实现分离的方式,让用户可以定于自己的校验函数,用户只需要关心自己的函数。至于调用,那是Oracle服务器的事了。类似于这种接口式的管理,增强了数据库管理的灵活性。

以上只是个人的理解,继续学习中。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值