oracle 授权 增删改查权限_Oracle 数据库简述

本文介绍了Oracle数据库的基础知识,包括数据库的构成、版本及安装。重点讲述了Oracle 11g的安装步骤,并讨论了数据库管理员(DBA)的角色。详细讲解了如何创建和管理用户,包括创建用户、授权、修改用户信息以及撤销权限。还概述了SQL语言的基本概念和数据类型。最后,展示了如何在Oracle中创建表并设置各种约束,确保数据完整性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

7d38a0d1ea555228bf2d5f4b037da2d9.png

数据库

1. 数据 Data

软件测试的对象是 软件

软件的组成 程序 + 文档 + 数据

数据的类型: 数字 字符 二级制 文本 图形 声音 视频

2. 数据库 DataBase --DB

通俗地说 就是用来存放数据的仓库

物理形态 -- 计算机上的文件

磁盘 -- 硬盘

3. 数据库管理系统 DBMS -- 软件(程序)

通俗地说 就是管理和维护数据库的软件。

主流的数据库管理系统有哪些:

MySQL, Oracle, SQL Server, DB2 , Sybase ...

关系型数据库管理系统 RDBMS

关系 --- 表 table ( ) 行 列

-- 层次型 --- 网状型 --- 关系型 --- 对象型

Oracle 数据库管理系统 ---甲骨文

版本

Oracle 8i , 9i, 10g, 11g, 12c

i internet

g grid

c cloud

Oracle 11g 安装

将其安装到windows7 64bit

虚拟机 -- Vmware 15

安装Vmware 虚拟机

安装oralce数据库管理系统

Oracle home

全局数据库名字: orcl.localdomain

口令: tiger

Database Control URL 为 https://localhost:1158/em

管理资料档案库已置于安全模式下, 在此模式下将对 Enterprise Manager 数据进行加密。加密密钥已放置在文件

D:/app/Administrator/product/11.2.0/dbhome_1/localhost_orcl/sysman/config/emkey.ora 中。请务必备份此文件, 因

为如果此文件丢失, 则加密数据将不可用。

数据库管理员 DBA

普通计算机 ---安装oracle11g软件 并且启动了数据库--- 数据库服务器 DB Server

客户端服务器模型 client server mode C/S

Demon 守护进程 --- 服务

数据库最基本的两个服务

OracleOraDb11g_home1TNSListener 数据库监听服务

OracleServiceORCL 数据库基本服务

oracle 也是一种网络应用层的协议, 在传输层 使用的是TCP协议 端口号是 1521

MySQL 端口号 3306

客户端工具:

SQL Plus 是oracle自带的一个连接到oracle数据库服务器的一个工具

总结:

数据 data 数据库 database 数据库管理系统 dbms 数据库管理员DBA

oracle11g 关系型数据库管理系统 安装 数据库名字 orcl 口令 tiger

客户端工具sqlplus

回顾:

data ,database, DBMS, DBA

计算机 --- 服务器 -- 数据库服务器 DB Server

客户端工具 -------- 连接到数据库服务器

自带的工具sqlplus 命令行的方式

启动sqlplus 方式 :

开始--运行--cmd--sqlplus /nolog

连接到数据库指令格式(语法)

SQL> connect 用户名/口令 [as 连接身份] ;

connect sys/tiger as sysdba;

connect 可以缩写 conn

连接身份: 表示用户连接到数据库之后拥有的权利。

数据库管理员 sysdba

数据库操作员 sysoper

普通用户 normal (默认)

内置用户 sys 必须以SYSDBA或SYSOPER身份登录

system 可以用普通身份登录

Oracle用户模式 user schema

用户zhangsan 表sales

用户lisi 表student 表score -- zhangsan.sales

在Oracle数据库中创建用户指令:

创建用户的指令

create user 用户名 identified by 口令 [account lock|unlock] ;

create user jerry identified by tom account unlock;

给用户授权的指令

grant 权限|角色 to 用户;

角色 role : 一个或多个权限的集合

默认有三种角色:

CONNECT 角色 : CREATE SESSION

RESOURCE 角色 : 可以创建数据库对象 比如 表

DBA 角色 : 管理员级别权限

建议普通用户 授予 connect 和 resource 角色的权限

grant connect to jerry;

grant resource to jerry;

撤销用户的权限的指令

revoke 权限|角色 from 用户;

