数据库原理与SQL Server教程 第1章 数据库基础知识.ppt_第1页
数据库原理与SQL Server教程 第1章 数据库基础知识.ppt_第2页
数据库原理与SQL Server教程 第1章 数据库基础知识.ppt_第3页
数据库原理与SQL Server教程 第1章 数据库基础知识.ppt_第4页
数据库原理与SQL Server教程 第1章 数据库基础知识.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库原理及SQL Server,第一章 数据库基础知识,2020年9月13日星期日,C+面向对象程序设计,第一章 数据库基础知识,.1 数据管理技术的发展 .2 数据库的基本概念 .3 数据模型 .4 数据库系统结构,2020年9月13日星期日,C+面向对象程序设计,1.1 数据管理技术的发展,1.1.1手工管理阶段 1.1.2文件系统阶段 1.1.3数据库系统阶段,2020年9月13日星期日,C+面向对象程序设计,1.1.1手工管理阶段,到目前为止数据管理技术经历了三个阶段:手工管理阶段、文件管理阶段和数据库技术阶段。数据库技术是20世纪60年代末期发展起来的数据管理技术。数据库技术仍在日

2、新月异地发展,数据库技术的应用在继续深入。,2020年9月13日星期日,C+面向对象程序设计,1.1.1手工管理阶段,手工管理阶段具有以下特点: 1不保存数据 2没有软件系统对数据进行管理 3数据不共享 4数据不具有独立性,2020年9月13日星期日,C+面向对象程序设计,1.1.1手工管理阶段,手工管理阶段程序与数据之间的对应关系,2020年9月13日星期日,C+面向对象程序设计,1.1.2文件系统阶段,从20世纪50年代后期至60年代中期,计算机硬件方面已有了磁鼓、磁盘等直接存储设备,计算机软件的操作系统中已经有了专门的管理数据软件,一般称为文件系统。处理方式上不仅有了批处理,而且能够联机

3、实时处理。这时,计算机不仅用于科学计算,也已大量用于数据处理。,2020年9月13日星期日,C+面向对象程序设计,1.1.2文件系统阶段,文件系统阶段具有以下特点: 1数据以文件的形式长期保存 2由文件系统管理数据 3文件形式多样化 4数据存取以记录为单位,2020年9月13日星期日,C+面向对象程序设计,1.1.2文件系统阶段,尽管文件系统有上述优点,但是,文件系统仍存在以下缺点。 1数据共享性差,冗余度大 2数据独立性差,2020年9月13日星期日,C+面向对象程序设计,1.1.2文件系统阶段,文件系统阶段程序与数据之间的对应关系,2020年9月13日星期日,C+面向对象程序设计,1.1.

4、3数据库系统阶段,20世纪60年代后期,数据管理技术就进入了数据库系统阶段。数据库技术是在文件系统的基础上发展起来的新技术,为用户提供了一种使用方便、功能强大的数据管理手段。在这一阶段出现了统一管理数据的专门软件系统一数据库管理系统。,2020年9月13日星期日,C+面向对象程序设计,1.1.3数据库系统阶段,用数据库系统来管理数据比文件系统具有明显的优点: 1面向数据模型对象 2数据的共享性高、冗余度低、易扩 充 3数据和程序之间具有较高的独立性 数据由DBMS统一管理和控制,2020年9月13日星期日,C+面向对象程序设计,1.1.3数据库系统阶段,数据库管理系统DBMS提供了数据安全性控

5、制、数据完整性控制、并发控制和数据恢复等数据控制功能。 数据的安全性(Security)是指保护数据以防止不合法的使用造成的数据的泄密和破坏。 数据的完整性(Integrity)是指数据的正确性、有效性和相容性。 并发控制(Concurrency)是指当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果或使得数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。 数据恢复(Recovery)是指当计算机系统的硬件故障、软件故障、操作员的失误以及故意的破坏影响数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失时。DBMS 必须具有将数据库从错误状态恢复

6、到某一已知的正确状态的功能。,2020年9月13日星期日,C+面向对象程序设计,1.1.3数据库系统阶段,数据库系统阶段程序与数据之间的对应关系:,2020年9月13日星期日,C+面向对象程序设计,1.2 数据库的基本概念,常用的术语和基本概念: 1数据(Data) 2数据库(DataBase,简称DB) 3数据库管理系统(DataBase Management System,简称DBMS) 4数据库系统(DataBase System, 简称DBS),2020年9月13日星期日,C+面向对象程序设计,1.2 数据库的基本概念,数据库系统可以用图表示为:,2020年9月13日星期日,C+面向对

7、象程序设计,1.3 数据模型,1.3.1信息的三种世界 1.3.2概念模型 1.3.3常见的三种数据模型,2020年9月13日星期日,C+面向对象程序设计,1.3.1信息的三种世界,模型,人们并不陌生。一张地图,一组建筑设计沙盘,一架精致的航模飞机都是具体的模型。通过这些模型会使人联想到真实生活中的事物。模型是现实世界特征的模拟和抽象。数据模型(Data Model )也是一种模型,它是现实世界数据特征的抽象。,2020年9月13日星期日,C+面向对象程序设计,1.3.1信息的三种世界,现实世界、信息世界、和机器世界(计算机世界)就是通常所说的信息的三种世界,2020年9月13日星期日,C+面

