✓航空业务
✓银行和金融
✓企业信息(销售、会计、人力资源)
✓电信业
✓基于Web的服务(社交媒体、在线零售、在线广告)
✓导航系统
一种既方便又高效存取数据信息的途径
✓有联系的数据集
✓处理数据的程序
数据库系统由一个互相关联的数据集和一组用以访问这些数据的程序组成。
✓联机事务处理(online transaction processing)
✓数据分析(data analytics)
早期,数据库应用直接构建在文件处理系统之上->应用程序直接处理文件
✓对于每个新任务需要编写新的应用程序处理
✓多个文件具有不同的格式 (比如:txt, doc, bin格式等等)->编写新的应用程序来检索
✓完整性约束“固化”(buried)在程序代码中
✓很难通过修改程序来体现新的约束
✓故障会导致部分更新,使数据库处于不一致状态
✓提高性能
✓可能带来不一致
✓并非数据库系统的所有用户都可以访问所有数据
多种概念工具的集合,用于描述数据库的:
✓数据
✓数据联系
✓数据语义
✓一致性约束
表(行列)用于表示数据和数据间的联系
eg
实体、联系;数据库设计
eg
E-R模型增加了封装、对象等
允许在其数据定义中某些相同类型的数据项有不同的属性集
用扩展标记语言(XML)/JSON来表示半结构化数据
模型和底层实现联系->耦合度强
✓层次数据模型
✓网状数据模型
屏蔽数据结构的复杂性
数据库普通用户
视图可以隐藏信息,使用户仅访问数据库的一部分,提高安全性
数据库管理员
描述存储在数据库中的数据,以及数据之间的关系,降低耦合
✓为上层应用屏蔽了复杂的底层存储细节,即物理数据独立性
eg
type instructor = record
ID : char(5);
name : char(20);
dept_name : char(20);
salary : numeric(8, 2);
end;
描述数据实际上是怎样存储的
数据库的总体设计
✓例:数据库包含客户和账户的信息以及它们的联系
✓与程序语言中的类型声明相似
✓ 物理模式: 在物理层描述数据库的设计
✓ 逻辑模式: 在逻辑层描述数据库的设计(最重要)
✓ 子模式/外模式/用户模式: 描述数据库的不同视图
✓ 物理数据独立性:应用程序不依赖于物理模式,使得物理模式可以在应用程序丝毫不受影响的情况下被轻易改变
特定时刻存储在数据库中的信息的集合
✓与变量的值相似
通过一系列的DDL语句来说明数据库系统所采用的存储结构和访问方式,这种特定的DDL称作数据存储和定义(data storage and definition)
eg
create table instructor (ID char(5),name varchar(20),dept_name varchar(20),salary numeric(8,2))
读权限
插入权限
更新权限
删除权限
✓实体完整性约束(主键约束)
✓参照完整性(例如:外键)
用户访问和操纵按照某种适当的数据模型组织起来的数据
✓DML是一种查询(query)语言
what + how
what
广泛使用的**非过程化(声明式)**语言
eg
select name
from instructor
where instructor.ID = ‘22222’
✓允许使用嵌入式SQL,需要嵌入式SQL的预编译器
✓通过应用程序接口, ODBC/JDBC),将SQL查询发送到数据库执行,并返回查询结果到程序
设计数据库结构的过程:
需求决定 – 数据库中需要记录哪些数据和它们之间的联系?
1.(主要)E-R模型来分析
2.一套算法(规范化(normalization))
将所有属性集作为输入,生成一组关系表
确定数据库模式,找到一个好的模式
如何将概念设计阶段的数据和联系映射到数据库系统的实现数据模型中?
设计表结构、主外键、范式(3NF、BCNF)等
确定数据库的物理布局
区别于事情/物体,由属性集合描述
实体集eg
几个实体之间的关联关系
基于UML的符号表示
eg
存储管理器+查询处理器+事务管理部件
存储管理器是数据库系统中负责在数据库中存储的底层数据与应用程序、以及向系统提交的查询之间提供接口的部件
检测是否满足完整性约束与试图访问数据的用户的权限
保证了即使系统发生了故障,数据库也保持在一致的(正确性)状态,并保证并发事务的执行不冲突
管理磁盘存储空间的分配,管理用于表示磁盘上所存储信息的数据结构
关键部分,使得数据库可以处理比内存大得多大数据
缓冲区替换策略
存储数据库本身
存储数据库结构的元数据(特别是数据库模式)
提供对数据项的快速访问。索引提供了指向包含特定值数据项的指针
DML编译器进行查询优化
数据库应用中完成单一逻辑功能的操作集合
事务要么发生,要么不发生
事务操作完成后,需保证数据一致性
事务运行期间需独占数据(锁机制)
即使有系统故障,数据也要保证持久性
事务管理器保证数据库在发生系统故障时也能保证数据库处于正确一致的状态
事务管理器包括并发控制管理器+恢复管理器
控制并发事务间的交互,保证数据库的一致性
负责检测系统故障、事务回滚、故障恢复(failure recovery)
数据库系统的体系结构很大程度上取决于数据库系统所运行的计算机系统
数据库运行于本地
前端(业务逻辑)、数据后台,小型应用
前端、业务逻辑、数据后台,大型应用
高端大型计算机(eg神威太湖之光)
跨地域、通过广域网络连接
表
E-R对象封装
模型&底层实现联系 耦合度强
屏蔽数据结构的复杂性
隐藏信息使得用户仅访问数据库的一部分,提高安全性(普通用户)
实现物理数据独立性,即为上层应用屏蔽了复杂的底层存储细节,应用程序不依赖于物理模型
描述存储在数据库中的数据,以及数据之间的关系,降低耦合(管理员)
描述数据实际是怎样存储的
数据操纵语言,分为声明式和定义式
数据定义语言,生成的表模板保存在数据字典中
数据字典为关于数据的数据,内容包括
实体完整性约束eg主键
参照完整性约束eg外键
需求决定-运用E-R模型
确定数据库模式
将数据与联系映射到数据模型上
确定数据库的物理布局
DDL解释(parser)
DML编译(translator)
->关系代数(relational-algebra expression)
执行方案(execution plan)
数据库应用单一逻辑功能的操作集合
A 原子性
C 一致性
I 隔离性
D 持久性
保证数据库在系统故障时也能保证数据处于正确一致的状态
本地
前后端
高端大型计算机
通过广域网连接
1.DBMS:物理和逻辑访问数据,文件:物理访问数据。都是相互关联的数据集合和一组访问数据程序组成
2.DSMS:被授权的程序可以访问存储的逻辑数据,数据可以被多个程序访问、减少数的冗余;文件:一个程序所写的数据可能不能被另外一个程序访问
3、DBMS设计为更灵活的访问数据(如,查询),文件处理系统则被设计为特定的程序访问数据(如,以编译的程序)
4、DBMS允许多个用户同时访问相同的数据。文件处理系统一般允许一个或多个程序访问不同的数据文件,只有在一个文件在两个程序都只有只读权限的时候才可以同时被两个程序并行访问。
物理数据独立性:用户的应用程序与存储在磁盘上的数据库中数据是相互独立的
理?
数据库应用单一逻辑功能的操作集合
A 原子性
C 一致性
I 隔离性
D 持久性
保证数据库在系统故障时也能保证数据处于正确一致的状态
本地
前后端
高端大型计算机
通过广域网连接
1.DBMS:物理和逻辑访问数据,文件:物理访问数据。都是相互关联的数据集合和一组访问数据程序组成
2.DSMS:被授权的程序可以访问存储的逻辑数据,数据可以被多个程序访问、减少数的冗余;文件:一个程序所写的数据可能不能被另外一个程序访问
3、DBMS设计为更灵活的访问数据(如,查询),文件处理系统则被设计为特定的程序访问数据(如,以编译的程序)
4、DBMS允许多个用户同时访问相同的数据。文件处理系统一般允许一个或多个程序访问不同的数据文件,只有在一个文件在两个程序都只有只读权限的时候才可以同时被两个程序并行访问。
物理数据独立性:用户的应用程序与存储在磁盘上的数据库中数据是相互独立的
重要性:应用程序不依赖于存储在磁盘上的数据库中数据如何存储,使得物理模式可以在应用程序丝毫不受影响的情况下被轻易改变
本文发布于:2024-02-02 16:23:04,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170686218244988.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |