【数据库上】 第一、二讲 引言
第一、二讲 引言
一、 数据库技术
1.1 数据库技术如何影响我们的生活
*数据库技术在哪些方面影响着我们的工作与日常生活?
数据库技术的重要性
(也包括任何一种技术或创新)
1)提高效率
2)改变或创新商业模式
3)改变生活方式
4)增加人类自由的维度
1.2 数据库如何描述客观世界
*数据库中存放的是“谁”的数据?
“谁”又是如何描述和表示的?
*这些事和物该如何表示?
*二维表是如何描述事物的?行和列
*二维表又是如何联系和区分事物的?主码、外码
数据库中存放的是“谁”的数据?
- 谁:一个应用系统(企业)需要的客观数据
- 涉及到数据对象的结构、范围和使用权限
“谁”又是如何描述和表示的?
- 客观数据对象的结构即特征如何表示
- 客观数据对象的语义约束(有效性)如何表示
- 客观数据对象的使用权限如何表示
二、 数据管理的发展过程
1)手工阶段(早期—至今并存)
2)程序阶段
3)文件阶段(50年代末--60年代中)
4)数据库阶段(60年代末--现在)
直观解释数据库管理阶段的基本特点:
- 数据的管理者:DBMS(与应用独立的专门管理软件)
- 数据面向的对象:现实世界(添加和删除方便易行)
- 数据的共享程度:共享性高
- 数据的独立性:高度的物理独立性和一定的逻辑独立性(随着不同发展时期,独立性程度在不断改进)
- 数据的结构化:整体结构化
- 数据控制能力:由DBMS统一管理和控制#
三、数据模型
3.1 什么是数据模型
*什么是数据模型?
*数据模型应满足什么要求?
数据模型
- 是一种用来抽象、表示和处理客观世界数据对象结构的描述方式
- 是对客观世界的模拟(一种主观建模)
数据模型应满足如下要求
- 形式化(书面表示/书面语言)
- 能够尽可能真实的反映客观世界
- 容易人所理解
- 便于在计算机上实现#
3.2 两类模型
*指哪两个类型(层次),原因?
模型根据描述用途的不同,可分成两个层次
(1) 概念模型:(也称信息模型)
是按用户的观点来对数据和信息建模;
几乎不涉及计算机专业技术知识。
(面向客观世界建模)
(2) 数据模型:
主要包括网状模型、层次模型、关系模型、对象模型等;
是按计算机系统的观点对数据建模。
(面向计算机实现建模)
3.3 数据库建模的两大阶段
*指哪两个抽象建模阶段?
*为何要分开为两个阶段?
客观对象的抽象过程--两步抽象:
现实世界中的客观对象抽象为概念模型;
把概念模型转换为某一DBMS支持的数据模型。
概念模型的重要作用:
是现实世界到机器世界的一个中间层次;
可将业务模型与计算机实现工作隔离开;
复杂性减少,便于分工,成功性增大。
四、数据库系统概述
数据(Data)
数据库(Database)
数据库管理系统(DBMS)
数据库系统(DBS)
4.1 数据
-
数据是数据库中存储和管理的基本对象
-
数据的定义
描述事物的符号记录
- 数据的种类
数字、文字、图形、图象、声音
- 数据的特点
数据库中的数据与其语义是不可分的(通常需要满足一定的语义约束,否则就毫无意义)
如:学生的性别,只能是“男”或“女”
4.2数据库
数据库(Database,简称DB)是指:长期储存在计算机内的、有组织的、可共享的大量数据集合
为什么需要数据库
人们收集并抽取出一个应用所需要的大量数据之后,应将其分门别类地保存起来(即形成数据库),以供应用程序进一步加工处理,抽取或计算出有用信息
一个好的数据库,应当具有如下基本特征:
- 数据按一定的数据模型组织、描述和储存
- 可为各种用户(应用程序)共享使用
- 冗余度较小
- 数据独立性较高(逻辑独立性和物理独立性)
- 易于扩展
4.3 数据库管理系统
什么是DBMS
- 数据库管理系统(Database Management System,简称DBMS)是位于用户(应用程序)与操作系统之间的一层数据库管理软件
- DBMS是独立、开放的数据库管理软件(提供多种外部接口,管理的数据可以被其它外部应用程序调用)
DBMS的用途
- 科学地组织和存储数据
- 高效地获取和维护数据
DBMS的主要功能
- 数据定义功能
提供数据定义语言(DDL)
定义数据库中的数据对象
- 数据操纵功能:提供数据操纵语言(DML)
操纵数据实现对数据库的基本操作
(查询、插入、删除和修改)
-
数据库的运行管理
保证数据的安全性、完整性、 多用户对数据的并发使用 发生故障后的系统恢复
-
数据库的建立和维护功能(实用程序)
数据库数据批量装载
数据库转储
介质故障恢复
数据库的重组织
性能监视等
4.4 数据库系统
什么是数据库系统
- 数据库系统(Database System,简称DBS)是指在计算机系统中引入数据库后的系统构成。
- 在不引起混淆的情况下常常把数据库系统简称为数据库。
数据库系统的构成
- 由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(和用户)构成。
五、数据库技术在应用开发中的作用
数据库技术对应用开发有多重要?
六、数据库系统&数据库的开发运行环节
数据库系统的开发包含哪些主要环节?
数据库的开发又包含哪些环节?
数据结构设计完成什么任务?
数据结构设计的主要任务
- 分析数据对象特征和使用需求
- 建立数据模型(对象内部结构和外部关联)
-
概念设计(建立客观世界的抽象结构)
-
逻辑设计(建立便于计算机实现的逻辑结构-与DBMS密切相关)
层次模型,网状模型,关系模型,对象模型,XML模型
-
还应包括:
数据结构优化设计(建立良好的结构)
数据完整性设计(建立完整性约束)
数据安全设计(用户访问授权)
相关数据库技术
- E-R模型(7章),UML(6章) ---面向客观世界描述!
- 关系模型( 2章,7章)
- 视图+完整性约束+授权(4章)
- 关系数据库设计与优化(8章)
- 对象数据模型(22章)
- XML数据模型(23章)
概念结构设计是什么?
概念结构设计是整个数据库设计的关键,通过对用户需求进行综合、归纳与抽象,形成一个独立于具体的DBMS的概念模型。
逻辑结构设计是什么?
逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
数据存储&数据库技术
数据存储设计的任务是什么?
数据存储设计(物理设计)
- 分析数据需求和使用需要
- 对关联数据的使用要求
- 访问效率要求
- 安全性要求
- 设计数据物理存储模式
- 如何存放数据
- 如何支持快速访问
- 如何保证数据安全*
相关数据库技术
- 存储和文件结构*(10章)
- 索引与散列(11章)
数据访问设计的任务?
- 分析数据查询要求
- 设计数据访问方法
相关数据库技术:
- SQL(3章)
- 中级SQL(4章)
- 高级SQL(5章)
- 查询处理(12章)
- 查询优化(13章)
- 信息检索(21章*)
数据控制设计的任务是什么?
- 如何控制数据处理过程(系统架构)
- 如何支持多用户并发访问
相关数据库技术:
- 事务管理(14章)
- 并发控制(15章)
- 数据库系统的体系结构(17章)
- 并行数据库(18章)
- 分布式数据库*(19章)
数据维护的任务和重要性?
数据维护的任务
- 数据录入与更新
- 更改数据结构
- 更改用户访问权限
- 备份和恢复数据
相关数据库技术
- SQL语言(3章,4章,5章)
- 备份与恢复系统(16章)
应用功能开发需要数据库技术吗?
应用开发的任务
- 算法与程序实现
- 如何提高开发效率
- 如何高效访问数据
- 数据分析
相关据库技术
- 数据视图(4章)
- 嵌入式SQL(5章)
- 完整性约束(4章)
- 索引技术(11章)
- 用户访问授权(4章)
- 存储过程[函数,过程,触发器](5章)
- 数据创库与数据挖掘*(20章)