数据库原理与应用系列_01数据库系统概述(上)

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
简介: 数据库技术是专门研究如何科学地组织和存储数据,如何高效地获取和处理数据的技术。数据库(Database)即数据仓库,是数据存放的地方。

数据库技术是专门研究如何科学地组织和存储数据,如何高效地获取和处理数据的技术。数据库(Database)即数据仓库,是数据存放的地方。


一、信息,数据,数据处理与数据管理



1、数据与信息


  1. 信息

定义:是人脑对现实世界事物的存在方式,运动状态以及事物之间联系的抽象反应。

特征:

  • 信息源于物质和能量。
  • 信息是可以感知的
  • 信息是可存储,加工,传递和再生的。


  1. 数据【考】

定义:数据是由用来记录的可识别的符号组成的。是信息的具体表现形式。

数据的表现形式:


主要是整数,浮点数等传统数学当中的数字,还包括文字,图形,图像,声音和视频等等(这些是非结构化的数据)

  1. 数据与信息的联系

数据是信息的符号表示,信息则是对数据的语义解释。

信息=数据+语义

数据表示了信息,而信息只有通过数据形式表示出来才能被人们理解和接受。


2、数据处理与数据管理


数据处理是将数据转换为信息的过程,包括对数据的收集,管理,加工利用乃至信息输出等一系列活动。

管理:分为关系型(二维表)和非关系型

信息输出:可视化等等

目的之一是从大量的原始数据中抽取和推导出有价值的信息,作为决策的依据;

目的之二是借助计算机科学地保存和管理大量复杂的数据,以便人们能够方便地充分利用这些信息资源。

数据处理中,数据管理过程比较复杂,主要包括数据的分类。组织,编码,存储,维护,检索等等。


二、数据库技术的产生,发展



1、人工管理阶段

特点:

  1. 数据没有专门的存取设备
  2. 数据没有专门的管理软件
  3. 数据不共享
  4. 数据不具有独立型


2、文件系统阶段

特点:

  1. 数据以文件形式长期保存
  2. 由文件系统管理数据
  3. 程序与数据间有一定的独立性
  4. 文件的形式已经多样化
  5. 数据具有一定的共享性

与人工管理阶段相比,文件系统阶段对数据管理进步很大,但一些根本性问题仍然没有解决

表现在:

  • 数据共享性差,冗余度大
  • 数据不一致性
  • 数据独立型差
  • 数据间的联系若

91fa027a56454083adc08d73e3365f50.png


3、数据库系统阶段


为了解决多用户,多个应用程序共享数据的需求,数据库技术应运而生,出现了同一管理数据的专门的软件系统,即数据库管理系统DBMS DATABASE MANAGEMENT SYSTEM)

数据库系统阶段管理数据的特点:

  1. 结构化的数据及其联系的集合

在数据库系统中,将各种应用的数据按一定的结构形式组织到一个结构化的数据中,不仅考虑了某个应用的数据结构,而且考虑了整个组织的数据结构。

不仅数据内部结构化,整体也是结构化的。

关系能够建立的基础是结构化(规范性)。

  1. 数据共享性高,冗余度低

数据共享:指数据库中的一组数据集合可为多个应用和多个用户共同使用(可同时,具有并发性)。


不同数据,不同应用可同时存取数据库中的数据,每个用户或应用只使用数据库中的一部分数据,同一数据可供多个用户或应用共享,从而减少不必要的数据冗余,节约存储空间,避免数据之间的不相容性与不一致性。


用户和程序不像在文件系统中那样各自建立自己对应的数据文件,而是从数据库中存取其中的数据子集。该数据子集是通过数据库管理系统从数据库当中经过映射形成的逻辑文件。


同一个数据可能在物理存储只存一次,但可以映射到不同的逻辑文件里面。这就是数据库系统提高数据共享,减少数据冗余的根本所在。


11099688679d4c1daf2061313d766286.png

3. 数据独立性【考】

【(重点简答题)请问数据独立性的含义是什么】

数据独立型:指数据库中的数据与应用程序间相互独立,即数据的逻辑结构,存储结构以及存取方式不影响应用程序。


整个数据库的逻辑结构分为三级:

1、用户逻辑结构

2、数据库逻辑结构

3、物理结构

数据的独立型分为两级:

1、物理独立型

2、逻辑独立型


