`

oracle基础知识7_oracle常见对象

    博客分类:
  • DB
 
阅读更多

 

0 常见对象有:

 

对象 描述
基本存储单位
视图 在表基础上抽取出逻辑相关的数据集合
序列 提供有规律的数值
索引 提供高效的查询
同义词 给对象起别名

 

1 表字段类型

 

数据类型 描述
char(size) 定长字符
varchar2(size) 可变长字符
clob 字符数据,最大可4G
BLOB 二进制数据,最大可4G
number(n) 可变长数值类型
long 可变长字符数据,最大可2G
rowid 行地址
bfile 存储外部文件的二进制数据,最大可4G
date 日期
   

 

eg: create table testsavepoint (tid number,tname varchar2(20));

 

 

2 DDL语句:

 

1 参考原来表结构的基础上创建新表,同是将原表部分数据赋值到新表中:

create table emp20
    as
   select * from emp where deptno=20; (创建表的同时将部门号为20的记录赋值到新表emp20中)

 

如果仅仅是创建表,写成如下:

create table emp20
    as
   select * from emp where 1=2;

 

2 修改表: (追加新列 修改列 删除列 重名列)

2.0 create table test1(tid number,tname varchar2(20),hiredate date);

2.1 alter table test1 add image blob;

2.2 alter table test1 modify tname varchar2(40);

2.3 alter table test1 drop column image;

2.4 alter table test1 rename column tname to username;

 

3 删除表:

drop table test1;

 

 

 3 约束(表级别的限制,关键词constraint,可以不加此关键词)

 

约束类型:

a) not null

b) unique

c) primary key

d) foreign key

e) check

 

 检查性约束:

create table test2
   (tid number,
    tname varchar2(20),
    gender varchar2(4) check (gender in ('男','女')),
    sal number check (sal > 0)
   );

 

外键约束几个关键字:

a) foreign key: 在子表中定义了一个表级的约束

b) references: 指定表和父表的列

c) on delete cascade: 当删除父表时,级联删除子表记录

d) on delete set null: 当删除父表时,将子表的相关记录外键值为null

 

eg:  见下面创建表的同时创建约束并给约束赋值,最后一行就是设置外键约束写法


 

 create table myperson
    (pid varchar2(18) constraint myperson_PK primary key,
     pname varchar2(40) constraint myperson_Name_notnull not null,
     gender varchar2(4) constraint myperson_Gender check (gender in ('男','女')),
     email varchar2(40) constraint myperson_Email_unique unique
                        constraint myperson_Email_notnull not null,
     deptno number constraint myperson_FK references dept(deptno) ON DELETE CASCADE
   );  创建表myperson字段deptno ,给这个字段增加外键约束myperson_FK,关联父表dept字段deptno,并当

 删除父表时,级联删除子表myperson记录。

 

 

 

4 视图

 

a) 视图是一张续虚表

b) 建立在已有表的基础上的一种封装查询

c) 仅仅是提供数据展示的一种形式而已,对于开发人员而言,就是带有业务功能的select查询的预定义,终极目的是为了简化查询而生(这个简化是相对于开发人员而言,对于oracle而言是一点简化都没有)

d) 只能创建/删除/替换, 如果修改的话,就相当于替换

e) 非常不建议通过视图对表的数据进行 插入/修改/删除

f)  建议创建视图时候就增加上 read only

 

 创建视图和快捷创建表写法类似,如下

create view empview
    as
    select e.empno,e.ename,e.sal,e.sal*12 annlsal,d.dname
    from emp e,dept d
    where e.deptno=d.deptno with read only;

 

创建好了后,直接执行: select * from empview;  实际上就是让oracle根据视图名称 empview去执行

视图名称对应的 那一大堆select查询,仅仅是让操作人员操作起来少些一些代码而已(类似于一个预定义功能,或者理解为面向对象的封装)

 

 

5 序列:(产生唯一数值的数据库对象,多用于生成主键)

 

 序列就是数组,并被装载在内存中。

两个属性:

a) nextval---> 返回序列中下一个有效的数值,任何用户都可以引用

b) currval---> 存放序列的当前值

序列初始化后,当前值是指向第一个数值之前的那个位置(类似于游标),因此第一个数值

 

创建: create sequence myseq;

得到序列的第一个数值:

 

错误写法:

select myseq.currval from dual
       *

第 1 行出现错误:
ORA-08002: 序列 MYSEQ.CURRVAL 尚未在此会话中定义

 

正确写法:

select myseq.nextval from dual;

NEXTVAL
1

 

 

 

 

 

 

 

 

 

 

使用序列作为主键向表中插入数值:

 create table tableA(tid number,tname varchar2(20));

insert into tableA values(myseq.nextval,'aaa' );

 

 

如果你创建的序列作为所有表的主键来共同使用,那么每个表的主键必定会造成不连续结果,

tableA 1

tableA 2

tableB 3

tableA 4

 

因此在开发中,每个表对应一个此表专有的序列对象。

 

序列修改后,只会影响将来的值,已经被使用的数值不会改变。

alter sequence xxx  increment by xx maxvalue  xxx;

 

删除序列:  drop sequence xxx;

 

 

 

6 索引(和表记录的关系类似于 字典目录和字典里面详细内容)

 


 

 如果针对创建索引的列字段经常被更新(eg:sal) 那么不建议创建索引,否则 数据库经常维护这个索引表,效率也不会提高到多少。

 

创建索引:

create index myindex on emp(deptno);

create index myindex on emp(deptno,ename);

 

删除索引:

drop index myindex ;

 

 

 

 

 

 

 

  • 大小: 48.5 KB
分享到:
评论

相关推荐

    ORACLE数据库基础知识-华为维护资料

    第1章 ORACLE数据库基础知识 1 1.1 产品概述 1 1.1.1 产品简介 1 1.1.2 基本概念 1 1.2 ORACLE系统结构 2 1.2.1 ORACLE物理结构 2 1.2.2 系统全局区 4 1.2.3 进程 6 1.3 存储管理 7 1.3.1 逻辑结构 8 1.3.2 表...

    oracle基础知识

    主要写一些oracledb的基础知识; 二、数据库的安装。 1. 找安装文件:oracle 11g 这是个简化版,里面什么都没有,没有任何测试数据存在 2. DOS登录命令 sqlplus 登录名/密码 例如: sqlplus system/tiger 成功...

    ORACLE9i_优化设计与系统调整

    第6章 性能优化基础知识 82 §5.1 理解ORACLE性能优化 82 §5.1.1 响应时间与吞吐量的折衷 82 §5.1.2 临界资源 83 §5.1.3 过度请求的影响 83 §5.1.4 调整以解决问题 83 §5.2 优化的执行者 84 §5.3 设置性能目标...

    Oracle数据库开发

    全书分为7个部分,共15 章,内容包括Oracle基础知识、例程的日常管理、21种方案对象的管理、数据库安全性管理、存储的管理、数据库和网络的配置、系统备份与恢复、性能分析与调整等等。 本书内容全面、思路流畅、...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    ORACLE用户是学习ORACLE数据库中的基础知识,下面就介绍下类系统常用的默认ORACLE用户: 1. sys用户:超级用户,完全是个SYSDBA(管理数据库的人)。拥有dba,sysdba,sysoper等角色或权限。是oracle权限最高的用户,...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    2.1 Oracle架构基础 25 2.2 SGA-共享池 27 2.3 库高速缓存 28 2.4 完全相同的语句 29 2.5 SGA-缓冲区缓存 32 2.6 查询转换 35 2.7 视图合并 36 2.8 子查询解嵌套 39 2.9 谓语前推 42 2.10 使用物化视图...

    Java常见基础知识点.md

    * [OracleJdk与OpenJdk的区别](#oraclejdk与openjdk的区别) * [Java与C 的异同](#java与c的异同) * [JVM,JDK和JRE的区别](#jvmjdk和jre的区别) * [Java语言的特点](#java语言的特点) * [面向对象的特征](#面向...

    《Oracle 9i中文版基础教程 》随书光盘

    4.6 书4.6节的SQL录入数据命令范例 4.7 书4.7节的SQL删除数据命令范例 4.8 书4.8节的SQL更新数据命令范例第5章 Jinit11810.exe,基于Web的管理客户机程序第6章 初始化参数文件init.ora第7章 常见方案对象的SQL命令...

    oracle学习经典教程

    ORACLE 基础知识..24 1.1 ORACLE OLAP 与OLTP 介绍..................24 1.1.1 什么是OLTP ....25 1.1.2 什么是OLAP....26 1.1.3 在OLAP 系统中,常使用分区技术、并行技术....26 1.1.4 分开设计与优化...

    ORACLE SQL性能调整

    对象:适合所有与数据库应用相关的人员。 内容:1.Sql语句的基础知识。  2.Sql的基础优化规则。  3.日常问题的sql解决方法。  4.常见的sql错误写法。

    corejava基础重要知识点总结

    常见的操作系统:Windows Unix Linux Solaris(Sun) 跨平台:用java开发出来的应用程序不受底层操作系统的限制 底层的功臣:JVM = java虚拟机 = 1 + 2 + 3 = 秘书 + 保镖 + 翻译 = 秘书 = 类加载器 = ...

    TianleSoftware Oracle中文学习手册

    ORACLE 基础知识 ............................................................................................. 1.1 ORACLE OLAP 与 OLTP 介绍 ...............................................................

    2023最新整理版-java基础面试提

    2023最新整理,java基础面试题,涵盖基础概念与常识、基本语法、基本数据类型、面向对象基础、Java常见类、异常、泛型、反射、注解、SPI、序列化和发序列化等知识点,目录清洗,共有近60个基础知识面试题以及详细...

    oracle数据库教程

    本课程从概念、实战和原理三方面深入的讲解了Oracle数据库的方方面面,课程内容涵盖了Oracle数据库中的绝大部分基础知识,以及高级编程中的常见案例和应用。大家既可以全部学习,掌握整个oracle体系知识,也可以选择...

    程序员Java互联网求职个人简历

    程序员Java互联网求职个人简历 2018.09-2019.12 浙江XX网络科技...4、熟悉MySQL,Oracle等常见的数据库,熟悉常见缓存技术如Redis,Memcached应用; 5、有良好的软件工程知识和编码规范意识,熟练应用web软件分层设计。

    Java面试宝典和毕设PPT模板

    Java基础知识:包括Java语言的特性、面向对象编程、异常处理、集合框架、多线程等。确保你对Java核心概念和相关的API有很好的理解。 数据结构和算法:了解常见的数据结构(如数组、链表、栈、队列、树、图等)以及...

    TRSWCM6.5用户手册

    使用者应具备以下基础知识:  熟悉Windows XP、Windows NT、Windows 2000或Windows 7平台  熟悉Oracle、Microsoft SQL Server  熟悉Microsoft Internet Explorer的使用  熟悉HTML基本知识和相关的HTML页面...

    亮剑.NET深入体验与实战精要2

    5.5 Oracle开发常见问题 240 5.5.1 Oracle和SQL Server的常用函数对比 240 5.5.2 Oracle和SQL Server的语句区别 244 5.5.3 ASP.NET连接Oracle失败的解决方法 245 本章常见技术面试题 246 常见面试技巧之经典问题巧...

Global site tag (gtag.js) - Google Analytics