ORACLE基础概念整理_oracle基础概念
ORACLE基础概念整理由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“oracle基础概念”。
基础概念:Oracle数据库、实例、用户、表空间、表之间的关系
数据库:
Oracle数据库是数据的物理存储。这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是Oracle就只有一个大数据库。实例:
一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Procees)和内存结构(Memory Structures)组成。一个数据库可以有n个实例。用户:
用户是在实例下建立的。不同实例可以建相同名字的用户。表空间:
表空间是一个用来管理数据存储逻辑概念,表空间只是和数据文件(ORA或者DBF文件)发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。
数据文件(dbf、ora):
数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真正是在某一个或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。注:
表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。由于oracle的数据库不是普通的概念,oracle是有用户和表空间对数据进行管理和存放的。但是表不是有表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!关系示意图:
理解1:
Oracle数据库可以创建多个实例,每个实例可以创建多个表空间,每个表空间下可以创建多个用户(同时用户也属于表空间对应的实例)和数据库文件,用户可以创建多个表(每个表随机存储在一个或多个数据库文件中),如下图:
理解2: 理解1MS有误。
实例下有和,授权访问,是管理的,经授权在中创建,随机存储到不同的中。如下图所示:
操作1:
安装Oracle后会有默认的实例,即ORCL。一般不创建多个实例,在默认实例下创建表空间和用户等。
1,运行CMD进入DOS界面,首先输入:sqlplus,回车;再输入:sys/sys as sysdba,回车,即进入“SQL〉”操作状态。
2,输入:CREATE TABLESPACE 表空间名称 LOGGING DATAFILE 'c:表空间数据文件.ora' SIZE 500M autoextend on next 200m maxsize 2048m;,表空间创建完成。3,输入:CREATE USER 用户名称 PROFILE default IDENTIFIED BY 用户密码 DEFAULT TABLESPACE 授权访问的表空间名称 TEMPORARY TABLESPACE temp ACCOUNT UNLOCK;,用户创建完成,并授权用户访问某表空间。具体操作如下图所示:
操作2:
创建表和插入数据,并查询浏览插入的数据。1,创建表,输入: create table 表名(字段名称1 字段类型, 字段名称2 字段类型, 字段名称3 字段类型);,回车。
2,插入数据,输入:insert into 表名(字段1,字段2,字段3)VALUES(值1,值2,值3);,回车。
3,查询数据,输入:select * from 表名;,回车。具体操作如下图所示:
命名规范(Oracle数据库)
1、表命名
l 命名最好望文生义,避免使用数据库关键词 l 命名一律为大写字母(或小写,不要大下写混合)l 英文单词单数命名.例:FACTORY l 英文单词缩写命名.例:DEPT l 英文单词之间用下划线连结,且每个单词皆为单数.例:TASK_RESULT l 用来存储历史资料,命名以HISTORY结尾.例:TASK_HISTORY l 用来存储日志资料,命名以LOG结尾.例:TASK_LOG l 用来存储类别资料,命名以TYPE结尾.例:TASK_TYPE2、表字段 l 命名最好望文生义,避免使用数据库关键词 l 英文单词单数命名.例:MAIL l 英文单词缩写命名.例:DEPT_ID l 英文单词之间用下划线连结,且每个单词皆为单数.例:USER_NAME l 字段用来存储流水号,命名以ID结尾.例: TASK_ID l 字段用来存储代码,命名以NO结尾.例: TASK_NO l 字段用来存储日期,命名以DATE结尾.例:CREATE_DATE l 字段用来存储数量,命名以QTY结尾.例:PLAN_QTY l 字段用来存储类别,命名以TYPE结尾.例:STATION_TYPE l 字段用来存储名称,命名以NAME结尾.例:ENDUSER_NAME l 字段用来存储描述,命名以DESC结尾.例:STATION_DESC l 字段用来存储代码,命名以CODE结尾.例:ERROR_CODE l 字段用来存储标志,命名以FLAG开头.例:DEBUG_FLAG3、索引
命名以表名+ INDEX+两位流水号(01~99).例:ENDUSER_INDEX014、键值
l 主键命名以表名+PK+一位流水号(1~9).例:DEPT_PK1 l 附键命名以表名+AK+一位流水号(1~9).例:DEPT_AK1 l 外键命名以表名+FK+一位流水号(1~9).例:DEPT_FK1 l 检查条件以表名+CK+一位流水号(1~9).例:DEPT_CK15、视图
l 命名以V_开头例:V_DEPT l 其它规则参考资料表命名规则
6、触发器
以表名+TR+一位流水号(1~9)命名.例:DEPT_TR17、存储过程
l 命名以PC开头
l 实现单一资料表交易功能,以PC+表名命名.例:PC_LINE l 实现关联资料表交易功能,以PC+功能命名.例:PC_GETDATA l 命名需让人明白其主要功能
8、函数
l 检查功能的函数,以Is+检查项目命名.例:bool IsCharValid(char)l 获取资料功能的函数,以Get+数据项命名.例:string GetLineNo(char)l 设定资料功能的函数,以Set+数据项命名.例:int SetLineNo(char)
9、序列
l 命名以SEQ开头
l 以表的字段名命名.例: SEQ_LINE_ID l 若与其它表的字段名相同,则以表名+字段名命名.例:SEQ_CODE_TYPE_ID10、表空间 l 存储资料的命名为项目名称.例:CRM l 存储索引的命名为项目名称+IDX.例:CRMIDX l 存储历史的命名为项目名称+OLD.例:CRMOLD l 存储临时的命名为项目名称+LOG.例:CRMLOG.11、数据文件
命名以所属表空间开头+两位流水号(01~99)+.ORA.例:CRM01.ORA12、包
命名以功能缩写开头+PKG+流水号(1~9).例:CRMPKG113、用户
l 项目管理者以项目名称命名.例:CRM l 开发者通用名称DEVELOPER l 初学者通用名称BEGINNER
ORACLE中 nvl函数代替sql中的isnull函数