java:Oracle(视图,索引,序列)

1.索引:索引一共分为4种

  -- 在oracle中,
  -- normal:普通索引
  -- unique:唯一索引
  -- bitmap:位图索引
  -- B 树索引:默认:如果不建立索引的情况下,oracle就自动给每一列都加一个B 树索引

  -- index(下标,索引):作为索引,在oracle如果自带索引能满足当前查询需求,就只需要建立索引,oracle自带机制会帮你使用
  -- 如果当前查询oracle自带的索引满足不了,就要自己编写索引 (不学)
  -- 索引就可以直接理解为一个目录

  -- 二叉树:可以有多层,但是每一层最多有两个节点
  -- 但是B 树:也可以有层,不过每一层可以有多个节点
  

  -- 什么情况下,才会启用索引查找呢?
  -- 只要有where(条件查询)存在,就一定会启动索引
  -- 所有的索引分类,不是属于(适用于)一张表,而是适用于某一列的

  

  -- normal:普通索引
  -- 就相当于一个普通的字段
  -- normal,unique索引的运行机制:他会给绑定的列都加一个下标,一旦在where使用建立了索引的列,就会自动启动索引,先把            description找出来,把所有下标列出来,通过下标进行比较,如果找到了就返回该条数据,如果找不到就返回null
  select * from classes where description = ‘Java基础‘;

 

  -- unique:唯一索引
  -- 索引绑定的列的数据不能有任何一条重复,但是可以为null,唯一索引主要用于主键id ,地区表,国家表,市区表,身份证号
  -- 当一个表的主键和唯一键被建立的时候,自动建立了一个唯一索引

 

  -- B 树索引:和二叉树一样,但是二叉树只能有两个节点,但是B 树可以有多个节点

  

  -- bitmap:位图索引
  -- 怎么实现?
  -- 以性别为例:把男的标记1,把女的标记为0,在查找的时候,会把性别转换为数字,(比如查询出所有为男性用户信息),和1,0进行          对比,如果是1全部找出来,如果是0 全部排除
       -- 位图索引适用的场景:有大量的重复数据,并且数据选择性很少(性别,婚否,是否成年。。。)

  

2.视图:

  -- view(视图):虚拟的表(需要真实的表提供数据)
    -- 可视化图像
    -- 在oracle视图是虚拟不存在的,不会存储在硬盘上
    -- 视图的机制:通过真正的表映射出来的数据存储在视图中,映射的整个过程在内存中进行,所以查询视图比查询真实的表速度快
    -- 视图的好处:第一查询速度快,第二不占用任何硬盘空间,第三可以很好的对需要保密的数据进行处理

 

  -- 视图就是为了解决:
    -- 第一:信息安全问题
    -- 第二:查询效率问题
    -- 第三:方便查询

 

  -- 怎么建立一个视图?
  -- 找views文件夹,点击新建-->name:视图的名字,item list:列名,table list:以表为基础所建立视图的表名,where clause :限制条件 
  -- 视图的建立:
  -- 如果需要更换视图数据,但是不需要更换视图名称的时候 or replace
  -- 无论是定时器,PL/SQL,视图,存储过程 create or replace
  create view test_views as (select * from classes);
  create or replace view test_views as (select * from classes);
  -- where clause:限制条件
  create view test_views2 as (select * from teacher) with read only;
  select * from test_views;
  select * from teacher;

  -- !=,==,<=,>=,<,>:对应的英文:
  create or replace view lt_one_thround_five_hundrand as(select tor.total_price prices, tut.type_name, tur.username from t_order tor
  inner join t_user tur on tur.id = tor.user_id
  inner join t_user_type tut on tut.id = tur.user_type_id where tor.total_price > 1500);

  select * from lt_one_thround_five_hundrand;

3.序列:sequence

  概念:

  有序的队列(等差数列,等比数列..):第一有一定顺序,第二是形成一种队列
  所谓oracle的序列,最常用到的就是自增主键

  在pl/sql中,有一个文件夹,就叫做sequences,在这个文件夹下存的东西就叫序列

  

  怎么建立一个序列:
    名称:序列的名字(可以任意命名)
    开始于:此序列从哪里开始
    增量:每次增加的数
    最小值:自己定义的最小的数字,(以主键id为例)来限制id的范围
    同理最大值是和最小值一样的
    建立一个序列的时候,如果没有特殊的要求,只需要起一个名字即可,其他的值都有默认值
    在使用默认值的时候,开始于这一栏的值就会从0开始(当前值)

  

  在查询序列时,有两个属性:nextval,currval
  -- nextval: next value下一个值
  -- currval: current value 当前的值
  使用select 序列名.属性名 from dual;进行查询一个序列的值
  

  oracle规定,第一次查询序列的时候,一定要使用nextval,因为序列也是需要初始化
  在序列中,递增的数字,由增量来控制。

  序列:最主要用到的场景,就是oracle中主键的自增
  如果使用自增id这个场景的时候,序列只需要起一个名字即可,不需要修改任何属性值

  

4.Other:

  算法首先要学习数据结构
    算法分析:sin cos tan cotan 矩阵 拉格朗日 朴素贝叶斯 遗传算法 
    算法导论

  -- package:就是Java中的包
  -- 就相当于你把文件进行归类的文件夹
  -- Java中包下面放的可以是Class,Interface,package,xml...
  -- 在真实开发环境中:Cars.class-->entity(实体),操作数据库的class-->dao,业务逻辑层--->service,查询出的数据是需要传到页面进          行展示--->controller,工具类--->util,过滤器(filter)--->filter,interceptor(拦截器)--->interceptor
  -- model view controller--->MVC
  insert into teacher(id, name, age, description, hire_date) values(s_teacher_id.nextval,‘hehehe‘, 17, ‘测试数据‘, sysdate);