8、向对象程序设计,1.3.1信息的三种世界,1现实世界 现实世界通过实体、特征、实体集及联系进行描述 (1)实体(Entity) 客观存在并可相互区分的事物或概念称为实体 (2)特征(Entity Characteristic) 现实世界中的实体之所以可以相互区分,是因为它们都有自己的特征。 (3)实体集(Entity Set)及实体集之间的联系 具有相同特征或能用同样特征描述的实体的集合称为实体集。,2020年9月13日星期日,C+面向对象程序设计,1.3.1信息的三种世界,2信息世界 现实世界的事物反映到人们的头脑里,经过综合分析而形成了印象和概念,从而得到了信息。当事物用信息来描述时,就进

9、入了信息世界。在信息世界中,实体的特征称为属性;实体通过属性表示称为实例;同类实例的集合称为对象。 信息世界通过概念模型(也称信息模型)反映现实世界,它要求对现实世界中的事物、事物间的联系和事物的变化情况准确、如实、全面地表示。而概念模型则通过ER图中的对象、属性和联系对现实世界的事物及关系给出静态描述。,2020年9月13日星期日,C+面向对象程序设计,1.3.1信息的三种世界,3机器世界 信息世界中的信息,经过数字化处理形成计算机能够处理的数据,就进入了机器世界。机器世界也称为计算机世界。 在机器世界中有以下术语: (1)数据项(Item) 数据项是对象属性的数据表示。数据项有型和值之分。

10、 (2)记录(Reord) 记录是实例的数据表示。记录有型和值之分。,2020年9月13日星期日,C+面向对象程序设计,1.3.1信息的三种世界,(3)文件(File) 文件是对象的数据表示,是同类记录的集合 (4)数据模型(Data Model) 记录结构及其记录联系的数据化的结果就是数据模型。数据模型是机器世界中的表示方法。,2020年9月13日星期日,C+面向对象程序设计,1.3.1信息的三种世界,信息的三种世界术语的对应关系,2020年9月13日星期日,C+面向对象程序设计,1.3.2概念模型,信息的三种世界术语的对应关系 概念模型是对信息世界诸信息的描述形式,用于信息世界的建模。概念

11、模型实际上是现实世界到机器世界的一个中间层次,不依赖计算机及DBMS,它是现实世界的真实全面的反映。是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。,2020年9月13日星期日,C+面向对象程序设计,1.3.2概念模型,1概念模型中的基本术语 (1)键(Key) (2)主键(Primary Key) (3)次键(Secondary Key) (4)域(Domain) (5)联系(Relationship),2020年9月13日星期日,C+面向对象程序设计,1.3.2概念模型,两个实体集之间的联系: 1一对一联系(1 : l) 3多对多联系(m : n) 2

12、一对多联系(1 : m),2020年9月13日星期日,C+面向对象程序设计,1.3.2概念模型,2020年9月13日星期日,C+面向对象程序设计,1.3.2概念模型,概念模型的表示方法 概念模型是对信息世界建模,所以概念模型应该能够方便、准确地描述出信息世界中的基本概念。概念模型的表示方法很多,其中最为著名和使用最广泛的是P.P.Chen于1976 年提出的实体一联系方法(Entity-Relationship Approach)。该方法是用E-R 图来描述现实世界的概念模型,E-R方法也称为E-R模型。,2020年9月13日星期日,C+面向对象程序设计,1.3.2概念模型,在E-R图中: 实

13、体集用矩形表示,矩形框内写明实体名。 属性用椭圆形表示,椭圆形内写明属性名,并用无向边将其与相应的实体连接起来。如图1.8所示。 联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边上标上联系的类型(1 : l,1 : m或m : n)。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。,2020年9月13日星期日,C+面向对象程序设计,1.3.2概念模型,2020年9月13日星期日,C+面向对象程序设计,1.3.3常见的三种数据模型,不同的数据模型具有不同的数据结构形式,数据库系统中最常用的有:层次模型、网状模型、关系模型和面向对象数据模型。其中层次

14、模型和网状模型统称为非关系模型 。,2020年9月13日星期日,C+面向对象程序设计,1.3.3常见的三种数据模型,1层次模型 层次模型是数据库系统中最早出现的数据模型,层次数据库系统采用层次模型作为数据的组织方式。 (1)层次模型的数据结构 在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型。 有且只有一个结点没有双亲结点,这个结点称为根结点。 根以外的其他结点有且只有一个双亲结点。 (2)层次模型的优点和不足,2020年9月13日星期日,C+面向对象程序设计,1.3.3常见的三种数据模型,层次模型的优点主要有: 层次数据模型本身比较简单,只需很少几条命令就可操纵数据库,使用方便。