数据的物理独立型:指当数据库的物理结构(如存储结构,存取方式,外部存取设备等)改变时,通过修改映射,使数据库逻辑结构不受影响,进而用户逻辑结构以及应用程序不用改变。


数据的逻辑独立性:指当数据库逻辑结构改变(如修改数据定义,增加新的数据类型,改变数据间的关系等)发生改变是,通过修改映射,用户的逻辑结构以及应用程序不用改变。


数据的独立型把数据的定义从程序中分离出去,加上数据的存取是由DBMS负责,从而简化了程序的编写。


有统一的数据管理和控制功能

数据由DBMS进行统一的管理和控制。


多个用户可以同时存取数据库当中的数据,为确保数据库数据的正确性,有效性和数据库系统的有效运行,数据库管理系统提供以下4方面的数据控制功能:


1、数据的安全性控制


2、数据的完整性控制


系统设置一些完整性规则等约束条件,确保数据的正确性,有效性,相容性。


正确性:数据的合法性。如年龄只能是数值型。

有效性:数据在其定义的有效范围。如:月份只有1-12。

相容性:表示同一事实的两个数据应相同。如:人不能有两个性别。

3、并发控制:多个用户同时存取或者修改数据库时,系统可防止相互干扰


4、数据恢复:数据丢失或不正确时恢复到某一时刻的正确状态。


在数据库系统阶段,数据与程序之间的关系如下图:


012421532e5142f894162acd130cb35a.png



三、数据库系统的组成



【主要是前三点】

数据库系统(DBS DATABASE SYSTEM)


数据库

是存储在计算机内,有组织的,可共享的数据和数据对象的集合。这种集合按照一定的数据模型组织,描述并长期储存,同时能以安全可靠的方式检索和存储数据。


数据对象:如表,视图,存储过程等等


数据库两大特点:


【1】集成性


把数据库看成若干个性质不同的数据文件的联合和统一的数据整体。


【2】共享性


数据库当中的数据可为多个不同的用户所共享。


  1. 用户

【1】第一类用户:最终用户【End User】


利用已经编写好的应用程序接口使用数据库。


【2】第二类用户:应用程序员【Application Programmer】


负责为最终用户设计和编写应用程序。


【3】数据库管理员【DataBase Administrator DBA 】


设计,建立,维护数据库的个人或者团队


  1. 软件系统

软件系统主要包括:操作系统,数据库管理系统,应用开发工具和应用系统。


  1. 硬件系统


四、数据库系统的内部体系结构



【整章很重要】

1、数据库系统的三级模式结构

  1. 数据库系统模式的概念


数据库中的数据是按照一定的数据模型组织起来的。

数据模型中有型和值的概念:

:指对某一类数据的结构和属性的说明。

:是型的一个具体赋值。

57c640f3de0b4513aa151c615588f879.png


上图当中:

第一行:学生的基本情况可以定义为学生的型

第二行:学生的具体值


模式:是数据库中全体数据的逻辑结构和特征的描述,仅涉及型的描述,而不涉及具体的值。


模式的一个具体值称为模式的一个实例。


同一个模式可以有很多实例。


模式反映的是数据的结构,实例反映的是数据库某一时刻的状态。


数据库系统的三级模式

数据库系统内部的体系结构从逻辑上分为外模式,模式,内模式三级抽象模式结构和二级映像功能。


【1】外模式《–》一般用户模式

【2】模式 《–》 概念模式

【3】内模式《–》物理模式


【1】模式


模式也称概念模式。【判断题】


是数据库中全体数据的逻辑结构和特征描述,处于三级模式结构的中间层。不涉及物理硬件以及具体的应用开发。


一个数据库只有一个模式。因为它是整个数据库数据在逻辑上的视图,是数据库的整体逻辑。


【2】外模式


外模式也称子模式或者用户模式。


外模式是三级结构的最外层。也是用户视图。


【3】内模式


内模式又称存储模式或者物理模式。是三级结构中的最内层。最靠近物理存储的一层。


他是对数据库存储结构的描述,是数据在数据库内部的表示方式。


通过对数据库三级模式结构的分析可以看出:


一个数据库系统,实际存在的只是物理级数据库,即内模式,它是数据访问的基础。


概念数据库只是物理级数据库的一种抽象描述。


用户级数据库是用户与数据库的接口。


用户根据外模式进行操作,通过外模式到模式的映射与概念数据库联系起来。


又通过模式到内模式的映射与物理级数据库联系起来。


