数据库(一)—— 概述

目录

前言

一、The Need for Databases 为什么需要数据库?

文件存储数据的缺点(drawbacks)

二、Data models 数据模型

1.抽象层次

2.实例和模式

3.数据模型

4.数据库语言

三、数据库设计

1.设计过程及设计成果

2.设计方法

四、数据库引擎(DB Engine)

1.存储管理器

2.查询处理器

五、数据库的体系结构(architecture)

1.两层体系结构

2.三层体系结构


前言

本文主要介绍数据库的引入和一些概念。


一、The Need for Databases 为什么需要数据库?

Database: An integrated collection of related data constitutes a Database(DB).

相关数据的集成集合,构成数据库(DB)

数据有很多种类型,包括结构化数据半结构化数据非结构化数据等,结构化数据可以用二维表结构来逻辑表达实现,非结构化数据则不能,如:视频、音频等,数据库关注的是结构化数据。早期使用文件管理数据,但使用文件存储数据存在缺陷。

文件存储数据的缺点(drawbacks)

(1)数据存在冗余和不一致问题,比如有些数据会在不同的文件中重复出现,而且还可能不一致

(2)获取数据困难,需要提前了解到文件格式,而且需要通过编写程序或者手工提取才能得到想要的数据

(3)数据隔离,数据分散在不同文件,而且有可能存在不同的格式

(4)完整性问题,数据的一致性约束需要代码设定,要想改变约束只能修改程序。

(5)修改时的原子性问题,有时为了完成一项任务,需要对多个数据进行操作,这多个操作要么都不发生,要么都完成才能保证数据库的一致性,所以这多个操作应该是原子的,不可拆分的,但文件处理系统很难保证原子性。

(6)多用户并发获取异常,读取和修改的冲突

(7)安全问题,文件的权限控制只能以文件为单位,不能以数据为单位,也不能细化到每个用户。

二、Data models 数据模型

1.抽象层次

(1)物理层(Physical level)描述数据如何存储,也就是介绍复杂的底层数据结构

(2)逻辑层(logical level)描述数据库中存储了什么数据及这些数据间存在什么关系

(3)视图层(veiw level)应用程序隐藏(封装)数据类型的细节,也可以为了保证安全隐藏一部分信息

2.实例和模式

实例(instance):特定时刻存储在数据库中的信息的集合称作数据库的一个实例

模式(schema):数据库的总体设计

模式可分为三类:

外模式(External Schema,也称子模式或者用户模式):数据库用户使用的局部数据的逻辑结构和特征的描述

模式(Logical Schema,也称逻辑模式):数据库中全体数据的逻辑结构和特征(型)的描述(不涉及具体数据)

内模式(Physical Schema,也称存储模式或者物理模式):数据物理结构和存储方式的描述,数据库管理员(DBA)所关注的

3.数据模型

数据模型是一个描述数据数据联系(relationships)数据语义(semantics)以及数据约束(constraints)的概念工具的集合,主要有关系模型(relational model)实体—-联系模型(entity-relationship model)基于对象的数据类型(object-based data model)半结构化数据类型(semistructured data model),曾经还依次出现过层次数据模型(hierarchical data model)网状数据模型(network data model),而后演变出关系模型。

关系模型:所有的数据都存储在多种多样的表中,最顶上一行为columns,也叫作属性,再下面的信息称为rows,也叫作元组记录,整个表便是relation

4.数据库语言

数据库系统中有数据定义语言(Data Definition Language,DDL)数据操纵语言(Data Manipulation Language,DML),DDL用于定义数据库模式,DML用于访问或操纵按照某种适当的数据模型组织起来的数据。

Structured Query Language(SQL)结构化查询语言,是一种商业广泛应用的语言,其中包含DDL和DML,通常使用于人机交互,一般与高级语言相结合,还会配合应用程序接口(e.g. ODBC/JDBC)使用。

三、数据库设计

1.设计过程及设计成果

(1)概念设计(Concept Design)—— 实体关系图(ER diagram)

(2)逻辑设计(Logical Design)—— 确定数据库模式(schema)

(3)物理设计(Physical Design)—— 指定数据库的物理特性

2.设计方法

(1)实体关系模型(Entity Relation Model)

(2)泛式理论(Normalization Theory)

四、数据库引擎(DB Engine)

1.存储管理器

存储管理器是数据库系统中负责在数据库中存储的低层数据与应用程序以及向系统提交的查询之间提供接口的部件。存储管理器负责与文件管理器进行交互原始数据通过操作系统提供的文件系统存储在磴盘上。存储管理器将各种DML语句翻译为底层文件系统命令因此存储管理器负责数据库中数据的存储、检索和更新

其中包含事务管理器(Transaction manager),确保原子性操作,即系统在出现故障或事物失败的情况下,数据库都能保持一致。每一个事务(transaction是一个既具原子性又具一致性的单元。

2.查询处理器

查询处理器组件包括:DDL 解释器(DDL interpreter)DML 编译器(DML compiler)查询执行引擎(query evaluation engine)。

查询执行流程:

五、数据库的体系结构(architecture)

数据库系统的体系结构很大程度上取决于数据库系统所运行的计算机系统 数据库系统可以是
中式 客户/ 服务器式的(一台服务器为多个客户机执行任务) 也可以针对并行计算机体系结构
计数据库系统 分布式数据库包含地理上分离的多台计算机

1.两层体系结构

应用程序驻留在客户机上 通过查询语言表达式来调用服务器上的数据库系统功能 ODBC
JDBC 这样的应用程序接口标准被用于进行客户端和服务器的交互

2.三层体系结构

客户机只作为一个前端并且不包含任何直接的数据库调用。客户端通常通过一个表单界面与 应用服务器(application server)进行通信。而应用服务器与数据库系统通信以访问数据。应用程序的 业务逻辑(business logic),也就是说在何种条件下做出何种反应,被嵌入到应用服务器中,而不是分布在多个客户机上。三层结构的应用更适合大型应用和互联网上的应用。


总结

通过本篇文章可以比较宏观的了解到数据库的概念,对后面的学习搭好框架。

未完待续……

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值