一直想学oracle但都没有下定决心。这次借了书,一定要学好oracle。

目前学习 《Oracle从入门到精通》 明日科技 的Oracle 11g 版本

关系型数据库的基本理论

数据模型:层次模型、网状模型、关系模型(最普及)

关系:由行和列交叉组成的二维表格,一行为一个元组,代表一个实体;一列为一个属性

关系的性质

①属性值不可分解

②没有重复的元组,即没有重复的行

③理论上没有行序,有时候也可以有行序

④超键:在一个关系中,唯一标示元组的属性或属性集

⑤候选键:能唯一标示元组,且不含多于属性的属性集

⑥主键:若有多个候选键,选择其中一个做主键

⑦外键:关系 A 的主键 T 放在关系 B 中,则 T 是 B 的外键

E-R模型:关系型数据库的逻辑模型,通过实体和关系组成的图形表示。由实体属性联系3部分组成。

实体:矩形表示。

属性:椭圆表示。

联系:菱形表示,一对一、一对多、多对多。

关系型数据库的设计范式

关系包括关系模式和关系值。

关系模式:对关系的抽象定义,给出了关系的具体结构;

关系的值:关系的具体内容,反映关系在某一时刻的状态

每个元组都是符合关系模式的一个具体值。

规范化:把数据库组织成在保持存储数据完整性的同时最小化冗余数据的结构的过程。规范化必须符合关系模型的范式规则,防止出现不一致数据和数据丢失。

范式:包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)、第六范式(6NF)和BCNF范式等。通常满足前三个范式即可。

1、第一范式(1NF)

①数据组每个属性只能包含一个值

②关系中的每个数组必须包含相同数量的值

③关系中每个数组一定不能相同

2、第二范式(2NF)

在第一范式的基础上,要求数据库表中的每一个实体必须可以被唯一地区分。实体属性必须完全依赖于主关键字,不能只依赖主关键字的一部分。

如:(员工编号、岗位)->(决定)(姓名、年龄、学历、基本工资、绩效工资、奖金)

其中(员工编号)->(决定)(姓名、年龄、学历)

(岗位)->(决定)(基本工资)

应拆为三张表:

员工档案表(员工编号、姓名、年龄、学历)

岗位工资表(岗位、基本工资)

员工工资表(员工编号、岗位、绩效工资、奖金)

3、第三范式(3NF)

在第二范式的基础上要求关系表中不存在非关键字列对任意候选关键字列的传递函数依赖。即一个关系表中不包含已在其他表中已包含的非关键字信息。

如:(员工编号)->(决定)(员工姓名、年龄、部门编号、部门经理)

隐含 (员工编号)->(决定)(部门编号)->(决定)(部门经理)

应拆为:

(员工编号、员工姓名、年龄、部门编号)

(部门编号、部门经理)

