数据库系统概念(第二周 第一堂)

简介: 数据库系统概念(第二周 第一堂)

前言

本文的所有知识点、图片均来自《数据库系统概念》(黑宝书)、山东大学李晖老师PPT。不可用于商业用途转发。

回顾

       上周最后一个知识点说到数据库三级模式结构,在这个结构里面我们设立了模式/内模式映像内模式/外模式映像,主要为了解决数据独立性的问题。数据独立性又分为物理数据独立性逻辑数据独立性

数据模型

定义

数据模型是一个描述数据、数据联系、数据语义以及一致性约束的概念工具的集合

数据模型的选择本质上就是选择一个存放数据的方式,这个存放数据包括数据的物理存放、逻辑关系以及语义联系等

由定义可知,数据库的设计最核心的部分就是物理存放设计(数据底层存储方式),逻辑存放设计(设计数据在业务层面的逻辑关系)

分类

关系模型:用表的集合表示数据和数据之间的关系

实体-联系模型:现实世界是由实体和实体之间的联系构成的,用于数据库设计

基于对象数据模型:实体-联系模型增加了封装、方法和对象标识等拓展

组成要素

一、数据结构:数据库中对象类型的集合(与数据内容、类型有关的对象,与数据之间联系有关的对象),是对系统静态特性的描述。

数据结构课程中的数据结构是指数据的类型以及组织方式(数组/动静态数组、链表/单双链表等等),数据库中的数据结构是指数据库中数据的结构即数据的类型

二、数据操作:包括检索、更新两个方面,是对系统动态特性的描述。

数据操作在数据结构课程中对应的就是数据的组织方式和数据类型,或者说数据的组织方式和数据类型两者共同决定数据操作

三、数据约束条件:一组完整性规则的集合

关系模型

关系模型在现代已经全面取代了其他两类模型,故数据库中讨论的只有关系模型。

初识

优点

一、简单。只有关系一种数据结构,同时逻辑上的数据结构也只有表这一种形式。

二、非过程化数据请求,数据请求可以不指明路径。(非过程化数据请求,说明关系数据库的数据获取更多是一种静态批量的数据获取)

三、数据独立性。用户只需提出做什么,不用考虑怎么做

四、坚实的理论基础

数据库语言

任何一种数据库语言都可以分为三类语言。

一、DDL:数据库定义语言。是指对数据库结构进行定义、管理和调整的语言

二、DCL:数据库控制语言。是指对数据库的管理、访问权限进行定义、修改和调整的语言

三、DML:数据库操控语言。是指对数据库中的数据进行更新、查询的语言

这里书中的翻译是语言,但是我更倾向于用语句。因为在正常情况下,我们认为SQL是一种语言,而对于任何一个类似SQL的数据库语言,它基本都有上面三类语句。使用语言容易将这三种语句误解为和Sql平等地位的语言

事务管理

事务定义

事务是由一系列操作序列构成的程序执行单元。对于一个事务中的操作序列,要么都做,要么都不做,事务是一个不可分割的工作单位

事务特性

一、原子性:事务中包含的所有操作要么全做,要么全不做。他们必须是一个不可分割的工作单位

二、一致性:事务在处理前后整个数据库必须处于一致性的状态。即不同用户的数据库变化必须对应的上

三、隔离性:系统必须保证事务不受其他并发执行事务的影响

四、持久性:一个事务一旦提交后,他对数据库的影响必须是永久的

数据库系统结构

数据库系统的体系结构较为复杂,在后续章节详细带大家进入

数据库应用结构

数据库应用结构曾经是两层结构,此时应用(包括前端应用UI和后端应用业务逻辑)属于上层,一旦业务逻辑发生变化,UI前端需要发生变化,这将导致升级业务逻辑变得非常复杂。

现在的数据库应用结构都是三层结构,并且将应用分为应用客户和应用服务器。即将应用的前后端进行分离。此时应用的业务逻辑发生变化不需要再修改应用的前端UI。

综上数据库应用结构的改变,主要是应用上的改变,重点体现在应用的前后端分离

相关文章
|
4月前
|
存储 SQL 分布式数据库
OceanBase 入门:分布式数据库的基础概念
【8月更文第31天】在当今的大数据时代,随着业务规模的不断扩大,传统的单机数据库已经难以满足高并发、大数据量的应用需求。分布式数据库应运而生,成为解决这一问题的有效方案之一。本文将介绍一款由阿里巴巴集团自主研发的分布式数据库——OceanBase,并通过一些基础概念和实际代码示例来帮助读者理解其工作原理。
351 0
|
2月前
|
缓存 算法 关系型数据库
Mysql(3)—数据库相关概念及工作原理
数据库是一个以某种有组织的方式存储的数据集合。它通常包括一个或多个不同的主题领域或用途的数据表。
68 5
Mysql(3)—数据库相关概念及工作原理
|
2月前
|
关系型数据库 MySQL 数据库
MySQL数据库:基础概念、应用与最佳实践
一、引言随着互联网技术的快速发展,数据库管理系统在现代信息系统中扮演着核心角色。在众多数据库管理系统中,MySQL以其开源、稳定、可靠以及跨平台的特性受到了广泛的关注和应用。本文将详细介绍MySQL数据库的基本概念、特性、应用领域以及最佳实践,帮助读者更好地理解和应用MySQL数据库。二、MySQL
126 5
|
2月前
|
SQL 存储 安全
SQL查询数据库:基础概念与操作指南
在数字化时代,数据库已成为信息管理的重要工具之一。作为管理和操作数据库的核心语言,SQL(结构化查询语言)已成为数据管理和查询的关键技能。本文将全面介绍SQL查询数据库的基本概念、语句和操作指南,以帮助初学者快速上手,同时为进阶用户提供有价值的参考。一、数据库与SQL简介数据库是一种存储、管理和检索
57 3
|
7月前
|
存储 关系型数据库 数据库
不直接使用文件存储?浅谈数据库的三级模式及重要概念
【5月更文挑战第21天】本文介绍数据库用于解决传统文件系统如Excel的数据冗余、不一致性和访问困难等问题。关系型数据库通过DBMS实现数据管理,包括外模式(用户视图)、概念模式(全局逻辑结构)和内模式(物理存储)。
163 1
不直接使用文件存储?浅谈数据库的三级模式及重要概念
|
5月前
|
druid Java 数据库连接
Java面试题:解释数据库连接池的概念及其作用,讨论常见的连接池实现。
Java面试题:解释数据库连接池的概念及其作用,讨论常见的连接池实现。
88 0
|
6月前
|
JavaScript 数据库
关系数据库:关系数据结构基础与概念解析
关系数据库:关系数据结构基础与概念解析
51 1
|
6月前
|
存储 数据库连接 数据库
逆向学习数据库篇:表设计和数据库操作的核心概念与流程
逆向学习数据库篇:表设计和数据库操作的核心概念与流程
37 0
|
6月前
|
SQL 关系型数据库 MySQL
MySQL数据库数据模型概念入门及基础的SQL语句2024
MySQL数据库数据模型概念入门及基础的SQL语句2024
40 0
|
7月前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(四)(数据库系统概念第三章练习题)
本文的SQL语言适用的是Oracle数据库与mySQL可能存在略微不同
数据库SQL语言实战(四)(数据库系统概念第三章练习题)