数据库原理与应用系列_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图形化工具创建数据库表。
相关文章
|
10天前
|
缓存 NoSQL 数据库
运用云数据库 Tair 构建缓存为应用提速,完成任务得苹果音响、充电套装等好礼!
本活动将带大家了解云数据库 Tair(兼容 Redis),通过体验构建缓存以提速应用,完成任务,即可领取罗马仕安卓充电套装,限量1000个,先到先得。邀请好友共同参与活动,还可赢取苹果 HomePod mini、小米蓝牙耳机等精美好礼!
|
17天前
|
SQL Java 数据库连接
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率。本文介绍了连接池的工作原理、优势及实现方法,并提供了HikariCP的示例代码。
31 3
|
17天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
34 2
|
26天前
|
XML 存储 数据库
XML在数据库中有哪些应用?
【10月更文挑战第17天】XML在数据库中有哪些应用?
26 2
|
9天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
24 4
|
7天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
23 1
|
1月前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
61 3
Mysql(4)—数据库索引
|
16天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
82 1
|
18天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
61 2
|
21天前
|
存储 关系型数据库 MySQL
MySQL vs. PostgreSQL:选择适合你的开源数据库
在众多开源数据库中,MySQL和PostgreSQL无疑是最受欢迎的两个。它们都有着强大的功能、广泛的社区支持和丰富的生态系统。然而,它们在设计理念、性能特点、功能特性等方面存在着显著的差异。本文将从这三个方面对MySQL和PostgreSQL进行比较,以帮助您选择更适合您需求的开源数据库。
84 4