您的位置:首页 > 数据库 > Oracle

Oracle11g 系列教程之一:数据库基础 推荐

2009-09-28 14:57 453 查看
[align=center]第一节课 数据库基础[/align]
[align=center]杜飞[/align]
[align=center]2009-09-28[/align]
一、数据库基本术语
从今天开始我们来一起学习ORACLE11G的相关内容:大家都知道ORACLE是数据库相关的技术,那么我们的学习就从数据库相关的几个术语开始,我们先来看两个术语:
信息和数据,
信息:讲到信息大家一定不会陌生,因为我们生存的社会就是一个信息社会,但是如果我们想切确的给信息下一个定义,去显示不是很那么很容易,就信息科学认为还是很复杂的,那么我们在这里就把复杂的东西简单来讲:信息就是一切“表述”(或反映)事物的内部或外部互动状态或关系的这么一个东西。自然界的刮风下雨、电闪雷鸣,生物界的扬花授粉、鸡叫蛙鸣,人类社会的语言交流、书信往来,都属于信息传播的范畴。那么我们现在周围的信息越来越多,为了更有效的管理和利用信息.我们就想到利用计算机来对信息进行管理那么就出现了另一个术语:数据
那么什么又是数据呢?
数据是描述事物属性的符号,可以是数字、文字、图形、图像、声音、语言甚至影视、动画等。这些数据的多种表现形式,都可以经过数字化后存入计算机。所以说数据是数据库存储的基本对象。也就是说在计算机中,为了存储和处理我们人类所使用的信息,就使用一些事物的特征,然后组合成一条记录来表示.即现实世界中的一切事物都可以用数据来表示和描述。例如我现在准备表示:“杜飞这个人的信息”:
杜飞 男 30 计算机系 教研室 1312043xxxx
所以我们可以看到信息和数据之间存在不同,但也有必然的联系。
早期的计算机主要用于科学计算,如早期就是用于计算弹道轨迹,但后来逐步用于数据处理,发展到现在经历了三个阶段:
一、人工管理阶段
这个阶段主要在20世纪50年代中期以前,因为当时计算机硬件的发展还是成熟,只有纸带和卡片等所谓的外部存储器,没有现在我们现在“高科技”的硬盘等,至于软件也没有现在的各种人性化的操作系统,没有专门用于管理数据的软件,那么数据以符号的方式存放到纸带或卡片上顺序输入到计算机中进行处理。这个阶段的特点如下图所示:



特点总结如下:
1 数据不保存:主要是因为没有相应的存储设备
2 数据不能共享:每个数据面向某个应用程序,存在对应关系,不能共同使用,因此造成3 数据的冗余。
4 数据不具有独立性 数据和程序紧密结合,当数据的结构发生变化,则应用程序必须随之修改。
二、文件管理阶段
这个阶段主要是50年代到60年代中期。这个时候计算机的发展又上了一个台阶,硬件方面出了磁盘,磁鼓等存储设备,这就意味着数据可以保存下来。软件方面主要是出现了OS,我们都知道OS有五大基本功能:处理器管理,存储器管理,文件管理,设备管理,作业管理,而这里就利用了其中的文件管理来对数据进行管理。那么这个阶段有如下特点:



总结如下:
1 数据可以保存
2 由文件系统管理数据:文件系统是通过中间的一个接口来进行管理,使得应用程序采用统一的存取方式来操作数据。
3 数据共享性差: 文件系统只负责存放数据,而各个文件之间没有联系在一起。即文件文件的冗余性较大。
4 数据不具有独立性。
三、数据库管理阶段
主要是60年代后期至今,数据库管理阶段实现了数据与数据之间的联系,可以实现对数据进行统一集中的管理。使得数据的存取独立于应用程序,实现数据的共享。数据库系统也是以文件的形式管理和存储数据的,但它是数据的一种高级组织方式,它使用DBMS技术来实现对数据的统一管理,把应用程序所需要的所有数据都按照一个统一的格式以记录为单位进行存储。如图所示:



