数据库管理系统:有一个互相关联的数据的集合和一组用以访问这些数据的程序组成,这个数据集合就叫做数据库。上来就先写上一个概念,作为这本书的主线。
1.数据库的出现的必要性和对数据库的要求
尽管文件系统可以解决不少问题,但是下面的问题是文件系统所无法解决的,如果给文件系统加上这些特性,那么文件系统也就成为了一个数据库(有点裸设备的味道)。
- 数据的冗余和不一致:重复数据多,而且对于分布式,有可能出现数据无法同步的问题。
- 数据访问困难。
- 数据孤立:说的是因为数据存储没有采取同样的格式,使得使用统一的接口访问数据变得不可能。
- 完整性问题:说的是实现数据约束比较困难,书中给的例子是比如说给某一个账户定一个最低存款额度。
- 原子性问题:说的就是事务处理了,如何保证一个操作的完整性。例如银行转账。
- 并发访问:这也是事务处理的一部分,数据库需要应对同时异地对同一个数据操作的可能。
- 安全性问题:主要是数据库访问权限问题。
数据库的概念分层
- 物理层:定义数据的存储格式。能够涉及者一层的人是数据库软件开发者。
- 逻辑层:定义数据以及数据之间的关系。能够涉及这一层的人是数据库的设计者。
- 视图层:定义最终展现在客户面前的数据的格式。涉及这一层的是数据库客户端的开发者,以及最终的用户。
这三层从上到下层层透明。用户不关心数据库结构,数据库设计开发者不关心存储结构。
2.数据模型
- 实体————联系模型
- 关系模型
这两个模型看起来很像,事实上是,首先用实体--联系模型做最初的定义,然后转化成关系模型。关系模型是目前使用最广泛的数据库模型。
3.数据库语言
数据库语言通常由两个部分组成,(1)DDL——数据定义语言。(2)DML——数据操纵语言。最常用的数据库语言就是SQL。
应用程序体系结构
有了数据库,如何高效安全的访问就成了问题,这需要开发人员作出客户端软件。而开发这种软件通常遵循的模式有两种。
- 两层模式 就是通常的数据库-客户端模式。这种模式的优点是高效,缺点是安全性,并发性和可分布性不好。比较适用于小型的数据库软件开发。
- 三层模式:就是 数据库——服务器——应用程序三层模式。这种模式的一个经典实例就是JSP/Servlet —— EJB —— DataBase 模型。这种模型的好处是,容易移植和维护,客户端不用关心后台的数据库,数据库不用关心外面的客户端,一些都由中间的服务器层来搞定。缺点就是效率不高。无法针对某种应用进行比较有针对性的优化和设计。
分享到:
相关推荐
### C#学习笔记——窗体应用程序 #### 一、引言 本文旨在详细介绍如何使用Visual Studio 2010创建Windows Form应用程序(WinForm),特别适合于初学者。通过本教程,您将学会如何从零开始搭建一个基本的WinForm项目,...
### DB2数据库管理最佳实践——日常运维篇 #### 一、引言 DB2作为IBM公司的一款高性能数据库管理系统,广泛应用于各行各业。为了确保其高效稳定地运行,日常的运维工作显得尤为重要。本文将深入探讨DB2数据库管理中...
本文将基于私塾在线《Hadoop实战——初级部分》的学习笔记,深入探讨Hadoop的基本概念、核心组件以及在实际中的应用。 #### 二、为何选择学习Hadoop 1. **市场需求**:当前社会产生了大量的数据,例如每分钟...
【标题】"论文及相关笔记.rar"的压缩包文件包含了作者截至2021年2月1日阅读的学术论文及相应的笔记。这个压缩包可能是某位研究者或学生在学术研究过程中积累的学习资料,用于整理和回顾已读的论文内容。通过这样的...
### 基于Web的个人阅读管理系统的设计与实现——文献综述 #### 一、引言 随着信息技术的快速发展,人们对信息的获取和管理方式也在不断变化。传统的纸质书籍已经逐渐被电子图书所取代,这不仅降低了成本,还极大地...
本文将继续深入探讨JPA的核心概念之一——注解标记,特别是`@Table`和`@Column`这两个非常重要的注解。通过这些注解,我们可以定义实体类与数据库表之间的映射关系。 #### 二、`@Table` 注解详解 `@Table`注解被...
在这样的背景下,《如何阅读一本书》提供的阅读策略不仅适用于纸质书籍,同样适用于电子书和网络文献,其核心理念——高效阅读和深入理解,对于现代读者而言尤为重要。 #### 2. 阅读层次与速度调整 **《如何阅读一...
本文将以郑州大学西亚斯国际学院学生刘峰的毕业设计项目——基于JSP的网上购物系统为例,探讨其设计原理、关键技术以及实现过程。 二、系统设计原则与目标 1. **设计严谨性**:确保系统架构清晰,代码规范,遵循...
### J2EE学习笔记——DAO设计模式基础 #### 一、引言 在J2EE(Java 2 Enterprise Edition)开发中,DAO (Data Access Object) 设计模式是一种常用的数据访问层实现方式,用于分离业务逻辑与数据访问逻辑,使得程序...
- **大型企业与数据中心:** 大型企业服务器、云服务、数据库管理系统等关键基础设施中,Linux是首选操作系统之一。 - **个人计算机与移动设备:** 在桌面环境、笔记本电脑、嵌入式系统乃至智能手机上,Linux及其...
#### 一、引言 Hibernate作为一个强大的对象关系映射(ORM)框架,极大地简化了Java开发者与数据库交互的过程。本文将深入探讨Hibernate中两种常用的查询语言——HQL(Hibernate Query Language)与QBC(Query By ...
### CNN学习笔记——可变形卷积网络 #### 引言 传统的卷积神经网络(CNN)采用固定形状的卷积核来提取图像特征,这种固定形状的卷积核虽然能够处理大多数情况下的图像特征提取任务,但对于那些形状不规则的目标来...
同时指出了一个基于Notes的数据库——Squadrons-SPESupport Database,其中包含了针对疑难杂症的技巧。 #### 二、官方文档及资源 1. **DS8000 Information Center**: IBM提供的在线文档中心,包含DS8000的所有官方...
#### 一、引言 在当今数字化转型的时代背景下,云计算与虚拟化作为两项核心技术,对于企业的IT架构优化及业务灵活性提升起着至关重要的作用。本文将深入探讨这些概念背后的技术原理及其在现代IT环境中的应用场景。 ...
PKEKS机制的应用范围非常广泛,除了邮件系统的智能处理外,还可以用于云存储服务、数据库查询等场景,实现在加密数据上的高效检索,同时保证数据的隐私性。 #### 结论 《公钥加密与关键词搜索》提出的PKEKS机制为...
本文将基于《安卓学习文件》的内容,深入探讨Android SDK的基本概念以及如何创建第一个Android应用程序——“Hello World”。 #### 二、Android SDK简介 Android SDK(Software Development Kit)即Android软件...