抽象数据类型,让Oracle数据库数据管理更加容易

2、 抽象数据的引用。

  当建立好抽象数据类型的时候,数据库管理员就可以向基本数据类型那样,引用抽象数据类型,包括在建立表或者对相关字段进行赋值的时候,都这么方便。

  如在建立表的时候,可以把这个抽象数据类型直接跟某个字段关联起来。如

  Create Table USERS

  (F­­_Adress Adress );

  上面这个语句就是在USERS表中建立了一个F_Adress的字段,其数据类型为Adress。

  若要对这个字段赋值的话,需要注意一个问题,要依次输入赋值的内容,顺序不能够颠倒。如按照上面的定义,用户在赋值的时候,需要依次输入街道、城市、省份、邮编等等内容。若用户在输入的过程中,忘记输入城市的话,则省份的内容将会直接输入到城市中。另外,若数据类型不匹配的话,则就直接会有错误提示。当然数据库管理员也可以根据需要,为特定的数据内容设置默认值,以方便管理。

  三、抽象数据类型管理经验分享。

  笔者平时在数据库设计中,非常钟爱这个抽象数据类型。笔者十多年的数据库管理经验证明,利用抽象数据类型可以大幅度的简化我们平时的工作。为此笔者在这方面也积累了不少的经验。这里就拿出来跟大家分享一下。

  经验一:利用脚本建立抽象数据类型。

  对于一些常用的抽象数据类型,数据库管理员最好能够利用脚本来建立抽象数据类型。如果每次建立数据库的时候,都通过手写代码来完成的话,工作量会比较大。如笔者在日常工作中,就把常用的一些抽象数据类型,如员工姓名、地址、产品规格等抽象数据类型都保存在一个SQL脚本中,等到需要的时候,只需要运行这个脚本即可。这就可以减少一些不需要的编码的编写,从而提高数据库开发设计的效率。

  经验二:对于多个数据库对象中经常需要用到的数据,最好采用抽象数据类型。

  如在一个ERP系统中,产品基本信息的产品规格可能包含多个部分的内容,如产品的颜色、尺寸、大小、外处理方式等等。而在采购订单、进货单等地方有需要多处进行引用。为了保障数据的一致性与统一性,最好为产品规格设置一个抽象数据类型 。如此的话,一方面在其他对象中引用这个内容的话,不用一个个字段的引用,从而简化应用程序的设计; 另一方面,因为这些信息组合才能够唯一的定位产品,所以,在采购订单或者其他单据中统一的显示,非常的关键。为此,若能够一个数据类型来包含这些内容的话,则应用程序设计时就可以减少错误的发生。

  经验三:要考虑不同数据库库的兼容性问题。

  抽象数据类型,它是Oracle数据库对标准SQL语句的一种扩展。所以,虽然Oracle数据库提供了抽象数据类型的功能,但是,其他品牌的数据库不一定支持。这也就是说,这个抽象数据类型的兼容性并不时很好。如果数据库管理员能够预见在以后可能会把数据库迁移到其他平台的数据库中,则这个抽象数据类型就需要慎用。否则的话,在数据库移植的过程中,就会平白的遇到很多麻烦。

  另外,由于标准的SQL语句不支持这个抽象数据类型,所以,如果采用其他的非Oracle数据库出的SQL语句,就可能会造成额外的困扰。如有些数据库管理员喜欢采用Excle等工具作为Oracle数据库管理的辅助工具。若在数据库中采用了抽象数据类型,那么Excle软件将无法很好的支持Oralce数据库。这也是Oracle数据库管理员在考虑采用抽象数据类型需要考虑的内容。

  最后,有一个值得庆幸的就是,这些抽象数据类型的执行计划与其他Oracle数据库系统默认的内部数据类型的执行计划相同。这也就是说,抽象数据类型的引入对SQL语句的执行性能将不会产生任何影响。换一句话说,采用抽象数据类型并不会降低数据库的性能,相反可以提高数据库数据管理的一致性与统一性,从而让数据管理起来更加的容易。所以说,如果不考虑抽象数据类型的兼容性问题的话,那么抽象数据类型将是数据库管理员规划数据的一个好帮手。

你可能感兴趣的:(oracle数据库)