后几集录制视频,记录在记录开始的时候不知道怎么,录了几集没有什么,够又一次录,过程中也也把Oracle数据库这部分看了一遍,收获也挺多的,学习是反复积累的过程,对于一些零散的知识点又回想了一下,又一次复习一遍当中有些已经学过,有些不过有一点点印象,记得有一句话叫做“一本书只要当中有一句话对你非常有帮助,那么它是有价值的”,看完这个视频也学习和加深了一些知识的离家。并总结例如以下。大家能够作为參考。

数据库理解

计算机就如同我们的身体各个部分,数据库=大脑,五官=编程语言,血液=数据总线,操作系统=人体。

在大脑里面存储着各种信息,通过我们的眼、耳等五官输入到我们的大脑里面。因此五官就像我们平时使用的各种编程语言,而操作系统就好比我们的身体支撑着我们个个部分的结构完整,保证它们可以正确执行。计算机和我们的身体是一样的。大同小异。毕竟是人发明了电脑。

Oracle用户

超级管理员sys/chage_on_install

普通管理员system/manage

普通用户scott/triger

Oracle中的函数

单行函数

字符函数

substr(),截取字符串

数字函数

round()随机函数

mod()取摸函数

日期函数

Sysdate()取得当前日期

对于日期。加减一个数,等于若干天之后或之前的一个日期

转换函数

to_char(),To_char('12345678'.'999,999')

to_date(),比如To_date(SYSDATE,'yyyy-mm-dd')

通用函数

NVL(),将一个null的字段值变为0,比如select NVL(name,0) from table1 ,假设name为null时,将输出0而不是null

decode(),推断一个字段等于多少。然后。输出多少,比如上面name=1.输出张三;name=2输入李四

多表查询

一般超过两个表一起查询就会差生笛卡尔积的现象。查询出来的结果为两个表的记录数乘机,我们须要利用等值条件消除笛卡尔积。仅仅是查询出来的结果进行了消除,可是从本质上看并没有消除,还是有笛卡尔积的现象。因此,并不建议使用多表查询,多表查询影响查询效率,尤其是在多表大数据查询时更不建议使用联合查询,

在真正的大数据系统中 通常在查询数据之前。须要先看一下里面有多少数据,仅仅查询出自己想要的数据就可以。

分组查询

对于复杂的SQL语句须要自己多练习才干够灵活掌握。并想它们之间的关系和每一个SQL语句的作用,随着使用的加深会对每一个SQL语法理解更深刻,假设再出现类似的查询会出现的思路变多。

查询时PS:

1. 通常子查询写在from或wherekeyword之后;作用是形成新的表和结果集,能够从新的结果集中查询或得到条件。

2.where条件在group by之前运行,即先进行条件过滤,把过滤后的结果依照某一个字段进行分组。

3.假设分组之后还须要对结果进行过滤,那么就得使用HAVING字段设置过滤条件了。

4.排序关键系ORDER BY在SQL语句的最后运行。

仅仅要记住这几个原则。再加上多多练习复杂一些的查询,SQL语句应该是没有什么问题的,再难的查询也只是是这些单词的拼接和组合。

序列的使用

曾经也听说过序列。可是自己没用过。

由于总认为非常麻烦,所以没有使用过。这次项目中用到了,并且视频也讲到了,才发现,非常easy非常有用。

语法:



CREATE SEQUENCE myseq



     INCREMENT BY 1   -- 每次加几个



     START WITH 1     -- 从1開始计数



     NOMAXVALUE       -- 不设置最大值



     NOCYCLE          -- 一直累加。不循环



     CACHE 10;



使用的时候,比如插入。仅仅用在相应的列赋值myseq.NEXTVAL就可以。

比如



INSERT INTO emp VALUES (myseq.nextval, 'LEWIS');

事务处理

