20201203+袁鑫
学习日志
知识总结
数据库
Oracle 数据库是数据的物理存储。这就包括(数据文件 ORA 或者 DBF、控制文件、联机日志、参数 文件)。其实 Oracle 数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。 可以看作是 Oracle 就只有一个大数据库。
实例
一个 Oracle 实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构 (Memory Structures)组成。一个数据库可以有 n 个实例。
用户
用户是在实例下建立的。不同实例可以建相同名字的用户。
表空间
表空间是 Oracle 对物理数据库上相关数据文件(ORA 或者 DBF 文件)的逻辑映射。一个数据库在逻 辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一 个表空间(称之为 system 表空间)。 每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能 属于一个表空间。
ORACLE 数据库的逻辑单元。一个表空间可以与多个数据文件(物理结构)关联
数据文件(dbf、ora)
数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真正是在某一个或者多个数 据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数 据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的 表空间才行。
注: 表的数据,是由用户放入某一个表空间的,而这个表空间会随机把这些表数据放到 一个或者多个数据文件中。
由于 oracle 的数据库不是普通的概念,oracle 是由用户和表空间对数据进行管理和存放的。但是表 不是由表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表! 这里区分就是用户了!
oracle 数据库与其它数据库产品的区别在于,表和其它的数据库对象都是存储在用户下的。
用户授权
Oracle 用户对数据库管理或对象操作的权利,分为系统权限和数据库对象权限。系统权限比如: CREATE SESSION,CREATE TABLE 等,拥有系统权限的用户,允许拥有相应的系统操作。数据库对象 权限,比如对表中的数据进行增删改操作等,拥有数据库对象权限的用户可以对所拥有的对象进行对应 的操作。
还有一个概念就是数据库角色(role),数据库角色就是若干个系统权限的集合。Oracle 中已存在三 个重要的角色: connect 角色, resource 角色, dba 角色。
CONNECT 角色: 是授予最终用户的典型权利,最基本的。主要应用在临时用户,特别是那些不需 要建表的用户,通常只赋予他们 CONNECT role。CONNECT 是使用 Oracle 的简单权限, 拥有 CONNECT 角色的用户,可以与服务器建立连接会话(session,客户端对服务器连接,称为会话)。CREATE SESSION 建立会话
RESOURCE 角色:是授予开发人员的。更可靠和正式的数据库用户可以授予RESOURCE role。 RESOURCE提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器 (trigger)、索引(index)等。
CREATE PROCEDURE 建立过程
CREATE SEQUENCE 建立序列
CREATE TABLE 建表
CREATE TRIGGER 建立触发器
CREATE TYPE 建立类型
DBA 角色:拥有全部特权,是系统最高权限,只有 DBA 才可以创建数据库结构,并且系统权限也 需要 DBA 授出,且 DBA 用户可以操作全体用户的任意基表,包括删除
Oracle数据类型[应用]
类型 | 含义 |
---|---|
CHAR(length) | 存储固定长度的字符串。参数length指定了长度,如果存储的字符串长 度小于length,用空格填充。默认长度是1,最长不超过2000字节。 |
VARCHAR | 字符串 |
VARCHAR2(length) | 存储可变长度的字符串。length指定了该字符串的最大长度。默认长度 是1,最长不超过4000字符。 |
NUMBER(n) | NUMBER(n)表示一个整数,长度是 n |
NUMBER(m,n) | NUMBER(m,n):表示一个小数,总长度是 m(默认38),小数是 n,整数是 m-n |
DATE | 存储日期和时间,存储纪元、4位年、月、日、时、分、秒,存储时间从 公元前4712年1月1日到公元后4712年12月31日。 |
TIMESTAMP | 不但存储日期的年月日,时分秒,以及秒后6位,同时包含时区。 |
CLOB | 存储大的文本,比如存储非结构化的XML文档,可存 4G |
BLOB | 存储二进制对象,如图形、视频、声音等,可存 4G |
对于日期类型,可以使用 sysdate 内置函数可以获取当前的系统日期和时间,返回 DATE类型,用 systimestamp 函数可以返回当前日期、时间和时区。
心得
今天去面试的公司是个日企,在各方面福利还可以,但是相对应的要求会高一些,刚好这次面试对数据库要求挺高的,我正好也好好复习一下自己的数据库知识。
评论