导图社区 数据库系统概论第一章绪论
数据的完整性约束:是一组完整性规则完整性规则(是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容)
编辑于2022-11-22 20:19:18 江苏省第一章 绪论
1.1数据库系统概论
1.1.1数据库的基本概念
1.数据:描述事物的符号、记录称为数据。(数据与其语义是不可分的,数据的含义称为数据的语义,即数据的解释)
文字
图形
图像
音频
视频
其他形式
2.数据库:数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。据库库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享。
永久存储
有组织
可共享
3.数据库管理系统:是位于用户与操作系统之间的一层数据管理软件。(数据库管理系统和操作系统一样是计算机的基础软件,也是一个大型复杂的软件系统。)
功能
(1)数据定义功能:数据库管理系统提供数据定义语言(DDL),用户通过它可 以方便地对数据库中的数据对象的组成与结构进行定义。
(2)数据组织、存储和管理:数据库管理系统要分类组织、存储和管理各种数据。(数据组织和存储的基本且标是提高储空间利率和方便存)
(3)数据操纵功能:数据库管理系统还提数据语言(DML),用户可以 使用它操纵数据,实现对数据库的基本作,如查询,插入除和修改。
4)数据库的事务管理和运行管理:数据库在建立、运用和维护时由数据库管理系统统一管理和控制,以保证事务的正确运行,保证数据的安全,完整性、名户对数据的并发使用及发生故障后的系统恢复
(5)数据库的建立和维护功能:数据库的建立和维护功能包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组织功能和性能监视、分析功能等。(这些功能通常是由一些实用程序或管理工具完成的)
(6)其他功能:包括数据库管理系统与网络中其他软件系统的通信功能,一个数据库管理系统与另一个数据库管理系统或文件系统的数据转换功能,异构数据库之间的互访和互操作功能等
4.数据库系统:是由数据库、数据管理系统(及其应用开发工具)、应用程序和数据 库管理员组成的存储、管理、处理和维护数据的系统。
1.1.2数据管技术的产生和发展
1.数据库技术是应数据管理任务的需要而产生的。 2.数据管理是指对数据进行分类、组织的管理、编码、存储、检索和维护,它是数据处理的中心问题。 3.而数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和
1.人工管理阶段(20世纪50年代中期以前)
特点
(1)数据不保存
(2)应用程序管理数据(数据需要由应用程序自己设计、说明(定义和管理,没有相应的软件系统负责数据的管理工作。应用程序中不仅要规定数据的逻辑结构,而且要设计物理结构,包括存储结构、存取方法、输入方式等。因此程序员负担很重)
(3)数据不共享(一组数据只能对应一个程序。)
(4)数据不具有独立性(数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改)
2.文件系统阶段(20世纪50年代后期到60年代中期)
特点
(1)数据可以长期保存(磁盘、磁鼓等硬件)
(2)由文件系统管理数据(由专门的软件即文件统进行数据管理)
缺点
(1)数据性余度大(在文件系统中,一个(或一组)文件基本上对应于一个应用程序,即文仍然是面向应用的)
(2)数据独立性差
3.数据库系统阶段(20世纪60年代后期以来)
用数据库系统来管理数据比文件系统具有明显的优点,从文件系统到数据库系统标志着数据管理技术的飞跃。
为解决多用户、多应用共享数据的需求,使数据为尽可能多的应用服务,数据库技术 便应运而生。
1.1.3数据库系统的特点
1.数据结构化:数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
2.数据的共享性高、冗余度低且易扩展:数据库系统从整体角度看待和描述数据,数据不再面向某个应用而是面向整个系统因此数据可以被多个用户、多个应用共享使用。数据共享可以大大减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性。(就使得数据库系统弹性大,易于扩充)
3.数据独立性高
物理独立性:指用户的应用程序与数据库中数据的物理存储是相互独立的。
逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的
4.数据由数据库管理系统统一管理和控制
数据库的共享将会带来数据库的安全隐患,而数据库的共享是并发的(concurrency)共享,即多个用户可以同时存取数据库中的数据,甚至可以同时存取数据库中同一个数据,这又会带来不同用户间相互干扰的隐患。另外,数据库中数据的正确与一致也必须得到保障。
数据库管理系统还必须提供的数据控制功能
(1)数据的安全性保护
(2)数据的完整性检查
(3)并发控制
(4)数据库恢复
1.2数据模型
是一种模型,它是对现实世界数据特征的抽象,是数据库系统的核心和基常将现实世界抽象为信息世界,然后将信息世界转化为机器世界
模型是对现实世界中某个对象特征的模拟和抽象
1.概念模型(信息模型):按用户的观点来对数据和信息建模,主要用于数据库设计
基本概念
实体:客观存在并可相互区别的事物称作实体
属性:实体所具有的某一特性(一个实体可有多个属性)
码:唯一标识实体的属性集
实体型:用实体名及其属性名集合来抽象和刻画同类实体
实体集:同一类型实体的集合
联系:通常指不同实体集之间的联系
概念模型的表示方法:实体-联系方法(用E-R图来描述现实世界的模型概念,E-R方法也称为E-R模型)
数据模型的组成要素
数据结构:数据结构描述数据库的组成对象以及对象之间的联系
1.数据结构描述的内容有两类:一类是与对象的类型、内容、性质有关的,一类是与数据之间联系有关的对象 2.数据结构是刻画一个数据模型性质最重要的方面 3.数据结构是所描述的对象类型的集合,是对系统静态特性的描述
数据操作:对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括 操作及有关的操作规则
1.数据库主要有查询和更新(包括插入、删除、修改)两大类操作 2.数据操作是对系统动态特性的描述
数据的完整性约束:是一组完整性规则完整性规则(是给定的数据模型中数据及其 联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容)
数据模型应该反映和规定其必须遵守的基本的和通用的完整性约束条件,还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件
2.逻辑模型和物理模型
逻辑模型:主要用于数据库管理系统的实现
层次模型
在格式化模型中数据结构的单位是基本层次联系。所谓基本层次联系是指两个记录以及它们之间的一对多(包括一对一)的联系。 图中Ri位于联系Lij的始点,称为双亲结点,Rj位于联系Lij的终点,称为子女结点。  在层次模型中,每个结点表示一个记录类型,记录类型之间的联系用结点之间的连(有向边)表示,这种联系是父子之间的一对多的联系。这就使得层次数据库系统只能处理一对多的实体联系。
结点的双亲是唯一的
结构:满足两个条件的基本层次联系的集合为层次模型
1)有且只有一个结点没有双亲结点,这个结点称为根结点
2)根以外的其他结点有且只有一个双亲结点
数据操纵与完整性约束:层次模型的据操纵主要有查询、插入、删除和更新。进行插入、删除、更新操作时要满足层次模型的完整性约束条件
优点
用层次模型对具有一对多的层次联系的部门描述非常自然、直观,容易理解,这是层次数据库的突出优点。
(1)层次模型的数据结构比较简单清晰
(2)层次数据库的查询效率高
(3)层次数据模型提供了良好的完整性支持
缺点
(1)现实世界中很多联系是非层次性的
(2)如果一个结点具有多个双亲结点等,用层次模型表示这类联系就很笨拙,只能通过引入冗余数据(易产生不一致性),或创建非自然的数据结构(引入虚拟结点)来解决。对插入和删除操作的限制比较多,因此应用程序的编写比较复杂。
(3)查询子女结点必须通过双亲结点
(4)由于结构严密,层次命令趋于程序化
网状模型
网状数据库系统采用网状模型作为数据的组织方式。网状数据模型的典型代表是DBTG系统,亦称 CODASYL系统
数据结构
把满足以下两个条件的基本层次联系集合称为网状模型
层次模型中子女结点与双亲结点的联系是唯一的,而在网状模型中这种联系可以不唯一
(1)允许一个以上的结点无双亲
(2)一个结点可以有多于一个的双亲
数据操纵与完整性约束:网状模型一般来说没有层次模型那样严格的完整性约束条件,但具体的网状数据库系统对数据操纵都加了一些限制,提供了一定的完整性约束。
优点
(1)能够更为直接地描述现实世界,如一个结点可以有多个双亲,结点之间可以有多 种联系。
(2)具有良好的性能,存取效率较高
缺点
(1)结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不 利于最终用户掌握。
(2)网状模型的DDL、DML复杂,并且要嵌入一种高级语言(如 COBOL、C)中 用户不容易掌握,不容易使用。
(3)由于记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此用户必须了解系统结构的细节,加重了编写应用程序的负担
关系模型
数据结构
关系
元组
属性
码
域
分量
关系模式
数据操纵与完整性约束
操纵
查询
插入
删除
更新
完整性约束
实体完整性
参照完整性
用户自定义完整性
优点
(1)关系模型与格式化模型不同,它是建立在严格的数学概念的基础上的
(2)关系模型的概念单一
3)关系模型的存取路径对用户透明丛而具有更高的数据独立性、更好的安全保密 性,也简化了程序员的工作和数据库开发建立的工作。
缺点
由于存取路径对用户是隐蔽的,查询效率往往不如格式化数据模型。为了提高性能,数据库管理系统必须对用户的查询请求进行优化,因此增加了开发数据库管理系统的难度。
面对对象数据模型
对象关系数据模型
半结构化数据模型
物理模型:对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,或在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的
1.3数据库系统的结构
1.3.1概念
在数据模型中有“型”和“值”的概念。型是指对某一类数据的结构 和属性的说明值是型的一个具体赋值。
模式:是数据库中全体数据的逻辑结构和特征的描述
1.模式是相对稳定的,而实例是相对变动的,因为数据库中的数据是在不断更新的 2.模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态
模式的一个具体值称为模式的一个实例(同一个模式可以有 很多实例)
1.3.2三模式结构
1.模式(逻辑模):是数据库中全体数据的逻辑结构和特征的描述,是所有用 户的公共数据视图(一个数据库只有一个模式)
中间层
2.外模式(子模式或用户模式):是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。(一个数据库可以有多个外模式)
3.内模式(存储模式):是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式(一个数据库只有一个内模式)
1.3.3数据库的二级映像功能
1.外模式/模式映像:当模式改变时,由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的辑独立性
逻辑
2.模式/内模式映像:当数据库的存储结构改变时,由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性
物理
1.3.3‘数据独立性
数据与程序之间的独立性使得数据的定义和描述可以从应用程序中分离出去。另外,由于数据的存取由数据库管理系统管理,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。
1.4数据库系统的组成
1.硬件平台及数据库
2.软件
3.人员
数据库管理员
职责
①决定数据库中的信息内容和结构
②决定数据库的存储结构和存取策略
③定义数据的安全性要求和完整性约束条件
④监控数据库的使用和运行
⑤数据库的改进和重组、重构
系统分析员与数据库设计人员
应用程序员
用户