数据库管理系统:有一个互相关联的数据的集合和一组用以访问这些数据的程序组成,这个数据集合就叫做数据库。上来就先写上一个概念,作为这本书的主线。
1.数据库的出现的必要性和对数据库的要求
尽管文件系统可以解决不少问题,但是下面的问题是文件系统所无法解决的,如果给文件系统加上这些特性,那么文件系统也就成为了一个数据库(有点裸设备的味道)。
- 数据的冗余和不一致:重复数据多,而且对于分布式,有可能出现数据无法同步的问题。
- 数据访问困难。
- 数据孤立:说的是因为数据存储没有采取同样的格式,使得使用统一的接口访问数据变得不可能。
- 完整性问题:说的是实现数据约束比较困难,书中给的例子是比如说给某一个账户定一个最低存款额度。
- 原子性问题:说的就是事务处理了,如何保证一个操作的完整性。例如银行转账。
- 并发访问:这也是事务处理的一部分,数据库需要应对同时异地对同一个数据操作的可能。
- 安全性问题:主要是数据库访问权限问题。
数据库的概念分层
- 物理层:定义数据的存储格式。能够涉及者一层的人是数据库软件开发者。
- 逻辑层:定义数据以及数据之间的关系。能够涉及这一层的人是数据库的设计者。
- 视图层:定义最终展现在客户面前的数据的格式。涉及这一层的是数据库客户端的开发者,以及最终的用户。
这三层从上到下层层透明。用户不关心数据库结构,数据库设计开发者不关心存储结构。
2.数据模型
- 实体————联系模型
- 关系模型
这两个模型看起来很像,事实上是,首先用实体--联系模型做最初的定义,然后转化成关系模型。关系模型是目前使用最广泛的数据库模型。
3.数据库语言
数据库语言通常由两个部分组成,(1)DDL——数据定义语言。(2)DML——数据操纵语言。最常用的数据库语言就是SQL。
应用程序体系结构
有了数据库,如何高效安全的访问就成了问题,这需要开发人员作出客户端软件。而开发这种软件通常遵循的模式有两种。
- 两层模式 就是通常的数据库-客户端模式。这种模式的优点是高效,缺点是安全性,并发性和可分布性不好。比较适用于小型的数据库软件开发。
- 三层模式:就是 数据库——服务器——应用程序三层模式。这种模式的一个经典实例就是JSP/Servlet —— EJB —— DataBase 模型。这种模型的好处是,容易移植和维护,客户端不用关心后台的数据库,数据库不用关心外面的客户端,一些都由中间的服务器层来搞定。缺点就是效率不高。无法针对某种应用进行比较有针对性的优化和设计。
分享到:
相关推荐
大部分对应《数据库系统与原理》的目录,从数据库的绪论到并发控制一共是十个章节知识点,文档是对整本书的知识点的总结归纳+个人理解
内含关于学习数据库的 优质博客链接 《数据库系统概念》笔记、部分课后答案
数据库系统原理学习笔记 数据库系统原理学习笔记 数据库系统原理学习笔记
东北大学数据库系统概念期末复习题与个人笔记(笔记参考自数据库系统概念(原书第六版)与课程教学PPT)
2009数据库系统工程师学习笔记 2009数据库系统工程师学习笔记
Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip ...
数据库系统工程师学习笔记 非常有用!个能总结心得
数据库系统概论读书笔记.doc
1、通过理解数据库系统主要特点,初步了解数据库系统全貌。 2、了解关系、关系模型、关系数据库系统等基本概念。 3、了解数据库管理系统的组成和各部分的基本功能。 4、初步理解本章中提到的有关数据库的...
——————————————————————————————————————————————
数据库理论学习笔记,初学者可以看看。本人在学习过程中根据自己的个人见解和相关资料总结而得,虽然很浅,但内容还是比较全的,可以当作资料查看
数据库系统概论总结 对数据库系统概论的总结,有利于复习。
韩顺平Oracle笔记——数据库韩顺平Oracle笔记——数据库管理员管理员
1_数据库笔记——select(1).sql
数据库系统概念讲义,欢迎下载,欢迎评论,数据库系统概念(讲义)浙江大学陈立军
2021软考数据库系统工程师笔记,自己从书上总结的。参照《数据库系统工程师第3版》《5天修炼数据库系统工程师》。祝大家考试成功。
上海初三英语阅读精讲笔记1——阅读A篇题型-原创.rar
上海初三英语阅读精讲笔记1——阅读A篇题型-原创.pdf