主题三:数据库对象
表 1.定义:基本的数据存储集合,由行和列组成 2.建表要注意的命名语法有哪些?(按照ppt讲解) 3.表的列类型的种类?(按照ppt讲解) 4.ROWID的概念 AAAHafAALAAAAGKAAA
AAAHaf 对象的号码 AAL 文件号码 AAAAGK oracle块号码 AAA 行号码
数据对象号+相对文件号+块号+行号
5.临时表 在一次会话或则是一次事务中产生数据 create global temporary table emp_temp on commit preserve(delete) rows as select * from emp where deptno='20'
为什么重新启动一个会话无法看到表中数据? 因为我们的临时表不是保存在固定段(数据表空间)而是保存在临时段(临时表空间)上 数据是保存在这一次的会话(PGA的session)中 6.如何查看是否是临时表呢? select table_name,tablespace_name,temporary from dba_tables where owner='JGRING' 7.如何为表申请Extent? 自动(数据库完成) 手动(需要通过脚本完成) 在试验之前我们先查询一下 申请 alter table jgring.dept allocate extent; 查询 select segment_type,segment_name,tablespace_name,extents from dba_segments where owner='JGRING' 8.了解delete table、truncate table和drop table的区别 delete:是dml语句,可以回滚,删除数据 truncate:是ddl语句,不可以回滚,截断数据和索引,正在被外键引用的表不能截断,不触发触发器 举例 truncate dept drop:是ddl语句,不可以回滚,删除的表无法恢复
约束 1.维护数据的有效性三种方式 1).Oracle的约束 2).数据库触发器 3).应用程序代码 2.约束的分类 非空 C 主键 P 外键 K 唯一 U 检查 C 3.如何查询在当前模式(用户)下有多少约束对象? select constraint_name,table_name,constraint_type, status,deferrable,deferred,validated from dba_constraints where owner='JGRING' 4.如何使一个约束失效? alter table EMP disable constraint FK_DEPTNO; 5.如何使一个约束生效? alter table EMP enable constraint FK_DEPTNO; 6.如何删除一个约束? alter table EMP drop constraint FK_DEPTNO; 7.如何新增一个约束? alter table EMP add constraint FK_DEPTNO foreign key (DEPTNO) references DEPT (DEPTNO); 8.如何增加一个check约束? LOSAL<10000(实例讲解)
|