DBMS的中心工作之一:完成三级数据库模式间的转换,把用户对数据库的操作转化到物理级去执行。


在数据库系统中,外模式可有多个,而模式,内模式只能有一个。


【1】内模式是整个数据库实际存储的表示


【2】模式是整个数据库实际存储的抽象表示


【3】外模式是逻辑模式的某一部分抽象


2、数据库系统的二级映像与数据独立性

为了在内部实现三个抽象层(三级模式)的联系和转换,DBS在三级模式之间提供了二级映像功能。


正是这两级映像保证了数据库系统中的较高的数据独立性:

即物理独立性和逻辑独立性。


【1】外模式/模式映像


模式描述的是数据的全局逻辑结构。


外模式描述的是数据的局部逻辑结构。


数据库中同一模式可以有多个外模式,对于每一个外模式,都存在一个外模式/模式映像。它确定了数据的局部逻辑结构与全局逻辑结构之间的对应关系。


【2】模式/内模式映像


数据库中的模式和内模式都只有一个,所以模式/内模式映像是唯一的。它确定了数据的全局逻辑结构与存储结构之间的对应关系。


3、数据库系统的三级模式与二级映像的优点


【1】保证了数据的独立性。

将模式和内模式分开:保证了数据的物理独立性

将外模式和模式分开:保证了数据的逻辑独立性

【2】简化用户接口。

【3】有利于数据共享

【4】有利于数据的安全保密


五、数据库系统的外部体系结构



1、单用户结构的数据库系统

主要特点:

将应用程序,NBMS和数据库都装在一台计算机上,由一个用户独占使用,不同计算机不能共享数据。


2、主从式结构的数据库系统


主从式结构的数据库系统是一个大型主机带多终端的多用户结构的系统。

将应用程序,NBMS和数据库都集中在一个大型主机上面,所有处理任务由这个大型主机来完成,而连接主机的终端,只是作为主机的输入输出设备,本身没有存储和处理功能。


主机则采用分时的方式轮流为每个终端用户服务,在每个时刻,每个用户都感觉自己独占主机的全部资源。


优点:结构简单,易于管理和维护

缺点:所有任务有主机来完成。


3、分布式结构的数据库系统


分布式结构的数据库系统指数据库中的数据在逻辑上是一个整体,但在物理上分布在计算机网络的不同结点上。

主要特点:


数据在物理上是分布的:数据库中的数据不集中存储在一台服务器上,而是分布在不同地域的服务器上,每台服务器称为结点。

所有的数据在逻辑上是一个整体:数据库当中的数据在物理上是分布的,在逻辑上是互相关联的。

结点上分布的数据相对独立。

【1】优点:可以利用多台服务器并发地处理数据

【2】缺点:数据的分布式存储给数据处理任务的协调与维护带来困难。


相关实践学习
MySQL基础-学生管理系统数据库设计
本场景介绍如何使用DMS工具连接RDS,并使用DMS图形化工具创建数据库表。
相关文章
|
6天前
|
人工智能 容灾 关系型数据库
【AI应用启航workshop】构建高可用数据库、拥抱AI智能问数
12月25日(周三)14:00-16:30参与线上闭门会,阿里云诚邀您一同开启AI应用实践之旅!
|
1月前
|
架构师 数据库
大厂面试高频:数据库乐观锁的实现原理、以及应用场景
数据库乐观锁是必知必会的技术栈,也是大厂面试高频,十分重要,本文解析数据库乐观锁。关注【mikechen的互联网架构】,10年+BAT架构经验分享。
大厂面试高频:数据库乐观锁的实现原理、以及应用场景
|
1月前
|
存储 缓存 网络安全
南大通用GBase 8s 数据库 RHAC集群基本原理和搭建步骤
南大通用GBase 8s 数据库 RHAC集群基本原理和搭建步骤
|
1月前
|
缓存 NoSQL 数据库
运用云数据库 Tair 构建缓存为应用提速,完成任务得苹果音响、充电套装等好礼!
本活动将带大家了解云数据库 Tair(兼容 Redis),通过体验构建缓存以提速应用,完成任务,即可领取罗马仕安卓充电套装,限量1000个,先到先得。邀请好友共同参与活动,还可赢取苹果 HomePod mini、小米蓝牙耳机等精美好礼!
|
1月前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
69 2
|
6天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
23 3
|
6天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
28 3
|
6天前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
33 2
|
19天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
138 15
|
13天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。