数据库概论
文章目录
第1章 绪论
1.1 数据库基本概述
-
数据库 (Data Base ,简称 DB) :是用专门通用
软件管理,长期存储在计算机内、有组织的、可共享的大量相关数据的集合。 -
数据库管理系统 (DataBase
Management System ,简称 DBMS):位于用户应用与操作系统之间的一层数据管
理软件;是基础软件,是一个大型复杂的软件系统;科学的组织和存储数据,高效地获取和维护数据。 -
常见的DBMS:
- Oracle 公司开发的 Oracle 和 MySQL;
- Microsoft 公司开发的 SQL Server, Access 和
Visual FoxPro; - Sybase 公司开发的 Sybase;
- IBM 公司开发的 DB2 。
-
DBMS功能:
- 数据定义(
DDL):数据库管理系统使用数据定义语言 DDL 来对数据
库中的对象(表、视图、索引、存储过程等)进
行定义。 - 数据操作(
DML):DBMS 提供数据库操作语言 DML, 通过 DML 操作数
据实现对数据的增删改查。 - 数据库控制(
DCL):DBMS 通过数据库控制语言 DCL 对数据库的建立 、
运用和维护时提供统一管理和控制,以保证数据
安全、正确、有效地运行。包括安全性控制、完
整性控制、多用户应用环境下的并发控制和数据
库数据的系统备份和恢复。 - 数据库维护:数据库初始数据的批量装载、数据库的转储、恢
复功能、重组功能和性能监视、分析功能等。一般由数据库管理员 DBA 来完成。 - 其它功能:DBMS 与网络中其它软件系统的通信;多个 DBMS 系
统间的数据转换;异构数据库之间的互访和互操
作等等。
- 数据定义(
-
关系如下图:
-
数据库系统 (DataBase System ,简称DBS):在计算机系统中引入数据库后的系统,由硬件系统、操作系统、数据库、数据库管理系统、开发工具、应用系统、常规用户、数据库管理员组成。
-
数据库系统结构图:
-
数据库管理员 (Data Base Admin ,简称 DBA):确定数据库中的信息内容和逻辑结构;
确定数据库的存储结构和存取策略;
定义数据的安全性和完整性约束条件;监控数据库的使用和运行;数据库的改进和重组重构。
数据类型:数值型数据、图形、视频、音频、图像、文本……
数据存储方式:打印或写在纸上、保存在txt、保存在word、使用MYSQL, SQL Server, DB2, ORACLE等软件系统管理起来。
1.2 数据模型
-
数据模型是对现实世界数据特征的抽象 ;数据模型应满足三方面要求:
- 能比较真实地模拟现实世界;
- 容易为人所理解;
- 便于在计算机上实现;
-
数据模型是数据库系统的核心和基础。
-
数据模型的不同抽象层次:
-
概念模型:世界是由一组称作实体的基本对象和这些对象之间
的联系构成。1976 年, P.P.S.Chen 提出E-R模型 Entity Relationship
Model ),用E-R图来描述E-R模型。 -
概念模型的用途:
- 概念模型用于信息世界的建模;
- 是现实世界到机器世界的一个中间层次;
- 是数据库设计的有力工具;
- 数据库设计人员和用户之间进行交流的语言。
-
概念模型的基本要求:较强的语义表达能力,
简单、清晰、易于用户理解。 -
逻辑模型大多数时候就直接称为数据模型;有三要素:
- 数据结构:
- 静态特性,数据本身以及数据之间的联系;
- 刻画数据模型性质的重要方面;
- 通常采用数据结构的类型来命名数据模型。
- 数据操作:动态特征,允许执行的操作的集合,包括操作及操作规则。一般
有检索、更新(插入、删除、修改)操作。 - 数据的约束条件:是完整性规则的集合,规定数据库状态及状态变化所应满足的条
件。
- 数据结构:
-
三大经典数据模型:
- 关系模型:以表的形式来组织数据(最主流);
- 关系模型以记录组或数据表的形式组织数据,以便于利用各种地理实体与属性之间的关系进行存储和变换,不分层也无指针,是建立空间数据和属性数据之间关系的一种非常有效的数据组织方法。
- 优点在于结构特别灵活,概念单一,满足所有布尔逻辑运算和数学运算规则形成的查询要求;能搜索、组合和比较不同类型的数据;增加和删除数据非常方便。
- 层次模型:以树的形式来组织数据;
- 层次模型将数据组织成一对多关系的结构,层次结构采用关键字来访问其中每一层次的每一部分。
- 层次模型发展最早,它以树结构为基本结构,典型代表是IMS模型。
- 优点是存取方便且速度快;结构清晰,容易理解;数据修改和数据库扩展容易实现;检索关键属性十分方便。
- 网状模型:以网的形式来组织数据;
- 网状模型用连接指令或指针来确定数据间的显式连接关系,是具有多对多类型的数据组织方式。
- 网状数据模型通过网状结构表示数据间联系,开发较早且有一定优点,目前使用仍较多,典型代表是 DBTG模型。
- 优点是能明确而方便地表示数据间的复杂关系。
基于关系模型的数据库称为关系数据库 。
在用户看来 一个关系模型的逻辑结构是一张二
维表,它由行和列组成 。 - 关系模型:以表的形式来组织数据(最主流);
-
网状模型的特点:
- 多根
:允许一个以上的结点无双亲; - 多父
:一个结点可以有多于一个的双亲; - 多联系
:允许两个结点间有多种联系(复合联系)。
- 多根
-
举例
模型的转换:现有一个银行数据库,包括顾客和帐户的信息。顾客信息包括姓名,
地址,电话,社会保险号。帐户包括编号,类型(例如存款,支票)
和金额。 -
SQL实现:
CREATE TABLE customer( Id int primary key auto increment, Name varcher (10) not null, Address varchar(50) not null, Phone int not null unique, Code varchar(20) not null unique ); CREATE TABLE acount( Num int primary key auto increment, Amount float not null, Type varchar(50) not null, Id int );
1.3 数据库系统结构
1.3.1 数据库系统模式概念
-
模式(Schema):是对数据库逻辑结构和特征的描述
是型的描述,不涉及具体值
模式是相对稳定的。 型 -
实例(Instance):数据库某一时刻的状态
模式的一个具体值
同一个模式可以有很多实例
实例随数据库中的数据的更新而变动
。 值
1.3.2 数据库系统的三级模式结构
-
从数据库管理系统内部的系统结构看数
据库系统通常采用三级模式结构:外模式、模式、内模式。 -
数据库系统结构图:
-
数据库系统三级模式结构概念对比:
比较 外模式 模式 内模式 定义 也称子模式或用户模式 ,还称用户级模式 也称逻辑模式 也称存储模式,还称物理级模式 是数据库用户能够看见和使用的局部数据的 逻辑结构和特征的描述 是数据库中全体 数据的逻辑结构和特征 的描述,它包括:数据的逻辑结构、数据之间的联系和与数据有关的安全性、完整性要求。 它是数据物理结构和存储方式的描述 。 特点1 是各个具体用户所看到的数据 视图是用户与 DB 的接口 是所有用户的公共数据视图 。一般只有 DBA 能看到全部 数据在数据库内部的表示方式 特点2 可以有多个外模式 只有一个模式 只有一个内模式 特点3 针对不同用户,有不同的外模式描述。每个用户只能看见和访问所对应的外模式中的数据,数据库中其余数据是不可见的。所以外模式是保证数据库安全性的一个有力措施。 数据库模式以某一种数据模型 层状 、 网状 、关系 为基础 统一综合地考虑所有用户的需求 并将这些需求有机地结合成一个 逻辑整体 。 以前由DBA 定义,现基本由 DBMS定义。 特点4 面向应用程序或最终用户 。 由DBA 定义与管理。 由DBA 定义或由DBMS 预先设置。 - DDL:DBMS提供三种模式的描述语言( DDL )来严格定义三种模式。如:子模式 DDL 、模式 DDL 和内模式 DDL 。子模式 DDL 和用户选用的程序设计语言具有相容的语法。如: Cobol 子模式 DDL 。关系数据库三种模式的描述语言统一于 SQL 语言中。
1.3.3 数据库的二级映像( mapping )功能与数据独立性
- 数据库管理系统内部提供二级映像:外模式/模式映像、模式/内模式映像。
- 对每一个外模式,有一个外模式
/模式映像;定义外模式与模式之间的对应关
系
映像定义通常包含在各外模式的
描述中。 - 保证数据的逻辑独立性:当模式改变时,数据库管理员对
外模式/模式映像作相应改变,使
外模式保持不变
应用程序是依据数据的外模式编
写的,外模式保持不变则应用程序
不必修改,保证了数据与程序的独
立性,简称数据的逻辑独立性。 - 模式/内模式映像:定义了数据全局逻辑结构与存储结构之间
的对应关系。 如,说明某个逻辑记录对应
何种存储结构。 - 数据库中模式/内模式映象是唯一的。
该映象定义通常包含在模式描述中。 - 保证数据的物理独立性:当数据库的存储结构改变了(例如选用
了另一种存储结构),数据库管理员修改模
式/内模式映象,使模式保持不变。
模式不变,则外模式不变,从而应用程
序不变。保证了数据与程序的独立性 ,简称
数据的物理独立性。 - 保证了应用程序的稳定性:除非应用需求本身发生变化,否则应用程序一般不需要
修改。 - 具有了数据与程序之间的独立性:使得数据的定
义和描述可以从应用程序中分离出去。 - 数据的存取由数据库管理系统管理:简化了应用程序的编制
大大减少了应用程序的维护和修改。
1.4 数据管理技术的前世今生和未来
-
数据管理技术的发展过程:
-
人工管理阶段 20 世纪 40 年代中期-50 年代中期
-
文件系统阶段 20 世纪 50 年代末期-60 年代中期
-
数据库系统阶段 20 世纪 60 年代末期-现在
-
-
数据库系统的特点:
- 数据结构化
- 数据的共享性高,冗余度低,易扩充数据
- 由 DBMS 统一管理和控制
- 有较高的数据独立性
-
目前数据库市场分化为哪几个阵营?各自的特点是什么?
-
答:传统关系型数据库在大数据时代到来之前处于主导地位;大数据时代到来之后出现,对关系型数据库产生了威胁 在互联网大数据应用中, NoSQL 占据了主导地位,它的优势在于对非结构化数据的处理支持上。而 NewSQL 作为新一代数据库产品,也在日趋成熟。
阶段 20 世纪 50 年代末期-60 年代中期- 数据库系统阶段 20 世纪 60 年代末期-现在
-
数据库系统的特点:
- 数据结构化
- 数据的共享性高,冗余度低,易扩充数据
- 由 DBMS 统一管理和控制
- 有较高的数据独立性
-
目前数据库市场分化为哪几个阵营?各自的特点是什么?
-
答:传统关系型数据库在大数据时代到来之前处于主导地位;大数据时代到来之后出现,对关系型数据库产生了威胁 在互联网大数据应用中, NoSQL 占据了主导地位,它的优势在于对非结构化数据的处理支持上。而 NewSQL 作为新一代数据库产品,也在日趋成熟。