时间: 2024-09-30 17:52:01

java:Oracle(视图,索引,序列)的相关文章

ORACLE 创建视图索引序列

/* 视图View 视图是从若干基本表和(或)其他视图构造出来的表 视图存放的都是查询语句,并没有真实的数据 虚表 作用 限制对数据的操作 复杂查询变简单 提供相同数据的不同显示 UNION ALL 直接添加到一起 UNION 添加到一起并去重 */ --赋予scott用户创建视图的权限 sqlplus / as sysdba; GRANT CREATE VIEW TO SCOTT; --创建视图 CREATE OR REPLACE VIEW V_EMP AS SELECT * FROM EMP

oracle 序列 视图 索引 同义词

序列 Oracle 12C 之后,Oracle 之中提供的是一种手工的自动增长列控制,而这样的控制在 Oracle 之中使用序列(对象)完成. 序列的创建: CREATE SEQUENCE 序列名称 [INCREMENT BY 步长] [START WITH 开始值] [MAXVALUE 最大值 | NOMAXVALUE] [MINVALUE 最小值 | NOMINVALUE] [CYCLE | NOCYCLE] [CACHE 缓存大小 | NOCACHE] 在此数据字典之中主要包含如下列的数据

约束、视图、序列、伪列和索引

前言 约束条件用于保证数据的完整性.主要有主键约束(primary key)/非空约束(not null).唯一约束(unique) 检查约束(check)和外键约束(foreign key). 正文 约束 主键约束(primary key) 主键约束包含了非空和唯一 create table 表名(字段名 字段类型(长度) 约束条件): 1.创建自定义名称约束 create table 表名(字段名 字段类型(长度),constraint 约束名 约束类型(字段名)): 注:可以通过user_

数据库对象(视图,序列,索引,同义词)【weber出品必属精品】

视图视图的定义:视图就是一个查询的别名为什么使用视图限制数据的存取 SQL> conn /as sysdba 已连接. SQL> grant create view to scott; 授权成功. SQL> create view v1 as select empno,ename,job,mgr from emp; 视图已创建. SQL> select * from v1; EMPNO ENAME JOB MGR ----- ------ --------- ----- 7369

数据库中的视图、序列及索引

一.视图 语法:create view 视图名称 as 子查询 例:创建一视图,包含全部的20部门的雇员信息(雇员编号,姓名,工作,雇佣日期) create view emp20 as select empno,ename,job,hiredate from emp wheredeptno = 20; 删除视图:drop view 视图名称 替换视图:create or replact 视图名称 as 子查询 更换视图时不需要先执行删除操作,系统会为用户自动删除及重建 create or rep

JAVA-Unit05: 视图、序列、索引 、 约束

Unit05: 视图.序列.索引 . 约束 视图 数据库对象之一 视图在SQL语句中体现的角色与表相同, 但它并非一张真实存在的表,它对应的 是一个查询语句的结果集. 创建一个查看10号部门员工信息的视图: CREATE VIEW v_emp_dept10 AS SELECT ename,sal,job,deptno FROM emp WHERE deptno=10 DESC v_emp_dept10 SELECT * FROM v_emp_dept10 修改视图就是替换该视图对应的子查询. 使

Oracle数据库学习 视图、序列及存储过程

视图(View) 视图也被称作虚表,也就是虚拟的表,是一组数据的逻辑表示. 视图对应一个select语句,结果集被赋予一个名字,也就是视图的名字. 视图本身不包含任何数据,它只是包含映射到基表的一个查询语句,当基表数据发声变化,视图数据也随之变化. 视图创建后,可以像操作表一样操作视图,主要是查询. 根据视图所对应的子查询种类分为几种类型: select语句是基于单表建立,并且不包含任何函数运算.表达式或者分组函数,叫做简单视图,此时视图是基表的子集. select语句是基于单表建立,但是包含了

[转]Oracle DB 索引

索引是数据库对象,可以通过创建索引来提高一些查询的性能.在你创建主键或唯一约束条件时,服务器会同时自动创建索引. 索引 索引具有以下特点: ? 是一个方案对象 ? Oracle Server 可用来通过指针加快行检索速度 ? 可通过使用快速路径访问方法迅速找到数据来减少磁盘的输入/ 输出(I/O) ? 与建立索引的表无关 ? 由Oracle Server 自动使用和维护 Oracle Server  索引是一个方案对象,可以通过指针加快行检索速度.可以显式创建索引,也可以自动创建索引.如果没有在

SQL Server和Oracle数据库索引介绍

SQL Server和Oracle数据库索引介绍 1 SQL Server中的索引 索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度.索引包含由表或视图中的一列或多列生成的键.这些键存储在一个结构(B 树)中,使 SQL Server 可以快速有效地查找与键值关联的行. 表或视图可以包含以下类型的索引: 聚集索引 聚集索引根据数据行的键值在表或视图中排序和存储这些数据行.索引定义中包含聚集索引列.每个表只能有一个聚集索引,因为数据行本身只能按一个顺序排序. 只有当表包含聚集索引

84. 从视图索引说Notes数据库(下)

作用和代价上文介绍了关系型数据库里的索引.Notes数据库里的索引隐藏在视图概念里(本文的讨论只针对Notes的视图索引,不包含全文索引.).开发人员创建的视图仅仅是存放在数据库里的一条设计文档,数据库引擎会依据它创建和更新索引.关系型数据库里的索引是从记录中抽取的数据排序而组成的数据结构(主要是B树),Notes视图的索引还包括未排序的列.计算值.分类.总计等等数据(数据结构仍然是B树,如果运气足够好的话,你会遇到Notes报出B-tree structure is invalid的错误).用