【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)

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

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

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

应拆为:

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

(部门编号、部门经理)

时间: 2024-10-06 19:18:36

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

oracle入门学习笔记

Oracle学习笔记 推荐书籍:<Oracle有用教程(从入门到精通)>.<深入浅出Oracle> 1. 当前主流数据库: |-微软:SQL Server.access |-瑞典:Mysql |-IBM: DB2 |-Sybase: Sybase |-Oracle:Oracle A. 小型数据库:access.foxbase. 负载量小,100人内,成本千元内,安全性要求不高. 比如留言板等. B. 中型数据库:Mysql.SQL Server.Informix.日訪问量5000-

oracle入门(1)——安装oracle 11g x64 for windows

[本文简介] 最近因为一个项目的需要,从零学习起了oracle,现在把学到的东西记录分享一下. 首先是安装篇,在win8 装10G 一直失败,网上各种方法都试过了,最后不得不放弃,选择了11G. 11G的安装很简单,基本是“下一步”——“完成”的模式,本文只是介绍哪些步骤需要注意一下和里面相应名词的解释, 以后可能要用到这些信息. [安装典型步骤] 1.典型安装 这里需要记住被红圈圈起来的 “全局数据库名” 和 “管理口令” (1)全局数据库名:要与下面的SID区分开来,是数据库真正的唯一标识,

oracle入门(个人参考笔记)

Oracle入门 数据库服务器.数据库和表的关系 所谓安装数据库服务器,只是在机器上装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库. 为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据. 数据库服务器.数据库和表的关系如图所示: oracle管理工具的介绍(1) sql*plus是oracle自带的工具软件,主要用于执行sql语句,pl\sql块. 如何使用: 1)在开始->程序->oracle oradb_home10

入门学习Python必须要知道的知识点

Python被誉为全世界高效的编程语言,同时也被称作是"胶水语言",那它为何能如此受欢迎,下面我们就来说说Python入门学习的必备知识点,也就是它为何能够如此受欢迎的原因. 1.Python适用于哪些应用场景? 这个没有固定答案,很多人都说Python不适合开发GUI的程序,但Python自己的IDE--IDEL和第三方的IDE--Eric就是Python写的. 目前看到的更多的人是拿来写Web,使用如Django.web.py框架,没记错Flask也是. 也有一个情况用的比较多,用

ElasticStack的入门学习

Beats,Logstash负责数据收集与处理.相当于ETL(Extract Transform Load).Elasticsearch负责数据存储.查询.分析.Kibana负责数据探索与可视化分析. 1.Elasticsearch 6.x版本的安装,我这里使用Elasticsearch 6.7.0版本的. 备注:之前安装过5.4.3版本的,https://www.cnblogs.com/biehongli/p/11643482.html 2.将下载好的安装包上传到服务器上面,或者你在线下载也可

Retrofit 入门学习

Retrofit 入门学习官方RetrofitAPI 官方的一个例子 public interface GitHubService { @GET("users/{user}/repos") Call<List<Repo>> listRepos(@Path("user") String user); } 这些注解都有一个参数 value,用来配置其路径,比如示例中的 users/{user}/repos, 我们还注意到在构造 Retrofit

JavaSE入门学习21:Java面向对象之接口(interface)(二)

一接口实现的多态 在上一篇博文:JavaSE入门学习20:Java面向对象之接口(interface)(一)中提到了接口的实现存在多态性,那么 这一篇主要就要分析接口实现的多态. 实例一 Test.java源文件代码: public class Test{ public static void main(String[] args){ //实现接口Singer Singer s1 = new Student("Amy"); s1.sing(); s1.sleep(); s1.study

[Todo] Nodejs学习及Spider实验(包括php入门学习、React入门学习)

/Users/baidu/Documents/Data/Interview/Web-Server开发 深入浅出Node.js-f46c http://blog.csdn.net/u012273376/article/details/52736906 利用nodejs做爬虫 http://www.runoob.com/nodejs/nodejs-callback.html nodejs学习之路 http://www.runoob.com/php/php-tutorial.html php学习之路

JavaSE入门学习24:Java面向对象补充

一Java中的Object类 Object类是所有Java类的父类,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认 继承Object类. public class Person{ // } //等价于 public class Person extends Object{ // } Object类中的方法,适合所有子类. 1)toString()方法 在Object类中定义有public String toString()方法,其返回值是String类型,描述当前对

js入门学习

在HTML,CSS学习的最后,开始入门学习javascript, 首先就是去了解它的用途 作用:使web页面能够与用户交互,作为控制浏览器给网页增添活力的方法 定义:它是一种脚本语言,作用于浏览器.和java没有半毛钱关系,主要是当时Netscape公司为了增加影响力改了名,,(是不是感觉很无耻) ps:区分程序的一种方式:1.客户端程序(client-side),像javascript就是,我觉得HTML,CSS应该也是. 2.服务器端程序(server-side),java,perl,php