【oracle】入门学习(一)的更多相关文章

  1. Oracle入门学习笔记

    参考文献 中文教程     http://wenku.baidu.com/view/b425f404e87101f69e319566.html 经典教程     http://wenku.baidu. ...

  2. Oracle 入门学习笔记

    linux命令 查看linux系统版本号 uname -r 或 uname -a 查看linux发行版本号 cat /etc/redhat-release 查看linux具体版本号 cat /proc ...

  3. oracle入门学习之oracle数据库结构

    1. oracle数据库结构 1.1 Oracle可以看做是一个大的数据库???,里面可以创建很多实例; 一个实例对应多个表空间.多个用户; 一个用户只能有一个表空间; 一个表空间可以有多个用户; 一 ...

  4. Oracle RAC学习笔记:基本概念及入门

    Oracle RAC学习笔记:基本概念及入门 2010年04月19日 10:39 来源:书童的博客 作者:书童 编辑:晓熊 [技术开发 技术文章]    oracle 10g real applica ...

  5. PowerDesigner最基础的使用方法入门学习(转)

    PowerDesigner最基础的使用方法入门学习   1:入门级使用PowerDesigner软件创建数据库(直接上图怎么创建,其他的概念知识可自行学习) 我的PowerDesigner版本是16. ...

  6. DBS-PowerDesginer:PowerDesigner最基础的使用方法入门学习

    ylbtech-DBS-PowerDesginer:PowerDesigner最基础的使用方法入门学习 1.返回顶部 1. 1:入门级使用PowerDesigner软件创建数据库(直接上图怎么创建,其 ...

  7. ElasticStack的入门学习

    Beats,Logstash负责数据收集与处理.相当于ETL(Extract Transform Load).Elasticsearch负责数据存储.查询.分析.Kibana负责数据探索与可视化分析. ...

  8. 【转载】salesforce 零基础开发入门学习(三)sObject简单介绍以及简单DML操作(SOQL)

    salesforce 零基础开发入门学习(三)sObject简单介绍以及简单DML操作(SOQL)   salesforce中对于数据库操作和JAVA等语言对于数据库操作是有一定区别的.salesfo ...

  9. vue入门学习(基础篇)

    vue入门学习总结: vue的一个组件包括三部分:template.style.script. vue的数据在data中定义使用. 数据渲染指令:v-text.v-html.{{}}. 隐藏未编译的标 ...

  10. Hadoop入门学习笔记---part4

    紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...

随机推荐

  1. 【设计模式】—— 备忘录模式Memento

    前言:[模式总览]——————————by xingoo 模式意图 这个模式主要是想通过一个对象来记录对象的某种状态,这样有利于在其他需要的场合进行恢复. 该模式还有跟多可以扩展的地方,比如可以记录多 ...

  2. 【设计模式】—— 解释器模式Interpret

    前言:[模式总览]——————————by xingoo 模式意图 自定义某种语言后,给定一种文法标准,定义解释器,进行解析. 做过搜索的朋友们可能更了解一些,平时我们搜索所需要的词库,通常就需要用这 ...

  3. python中安装pandas

    在运行网上找的代码时,报错:ImportError: No module named 'pandas',解决:安装pandas安装过程:(因为网上教程有的说用pip命令行安装:有的直接下载安装包,然后 ...

  4. MT【183】借力打力

    (2011安徽省赛)设$f(x)=ax^3+bx+c(a,b,c\in R)$,当$0\le x \le1$时,$0\le f(x)\le1$,求$b$的可能的最大值. 分析:$f(0)=c,f(1) ...

  5. 【转】汽车CAN总线

    概述 CAN(Controller Area Network)总线协议是由 BOSCH 发明的一种基于消息广播模式的串行通信总线,它起初用于实现汽车内ECU之间可靠的通信,后因其简单实用可靠等特点,而 ...

  6. 洛谷 P1654 OSU! 解题报告

    P1654 OSU! 题目描述 osu 是一款群众喜闻乐见的休闲软件. 我们可以把osu的规则简化与改编成以下的样子: 一共有\(n\)次操作,每次操作只有成功与失败之分,成功对应\(1\),失败对应 ...

  7. Django入门项目实践(上)

    项目结构 1.建立项目 File -->> New Project... 第一个Location是项目所在的目录,第二个Location是项目独立的Python运行环境,我们称之为Virt ...

  8. NOI Linux的安装说明以及使用指南

    安装 本人的安装环境为Win10. 1. 首先从官网上下载一个CCF官方提供的Noi linux虚拟机以及安装文档 传送门 2. 然后,安装一个VMware Workstation 14 Pro,这里 ...

  9. LRN

    转自https://blog.csdn.net/u011204487/article/details/76026537 LRN全称为Local Response Normalization,即局部响应 ...

  10. windows下非管理员权限安装mysql

    windows下,mysql有两种安装方式: 1.msi安装 2.zip安装 无论是哪种安装方式,都因为需要将mysql安装为一个服务,所以必须要以管理员权限安装. 因为公司的换了虚拟机,无法取得管理 ...