第一章 绪论
数据库的地位
- 数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支。
- 数据库技术是信息系统的核心和基础,它的出现极大的促进了计算机应用向各行各业的渗透。
- 数据库的建设规模、数据库信息量的大小和使用频率已成为衡量一个国家信息化程度的重要标志。
1.1 数据库系统概述
1.1.1 四个基本概念
1、数据(Data)
- 数据(Data)是数据库中存储的基本对象
- 数据的定义:描述事物的符号记录
- 数据的种类:文本,图形,图像,音频,视频,学生的档案记录,货物的运输情况等。
- 数据的特点:数据与其语义是不可分的
- 数据的含义称为数据的语义,数据与其语义是不可分的
2、数据库(Database)
- 数据库(Database,简称DB )是长期储存在计算机内,有组织的,可共享的的大量数据的集合。
- 数据库的基本特征
1、数据按一定的数据模型组织,描述和储存
2、可为各种用户共享。
3、冗余度较小。
4、数据独立性较高。
5、易扩展
3、数据库管理系统(DBMS)
-
什么是DBMS
1、位于用户与操作系统之间的一层数据管理软件。
2、是基础软件,是一个大型复杂的软件系统。 -
DBMS的用途
1、科学的组织和存储数据、高效的获取和维护数据
2、你知道哪些数据库管理系统DBMS?
单机、内存数据库、网络数据库、云数据库、NoSQL等等?阿里、腾讯、京东、火车票等大数据用的什么数据库 -
数据库管理系统的主要功能
1、数据定义功能
(1)提供数据定义语言(DDL)
(2)定义数据库中的数据对象
2、 数据组织,存储和管理
(1)分类组织、存储和管理各种数据
(2) 确定组织数据的文件结构和存取方式
(3)实现数据之间的联系
(4)提供多种存取方式提高存取效率
3、数据操纵功能
(1)提供数据操纵语言(DML)
(2)实现对数据库的基本操作(查询、插入、删除和修改)
4、数据库的事务管理和运行管理
(1)数据库在建立、运行和维护时由DBMS统一管理和控制
(2)保证数据的安全性、完整性、多用户对数据的并发使用
(3) 发生故障后的系统修复
5、数据库的建立和维护功能(实用程序)
(1)数据库初始数据装载和转换
(2)数据库转储、恢复
(3)数据库的重组织
(4)性能监视、分析等
6、其他功能
(1)DBMS与网络中其它软件系统的通信
(2)两个DBMS系统的数据转换
(3)异构数据库之间的互访和互操作
4、数据库系统(DBS)
- 什么是数据库系统:在计算机系统中引入数据库后的应用软件系统
- 数据库系统的构成
1、数据库
2、数据库管理系统(及开发工具)
3、应用系统、最终用户
4、数据库管理员
1.1.2 数据管理技术的产生和发展
- 什么是数据管理
1、对数据进行分类、组织、编码、存储、检索和维护
2、数据处理的中心问题 - 数据管理技术的发展过程
1、人工管理阶段 - 时期:20世纪40年代中-50年代中
- 产生的背景
1、应用需求:科学计算
2、硬件水平:无直接存取存储设备
3、软件水平:没有操作系统
4、处理方式:批处理 - 特点
1、数据的管理者:用户(程序员),数据不保存
2、数据面向的对象:某一应用程序
3、数据的共享程度:无共享、冗余度极大
4、数据的独立性:不独立,完全依赖于程序
5、数据的结构化:无结构
6、数据控制能力:应用程序自己控制
2、文件系统阶段
3、数据库系统阶段
- 数据管理技术的发展动力
1、应用需求的推动:网上购物,手机银行,飞机/火车订票,实时收费
2、计算机硬件的发展:高速CPU、大内存、硬盘、网卡等。
3、计算机软件的发展:操作系统,高级语言,中间件,云端系统
1.1.3 数据库系统特点
- 数据结构化
1、整体结构数据化是数据库的主要特征之一
2、整体结构化
(1)不再仅仅针对某一个应用,而是面向全组织
(2)不仅数据内部结构化,整体是结构化的,数据之间具有联系
3、数据库中实现的是数据的真正结构化
(1)数据的结构用数据模型描述,无需程序定义和解释
(2)数据可以变长
(3)数据的最小存取单位是数据项 - 数据的共享性高,冗余度低,易扩充
(1)数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户,多个应用共享使用
(2)数据共享的好处:减少数据冗余,节约存储空间;避免数据之间的不相容性和不一致性;使系统易于扩充 - 数据独立性高
1、物理独立性
(1)指用户的应用程序与存储在磁盘上的数据库是相互独立的,当数据的物理存储改变了,应用程序不会变。
2、逻辑独立性
(1)指用户的应用程序与数据库的逻辑结构是独立的。数据的逻辑结构改变了,用户程序也可以不变。
3、数据独立性是由DBMS的二级映像功能来保证的
4、数据与程序的独立,把数据定义从程序中分离出去,存取方法有DBMD负责提供,从而简化了应用程序的编制,维护和修改 - 数据由DBMS统一管理和控制
1、DBMS提供的数据控制功能
(1) 数据的安全性(Security)保护
保护数据,以防止不合法的使用造成的数据的泄密和破坏
(2) 数据的完整性(Integrity)检查
将数据控制在有效的范围内,或保证数据之间满足一定的关系
(3) 并发(Concurrency)控制
对同一个数据可以多用户的并发操作,DBMS加以控制和协调,防止相互干扰而得到错误的结果
(4) 数据库恢复(Recovery)
将数据库从错误状态恢复到某一已知的正确状态
数据库概念小结
- 数据库是长期存储在计算机内有组织的大量的共享的数据集合
- 可以供各种用户共享,具有最小冗余度和较高的数据独立性
- 数据库管理系统在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整
性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复
1.2 数据模型
1.2.1 两大类数据模型
- 在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息
- 通俗地讲数据模型就是现实世界的模拟
- 数据模型应满足三方面要求
1、能比较真实地模拟现实世界
2、容易为人所理解
3、便于在计算机上实现
数据模型分为两类(分属两个不同的层次)
(1) 概念模型:也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计
(2) 逻辑模型和物理模型:
- 逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。
- 物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。
客观对象的抽象过程—两步抽象
1、现实世界中的客观对象抽象为概念模型
2、将现实世界抽象为信息世界(E-R图)
3、把概念模型转换为某一数据库管理系统支持的数据模型
4、将信息世界转换为机器世界(如:将E-R图转化成关系表,表转化为按行或列磁盘块存储)
1.2.2 概念模型
-
信息世界中的基本概念
(1) 实体(Entity)
(1)客观存在并可相互区别的事物称为实体
(2)可以是一名学生、一门课程、一名教师、一个班级
(2) 属性(Attribute)
(1)实体所具有的某一特性称为属性
(2)一个实体可以由若干个属性来刻画
(3) 码(Key)
(1)唯一标识实体的属性集称为码
(4) 域(Domain)
(1)属性的取值范围称为该属性的域。
(5) 实体型(Entity Type)
(1)用实体名及其属性名集合来抽象和刻画同类实体称为实体型[学生(学号,姓名,性别,出生年月)]
(6) 实体集(Entity Set)
(1)同一类型实体的集合称为实体集
(7) 联系(Relationship)
(1)现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系
(2)实体内部的联系通常是指组成实体的各属性之间的联系
(3)实体之间的联系通常是指不同实体集之间的联系
(4)实体之间的联系有一对一、一对多和多对多等多种类型 -
两个实体型之间的联系
-
两个以上实体型之间的联系
1、多个实体型间,若各个实体型两两间都是1:1,则多个实体型间是一对一联系。
2、多个实体型间,若各个实体型两两间都是m:n,则多个实体型间是多对多联系。
3、否则,则只要有一个实体型与其它实体型中的任何一个存在1:n,则多个实体型间是一对多联系 -
单个实体型内的联系
-
概念模型的一种表示方法
1、实体-联系方法(E-R方法)
(1)用E-R图来描述现实世界的概念模型
(2)E-R方法也称为E-R模型
(3)详细讲解见第7章
-
一个实例
-
概念模型的用途
1、概念模型用于信息世界的建模
2、是现实世界到机器世界的一个中间层次
3、是数据库设计的有力工具
4、数据库设计人员和用户之间进行交流的语言 -
对概念模型的基本要求
1、较强的语义表达能力
2、能够方便、直接地表达应用中的各种语义知识
3、简单、清晰、易于用户理解