oracle
数据库的管理
Oracle 对象关系
1. 用户对象
(1) 系统默认
① sys 超级管理员
② system 管理员
③ scott账户
(2) 自定义用户
create user 用户名 identified by 密码
(3) sqlplus的登录
① sqlplus
② sqlplus 用户名/密码
③ sqlplus /nolog
conn 用户名/密码
disconn 断开链接
exit 退出sqlplus的环境
2. 权限
(1) 权限分配
Grant 系统权限 to用户
Grant 对象权限 on 对象名 to用户
(2) 权限分类
① 系统权限
② 对象权限
(3) 撤回权限
Revoke 系统权限 from用户
revoke对象权限 on 对象名 from用户
3. 角色
(1) 自定义角色
Create role 名字
(2) 给角色分配权限
Grant 系统权限 to角色名
Grant 对象权限 on 对象名 to角色名
(3) 将角色分配给用户
Grant 角色名 ,角色名,。。to角色名
(4) 系统角色
角色是权限的集合,部分常用角色:一般情况下
1) 数据库管理员分别授予CONNECT,RESOURCE,DBA
2) 数据库开发人员授予CONNECT,RESOURSE
3) 数据库的导入导出,授予EXP_PULL_DATABASE,IMP_FULL_DATABASE
|
角色名 |
包含权限 |
|
|
CONNECT |
ALTER SESSION |
修改会话 |
|
CREATE CLUSTER |
创建簇 |
|
|
CREATE DATABASE LINK |
创建数据库连接 |
|
|
CREATE SEQUENCE |
创建序列 |
|
|
CREATE SESSION |
创建会话 |
|
|
CREATE SYNONYM |
创建同义词 |
|
|
CREATE TABLE |
创建表 |
|
|
CREATE VIEW |
创建视图 |
|
|
RESOURCE |
CREATE CLUSTER |
创建簇 |
|
CREATE INDEXTYPE |
创建索引类型 |
|
|
CREATE OPERATOR |
定义一个新的操作符 |
|
|
CREATE PROCEDURE |
创建存储过程 |
|
|
CREATE SEQUENCE |
创建序列 |
|
|
CREATE TABLE |
创建表 |
|
|
CREATE TRIGGER |
创建触发器 |
|
|
CREATE TYPE |
创建类型 |
|
|
DBA |
所有权限,不受限制 |
|
|
EXP_PULL_DATABASE |
SELECT ANY TABLE |
查询任何表 |
|
BACKUP ANY TABLE |
备份任何表 |
|
|
EXECUTE ANY PROCEDURE |
执行任何存储过程 |
|
|
EXECUTE ANY TYPE |
执行任何类型 |
|
|
ADMINISTER RESOURCE MANAGER |
资源管理 |
|
|
IMP_FULL_DATABASE |
EXECUTE_CATALOG_ROLE |
执行目录角色 |
|
SELECT_CATALOG_ROLE |
查询目录角色 |
查询用户与权限,相应的数据字典如下:
|
数据字典名称 |
说明 |
|
DBA_USERS |
数据库用户基本信息表 |
|
DBA_SYS_PRIVS |
已授予用户或角色的系统权限 |
|
DBA_TAB_PRIVS |
数据库对象上的所有权限 |
|
USER_SYS_PRIVS |
登录用户可以查看自己的系统权限 |
|
ROLE_SYS_PRIVS |
登录用户查看自己的角色 |
|
ALL_TABLES |
用户自己可以查询的基表信息 |
|
USER_TAB_PRIVS |
用户自己将那些基表权限授予哪些用户 |
|
ALL_TAB_PRIVS |
哪些用户给自己授权 |
二.Oracle的相关概念及体系结构概述
(一) 基本概念
1. 完整性约束
数据的完整性约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,这些规则用来限定基于数据模型的数据库状态及状态的变化,以保证数据库中数据的正确性、有效性和相容性。
1) 域完整性约束
域完整性是保证数据库字段取值的合理性。域完整性规则要求关系中的属性值应是域中的值。另外,一个属性能否为空值(NULL),也是域完整性约束的主要内容。
技术点:非空、默认值、唯一,check
2) 实体完整性约束
实体完整性是指关系的主关键字不能重复也不能取空值。
技术点:主键
3) 参照完整性约束
参照完整性是定义建立关系之间联系的主关键字与外部关键字引用的约束条件。
技术点:外键
表现:1-1 1-M M-1 M-N
4) 用户定义完整性约束
技术点:触发器
实体完整性和参照完整性适用于任何关系型数据库系统,它主要是针对关系的主关键字和外部关键字取值必须有效而做出的约束。
2. 关系(Relation):对应通常所说的二维表。
3. 元组(Tuple):表中的一行即为一个元组。
4. 属性(Attribute):表中的一列即为一个属性。
5. 候选关键字(Candidate Key):如果关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选关键字。
6. 主关键字(Primary Key):如果一个关系中有多个候选关键字,则选定一个为主关键字。
7. 域(Domain):属性的取值范围。
8. 分量:元组中的一个属性值。
9. 数据库的三范式
1) 第一范式:每个属性值都是不可再分的最小数据单位
数据组的每个属性只可以包含一个值
关系中的每个数组必须包含相同数量的值
关系中的每个数组一定不能相同
2) 第二范式:数据库中的每个记录必须可被唯一地区分
3) 第三范式:一个关系表中不包含已在其他表中已包含的非主关键字信息
10. 需求分析的步骤
1.需求信息的收集
(1)需求信息的收集应得到的主要材料
(2)需求信息的收集过程中常用的调查方法
2.需求信息的分析
(1)确定系统边界
(2)业务流程分析
3.需求信息的评审
(二) 体系结构
1. 逻辑存储结构
1) 数据块(Data Block):数据块是Oracle逻辑存储结构中最小的逻辑单位,也是执行数据库输入输出操作的最小存储单位。通过v$parameter数据字典来查询数据块的大小
如:SELECT name,VALUE FROM v$parameter WHERE NAME='db_block_size'
2) 数据区(Extent):数据区是由一组连续的Oracle数据块所构成的Oracle存储结构,一个或多个数据块组成一个数据区,一个或多个数据区再组成一个段(Segment)。数据区是Oracle存储分配的最小单位。
3) 段(Segment):段是由一个或多个数据区构成的,它不是存储空间的分配单位,而是一个独立的逻辑存储结构,用于存储表、索引或簇等占用空间的数据对象
4) 表空间(TableSpace):Oracle使用表空间将向相关的逻辑结构(如段,数据区等)组合在一起,表空间是数据库的最大的逻辑划分区域,通常用来存储数据表、索引、回滚段等数据对象,任何数据对象在创建时都必须被指定存储在某个表空间中。
2. 物理存储结构
1) 数据文件:数据文件用于保存用户应用程序数据和Oracle系统内部数据的文件。
2) 控制文件:二进制文件,记录了数据库的物理结构,其中主要包含数据库名,数据文件与日志文件的名字和位置、数据库建立日期等信息。
3) 日志文件:主要功能是记录对数据所做的修改。
4) 服务器参数文件:二级制文件,用来记录Oracle数据库的基本参数信息。
5) 密码文件,警告文件和跟踪文件
一. Oracle数据库的安装和配置
目标:
数据库的安装和配置;
数据库管理;
数据库的连接、创建、删除、选择等操作。
重点
数据库的安装和配置;
数据库的连接、创建、删除、选择等操作。
(一) 数据库的安装和配置
1. 数据库的安装
2. 配置
SqlPlus是oracle自带的
3. SQL Developer
超级管理员链接:
管理员链接
(二) 数据库的管理
Oracle 对象关系
1. 用户对象
(1) 系统默认
① sys 超级管理员
② system 管理员
③ scott账户
(2) 自定义用户
create user 用户名 identified by 密码
(3) sqlplus的登录
① sqlplus
② sqlplus 用户名/密码
③ sqlplus /nolog
conn 用户名/密码
disconn 断开链接
exit 退出sqlplus的环境
2. 权限
(1) 权限分配
Grant 系统权限 to用户
Grant 对象权限 on 对象名 to用户
(2) 权限分类
① 系统权限
② 对象权限
(3) 撤回权限
Revoke 系统权限 from用户
revoke对象权限 on 对象名 from用户
3. 角色
(1) 自定义角色
Create role 名字
(2) 给角色分配权限
Grant 系统权限 to角色名
Grant 对象权限 on 对象名 to角色名
(3) 将角色分配给用户
Grant 角色名 ,角色名,。。to角色名
(4) 系统角色
角色是权限的集合,部分常用角色:一般情况下
1) 数据库管理员分别授予CONNECT,RESOURCE,DBA
2) 数据库开发人员授予CONNECT,RESOURSE
3) 数据库的导入导出,授予EXP_PULL_DATABASE,IMP_FULL_DATABASE
|
角色名 |
包含权限 |
|
|
CONNECT |
ALTER SESSION |
修改会话 |
|
CREATE CLUSTER |
创建簇 |
|
|
CREATE DATABASE LINK |
创建数据库连接 |
|
|
CREATE SEQUENCE |
创建序列 |
|
|
CREATE SESSION |
创建会话 |
|
|
CREATE SYNONYM |
创建同义词 |
|
|
CREATE TABLE |
创建表 |
|
|
CREATE VIEW |
创建视图 |
|
|
RESOURCE |
CREATE CLUSTER |
创建簇 |
|
CREATE INDEXTYPE |
创建索引类型 |
|
|
CREATE OPERATOR |
定义一个新的操作符 |
|
|
CREATE PROCEDURE |
创建存储过程 |
|
|
CREATE SEQUENCE |
创建序列 |
|
|
CREATE TABLE |
创建表 |
|
|
CREATE TRIGGER |
创建触发器 |
|
|
CREATE TYPE |
创建类型 |
|
|
DBA |
所有权限,不受限制 |
|
|
EXP_PULL_DATABASE |
SELECT ANY TABLE |
查询任何表 |
|
BACKUP ANY TABLE |
备份任何表 |
|
|
EXECUTE ANY PROCEDURE |
执行任何存储过程 |
|
|
EXECUTE ANY TYPE |
执行任何类型 |
|
|
ADMINISTER RESOURCE MANAGER |
资源管理 |
|
|
IMP_FULL_DATABASE |
EXECUTE_CATALOG_ROLE |
执行目录角色 |
|
SELECT_CATALOG_ROLE |
查询目录角色 |
查询用户与权限,相应的数据字典如下:
|
数据字典名称 |
说明 |
|
DBA_USERS |
数据库用户基本信息表 |
|
DBA_SYS_PRIVS |
已授予用户或角色的系统权限 |
|
DBA_TAB_PRIVS |
数据库对象上的所有权限 |
|
USER_SYS_PRIVS |
登录用户可以查看自己的系统权限 |
|
ROLE_SYS_PRIVS |
登录用户查看自己的角色 |
|
ALL_TABLES |
用户自己可以查询的基表信息 |
|
USER_TAB_PRIVS |
用户自己将那些基表权限授予哪些用户 |
|
ALL_TAB_PRIVS |
哪些用户给自己授权 |

浙公网安备 33010602011771号