本介绍
1.oracle简介
ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库,它实现了分布式处理]功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。
2.数据库
Oracle 数据库是数据的物理存储。这就包括(数据文件 ORA 或者 DBF、控制文件、联机日 志、参数文件)。其实 Oracle 数据库的概念和其它数据库不一样,这里的数据库是一个操作系统 只有一个库。可以看作是 Oracle 就只有一个大数据库。
3.组成
a1.实例
一个 Oracle 实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构 (Memory Structures)组成。一个数据库可以有 n 个实例。
a2.表空间
表空间是 Oracle 对物理数据库上相关数据文件(ORA 或者 DBF 文件)的逻辑映射。一个数 据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每 个数据库至少有一个表空间(称之为 system 表空间)。
- 每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间
a3.用户
- 用户是在实例下建立的。不同实例可以建相同名字的用户。
a4.数据文件
数据文件:是数据库的物理存储单位。
- 数据库的数据是存储在表空间中的,真正是在某一个 或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于 一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数 据文件,只能删除其所属于的表空间才行。
注意: 表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到 一个或者多个数据文件中。
4.Oracle 版本介绍
1999年,Oracle正式提供世界上第一个Internet数据库Oracle8i。
Oracle Database8i → internet
2001年,Oracle推出了新一代Internet电子商务基础架构Oracle9i。
Oracle Database9i → 容量:相当3张光盘大小
Oracle Database9g → grid
Oracle Database10g → 容量:相当1张光盘大小
Oracle Database11g → 容量:相当3张光盘大小
Oracle Database12c → cloud(最新)
二.基本操作
1.开发环境
oracle自带的SQL PLUS 与 PL/SQL Developer 集成开发程序
2.Oracle服务启动与关闭
要使用oracle数据库,2个服务是必须启动的
- 服务名1:OracleOraDb11g_home1TNSListener
- 服务名2:OracleServiceORCL1
注意:如果系统是在window11以下的建议手动启动,不然会出现服务器加载无响应
3.Oracle账号介绍
a1.sys用户 超级管理员具有最高权限
具有系统数据库,创建数据库的权利,默认密码_change_oninstall。(安装时设定.用户手动给的),输入口令:sys as sysdba。
a2.system用户 普通管理员
权限也很大具有sysoper角色,没有create database。默认密码是manager。一般讲,对数据库维护,使用system永固登录就可以登录就可以。
a3.普通用户 scott
密码:tiger(默认)安装时内置好,默认锁定的。
a4.大数据用户 sh
密码:sh
4.登录 SQLPLUS
B1. cmd命令提示符窗口下:
语法:sqlplus [用户名]/[密码][@数据库] [参数]
sq1plus sys/orc1 as sysdba --登录sys用户,必须指定sysdba 或sysoper 身份
sq1plus system/orcl--数据库管理员
B2. SQL
解锁普通用户:
alter user 用户名 account unlock;
例如:SQL> alter user scott account unlock;
---------------------------------------------------------------------------------------------------------------------------------
修改普通用户密码,密码以英文字母开头
alter user 用户名 identified by 新密码【密码以字母开头】;
例如:SQL> alter user scott identified by tiger;
4.Oracle数据库自带表格
C.scott账户下有四张常见的数据表:dept,emp,salgrade,bonus,其中emp,dept,salgrade表都存在有数据,只有bonus表没有数据。
C1.部门表
| 名称 | 类型 | 描述 | | ------ | ------------ | ------------------------------ | | DEPTNO | MUMBER(2) | 表示部门编号,有两位数字所组成 | | DNAME | VARCHAR2(14) | 部门名称,最多由14个字符所组成 | | LOC | VARCHAR2(13) | 部门所在的位置 |
C2.雇员表
| 名称 | 类型 | 描述 | | -------- | ------------ | ---------------------------------------------- | | EMPNO | MUMBER(4) | 雇员的编号,由四位数字组成 | | EBANE | VARCHAR2(10) | 雇员的姓名,由10位数字组成 | | JOB | VARCHAR2(9) | 雇员的职位 | | MGR | NUMBER(4) | 雇员对应的领导编号 | | HIREDATE | DATE | 雇员的雇佣日期 | | SAL | MUMBER(7,2) | 基本工资,其中有两位小数,五位整数,一共是七位 | | COMM | MUMBER(7,2) | 奖金/佣金 | | DEPTNO | MUMBER(2) | 雇员所在的部门编号 |
C3.工资等级表 salgrade
| 名称 | 类型 | 描述 | | ----- | ------ | ---------------- | | GRADE | MUMBER | 工资的等级 | | LOSAL | MUMBER | 此等级的最低工资 | | HISAL | MUMBER | 此等级的最高工资 |
c4.工资表 bonus
| 名称 | 类型 | 描述 | | ----- | -------------- | ---------- | | ENAME | VARCHAR2(10) | 雇员姓名 | | JOB | VARCHAR2(9) | 雇员职位 | | SAL | MUMBER | 雇员的工资 | | COMM | MUMBER | 雇员的奖金 |
三.表空间
1.定义:Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表
2.作用:表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库
3.相关语法SQL
d1.创建表空间SQL
create tablespace 表空间的名称 datafile 'c:\itcast.dbf' size 100m autoextend on next 10m
注意:路径必须是已经创建的 ,而且大小空间会占内存
itcast为表空间名称
datafile 指定表空间对应的数据文件
-size 后定义的是表空间的初始大小
-autoextend on` 自动增长 ,当表空间存储都占满时,自动增长
-next 后指定的是一次自动增长的大小。
d2.删除表空间
DROP TABLESPACE 表空间名字;
d3.用户创建
create user itcastuser identified by itcast default tablespace itcast
注意:
- identified by 后边是用户的密码
- default tablespace 后边是表空间名称
- oracle 数据库与其它数据库产品的区别在于,表和其它的数据库对象都是存储在用户 下的。
四.Oracle权限与角色
F.新创建的用户没有任何权限,登陆后会提示
Oracle 中已存在三个重要的角色:connect 角色,resource 角色,dba 角色。
- CONNECT 角色: --是授予最终用户的典型权利,最基本的 ALTER SESSION --修改会话 CREATE CLUSTER --建立聚簇 CREATE DATABASE LINK --建立数据库链接 - CREATE SEQUENCE --建立序列 - CREATE SESSION --建立会话 - CREATE SYNONYM --建立同义词 - CREATE VIEW --建立视图 - **RESOURCE 角色**: --是授予开发人员的 - CREATE CLUSTER --建立聚簇 - CREATE PROCEDURE --建立过程 - CREATE SEQUENCE --建立序列 - CREATE TABLE --建表 - CREATE TRIGGER --建立触发器 - CREATE TYPE --建立类型 - **DBA 角色**:拥有全部特权,是系统最高权限,只有 DBA 才可以创建数据库结构,并且系统 权限也需要 DBA 授出,且 DBA 用户可以操作全体用户的任意基表,包括删除 grant dba to itcastuser **进入 system 用户下给用户赋予 dba 权限,否则无法正常登陆**
F2.授权 撤销等等
#创建用户 create user aaa identified by aaa #赋予权限 grant connect,resource to aaa; #回收对象权限 revoke connect,resource from aaa; ```
F3.创建表格
# 7.表的创建[应用] ```sql CREATE TABLE 数据表名称 ( 字段1 数据类型 约束, 字段2 数据类型 约束, ... );