导图社区 1-绪论
数据库第一章‘,数据的解释是指对数据含义的说明,数据的含义 称为数据的语义,数据与其语义是不可分的。
编辑于2023-05-15 15:41:42绪论
数据库系统概述
数据库的4个基本概念
数据 data
数据库储存的基本对象
描述事物的符号记录
数据的解释是指对数据含义的说明,数据的含义 称为数据的语义,数据与其语义是不可分的
数据库· DataBase,DB
存放数据的仓库
永久储存
有组织
可共享
数据库管理系统 计算机基础软件 DataBaseManagementSystem,DBMS
1.数据定义功能
DDL用于定义数据库中的数据对象的组成与结构
2.数据组织、储存和管理
数据库组织和储存的基本目标是提高纯村空间利用率和方便存取
存取方法
索引查找
hash查找
顺序查找
数据操纵功能
DML用于操纵数据
实现对数据库的基本操作
查询
插入
删除
修改
数据库的事务管理和运行管理
数据库在建立,运用和维护时由数据库管理系统统一管理和控制
保证事物的正确运行
保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复
数据库的建立和维护功能
数据库初始化数据的输入、转换功能
数据库的转储、恢复功能
数据库的重组织功能和性能监视、分析功能
其他功能
数据库管理系统与网络中其他软件系统的通信功能
一个数据库管理系统与另一个数据库管理系统或文件系统的数据转换功能
异构数据库之间的互访和互操作功能
数据库系统 <简称数据库>
是由它们组成的储存、管理、处理和维护数据的系统
数据库
提供数据的存储功能
数据库管理系统
提供数据库的组织、存取、管理和维护等基础功能
应用程序
根据应用需求使用数据库
数据库管理员
负责全面管理数据库系统
数据管理技术的产生和发展
数据管理是指对数据进行分类,组织,编码,存储,检索和维护
数据的处理是指对各种数据进行收集、储存、加工和传播
人工管理阶段
数据不保存
应用程序管理数据
数据由应用程序自己设计,说明(定义)和管理
规定数据的逻辑结构,物理结构,存储结构,存取方法,输入方式
数据不共享
一组数据只能对应一个程序
数据不具有独立性
数据的逻辑结构或物理结构发生变化后, 必须对应用程序做相应的修改, 数据完全依赖于应用程序
文件系统阶段
数据可以长期保存
由文件系统管理数据
数据共享性差,冗余度大
文件仍然是面向应用的
数据独立性差
当数据逻辑结构时,应用程序中文件结构的定义必须修改 (人工管理阶段的数据独立性差指的是“数据的逻辑结构 或物理结构该变时,修改......”)
数据库系统阶段
数据结构化
实现数据的整体结构化 (数据库的主要特征之一) (数据库系统与文件系统的本质区别)
数据面向整个组织或企业,数据之间具有联系
数据的共享性高,冗余度低且易扩充
数据库的共享是并发的共享 <多个用户可以同时存取数据库 中的数据(甚至是用一个数据)>
数据独立性高
数据独立性
物理独立性
用户的应用程序与数据库中的 数据的物理内存是相互独立的
逻辑独立性
用户的应用程序与数据库的 逻辑结构是相互独立的
数据由数据库管理系统统一管理和控制
数据库安全性的保护
指保护数据防止不合法使用 造成的数据泄密和破坏
<每个用户只能按规定对某些数据 以某种方式进行使用和处理>
数据库完整性的检查
指数据的正确性、有效性和相容性
将数据控制在有效的范围内,并保证数据之间满足一定的关系
并发控制
对多用户的并发操作加以控制和协调
数据库恢复
将数据库从错误状态恢复到某一已知的·正确状态
数据库管理系统的出现使信息系统从以加工数据的程序为中心 转向围绕共享的数据库为中心的新阶段
数据模型 <数据库系统的核心和基础> <现实世界数据特征的抽象>
两类数据模型
概念模型 <设计人员完成>
信息模型<按用户的观点来对数据和信息建模>“主要用于数据库的设计”
逻辑模型 <由开发工具/开发人员完成>
<按计算机观点对数据进行建模> “用于数据库管理系统的实现”
层次模型
逻辑模型
网状模型
关系模型
面向对象数据模型
对象关系数据模型
半结构化数据模型
物理模型 <DBMS完成>
对数据最底层的抽象
描述数据在系统内部的表达方式和储取方法 /在磁盘或磁带上的存储方式和存取方法 <是面向计算机系统的>
“数据库设计人员要了解和选择物理模型”
概念模型
信息世界中的基本概念
实体
客观存在并可相互区分的事物
例如:具体的人、事、物
属性
实体所具有的某种特征
例如:一件事,有几个人组成,发生了什么
码
唯一标识实体的属性集
例如:某个人的身份证号
实体型
实体名及其属性名集合来抽象和刻画同类实体 <与集合不同,它仅仅是一个列表>·
例如:人(身份证号,姓名,出生日期)
实体集
同一类型实体的集合 <将上述实体性插入信息,所得到表就是一个实体集>
例如:全体学生就是一个实体集
联系
实体内部的联系
组成实体各属性之间的联系
实体之间的联系
不同实体级之间的联系
一对一
一对多
多对多
概念模型的一种表示方法:实体-联系方法
E-R方法也称为E-R模型
数据模型的组成要素
数据结构
描述数据库的组成对象以及对象之间的联系
对数据静态特性的的描述
数据操作
对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则 <查,增,删,改......>
对系统动态特征的描述
数据的完整性约束
例如:某大学数据库规定学生成绩如果有6门不及格便不授予学士学位
常用的数据模型
层次模型
层次模型就像一棵倒立的树,结点的双亲是唯一的
数据结构
有且仅有一个结点没有双亲结点,这个结点称为根结点
根以外的其他节点有且只有一个双亲结点
同一双亲的子女节点称为兄弟节点
没有子女节点的结点称为叶节点
数据操纵及完整性约束
操作:查询,插入,删除,更新
进行插入时:没有相应的双亲值,就不能插入它的子女结点
进行删除时:如果删除双亲结点值,则相应的子女结点值也将被同时删除
优缺点
层次结构模型的数据结构比较简单清晰
层次数据库的查询效率高
层次模型提供了良好的完整性支持
现实世界很多联系是非层次的,如结点直接具有多对多联系, 不适合用层次模型表示
如果一个节点具有多个双亲结点,用层次模型标识这类联系就显得很笨拙
查询子女节点必须通过双亲结点
由于结构严密,层次命令趋于程序化
网状模型
数据结构
允许一个以上的结点无双亲
一个结点可以有多于一个的双亲
数据操纵与完整性约束
支持记录码的概念,码是唯一标识记录的数据项
保证一个联系中双亲记录和子女记录之间是一对多的联系
可以支持双亲记录和子女记录之间的某些约束条件
优缺点
能够更为直接地描述现实世界
具有良好的性能,存取效率高
结构与比较复杂,而且随着应用环境的扩大, 数据库的结构变得越来越复杂不利于最终用用户掌控
网状模型·的DDL、DML复杂,并且要嵌入某一种高级语言中, 用户不容易掌握,不容易使用
用户必须了解系统结构的细节,网状结构复杂, 加重了编写应用程序的负担
关系模型
数据结构简单, 清晰,用户易懂
数据结构
关系:一个关系对应通常说的一张表
表中的行为元组, 列为属性
码:也称为键码唯一值
域是一组具有相同数据类型的值的集合。
分量:元组中的一个属性值
关系模式(实体型)
关系必须是规范化的
关系的每个分量必须是一个不可分的数据项 <不允许表中有表>
数据操纵
操作:插入、查询、删除、更新数据 <集合操作><操作集合和操作对象都是关系>
完整性约束
实体完整性
参照完整性
用户定义完整性
优缺点
建立在严格的数学概念的基础上的
关系模型的概念单一 <实体,实体之间的联系,对数据的检索,更新结果都是关系(即表)>
关系模型的存取路径对用户透明,具有很高的数据独立性, 更好的安全保密性
面向对象数据模型
对象关系数据模型
半结构化数据模型
数据库系统的结构
数据库系统模式的概念
型
对某一类数据的 结构和属性的说明
例如:(学号,姓名,姓名,系别)
值
具体赋值
(201315130,李明,男,计算机系,19,江南南京市)
模式
数据库全体数据的逻辑结构和特征的描述 <仅设计型的描述,不涉及具体的值>
模型是相对稳定的,实例是相对变动的
数据库系统的三级模式结构
由上到下,应用-->数据库
外模式
别称:子模式,用户模式
是数据库用户能够看见何使用的局部数据的逻辑结构和特征的描述
数据库用户:包括应用程序员和最终用户
外模式通常是模式的子集
一个数据库可以有多个外模式
外模式是保证数据库安全的一个有力措施, <每个用户只能看见和访问所对应的外模式中的数据>
模式
系统模式的中间层
一个数据库只有一个模式
也称逻辑模式,是数据库中全体数据的逻辑结构 和特征的描述,是所有用户的公共数据视图
既不涉及数据的物理出粗怒细节和硬件环境,由于具体的应用程序、 所使用的应用开发工具以及高级程序设计语言无关
实际上是数据库数据在逻辑级的视图
内模式
别称:储存模式
一个数据库只能由一个内模式 <它是数据物理结构和储存方式的描述> <是数据库在数据库内部的组织方式>
记录储存方式
堆储存还是按照某些个属性值的升序存储,按照属性值聚簇存储
索引组织方式
B+树索引,hash索引
等等
数据库的二级映像功能与数据独立性
外模式/模式映像
保证逻辑独立性
模式/内模式映像·
保证物理独立性
数据库系统的组成
硬件平台及数据库
整个数据库系统对硬件资源提出的要求
足够大的内存
存放操作系统
存放数据库管理系统的核心模块
存放数据缓冲区
存放应用程序
足够大的磁盘或磁盘阵列
存放数据库·
足够大的磁带(或光盘)
用于数据备份
较高的通信能力
提高数据传送率
软件
数据库管理系统
支持数据库管理系系统运行的操作系统
具有与数据库接口的高级语言及其编译系统
以数据库管理系统为核心的应用开发工具
为特定应用环境开发的数据库应用系统
人员
数据库管理员<DBA>
保证数据库 的安全性和完整性
决定数据库中的信息内容和结构
决定数据库的存储结构和存取策略
定义数据的安全性要求和完整性约束条件
监测数据库的使用和运行
数据库的改进和重组重构
系统分析员
负责应用系统的需求分析和规范说明
数据库设计人员
负责数据库中数据的确定及数据库各级模式的实际
数据库管理人员多数情况下由数据库管理员担任
应用程序员
负责设计和编写应用系统的程序模块,并进行调试和安装
用户
指最终用户
最终用户通过应用系统的用户接口使用数据库
接口方式
浏览器
菜单驱动
表格操作
图形显示
报表书写
最终用户分三类
偶然用户
一般是企业或组织机构的高中级管理员
简单用户
银行的职员,航空公司的机票预定工作人员、宾馆总台服务员
复杂用户
工程师,科学家,经济学家