数据库原理与SQL Server教程 第1章 数据库基础知识.ppt
-
资源ID:67254499
资源大小:591.50KB
全文页数:48页
- 资源格式: PPT
下载积分:16金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
数据库原理与SQL Server教程 第1章 数据库基础知识.ppt
数据库原理及SQL Server第一章 数据库基础知识 第一章 数据库基础知识t.1 数据管理技术的发展 t.2 数据库的基本概念 t.3 数据模型 t.4 数据库系统结构 2022/12/22C+面向对象程序设计1.1 数据管理技术的发展t1.1.1手工管理阶段t1.1.2文件系统阶段t1.1.3数据库系统阶段 2022/12/22C+面向对象程序设计1.1.1手工管理阶段t到目前为止数据管理技术经历了三个阶段:手工管理阶段、文件管理阶段和数据库技术阶段。数据库技术是20世纪60年代末期发展起来的数据管理技术。数据库技术仍在日新月异地发展,数据库技术的应用在继续深入。2022/12/22C+面向对象程序设计1.1.1手工管理阶段t手工管理阶段具有以下特点:t1不保存数据t2没有软件系统对数据进行管理t3数据不共享t4数据不具有独立性2022/12/22C+面向对象程序设计1.1.1手工管理阶段t手工管理阶段程序与数据之间的对应关系 2022/12/22C+面向对象程序设计1.1.2文件系统阶段t从20世纪50年代后期至60年代中期,计算机硬件方面已有了磁鼓、磁盘等直接存储设备,计算机软件的操作系统中已经有了专门的管理数据软件,一般称为文件系统。处理方式上不仅有了批处理,而且能够联机实时处理。这时,计算机不仅用于科学计算,也已大量用于数据处理。2022/12/22C+面向对象程序设计1.1.2文件系统阶段t文件系统阶段具有以下特点:t1数据以文件的形式长期保存t2由文件系统管理数据t3文件形式多样化t4数据存取以记录为单位2022/12/22C+面向对象程序设计1.1.2文件系统阶段t尽管文件系统有上述优点,但是,文件系统仍存在以下缺点。t1数据共享性差,冗余度大t2数据独立性差2022/12/22C+面向对象程序设计1.1.2文件系统阶段t文件系统阶段程序与数据之间的对应关系 文件管理系统2022/12/22C+面向对象程序设计1.1.3数据库系统阶段t20世纪60年代后期,数据管理技术就进入了数据库系统阶段。数据库技术是在文件系统的基础上发展起来的新技术,为用户提供了一种使用方便、功能强大的数据管理手段。在这一阶段出现了统一管理数据的专门软件系统一数据库管理系统。2022/12/22C+面向对象程序设计1.1.3数据库系统阶段t用数据库系统来管理数据比文件系统具有明显的优点:t1面向数据模型对象t2数据的共享性高、冗余度低、易扩 充t3数据和程序之间具有较高的独立性t数据由DBMS统一管理和控制2022/12/22C+面向对象程序设计1.1.3数据库系统阶段t数据库管理系统DBMS提供了数据安全性控制、数据完整性控制、并发控制和数据恢复等数据控制功能。t数据的安全性数据的安全性(Security)是指保护数据以防止不合法的使用造成的数据的泄密和破坏。t数据的完整性数据的完整性(Integrity)是指数据的正确性、有效性和相容性。t并发控制并发控制(Concurrency)是指当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果或使得数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。t数据恢复数据恢复(Recovery)是指当计算机系统的硬件故障、软件故障、操作员的失误以及故意的破坏影响数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失时。DBMS 必须具有将数据库从错误状态恢复到某一已知的正确状态的功能。2022/12/22C+面向对象程序设计1.1.3数据库系统阶段t数据库系统阶段程序与数据之间的对应关系:DBMS DB2022/12/22C+面向对象程序设计1.2 数据库的基本概念 常用的术语和基本概念:1数据(Data)2数据库(DataBase,简称DB)3数据库管理系统(DataBase Management System,简称DBMS)4数据库系统(DataBase System,简称DBS)2022/12/22C+面向对象程序设计1.2 数据库的基本概念t数据库系统可以用图表示为:用户用户用 户应 用 系统应用开发工具DBMS操 作 系统数据库数据库管理员2022/12/22C+面向对象程序设计1.3 数据模型t1.3.1信息的三种世界t1.3.2概念模型t1.3.3常见的三种数据模型 2022/12/22C+面向对象程序设计1.3.1信息的三种世界t模型,人们并不陌生。一张地图,一组建筑设计沙盘,一架精致的航模飞机都是具体的模型。通过这些模型会使人联想到真实生活中的事物。模型是现实世界特征的模拟和抽象。数据模型(Data Model)也是一种模型,它是现实世界数据特征的抽象。2022/12/22C+面向对象程序设计1.3.1信息的三种世界t现实世界、信息世界、和机器世界(计算机世界)就是通常所说的信息的三种世界现实世界认识抽象信息世界概念模型机器世界DBMS支持的数据模型2022/12/22C+面向对象程序设计1.3.1信息的三种世界t1现实世界 现实世界通过实体、特征、实体集及联系进行描述(1)实体(Entity)客观存在并可相互区分的事物或概念称为实体(2)特征(Entity Characteristic)现实世界中的实体之所以可以相互区分,是因为它们都有自己的特征。(3)实体集(Entity Set)及实体集之间的联系具有相同特征或能用同样特征描述的实体的集合称为实体集。2022/12/22C+面向对象程序设计1.3.1信息的三种世界 t2信息世界 现实世界的事物反映到人们的头脑里,经过综合分析而形成了印象和概念,从而得到了信息。当事物用信息来描述时,就进入了信息世界。在信息世界中,实体的特征称为属性;实体通过属性表示称为实例;同类实例的集合称为对象。信息世界通过概念模型(也称信息模型)反映现实世界,它要求对现实世界中的事物、事物间的联系和事物的变化情况准确、如实、全面地表示。而概念模型则通过ER图中的对象、属性和联系对现实世界的事物及关系给出静态描述。2022/12/22C+面向对象程序设计1.3.1信息的三种世界t3机器世界 信息世界中的信息,经过数字化处理形成计算机能够处理的数据,就进入了机器世界。机器世界也称为计算机世界。在机器世界中有以下术语:(1)数据项(Item)数据项是对象属性的数据表示。数据项有型和值之分。(2)记录(Reord)记录是实例的数据表示。记录有型和值之分。2022/12/22C+面向对象程序设计1.3.1信息的三种世界(3)文件(File)文件是对象的数据表示,是同类记录的集合(4)数据模型(Data Model)记录结构及其记录联系的数据化的结果就是数据模型。数据模型是机器世界中的表示方法。2022/12/22C+面向对象程序设计1.3.1信息的三种世界t信息的三种世界术语的对应关系 现实世界现实世界信息世界信息世界机器世界机器世界实体实例记录特征属性数据项实体集对象数据或文件实体间的联系对象间的联系数据间的联系概念模型数据模型2022/12/22C+面向对象程序设计1.3.2概念模型 t信息的三种世界术语的对应关系 概念模型是对信息世界诸信息的描述形式,用于信息世界的建模。概念模型实际上是现实世界到机器世界的一个中间层次,不依赖计算机及DBMS,它是现实世界的真实全面的反映。是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。2022/12/22C+面向对象程序设计1.3.2概念模型t1概念模型中的基本术语(1)键(Key)(2)主键(Primary Key)(3)次键(Secondary Key)(4)域(Domain)(5)联系(Relationship)2022/12/22C+面向对象程序设计1.3.2概念模型t两个实体集之间的联系:1一对一联系(1:l)3多对多联系(m:n)2一对多联系(1:m)2022/12/22C+面向对象程序设计1.3.2概念模型 班级 负责 班长1 1 班级 学习 学生1 m 课程 选修 学生mn (a)1:l联系 (b)1:m联系 (c)m:n联系 2022/12/22C+面向对象程序设计1.3.2概念模型t概念模型的表示方法 概念模型是对信息世界建模,所以概念模型应该能够方便、准确地描述出信息世界中的基本概念。概念模型的表示方法很多,其中最为著名和使用最广泛的是P.P.Chen于1976 年提出的实体一联系方法(Entity-Relationship Approach)。该方法是用E-R 图来描述现实世界的概念模型,E-R方法也称为E-R模型。2022/12/22C+面向对象程序设计1.3.2概念模型t在E-R图中:t实体集用矩形表示,矩形框内写明实体名。t属性用椭圆形表示,椭圆形内写明属性名,并用无向边将其与相应的实体连接起来。如图1.8所示。t联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边上标上联系的类型(1:l,1:m或m:n)。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。2022/12/22C+面向对象程序设计1.3.2概念模型(c)n1mn1课程参考书教师讲授npm供应商配件工程供应(a)(b)员工 经理2022/12/22C+面向对象程序设计1.3.3常见的三种数据模型 不同的数据模型具有不同的数据结构形式,数据库系统中最常用的有:层次模型、网状模型、关系模型和面向对象数据模型。其中层次模型和网状模型统称为非关系模型。2022/12/22C+面向对象程序设计1.3.3常见的三种数据模型t1层次模型 层次模型是数据库系统中最早出现的数据模型,层次数据库系统采用层次模型作为数据的组织方式。(1)层次模型的数据结构t在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型。t有且只有一个结点没有双亲结点,这个结点称为根结点。t根以外的其他结点有且只有一个双亲结点。(2)层次模型的优点和不足2022/12/22C+面向对象程序设计1.3.3常见的三种数据模型层次模型的优点主要有:t层次数据模型本身比较简单,只需很少几条命令就可操纵数据库,使用方便。t对于实体间联系固定且预先定义好的应用系统,采用层次模型来实现,其性能优于关系模型,不低于网状模型。t层次数据模型提供了良好的完整性支持。t用层次模型对具有一对多的层次关系的部门描述非常自然、直观,容易理解,这就是层次模型的突出优点。t层次模型的不足主要有:t只能表示一对多的联系,虽然有多种辅助手段实现联系,但表示笨拙复杂,用户难以掌握。t由于树型结构层次顺序的严格与复杂,引起数据的查询和更新操作也很复杂,导致应用程序编写困难。2022/12/22C+面向对象程序设计1.3.3常见的三种数据模型t2网状模型 在现实世界中事物之间的联系更多的是非层次关系的,用层次模型表示非树形结构是很不直接的,网状模型则可以克服这一弊病。(1)网状模型的数据结构t网状数据模型从图论观点来看,就是一种连通图。在数据库理论中,满足以下条件的基本层次联系的集合称为网状模型:t允许一个以上的结点无双亲;t一个结点可以有多于一个的双亲。2022/12/22C+面向对象程序设计1.3.3常见的三种数据模型L3 L2 L1 L2 L1 L2 L1 R1R4R2R3R1R2R1R3R2(a)(b)(b)2022/12/22C+面向对象程序设计1.3.3常见的三种数据模型(2)网状模型的优点与不足t网状模型的优点主要有:t更为直接自然地描述现实世界,例如一个结点可以有多个双亲;t具有良好的性能,存取效率较高。t网状模型的不足主要有:t结构较为复杂,特别是随着应用需求范围的扩大,数据库结构就会变得相当复杂,使得用户难以理解与掌握;t其中的DDL、DML数据子语言复杂,不利于用户学习实用;t网状模型中记录间的联系通过存取路径实现,应用程序访问数据时应当选择适当的存取路径,用户必须了解系统结构的细节,加重了编写应用程序的负担。2022/12/22C+面向对象程序设计1.3.3常见的三种数据模型(3)网状模型与层次模型的区别t由于网状模型允许多个结点没有双亲结点,因此比层次模型更具普遍意义;层次模型从子女结点到双亲结点的联系唯一,而网状模型无此限制。严格讲,网状模型中是没有双亲结点和子女结点概念的,所有结点的地位一律相同;t 网状模型允许有“复合关系”,即两个实体之间有两种或者两种以上的联系,其中包括实体集到自身的两种或两种以上联系,而层次模型则不可以。从这个意义上讲,网状模型可以更为直接的描述现实世界,层次模型是受限制的网状模型,可以看成是网状模型的一个特例。2022/12/22C+面向对象程序设计1.3.3常见的三种数据模型t3关系模型 非关系数据模型在理论上不完备,在技术实现上效率较低,现在已被基于关系数据模型的关系数据库取代。关系模型虽然不是数据库管理系统最早支持的数据模型,但关系模型却是当前最重要、最常用的一种数据模型。2022/12/22C+面向对象程序设计1.3.3常见的三种数据模型(1)关系模型中的主要术语关系(Relation)关系是一种规范化的表格,它有以下限制:关系中的每一个属性值都是不可分解的。关系中不允许出现相同的元组。关系中不考虑元组之间的顺序。元组中属性是无序的。2022/12/22C+面向对象程序设计1.3.3常见的三种数据模型t元组(Tuple)表中的一行即为一个元组。t属性(Attribute)表中的一列即为一个属性,一个表会有多个属性,为了区分属性,要给每一列起一个属性名。t键(Key)表中的某个属性或属性组,它们的值可以惟一地确定一个元组,且属性组中不含多余的属性,这样的属性或属性组称为关系的键。t域(Domain)属性的取值范围称为域。例如,学生的年龄属性的域是(1635),性别的域是(男、女)。t分量(Element)元组中的一个属性值。t关系模式(Relation mode)对关系的描述,一般表示为:关系名(属性1、属性2、属性n)2022/12/22C+面向对象程序设计1.3.3常见的三种数据模型t(2)数据模型三要素在关系模型的体现 我们知道,数据模型具有三个要素或者说是三个组成部分:数据结构、数据操作和完整性规则。t关系模型的基本数据结构就是关系。t关系模型中的数据操作就是关系运算,它可以分为关系代数和关系演算。t关系模型具有下述三类完整性规则:实体完整性规则 参照完整性规则 用户定义的完整性规则2022/12/22C+面向对象程序设计1.3.3常见的三种数据模型t(3)关系模型的优点和不足 关系模型的优点主要有:t关系模型的概念清晰单一,t存取路径面向用户,公开透明,提高了数据的独立性,有利于数据的安全保密性,简化了程序员的工作和数据库开发建立工作。t数据操作是集合操作 关系模型的不足在于关系模型的存取路径对用户透明,查询效率往往不如非关系模型。为了提高效率,就必须对用户的查询要求进行优化,由此增加了开发数据库的难度。2022/12/22C+面向对象程序设计1.4数据库系统结构t1.4.1数据库系统的三级模式结构t1.4.2数据库系统的二级映像功能 2022/12/22C+面向对象程序设计1.4.1数据库系统的三级模式结构t数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成 外模式/模式映像 应用A外模式1内模式逻辑模式外模式2外模式3应用E应用D应用C应用B数据库模式/内模式映像 2022/12/22C+面向对象程序设计1.4.1数据库系统的三级模式结构t1模式(Schema)模式也称逻辑模式(Logical Schema),是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。t2外模式(External Schema)外模式也称子模式(Subschema)或用户模式,是数据库用户和数据库系统的接口,是数据库用户的数据视图,是数据库用户可以看见和使用的局部数据的逻辑结构和特征的描述。t3内模式(Internal Schema)内模式也称存储模式(Storage Schema)或物理模式(Physical Schema),一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。2022/12/22C+面向对象程序设计1.4.2数据库系统的二级映像功能t数据库管理系统在三级模式之间提供了两层映象:外模式与模式之间的映像,我们称之为外模式模式映象、模式与内模式之间的映像,我们称之为模式内模式映象。t正是这两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。2022/12/22C+面向对象程序设计1.4.2数据库系统的二级映像功能1外模式模式映象 对于每一个外模式,数据库系统都有一个外模式模式映象,它定义了该外模式与模式之间的对应关系,外模式模式映象定义通常保存在外模式中。2模式内模式映象 模式内模式映象是唯一的,因为数据库中只有一个模式,也只有一个内模式。它定义了数据库全局逻辑结构与存储结构之间的对应关系。2022/12/22C+面向对象程序设计