数据库oracle 的第一课
1. 历史背景: Oracle(甲骨文)公司
1977年,三人合伙创办(Software Development Laboratories,SDL)
1979年,更名为Relational Software Inc.,RSI
1983年,为了突出核心产品 ,RSI更名为Oracle
2002年04月26日,启用“甲骨文”作为中文注册商标
2. 简介
Oracle数据库管理系统
Oracle公司的核心产品
目前最流行的数据库
主要版本Oracle8i/9i(internet)、Oracle10g/11g(grid)
基于C/S系统结构
3. 数据库的物理结构
数据文件
扩展名是.DBF,用于存储数据库数据的文件
数据库表和数据文件不存在一对一对应关系
控制文件
扩展名是.CTL,是数据库启动及运行所必需的文件
默认包含3个控制文件,各个控制文件内容相同
日志文件
扩展名是.LOG,它记录了对数据的所有更改信息
多个日志文件组之间循环使用
表空间(数据库逻辑结构)
每个Oracle数据库都是由若干个表空间构成,用户在数据库中建立的所有内 容都被存储到表空间中
创建数据库时会自动创建若干表空间
4. 创建表空间
CREATE TABLESPACE epet_tablespace
DATAFILE 'E:\oracle\product\10.2.0\oradata\JBITDB\EPET.DBF'
SIZE 100M;
5. 使用时要先启动服务
① 启动的服务:
//oracle核心服务
a. OracleServiceORCL
//oracle监听服务
b. OracleOraDb11g_home1TNSListener
//oracle数据库工作日程调度,没有工作日程安排不用启动,占资源
c. OracleJobSchedulerORCL
6. Orcale数据库默认分配了一个账号:scott(密码tiger)
它下面存在几个常用表:emp、dept、salgrade等表
7. 二、关于Oracle数据库的开发环境
启动步骤:Oracle->应用程序开发->SQLPlus
用户名:scott
口令:tiger
主机字符串:orcl
8. Sql与Oracle最大的不同:
Sql中可以随时随意的创建数据库;
但Oracle只有一个数据库,一台电脑只会安装一个数据库。
Oracle只有创建账户,一个账号一个数据库。
表空间、
表空间代替了数据库,创建数据库就是开辟账户空间。
9 创建表空间
基于应用性能和管理方面的考虑,最好为不同的用户创建独立的表空间。
创建表空间的语法:
create tablespace 表空间名
例:
create tablespace t_table
datafile 'e:\111.dbf' --数据文件存方地址
size 100M;
--只要上面三行就OK了
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 密码
[default tablespace 表空间]
[temporary tablespace 临时的表空间] --该行一般不用
案例:
create user u_dml
identified by 123
default tablespace t_table
7.3 要给角色授权
(把用户与角色区分搞清楚)
角色:唐俪是个学生,是指角色
用户:唐俪 ,是一个用户
给角色授予权限:
找到users-用户名-编辑-角色权限
connect:临时用户的权限
resource:正式用户的权限
DBA:管理员(一般不用)
分配权限或角色:
Grant privileges or role To user;
例:Grant connect,resource to u_dml;
--给dml角色分配权限
7.4 撤销权限或角色:
Revoke privileges or role FROM user;
例:revoke connect,resource from u_dml; --撤销dml角色的connect,resource权限
7.5 删除(注销)用户
DROP USER test
DROP USER test CASCADE
--cascade表示删除用户的同时删除其建立的实体
另一种授权:将某个表空间和表空间的操作权授给某用户
//将查询scott用户的stu表的权限授给test用户
GRANT SELECT ON scott.stu TO test;
===============================================
八、建表
建的表都在Tables里面。
两种建表方式:
1.视图
2.代码
create table tb_88
(
sid number, --int类型用number
sname varchar2(55), --没有varchar
sex varchar2(10)
)
--查看表里的数据:
select * from tb_88;
*****************************************
问:Oracle中有标识列吗?
oracle没有标识列,不过有个替代品(触发器+序列)
*****************************************
--插入数据
insert into tb_88(sid,sname,sex)
values(10,'张天','男');
--视图版的添加表:
右击Tables--新建--主键:在键里,名称自己取,类型primary,选定哪个列做主键,联合主键就选两个,请问有几个主键?1个
删除列:右则的减号
--怎么把建表的脚本给我?
右下角--看SQL
--建完表后点“应用”
===================================================
--指定表和字段的注释
COMMENT ON TABLE pet IS '宠物';
COMMENT ON COLUMN pet.name IS '宠物昵称';
==========================================
注意:不要物理删除硬盘上的dbf文件,oracle启动时到时找不到文件,oracle也启动不了,需要重装oracle。
--删除一个数据库,是先删表空间,还是先删用户?
1.先删用户
2.再删表空间
--删用户:
drop user 用户名;
--删表空间:
drop tablespace 表空间;
视图也可以删,但别去无聊操作,要用就用代码。
==========================================
1.创建表空间
create tablespace ts_080
datafile 'e:\1.dbf'
size 20M;
2.创建用户
create user u_dml
identified by u_pwd
default tablespace ts_080;
3.对用户授权
grant connect,resource to u_dml;
4.撤销授权
revoke connect,resource from u_dml;
5.建表
create table tb_0801(
sid number,
sname varchar2(10),
sex varchar2(10)
)
5.1 表中的约束写法
PK
FK
default
unique
check
not null
6.查看表中数据
select * from tb_0801;
7.增加一条数据
insert into tb_0801(sid,sname,sex)
values(11,'张三','男');
增加多条数据
8.删除一个数据库
drop user u_dml;
drop tablespace ts_0801;
9.删除一条记录
删除多条记录
删除满足条件的记录
10.修改一条记录
修改多条记录
修改满足条件的记录
Oracle 基本介绍
1.Oracle简介
1.1 主流数据库
1.2 版本(9i\10g\11g\12c)
98年发布8i,2001年发布9i,2003年发布10g,2007年发布12c
i代表Internet
g代表Grid(网格)
c代表
1.3 Oracle 11g版本(企业版、标准版、标准版I、精简版)
11g系列主要包括:
Oracle 11g应用服务器(Oracle Application Server 11g)
集成化的开发环境(Oracle Developer Suite 11g)
1.4 Oracle 11g R2新特性
2.Oracle安装与卸载
2.1 硬件与软件要求
2.2 安装过程(口令管理)
2.3 常用服务
2.4 Oracle 11g企业管理器的启动
2.5 SQL * Plus的启动
2.6 Oracle的卸载
3.PL/SQL Developer
3.1 安装
3.2 PL/SQL的启动
4.数据库安全管理
4.1 Oracle 安全性
4.2 用户
创建用户
修改用户
删除用户
4.3 权限
系统权限
对象权限
4.4 角色
角色分类
创建角色
为角色授权
为用户授予角色
管理角色
与角色相关的数据字典
5.表空间
创建表空间
给用户设置默认表空间
修改表空间
删除表空间
6.设置多用户访问