一直想学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. Java微信二次开发(二)

    第二天,做微信文本消息接口请求与发送 需要导入库:dom4j-1.6.1.jar,xstream-1.3.1.jar 第一步:新建包com.wtz.message.response,新建类BaseMe ...

  2. 洛谷P4299 首都(BZOJ3510)(LCT,树的重心,二分查找)

    Update:原来的洛谷U21715已成坑qwq 已经被某位管理员巨佬放进公共题库啦!又可以多一个AC记录啦! 洛谷题目传送门 其实也可以到这里交啦 思路分析 动态维护树的重心 题目中说到国家的首都会 ...

  3. Vitrualbox 桥接网卡界面名称未指定、Filters currently installed on the system have reached the limit、不能为虚拟电脑 打开一个新任务

    1. 桥接网卡界面名称未指定 http://wenku.baidu.com/link?url=VFG0hknsDX3VPXQoX5f-g1wUX_LBl-lOj0ZqD222kM31iVCPJKVu3 ...

  4. 【转】vi 写完文件保存时才发现是 readonly

    在MAC上编辑apache配置文件,老是忘记sudo…… readonly的文件保存时提示 add ! to override, 但这仅是对root来说的啊! 百毒了一下竟然还有解决方案!! :w ! ...

  5. 【模板】BM + CH(线性递推式的求解,常系数齐次线性递推)

    这里所有的内容都将有关于一个线性递推: $f_{n} = \sum\limits_{i = 1}^{k} a_{i} * f_{n - i}$,其中$f_{0}, f_{1}, ... , f_{k ...

  6. 利用EF和C#泛型实现通用分页查询

    利用EF和C#泛型实现通用分页查询       Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (ORM) 解决方案,是微软的ORM框架.此框架将数据库中的 ...

  7. ctrl+E 快速显示当前打开的编辑列表

    ctrl+E 快速显示当前打开的编辑列表

  8. nginx代理服务器3--高可用(keepalived)

    keepalived即健康检查,不停的发送心跳包检查nginx是否活着.Nginx至少两台,一主一备.

  9. 「Django」浏览+1的操作

    适应于网页.文章等浏览次数统计 1.Models设置:添加viewed方法 class NewsTitle(models.Model): title = models.CharField(max_le ...

  10. centos6 pyenv和virtualenv搭建python虚拟环境

    安装pyenv 基础环境软件包安装 yum -y install gcc gcc-c++ make git patch openssl-devel zlib-devel readline-devel ...