第一章 数据库系统概述 数据库是数据管理的最新技术,是计算机科学的重要分支。今天,信息资源已成为各个部门的重要财富和资源。建立一个满足各级部门信息处理要求的行之有效的信息系统也成为一个企业或组织生存和发展的重要条件。因此,作为信息系统核心和基础的数据库技术得到越来越广泛的应用…… 对于一个国家来说,数据库的建设规模、数据库信息量的大小和使用频度已成为衡量这个国家信息化程度的重要标志。 什么是数据?
什么是信息?
信息是数据的集合、含义与解释,是事物变化、相互作用、特征的反映。
什么是数据库?
什么是数据库管理系统?
数据库管理系统的主要功能
数据库系统 数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成.
数据库在计算机系统中的地位P6图1.2 数据库管理技术的产生和发展 数据库技术是应数据管理任务的需要而产生的 数据管理三个阶段 1、人工管理阶段(20世纪50年代中期) 2、文件系统阶段(20世纪50年代后期到60年代中期) 3、数据库系统阶段(20世纪60年代后期至今) 人工管理阶段
文件系统阶段
数据库系统阶段
数据管理三个阶段的比较
数据库系统的特点
1 数据结构化 数据结构化是数据库与文件系统的根本区别 传统文件的最简单形式是等长同格式的数据集合
例:学生人事记录: 信息管理系统组织其中的数据
在文件系统中,尽管其记录内部已有了某些结构,但记录之间没有联系。 数据库系统实现整体数据的结构化,是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。 在数据库系统中,数据不再针对某一应用,而是面向全组织,具有整体的结构化。 2 数据的共享性高,冗余度低,易扩充 数据库系统从整体角度看待和描述数据,数据不再面向某个应用而是面向整个系统,因此数据可以被多个用户,多个应用共享使用。数据共享可以大大减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性。 由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就是的数据库系统弹性大,易于扩充,可以适应各种用户的要求。 3 数据独立性高 数据独立性是数据库领域中的一个常用术语,包括数据的物理独立性和数据的逻辑独立性。 物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。 逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。 4 数据由DBMS统一管理和控制 数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中的同一个数据。 为此DBMS还必须提供一下几方面的数据控制功能。
数据库系统的三个发展阶段 第一代数据库系统 网状型和层次型数据库系统 第二代数据库系统 关系型数据库 新一代数据库系统 分布式数据库 WEB数据库 面向对象数据库 数据库中数据的描述 数据模型也是一种模型,它是现实世界数据特征的抽象。 通俗的讲数据模型就是现实世界的模拟。 信息的三个世界的内容及其术语联系
数据模型应满足三方面要求
不同的数据模型实际上是提供给我们的模型化数据和信息的不同工具。根据模型应用的不同目的,可以将这些模型划分为两类,他们分属于两个不同的层次。
数据模型的组成要素 一般的讲,数据模型是严格定义的一组概念的集合。这些概念精确的描述了系统的静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。
数据结构 数据结构是所研究的对象类型的集合。这些对象是数据库的组成部分,他们包括两类: 与数据类型、内容、性质有关的对象,例如网状模型中的数据项、记录,关系模型中的域、属性、关系等; 与数据之间联系有关的对象,例如网状模型中的系型。 数据结构是对系统静态特性的描述 数据操作 数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作有关的操作规则。数据库主要有检索和更新(包括插入、删除、修改)两大类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。 数据操作是对系统动态特性的描述。 数据的约束条件 数据的约束条件是一组完整性规则的集合。 数据模型应该反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。 数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。 例如:在学校的数据库中规定大学生入学年龄不得超过30岁,硕士入学的年龄不能超过38岁等。 概念模型 如图所示,概念模型实际上是现实世界到机器世界的一个中间层次
概念模型 概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面应该具有较强的语义表达能力,能够方便、直接的表达应用中的各种语义知识,另一方面他还应该简单、清晰、易于用户理解。 信息世界中的基本概念 实体:客观存在互相区别的事物成为实体 例:一个职工、一个学生、一个部门、一门课程 属性:实体所具有的某一特性成为属性 例:学生实体可以由学号、姓名、性别、出生月份、系的属性组成 (实体标志符)码:唯一标识实体的属性成为码 例:学号是学生实体的码 域:属性的取值范围称为该属性的域 例:学号的域为8位整数,姓名的域为字符串的集合 实体型:具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,成为实体型。 例:学生(学号、姓名、性别、出生月份、系、入学时间) 实体集:同型实体的集合称为实体集 例:全体学生就是一个实体集 联系 联系 现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系。实体之间的联系通常是指不同实体集之间的联系。 两个实体之间的联系可以分为三类 1. 一对一联系(1:1) 例如:一个班只有一个正班长,一个学生只有一个成绩 2. 一对多联系(1:n) 例如:一个班有若干名学生 3. 多对多联系(m:n) 例如:一门课程同时又若干个学生选修,而一个学生可以同时选修多门课程。 逻辑设计中的数据描述 数据库是根据概念设计所得到的概念结构或概念模型来设计数据库的逻辑结构,也即DBMS所支持的数据模型。
概念模型:实体--联系方法E-R图 实体:用矩形表示,矩形内写明实体名。 属性:用椭圆表示,并用无向边将其与相应的实体连接起来 联系:用菱形表示,菱形内写明联系名并用无向边将其与有关的实体连接起来,同时在无向边旁标上联系的类型。 实体-联系方法是抽象和描述现实世界的有力工具。用E-R图表示的概念模型独立于具体DBMS所支持的数据类型,他是各种数据模型的共同基础,因而比数据模型更一般、更抽象、更接近于现实世界。
最常用的数据模型 层次模型 网状模型 关系模型 面向对象模型 其中层次模型和网状模型统称为非关系模型 数据结构、数据操作和完整性约束条件这三个方面的内容完整的描述了一个数据模型,其中数据结构是刻画模型性质的最基本的方面 注意:这里讲的数据模型都是逻辑上的,也就是说是用户眼中看到的数据范围。同时他们又都是能用某种语言描述,使计算机系统能够理解,被数据库管理系统支持的数据视图。这些数据模型将以一定的方式存储于数据库系统中,这是DBMS的功能,是DBMS的存储模型。 层次模型 层次模型是数据库系统中最早出现的数据模型,层次数据库系统采用层次模型作为数据组织方式。层次数据库系统的典型代表是IBM公司的IMS数据库管理系统,这是1968年IBM公司推出的第一个大型的DBMS。 层次模型用树形结构来表示各类实体以及实体间的联系。现实世界中的许多实体之间的联系本来就呈现出一种很自然的层次关系,如行政机构、家族关系等。 层次模型的数据结构 在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型。 1. 有且只有一个结点没有双亲结点,这个结点称为根结点。 2. 根以外的其他结点中有且只有一个双亲结点
层次数据库模型的存储结构 邻接法 链接法
层次模型的优缺点 优点 层次数据模型本身比较简单 对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性能优于关系模型,不低于网状模型 层次数据模型提供了良好的完整性支持 缺点 现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型表示这类联系的方法很笨拙,只能通过引入冗余数据(易产生不一致性)或创建非自然的数据组织(引入虚拟结点)来解决。 对插入和删除操作的限制比较多 查询子女结点必须通过双亲结点 由于结构严密,层次命令趋于程序化 可见用层次模型对具有一对多的层次关系的部门描述非常自然、直观、容易理解。这是层次数据库的突出优点 网状模型 在现实世界中事物之间的联系更多的是非层次关系的,用层次模型表示非属性结构是很不直接的,网状模型则可以克服这一弊病。 网状数据库系统采用网状模型作为数据的组织方式。 网状数据模型的数据结构 在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型 1. 允许一个以上的结点无双亲 2. 一个结点可以有多于一个双亲 网状模型是一种比层次模型更具普遍性的结构,他去掉了层次模型的两个限制,允许多个结点没有双亲结点,此外他还允许两个结点之间有多种联系。因此网状模型可以更直接的去描述现实世界。而层次模型实际上是网状模型的一个特例。 网状数据模型的优缺点 优点 能够更为直接的描述现实世界,如一个结点可以有多个双亲。 具有良好的性能,存取效率高 缺点 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。 其DLL,DML语言复杂,用户不容易使用。 由于记录之间联系是通过存取路径实现的,应用程序在访问数据是必须选择适当的存取路径,因此用户必须了解系统结构的细节,加重了编写应用程序的负担。 关系模型 关系模型是目前最重要的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。 1970年美国IBM公司研究员E.F.CODD首次提出了数据库系统的关系模型,开创了数据库关系方法和关系数据理论的研究,为数据技术奠定了理论基础。 20世纪80年代以来,计算机厂商新推出的数据库管理系统几乎都支持关系模型,非关系系统的产品也大都加上了关系接口。数据库领域当前的研究工作也都是以关系方法为基础 关系数据模型的数据结构 关系模型与以往的模型不同,他是建立在严格的数据概念的基础上的。
关系数据模型的数据结构 关系:一个关系通常对应一个表 元祖:表中的一行即为一个元祖 属性:表中的一列即为一个属性 主码:表中的一个属性组,它可以唯一确定一个元组 域:属性的取值范围 分量:元组中的一个属性值 关系模型的优缺点 关系模型与非关系模型不同,他是建立在严格的数学概念的基础上的 关系模型的概念单一。无论是实体还是实体之间的联系都用关系表示。对数据的检索也是关系(即表)。所以其数据结构简单、清晰,用户易懂易用。 关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。 缺点是由于存取路径对于用户透明,查询效率往往不如非关系数据模型。 数据库系统的三层模式结构 考察数据库系统的结构可以有多种不同的层次或不同的角度。从数据库管理系统角度看,数据库系统通常采用三级模式结构;这是数据库管理系统内部的系统结构。 在数据模型中有“型”(type)和“值”(value) 模式是数据库中全体数据的逻辑结构和特征的描述,他仅仅涉及到“型” 的描述,不涉及到具体的“值”。 模式反映的是数据的结构及其联系。 外模式:也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结果和特征结构的描述,是数据用户的数据视图。 模式:是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。 内模式:也称存储模式,一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方法。
数据库系统的体系结构 单机结构 集中式数据库系统结构 客户/服务器结构(C/S,Client/Server) 浏览器/服务器结构(B/S,Browser/Server) 数据库系统的组成 硬件平台及数据库 1、足够大的内存 2、足够大的硬盘 3、较高的通道能力,以提高数据传送率 软件 人员 人员 数据库管理员 1、决定数据库中的信息内容和结构 2、决定数据库的存储结构和存取策略 3、定义数据的安全性要求和完整性约束条件 4、监控数据库的使用和运行 5、数据库的改进和重组重构 系统分析员和数据库设计人员 应用程序员 用户 1、偶然用户 2、简单用户 3、复杂用户 数据库技术的研究领域 数据库管理系统软件的研制 提高系统的可用性、可靠性、可伸缩性、提高性能和用户的生产率 数据库设计 数据库设计方法学和设计工具 数据库理论 关系的规范化理论、关系数据理论、人工智能与数据库理论的结合、并行计算技术、数据库逻辑演绎和知识推理、数据库中的知识发现 作业 学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课程可由若干学生选修。请用E-R图画出此学校的概念模型。 |
|