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 ************************************************************************************ 多表查 ...
随机推荐
- Python Pandas read_csv报错
为实现文本去重(将前面采集的数据进行两两对比删除重复),写了以下代码. #-*- coding: utf-8 -*-import pandas as pd inputfile = 'e:/data/H ...
- Visual Studio的安装应用及单元测试
新建项目—Visual C#—类库 一.Visual Studio的安装 这可能是自己安装软件用的的最长时间的一次 ..刚下载完安装的时候灰常的尴尬,因为2013版本和2015的版本都是不支持在win ...
- PAT乙级(Basic Level)练习题-NowCoder数列总结
题目描述 NowCoder最近在研究一个数列: F(0) = 7 F(1) = 11 F(n) = F(n-1) + F(n-2) (n≥2) 他称之为NowCoder数列.请你帮忙确认一下数列中第n ...
- Beta阶段冲刺五
Beta阶段冲刺五 Task1:团队TSP 团队任务 预估时间 实际时间 完成日期 新增其他学院的爬虫 180 130 11.30 新增其他学院的数据库字段修改 180 160 12.1 新增其他学院 ...
- CentOS 下运行Docker 内执行 docker build 命令的简单方法
1. 通过部分文档进行学习...主要知识来源 https://blog.csdn.net/shida_csdn/article/details/79812817 2. 下载 docker 的rpm包. ...
- 使用ajax异步上传文件或图片(配合php)
//html代码 <form enctype="multipart/form-data" id="upForm"> <input type=& ...
- 深入理解ajax系列第六篇——头部信息
前面的话 每个HTTP请求和响应都会带有相应的头部信息,其中有的对开发人员有用.XHR对象提供了操作头部信息的方法.本文将详细介绍HTTP的头部信息 默认信息 默认情况下,在发送XHR请求的同时,还会 ...
- 论如何优雅的用bitset来求四维偏序
四维偏序.. 就是给你一个四维集合.再给你一些询问,请你求出a[i].x1<=ask.x1&&a[i].x2<=ask.x2&&a[i].x3<=as ...
- sadpairs
#include<bits/stdc++.h> #define il inline #define reg register int #define numb (ch^'0') using ...
- LeetCode 6罗马数字转整数
罗马数字包含以下七种字符:I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列 ...