好吧,我也未能免俗,因为在公司的年终目标上写了要学习Oracle,今天开始Oracle,给大家温过知新一下吧!不会砸我把!~嘎嘎。

其实,说真的,我很不想写理论这方面的,可是为了一个系列的完整性,我还是硬着头皮写吧。我会尽量用通俗化的口语来说那些比较生硬的专业术语,当然这里也有一些不严谨的地方,还请各位看官海涵。

好吧,刚开始其实和Oracle关系不大,都是数据库的基础知识,到第四部分才开始!~~~

---------------------本期目录导航------------------

1.关系数据库模型

2.数据库中的函数依赖

3.数据库的范式

4.Oracle应用系统结构

5.安装Oracle 11g

1.关系数据库模型

1.1 关系数据库中的一些术语

好吧,其实我第一次学习数据库的时候,我特别的烦这些术语,本来很简单的很容易懂的词语,被他们整的。。。

二维表:就是一张表,比如我们打开excel,这里可以粗略的看成一个表的结构吧。所以说,关系的逻辑结构就是一个二维表。

关系(Relation):对应我们平时看见的一张表。

元组(Tuple):一个二维表里的一行

属性(Attribute):表中的一列

域(domain):属性的取值范围,比如一个属性年龄,那么这个年龄的取值范围在0到130,这就是一个域。

关键字或码(key):也就是我们常说的主键,它能唯一的确定一个元组,也就是能唯一的确定一行。比如 学生号,那么它能确定学生姓名等等。

关系模式(Relation Schema):对关系的描述,比如关系名(属性1,属性2,属性3...)

1.2关系操作

关系数据模型中常用的关系操作:查询(Query)、插入(Insert)、删除(delete)和更新(update)

关系操作中最重要的关系查询操作:选择(select)、投影(project)、连接(join)、除(divide)、并(union)、差(except)、交(intersection)以及笛卡尔积等等。

1.3关系的完整性

实体完整性:就是数据库表格中的主键不能取空值;当属性由属性组(不止一个属性)组成时,属性组中的属性均不能为空值。

参照完整性:关系模型中实体及实体间的联系都是用关系来描述的。参照完整性则是相关联的两个表之间的约束,具体的说,就是从表中每条记录外键的值必须是主表中存在的,因此,如果在两个表之间建立了关联关系,则对一个关系进行的操作要影响到另一个表中的记录。

外键:如果有属性关键字在一个表中是主关键字,那么这个属性关键字被称为另一个表的外键。外键表示了两个关系之间的联系。

如果一个属性是参照性完整性,那么它的值只能是:

1.空值,表示没有给它赋值

2.不是空值,那么必定在一个主表中的值范围中

(解释这个真累呀,呵呵~)

自定义完整性:实体完整性和参照系完整是每一个关系数据库都必须要支持的完整性。那自定义就不必了,从字面上也可以看出,就是自己定义的意思。打个比方说,你有一个性别这个属性,那么你可以只定义只能允许为“女”。这个号理解。

2.数据库中的函数依赖

所谓函数依赖是指关系中一个或一组属性的值可以决定其它属性的值。函数依赖正象一个函数 y = f(x) 一样,x的值给定后,y的值也就唯一地确定了。

2.1函数依赖的种类

2.1.1完全函数依赖和部分函数依赖

完全函数依赖:在一个关系中,若某个非主属性数据项依赖于全部关键字称之为完全函数依赖。

比如:有一个表,有如下属性:学生ID,学生姓名,所修课程ID,课程名称,成绩

完全依赖:(学生ID,所修课程ID)→成绩

成绩既不能单独依赖于学生ID,也不能单独依赖于所修课程ID,因此成绩完全函数依赖于关键字。

(学生ID,所修课程ID)→学生姓名

部分依赖:学生ID→学生姓名

学生姓名可以依赖于关键字的一个主属性——学生ID,因此学生姓名部分函数依赖于(学生ID,所修课程ID)。

2.1.2 平凡函数依赖和非平凡函数依赖

平凡函数依赖:当关系中属性集合Y是属性集合X的子集时,存在函数依赖X→Y,即一组属性函数决定它的所有子集,这种函数依赖称为平凡函数依赖。

例如:在在关系学生课程表SC(学生号Sno,课程号 Cno,成绩 Grade)中,

(Sno, Cno) → Sno ,(Sno, Cno) → Cno

非平凡函数依赖:当关系中属性集合Y不是属性集合X的子集时,存在函数依赖X→Y,则称这种函数依赖为非平凡函数依赖。

例如:(Sno, Cno) → Grade

2.1.3 传递函数依赖

传递函数依赖:设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),Y→Z,则称Z传递函数依赖于X。

例:关系S1(学号,系名,系主任)

