Oracle面向对象的应用实例
近期做项目,遇到一个基站的数据模型,此基站有7大属性,每个属性下面又有第二层的若干个属性,第二层下面又有第三层的若干属性,一直到第五层的最底层属性超过1000个,现在要把这个基站按照7大属性,设计成7个表,每个属性的最底层属性从100到400多不等。
如何设计呢?
第一、最常见的用每个属性的最底层属性来建表,最大的一个表超过400个字段,这样从性能到维护都是不行的。
第二、按照事实表与纬度表的关系来设计,把每个大属性分为若个小属性来设计表,结果可能是得到几十个表,相互之间还有复杂的逻辑关系,在业务处理上不方便。
第三、按照Oracle面向对象的设计方法,以第三层为准设计对象,就是把每个大属性下面的第三层属性设计为每个对象,然后再用对象来定义表。
原数据模型太复杂了,就不举例了,下面用一个简单的例子来说明下。
例如常见的员工表,有这些字段(eid、ename、sex、borthady、address、phone、job、dept、manager、sal、subsidy、tax、school、grad、educa、degree、extcol、extcol2、extcol3、、、)
按照字段的类别设计为下面的几个类:
--员工基本类
create or replace type ty_person as object
(ename varchar2(20),--姓名
sex char(1), --性别
borthady date, --生日
address varchar2(20),--地址
phone varchar2(20) --电话
);
--工作基本类
create or replace type ty_job as object
(job varchar2(20), --职位
dept varchar2(20), --部门
manager varchar2(20) --经理
);
相关新闻>>
- 发表评论
-
- 最新评论 更多>>