数据库知识点整理,参照《数据库系统概论》第五版 王珊 配套学习指导,期末考、考研必备。
第1章 绪论
了解
- 数据管理技术的产生和发展过程
- 数据库系统优点
- 层次数据模型及网状数据模型基本概念
- 数据库系统的组成
- 数据库管理员(DBA)的职责
掌握
- 概念模型的基本概念
- 关系数据模型的相关概念
- 数据库系统三级模式和两级映像的体系结构
- 数据库系统的逻辑独立性和物理独立性
知识点
- 数据、数据库、数据库管理系统、数据库系统
- 数据(Data):描述事物的符号记录称为数据。数据与其语义是不可分的
- 数据库(Data Base):数据库是长期储存在计算机内的、有组织的、可共享的
- 数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
- 数据库系统(Data Base System):在计算机系统中引入数据库后的系统构成。一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
- 数据库管理系统(DataBase Management System):数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
- 数据库的数据具有【永久储存】、【有组织】、【可共享】三个基本特点
- 使用数据库系统的好处
- 使用数据库系统的好处是由数据库管理系统的特点或优点决定的
- 可以大大提高应用开发的效率
- 当数据的逻辑结构需要改变时,开发人员不必修改应用程序,或者只需要修改很少的应用程序
- 可以减轻DBA维护系统的负担
- 便于数据的集中管理、控制数据冗余、提高数据的利用率和一致性,又有利于应用程序的开发和维护
- 文件系统与数据库系统的区别和联系
- 区别
- 文件系统面向某一应用程序、共享性差、冗余度大、数据独立性差、记录内有结构、整体无结构、由应用程序自己控制
- 数据库系统面向现实世界、共享度高、冗余度小、具有较高物理独立性和一定的逻辑独立性、整体结构化、用数据模型描述、由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力
- 联系
- 都是计算机系统中管理数据的软件
- 文件系统是操作系统的重要组成部分,而DBMS是独立于操作系统的软件。但是DBMS是在操作系统的基础上实现的,数据库中的数据的组织和存储是通过操作系统中的文件系统来实现的
- 区别
- 适用于文件系统或数据库系统的例子
- 适用于文件系统:数据的备份、软件或应用程序使用过程中的临时数据存储;早期功能比较简单、比较固定的应用系统(照片、短信、微信)
- 适用于数据库系统:企业或部门的信息系统(人事管理系统、学生管理系统)
- 数据库系统特点
- 数据结构化(数据库系统与文件系统的本质区别)
- 数据共享性高,冗余度低,易扩充
- 数据独立性高
- 数据独立性包括数据的【物理独立性】和数据的【逻辑独立性】
- 【物理独立性】:用户的应用程序与数据库中数据的物理存储是相互独立的
- 【逻辑独立性】:用户的应用程序与数据库的逻辑结构是相互独立的
- 数据库管理系统的模式结构和二级映像功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。
- 数据由DBMS统一管理和控制。提供统一的数据控制功能
- 数据的安全性保护:保护数据以防止不合法的使用造成的数据的泄密和破坏
- 数据的完整性检查:将数据控制在有效的范围内或保证数据之间满足一定的关系
- 并发控制:对多用户的并发操作加以控制和协调,保证并发操作的正确性
- 数据库恢复:当计算机系统发生硬件故障、软件故障,或者由于操作员的失误以及故意的破坏影响数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失时,能将数据库从错误状态恢复到某一已知的正确状态(亦称为完整状态或一致状态)
- 什么是数据库
- 数据库是长期存储在计算机内有组织的大量的共享的数据集合。它可以供各种用户共享,具有最小冗余度和较高的数据独立性。
- DBMS在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对系统进行恢复。
- 数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。
- DBMS的主要功能
- 数据库定义功能
- 数据组织、存储和管理功能
- 数据操纵功能
- 数据库的事务管理和运行管理
- 数据库的建立和维护功能
- 其他功能,如不同数据库之间的互访和互操作功能等
- 概念模型、逻辑模型和物理模型
- 概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。
- 概念模型强调语义表达能力,简单清晰易于用户理解
- 逻辑模型(数据模型):按计算机系统的观点对数据建模,用于数据库管理系统的实现。
- 物理模型:是对数据最底层的抽象,描述数据在系统内部的表示方法和存取方法,或在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。
- 实体、实体型、实体集、实体之间的联系、属性、码、实体联系图( E-R图)
- 实体:客观存在并可相互区分的事物
- 实体型:用实体名及其属性名集合来抽象和刻画同类实体
- 实体集:同型实体的集合
- 实体之间的联系
- 实体(型)内部的联系:组成实体的各属性之间的联系
- 实体(型)之间联系:不同实体集之间的联系。一对一、一对多、多对多
- 属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。
- 码:唯一标识实体的属性集称为码。
- 实体联系图(E-R图):提供了表示实体型、属性和联系的方法
- 实体型:用矩形表示,矩形框内写明实体名。
- 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。
- 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。
- 数据模型、数据模型的作用、数据模型三要素
- 数据模型是数据库系统中最重要的概念之一。数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架
- 一般地讲,数据模型是严格定义的概念的集合。这些概念精确地描述系统的静态特性、动态特性和完整性约束条件。
- 数据模型是数据库系统的基础。任何一个DBMS都以某一个数据模型为基础,或者说支持某一个数据模型
- 数据模型通常由【数据结构】、【数据操作】、【完整性约束条件】三部分组成
- 层次模型概念
- 有且只有一个结点没有双亲结点,这个节点称为根节点
- 根以外的其他结点有且只有一个双亲结点
- 网状模型概念
- 允许一个以上的结点无双亲
- 一个结点可以有多于一个的双亲
- 层次数据库、网状数据库的优缺点
- 层次数据库
- 优点
- 层次模型数据结构简单清晰
- 层次数据库查询效率高
- 层次数据模型提供了良好的完整性支持
- 缺点:现实世界很多联系是非层次性的,层次模型不能自然地表示这类联系
- 优点
- 网状数据库
- 优点
- 能够更为直接地描述现实世界
- 具有良好的性能,存取效率较高
- 缺点
- 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。
- 网状数据库的数据定义语言(DDL)、数据操纵语言(DML)比较复杂,要求用户掌握数据库结构和存取路径,不容易使用
- 优点
- 层次数据库
- 关系、属性、域、元组、码、分量、关系模式
- 关系模型由【关系数据结构】、【关系操作集合】、【关系完整性约束】三部分组成。在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成
- 关系:一个关系对应通常说的一张表
- 属性:表中的一列
- 域:属性的取值范围
- 元组:表中的一行
- 码:表中的某个属性组,它可以唯一确定一个元组
- 分量:元组中的一个属性值
- 关系模式:对关系的描述,一般表示为 关系名(属性1,属性2,…,属性n)
- 关系数据库的特点
- 优点
- 关系模型与非关系模型不同,它具有严格的数学基础
- 关系模型的概念单一
- 关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。
- 缺点:存取路径对用户透明,查询效率往往不如非关系数据模型
- 优点
- 数据库系统三级模式、两级映像
- 三级模式结构由外模式、模式、内模式组成
- 外模式:亦称子模式或用户模式,局部数据的逻辑结构和特征的描述,是数据库用户的数据视图
- 模式:亦称逻辑模式,是数据库中全体数据的逻辑结构和特性的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式通常是模式的子集
- 内模式:亦称存储模式,对数据的物理结构和存储方式的描述
- 两级映像:外模式/模式映像、模式/内模式映像。在内部实现了三个抽象层次的联系和转换,保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性
- 数据定义语言、数据操纵语言
- 数据定义语言:用来定义数据库模式、外模式和内模式的语言
- 数据操纵语言:用来对数据库中的数据进行查询、插入、删除和修改的语句
- 数据与程序的物理独立性、逻辑独立性
- 【数据与程序的物理独立性】:当数据库的存储结构改变了,由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变,这就是数据与程序的物理独立性,简称数据的物理独立性。
- 【数据与程序的物理独立性】:当数据的逻辑结构即模式改变时,由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变,从而应用程序不必修改,这就是数据与程序的逻辑独立性,简称数据的逻辑独立性。
- DBMS在三级模式之间提供的两级映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
- 数据库系统组成
- 数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
- 数据库管理员、系统分析师、数据库设计人员、应用程序员的职责
- 数据库管理员:全面负责管理和控制数据库系统。具体职责包括:
- 决定数据库的信息内容和结构
- 决定数据库的存储结构和存取策略
- 定义数据的安全性要求和完整性约束条件
- 监控数据库的使用和运行
- 数据库系统的改进和重组重构
- 系统分析员:负责应用系统的需求分析和规范说明,他要和用户及DBA相结合,确定系统的硬件软件配置,并参与数据库系统的概要设计
- 数据库设计人员:负责数据库中数据的确定和数据库各级模式的设计。参加用户需求调查和系统分析,然后进行数据库设计
- 应用程序员:负责设计和编写应用程序的程序模块,并进行调试和安装
- 数据库管理员:全面负责管理和控制数据库系统。具体职责包括:
- 补充
- 数据库的核心和基础是【数据模型】
- 实现时将现实世界抽象为信息世界的是【概念模型】
- 文件系统阶段比人工管理阶段的优势是【数据可以长期保存】
- 保证数据库系统数据具有较高逻辑独立性的是【外模式/模式映像】
- IBM公司的IMS数据库管理系统采用【层次模型】
- DBMS是一类系统软件,建立在【操作系统】之上
- 网状数据库【一个结点可以由多于一个的双亲】
- 从逻辑模型到物理模型的转换一般由DBMS完成
- 长期存储在计算机内,有组织的、可共享的大量数据集合是【数据库】
- 【人工管理阶段】需要应用程序管理数据
- 通常情况下,外模式是模式的子集
- 通常按照数据结构的类型来命名数据模型
- 常用的数据模型有:层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型
- 最经常使用的概念模型是【E-R图】
- 数据库管理系统提供的数据控制方面的功能包括:数据的【安全性】保护、数据的【完整性】检查、【并发控制】、数据库恢复
- 层次模型和网状模型中的单位是基本层次联系,这是指两个【记录(型)】以及它们之间的【一对多】(包括一对一)的联系
- 数据模型的组成要素中描述系统的静态特性和动态特性的分别是【数据结构】和【数据操纵】
- 试述数据管理的文件管理阶段和数据库系统阶段“数据独立性”有何不同?
- 文件系统中数据被组织成相互独立的数据文件,程序按照文件名访问数据,“数据独立性”是一种“设备独立性”。数据库系统的“数据独立性”包括“物理独立性”和“逻辑独立性”,物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的;逻辑独立性是指用户的应用与数据库的逻辑结构是相互独立的。
- 文件系统管理数据的缺点:数据共享性差,冗余度大;数据独立性差
- 三级模式中,描述数据库中全体数据的全局逻辑结构和特征的是【模式】
- 层次模型不能直接表示【m:n关系】
- DBS是一个集合体,包含数据库、计算机硬件、软件和【数据库管理员】
- 数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是【DBS包括DB和DBMS】
- 【人工管理阶段】没有专门的软件对数据进行管理
- 【数据冗余度高】不属于数据库系统特点
- 数据库系统的数据独立性体现在【不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序】
- 要保证数据库的数据独立性,需要修改的是【三层之间的两种映射】
- 要保证数据库的逻辑数据独立性,需要修改的是【模式与外模式的映射】
- 用户或应用程序看到的那部分局部逻辑结构和特征的描述是【子模式】,它是模式的逻辑子集
- 【数据库管理系统设计】不是DBA数据库管理员的职责
- 给出三个实际部门的E-R图,要求实体型之间具有一对一,一对多,多对多各种不同的联系(结合教材进行练习)