revoke connect from jerry;

修改用户的指令:

alter user ...

修改用户的口令:

alter user 用户名 identified by 新口令 ;

alter user jerry identified by tom123;

修改用户的锁定状态:

alter user 用户名 account lock|unlock;

alter user jerry account lock;

alter user jerry account unlock;

SQL 简介

Structuered Query Language 结构化查询语言,关系型数据库对数据存取、数据更新及数据库操作管理等语言。

ANSI 标准 SQL --- 增删改查

SQL分类:

数据定义语言DDL : create 创建 , alter 修改 , drop 删除 等

数据操作语言DML : insert 插入 , update 更新, delete 删除 等

数据查询语言DQL : select 查询 order by 排序 group by 分组 等

事务控制语言TCL : commit 提交 savepoint 保存点 rollback 回滚

数据控制语言DCL : grant 授权 revoke 撤销

目前主流的关系型数据库都支持SQL , -- nosql

数据类型

年龄 21 --数字 21+4

姓名 谢睿 --字符

oralce数据库基本数据类型:

字符

char(length) 固定长度 char(5) 'hello' char(6) 'hello_' char() 默认 2000 字节

varchar2(length) 可变长度 varchar2(6) varchar2() 4000 字节

数字

number(p,s) p 数字的最大位数,最大38位,s指小数位数

number 1234.567 1234.567

number(6,2) 1234.567 1234.57

number(4,2) 12345.67 超出精度,数据库不能存储

时间

date 存储日期和时间,纪元、4位年、月、日、时、分、秒

timestamp 年月日时分秒 精确到秒后6位 而且包含时区 东8区

文件

clob 存储大的文本,如 xml文档

blob 存储二进制对象, 图形、声音、视频等

文件的路径---字符串

计算机基本存储单位 --存储设备 内存RAM 磁盘HD

计算机底层是数字存储的 0 1 二进制数 01000001 表示字母A 编码 ASCII

一个二进制位 bit 比特

一个字节 byte = 8 bit 比特

1K = 1024 byte

1M = 1024 KB

1G = 1024 MB

在oracle 中有一些内置的函数

sysdate

systimestamp

select sysdate from dual ;

dual 是一个伪表 ,满足select语句的完成性

关系型数据库

二维表的方式 表 table 就是数据库里最基本对象

列 column 实体的属性 key 键

行 row 实体 记录 record

--一行数据 一条记录

表的代表的是实体的集合

满足第一 二 三 范式

模型: E-R 实体-关系 - 员工表 n---1 部门表

约束: 限制

主键 primary key 唯一地代表一个实体的键 唯一 不能为空

外键 foreign key 建立表与表之间的关系

非空 not null

唯一 unique

检查 check

使表包括数据能满足数据库完整性一致性

创建表

学生信息表 infos --表示注释

STUID varchar2(7) not null, --学号

STUNAME --姓名

GENDER --性别

AGE --年龄

SEAT --座位编号

ENROLLDATE -- 入学时间

STUADDRESS -- 住址

CLASSNO -- 班号

create table 表名 ( stuid , stuname .... ) ;

SQL> create table infos

2 (

3 stuid varchar2(7) not null ,

4 stuname varchar2(10) not null ,

5 gender varchar2(2) not null ,

6 age number(2) not null ,

7 seat number(2) not null ,

8 enrolldate date ,

9 stuaddress varchar2(50) default '地址不详' ,

10 classno varchar2(4) not null

11 )

12 /

设置约束:

1) 建表的时候指定约束

2) 建表后插入数据之前设置约束

alter table 表名 add constraint 约束名 关键字 (列名) ;

alter table infos add constraint pk_infos_stuid primary key(stuid) ;

案例1:创建一个学生信息(INFOS)表和约束

代码演示:Oracle创建表和约束

CREATE TABLE INFOS

(

STUID VARCHAR2(7) NOT NULL, --学号 学号=‘S’+班号+2位序号

STUNAME VARCHAR2(10) NOT NULL, --姓名

GENDER VARCHAR2(2) NOT NULL, --性别

AGE NUMBER(2) NOT NULL, --年龄

SEAT NUMBER(2) NOT NULL, --座号

ENROLLDATE DATE, --入学时间

STUADDRESS VARCHAR2(50) DEFAULT '地址不详', --住址

CLASSNO VARCHAR2(4) NOT NULL --班号 班号=学期序号+班级序号

)

