考研复试——数据库复习笔记

考研复试——数据库学习笔记

本人今年考研,复试有数据库,以下是本人准备复试期间做的数据库复习笔记希望能帮助到有需要的同学。

绪论

  • 数据库的概念

    • 数据库是指长期保存在计算机的存储设备上并按照某种模型组织起来的、可以被各种用户或应用共享的数据集合

    • 数据有如下基本特征:

      • (1)数据独立性

      • (2)高访问效率

      • (3)低数据冗余

      • (4)安全性

      • (5)多用户共享,保证数据的一致性和完整性

  • 数据库管理系统

    • DBMS(数据库管理系统)是位于用户和操作系统之间的数据管理软件,数据库在建立、运用和维护时由数据库管理系统统一管理、控制。

    • DBMS的目标

      • (1)用户界面友好

      • (2)功能完备

      • (3)效率高

      • (4)结构清晰

      • (5)开放性

    • DBMS的功能

      • 数据库定义功能

      • 数据库操纵功能

        • DBMS提供数据操纵语言DML,来接收、分析和执行用户提出的访问数据库的各种要求,完成对数据库的各种基本操作
      • 数据库控制功能

      • 数据库运行管理功能

      • 数据库组织和存储管理功能

      • 数据库的建立和维护功能

      • 数据库通信功能

    • DBMS的组成

      • 数据定义语言(DDL)及其翻译程序

        • DDL包括模式DDL、外模式DDL和内模式DDL三个部分
      • 数据操纵语言及其编译程序

        • DBMS提供一套数据操纵语言DML用于实现对数据库的一些基本操作,如数据检索、数据插入、数据修改和数据删除

          • DML分为宿主型DML和自主型DML

            • 宿主型DML不能独立使用,必须嵌入到宿主语言
      • 数据库运行控制程序

        • 系统初启程序

        • 访问控制程序

        • 安全性控制程序

        • 完整性控制程序

        • 并发控制程序

        • 数据存取、更新程序

        • 通信控制程序

      • 数据库服务实用程序

  • 数据库系统

    • 数据库系统是指在计算机系统中引入数据库后的系统构成一般由数据库、数据库系统运行环境、数据库管理系统及其开发工具、数据库管理员和用户构成

    • 数据库系统的三级模式结构

      • 模式是数据库中全体数据的逻辑结构和特征的描述,模式的一个具体的值称为模式的一个实例,模式是相对稳定的,而实例则是相对变动的。模式反映的是数据结构及其关系,而实例反映的是数据库某一时刻的状态。

      • 三级模式结构

        • 数据库系统的三级模式结构是指数据库系统是由外模式、模式、内模式三级构成的

        • 1.外模式

          • 外模式也称子模式或者用户模式,是数据库用户看见和使用的局部数据的逻辑结构和特征的描述,是数据库的用户视图,是和某个应用相关的数据逻辑表示

          • 外模式通常是模式的子集,一个数据库可以有多个外模式,一个外模式可以为多个用户使用,但是一个应用程序只能使用一个外模式,只有有相同数据视图的用户才能够共享一个外模式

          • 设计外模式可以:方便用户使用、简化用户接口、保证数据的独立性、有利于数据共享、有利于数据的安全与保密

          • DBMS提供外模式描述语言(外模式DDL)来严格定义外模式

        • 2.模式

          • 模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共视图,是数据库的这个逻辑描述,并说明一个数据库所采用的数据模型。

          • 模式实际上是数据库在逻辑上的视图,一个数据库只有一个模式。

        • 3.内模式

          • 内模式也称为存储模式,是数据物理结构和存储方式的描述,数据库的内部表示方式。

          • 一个数据库只有一个内模式

    • 数据库系统的二级映像功能和数据独立性

      • 为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像,即外模式/模式映像和模式/内模式映像,从而保证了数据库系统中数据能够具有较高的逻辑独立性和物理独立性。

      • 外模式/模式映像

        • 对于每个外模式,数据库系统都有一个外模式/模式映像,他定义该外模式与模式之间的对应关系,通常包含在各自外模式的描述中。

        • 当模式改变是,DBA对各个外模式/模式的映像做出相应的改变,使外模式保持不变,从而使应用程序不改变,保证了数据的逻辑独立性。

      • 模式/内模式映像

        • 数据库中只有一个模式、一个内模式,因此模式/内模式映像也是唯一的,它定义了数据全局逻辑结构和存储方式之间的对应关系。

        • 该映像定义通常包含在模式描述中,如果数据库的存储方式改变了,则DBA将对模式/内模式映像做出相应的改变,可以使模式保持不变,从而保证了数据的物理独立性。

    • 数据库系统的体系结构

      • 1.单用户结构的数据库系统

        • 单用户数据库系统包括数据、数据库管理系统和应用程序等,都安装在一台计算机上,由一个用户独占,不同计算机之间不能共享数据。
      • 2.主从式结构的数据库系统

        • 主从式结构是指一个主机带多个终端的多用户结构,这种结构数据库系统包括数据、数据库管理系统、应用程序等,集中存放在主机上,所有的任务都由主机完成,各个用户通过主机的终端并发地 存取数据库,共享数据资源
      • 3.分布式结构的数据库系统

        • 分布式结构的数据库系统是指数据库中的数据在逻辑上是一个整体,但数据分布在计算机网络的不同结点上,网络的每个结点都可以独立地处理本地数据库中的数据,还可以同时存取和处理多个异 地数据库中的数据。

        • 它适应了地理上分散的公司、团体对数据库应用的需求,但是数据分布存储给数据管理和维护带来了困难,而且当用户远程访问数据时增加了网络数据的传输量,系统效率会受到制约。

      • 4.客户端/服务器结构的数据库系统

        • 由于工作站的功能越来越强,使用越来越广泛,人们开始吧数据库管理系统功能和应用程序分开,网络中的某个结点上的计算机专门用于执行DBMS功能,这个结点称为数据库服务器,简称服务器, 其他结点上的计算机安装DBMS的外围应用工具以支持用户的应用,称为客户端,这就是客户端/服务器结构的数据库系统。

        • 客户端的用户请求被传输到数据库服务器中,数据库服务器进行处理后,只将结果而不是整个数据返回给用户,从而显著减少了网络数据的传输量,克服了分布式结构的数据库的缺陷,提高了系统 的性能、吞吐量和负载能力。

        • 客户端/服务器结构的数据库往往更加开放,一般都能够在多种不同的硬件和软件平台上运行,可以使用不同的数据库应用开发工具,应用程序具有更强的可移植性,同时减少软件维护开销。

  • 数据库系统的工作流程

    • 第一阶段,数据库管理员建立并维护数据库。

    • 第二阶段,用户编写应用程序。

    • 第三阶段,应用程序在DBMS支持下运行,在模式、外模式、内模式、用户源程序翻译为目标代码后,即可启动目标程序。

  • 数据库的发展

    • 人工管理阶段→文件系统阶段→数据库系统阶段

