iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Oracle面向对象的应用实例
  • 899
分享到

Oracle面向对象的应用实例

2024-04-02 19:04:59 899人浏览 独家记忆
摘要

    近期做项目,遇到一个基站的数据模型,此基站有7大属性,每个属性下面又有第二层的若干个属性,第二层下面又有第三层的若干属性,一直到第五层的最底层属性超过1000个,现在要把这个基站

    近期做项目,遇到一个基站的数据模型,此基站有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)    --经理

);

--工资基本类

create or replace type ty_sal as object

(sal      number,  --工资

 subsidy  number,  --补贴

 tax      number   --税费

);

--教育基本类

create or replace type ty_edu as object

(school varchar2(20),  --毕业学校

 grad   date,          --毕业时间

 educa  varchar2(20),  -- 学历 

 degree  varchar2(20) --学位

);


--使用上面的类来构造员工表

create table t_emp

(eid     varchar2(20) not null,

 person  ty_person,

 job     ty_job,

 sal     ty_sal,

 edu     ty_edu,

 extcol   varchar2(50),

 extcol2  varchar2(50),

 extcol3  varchar2(50),

 extcol4  varchar2(50),

 extcol5  varchar2(50)

);

--extcol 表示扩展字段


下面介绍类的基本操作:

1.使用构造函数加入数据

insert into t_emp(eid , person,job,sal,edu ,extcol,extcol2,extcol3 ,extcol4,extcol5)

values('001',

       ty_person('scott','M',to_date('1981-10-10','yyyy-mm-dd'),'beijing','0102345678'),

       ty_job('DBA','IT','smith'),

       ty_sal(8000,1000,500),

       ty_edu('Peking University',to_date('2004-10-10','yyyy-mm-dd'),'bachelor','bachelor'),

       null,null,null,null,null);

       

2.查询数据

select * from t_emp t;

--查某个类的数据

select t.person.name,t.person.sex,t.person.borthady,t.person.address,t.person.phone

  from t_emp t;


3.删除数据

delete t_emp t where  t.person.name='scott';


4.修改数据

update  t_emp t set t.person.name='Mark' 

 where t.person.name='scott';

 

UPDATE t_emp  e 

   SET e.person = ty_person('mark','M',to_date('1982-10-10','yyyy-mm-dd'),'neijing','0212345678')

 WHERE e.eid = '001'; 


基本的操作就是这些,更多的面向对象操作请查看Oracle文档。


您可能感兴趣的文档:

--结束END--

本文标题: Oracle面向对象的应用实例

本文链接: https://www.lsjlt.com/news/45051.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java面向对象类和对象实例详解
    目录1 - Java面向对象学习的三条主线2 - 面向过程与面向对象3 - 面向对象的三大特征4 - 面向对象分析方法分析问题的思路和步骤5 - 面向对象的思想概述6 - 类和对象的...
    99+
    2024-04-02
  • python面向对象的使用案例
    这篇文章给大家分享的是有关python面向对象的使用案例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。面向对象1. 创建支持With语句的对象我们都知道如何使用打开或关闭语句,例如打开文件或获取锁,但是如何实现自...
    99+
    2023-06-27
  • Python面向函数转面向对象实例分析
    本文小编为大家详细介绍“Python面向函数转面向对象实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python面向函数转面向对象实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。我们今天有两个目的...
    99+
    2023-06-29
  • java中的面向对象实例讲解
    这篇文章主要介绍“java中的面向对象实例讲解”,在日常操作中,相信很多人在java中的面向对象实例讲解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java中的面向对象实例讲解”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-20
  • VB面向对象实例化分析
    这篇文章主要介绍“VB面向对象实例化分析”,在日常操作中,相信很多人在VB面向对象实例化分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”VB面向对象实例化分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-17
  • Java 面向对象通过new揭开对象实例化
    目录概念了解第一种情况第二种情况更正说明: 我之前的的标题有点文不对题,我这篇博客的内容明明说的是:java中对象创建的过程,对内存之种底层的东西,我其实提的不太多。 所以我原来的标...
    99+
    2024-04-02
  • Java 面向对象 之 多态实例2
    转载于 : http://www.verejava.com/id=16992846385655 public class Polymorphism3 {public static&...
    99+
    2023-06-02
  • C++面向对象编程实例分析
    这篇文章主要介绍“C++面向对象编程实例分析”,在日常操作中,相信很多人在C++面向对象编程实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++面向对象编程实例分析”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-30
  • Python面向对象入门实例分析
    这篇文章主要介绍“Python面向对象入门实例分析”,在日常操作中,相信很多人在Python面向对象入门实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python面向对象入门实例分析”的疑惑有所帮助!...
    99+
    2023-06-27
  • python3 面向对象的创建及实例的属
    什么是对象:  对象是指现实中的物体或实体。什么是面向对象:  把一切看成是对象(实例),用各种对象之间的关系来描述事务对象的特征:  对象有很多属性(名词)  对象有很多自己的行为(动作)什么是类:  拥有相同属性和行为的对象分为一组,即...
    99+
    2023-01-31
    面向对象 实例
  • Python面向对象编程实例分析
    本文小编为大家详细介绍“Python面向对象编程实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python面向对象编程实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。什么是面向对象编程(类)利用(...
    99+
    2023-06-29
  • java面向对象的示例分析
    这篇文章主要介绍了java面向对象的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、Java特效1、简单性人们希望构建一个无须深奥的专业训练就可以进行编程的系统,并...
    99+
    2023-06-29
  • php面向对象的示例分析
    这篇文章主要介绍了php面向对象的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、面向对象简介1、什么是面向过程具体话的实现,细节...
    99+
    2024-04-02
  • Python3的面向对象举例分析
    这篇文章主要介绍“Python3的面向对象举例分析”,在日常操作中,相信很多人在Python3的面向对象举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python3的面向对象举例分析”的疑惑有所帮助!...
    99+
    2023-06-19
  • Python面向对象中类和对象的示例分析
    这篇文章主要介绍了Python面向对象中类和对象的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是面向对象编程?我们是不是听过面向过程,拿来放在一起对比就比较好理...
    99+
    2023-06-22
  • python 面向对象之继承实例讲解
    面向对象编程语言具有封装、继承、多态三个基本特征,本文就继承举例详谈比如说学校主要有3大角色:学校,讲师,学员学校可以注册学员,统计有多少学员老师负责讲课学生听课,提问,学习,交学费先定义4个类:class School(obje...
    99+
    2023-01-30
    面向对象 实例 python
  • Java面向对象之多态实例分析
    这篇文章主要介绍“Java面向对象之多态实例分析”,在日常操作中,相信很多人在Java面向对象之多态实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java面向对象之多态实例分析”的疑惑有所帮助!接下来...
    99+
    2023-06-30
  • JavaScript面向对象实现放大镜案例
    本文实例为大家分享了JavaScript面向对象实现放大镜的具体代码,供大家参考,具体内容如下 效果图 实现原理分析 如图所示 触发鼠标的移动事件时,根据事件对象的 client...
    99+
    2024-04-02
  • python函数和面向对象实例分析
    这篇文章主要介绍“python函数和面向对象实例分析”,在日常操作中,相信很多人在python函数和面向对象实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python函数和面向对象实例分析”的疑惑有所...
    99+
    2023-06-29
  • Java 面向对象的特征解析与应用
    ## 类和对象 * 面向对象与面向过程 面向过程:是指类似在C语言学习中,所写的代码都在主程序(main())中运行,非常的繁琐。 面向对象:首先创建一个类,类中包括对一个事物描述的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作