这里是南京大学《数据库概论》的上课笔记。听往届学生评价这门课有很多概念,几乎是门背书课,所以决定从学期开始就进行笔记整理,免得出现以前期末抱佛脚背不过来的情况。
出于老师要求课件不能公开,但我自以为整理后的笔记框架比ppt看起来舒服,用来复习抓重点应该是够了。
01 数据库系统概述
1.1 基本概念
数据库,数据库管理系统与数据库管理员
-
数据库:是数据集合,具有统一的结构形式并存放于统一的存储介质内,它由多种应用数据集成,并可被应用所共享
-
数据库管理系统(DBMS):一种管理数据库的系统软件。
-
DBMS和其它计算机软件系统的区别:1、能对持久化数据进行管理;2、能对大量数据进行有效存取;3、可为众多使用者提供同一数据(即数据共享)。
-
DBMS的作用:作为使用数据库的应用程序和数据库的接口;在保证数据安全可靠的同时,提高数据库应用时的简明性和方便性
-
-
数据库管理员(DBA):对数据库进行规划、设计、维护、监视的专职人员。负责数据库设计,建立与调整、数据库维护、改善系统性能。
-
数据库系统:由数据库、数据库管理系统、数据库管理员、软件平台(操作系统,语言,数据库应用开发工具,通用的数据库访问接口),硬件平台构成的一整个系统
其它
-
数据子语言:
-
数据定义语言:简称DDL,负责数据的模式定义与数据的物理存取操作
-
数据操纵语言:简称DML,负责数据的操纵,包括查询及增、删、改等操作
-
数据控制语言:简称DCL,负责数据的完整性、安全性的定义与检查以及并发控制、故障恢复等功能
-
-
数据库用户分类:
-
最终用户:终端查询用户、应用程序使用者。
-
应用程序开发人员
-
数据库管理员
-
1.2 数据库系统的发展历史和趋势
数据管理技术的三个发展阶段:人工管理——文件系统管理——数据库系统管理
-
文件系统阶段:目前一般将其看成仅是数据库系统的雏形,而不是真正的数据库系统。
-
优点:利用文件系统来参与数据管理,向用户提供简单的数据管理和共享能力;
-
缺点是无法提供完整统一的数据管理功能和较强的数据共享能力;文件系统只是操作系统的一个附属软件,因此也不利于数据库系统在不同平台之间的移植
-
-
层次数据库与网状数据库:于20世纪60年代末开始发展。它们为统一管理与共享数据提供了有力支撑,是真正的数据库系统
-
优点:为用户提供了统一的数据管理工具,向用户提供了数据共享能力
-
缺点:它们脱胎于文件系统,受文件的物理影响较大,对数据库的使用带来不便;数据模式构造烦琐,不利于推广使用
-
-
通用数据库系统:主要有三类数据库系统,分别是面向对象数据库系统,知识库系统,关系数据库系统
新一代数据库系统:主要是对关系数据库的进一步扩充和改造。
-
有对象关系数据库系统,数据仓库(Data Warehouse),Web数据库,安全数据库,……
1.3 数据库系统的基本特点
数据集成性、一致性、独立性
-
数据的集成性:集多种应用数据于一体。
-
集成性的表现:采用一个统一的数据结构;建立一个全局同意的数据模式;根据每个应用的数据构造局部模式
-
-
数据的高共享性与低冗余性:
-
数据的一致性:在系统中,同一数据在不同地方出现时应保持相同的值
-
数据的不一致性会造成系统的混乱,因此减少冗余性、避免数据的不同出现是保证系统一致性的基础
-
-
数据独立性:数据库中的数据和使用数据的应用程序之间没有依赖关系。即数据或数据结构的改变不会对应用程序产生影响,反之亦然
-
物理独立性:数据的物理结构(包括存储结构、存取方式等)的改变,不影响数据库的逻辑结构,从而不致引起应用程序的变化
-
逻辑独立性:数据库总体逻辑结构的改变,如修改数据模式、增加新的数据类型、改变数据间联系等,不需要相应修改应用程序
-
数据的统一管理与控制
-
数据的完整性检查:用于确保数据正确
-
数据的安全性保护:对数据库使用者作检查以防止非法访问
-
并发控制:对多个应用程序并发访问造成的相互干扰做控制,以保证数据正确性
-
数据库故障恢复:对遭受破坏的数据有恢复能力
1.4 数据库内部结构体系
数据库系统的三级模式:概念模式、外模式、内模式
-
概念模式:是关于整个数据库中数据的全局逻辑结构的描述。是面向数据库系统的,它一般以某种数据模型为基础,利用具体的DBMS所提供的数据定义语言(DDL)来描述。
主要包括数据的类型、长度、特征,数据间联系,安全性&完整性要求
-
外模式(又称为子模式、用户模式):
一个用户只关心并通过与其相关的外模式来使用数据库。优点有:
-
简化用户接口,方便使用;
-
降低数据冗余;
-
有利于数据的安全性保护和保密(内模式对用户不可见)。
-
-
内模式(物理模式):
是关于数据库中数据的物理存储结构和物理存取方法的描述。
利用上面提到的三个模式,可以构造出三个层次上的数据库概念:概念数据库、用户数据库、物理数据库。在这三种数据库中,只有‘物理数据库’是真实存在于计算机的外存中的,其他两种数据库并不真正存在于计算机中,而是由物理数据库通过数据库管理系统构造而成的。
数据库系统的两级映射(三级模式的关系)
-
概念模式到内模式的映射:给出了概念模式中数据的全局逻辑结构到数据的物理存储结构间的对应关系,此种映射一般由DBMS实现。可实现‘物理独立性’
-
外模式到概念模式的映射:概念模式是一个全局模式,而外模式则是用户的局部模式。一个概念模式中可以定义多个外模式,而每个外模式是概念模式的一个基本视图。一般也由DBMS实现。可实现‘逻辑独立性’