Oracle基础使用-体系结构+表空间、用户、表的管理+使用scott用户+多表查询子查询

本文详细介绍了Oracle数据库的基础知识,包括数据库体系结构、表空间管理、用户管理及权限设置,以及表的创建、数据操作。此外,还探讨了序列、SQL查询,特别是多表查询和子查询的应用。通过学习Scott用户,深入理解Oracle SQL的使用。
摘要由CSDN通过智能技术生成

Oracle

1. oracle介绍

  • ORACLE 数据库是目前世界上使用最为广泛的数据 库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能

  • 作为一个关系数据库, 它是一个完备关系的产品

  • 作为分布式数据库它实现了分布式处理功能

2.oracle体系结构

在这里插入图片描述

2.1数据库Database

数据库是数据的物理存储,包括数据文件ORA、DBF、控制文件、联机文件、参数文件,oracle数据库是一个大数据库,一个操作系统只有一个库。

2.2实例instance

一个 Oracle 实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构 (Memory Structures)组成。一个数据库可以有 n 个实例。

2.3用户User

用户是在实例下建立的。不同实例可以建相同名字的用户。

2.4表空间

对物理数据库上相关数据文件的逻辑映射。

一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每 个数据库至少有一个表空间(称之为system表空间)。

每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间。

在这里插入图片描述

2.5数据文件ORA、DBF

数据文件是数据库的物理存储单位。

数据库的数据是存储在表空间中的,真正是在某一个或者多个数据文件中。

而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。

一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。

用户把数据放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。

在这里插入图片描述

2.6注意事项

由于 oracle 的数据库不是普通的概念,oracle 是有用户和表空间对数据进行管理和存放的。

但是表不是有表空间去查询的,而是由用户去查的。

因为不同用户可以在同一个表空间建立同一个名字的表

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xTFB0vA1-1607842323062)(…/…/…/AppData/Roaming/Typora/typora-user-images/image-20201212144529756.png)]

3.管理表空间

一个数据库下可以建立多个表空间,一个表空间可以建立多个用户、一个用户下可以建立多个表。

  • 使用超级用户cmd登录
sqlplus sys/sys as sysdba
  • 创建表空间
-- 创建表空间
create tablespace lj_test
datafile 'D:\oracle\lj_test.dbf'
size 10m
-- 自动增长 ,当表空间存储都占满时,自动增长
autoextend on
next 1m;
--删除表空间
drop tablespace lj_test;

4.管理用户

  • 查询用户
select * from dba_users; 查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,system
select * from all_users; 查看你能管理的所有用户
select * from user_users; 查看当前用户信息
  • 创建用户
--创建用户
create user lj
identified by lj
default tablespace lj_test;
  • 赋予用户权限
--给用户授权
--oracle数据库中常用角色
-- connect 连接角色,基本角色
-- resource 开发者角色
-- dba 超级管理员角色
--给lj用户授予dba角色
grant dba to lj;
--查询当前用户的权限
select * from session_privs;
---切换到lj用户下
alter session set current_schema = lj;
-- 查询你 当前用户下,有哪些表
SELECT * FROM user_tables
-- 查询你 当前用户下, 可以访问哪些表 [也就是访问自己 和 其他用户的]
SELECT * FROM all_tables
-- 查询当前数据库所有的表, 需要你有 DBA 的权限
SELECT * FROM dba_tables

注意:只有当前用户有权限可以赋予创建的用户权限,没有权限则不能

  • 删除用户
drop user lj cascade
4.1connect连接角色

是授予最终用户的典型权利,最基本的

 ALTER SESSION --修改会话
 CREATE CLUSTER --建立聚簇
 CREATE DATABASE LINK --建立数据库链接
 CREATE SEQUENCE --建立序列
 CREATE SESSION --建立会话
 CREATE SYNONYM --建立同义词
 CREATE VIEW --建立视图 
4.2resource 开发者角色

是授予开发人员的

 CREATE CLUSTER --建立聚簇
 CREATE PROCEDURE --建立过程
 CREATE SEQUENCE --建立序列
 CREATE TABLE --建表
 CREATE TRIGGER --建立触发器
 CREATE TYPE --建立类型
4.3dba 超级管理员角色

拥有全部特权,是系统最高权限,只有 DBA 才可以创建数据库结构

并且系统权限也需要DBA授出,且可以操作全体用户的任意基表,包括删除

5.管理表

5.1Oracle数据类型
varchar,varchar2 表示一个字符串
number number(n)表示一个整数,长度是 n
       number(m,n):表示一个小数,总长度是 m,小数是 n,整数是 m-n
date 表示日期类型
clob 大对象,表示大文本数据类型,可存4G
blob 大对象,表示二进制数据,可存 4G
5.2管理表结构
  • 建表
---创建一个person表
create table person(
       id number(20) primary key,
       name varchar2(10),
       gender number(1) default 1,
       birthday date
);
  • 删除表
----三个删除
--删除表中全部记
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子津

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值