韩顺平.docx

上传人:b****5 文档编号:12270455 上传时间:2023-04-17 格式:DOCX 页数:48 大小:22.24KB
下载 相关 举报
韩顺平.docx_第1页
第1页 / 共48页
韩顺平.docx_第2页
第2页 / 共48页
韩顺平.docx_第3页
第3页 / 共48页
韩顺平.docx_第4页
第4页 / 共48页
韩顺平.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

韩顺平.docx

《韩顺平.docx》由会员分享,可在线阅读,更多相关《韩顺平.docx(48页珍藏版)》请在冰豆网上搜索。

韩顺平.docx

韩顺平

 

韩顺平

oracle

学习笔记

0

讲:

如何学习

oracle

一、如何学习

oracle

Oracle

目前最流行的数据库之一,功能强大,性能卓越。

学习

oracle

需要具备

一定基础:

1.

学习过一门编程语言(如:

java

c

2.

最好学习过一门别的数据库(

sqlserver

mysql

access

教程推荐:

oracle

使用教程,

深入浅出

oracle

记住:

欲速则不达,做任何事情要遵循他的规律,循序渐进,信心很重要

成为一个

oracle

高手过程:

理解小知识点

->

做小练习

->

把小的只是点连成线

->

oracle

项目

->

形成只是面

->

深刻理解

Oracle

基础部分:

oracle

基础使用;

oracle

用户管理;

oracle

表管理

Oracle

高级部分:

oracle

表的查询;

oracle

的函数;

oracle

数据库管理;

oracle

的权角色;

pl/sql

编程;

索引,约束和事物。

期望目标:

1

学会安装、启动、卸载

oracle

2

使用

sql*plus

工具

3

掌握

oracle

用户管理

4

学会在

oracle

中编写简单的

select

语句

 

2

1

讲:

基础语法

内容介绍:

1.

为什么学习

oracle

2.

介绍

oracle

及其公司的背景

3.

学会安装、启动、卸载

oracle

4.oracle

开发工具

5.Sql*plus

的常用命令

6.oracle

用户管理

一、主流数据库包括

●微软:

sqlserver

access

●瑞典:

mysqlAB

公司

IBM

公司:

DB2

●美国

sybase

公司:

sybase

IBM

公司:

infromix

●美国

oracle

公司:

oracle(

目前最流行的之一

 

数据库分类:

小型数据库

中型数据库

大型数据库

access

mysql

sqlserver

informix

Sybase

Oracle

DB2

负载量在

100

人内,

比如

板,信息系信息留言统。

比如在负载日访问量

5000-15000

负载可以处理海量数据

sybase

成本低

安全性要求不高

成本在万元内

比如商务网站

大型数据库的安全性能

高,价格也很昂贵!

元以上

二、

oracle

安装,启动及卸载

1.

系统要求:

操作系统最好为

windows2000

内存最好在

256M

以上

硬盘空间需要

2G

以上

2.oracle

安装会自动的生成

sys

system

两个用户

 

3

说明:

1

Sys

用户

超级用户,具有最高权限,具有

sysdba

角色,

createdatabase

的权限,默认密码是

manager

2

System

用户

管理操作员,权限也很大,具有

sysoper

角色,没有

create

database

权限,默认密码是

change_on_install

3

一般讲,对数据库维护,使用

system

用户登录就可以了

3.

启动

oracle

右键单击我的电脑

->

服务和应用程序:

服务

->

启动

OracleServiceMYORA1(MYORA1

是安装

oracle

时起的名字各有不同

OracleOracleHome90TNSLlistener

4.

卸载

oracle

1

、先关掉

oralce

netstopOracleServiceORCL(ORCL

是我的实例名字,换成

你的

,或者去我的电脑服务中关闭

2

、开始->程序->

Oracle-oracle

的版本号,我的是

10ghome

->

Oracle

InstallationProducts

->

UniversalInstaller

卸载

oracle

3

、进注册表,

regedit

,删除选择

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE

下所有的

key

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\App

lication

这个里面所有有

oracle

这个字眼的,删除

4

、删除

c

\ProgramFiles\Oracle

目录的东西以及

oracle

安装目录下所有的文

件以及文件夹

5

、环境变量中删除有关

oracle

classpath

path

三、

oracle

开发工具

Sqlplus

Oracle

自带的工具软件,主要用于执行

sql

语句,

pl/sql

块。

如何使用:

1)

在开始

à

程序

à

oracleorachome90

à

applicationdevelopment

à

sql*plus(

这个是在

dos

下操作

2)

在运行栏中输入:

sqlplusw

或者

sqlplus

即可

3)

在开始

à

程序

à

oracleorahome90

à

Applicationdevelopment

à

sql*plusworksheet

4)pl/sqldeveloper

属于第三方软件,

主要用于开发,

测试,

优化

oraclepl/sql

存储过程

.

如:

触发器,此软件

oracle

不带,需要单独安装。

5)oracle

的企业管理器

(oemoracleenterprisemanager)

à

à

oracle

à

oracle

oraclehome90

à

enterprise

manager

console

即可启动

oracle

的企业管理器,是一个图形界面环境

 

4

四、

Sql*plus

的常用命令

1.

连接命令

1)