学号 → 系名,系名 → 系主任,并且 系名 -\→ 学号,所以 学号 → 系主任 为传递函数依赖

3.数据库的范式

好处:

① 减少数据冗余

②改进数据库整体组织

③增强数据的一致性

④增加数据库设计的灵活性

3.1 第一范式(1NF)

如果关系模式 R ,它的每个属性分量都是一个不可分割的数据项,则称 R 符合第一规范,记 R∈1NF

例子:

例子来源(以下同):数据库范式——通俗易懂

3.2第二范式(2NF)

若 R∈1NF 且每个非主属性完全依赖于码(也就是主键),则称 R∈2NF

例子:

那怎么办呢?

3.3 第三范式(3NF)

第三范式(3NF):符合2NF,并且,消除传递依赖

例子:

OK ,一般来说,了解范式,能做到第三范式就很好了。如果还需要进一步了解的话,可以看下面的博客:

数据库范式——通俗易懂

四。Oracle应用系统结构

4.1 单磁盘独立主机结构

这种是最简单、也是最常用的结构。该结构就只有一台计算机,并且使用一个硬盘。我们现在用的基本都是这个哦!~

它只有一个数据库服务(DBMS)、一个数据库结构(数据库文件),并且这些数据文件都存储在一个物理磁盘上。

4.2 多磁盘独立主机结构

它也只有一台计算机,但是该计算机应用了多个硬盘。

这样子可以减少数据库的链接数量,减少数据文件的磁盘I/O。

如果在这个磁盘上采用磁盘镜像技术(RAID,独立磁盘冗余阵列技术),则所有数据库文件在每个硬盘上都有完整的备份,任何一个此胖发生故障后,都能由镜像磁盘代替其工作,并可对其进行维修、恢复,提高了硬件的可靠性。

而且,处理一个事物可能需要多个文件的信息是很普遍的事情,所以在这个多磁盘结构中,还可以将数据库文件分别存放在不同的硬盘中,以便减少数据库文件之间的竞争数量,从而提高数据库的性能。

4.3 Oracle 客户/服务器系统结构(C/S)

在C/S结构模式中,所有的数据集中存储在服务器中,数据处理由服务器完成,通常来说采用硬件资源配置比较高的机器作为服务器,使用配置比较低的作为客户机。

服务器与客户端之间通过专用的网络连接,一般为局域网或企业内部网。

Oracle使用SQL*Net 在客户端与服务器之间进行通信。

4.4 Oracle 浏览器/服务器系统结构(B/S)

如下为B/S 3层系统结构,在B/S的3层模型中,客户端应用程序通常采用Web浏览器展示,所以客户端也称为瘦客户。

在客户机上没有加载的程序代码,所有的程序都存储在web服务器上吗。如果客户端要访问数据,则访问请求通过网络被发送到Web服务器,然后由Web服务器将请求传递到数据库服务器,经过数据库服务器处理的数据以HTML的格式在客户端Web浏览器显示。

4.5 Oracle 分布式数据库系统结构

数据库系统可按数据分布方式分为集中式数据库系统和分布式数据库系统。

集中式数据库系统是将数据集中在一台计算机上面,而分布式数据库系统是存放在有计算机网络连接的不同计算机上面。如图:

由上可知,分布式数据库系统有以下几部分组成:

局部数据库管理系统:创建和管理局部数据库,执行局部和全局应用的子查询。

全局数据库管理系统:协调各个局部数据库管理系统,共同完成事物的执行,并保证全局数据库执行的正确性和全局数据库的完整性。

通信管理:实现分布在网络中的各个数据库之间的通信。

全局数字字典:存放全局概念模式。

局部数据库:查询全局数据库信息。

Oracle在网络环境中使用SQL*Net、Net8或Net8i 等进行客户端与服务器、服务器与服务器之间的通信。在分布式数据库中,各个服务器之间可以实现数据的实时、定时复制。通过Oracle的远程数据复制选件、触发器、快照等在多个不同地低于实现数据的远程复制。

五。安装Oracle 11g

这个很easy,这里不说明~~~网上很多教程。

不懂的点击这里:Oracle 11g 安装图解

安装完了之后,打开服务(在开始运行,打入 services.msc),看看下面三个进程是否在:

OracleDBConsoleorcl:是本地OEM控制。

Oracle<>TNSListener:坚挺程序服务。这个服务因为每台计算机的名字不同而不同。

OracleServiceORCL:Oracle 数据库实例服务,是Oracle数据库的主要服务。

原文: http://www.cnblogs.com/damonlan/archive/2012/07/09/2581739.html#2469026

转载于:https://www.cnblogs.com/jazzka702/archive/2012/09/21/2697286.html

