数据库 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
)
时间: 2024-10-11 22:34:14

数据库 Oracle数据库对象一的相关文章

面试题: 数据库 oracle数据库 未看6

Oracle数据库面试题总结 2017年04月27日 22:41:44 阅读数:9271 1.SQL语句分类 DQL(数据查询语言)select DML(数据操作语言)insert.delete.update DDL(数据定义语言)create.drop.alter DCL(数据控制语言)grant:把权限授予用户.revoke:把权限从用户收回 TPL(TCL,事务控制语言):commit.rollback 2.Oracle是怎样分页的 Oracle用rownum进行分页 分页语句的步骤: a

MySQL/Oracle数据库的基础(二)

MySQL/Oracle数据库 Oracle数据库管理系统是管理数据库访问的计算机软件,由Oracle数据库与Oracle实例构成 Oracle数据库:一个相关的操作系统文件集合,这些文件组织在一起,成为一个逻辑整体,即为Oracle数据库.Oracle数据库必须要与内存实例合作,才能对外提供数据管理服务. Oracle实例:位于物理内存里的数据结构,它由操作系统的多个后台进程和一个共享的内存池所组成,共享的内存池可以被进程锁访问. Oracle用它们来管理数据库访问 Oracle实例就是平常所

Oracle数据库对象

Oracle数据库对象又称模式对象,它是逻辑结构的集合,其中最基本的数据库对象是表.常见的数据库对象包括同义词.序列.视图等. 1.视图 视图可以限制表中一组行为访问.隐藏了数据的复杂性.简化了用户的sql.基表定义修改隔离.通过重命名列从另一个角度提供了数据. 2.触发器(Trigger) 如果想对视图进行增删改,就可以使用触发器. 3.数据字典 oracle中分为了静态数据字典和动态数据字典. 静态数据字典: dba_*** :查看所有的用户表 all_*** :查看该用户下能看到的所有表

学习oracle数据库引航三——数据库对象

一.表-段 表分区:便于进行删除操作等. 可以直接删除分区表(迅速). 使用while等条件时效率高. 二.索引 提高查询速度 影响DML(更新.插入.删除)效率 更新表内容同时也要更新索引的内容. 三.数据库链 database link 两台数据之间 基于分布式事务的机制. 四.表空间 可以有多个数据文件 学习oracle数据库引航三--数据库对象,布布扣,bubuko.com

Oracle数据库对象查询是否被锁定及解锁

Oracle数据库对象是否被锁定查询SQL及解锁过程SQL详见下面: --查询当前用户下被锁的对象SELECT B.OBJECT_NAME, B.OWNER, C.SID,C.SERIAL#,C.OSUSER, C.MACHINE, C.TERMINAL  FROM V$LOCKED_OBJECT A, DBA_OBJECTS B, V$SESSION C WHERE A.OBJECT_ID = B.OBJECT_ID   AND A.SESSION_ID = C.SID   AND c.STA

ORACLE 数据库、实例、表空间、用户、数据库对象

Oracle是一种数据库管理系统,是一种关系型的数据库管理系统.通常情况了我们称的"数据库",包含了物理数据.数据库管理系统.内存.操作系统进程的组合体,就是指这里所说的数据库管理系统. 完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. ① Oracle数据库是一系列物理文件的集合: 组成Oracle数据库的文件可以分成三个类型:数据文件(data file).重做日志文件(redo log file)和控制文件(control file).数据文件保存数据,

Oracle数据库对象,同义词、序列、视图、索引

数据库对象简介 Oracle 数据库对象又称模式对象 数据库对象是逻辑结构的集合,最基本的数据库对象是表 其他数据库对象包括: 同义词是现有对象的一个别名. 简化SQL语句 隐藏对象的名称和所有者 提供对对象的公共访问 同义词共有两种类型: CREATE USER test IDENTIFIED BY test; GRANT CONNECT , CREATE SYNONYM TO test; GRANT SELECT ON SCOTT.EMP TO test; GRANT DELETE ON S

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

一.LOB数据类型的介绍 大对象(LOB)数据类型允许我们保存和操作非结构化和半结构化数据,如文档.图形图像.视频片段.声音文件和XML文件等.DMBS_LOB 包被设计用于操作 LOB 数据类型.从 Oracle 12c 开始,根据数据库块大小,LOB 最大可以存储 128TB 的数据,一个表可以有一个或多个 LOB 数据类型的列,如 二进制大对象(BLOB).字符大对象(CLOB).国家字符大对象(NCLOB)和BFILE. 重要的是,每当在表中创建 LOB 列时,实际上会创建两个不同的段:

oracle数据库 操作clob对象

clob类型,但对于这个类型处理起来还是比较麻烦的,varchar2长度为4000bytes,如果varchar2能满足楼主的需求,建议使用varchar2,下面提供了在Java 中读取clob类型的方式,我主要讲的是JDBC的操作,Hibernate目前不讲,操作这个Clob列主要分为插入和获取俩个操作:1.Java程序插入Clob值到Oracle数据库表中:   String clob= "这里主要是要插入到表中的值";     //前面具体数据库连接代码这里省略,直接进正题