由于oracle比较薄弱,所以开始系统的学习一下oracle,这里做一下记录,路漫漫其修远兮,吾将上下而求索。。。
一、Oracle数据库的体系结构
- 数据库: database
Oracle 数据库是数据的物理存储。这就包括(数据文件 ORA 或者 DBF、
控制文件、联机日志、参数文件)。其实 Oracle 数据库的概念和其它
数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作
是 Oracle 就只有一个大数据库。 - 实例:
一个 Oracle 实例(Oracle Instance)有一系列的后台进程(Backguound
Processes)和内存结构(Memory Structures)组成。一个数据库可以有 n
个实例。 - 数据文件( dbf )
数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中
的,真正是在某一个或者多个数据文件中。而一个表空间可以由一个
或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据
文件被加入到某个表空间后,就不能删除这个文件, 如果要删除某个
数据文件,只能删除其所属于的表空间才行。 - 表空间:
表空间是 Oracle 对物理数据库上相关数据文件(ORA 或者 DBF 文件)
的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个
表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表
空间(称之为 system 表空间)。
每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文
件(datafile)。 一个数据文件只能属于一个表空间。 - 用户:
用户是在实例下建立的。不同实例中可以建相同名字的用户。
注: 表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这
些表数据放到一个或者多个数据文件中。
由于 oracle 的数据库不是普通的概念,oracle 是有用户和表空间对
数据进行管理和存放的。但是表不是有表空间去查询的,而是由用户
去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这
里区分就是用户了!
二、基本查询
- sql 简介
结构化查询语言(Structured Query Language)简称 SQL(发音:/ˈɛs kjuː ˈɛl/ "S-Q-L"),结构
化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数
据库系统;同时也是数据库脚本文件的扩展名。结构化查询语言是高级的非过程化编程语言,
允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解
具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构
化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的
灵活性和强大的功能。
- DML(数据库操作语言)
其语句包括动词 INSERT,UPDATE 和 DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。
- DDL(数据库定义语言):
其语句包括动词 CREATE 和 DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL 包括许多与人数据库目录 中获得数据有关的保留字。它也是动作查询的一部分。
- DCL(数据库控制语言)
它的语句通过 GRANT 或 REVOKE 获得许可,确定单个用户和用户组对数据库对象的访问。某些 RDBMS 可用 GRANT 或 REVOKE 控制对表单个列的访问。
三、使用DDL语句管理表
1、创建表空间
--创建表空间
create tablespace myDataBase
datafile 'D:\developSoftware\dataBase\oracle\MyData\mlytest.dbf'
size 100M
autoextend on
next 10M;
-- myDataBase 为表空间名称
-- datafile 指定表空间对应的数据文件
-- size 后定义的是表空间的初始大小
-- autoextend on 自动增长,当表空间存储占满时,自动增长
-- next 后指定的是一次自动增长的大小
2、创建用户
--2、创建用户
create user 用户名
identified by 密码
default tablespace myDataBase;
/*
identified by 后面跟的用户的密码
default tablespace 后面是表空间的名字
oracle数据库与其他数据库产品的区别在于,表和其它的数据库对象都是存储在用户下的
*/
3、用户赋权
--3、用户赋权
grant dba to mly_t
--进入system下给用户赋予dba的权限,否则无法正常登录
/*
新建用户没有任何权限,登录后会报错
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用户可以操作全体用户的任意基表,包括删除
*/