秋招 基础知识之——数据库基础篇

内容参考《数据库原理与技术》(第二版)、《数据库系统概论》(第五版)

1 数据库系统概述

1.1 基本概念

1、数据库 DB(Data Base):按照一定结构组织并长期存储在计算机内的、可共享的大量数据的有机集合。

2、数据库管理系统 DBMS(Data Base Management System):管理和维护数据库的系统软件,是数据库和用户之间的一个接口。

3、数据库系统DBS(Data Base System):实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机软件、硬件和数据资源组成的系统。(DBS=计算机系统(硬件、软件平台、人)+DBMS+DB)

4、数据库系统的特点:

  • 数据结构化:数据库系统实现整体数据的结构化(数据库的主要特征之一,也是数据库系统与文件系统的本质区别);
  • 数据的共享性高、冗余度低且易扩充:数据共享可以大大减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性;
  • 数据独立性高:包括物理独立性和逻辑独立性,由数据库管理系统提供的二级映像功能来保证;
  • 数据由数据库管理系统统一管理和控制:(1)数据的安全性(security)保护

数据的安全性是指保护数据以防止不合法使用造成的数据泄密和破坏。

(2)数据的完整性(integrity)保护

数据的完整性是指数据的正确性、有效性和相容性。

(3)并发(concurrency)控制

(4)数据库恢复(recovery)

数据库管理系统必须具有将数据库从错误状态恢复到某一已知的正确状态的功能,即数据库的恢复功能。

1.2 数据模型(data model)

1、三个世界:现实世界、信息世界、机器世界

首先将现实世界抽象为信息世界,然后将信息世界转换为机器世界。

2、两类模型:概念模型、逻辑模型&物理模型

(1)概念模型(conceptual model,又称信息模型):从用户角度对数据建模,用于DB设计;反映实体集及实体集之间的联系(一对一、一对多、多对多);可用E-R图表示(实体-联系方法(Entity-Relationship approach))。

(2)逻辑模型:从计算机角度对数据建模,用于DBMS实现;表示实体集及实体集之间的联系。

逻辑模型主要包括:基本数据模型(层次模型、网状模型、关系模型)、面向对象数据模型、XML数据模型、谓词模型、扩充的数据模型等。

        物理模型:对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,或在磁盘或磁带上的存储方式和存取方法,                         是面向计算机系统的。

3、数据模型的三要素:数据组织结构、数据操作、数据的完整性约束。

1.3 数据库系统的结构

1、三级模式结构:外模式(External Schema)(多个)、模式(Schema)(一个)、内模式(Internal Schema)(一个)

(1)模式:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

(2)外模式:也称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。

(3)内模式:也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。

2、数据独立性:物理独立性、逻辑独立性

物理独立性:用户的应用程序与数据库中数据的物理存储是相互独立的。

逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立的。

3、二级映像功能(保证数据独立性):(1)外模式/模式映像(是指由模式生成外模式的规则,保证逻辑独立性);

                                                        (2)模式/内模式映像(是说明模式在物理设备中的存储结构,保证物理独立性)。


1.4 数据库系统的组成

1、硬件平台(计算机设备、网络及其通信设备);

2、软件系统(DBMS、OS、语言工具与开发环境、数据库应用软件、数据库);

3、人员(DBA、系统分析员和数据库设计人员、应用程序员、用户)。


2 关系数据库

关系数据库系统是支持关系模型的数据库系统。

2.1 关系数据结构及形式化定义

关系

1、定义:(1)域:一组具有相同数据类型的值的集合。一个域允许的不同取值个数称为这个域的基数(cardinal number)。

               (2)笛卡尔积:给定一组域D1,D2,...,Dn,允许其中某些域是相同的,D1,D2,...,Dn的笛卡尔积为:


其中,每个元素(d1,d2,...,dn)叫做一个n元组(n-tuple),或简称元组(tuple)。元素中的每一个值di叫做一个分量(component)。

       (3)关系:笛卡尔积的有限子集叫做在域上的关系,表示为R(D1,D2,...,Dn)。也是一张二维表,行:元组,列:域。

若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码(candidate key)。

若一个关系中有多个候选码,则选定其中一个为主码(primary key)。

候选码的诸属性称为主属性(prime attribute)。不包含在任何候选码中的属性称为非主属性(non-prime attribute)或非码属性(non-key attribute)。

在最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系模式的所有属性是这个关系模式的候选码,称为全码(all-key)。

2、关系的三种类型:基本关系(又称基本表或基表)、查询表和视图表。

(1)基本表:实际存在的表,是实际存储数据的逻辑表示;

(2)查询表:查询结果对应的表;

(3)视图表:由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。

2.2 关系操作

1、基本的关系操作:(1)查询(query)操作:包括选择、投影、连接、除、并、差、交、笛卡尔积等。

       (2)插入(insert)、删除(delete)、修改(update)操作。

2、关系数据语言的分类:


2.3 关系的完整性

关系模型中有三类完整性约束:实体完整性、参照完整性、用户定义的完整性。

2.3.1 实体完整性

实体完整性规则:若属性A是基本关系R的主属性,则A不能取空值。

保证关系数据库中每个元组都是可区分的。

2.3.2 参照完整性


参照完整性规则就是定义外码与主码之间的引用规则。


猜你喜欢

转载自blog.csdn.net/u012398077/article/details/80199515