1.1基本概念
数据与数据库
-
数据的特点:数据与其语义是不可分的
-
数据库:长期存储在计算机内、有组织的、可共享的大量数据集合
-
数据库的特征:
-
数据暗一定的数据模型组织、描述和储存
-
可为各种用户共享
-
冗余度较小(冗余度不能为0)
-
数据独立性较高
-
易拓展
-
数据库管理系统 DBMS
-
定义:位于用户与操作系统之间的一层数据管理软件
-
用途:科学地组织和存储数据、高效地获取和维护数据
-
主要功能:数据库的运行管理、保证数据的安全性、完整性、多用户对数据的并发使用发生故障后的系统恢复、数据库的建立和维护的功能、数据库数据的批量装载、数据库转储、介质故障恢复、数据库的重组织、性能监视
-
数据库系统 DBS:包含DB数据库、DBMS、DBAP(application program)应用系统、DBA(administer)数据库管理员
-
数据管理是数据处理的中心问题,数据管理 < 数据处理
数据管理技术的发展过程
-
人工管理阶段(1950前):程序员管理,不独立,不共享,大量冗余
-
文件系统阶段(1950-1960):OS中的文件系统,一定独立性,可以共享
-
数据库系统阶段(1960-现在):DBMS,独立性高,可以共享,(大数据Hadoop,NoSQL非关系数据库)
1.2数据模型
-
数据模型用来抽象、表示、处理现实世界中的数据和信息
-
数据模型的要求
-
比较真实地模拟现实世界
-
容易被人理解
-
便于在计算机上实现
-
-
数据模型的两个层次
-
概念模型(信息模型):按用户的观点对数据和信息建模,例如E-R图,和DBMS无关
-
数据模型:按计算机系统的观点对数据建模,和DBMS有关
-
-
客观对象的两步抽象:
-
将现实世界中的客观对象抽象为概念模型
-
将概念模型转换为某一DBMS支持的数据模型
-
-
数据模型的三要素
-
数据结构:对静态特性的描述
-
数据操作:对动态特性的描述
-
数据约束:规定数据模型必须遵守的基本的通用的完整性约束条件
-
1.3信息世界中的基本概念
-
实体(Entity):客观存在并可相互区别的事物
-
某些概念性的事物也可以叫做实体(例如:学生的成绩)
-
-
属性(Attribute):实体所具有的某一特性,用字段描述
-
码(Key):唯一表示实体的属性集(可能包含多个属性)
-
域(Domain):属性的取值范围
-
实体型(Entity Type):用实体名及其属性的集合来抽象和刻画同类实体 R=(A1,A2,A3,...),用记录类型描述
-
实体集(Entity Set):同型实体的集合
-
联系(Relationship):现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系
-
一对一联系:记作1:1
-
一对多联系:记作1:n
-
多对多联系:记作m:n
-
-
概念模型的表示方法:实体—联系方法,即E-R方法
1.4常用数据模型
-
非关系模型
-
层次模型(实体间的联系是树)
-
网状模型(实体间的联系是有向表)
-
-
关系模型(数据结构是表)
-
面向对象模型(数据结构是对象)
1.5关系模型的基本概念
基本概念
-
关系:一个关系对应通常说的一个表
-
元组:表的一行,又称记录
-
属性:表的一列,又称字段
关系模型的性质
-
关系最基本的规范条件:关系的每一个分量必须是一个不可分的数据项
-
数据操作是集合操作,操作对象和操作结果都是关系
-
存取路径对用户隐蔽
关系模型的完整性约束
-
实体完整性(主键的约束)
-
参照完整性(外键的约束)
-
用户定义的完整性
关系模型的优缺点
-
优点
-
建立在严格的数学概念的基础上
-
概念单一。数据结构简单、清晰,用户易懂易用
-
实体和各类联系都用关系表示
-
对数据的检索结果也是关系
-
-
关系模型的存取路径对用户透明
-
有更高的数据独立性,更好的安全保密性
-
简化程序员的工作和数据库开发建立的工作
-
-
-
缺点
-
存取路径对用户透明导致查询效率往往不如非关系模型,为了提高性能,必须对用户的查询请求进行优化,这增加了开发数据库管理系统的难度
-
数据库系统的外部体系结构
-
单用户结构
-
主从式结构
-
客户/服务器结构
-
浏览器/应用服务器/数据库服务器结构
-
分布式结构
-
数据库的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上
-
网络中每个结点都可以独立处理本地数据库的数据,执行局部应用
-
同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用
-
-
优点
-
适应了地理上分散的公司、团队和组织对于数据库应用的要求
-
-
缺点
-
数据的分布存放给数据的处理、管理与维护带来困难
-
当用户需要经常访问远程数据时,系统效率会明显受到网络传输的制约
-
-
1.6三级模式两级映像
数据库系统的三级模式:外模式、模式、内模式
模式(逻辑模式)
-
定义:数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
-
一个数据库只有一个模式
-
模式的地位:是数据库系统模式的中间层,与硬件细节和软件实现无关
-
模式定义的内容:
-
数据的逻辑结构(数据项的名字,类型,取值范围等)
-
数据之间的联系
-
数据有关的安全性、完整性要求
-
外模式(子模式、用户模式)
-
定义:数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据库和逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的系统的逻辑显示
-
一个数据库可以有多个外模式
-
外模式的地位:介于模式和应用之间
-
模式与外模式的关系:一对多,外模式通常是模式的子集;外模式的不同反映了不同用户的应用需求、看待数据的方式、对数据保密的要求。对模式中的同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同
-
外模式与应用的关系:一对多,同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式
内模式(存储模式、内视图)
-
定义:数据物理结构和存储方式的描述,是数据在数据库内部实际存储的方式
-
内容:
-
记录的存储方式(顺序、B树、Hash方法)
-
索引的组织方式
-
数据是否压缩存储
-
数据是否加密
-
-
一个数据库只有一个内模式
三级模式的优点
-
保证数据的独立性(内模式与模式分开物理独立,外模式与模式分开逻辑独立)
-
简化用户窗口
-
有利于数据共享
-
利于数据的安全保密
-
数据存储由DBMS管理(用户不用考虑存取路径)
二级映像的功能
-
外模式/模式映像(应用可扩充性)
-
定义外模式(局部逻辑结构)与模式(全局逻辑结构)之间的对应关系,映象定义通常包含在各自外模式的描述中,每个外模式,DBS都有一个对应的外模式/模式映象
-
用途:保证数据的逻辑独立性
-
当模式改变时,DBA只需要修改有关的外模式/模式映象,使外模式不变,从而使得应用程序不必修改,保证数据与程序的逻辑独立性
-
-
内模式/模式映象(空间利用率,存取效率)
-
模式/内模式映象是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系,该映象包含在模式描述中
-
用途:保证数据的物理独立性
-
当数据库的存储结构改变了(例如选用另一种存储结构),DBA修改模式/内模式映像,使模式保持不变,应用程序不需影响,保证了数据与程序的物理独立性
-
优点
-
保证了数据库外模式的稳定性
-
从底层保证了应用程序的稳点性,除非应用需求本身发生变化,否则应用程序一般不需要修改
-
数据与程序之间的独立性,是的数据的定义和描述可以从应用程序中分离出去
-
-