★数据模型

  • 2.1数据描述

    • 2.1.1数据的三种范畴

      • 现实世界

        • 又称客观世界,现实世界所反映的客观存在的事物及其相互之间的联系,只是处理对象最原始的表现形式
      • 信息世界

        • 又称观念世界,是现实世界在人们头脑中的反映,或者说,在信息世界中所存在的信息是现实世界中客观事物在人们头脑中的反映,经过一定的选择、命名和分类而形成的。

        • 在进行现实世界管理时,客观事物必然在人们的头脑中产生反映,把这种反映称为信息。

        • 信息世界中所涉及的基本概念

          • (1)实体(Entity)

            • 实体是客观存在的事物在人们头脑中的反映

            • 实体可以指人,可以指物,还可以指抽象的事物,甚至可以指事物与事物之间的联系

          • (2)属性(Attribute)

            • 属性是指实体所具有的某一方面的特性。

            • 一个实体可以由若干个属性来刻画,例如,教师的属性有姓名、年龄、性别、职称等。

            • 属性所取的具体值称为属性值。

          • (3)域

            • 一个属性可能取的所有属性值的范围称为该属性的域。例如,教师属性“性别”的域为男、女;教师属性“职称”的域为助教、讲师、副教授、教授等。

            • 每个属性都是变量,属性值就是变量所取的值,而域则是变量的变化范围。因此,属性是表征实体的最基本的信息。

          • (4)码

            • 唯一标识实体的属性集称为码(Key)。例如,学号是学生实体的码。
          • (5)实体型

            • 具有相同属性的实体必然具有共同的特性和性质。

            • 用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如,教师(姓名,年龄,性别,职称)就是一个实体型

          • (6)实体集

            • 同一类型实体的集合称为实体集(Entity Set)。例如,某一学校中的教师具有相同的属性,他们就构成了实体集“教师”
      • 机器世界

        • 在信息管理进入计算机后,就把他称为机器世界或者存储世界。机器世界也称为存储世界。

        • 由于计算机只能处理数据化的信息,所以信息世界中的信息必须进行数据化。信息经过加工、编码后即进入机器世界,利用计算机来处理他们。

        • 机器世界中的对象是数据,现实世界中的客观事物及其联系在机器世界中是用数据模型来描述的。

        • 数据化后的信息称为数据,所以说数据是信息的符号表示。

        • 机器世界中涉及一些相关的基本概念

          • (1)数据项(字段,Field)——对应于信息世界中的属性。例如,实体型“教师”中的各个属性中,姓名、性别、年龄、职称等就是数据项

          • (2)记录(Record)对应于每个实体所对应的数据。例如,对应某一教师的各项属性值为李辉,男,45,副教授等就是一个记录。

          • (3)记录型(Record Type)对应于信息世界中的实体型

          • (4)文件(File)对应于信息世界中的实体集

          • (5)关键字(Key)对应于能够唯一标识一个记录的字段集

          • 机器世界就是通过这些概念来描述客观事物及其联系的

    • 2.1.2实体间的关系

      • 1.一对一关系

      • 2.一对多关系

      • 3.多对多关系

  • 2.2概念模型与E-R方法

    • 2.2.1数据模型概述

      • 数据库不仅要反映数据本身的内容,而且要反映数据之间的联系。为了用计算机处理现实世界中的具体事物,必须进行数据建模。数据模型就是现实世界的模型。

      • 数据模型应满足三方面要求:

        • 一是能够比较真实地模拟现实世界

        • 二是容易为人所理解

        • 三是便于在计算机上实现

      • 数据库系统针对不同的使用对象和应用目的,采用不同的数据模型

      • 根据模型的不同应用目的,可以将这些模型划分为以下两类,它们分属于不同的层次。

        • 第一类是概念模型,也称信息模型。它是按用户的观点来对数据和信息建模,主要用于数据设计。

        • 另一类模型是基本数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模的,主要用于DBMS的实现。

      • 数据模型是数据库系统的核心和基础。各种计算机上实现的DBMS软件都是基于某种数据模型的

      • 实现世界中客观对象的抽象过程

    • 2.2.2数据模型的三要素

      • 表示实体类型及实体之间关系的模型称为数据模型(Data Model),数据模型是严格定义的概念的集合。这些概念精确地描述了系统的静态特征、动态特征和完整性约束条件。因此,数据模型通常都应包含数据结构、数据操作和数据完整性约束三个部分,它们是数据模型的三要素。

      • 1.数据结构

        • 数据结构用于描述系统的静态特性。数据结构是所研究对象类型的集合,这些对象是数据库的组成部分,这些对象包括两类,一类是与数据类型、内容、性质相关的对象,例如,网状模型中的数据 项、记录,关系模型中的域、属性、关系等;一类是与数据之间联系有关的对象,例如网状模型中的系型(Set Type)

        • 数据结构是刻画一个数据模型性质最重要的方面。数据库系统通常按照其数据结构类型来命名数据模型,例如,层次结构、网状结构、关系结构的数据模型分别命名为层次模型、网状模型和关系模 型。

      • 2.数据操作

        • 数据操作用于描述系统的动态特征。数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。

        • 数据库主要有检索和修改(包括插入、删除、更新)两大数据操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则及实现操作的语言。

      • 3.数据完整性约束

        • 数据完整性约束是一组完整性规则的集合。

        • 完整性规则是给定的数据模型中数据及其联系所具有的制约和存储规则,用于限制符合数据模型的数据库状态及状态的变化,用于确保数据的正确、有效和相容。

    • 2.2.3概念数据模型

      • 概念数据模型简称概念模型。概念模型是按用户的观点对现实世界进行数据建模而形成的,是一种独立于计算机系统的模型,完全不涉及信息在计算机系统中的表示,也不依赖与具体的数据库管理系统,只是用于描述某个特定组织所关心的信息结构。是对现实世界的第一层抽象,是用户和数据库设计人员之间交流的工具。

      • 1.概念模型的基本概念

        • 概念模型所涉及的主要基本概念有实体、属性、域、码、实体型和实体集。
      • 2.概念模型中的基本关系

        • 实体间一对一、一对多、多对多三类基本联系是概念模型的基础,也就是说,在概念模型中主要解决的问题仍然是实体之间的联系。

        • 实体之间的联系类型并不取决于实体本身,而是取决于现实世界的管理方法,或者说取决于语义,即同样两个实体,如果有不同的语义,则可以得到不同的联系类型。

    • 2.2.4概念模型的E-R图表示方法

      • 概念模型的表示方法很多,其中最为著名、最为常用的是实体-联系方法。该方法用E-R图来描述现实世界的概念模型,E-R图描绘的模型也称为E-R模型。

      • E-R图提供了表示实体型、属性和联系的方法。

        • (1)实体型:用矩阵表示,矩形框内写明实体名。

        • (2)属性:用椭圆表示,椭圆形框内写明属性名,并用无向边将其与相应的实体连接起来。

        • (3)联系:用菱形表示,菱形框内写联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标注联系的类型(1:1,1:n或m:n)

      • 现实世界中的任何数据集合,均可用E-R图来描述。

      • 实体-联系方法是抽象和描述现实世界的有力工具。用E-R图表示的概念模型独立于具体的DBMS所支持的数据模型,它是各种数据模型的共同基础,因而比数据模型更一般、更抽象、更接近现实世界。

      • E-R模型有两个明显的优点

        • 1.一是接近人的思想,容易理解

        • 2.二是与计算机无关,用户容易接受

        • 因此,E-R模型已经成为数据库概念设计的一种重要方法,它是设计人员和不熟悉计算机的用户之间的共同语言。

    • 2.2.5概念模型实例

      • 见书28页
  • 2.3传统三大数据模型

    • 2.3.1层次模型

      • 是用“树结构”来表示数据之间的联系
    • 2.3.2网状模型

      • 是用“图结构”来表示数据之间的联系
    • 2.3.3关系模型

      • 是一种用二维表格结构来表示实体之间联系的数据模型

      • 优点

        • 1.数据结构较为简单

        • 2.具有较高的数据独立性

        • 3.可以直接处理多对多联系

        • 4.坚实的理论基础

  • 2.4数据独立与三层结构

    • 数据库管理系统的三级模式体系结构使得应用程序与数据的组织、存储数据分离开来,真正实现了应用程序与数据的相互独立。

    • 2.4.1数据库系统的三级模式结构

      • 数据库的三级结构是数据三个抽象级别,用户只要抽象地处理数据,而不必关心数据在计算机中如何表示和存储。

      • 1.外模式

        • 外模式也称子模式或者用户模式,是数据库用户看见和使用的局部数据的逻辑结构和特征的描述,是数据库的用户视图,是和某个应用相关的数据逻辑表示
      • 2.模式

        • 模式可分为概念模式和逻辑模式两种,是所有数据库用户的公共数据视图,是数据库中全部数据的逻辑结构和特征描述。

        • 一个数据库只有一个模式。其中概念模式可用实体-联系模型来描述,逻辑模式以某种数据模型为基础,综合考虑所有用户的需求,并将其形成全局逻辑结构。

      • 内模式

        • 内模式又称存储模式,是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。

        • 一个数据库只有一个内模式。内模式描述记录的存储方式、索引的组织方式、数据是否压缩、是否加密等。但不涉及物理记录,也不涉及硬件设备。

    • 2.4.2数据独立性

      • 数据独立性是指应用程序和数据之间相互独立、不受影响

      • 数据库管理系统在三级模式之间提供了两层映像,即外模式/模式映像、模式/内模式映像。

      • 这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和存储独立性。

      • 数据独立性的好处

        • 1.减轻了应用程序的维护工作量

        • 2.对同一数据库的逻辑模式,可以建立不同的用户模式,从而提高数据共享性,使数据库系统有较好的可扩充性,给DBA维护、改变数据库的物理存储提供了方便。

  • 2.5数据库管理系统

    • 2.5.1数据库管理系统的主要功能

      • 1.数据库定义

      • 2.数据库操作及查询优化

      • 3.数据库控制运行管理

        • 数据库管理系统必须提供并发控制机制、访问控制机制和数据完整性约束机制,从而避免多个读/写操作并发执行可能引起的冲突、数据失密或者安全性、完整性被破坏等一系列问题。
      • 4.数据组织、存储和管理

      • 5.数据库的恢复和维护

      • 6.数据库的多种接口

      • 7.其他功能

    • 2.5.2数据库管理系统的组成

      • DBMS是由两大部分组成:查询处理器和存储管理器。

      • (1) 查询处理器有四个主要成分:DDL编译器、DML编译器、嵌入型DML的预编译器、查询运行核心程序。

      • (2) 存储管理器有四个主要成分:授权和完整性管理器、事务管理器、文件管理器、缓冲区管理器。