conn

[ect]

用法:

conn

用户名

/

密码

@

网络服务名

[assysdba/sysoper](

角色登陆

用特权用户身份连接时,必须带上

assysdba

或是

assysoper

例:

connscott/tiger;

showuser

;

显示当前用户

2.

断开连接命令

(2)

disc

[onnect]

说明:

该命令用来断开与当前数据库的连接

(3)passw[ord]

说明:

该命令用于修改用户名的密码。

如果要想修改其他用户的

密码,需要用

sys/system

登陆。

(4)showuser

说明:

显示当前用户名

(5)

exit

说明:

该命令会断开与数据库的连接,同时会退出

sql*plus

3.

文件操作命令

(1)

start

@

说明:

运行

sql

脚本

案例:

sql>@d:

\a.sql

或者

sql>startd:

a.sql

(2)

edit

说明:

该命令可以编辑指定的

sql

脚本。

案例:

sql>editd:

\a.sql

(3)

spool

说明:

该命令可以将

sql*plus

屏幕上的内容输出到指定文件中去。

案例:

sql>spoold:

\b.sql

并输入

sql>spooloff

4

.交互式命令

(1)

说明:

可以替代变量,而该变量在执行时,需要用户输入。

如:

sql>select

*fromempwherejob=

&job

输入

job

是注意大小写

(2)edit

说明:

该命令可以编辑指定的

sql

脚本

案例:

sql>editd:

\a.sql

5.

显示和设置环境变量

概述:

可以用来控制输出的各种格式,

set

show

如果希望永久的保存相关的设置,

可以去修改

glogin.sql

脚本

(1)linesize

说明:

设置显示行的宽度,默认是

80

个字符

sql>showlinesize

sql>setlinesize90

(2)pagesize

说明:

设置每页显示的行数目,默认是

14

,用法和

linesize

一样,至于其

他环境参数的使用也是大同小异

sql>set

pagesize

8

实际得到的不是

14/8=2

而是:

14/

8-3

=5

 

5

Oracle

用户的管理

1.

创建用户

概述:

oracle

中要创建一个新的用户使用

create

user

语句,一般是具有

dba

(数据库管理员)的权限才能使用。

createuser

用户名

identifiedby

 

密码;

2.

给用户修改密码

概述:

如果给自己修改密码可以直接使用

sql>

password

用户名

如果给别人修改密码则需要具有

dba

的权限,

或是拥有

alter

user

的系统

权限

sql>

alteruser

用户名

identifiedby

新密码

 

3.

删除用户

概述:

一般以

dba

的身份去删除某个用户,如果用其他用户去删除用户则需要具

dropuser

的权限。

比如

dropuser

用户名

cascade

 

注意:

在删除用户时,如果要删除的用户已经创建了表,就需要在删除的时候带

一个参数

cascade

4.

用户管理的综合案例

概述:

创建的新用户是没有任何权限的,甚至连登陆的数据库的权限都没有,需

要为其指定相应的权限。

给一个用户赋权限

connect

登陆,

dba

管理员

resource

建表)使用命令

grant,

回收权限使用命令

revoke.

为了给讲清楚用户管理,给大家举一个案例。

案例:

新建一个用户

lady

并给该用户赋可登陆可创建表

