后几集录制视频,记录在记录开始的时候不知道怎么,录了几集没有什么,够又一次录,过程中也也把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. ASP.Net WebAPI HttpDelete/PUT方法运行或发布到生产服务器上后出现405(Method Not Allowed)错误的解决办法

    原文:ASP.Net WebAPI HttpDelete/PUT方法运行或发布到生产服务器上后出现405(Method Not Allowed)错误的解决办法 本文只是个人的理解和学习记录,如果觉得本 ...

  2. javascript合并数组并且删除第二项

    var m1 = [5, 6, 2];    var m2 = [4, 2, 6];    var m3 = new Array();    m1 = m1.concat(m2);     for ( ...

  3. base64码通过http传输 +号变 空格 问题解决

    通过七牛云base64上传图片,通过官方示例上传成功后,根据示例改了一个controller. 通过前端往后端传base64码形式进行测试.死活不通过,七牛报400. 仔细排查后发现,示例转换的bas ...

  4. html5-2 html实体和颜色有哪些

    html5-2 html实体和颜色有哪些 一.总结 一句话总结:网站配色用安全色. 1.颜色用什么类型的颜色(安全色)? 直接百度搜 安全色 即可 2.html实体常用哪6个,头尾符号是什么? 头是取 ...

  5. Net Core 实现谷歌翻译ApI 免费版

    原文:Net Core 实现谷歌翻译ApI 免费版 由于谷歌翻译官方API是付费版本,本着免费和开源的精神.分享一下用 Net Core 实现谷歌翻译API的代码. 项目引用的Nuget 包: Cha ...

  6. 安装 Visual Studio,连接中国区 Azure

    中国数据中心 目前,中国区 Azure 有两个数据中心,在位置字段中显示为“中国北部”和“中国东部”. 在 Azure 上创建应用程序的区别 在中国区 Azure 上开发应用程序与在境外 Azure ...

  7. QWidget标题栏双击事件(QWidget::event里拦截NonClientAreaMouseButtonDblClick)

    widget.h 1 virtual bool event(QEvent *event); widget.cpp bool Widget::event(QEvent *event) { if (eve ...

  8. BZOJ 2021 Usaco2010 Jan Cheese Towers 动态规划

    题目大意:全然背包.假设最顶端的物品重量≥k,那么以下的全部物品的重量变为原来的45 考虑一些物品装进背包,显然我要把全部重量大于≥k的物品中重量最小的那个放在最顶端.才干保证总重量最小 那么我们给物 ...

  9. 在深入分析:Fragment与Activity一些互动的方式(一,使用Handler)

    在这里,我不再具体介绍了编写更传统的方式,比如静态变量,静态方法.持久性,application全局变量.发送和接收广播等等.. 首先让我们介绍使用Handler实现Fragment与Activity ...

  10. oracle常规任务

    # su - oracle  oracle> sqlplus "/as sysdba"  SQL> exec dbms_scheduler.disable('MONDA ...