关系数据库

  • 利用关系模型描述的数据库称为关系数据库

  • 3.1关系模型的基本概念

    • 3.1.2关键字

      • 超关键字(超码):在关系中能够唯一标识元组的属性集合称为超关键字

      • 候选关键字(候选码):如果某一属性集合是超关键字,但去掉其中任意属性后就不再是超关键字,这样的属性称为候选关键字

        • 候选码的各个属性称为主属性。不包含在任何候选关键字中的属性称为非主属性。
      • 主关键字(主码):如果关系中存在多个候选码,用户可选作元组标识的一个候选码为主码。

      • 合成关键字(合成码):当某个候选码包含多个属性时,该候选关键字称为合成关键字。

  • 3.2关系模式

    • 关系的描述称为关系模式

    • 形式为R(U,D,DOM,I,F)

      • R为关系名,U是属性名集合,D是U中属性的域,DOM为属性到域的映像集合,I为完整性约束,F为属性间数据的依赖关系
  • 3.3关系模式的完整性

    • 1.域完整性约束

      • 域完整性约束主要规定属性值必须取自值域,一个属性能否为空值由其语义决定。
    • 2.实体完整性约束

      • 如果属性A是关系R的主属性,则属性A不能取空值

      • 完整性约束规定基本关系的所有主属性都不能取空值,而不仅是主属性整体不能取空值。

    • 3.参照完整性约束

      • 这条规则要求“不引用不存在的实体”

      • 定义如下:如果属性集K是关系R的主关键字,K也是关系S的外关键字(关系R和S不一定是不同的关系),那么在关系S中,K的取值只允许两种可能,或者为空值,或者等于关系R中某个主关键字的值。

      • 关系R称为“参照关系”模式,关系S称为“依赖关系”模式

    • 4.用户定义完整性约束

      • 用户自定义的某种约束条件
  • 3.4关系代数