/ ①

ALTER TABLE INFOS ADD CONSTRAINT PK_INFOS PRIMARY KEY(STUID) ②

/

ALTER TABLE INFOS ADD CONSTRAINT CK_INFOS_GENDER

CHECK(GENDER = '男' OR GENDER = '女') ③

/

ALTER TABLE INFOS ADD CONSTRAINT CK_INFOS_SEAT

CHECK(SEAT >=0 AND SEAT <=50) ④

/

ALTER TABLE INFOS ADD CONSTRAINT CK_INFOS_AGE

CHECK(AGE >=0 AND AGE<=100) ⑤

/

ALTER TABLE INFOS ADD CONSTRAINT CK_INFOS_CLASSNO

CHECK((CLASSNO >='1001' AND CLASSNO<='1999') OR

(CLASSNO >='2001' AND CLASSNO<='2999')) ⑥

/

ALTER TABLE INFOS ADD CONSTRAINTS UN_STUNAME UNIQUE(STUNAME) ⑦

/

案例2:创建一个成绩表(SCORES)表和约束

代码演示:Oracle创建表和约束

CREATE TABLE SCORES

(

ID NUMBER , --ID ①

TERM VARCHAR2(2), --学期 S1或S2

STUID VARCHAR2(7) NOT NULL, --学号

EXAMNO VARCHAR2(7) NOT NULL, --考号 E+班号+序号

WRITTENSCORE NUMBER(4,1) NOT NULL, --笔试成绩

LABSCORE NUMBER(4,1) NOT NULL --机试成绩

)

ALTER TABLE SCORES

ADD CONSTRAINT CK_SCORES_TERM CHECK(TERM = 'S1' OR TERM ='S2')

/

ALTER TABLE SCORES

ADD CONSTRAINT FK_SCORES_INFOS_STUID FOREIGN KEY(STUID) REFERENCES INFOS(STUID) ② --建立外键约束

/

-- 外键约束名字 关键字 (列名) 引用或参考 表(列)

-- 注: 先设置主键 再设置外键

student( --学生表

sno varchar2(3) not null, --学号

sname varchar2(28) not null, --姓名

ssex varchar2(8) not null, --性别

sbirthday date, --生日

sclass varchar2(5), --班级

constraint pk_student primary key(sno) --设置主键

)

SNO SNAME SSEX SBIRTHDAY SCLAS

--- ---------------------------- -------- --------- -----

108 zenghua male 01-SEP-77 95033

105 kuangming male 02-OCT-75 95031

107 wangli female 23-JAN-76 95033

101 lijun male 20-FEB-76 95033

109 wangfang female 10-FEB-75 95031

103 lujun male 03-JUN-74 95031

course( --课程表

cno varchar2(5) not null, --课程编号

cname varchar2(50) not null, --课程名

tno varchar2(3) not null, --教师编号

constraint pk_course primary key(cno)

)

CNO CNAME TNO

----- -------------------------------------------------- ---

3-105 Introduction to Computers 825

3-245 Operating System 804

6-166 Digital Circuit 856

9-888 Advanced Mathematics 831

score( --成绩表

sno varchar2(3) not null, --学号

cno varchar2(5) not null, --课程编号

degree number(4,1), --分数

constraint pk_score primary key(sno,cno) --主键

)

SNO CNO DEGREE

--- ----- ----------

103 3-245 86

105 3-245 75

109 3-245 68

103 3-105 92

105 3-105 88

109 3-105 76

101 3-105 64

107 3-105 91

108 3-105 78

101 6-166 85

107 6-166 79

108 6-166 81

teacher( --教师表

tno varchar2(3) not null, --教师编号

tname varchar2(28) not null, --教师姓名

tsex varchar2(8) not null, --教师性别

tbirthday date, --教师生日

prof varchar2(50), --职称

depart varchar2(15) not null, --系别

constraint pk_teacher primary key(tno) --主键

)

TNO TNAME TSEX TBIRTHDAY PROF DEPART

--- ---------------------------- -------- --------- -------------------------------------------------- ---------------

804 licheng male 02-DEC-58 associate professor cs

856 zhangxu male 12-MAR-69 lecturer ee

825 wangping female 05-MAY-72 assistant cs

831 liubing female 14-AUG-77 assistant ee

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值