跟我一起学Oracle 11g【1】----基础回顾相关推荐

  1. 视频教程-与你一起学Oracle 11g(下)-Oracle

    与你一起学Oracle 11g(下) 河北师大软件学院测试教室主任.项目基地测试经理;尚大学.金牌讲师.擅长技术: 项目模块化流程设计.软件测试流程设计及优化.项目管理平台的整合与应用.功能性自动化测 ...

  2. Oracle 11g 数据库基础教程

    Oracle 11g 数据库基础教程 课堂笔记 系统服务 操作系统通过服务来管理安装好的Oracle 11g数据库产品的运行 在运行Oracle数据库前,要检查数据库服务有没有启动好 开始»控制面板» ...

  3. 零基础学oracle pdf_零基础怎么学手绘插画!

    零基础学手绘插画怎么学画插画,想要画好插画需要学习的内容真的很多,学画画的过程从来不是单纯的去学,它涉及到的东西让你完全想不到有多么的广阔无际.例如透视是数学和物理及生理的综合,素描是依靠庞大的训练量 ...

  4. 零基础学oracle pdf_零基础学动漫插画详细步骤大全

    零基础学动漫插画详细步骤大全!学插画动漫大家都去轻微课,轻微课是国内最大的插画动漫在线学习平台,轻微课网站上面有大量的插画动漫视频教程.插画动漫培训课程.插画动漫图文教程.插画动漫摹素材.插画动漫大师 ...

  5. Oracle 11g数据库基础教程(第2版)-课后习题-第五章

    --第5章 --1.使用sql命令创建一个本地管理方式下自动分区管理的表空间USERTBS1,其对应的数据文件大小为20MB. CREATE TABLESPACE USERTBS1 DATAFILE ...

  6. Oracle 11g数据库基础教程(第2版)-课后习题-第七章

    BOOK NO TITLE AUTHOR PUBLISH PUB_DATE PRICE 100001 ORACLE 9I 数据库系统管理 李代平 冶金工业出版社 2003-01-01 38 10000 ...

  7. Oracle 11g数据库基础教程(第2版)-课后习题-第十四章

    --第十四章 --1.对HUMAN_RESOURCE数据库进行冷备份--1.启动sqlplus,以sysdba身份登录数据库--2.查询当前数据库所有数据文件.控制文件.联机重做日志文件的位置sele ...

  8. oracle 11g第二版课后答案,oracle 11g(钱慎一)课后习题答案

    oracle 11g数据库基础与应用教程(钱慎一)含1-8章课后习题答案 一.选择题 1. 若关系的某一属性组的值能唯一地标识一个元组,我们称之为( B ). A.主码 B.候选码 C.外码 D.联系 ...

  9. rhel6安装oracle,在RHEL6中安装Oracle 11g R2数据库

    在RHEL6中安装Oracle 11g R2数据库 2011-10-10  TsengYia#126.com http://tsengyia.blog.chinaunix.net/ ######### ...

最新文章

  1. vue.js crud_如何使用VS Code和ADO.NET使用ASP.NET Core执行CRUD操作
  2. DevExpress最强干货|实用示例、更新等你来体验!
  3. python技术开发证书_python+证书
  4. Spark源码阅读02-Spark核心原理之监控管理
  5. 本地jar文件中搜索class
  6. [2020多校A层12.3]虚构推理(语言/二分/数据结构)
  7. phantomjs搭建输出js渲染后的html接口
  8. Datawhale编程学习之排序(3)
  9. Jmeter html 报告中添加90% line time
  10. 使用matplotlib绘制K线图以及和成交量的组合图
  11. 模具设计中一些常见的问题
  12. python上传数据到坚果云_坚果云功能
  13. Ubuntu18.04 使用gnome-tweak美化系统主题
  14. 第一篇,嵌入式ubantu系统安装及常见ubantu命令,C语言数据类型和变量的定义
  15. 学习笔记---------安卓动画
  16. 【超全】Go语言超详细学习知识体系
  17. object.getClass()和Object.class的区别
  18. 骑行318、 2016.7.25
  19. oracle 取某一年1月1日的多种方法
  20. #GPA计算(python)

热门文章

  1. 腾讯首投AI芯片,领投燧原科技Pre-A轮3.4亿元融资
  2. 2018谷歌学术影响因子发布:NIPS首次跃进Top 100,CVPR排名泛AI领域第一
  3. 科大讯飞2017年报:营收54亿利润5.9亿,政府补助1.18亿
  4. 刚刚,北京正式允许无人车上路路测!准入门槛500万元
  5. C/C++ 指针小结——指针的概念和如何使用指针
  6. 前端性能监控方案window.performance 调研(转)
  7. 22. Python 模块2
  8. ssh免密码远程执行sudo命令
  9. OpenWrt中对USB文件系统的操作, 以及读写性能测试
  10. Objective-c 中 nil, Nil, NULL和NSNull的区别