关系模式的规范化与查询优化

  • 4.1问题的提出

    • 针对一个具体问题,应该如何构造一个适合于它的关系数据库模式,即应该构造几个关系模式,每个关系由哪些属性组成等。这是数据库设计的问题,确切的讲是关系数据库逻辑设计问题。

    • 4.1.1关系模式

      • 一个关系模式是一个系统,由一个五元组R(U,D,DOM,I,F)

      • R为关系名,U是属性名集合,D是U中属性的域,DOM为属性到域的映像集合,I为完整性约束,F为属性间数据的依赖关系

      • 关系模式是用于描述关系的数据结构和语义约束,它不是集合,而关系是一个数据的集合。

    • 4.1.2关系

      • 关系是一个数据的集合。
    • 4.1.3插入异常

      • 插入异常表示数据插入时出现问题,即无法在缺少另一个实体实例或者关系实例的情况下表示实体或者实例的信息。
    • 4.1.4删除异常

      • 删除表的某一行来反映某个实体实例或者关系实例消失,会导致丢失另一个不同实体实例或者关系实例的信息,这就说明该表存在删除异常
    • 4.1.5更新异常

      • 更改表所对应的某个实体实例或者关系实例的单个属性,会将多行的相关信息全部更新,这就说明该表存在更新异常。
    • 出现上述异常是因为这个模式中的函数依赖存在某些不好的性质。我们需要对初始的逻辑数据库模式做进一步的处理,用规范化的方法消除上述三个问题。

  • 4.2关系模式的函数依赖

    • 4.2.1函数依赖

      • 1.函数依赖

        • 通俗的说,对一个关系r,不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或者Y函数依赖X

        • 函数依赖是语义范畴的概念,我们只能根据数据的语义来确定函数依赖关系

      • 2.完全函数依赖和部分函数依赖

        • 设R(U)是属性集U上的关系模式,如果X→Y,并且对于X的任何一个真子集Z,都有Z\→Y,则称Y完全函数依赖于X。

        • 若X→Y,但Y不完全函数依赖于X,则称Y部分函数依赖于X。

      • 3.传递函数依赖

        • 设R(U)是属性集U上的关系模式,X⊆U,Y⊆U,Z⊆U,Z-X,Z-Y,Y-X均非空,如果X→Y(Y⊈X),Y\→X,Y→Z,则称Z传递函数依赖于X
    • 求属性闭包

