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); (创建一个名字为 test_views的视图)
-- where clause:限制条件
create view test_views2 as (select * from teacher) with read only;
select * from test_views;
select * from teacher;
!=,==,<=,>=,<,>:对应的英文: (没什么用gt大于 lt小于)
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开始(当前值)
JDBC插入序列:
首先在sequences建一个序列
insert into 表名(id,name) values(序列名.nextval,'hello')
在查询序列时,有两个属性: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);
java:Oracle(视图,索引,序列)的更多相关文章
- ORACLE 创建视图索引序列
/* 视图View 视图是从若干基本表和(或)其他视图构造出来的表 视图存放的都是查询语句,并没有真实的数据 虚表 作用 限制对数据的操作 复杂查询变简单 提供相同数据的不同显示 UNION ALL ...
- oracle视图索引
reate table fleet_header( day date,name varchar2(20), route_id number(5),fleet_id number(5)); crea ...
- Oracle视图,序列及同义词、集合操作
一.视图(重点) 视同的功能:一个视图其实就是封装了一个复杂的查询语句.1.创建视图的语法:CREATE VIEW 视图名称 AS 子查询 范例:创建一个包含了20部门的视图CREATE VIEW e ...
- oracle 序列 视图 索引 同义词
序列 Oracle 12C 之后,Oracle 之中提供的是一种手工的自动增长列控制,而这样的控制在 Oracle 之中使用序列(对象)完成. 序列的创建: CREATE SEQUENCE 序列名称 ...
- Oracle打怪升级之路二【视图、序列、游标、索引、存储过程、触发器】
前言 在之前 <Oracle打怪升级之路一>中我们主要介绍了Oracle的基础和Oracle常用查询及函数,这篇文章作为补充,主要介绍Oracle的对象,视图.序列.同义词.索引等,以及P ...
- Oracle对象(视图、序列、索引)
数据库对象:表.视图.序列.索引.同义词创建视图:create view 名 as 子查询描述结构:describe 对象名修改视图:create or replace view 名 as 子查询 视 ...
- 数据库对象(视图,序列,索引,同义词)【weber出品必属精品】
视图视图的定义:视图就是一个查询的别名为什么使用视图限制数据的存取 SQL> conn /as sysdba 已连接. SQL> grant create view to scott; 授 ...
- oracle 触发器,序列,索引
oracle 触发器,序列,索引 --1,触发器 ----trigger /*触发器是一种特殊的存储过程,它与数据表紧密联系,用于保护表中的数据, 当一个定义了特定类型触发器的基表执行插入.修改或删除 ...
- Oracle数据库学习 视图、序列及存储过程
视图(View) 视图也被称作虚表,也就是虚拟的表,是一组数据的逻辑表示. 视图对应一个select语句,结果集被赋予一个名字,也就是视图的名字. 视图本身不包含任何数据,它只是包含映射到基表的一个查 ...
- JAVA-Unit05: 视图、序列、索引 、 约束
Unit05: 视图.序列.索引 . 约束 视图 数据库对象之一 视图在SQL语句中体现的角色与表相同, 但它并非一张真实存在的表,它对应的 是一个查询语句的结果集. 创建一个查看10号部门员工信息的 ...
随机推荐
- 我说CMMI之一:CMMI是什么--转载
我说CMMI之一:CMMI是什么 有些朋友没有接触过CMMI,正在学习CMMI,CMMI本身的描述比较抽象,所以,读起来有些费劲.有些朋友实施过CMMI,但是可能存在对CMMI的一些误解,因此我想说说 ...
- params修饰符的用法
params修饰符是用来声明参数数组允许向方法传递数量不定的自变量用的.事实上System.Console 类的 Write 和 WriteLine 方法是参数数组用法的典型示例.他们的声明方式如下: ...
- 自定义 Swiper 的上一页,下一页按钮
1. Swiper 的上一页,下一页按钮,不是必需包含在container 中的 2. 定义上一页,下一页按钮的样式,CSS略.... 3. 在初始化Swiper中,定义上一页,下一页按钮
- Java多线程和并发(五),线程的状态
目录 1.线程的六个状态 2.sleep和wait的区别 3.锁池(EntryList)和等待池(WaitSet) 4.notify和notifyall的区别 五.线程的状态 1.线程的六个状态 2. ...
- 字符串之format整理
format 用法 本文根据官方文档及自己理解整理,只整理出自己可以理解的部分,h因个人水平有限,难免有所错误和纰漏,欢迎批评指正. 格式{ [field_name] ["!" c ...
- 3105: [cqoi2013]新Nim游戏
貌似一道经典题 在第一个回合中,第一个游戏者可以直接拿走若干个整堆的火柴.可以一堆都不拿,但不可以全部拿走.第二回合也一样,第二个游戏者也有这样一次机会.从第三个回合(又轮到第一个游戏者)开始,规则和 ...
- Tomcat 激活spring profile
springboot打包war部署到外部tomcat的时候指定profile启动 windows 在%tomcat%/bin下创建setenv.bat文件 linux 在%tomcat%/bin下创建 ...
- AcWing:108. 奇数码问题(归并排序 + 逆序数)
你一定玩过八数码游戏,它实际上是在一个3×3的网格中进行的,1个空格和1~8这8个数字恰好不重不漏地分布在这3×3的网格中. 例如: 5 2 8 1 3 _ 4 6 7 在游戏过程中,可以把空格与其上 ...
- JS框架_(JQuery.js)模拟刮奖
百度云盘:传送门 密码:6p5q 纯CSS模拟刮奖效果 <!DOCTYPE html> <html lang="en"> <head> < ...
- SpringMVC参数传递 HttpServletRequest,HttpServletResponse和HttpSession
SpringMVC参数传递 HttpServletRequest,HttpServletResponse和HttpSession 2017-11-27 16:44:51 douunderstand 阅 ...