一. oracle基本介绍
1.1 oracle简介
-
Oracle 是一家全球领先的企业软件和云服务提供商,总部位于美国加利福尼亚州。
-
该公司成立于 1977 年,由拉里·埃里森(Larry Ellison)、鲍勃·明(Bob Miner)和艾德·奥茨(Ed Oates)创办。
-
Oracle 以其数据库管理系统(Database Management System,DBMS)而闻名,成为业界最为流行和广泛使用的关系型数据库之一。
数据库:关系型数据库、非关系型数据库
oracle:关系型数据库?
何为关系型数据库?存储数据是以表格的模型来存储的
先创建表,加数据何为非关系型数据库?存储数据是以键值对的形式
键值对:Map集合 username=zhangsan password=123456
1.2 特点
-
数据库管理系统(DBMS): Oracle 数据库是其核心产品之一,被广泛用于企业级应用和数据管理。它支持高度可伸缩、安全和高性能的数据库解决方案。
-
云服务: Oracle 提供全球范围的云计算服务,包括基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。这使得企业能够在云端部署和管理应用程序,提高灵活性和效率。
-
企业软件: 除了数据库产品外,Oracle 还提供一系列企业软件解决方案,涵盖了财务、人力资源、供应链管理等各个业务领域。
-
Java 编程语言: Oracle 拥有 Java 编程语言的开发和支持权,Java 是一种广泛用于企业级应用、移动应用和云服务的编程语言。
-
数据分析和人工智能: Oracle 提供数据分析和人工智能解决方案,帮助企业从大量数据中提取洞察和价值。
1.3 Oracle体系结构[理解]
-
数据库(database)
-
oracle数据库是数据的物理存储。(相当于一大块存所有oracle数据的硬盘区域?)包括(数据文件ORA或DBF、控制文件、联机日志、参数文件)。
-
它和其它数据库概念不一样,一整个操作系统只有这一个库(就是说实际上oracle就只有一个大数据库)。
-
-
实例(oracle instance)
-
database可以创建n个oracle实例。(就好比一个地球能有n个国家,分了一块区域给你用啦)。
-
实例中有一系列后台进程和内存结构。但实际上通常oracle数据库只会用一个数据库实例orcl。
-
-
表空间
-
是一个逻辑单位,一个实例可以创建n个表空间(就好比一个国家有n个省份)。
-
它只是个逻辑单位,但可以映射磁盘上的物理存储单位数据文件(dbf),一个表空间可以映射多个dbf,但一个dbf只能属于一个表空间。
-
1.oracle中只有一个数据库,就是在你安装的时候进行创建——————地球
2.怎么区分各种管理系统(学生信息管理系统,图书信息管理系统)根据实例区分,什么实例:类似一个国家
3.表空间:类似sqlserver中的数据库——最终我们创建的数据表存放到表空间
4.用户:通过用户在指定的表空间去管理数据表。
-
数据文件(dbf)
-
是一个小的物理存储单位。
-
数据库当中的数据实际就是存储于数据文件当中,然后数据文件是对应属于表空间的(表空间好比省份,是行政区域单位,数据文件类似山川河流,为物理地区单位,数据好比人,人实际是居住在山川河流之上的)。
-
-
用户
-
是在数据库实例下创建的(也是由已经登录的用户创建的,该用户一定要有创建用户的权限)。
-
创建了用户之后,用户登录后就能创建表(当然是放我们的数据字段啦),表是会放于某一个表空间的,实际则是放于该表空间所对应的一个或多个数据文件啦。
-
表实际上是隶属于用户的,用户对表进行增删改查。
-
注: 表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到 一个或者多个数据文件中。
由于Oracle的数据库不是普通的概念,Oracle是由用户和表空间对数据进行管理和存放的。 但是表不是由表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同 一个名字的表!这里区分就是用户了
oracle 实例 表空间 用户 方案 表 数据的关系例子
我们可以把Database看作是一个大仓库,仓库分了很多很多的房间,Schema就是其中的房间,一个Schema【实例】代表一个房间,Table可以看作是每个Schema中的床。
Table(床)被放入每个房间中,不能放置在房间之外,那岂不是晚上睡觉无家可归了,然后床上可以放置很多物品,就好比 Table上可以放置很多列和行一样,数据库中存储数据的基本单元是Table,现实中每个仓库放置物品的基本单位就是床, User就是每个Schema的主人,(所以Schema包含的是Object,而不是User),user和schema是一一对应的,每个user在没有特别指定下只能使用自己schema(房间)的东西。
如果一个user想使用其他schema(房间)的东西,那就要看那个schema(房间)的user(主人)有没有给你这个权限了,或者看这个仓库的老大(DBA)有没有给你这个权限了.换句话说,如果你是某个仓库的主人,那么这个仓库的使用权和仓库中的所有东西都是你的(包括房间),你有完全的操作权,可以扔掉不用的东西从每个房间,也可以放置一些有用的东西到某一个房间,你还可以给每个User分配具体的权限,也就是他到某一个房间能做些什么,是只能看(Read-Only),还是可以像主人一样有所有的控制权(R/W),这个就要看这个User所对应的角色Role了。
借用上面的很好的例子:一个运行着的数据库程序就是一个实例(电脑上可以运行多个数据库).实例就像一个大仓库.由于仓库太大,我们租给不同的企业,每个企业根据自身的需求划定仓库的一片区域,这片区域称为表空间.企业允许员工在自己这片区域的仓库的房间内放自己的东西.每位员工只有一个房间,当放上你的一件东西后这个房间就属于你,并且以你的名字自动命名.你就是用户,而房间就是方案(schema).你可以在你的房间(方案)里置办不同的器具放不同类的东西如:鞋柜 衣橱 床等等(这些对应着表 索引 视图 触发器等等).你在这些器具里面放的具体的东西比如鞋子 衣服就是数据了.
1.4 oracle版本介绍
-
1999年,Oracle正式提供世界上第一个Internet数据库Oracle8i。
-
2001年,Oracle推出了新一代Internet电子商务基础架构Oracle9i。
-
Oracle Database 11g Release 2 (11.2)
-
Oracle Database 12c Release 1 (12.1)
-
Oracle Database 12c Release 2 (12.2)
-
Oracle Database 18c
-
Oracle Database 19c
二、oracle基本操作
2.1 Oracle服务启动与关闭
要使用oracle数据库,2个服务是必须启动的
-
服务名1:OracleOraDb11g_home1TNSListener
-
服务名2:OracleServiceORCL
接下来,我们通过cmd命令窗口(注意:需要用管理员身份打开dos窗口),使用命令的方式启动和关闭oracle服务,如下
启动服务
net start OracleOraDb11g_home1TNSListener
net start OracleServiceORCL
停止服务
net stop OracleOraDb11g_home1TNSListener
net stop OracleServiceORCL
2.2 oracle开发环境
sqlplus sys/sys as sysdba
使用cmd命令窗口输入上面代码测试是否能够通过sys超级管理员登录到oracle数据库中
Oracle数据库安装后会有很多默认的账户,最常见的有3个账户
1.SYS 超级管理员
2.system 普通管理员
3.scott 普通用户——默认锁定的 使用该账户必须解锁(1.安装数据库成功后可以手动解锁2.代码解锁)
学习中:使用的账户————scott 密码:tiger
-
oracle自带的SQL PLUS
-
PL/SQL Developer 集成开发程序
2.3 Oracle账户介绍
Oracle安装会自动的生产sys用户和system用户
用户 | 描述 |
sys用户 | 是超级管理员,具有最高权限,具有sysdba,有create database权限,默认的密码change_on_install。(安装时设定.用户手动给的),输入口令:sys as sysdba。 |
system用户 | 是普通管理员,权限也很大.具有sysoper角色,没有create database。默认密码是manager。一般讲,对数据库维护,使用system永固登录就可以登录就可以。 |
普通用户 | 用户名:scott; 密码:tiger(默认)安装时内置好,默认锁定的。 |
注意:也就是说sys和system这两个用户最大的区别是在于有没有create database的权限。
2.3.1 登录 SQLPLUS
#cmd命令提示符窗口下:
#语法:sqlplus [用户名]/[密码][@数据库] [参数]
sq1plus sys/orc1 as sysdba --登录sys用户,必须指定sysdba 或sysoper 身份
sq1plus system/orcl--数据库管理员
2.3.2 解锁SCOTT账户
#解锁普通用户:
alter user 用户名 account unlock;
#例如:SQL> alter user scott account unlock;#修改普通用户密码,密码以英文字母开头
alter user 用户名 identified by 新密码【密码以字母开头】;
#例如:SQL> alter user scott identified by tiger;
2.4 oracle数据库常用表
名称 | 类型 | 描述 |
EMPNO | NUMBER(4) | 雇员的编号,由四位数字组成 |
EBANE | VARCHAR(10) | 雇员的姓名,由10位数字组成 |
JOB | VARCHAR(9) | 雇员的职位 |
MGR | NUMBER(4) | 雇员对应的领导编号 |
HIREDATE | DATE(4) | 雇员的雇佣日期 |
SAL | NUMBER(7,2) | 基本工资,其中有两位小数,五位整数,一共是七位 |
COMM | NUMBER(7,2) | 奖金/佣金 |
DEPTNO | NUMBER(2) | 雇员所在的部门编号 外键 |
3. 语法
Create tablespace mytable –创建一个名为mytable的表空间
Datafile ‘c:\myraclefiel.dbf’ –数据存放位置
Size 100m –表空间大小为100m
Autoextend on –自动扩展大小
Next 10m; –每次拓展10m
-
itcast
为表空间名称 -
datafile
指定表空间对应的数据文件 -
size
后定义的是表空间的初始大小 -
autoextend on
自动增长 ,当表空间存储都占满时,自动增长 -
next
后指定的是一次自动增长的大小。
#删除表空间
DROP TABLESPACE lft;
4.用户创建
create user itcastuser
identified by itcast
default tablespace itcast
-
identified by 后边是用户的密码
-
default tablespace 后边是表空间名称
-
oracle 数据库与其它数据库产品的区别在于,表和其它的数据库对象都是存储在用户 下的。
5.Oracle权限与角色
新创建的用户没有任何权限,登陆后会提示
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 权限,否则无法正常登陆
#创建用户
create user aaa identified by aaa
#赋予权限
grant connect,resource to aaa;
#回收对象权限
revoke connect,resource from aaa;
6.Oracle数据类型[应用]
ORACLE基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:
-
字符串类型
-
数字类型
-
日期类型
-
LOB类型、LONG RAW& RAW类型
-
ROWID & UROWID类型
NUMBER 类型
-
NUMBER(P,S)是最常见的数字类型。
-
P 是Precision 的英文缩写,即精度缩写,表示有效数字的位数,最多不能超过38 个有效数字。
-
S 是Scale 的英文缩写,表示小数点数字的位数。
VARCHAR2 类型
可以存储4,000 字节的信息。类型不同,它不会使用空格填充至最大长度。VARCHAR2 最多以存储4,000 字节的信息。
DATE 类型
DATE 是最常用的数据类型,日期数据类型存储日期和时间信息。虽然可以用字符或数字类型表示日期和时间信息,但是日期数据类型具有特殊关联的属性。为每个日期值,Oracle存储以下信息: 世纪、年、月、日期、小时、分钟和秒。一般占用7 个字节的存储空间。
7.表的创建[应用]
CREATE TABLE 数据表名称 (
字段1 数据类型 约束,
字段2 数据类型 约束,
...
);
好啦,今天的教学就到这里噜~感谢观看!
煮啵下一篇教大家如何安装Oracle,求求各位大佬点点关注,给煮啵一点鼓励!(ORZ下跪)