【oracle】入门学习(一)
一直想学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】入门学习(一)的更多相关文章
- Oracle入门学习笔记
参考文献 中文教程 http://wenku.baidu.com/view/b425f404e87101f69e319566.html 经典教程 http://wenku.baidu. ...
- Oracle 入门学习笔记
linux命令 查看linux系统版本号 uname -r 或 uname -a 查看linux发行版本号 cat /etc/redhat-release 查看linux具体版本号 cat /proc ...
- oracle入门学习之oracle数据库结构
1. oracle数据库结构 1.1 Oracle可以看做是一个大的数据库???,里面可以创建很多实例; 一个实例对应多个表空间.多个用户; 一个用户只能有一个表空间; 一个表空间可以有多个用户; 一 ...
- Oracle RAC学习笔记:基本概念及入门
Oracle RAC学习笔记:基本概念及入门 2010年04月19日 10:39 来源:书童的博客 作者:书童 编辑:晓熊 [技术开发 技术文章] oracle 10g real applica ...
- PowerDesigner最基础的使用方法入门学习(转)
PowerDesigner最基础的使用方法入门学习 1:入门级使用PowerDesigner软件创建数据库(直接上图怎么创建,其他的概念知识可自行学习) 我的PowerDesigner版本是16. ...
- DBS-PowerDesginer:PowerDesigner最基础的使用方法入门学习
ylbtech-DBS-PowerDesginer:PowerDesigner最基础的使用方法入门学习 1.返回顶部 1. 1:入门级使用PowerDesigner软件创建数据库(直接上图怎么创建,其 ...
- ElasticStack的入门学习
Beats,Logstash负责数据收集与处理.相当于ETL(Extract Transform Load).Elasticsearch负责数据存储.查询.分析.Kibana负责数据探索与可视化分析. ...
- 【转载】salesforce 零基础开发入门学习(三)sObject简单介绍以及简单DML操作(SOQL)
salesforce 零基础开发入门学习(三)sObject简单介绍以及简单DML操作(SOQL) salesforce中对于数据库操作和JAVA等语言对于数据库操作是有一定区别的.salesfo ...
- vue入门学习(基础篇)
vue入门学习总结: vue的一个组件包括三部分:template.style.script. vue的数据在data中定义使用. 数据渲染指令:v-text.v-html.{{}}. 隐藏未编译的标 ...
- Hadoop入门学习笔记---part4
紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...
随机推荐
- 学习构建一个简单的wcf服务
入门,构建第一个WCF程序 1.服务端 建立一个控制台应用程序作为Server,新建一个接口IData作为服务契约.这个契约接口一会儿也要放到Client端,这样双方才能遵循相同的标准.别忘了添加对 ...
- 一本通1639Biorhythms
1639:Biorhythms 时间限制: 1000 ms 内存限制: 524288 KB [题目描述] 原题来自:POJ 1006 人生来就有三个生理周期,分别为体力.感情和智力周期 ...
- Nginx upstream 配置
1.轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. 2.weight指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况.例如:u ...
- BZOJ.2212.[POI2011]Tree Rotations(线段树合并)
题目链接 \(Description\) 给定一棵n个叶子的二叉树,每个叶节点有权值(1<=ai<=n).可以任意的交换两棵子树.问最后顺序遍历树得到的叶子权值序列中,最少的逆序对数是多少 ...
- 服务器启动报mybatis配置错误
启动服务器时后台报了一大堆的错误,仔细检查发现都是冲着mybatis的配置文件去的,事实上配置文件的东西很少,经过反复启动服务器,发现了只要写了where条件就报错,不写就可以正常启动,经过百度发现m ...
- 【数论Day1】 最大公约数(gcd)题目
20170529-3数论_gcd 题解: http://www.cnblogs.com/ljc20020730/p/6919116.html 日期 序号 题目名称 输入文件名 输出文件名 时限 内存 ...
- 导致 KEIL error #20 的一种情况
> 描述 <+> 环境为 KEIL5.20 & STM32F429工程,平台为 win10 <+> 结构体原形如下 @File <A.h> #incl ...
- MyBatis 源码分析——配置信息
MyBatis框架的启动前期需要加载相关的XML配置信息.从官网上我们可以了解到他具有十几个节点.其中笔者认为比较重要的节点是settings节点.properties节点.environments节 ...
- ByteBuffer: 当由一个byte[]来生成一个固定不变的ByteBuffer时,使用ByteBuffer.wrap(byte[]);
StringBuilder sb = new StringBuilder(1024); //向sb中写入900个左右的随机字符内容 for(int j=1; j< 50;j++) { sb.ap ...
- Json对象与Json字符串