数据库的设计与实施

  • 5.1数据库设计概述

    • 5.1.1数据库设计的内容和特点

      • 数据库设计包括结构特性设计与行为特性设计两个方面

      • 结构特性设计:

        • 就是数据库框架和数据库结构设计,其结果是得到一个合理的数据模型,反应真实的事务间的联系,目的是汇总各用户的视图,尽量减少冗余,实现数据共享。

        • 是静态的,一旦形成之后,经常不再轻易变动。

      • 行为特性设计:

        • 是指应用程序设计,如查询、报表处理等。

        • 它确定用户的行为和动作,用户通过一定的行为和动作存取和处理数据。

      • 结构特性必须适应行为特性

      • 数据库设计过程:

    • 5.1.2数据库设计方法

      • 人们经过努力探索,提出了各种数据库设计方法,这些方法各有自己的特点和局限,但是都属于规范设计法,即运用软件工程的思想和方法,根据数据库设计的特点,提出了各自的设计准则和设计规程
    • 5.1.3数据库设计步骤

      • 1.数据库规划设计

        • 明确数据库建设的总体目标和技术路线,得出数据库设计项目的可行性分析报告,对数据库设计的进度和人员分工做出安排。
      • 2.需求分析

        • 准确弄清用户请求是数据库设计的基础,它影响到数据库设计的结果是否合理与实用。

        • 数据流图(DFD):是描述各处理活动之间的有力工具,是一种从数据流的角度描述一个组织业务活动的图示。

        • 数据字典(DD):描述每个数据流、每个文件、每个加工的集合就是所谓的数据字典。包括数据项、数据文件、数据流、数据加工处理四个部分。

      • 3.概念结构设计

        • 概念结构设计独立于计算机的数据模型,独立于特定的DBMS,它是通过对用户需求综合、归纳抽象、形成独立于具体DBMS的概念模型

        • 局部E-R图

        • 全局E-R图

      • 4.逻辑结构设计

        • 使概念结构转换为某个DBMS所支持的数据模型,并进行优化
      • 5.物理结构设计

        • 从一个满足用户要求的已确定的逻辑模型出发,设计一个在限定的软件、硬件条件和应用环境下可实现的,运行效率高的物理数据库结构

        • 如选择数据库文件的存储结构、索引的选择、分配存储空间以形成数据库的内模式

      • 6.数据库实施与维护

你可能感兴趣的:(考研复试,数据库,数据库,面试)