重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4140|回复: 0
打印 上一主题 下一主题

Oracle基础知识杂谈(2)

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-19 16:50:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
主题三:数据库对象

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(实例讲解)



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-5-14 17:09 , Processed in 0.098961 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表