oracle 学习day01
1.关系型数据库的设计范式
范式:是关系型数据库关系模型规范化的标准。范式是建立在函数依赖的基础上。
函数依赖:如果表中某一个字段Y的值是有另外一个字段或一组字段X的值来确定,就称作Y函数依赖于X。
函数依赖应该是通过理解数据项和企业的规则来决定的,根据表的内容得出的函数依赖可能是不正确的。
1.1第一范式(1NF):
如果关系模式R每个关系的属性都是不可分割的数据项,那么就称R是第一范式。每个属性都是原子项,不可分割。第一范式是关系模式应具备的最起码的条件,如果数据库设计不能满足第一范式,就不能称为关系型数据库。
1.2第二范式(2NF):
如果关系模式R是1NF,且每个非主属性是由整个主键函数决定的,而不能由主键的一部分来决定。
例如,这里以“员工工资信息表”为例,若以(员工编码、岗位)为组合关键字(即复合主键),就会存在如下决定关系。
(员工编码,岗位)→(决定)(姓名、年龄、学历、基本工资、绩效工资、奖金)
在上面的决定关系中,还可以进一步拆分为如下两种决定关系。
(员工编码)→(决定)(姓名、年龄、学历)
(岗位)→(决定)(基本工资)
1.3第三范式(3NF):
如果关系模型是2NF,且非主属性之间不存在函数依赖。
例如,这里以员工信息表(EMPLOYEE)为例,该表中包含员工编号、员工姓名、年龄、部门编码、部门经理等信息,该关系 表的关键字为“员工编 号”,因此存在如下决定关系:
(员工编码)→(决定)(员工姓名、年龄、部门编码、部门经理)
上面的这个关系表是符合第二范式的,但它不符合第三范式,因为该关系表内部隐含着如下决定关系:
(员工编码)→(决定)(部门编码)→(决定)(部门经理)
——————————————————————————————————————————————————————————
2.数据库实例的启动(STARTUP)
要启动和关闭数据库,必须要以具有oracle管理员权限的用户登录,通常也就是以具有sysdba权限的用户登录。一般就以sys用户以sysdba权限启动和关闭数据库。
oracle数据库实例的启动过程分为3步骤,分别是启动实例、加载数据库、打开数据库。
STARTUP [NOMOUNT | MOUNT | OPEN | FORCE | RESTRICT ] [pfile=filename]
3.数据库实例的关闭(SHUTDOWN)
与打开数据库类似,关闭数据库实例,分为3个步骤,分别是关闭数据库、卸载数据库、关闭数据库实例
SHUTDOWN [normal | transactional | immediate | abort]
详情参考:http://www.cnblogs.com/guohu/p/4253418.html#top
===========================================
4.数据库的几个概念(实例、数据库、数据库服务器)
实例:一组Oracle后台进程以及在服务器中分配的共享内存区域;
数据库:是由基于磁盘的数据文件、控制文件、日志文件、参数文件、和归档日志文件等组成的物理文件集合。
数据库服务器:管理数据库的各种软件工具(sqlplus、OEM等)和实例及数据库三个部分。
======================================================
5.oracle逻辑存储结构
数据块:是oracle逻辑存储结构中最小的逻辑单位,也是执行数据库输入输出的最小存储单位。oracle数据是存放在"oracl e数据块"中的,Oracle数据块有一定的标准大小,其大小被写入初始化参数DB_BLOCK_SIZE.
数据区:是由一组连续的数据块所构成的存储结构,数据区是oracle存储分配的最小单位。一个或多个数据区组成段。保存 特定数据类型的数据,也是表中数据增长的单位
段:当一个段完成之后自动分配一个新的数据区;
表空间:将相关的逻辑结构(比如段、数据区)组合在一起,表空间是数据库最大的逻辑划分区域,通常用来存放数据表、索引、回滚段等数据对象(Segment),任何数据对象在创建时都必须被指定存储在某个表空间中。一个表空间是由一个或多个数据文件组成,一个数据文件只属于一个表空间。
==================================================
6.oracle物理存储结构
数据文件:用于保存用户应用程序数据和Oracle系统内部数据的文件。
控制文件:
控制文件是一个二进制文件,它记录了数据库的物理结构,其中主要包含数据库名、数据文件、与日志文件的名字和位置、数据库建立日期等信息。控制文件一般在ORACLE系统安装的时候或者创建数据库的时候自动创建,控制文件所存放的路径由服务器参数文件spfileorcl.ora的control_files参数值来指定。
由于控制文件存放有数据文件、日志文件等的相关信息,因此,Oracle实例在启动时必须访问控制文件。如果控制文件正常,实例才能加载并打开数据库;但若控制文件中记录了错误的信息,或者实例无法找到一个可用的控制文件,则实例无法正常启动。
日志文件:
日志文件的主要功能是记录对数据所作的修改,对数据库所作的修改几乎都记录在日志文件中。在出现问题时,可以通过日志文件得到原始数据,从而保障不丢失已有操作成果。Oracle的日志文件包括重做日志文件(RedoLogFile)和归档日志文件(ArchiveLogFile),它们是Oracle系统的主要文件之一,尤其是重做日志文件,它是Oracle数据库系统正常运行所不可或缺的。下面将介绍这两种日志文件。
重做日志文件http://www.cnblogs.com/kerrycode/archive/2012/08/09/2631035.html
若要了解Oracle系统的日志文件信息,可以通过查阅v$logfile 视图来实现
select * from v$logfile;
归档日志文件
可以通过v$database视图来查看当前Oracle系统是否采用归档模式
============================================================
7.服务器参数文件
服务器参数文件SPFILE(Server parameter File)是二进制文件,用来记录了Oracle数据库的基本参数信息(如,数据库名、控制文件所在路径、日志缓冲大小等)。数据库实例在启动之前,Oracle系统首先会读取SPFILE参数文件中设置的这些参数,并根据这些初始化参数来配置和启动实例。比如,设置标准数据块的大小(即参数db_block_size的值)、设置日志缓冲区的大小(即参数log_buffer的值)等等,所以SPFILE参数文件非常重要。服务器参数文件在安装Oracle数据库系统时由系统自动创建,文件的名称为SPFILEsid.ora,sid为所创建的数据库实例名。
与早期版本的初始化参数文件INITsid.ora不同的是,SPFILE中的参数由Oracle系统自动维护,如果要对某些参数进行修改,则尽可能不要直接对SPFILE进行编辑,最好通过企业管理器(OEM)或ALTER SYSTEM命令来修改,所修改过的参数会自动写到SPFILE中。
查看服务器参数:1)查询视图v$parameter,可利用该动态性能视图来确定参数的默认值是否被修改过,以及是否可以使用ALTER SYSTEM 和 ALTER SESSION 命令修改。
2)修改服务器参数
alter system set db_block_size=4096;
=================================================
8.密码文件、警告文件、跟踪文件
oracle 学习day01的更多相关文章
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- Oracle学习线路
出自huyangg的博客,地址是:oracle学习路线图 1.sql.pl/sql(网上有很多的视频,可以做一个简单的入手,然后看几本书,多做实验) 作为oracle的基本功,需要大家对sql和 ...
- Oracle学习指南
Oracle学习指南 你走的那天,我决定不落泪,迎着风撑着眼帘用力不眨眼 创建数据库.创建用户.创建表空间.创建表.插入数据..... 1.用系统用户登录,任选系统用户 代码: >>sql ...
- Oracle学习系列1-7
Oracle学习系列1 两个服务必须启动: OracleOraDb10g*TNListener 和 OracleService*** 使用sqlplusw先进行环境的设置 set linesize 3 ...
- Oracle学习系列7
Oracle学习系列7 ************************************************************************************ 关联表 ...
- Oracle学习系列6
Oracle学习系列6 ************************************************************************************ 删除约 ...
- Oracle学习系列5
Oracle学习系列5 ************************************************************************************ ,掌握 ...
- Oracle学习系列4
Oracle学习系列4 ************************************************************************************ 数据库 ...
- Oracle学习系列3
Oracle学习系列3 ************************************************************************************ 多表查 ...
随机推荐
- 2-Fourteenth Scrum Meeting-20151214
任务安排 成员 今日完成 明日任务 闫昊 用本地数据库记录课程结构和学习进度 修复bug 唐彬 请假(编译……) 编写与服务器交互的代码 史烨轩 请假(编译……) 获取视频url 余帆 请假( ...
- linux 常用命令-ps(process state)
ps -ef | grep 端口号:查看某个端口的占用情况 ps -tunlp | grep 端口号:查看占用端口的进程名称
- delphi中登录界面关闭直接现实主界面是怎么回事?
修改工程文件: Application.Initialize; Application.CreateForm(TmainForm, mainForm); Application.ShowMainFor ...
- delphi制作登陆窗体
delphi登陆窗体的制作,就我知道的,可以有两种方法,一种是在工程文件中实现登陆窗体的动态调用,另一种就是在主窗体的OnCreate事件中动态创建登陆窗体,两种方法都需要将主窗体设置为Auto-cr ...
- spring 事务-support 有事务得开启就参加 没有就不参加
spring 事务-support 有事务得开启就参加 没有就不参加
- 用宏实现C/C++从非零整数开始的数组
相信大家在刚学习C/C++时,都会对数组下标从0开始编号有疑惑.尽管我是喜欢从0开始编号的“0党”,但是也有很多的人是喜欢从1开始编号. 意识到C/C++数组与指针具有一定的相似性后,我开始构思如何仿 ...
- Allowed Letters CodeForces - 1009G(状压思维)
题意: 给出一个字符串 给出几个定点必须是哪个字母(或者是几个字母中的一个) 然后求在满足所有定点后的最小字符串 解析: 没错 这题是暴力 用状压暴力 “a - f” 用”0 - 5“ 这几个数字代 ...
- springboot配置hibernate jpa多数据源
这里我用的springboot项目,配置文件yml文件配置,gradle配置jar包依赖. 找了一天资料,终于整好了多数据源,步骤如下: application.yml: spring: dataso ...
- HGOI20180817 (NOIP模拟Day1 task)
HGOI自测 初测:150=80+20+50 rank1~rank3(并列3个rank1,所以我是rank3 qwq) 今日分突然想简约 CF359A Table https://www.luogu. ...
- [USACO18OPEN]Out of Sorts G 冒泡排序理解之一
题目描述 给一个双向冒泡排序的程序: moo表示输出moo sorted = false while (not sorted): sorted = true moo to N-: ] < A[i ...