特点如下:
1 数据共享
2 数据结构化(关系结构)
3 数据独立性
4 可控数据冗余度
5 统一数据控制控能(安全性、并发性)
那么我们哆哩哆嗦讲了这么多,主要就是为了表述数据库管理阶段相对于人工管理阶段和文件管理阶段有很大的优越性。那么有朋友可能就要问了,那么到底什么是数据库呀,给数据库下一下定义:简单来说,就是为了满足用户的需要,按照一定的数据结构对数据进行组织,存储和使用的数据集合。所以从这个定义中我们可以看到数据库中存储的是数据的集合,那么我们用户如何实现对这么数据进行管理和使用。那么又要引入另一个术语:数据库管理系统
DBMS(数据库管理系统):对数据库进行维护和管理的软件。用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作
所以我们主要学习的就是如何利用DBMS来实现对数据库的操作,管理和维护,DBMS有很多如; Oracle SQL Server MySQL……
那么概念到此还没有介绍完,还有一个概念我们需要知道:
DBS:数据库系统:
含义是指研究、开发、建立、维护和应用数据库系统所涉及的理论、方法、技术所构成的学科。在这一含义下,数据库系统是软件研究领域的一个重要分支,常称为数据库领域。
一个数据库系统要包括四个主要部分:
– 数据库
– 用户(分为最终用户、程序员、DBA)administrator
– 软件(数据库管理软件、应用软件)
– 硬件设备
二、概念模型
概念模型是指在信息世界中为研究“对象和过程”所建立的较为抽象的模型,它是一种不依赖于计算机软件和硬件的具体实现的一种模型。它是从用户的想法和观点出发,结合商业规则和设计人员的经验,将现实世界的需求用更直观的方法表达出来。
在信息世界中,常使用实体-关系(Entity-Relationship Approach)简称为ER方法来分析逻辑模型。
其中涉及到的基本概念有如下几个:
实体(Entity):客观存在并可以相互区分的人、事、物,例如人、物、实际的对象、某些概念或事物之间的联系。
属性(Attribute):实体所具有的某一特征,一个实体可以由若干个属性来刻画。
关系(Relationship):实体之间的联系。如员工和部门之间,学生与专业之间,员工和企业之间等等都有一定的关系。而这个关系一般有3种类型:
1:1类型: 即一对一的关系。如一个厂长只能负责一个工厂,返之一个工厂只有一个厂长。
1:m类型:即一对多的关系。一个工厂可以有多个员工,但一个员工只能属于一个工厂。
m:n类型:即多对多的关系。一个学生可以学习多门课程,一门课程有多个学生选修。
三种关系的图形表示方法如下图:



概念模型的表示方法最常用的是实体-联系方法(Entity-Relationship Approach),是程品山先生于1976年提出的,该方法是用E-R图来描述某一组织的概念模型。
E-R方法是抽象和描述现实世界的有力工具。也是目前数据库设计人员最常用的方法。
下面通过举例给出E-R图的具体画法:
用矩形表示实体, 用椭圆表示属性,用菱形表示关系。



刚才我们介绍的是概念模型,概念数据模型是按用户的观点对数据和信息建模,是现实世界到信息世界的第一层抽象。 那么下面咱们来看一下数据模型
三、数据模型
如果想搞清楚数据模型到底是什么小东东?就必须从数据存储的过程看起:
数据存储的过程就是:对现实生活中事物特性的认识、概念化到计算机数据库里的具体表示的逐级抽象的过程。即涉及现实世界—概念世界—机器世界 三个领域。
1、现实世界:事物本身的性质决定。
2、概念世界:现实世界在人们头脑中的反映,是对客观事物及其联系的一种抽象描述。只考虑数据本身的结构与相互间的自然联系。与计算机的具体实现无关。
3、机器世界(数据世界|存储世界)
那么我们要讲到的数据模型就是将概念世界中的事物数据化的结果。
数据模型:为准确地反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结构就称为数据模型。任何一种数据库系统都是基于某种数据模型的。
按照数据库管理系统所支持的数据模型划分为层次数据库、网状数据库、关系数据库三种类型。可以说关系数据库是在层次数据库和网关数据库之后发展起来的一种数据库。1970年IBM公司的一个博士写Codd写了一篇论文《大型共享数据库的关系模型》提出了关系模型的概念。一语惊醒梦中人,大家在茫茫大海中找到了方向, 关系型占到其中的90%,如Oracle,SQL Server,MySQL等等就属于关系型数据库。.IBM对数据库的发展功不可没,
层次型数据库(又称树型):
特征:有且仅有一个结点无双亲,这个结点称为根结点。其他结点有且仅有一个双亲结点。




