发布日期:2023-03-31来源:武汉北大青鸟武汉校区作者:武汉北大青鸟
武汉北大青鸟光谷校区教员老师希望学子们在学习过程中将自己的心得感受记录下来作为以后查阅的参考,下面是一位青鸟学子在学习oracle培训课程中的学习总结,给同学们参考借鉴。
簇:
有公共列的两个或多个表的集合
簇表中的数据存储在公共数据块中
簇键:
标识符
创建簇:
减少I/O操作,减少磁盘空间,但是插入性能降低。
两张表中有共同的列,比如学生表中有班级编号,班级表中也有班级编号,可以将班级编号存放在簇中
create cluster 簇名(
字段名 类型
)tablespace 表命名空间;
create index 索引名 on cluster 簇名;
create table 表名1 (
字段名 类型
) cluster 簇名(簇中字段名);
create table 表名2(
字段名 类型
)cluster 簇名(簇中字段名);
oracle对象数据类型:
抽象数据类型:
包含一个或多个子类型的数据类型
不局限于oracle的标准数据类型
可以用于其他数据类型中
语法:create [or replace] type 类型名 as object(列名 类型,...)[not final];
not final 关键字限制派生子类型。
如:
create type addresstype as object(
province varchar(20),
city varchar(30),
street varchar(40)
)
在建表时即可使用自定义的addresstype类型
create table studentObj(stuname varchar(18),stuAddress addresstype);
插入数据
insert into studentobj values('Tom',addresstype('吉林省','长春','前进大街'));
查询数据
select * from studentobj;
结果为 Tom
addresstype('吉林省','长春','前进大街')
select s.stuname,s.stuaddress.province,s.stuaddress.city from studentobj s;-- 必须使用别名
这样查询就查询出平时分列的数据。更新也是如此。
如果需要扩展则添加not final
扩展新类型:create type 子类型 under 父类型(
扩展新属性...
);
基于类型可以创建对象表:
create table 表名 of 类型名;
即可和关系表一样使用。
也可以使用对象的构造函数来插入数据
insert into 对象表名 values (类型名(参数...)); -- 插入实例
更新也可以使用直接更新和构造函数更新两种方法。
创建带有方法的对象类型
create [or replace] type 类型名 as object(
--声明属性
stuid varchar(10),
stuname varchar(10),
--声明方法
member function getName return stuname,
member procedure setName(varchar stuname)
)
具体等之后的教程
通过oracle的继承可以发现方便了不少,以前那些学生表,教师表在创建的时候都要重复定义姓名、性别、出生年月等字段,现在可以通过oracle的对象继承来实现。
武汉北大青鸟光谷校区学子每一位都非常,也希望他们能够保持这种的姿态延续到工作中。
Copyright (c) 2006-2023 武汉宏鹏教育咨询有限公司 版权所有 All Rights Reserved.