数据库 Oracle数据库对象一

Posted 庖丁解牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库 Oracle数据库对象一相关的知识,希望对你有一定的参考价值。

常见的数据库对象
表:基本的数据存储集合,由行和列组成
视图:从表中抽出的逻辑上相关的数据集合
序列:提供有规律的数值
索引:提高查询的效率
同义词:给对象起别名
create table语句
--create table权限
--存储空间
数据类型
varchar2(size)    可变长字符数据(默认4kb)
char(size)    定长字符数据
number(p,s)    可变长数值数据
date        日期型数据
long        可变长字符数据,最大可达到2G
clob        字符数据,最大可达到4G
raw and long raw    原始的二进制数据
blob        二进制数据,最大可达到4G
bfile        存储外部文件的二进制数据,最大可达到4G
rowid        行地址(索引中存储的就是行地址
--创建一个表
create table t2 (
tid number,
tname varchar2(20),
hiredate date default sysdate--设置该字段的默认值
)
alter table 语句追加,修改,或者删除语法
--追加
SQL> alter table t2 add (sid2 number,sid3 number);
--修改
SQL> alter table t2 modify (tname varchar2(30),sid2 long);
--删除列
SQL> alter table t2 drop column sid2;
删除表
1.数据和结构都被删除
2.所有正在运行的相关事务都被提交
3.所有相关索引都被删除
4.DROP TABLE 语句不能回滚,但是可以闪回
语法结构:DROP TABLE 表名
普通用户下,表被删除会进入回收站(管理员没有回收站)
--清空回收站
purge recyclebin;
--彻底删除一张表
drop table test1 purge;

 

约束
--约束是表一级的限制
--如果存在依赖关系,约束可以防止错误的删除数据
--约束类型
    NOT NULL    非空
    UNIQUE        唯一性
    PRIMARY    KEY    主键
    FOREIGN    KEY    外键
    CHECK        检查
create table student
(
    sid number constraint student_sid_pk primary key,--主键约束
    sname    varchar2(40),
    email    varchar2(40) not null,--这是由oracle系统创建约束名
    sex number constraint student_sex_notnull not null,--这是自定义约束名,constraint是关键字
    age number constraint student_age_notnull not null constraint student_age_unique unique,
    --一个字段定义多个约束
    numx number constraint student_age_check check(numx<20)--检查约束
    deptno number constraint student_deptno_fk references dept(deptno)--外键约束
    --references是关键字,表示student表的deptno字段需要参考dept表的deptno字段 
)
有关check约束
--可以使用in关键字
create table student
(
    sex varchar2(10) constraint student_sex_check check(sex in (,))
)
有关primary key约束
--主键约束 通过这一列 唯一确定一行值
--若定义主键约束 隐含 非空且唯一约束
有关foreign key外键约束
--定义两张表,一个表的列值引用另一个表的列值 员工表 部门表
    子表的外键关联的是父表的主键
--父表中数据被子表引用,则父表相应记录删不掉
    若想删除 级联删除 级联置空
--子表中插入数据,外键必须在父表中存在,否则插入出错
外键约束(续)
foregin key:在子表中定义了一个表级的约束
references:指定表和父表中的列
on delete cascade:当删除父表时,级联删除子表记录(一般情况下不使用,因为会破坏子表数据)
on delete set null:将子表相关的依赖记录的外键值置为空值(一般情况下不使用,因为会破坏子表数据)
ed:
create table student
(
sid number,
deptno number constraint student_deptno_fk references dept(deptno) on delete set null
)

 

以上是关于数据库 Oracle数据库对象一的主要内容,如果未能解决你的问题,请参考以下文章

Oracle数据库中的大对象(LOB)数据类型介绍

一步一图一代码,一定要让你真正彻底明白红黑树

Oracle事务和常用数据对象

如何在 Toad for Oracle 中使用自定义代码片段?

Oracle数据库从RMAN备份集片段还原指定单个归档日志进行日志挖掘分析

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段