对于操作数据库的每一次连接。它是同数据库建立了一个session,即一个会话这个会话尽管不是web层的会话但同那个会话也非常类似,在一个session中对数据库进行各种操作即是在同一个事务中。这样的事物是本地事务。假设是更新操作上一个事物没有更新完毕,下一个事物不能进行提交和操作。由于在更新的时候数据库会自己主动枷锁,知道更新操作完毕才会释放锁。

数据伪列

指的不是我们设计数据库的人自己加入的列,而是隐含的列我们能够使用,Oracle中常见的两个伪列为ROWNUM、ROWID,经经常使用到的是ROWNUM这个列,ROWID为记录的物理地址。我们能够利用这一点实现分页效果,看以下代码

Select * from(select ROMNUM rm,id whereROMNUM<=10) temwhere
tem>5

ROWNUM;每次查询都变不固定

ROWID:数据记录的物理地址

闪回技术

从Oracle10g之后的数据库都提供了闪回技术,相当于一个回收站的功能,删除的数据或者表什么的能够从回收站里面找回来,这个功能在有时候挺有用的,值得我们去了解了解。

简单命令:

查看回收站里面内容show recyclebin

找回删除的表:Flashback table tablename to before drop

清空回收站:Purge recyclebin

约束

非空

一个字段不能为空,not null

唯一性

该约束是对某个详细字段而言,将某个字段设为唯一则该字段不会出现反复记录,但要记住null是能够的,仅仅要不反复即可。

主键

主键=非空+唯一性

外键

假设一个表的主键再还有一个表中当做外键,那么这个键就是外键约束,外键和主键约束是同一时候存在的。

检查

即对一个字段做一些限制,比如性别:在数据库中限制仅仅能输入男或女。

联合查询

连接两个表的查询结果

Union:联合查询,同样的部分不显示



Union all:同样的部分显示



Intsersect:仅仅显示同样的部分



Minus:仅仅显示不同部分

视图

第一类 on with check option

这样的视图是待查询条件的视图,能够更新,可是不能更新查询条件

第二类 with read only

该视图为仅仅读的。不能够对该视图中的不论什么一个字段

索引

索引的主要功能就是用于提升数据库的操作性能。

       

         Select * from table1 where id>10000

            i. 上面的语句是逐行进行推断。没有加索引

            ii. 加索引之后会对加索引的那列,二叉树排列,例如以下

                1)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlsb25nc2hlbmcxMTI1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

                2) 再运行上面语句,仅仅查询部分记录

                3) 假设某列是主键约束,则自己主动建立索引

                4) 手工创建,在某一个列上建立

            iii. 这样的索引有一个问题。即:假设想要性谁能提高,则必须维持以上的这棵树,假设数据须要频繁改动的话。则代码性能会下降。

            iv. 所以,一般索引仅仅使用在不会频繁改动的表中。而假设一张表上频繁改动数据切又使用索引,性能会减少。所以。性能提升永远是相对的。

v. 这样的所以是Oracle十几种索引中的一种。也是最简单一种称为:B树索引。

还有位图索引、函数索引等



数据库备份

在上线的项目中,数据库备份是非常重要的一个工作。

导入导出

冷备份

先把数据库停止执行了。再进行备份,类似于热插拔。

数据库监听

1.监听client连接

监听为数据库实例服务,当用户第一次登陆实例时先通过监听。再连接,第二次连接就不通过监听了

        b. Oracle開始没有在window上,后来移植到了window所以,提供监听了

        c. 当安装到window上之后,适应了些window操作习惯,能够傻瓜登陆,window模式

        e. 监听须要推断是普通用户登录还是sysdba登录,假设是普通用户就去数据库验证;假设是dba就是password文件或操作系统验证

        f. 操作系统验证

            i. 对于DBA。首先是操作系统验证,所以。不写password或则随便写都能够登录。由于他是操作系统用户

                1) 假设把操作系统认证 取消,则进行password文件验证。再不写password就不行了

2.管理实例

