【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程序进行操 ...
随机推荐
- Win2008r2 设置 多用户同时远程
Study From http://blog.sina.com.cn/s/blog_7ebe66420101tfln.html 1. 启动远程桌面,关闭防火墙 略过不提 2. 添加远程服务角色, 打开 ...
- 写出完整版的strcpy函数及其他如:strcat,strcmp,strstr的函数实现
(---牛客网中刷题---)写出完整版的strcpy函数 如果编写一个标准strcpy函数的总分值为10,下面给出几个不同得分的答案: 2分 1 2 3 4 void strcpy( char *st ...
- 怎么把焦点放在RichEdit的最后一行
急急急!!!!如何把焦点放在RichEdit的最后一行!! 请高手指点,在线等!!!!当添加到出现滚动条时焦点就不会往下了,怎么把焦点移到最后一行 RichEdit-> Lines-> A ...
- MT【201】折线计数
甲乙两人参加竞选,结果甲得n票,乙得m票(n > m) . 则在唱票过程中,甲的累计票数始终超过乙的累计票数的概率是_____________. 答案:$\dfrac{n-m}{n+m}$
- GDOI2018 Day1 题目总结
T1:农场 题意:有一个长为 $n$ 的序列 $a$,要求将其分成尽可能多的部分,使得每一部分的 $a_i$ 的和相等.求最多能分成的部分数. $30\%:1\le n\le 1000$ $80\%: ...
- BZOJ4589 Hard Nim(快速沃尔什变换FWT)
这是我第一道独立做出来的FWT的题目,所以写篇随笔纪念一下. (这还要纪念,我太弱了) 题目链接: BZOJ 题目大意:两人玩nim游戏(多堆石子,每次可以从其中一堆取任意多个,不能操作就输).$T$ ...
- (转)Maven学习总结(四)——Maven核心概念
孤傲苍狼只为成功找方法,不为失败找借口! Maven学习总结(四)——Maven核心概念 一.Maven坐标 1.1.什么是坐标? 在平面几何中坐标(x,y)可以标识平面中唯一的一点. 1.2.Mav ...
- 【DS】排序算法之插入排序(Insertion Sort)
一.算法思想 一般来说,插入排序都采用in-place在数组上实现.具体算法描述如下:1)从第一个元素开始,该元素可以认为已经被排序2)取出下一个元素,在已经排序的元素序列中从后向前扫描3)如果该元素 ...
- bzoj千题计划185:bzoj1260: [CQOI2007]涂色paint
http://www.lydsy.com/JudgeOnline/problem.php?id=1260 区间DP模型 dp[l][r] 表示涂完区间[l,r]所需的最少次数 从小到大们枚举区间[l, ...
- kubeadm部署Kubernetes集群
Preface 通过kubeadm管理工具部署Kubernetes集群,相对离线包的二进制部署集群方式而言,更为简单与便捷.以下为个人学习总结: 两者区别在于前者部署方式使得大部分集群组件(Kube- ...