网状型数据库:
特征:可以有一个以上的结点无双亲. 至少有一个结点有多于一个的双亲.
层次模型与网关模型不同之处主要有三点:
(1) 层次模型中子女到双亲的联系是唯一的,而网状模型则可以不唯一.因此在网状模型中就不能只用双亲是什么记录来描述记录之间的联系,而必须同时指出双亲记录和子女记录,并给每一种联系命名,即用不同的联系名来区分。
(2) 网状模型中允许使用复合链。层次型则不可以。即两个记录之间可以有两种以上的联系。如图(3)




当然我们的重点还是要放在关系型数据库上:
关系模型:关系数据库是以二维表格的形式存储各种类型的数据,它是二维表的集合。而我们上小学的时候就已经学习了二维表格有行和列组成,那么在我们的数据库中一行表示该实体的一个实例,一列表示该实体的一个属性。如图所示:
学员表:



下面列出了关系模型中的常用概念。
关系:可以理解为一张二维表,每个关系都具有一个关系名,就是通常说的表名。
元组:可以理解为二维表中的一行,在数据库中经常被称为记录。
属性:可以理解为二维表中的一列,在数据库中经常被称为字段。
域:属性的取值范围,也就是数据库中某一列的取值限制。
关键字:一组可以唯一标识元组的属性。数据库中常称为主键,由一个或多个列组成。
关系模式:指对关系的描述,其格式为:关系名(属性1,属性2,…,属性N)。在数据库中通常称为表结构。
SQL 标准:
SQL全称是“结构化查询语言(Structured Query Language)” 是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司70年代推出以来,SQL语言,得到了广泛的应用。1979年ORACLE公司首先提供商用的SQL。如今无论是像Oracle ,Sybase,Informix,SQL server这些大型的数据库管理系统,还是像Visual Foxporo,PowerBuilder这些早期的数据库开发系统,都支持SQL语言作为查询语言。也就是说SQL已成为关系型数据库管理系统的一个公共语言。SQL 语言又分为四大部分:
数据操纵语言DML(INSERT, UPDATE, DELETE语句)
数据定义语言DDL(如CREATE, DROP等语句)
数据控制语言DCL(如COMMIT, ROLLBACK等语句)
数据查询语句,也就是博大精深的Select 语言。
这些都是我们后期要学习的内容。
四、 网络数据库
如果从发展的角度来讲数据库应该分为单机版和网络版,但现在如果还在此和大家讨论单版就显得没有实际意义了,现在所使用的全部都是网络版数据库。那么这个体系中就存在两个角色;
数据库服务器和客户机
服务器端:把数据库管理系统安装在某个机器上,如ORACLE,SQL Server,MySQL等等。那么这个机器就是一个数据库服务器。
客户端:这类机器上一般不需要安装DBMS的核心组件,只需要安装客户端工具即可,通过此工具即可连接到服务器端进行相应的工具。当然在此必须知道对方所使用的端口号,ORACLE所使用的默认端口号为:1521。
当然关系数据库基础还有很多的内容,但为了不至于让大家睡着,咱们今天就介绍这么多,在以后的课程中咱们会逐步介绍。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息