多个数据库实例能够同一时候注冊到一个监听器上。它们把自己的实例名等參数信息在监听器注冊。当client连接监听器时就能够通过这些參数来找到数据库实例,在client与实例之间实现了一个桥梁的作用。

3.负载均衡

一个小小的监听器具有均衡client连接的作用。假设有一个实例的连接数量很的多,那么监听器会自该倡议已转移到连接的另一部分超过上面的例子。

版权声明:本文博客原创文章。博客,未经同意,不得转载。

Oracle召回的更多相关文章

  1. oracle数据库入门

    oracle  数据库入门. 1.数据 2.数据存储的地方:变量 数组 容器 (内存中),文件,数据库(文件) 3.数据库系统:sqlserver 2000   2005  2008  mysql 5 ...

  2. 转 Oracle全文检索http://docs.oracle.com/cd/E11882_01/text.112/e24436/toc.htm

    SQL > exec ctx_ddl.create_preference ('my_test_lexer','chinese_lexer') : PL/SQL 过程成功完成 SQL > E ...

  3. Oracle分析函数入门

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...

  4. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  5. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

  6. Oracle 的基本操作符

    != 不等于 select empno,ename,job from scott.emp where job!='manager' ^= 不等于 select empno,ename,job from ...

  7. 使用Zabbix监控Oracle数据库

    Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...

  8. 基于Oracle安装Zabbix

    软件版本 Oracle Enterprise Linux 7.1 64bit Oracle Enterprise Edition 12.1.0.2 64bit Zabbix 3.2.1 准备工作 上传 ...

  9. Oracle Database 12c Data Redaction介绍

    什么是Data Redaction Data Redaction是Oracle Database 12c的高级安全选项之中的一个新功能,Oracle中国在介绍这个功能的时候,翻译为“数据编纂”,在EM ...

随机推荐

  1. 安装使用jupyter(原来的notebook)

    1.安装pyzmq 使用pip install pyzmq,安装不成功. 使用easy_install.exe pyzmq.成功安装. 2.安装tornado pip tornado 安装完尚不成功. ...

  2. stl变易算法(一)

    C++ STL的变易算法是一组可以改动容器元素数据的模板函数,可进行序列容器的复制.交换.替换.填充.移除.旋转等.这些算法对迭代器有较高的要求.详细的迭代器类型随各个算法而定,或向前迭代器.或双向迭 ...

  3. [HTML] Creating visual skip links in HTML and CSS

    Skip links are an extremely helpful navigation pattern for keyboard and screen reader users, since t ...

  4. ios开发网络学习十:利用文件句柄实现大文件下载

    #import "ViewController.h" @interface ViewController ()<NSURLSessionDataDelegate> @p ...

  5. mysql 序列号生成器 (自定义函数)

    https://yq.aliyun.com/articles/42600 http://bbs.csdn.net/topics/360203885 http://www.tuicool.com/art ...

  6. [RxJS] Flatten a higher order observable with concatAll in RxJS

    Besides switch and mergeAll, RxJS also provides concatAll as a flattening operator. In this lesson w ...

  7. css样式继承规则详解

    css样式继承规则详解 一.总结 一句话总结:继承而发生样式冲突时,最近祖先获胜(最近原则). 1.继承中哪些样式不会被继承? 多数边框类属性,比如象Padding(补白),Margin(边界),背景 ...

  8. [Angular] Working with FormArray

    'FormArray' can work with array of 'FormGroup' or 'FormControl'. form = new FormGroup({ stock: new F ...

  9. prettytensor 的使用

    prettytensor 顾名思义,对原始的 tensorflow 下的 tensor 进行封装(prettytensor 以 tensorflow 为基础,二者搭配使用),使其成为一个更为接口友好的 ...

  10. Python应用库大全总结

    学python,想必大家都是从爬虫开始的吧.毕竟网上类似的资源很丰富,开源项目也非常多. python学习网络爬虫主要分3个大的版块:抓取,分析,存储 当我们在浏览器中输入一个url后回车,后台会发生 ...