Sql>createuserladyidentifiedbylady123(

密码

受登陆权限

:

à

 

grantconnectto

lady

受可创建表:

grantresourceto

lady

可以多个同时授权:

grantconnect

resourcetolady;

注意授权用户级别应该为(

dba

以上

sys/system

还可以使用

PL/SQL

工具创建:

文件

->

新建

->

用户

现在我要把

scott

用户里面的

emp

表的权限赋给

lady

用户但

lady

只能有对

emp

查询权限:

grant

select

on

emp

to

lady;(

授权用户级别应该:

授权本身,或者

sys/system)

lady

查询

emp

的方式:

select*fromscott.emp

案例:

同上我想把

update

的权限也赋给

leng

à

grantupdateonempto

leng;

2)

我想把

emp

所有的

增,删,改,查

/insert,delete,update,select

这四个一

起可以用

all

代替

操作权限赋给

leng

grantallonempto

leng;(

此时登陆用户为

scott)

案例

2

这时我想把权限收回来怎么办呢?

这时用关键字

revoke

(撤回)

à

revokeselectonempfromlady;

收回

lady

的查权限

 

2.

显示约束列

通过查询数据字典视图

user_cons_conlumns,

可以显示约束所对应的表列信息

selectcolumn_name,positionfromuser_cons_columnswhereconstraint_name=

约束

3.

直接通过

pl/sqldeveloper

查看即可

列级定义

列级定义是在定义列的同时定义约束如在

department

表定义主外键约束

create

table

department4

dept_id

number

(2)

constraint

pk_department

primary

key,namevarchar2(12),locvar2(12)

;

表级定义

表级定义是指在定义了所有列后,在定义约束,这里需要注意:

notnull

约束只

能在列级上定义

以在建立

employee2

表示定义主外键约束和外键约束为例:

create

table

employee2

emp_id

number(4),name

varchar2(15),dept_id

number

(2),constraint

pk_employee

frimary

key

(emp_id),constraint

fk_department

foreignkey(dept_id)referencesdepartment(dept_id)

;

2.

管理索引

原理介绍

介绍:

索引是用于加速数据存取的数据对像,合理的使用索引可以大大降低

i/o

次数,从而提高数据访问性能,索引有很多种我们主要介绍常用的几种:

为什么添加了索引后,会加快查询速度呢?

 

 

 

book

超市

有管理秩序的超市

种类详细图

 

52

单列索引

单列索引是基于单个列所建立的索引,比如:

create

index

索引名

on

表名

列名

复合索引

复合索引是基于两列或是多列的索引,在同一张表上可以有多个索引,但是要求

列的组合必须不同,比如:

createindexemp_idx1onemp(ename,job);

createindexemp_idx1onemp(job,ename);//

使用原则

在大表建才有意义。

where

子句或是连接条件上经常引用的列上建立索引

要在带条件查询上加索引

索引的层次不要超过

4

索引的缺点

1.

建立索引,系统要占用大约为表的

1.2

倍的硬盘和内存来保存索引。

2.

更新数据的时候,系统必须要有额外的时间来对索引进行更新,来维护数据和

索引的一致性。

实践表明:

不合理的索引不但不能增加效率,反而会降低系统的

性能,

因为大量

的索引进行插入,

修改和删除操作比没有索引花费更多的系统时

间。

不恰当的:

1.

很少或从不引用的字段;

2.

逻辑型的字段,如男或女等,提高查询效率是以消耗系统资源为代价的,不能

盲目建立

其它索引

按照数据储存方式,可以分为

B*

树,反向索引,位图索引;

按照索引列的个数,可以分为单列索引,复合索引;

按照索引列值的唯一性,可以分为唯一索引和非唯一索引

还有函数索引,全局索引,区分索引。

对于索引在不同的情况我们会在不同的列上建立索引,还可以建立不同种类的索

引。

显示索引信息

Dba_indexes

user_indexes

,可以显示索引信息,其中前者用于显示数据库所有的索引信息,后

者用于显示当前用户的索引信息。

 

53

显示索引表

selectindex_name,index_typefromuser_indexeswheretable_name=

表名

显示索引列

Select

table_name,column_name

from

user_ind_columns

where

index_name=

ind_ename

;

3.

管理权限和角色

介绍

这一部分我们注意看看

oracle

中如何管理权限和角色,

权限和角色的区别在那里。

当刚刚建立用户时,用户没有任何权限,也不能执行任何操作。

如果要执行某种

特定数据库操作,则必须为其赋予权限;如果用户要访问其它方案的对象,则必

须为其赋予对象权限。

系统权限介绍

系统权限是指执行特定类型

sql

命令的权限,它用于控制用户可以执行的一个或

是一组数据库操作,比如当用户具有

createtable

权限时,可以在其方案中建表,

当用户具有

createanytable

权限时,可以在任何方案中建表

.

常用的有

createsession--

连接数据库

createtable---

建表

createview---

建视图

createpublicsynonym

建同义词

create

procedure

建过程,函数,包

createtrigger

建触发器

显示系统权限

select*fromsystem_privilege_maporderbyname;

授予系统权限

赋予系统权限一般是

dba

来完成的如果用其他用户来授予系统权限,则要求该用

户必须具有

grant

any

privilege

的系统权限,在授予系统权限时,可以带有

with

admin

pition

选项,这样被授予权限的用户或是角色还可以将该系统权限授予其

他的用户或是角色,为了让大家快速理解我们举例说明:

创建两个用户

ken,tom

开始没有任何权限

(1)

创建

ken,tom

用户

不详细说明前面已经介绍

createuserkenidentifiedbyken;

(2)

给用户

ken

赋权

grantcreatesession,createtabletokenwithadminoption;

grantcreateviewtoken;

(3)

tom

赋权

通过

ken

tom

赋权

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1