Oracle入门(一)之入门级知识详解

转载自 Oracle入门级知识详解

一. Oracle基本介绍

1. 什么时候用Oracle数据库?

SQL SERVER 号称百万级数据(一个表的数据),但是其实做多20万条数据

超过20万条数据就用Oracle

2. Oracle的版本

Oracle8i/9i(internet)基于网络的;

Oracle10g/11g基于网络,oracle10g/11g (grid)基于网格的,它的客户端就是个web程序了,可以在IE里打开的:oracle->Database Control - orcl点下就会在IE中打开,如果找不到地址就是没开动OracleDBConsoleorcl服务(DBC控制器),该功能就相当于SQL Server;

orcale12c;

3. Oracle 12c --oracle 11g的升级版,应用服务器方面,很炫,但对初学者来说,然并卵

4.

二.启动的服务

1.//oracle核心服务

OracleServiceORCL

2. //oracle监听服务

OracleOraDb11g_home1TNSListener

3.//oracle数据库工作日程调度,没有工作日程安排不用启动,占资源

OracleJobSchedulerORCL

二. Oracle默认的账户scott

密码:tiger(安装时设置)

他下面存在几个常用的表:emp,dept,salgrade等表

三.Sql与Oracle最大的不同:

Sql中可以随时随意的创建数据库;

但Oracle只有一个数据库,一台电脑只会安装一个数据库。

Oracle只有创建账户,

四.账户、表空间、数据库

案例:两个同学创建2个不同的数据库

这两个同学都要在Oracle中找自己的数据库,刚说了一个Oracle只有一个数据库,怎么办?为两个同学各创建一个账户,给账户开辟数据库空间----表空间(TableSpace)。

表空间代替了数据库,创建数据库就是开辟账户空间。

注意:Oracle为A账户开辟个空间,为B账户开辟个空间,请问A和B是不是在用同一个数据库?

不同账号之间能不能互访?

同一个数据库;不能互访,除非开了访问权限

五. 创建数据库和账户

数据库

物理的:数据库文件.dbf; 日志文.log; 控制文件.ctl;

虚拟的:表空间(可以用户开辟)

问先创建表空间还是账户?

答:先创建表空间,再给用户

关于账户

Sys、system管理员账户,在装软件时就已分配好的,因此可以用这账户开辟空间。

Scott(释放账户:给我们看和用的)密码是tiger。

注意:千万不要去改这账户和密码,全球都是一样的。(最好不要改,以防装逼失败,无法进入数据库)

关于账户登录

可以用sys或system管理员账号登录,也可以用scott账户登录

1.在开始菜单中选择oracle目录--应用程序开发--sql plus

2.在cmd状态下,直接通过命令sqlplus来登录。

当然cmd下的用户界面差,我们用PL-SQL第三方来操作oracle,但是不能说sqlplus就不用了,以后在unix下面就只能用sqlplus写代码,比较悲催

思考:

A.管理员账户可以调用一般账户的表吗?

select * from scott.emp;

答:可以

B.一般账户可以调一般账户的表吗?

答:授权之后才可以访问

C.代表代码写完的标志是?

‘;’,用分号代表代码写完了,可以执行

D.模式是什么?

模式是账户的另一个名称

比如scott就是一个账户,比如其它的对象就是个模式

每个对象都是个模式

六.创建表空间

基于应用性能和管理方面的考虑,最好为不同的用户创建独立的表空间。

创建表空间的语法:

create tablespace 表空间名

例:

Create tablespace ts_1

Datafile ’e:111.dbf’ --数据库文件地址

Size 100M --文件初始值大小

--只要以上三行就行了

autoextend on next 32 maxsize unlimited

logging

extent management local

segment space management auto;

七. My Objects(我的对象)

Functions 函数-

Procedures 存储过程-

Packages 包-

Package bodies 包体-

Types 类型-

Type bodies 类型体-

Triggers 触发器-

Java sources

Jobs 工作

Queues 队列

Queue table 队列表格

Libraries

Directories

Tables 表格-

Views 视图-

Materialized views

Sequences 序列-

Users 用户-

Profiles 控制文件-

Reles 角色-

Synonyms 同义词-

Database links

Tablespaces 表空间-

Clusters

八.给表空间分配账户,给账户角色授权

1.首先创建账户,指定访问表空间,但是未给它赋值任何权限,登录时是等不了的!

Create user 用户名

identified by 123

Default tablespace 表空间 --指定改用户管理的表空间

案例:create user u_dml

identified by 123

Default tablespace ts_1

2.给账户授予角色

(把账户和角色分清楚)

角色:李鹏飞是个学生 角色:学生

账户:李鹏飞是个学生 账户:李鹏飞

角色分类:

Connect:临时用户角色

Resource:正式用户角色

DBA:管理员(一般不用)

授予角色:

Grant connect , resource to 账户

撤销角色:

Revoke connect,resource from 账户

删除(撤销)用户:

DROP USER 用户名

DROP user 用户名 CASCAED

--CASCAED表示删除用户的同时删除其建立的实体

操作授权:

案例:将查询scott用户的stu表的权限授予test用户

Grant select on scott.stu to test

九.建表

建的表都在tables里面

两种建表方式:

1.视图

2.代码

Create table tb_1(

Sid number, --int类型用number

Sname varchar2(20) --没有varchar

Sex varchar2(4)

);

表中的约束写法

PK

FK

default

unique

check

not null

--查看表中的数据

Select *from tb_1;

问:Orecle中有没有表示列?

oracle没有表示列,不过有一个替代品(触发器+序列)

--插入数据

Insert into tb_1(sid,sname,sex)

Values(10,’张天’,’男’)

--视图版的创建表

--视图版的添加表:

右击Tables--新建--主键:在键里,名称自己取,类型primary,选定哪个列做主键,联合主键就选两个,请问有几个主键?1个主键,多个联合主键

删除列:右侧的减号

--怎么把建表的脚本给我?

右下角--view SQL

--建完表后点“应用”

--指定表和字段的注释

COMMENT ON TABLE PET IS ‘宠物’;

COMMENT on COLUMN pet.name is’宠物昵称’

注意:不要物理删除硬盘上的dbf文件,oracle启动时到时找不到文件,oracle也启动不了,需要重装oracle。

删用户:

Drop user 用户名;

删表空间:

Drop tablespace 表空间;

视图也可以删,但别去无聊操作,要用就用代码。

 

 

 

你可能感兴趣的:(Oracle)