15、 对于实体间联系固定且预先定义好的应用系统,采用层次模型来实现,其性能优于关系模型,不低于网状模型。 层次数据模型提供了良好的完整性支持。 用层次模型对具有一对多的层次关系的部门描述非常自然、直观,容易理解,这就是层次模型的突出优点。 层次模型的不足主要有: 只能表示一对多的联系,虽然有多种辅助手段实现联系,但表示笨拙复杂,用户难以掌握。 由于树型结构层次顺序的严格与复杂,引起数据的查询和更新操作也很复杂,导致应用程序编写困难。,2020年9月13日星期日,C+面向对象程序设计,1.3.3常见的三种数据模型,2网状模型 在现实世界中事物之间的联系更多的是非层次关系的,用层次模型表示非树形结构是

16、很不直接的,网状模型则可以克服这一弊病。 (1)网状模型的数据结构 网状数据模型从图论观点来看,就是一种连通图。在数据库理论中,满足以下条件的基本层次联系的集合称为网状模型: 允许一个以上的结点无双亲; 一个结点可以有多于一个的双亲。,2020年9月13日星期日,C+面向对象程序设计,1.3.3常见的三种数据模型,2020年9月13日星期日,C+面向对象程序设计,1.3.3常见的三种数据模型,(2)网状模型的优点与不足 网状模型的优点主要有: 更为直接自然地描述现实世界,例如一个结点可以有多个双亲; 具有良好的性能,存取效率较高。 网状模型的不足主要有: 结构较为复杂,特别是随着应用需求范围的

17、扩大,数据库结构就会变得相当复杂,使得用户难以理解与掌握; 其中的DDL、DML数据子语言复杂,不利于用户学习实用; 网状模型中记录间的联系通过存取路径实现,应用程序访问数据时应当选择适当的存取路径,用户必须了解系统结构的细节,加重了编写应用程序的负担。,2020年9月13日星期日,C+面向对象程序设计,1.3.3常见的三种数据模型,(3)网状模型与层次模型的区别 由于网状模型允许多个结点没有双亲结点,因此比层次模型更具普遍意义;层次模型从子女结点到双亲结点的联系唯一,而网状模型无此限制。严格讲,网状模型中是没有双亲结点和子女结点概念的,所有结点的地位一律相同; 网状模型允许有“复合关系”,即

18、两个实体之间有两种或者两种以上的联系,其中包括实体集到自身的两种或两种以上联系,而层次模型则不可以。从这个意义上讲,网状模型可以更为直接的描述现实世界,层次模型是受限制的网状模型,可以看成是网状模型的一个特例。,2020年9月13日星期日,C+面向对象程序设计,1.3.3常见的三种数据模型,3关系模型 非关系数据模型在理论上不完备,在技术实现上效率较低,现在已被基于关系数据模型的关系数据库取代。关系模型虽然不是数据库管理系统最早支持的数据模型,但关系模型却是当前最重要、最常用的一种数据模型。,2020年9月13日星期日,C+面向对象程序设计,1.3.3常见的三种数据模型,(1)关系模型中的主要

19、术语 关系(Relation)关系是一种规范化的表格,它有以下限制: 关系中的每一个属性值都是不可分解的。 关系中不允许出现相同的元组。 关系中不考虑元组之间的顺序。 元组中属性是无序的。,2020年9月13日星期日,C+面向对象程序设计,1.3.3常见的三种数据模型,元组(Tuple)表中的一行即为一个元组。 属性(Attribute)表中的一列即为一个属性,一个表会有多个属性,为了区分属性,要给每一列起一个属性名。 键(Key)表中的某个属性或属性组,它们的值可以惟一地确定一个元组,且属性组中不含多余的属性,这样的属性或属性组称为关系的键。 域(Domain)属性的取值范围称为域。例如,学

20、生的年龄属性的域是(1635),性别的域是(男、女)。 分量(Element)元组中的一个属性值。 关系模式(Relation mode)对关系的描述,一般表示为: 关系名(属性1、属性2、属性n),2020年9月13日星期日,C+面向对象程序设计,1.3.3常见的三种数据模型,(2)数据模型三要素在关系模型的体现 我们知道,数据模型具有三个要素或者说是三个组成部分:数据结构、数据操作和完整性规则。 关系模型的基本数据结构就是关系。 关系模型中的数据操作就是关系运算,它可以分为关系代数和关系演算。 关系模型具有下述三类完整性规则: 实体完整性规则 参照完整性规则 用户定义的完整性规则,2020

21、年9月13日星期日,C+面向对象程序设计,1.3.3常见的三种数据模型,(3)关系模型的优点和不足 关系模型的优点主要有: 关系模型的概念清晰单一, 存取路径面向用户,公开透明,提高了数据的独立性,有利于数据的安全保密性,简化了程序员的工作和数据库开发建立工作。 数据操作是集合操作 关系模型的不足在于关系模型的存取路径对用户透明,查询效率往往不如非关系模型。为了提高效率,就必须对用户的查询要求进行优化,由此增加了开发数据库的难度。,2020年9月13日星期日,C+面向对象程序设计,1.4数据库系统结构,1.4.1数据库系统的三级模式结构 1.4.2数据库系统的二级映像功能,2020年9月13日星期日,C+面向对象程序设计,1.4.1数据库系统的三级模式结构,数据库系统的三级模式结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论