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的更多相关文章

  1. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  2. Oracle学习线路

    出自huyangg的博客,地址是:oracle学习路线图 1.sql.pl/sql(网上有很多的视频,可以做一个简单的入手,然后看几本书,多做实验)    作为oracle的基本功,需要大家对sql和 ...

  3. Oracle学习指南

    Oracle学习指南 你走的那天,我决定不落泪,迎着风撑着眼帘用力不眨眼 创建数据库.创建用户.创建表空间.创建表.插入数据..... 1.用系统用户登录,任选系统用户 代码: >>sql ...

  4. Oracle学习系列1-7

    Oracle学习系列1 两个服务必须启动: OracleOraDb10g*TNListener 和 OracleService*** 使用sqlplusw先进行环境的设置 set linesize 3 ...

  5. Oracle学习系列7

    Oracle学习系列7 ************************************************************************************ 关联表 ...

  6. Oracle学习系列6

    Oracle学习系列6 ************************************************************************************ 删除约 ...

  7. Oracle学习系列5

    Oracle学习系列5 ************************************************************************************ ,掌握 ...

  8. Oracle学习系列4

    Oracle学习系列4 ************************************************************************************ 数据库 ...

  9. Oracle学习系列3

    Oracle学习系列3 ************************************************************************************ 多表查 ...

随机推荐

  1. 《Linux内核设计与实现》Chapter 1 读书笔记

    <Linux内核设计与实现>Chapter 1 读书笔记 一.Unix的特点 Unix从Multics中产生,是一个强大.健壮和稳定的操作系统. 特点 1.很简洁 2.在Unix系统中,所 ...

  2. #Leetcode# 917. Reverse Only Letters

    https://leetcode.com/problems/reverse-only-letters/ Given a string S, return the "reversed" ...

  3. 三步轻松搞定delphi中CXGRID手动添加复表头(多行表头,报表头)

    网上有代码动态生成cxgrid多行表头的源码,地址为:http://mycreature.blog.163.com/blog/static/556317200772524226400/ 如果要手动设计 ...

  4. Caffe使用: Ubuntu 14.04(x64) 从cuda 7.0 升级到 cuda8.0

    由于之前已经在Ubuntu 14.04 x64上面安装cuda7.0+caffe, 并且已经配置好,caffe也已经跑通. 但是最近需要使用Torch,而Torch对cuda的要求是8.0,因此决定对 ...

  5. Android studio Gradle编译错误: Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Bad Reques

    两种处理方法: 1.修改distributionUrl链接 gradle-wrapper.properties文件 distributionUrl=https\://services.gradle.o ...

  6. 统计nginx日志的状态码

    日志格式 61.159.140.123 - - [23/Aug/2014:00:01:42 +0800] "GET /favicon.ico HTTP/1.1" 404 \ &qu ...

  7. Ubuntu 14.04 将一个sh文件制作成类似于windows下的可以双击执行的快捷方式

    # 创建文件 touch test.desktop # 在test.desktop中写入如下内容 [Desktop Entry] Version=1.0 Type=Application Termin ...

  8. robotframework+Selenium2Library 模态窗口的处理

    原文链接:https://www.cnblogs.com/zuola/p/5750018.html   所谓模态窗口,就是指除非采取有效的关闭手段,用户的鼠标焦点或者输入光标将一直停留在其上的对话框. ...

  9. bzoj 4328 始祖鸟

    4328: JSOI2012 始祖鸟 Time Limit: 10 Sec  Memory Limit: 256 MBSec  Special JudgeSubmit: 76  Solved: 52[ ...

  10. 记踩坑--Flask Web开发:S6电子邮件 ----[Errno 11004] getaddrinfo failed

    必须要记录下踩过的坑,一来,为后来者铺路,二来,实在摔得疼,提醒自己写代码要谨小慎微. [Errno 11004] getaddrinfo failed 1.先排除邮箱账号和授权码的错误 测试如下代码 ...