8.26 课堂自由笔记 还有考皮的老师笔录

1数据库表文件

表空间

解析:一个数据库下可以开N个表空间,一个表空间可以包含N个数据文件.表空间是逻辑概念。

1.2.全局数据库名

全局数据库名是为了保证你的数据库系统中每个数据库名称都是唯一的,由数据库域名加上数据库名构成;

全局数据库名=数据库名+数据库域名,如福建节点的全局数据库名是:oradb.fj.jtyz

1.3.模式和用户可以看成对等的关系。从A模式下切换到B模式。

2. 关于listener.ora位置

修改该界面上的数据,会影响指定路径的监听配置文件

H:\app\happy\product\11.2.0\dbhome_1\NETWORK\ADMIN

3.端口号

sql server 1433

mysql      3306

oracle     1521

4.数据库和实例的关系

数据库是:物理系统中文件的集合.

实例:  当数据挂载成功在,内存中的内容.

5.千万不要在Oracle中创建自己的数据库

1.在磁盘上占用至少一个G的空间

2.会在服务中挂载多个服务器

结论:只能在Oracle中创建表  不能创建数据库

5.角色和权限

权限管理

系统:公安厅长登录

小警察   登录

用户(1)                 角色(n)                     权限

1个角色可以有n个角色,一个角色可以隶属n个用户

1个角色可以有n个权限

Oracle包括两大类权限(Privileges),一种是系统权限,另外一种是对象权限。

CONNECT角色: --是授予最终用户的典型权利,最基本的 
 CREATE SESSION --建立会话 
RESOURCE角色: --是授予开发人员的 
CREATE CLUSTER --建立聚簇 
CREATE PROCEDURE --建立过程 
CREATE SEQUENCE --建立序列 
CREATE TABLE --建表 
CREATE TRIGGER --建立触发器 
CREATE TYPE --建立类型
CREATE OPERATOR --创建操作者
CREATE INDEXTYPE --创建索引类型

DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。

RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。

CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。

对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。

6.分页代码

select * from

(

Select emp.*,rownum as rn

from

select * from emp

)emp

where  rownum<=9

)

where rn>=7

注解(自我记忆法):rownum是不现实>=的所以在双重括号中 应用rownum显示<=的特性 筛选出<=条件

用as得到rn     rn可以显示>=   的到范围

需要在2括号中应用emp   否则报错

7.Oracle数据库忘记密码解决方案:

01.

02.alter user system identified by 新密码;

解锁用户

alter user scott account unlock;

切换用户

SQL>conn scott/新密码

8. 启动、关闭数据库

OracleService<SID>:数据库服务

OracleOraDb11g_home1TNSListener :数据库监听服务

OracleDBConsole<SID>:企业管理器服务

在Oracle11G中通过如下网址访问企业管理服务

https://localhost.localdomain:1158/em/console/logon/logon

09.配置网络服务

查找listener.ora文件和tnsnames.ora路径

解析:C:\app\Happy\product\11.2.0\dbhome_1\NETWORK\ADMIN

这两个文本配置文件直接受到如下图的管理

PLSQL Developer:

1.在没有安装Oracle服务的Pc上使用,必须使用OCI(注册机组件!)

2.copy tnsnames配置到对应的目录。

配置完成后要保存网络配置。

可以通过Net Manager工具配置

10.常用数据类型

Oracle CHAR,VARCHAR,VARCHAR2类型的区别与使用

区别:
  1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR
(20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2
(20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。 
  2.CHAR的效率比VARCHAR2的效率稍高。 
  3.目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是oracle不这样做,尽管它保留以
后这样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储
空字符串的特性改为存储NULL值。如果你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。 
  何时该用CHAR,何时该用varchar2?

  CHAR与VARCHAR2是一对矛盾的统一体,两者是互补的关系. 
  VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的‘以空间换效率’。 
  VARCHAR2虽然比CHAR节省空间,但是如果一个VARCHAR2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’
(Row
Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用CHAR代替VARCHAR2会更好一些。

11.Oracle中伪列

伪列:Oracle 中伪列就像一个表列(表中的列),但是它并没有存储在表中,伪列可以从表中查询,但不能插入、更新和删除它们的值

常用的伪列有ROWID和ROWNUM

01.ROWID

ROWID的使用——快速删除重复的记录

解析:ROWID是数据的详细地址,通过rowid,oracle可以快速的定位某行具体的数据的位置。

ROWID可以分为物理rowid和逻辑rowid两种。普通的表中的rowid是物理rowid,索引组织表(IOT)的rowid是逻辑rowid。

当表中有大量重复数据时,可以使用ROWID快速删除重复的记录。

如何查询stuInfo表中自然排序的第3条记录?

解析:rownum只能对=1和<n进行判定,不能对>m进行判定,只能对<m进行判定,所以这时需要通过子查询解决问题。

select * from

(

select nauthor,rownum rn from news

)temp

where rn=3

ROWNUM

ROWNUM 是查询返回的结果集中行的序号,可以使用它来限制查询返回的行数

通过测试可知,Rownum只能对=1和<N进行筛选,如果>M不能筛选,如何规避。

通过子查询构建临时表,让伪列Rownun称为临时表中的列,然后限定条件使用伪列的

别名。

03.获取前N条数据的案例

问题:获取教师表中薪水排名第5的教师信息?

解析:

SELECT *

FROM (SELECT  *

FROM teacher

ORDER BY sal DESC)

WHERE rownum<6;

04.获取教师表中薪水排名第5的教师信息?

按照sal降序排列

05.获取薪水从高到低排序的第5-9条记录?

Oracle分页

获取news表中第二页的数据(4-6条)

代码:select * from

(

select temp.*,rownum rn from

(

select emp.* from emp

order by sal desc

) temp

where rownum<=9

)

where rn>=5

Between and写法

SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
)
WHERE RN BETWEEN 21 AND 40

结论:第一种分页效率高。原因:会将第二层查询的where直接推入最内层查询,而不能讲最外层的第三层查询推入最内容,这一切都要归结于Oracle优化机制CBO。

时间: 2024-08-30 06:42:26

8.26 课堂自由笔记 还有考皮的老师笔录的相关文章

3.26课堂笔记——linux基础

一.基础认识 什么是开源? 开源就是软件和源代码都是公开的. 可以修改(完善作者的代码)和创建自己的软件. 2.免费软件不同于自由软件,虽然它是免费的,但他不公布源代码,共享软件与免费软件有点类似,其初起是不收费的,但过了试用期后收费. 3.linux起源: GUN项目计划    GNU Project发起于1984年,由著名的黑客Richard Stallman提出的,GNU获得了自由软件基金会(FSF for Free Software Foundation)的支持,这也是GNU的主要资金来

中软2017/7/26课堂笔记

程序是顺序执行的,如果有一句指令出现问题,程序退出 (异常). 垃圾回收: GC(垃圾收集器)Scavenge GC 和Full GC JAVA工作岗位:大体分为两大类:C/S 桌面应用,B/S网站设置, 桌面运维(Linux指令.数据库(mysql,sqlserver,oracle)) 测试 JDK:开发环境 通常情况下在公司里面使用的是Eclipse (集成开发环境),必须要配置JDK,开源的软件,免费 MyEclipse :集成开发环境,此环境中已经集成了JDK , 所以不必配置JDK 开

[原创] linux课堂-学习笔记-目录及概况

本学习笔记基于:网易云课堂-linux课堂 课时1Centos 6.4安装讲解46:14 课时2Centos 6.4桌面环境介绍与网络连接04:30 课时3 Linux目录结构介绍及内核与shell分析37:19 课时4 Linux获得帮助_网络配置_合理关机64:23 课时5 Linux文件权限详解45:47 课时6Linux文件权限详解45:47 课时7目录显示个性操作与全局环境变量的使用与注意···43:25 课时8复制与远程复制_文件查找实例_文件内容查看的··57:49 课时9Linu

26.集群笔记目录

集群技术(红色为已完成): 01.zookeeper集群 02.redis集群 03.solr集群 04.fastDFS集群 05.Nginx+tomcat集群之负载均衡 06.memcached集群 07.mongodb集群(副本集) 08.mysql集群(master-master) 09.kafka集群 10.Storm集群 11.Spark集群 12.LVS集群 13.HDFS集群 14.TFS(淘宝文件系统) 15.Redis2.8主从集群sentinel 16.Hadoop集群 17

[原创] linux课堂-学习笔记-课程3.Linux目录结构介绍及内核与shell分析

一.目录说明 1.1 bin 一般用户,可执行的系统内置命令 1.2 sbin 系统管理员,可执行的系统内置命令 1.3 boot 启动文件目录,启动有关的文件都保存在此 1.4 dev 设备管理文件,如移动硬盘.U盘.光驱等 1.5 home 用户主目录,一般情况下:一个用户都会有相对应的文件夹,以用户名称命名 1.6 lib 动态链接库共享库,类型windows的.dll文件库 其设计目的在于共享.重用部分组件,提高程序开发效率等 若依赖于太多库,也会有弊端,如安装时提示各种组件缺失等(像w

今日课堂学习笔记03

今日学习了很多内容.有iframe框架和表单. 现在进入主题: iframe 内嵌框架 iframe一般用来包含别的页面,例如我们可以在我们自己的网站页面加载别人网站的内容. 标签属性常用的有 width.height.scrolling.frameboder scrolling的值是yes/no/auto与css里的overflow不一样,容易混淆. 滚动条的出现是嵌入网页大小与框架的大小对比为准的,就是当网页大于框架大小时在允许的情况下,它就会出现滚动条. frameboder是设置窗口的边

今日课堂学习笔记02

乱码情况: 文本文档因为是在window系统下的,而中国的window系统的编码是gbk的,所以设置页面为utf-8会乱码,所以在编辑器下也会出现 问题. 查询地址可以去W3School或菜鸟教程. 实体字符 查手册,以下的是一些常用的实体字符 空格   这个兼容性比较好  有些浏览器不能使用 注册商标 ® 版权 © 大于 > 小于 < 双引号 " & & 无序列表 ul li ul下放li标签,而无序列表会在每个li前面有个实心圆(默认),可以修改为空心圆,方形,使

面向对象 课堂基础笔记

面向对象:object 最先翻译为物质 简称oop 构造函数是对象被创建时自动调用的方法,用来完成类初始化的工作 构造函数可以接受参数,能够在创建对象时赋值给对象属性构造函数可以调用类方法或其他函数构造函数可以调用其他类的构造函数 构造方法在面向对象中,函数被称为方法1 特殊的名称:__construct 2 在实例化对象时,自动被调用3 在内存中划分了对应的内存空间区域 4 构造方法可以像普通方法一样,接收参数:这里的参数通常是用来初始化类中的属性5 构造方法不能重复定义,每个类当中有且只能有

2016年8月8日课堂知识笔记

一:认识CSS1:什么是css? css (Cascading Style Sheets) 层叠样式表 CSS3是CSS2的升级版本,3只是版本号,它在CSS2.1的基础上增加了很多强大的新功能. 目前主流浏览器chrome.safari.firefox.opera.甚至360都已经支持了CSS3大部分功能了, IE10以后也开始全面支持CSS3了. 不同的浏览器可能需要不同的前缀.它表示该CSS属性或规则尚未成为W3C标准的一部分,是浏览器的私有属性,虽然目前较新版本的浏览器都是不需要前缀的,