《计算思维导论》笔记:《第10章 数据化思维-数据聚集与管理》计算思维第17讲-从表的管理看数据库

《大学计算机—计算思维导论》(战德臣 哈尔滨工业大学)
《计算思维第17讲-从表的管理看数据库----结构化与非结构化数据管理》

一、引言

今天我们从表的管理看数据库,给大家讲一下结构化与非结构化数据管理的思维。

在这里插入图片描述

二、为什么需要数据库–工作方式的转变

信息社会的工作方式

现在的社会,已经逐渐由传统的以纸张为主要交流媒介,转化为以【计算机 + 信息 + 数据】为主要交流媒介的工作方式。

现在是信息社会,信息社会实际上离不开数据库,也离不开互联网。

在这里插入图片描述

扩展(AI问答)

为什么需要数据库 - 工作方式的转变,请展开介绍一下

数据库的引入和普及是信息技术发展过程中的一个重要里程碑,它的工作方式与传统的文件存储系统相比发生了显著转变,这种转变主要基于以下几个关键原因:

  1. 数据整合与集中管理

    • 在没有数据库的时代,应用程序通常直接将数据保存在文件中,这种方式会导致数据冗余、不一致性和难以维护。数据库系统提供了一个集中的存储位置,所有相关的应用程序都可以通过数据库管理系统(DBMS)访问共享的数据,从而确保了数据的一致性。
  2. 数据结构化与标准化

    • 数据库采用结构化的方式来组织和存储数据,支持定义数据模式和关系。这使得数据能够以表格的形式进行逻辑关联,通过预定义的表结构来保证数据格式的规范性,比如使用关系型数据库时的数据表和字段。
  3. 数据安全性与完整性保障

    • DBMS提供了复杂的权限管理和事务处理机制,可以确保数据的安全性和完整性。例如,通过对用户授权控制数据访问权限,并通过事务处理确保多用户环境下数据操作的原子性、一致性、隔离性和持久性(ACID特性)。
  4. 高效检索与查询能力

    • 数据库支持SQL等高级查询语言,允许用户快速检索和分析大量数据,而无需了解底层物理存储细节。索引、查询优化器等功能大大提升了数据检索速度,满足了企业日益增长的数据处理需求。
  5. 可伸缩性与高可用性

    • 随着技术的发展,现代数据库还实现了水平扩展和垂直扩展的能力,如分布式数据库架构可以跨多个服务器节点分散负载,实现高并发读写及海量数据存储。同时,通过主从复制、集群、镜像、备份恢复等技术提高服务可用性和容灾能力。
  6. 事务处理与数据分析并重

    • 不仅支持传统事务处理应用,还能够应对大数据分析的需求,通过实时分析或批量处理引擎,实现对业务数据的深度洞察。
  7. 自动化运维与监控

    • 数据库管理系统包含了丰富的工具和功能,用于自动化日常运维任务,如自动备份、性能监控、空间管理、日志记录等,减轻了管理员的负担,提高了整体运维效率。

因此,数据库不仅仅是存储数据的容器,更是一种数据管理的方法论和技术体系,它的出现极大地促进了数据驱动决策的实施,增强了信息系统在复杂环境下的稳定性和可靠性。随着云原生、微服务、AI等新技术的应用,数据库的工作方式还在持续演进,以适应不断变化的IT架构和服务场景。

三、什么是数据库

基本形式的数据:“表”和“关系”

数据库起源于规范化“表(Table)”的处理

Table: 以按行按列形式组织及展现的数据。

在这里插入图片描述

结构化数据库:关系数据库

  • 一个表聚集了具有相同结构类型的若干个对象, 表与表间也存在着相互关联
  • 一行数据反映了某一对象的相关内容, 一列数据具有相同的数据类型
  • 这种“表”形式的数据,被认为是结构化数据
  • 用数学定义的无重复元组的【表】又被称为【关系】,其数据库又被称为关系数据库

四、什么是数据库系统

数据库系统的构成

数据库系统(工作环境)

  • 数据库(DB): Database
  • 数据库管理系统(DBMS): Database Management System
  • 数据库应用(DBAP): DataBase Application
  • 数据库管理员(DBA): DataBase Administrator
  • 计算机基本系统

五、怎样操纵数据库

表之间有哪些运算

第1种运算:【并】运算

第2种运算:【差】运算

第3种运算:【积】运算

第4种运算:【选择】运算

第5种运算:【投影】运算

详情请参考:《计算思维导论》笔记:10.4 关系模型-关系运算

综合运用关系运算表达复杂的查询

在这里插入图片描述

六、结构化数据库操纵语言

由关系模型到结构化数据库语言SQL

在这里插入图片描述

七、结构化数据库管理系统的实现思路

关系运算 --> 数据库语言 -->关系数据库管理系统

在这里插入图片描述

八、由结构化数据库管理到非结构化数据管理

关系数据库 --> 键值对数据库 --> 文档数据库

在这里插入图片描述

其他非结构化数据库:图像数据库与图数据库

在这里插入图片描述

九、小结

在这里插入图片描述

梳理 五六七 章节的关系:
第五章,介绍如何操纵数据库,也就是关系运算;
第六章,介绍如何表达关系运算,也就是SQL;
第七章,介绍如何实现关系运算,也就是数据库管理系统的实现思路;

十、概念梳理(AI问答)

字段,是什么意思?

字段,在计算机科学和数据库领域中,是指数据库表、数据结构或类中的一个单独单元,它用于存储特定类型的数据。每个字段代表了记录(行)的一个属性或特性,并且具有自己的名称(字段名)和数据类型(如整数、字符串、日期等)。在数据库表中,每一列就是一个字段,它为表中的每一条记录提供了一个特定信息的存储位置。

例如,在一个学生信息表中,可能有如下字段:

  • 学生ID(整数)
  • 姓名(字符串)
  • 年龄(整数)
  • 入学日期(日期)

这些字段组合起来描述了每条记录(即每个学生)的所有相关特征。

在面向对象编程中,字段也被称作成员变量,是类或对象内部的状态表示,它们与类的方法一起构成了类的完整定义。

为什么叫“字段”呢,有什么原因吗?

“字段”这个术语在计算机领域中来源于它的直观含义和早期数据处理的模拟。在纸质文档或者表格设计时,我们会把一张表单划分为不同的区域或列,每个区域用于填写特定类型的信息,这些区域就好像是文档中的“田地”,每一个“田地”内种植一种信息类型的“作物”。

当电子数据处理系统开始发展时,尤其是数据库管理系统的设计,借鉴了这种实体表格的概念,将数据存储单元比作是可以在其中存放数据的独立空间,就像物理世界里的不同“字段”。因此,“字段”一词被借用过来,特指数据库表中具有特定名称、数据类型和长度的列,用于描述记录的属性或特征。这个名字既形象又简洁,易于理解,故而沿用至今。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/563164.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ExpertPrompting:指导大语言模型成为杰出专家

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 论文标题:ExpertPrompting: Instructing Large Language Models to be Distinguished Experts 论文地址:https://arxiv.org/abs/2305.14688 作者 & 机构:Benfen…

cd /op-bash: 无法为立即文档创建临时文件: 设备上没有空间

问题 在shell输入命令按tab键时出现以下报错 (base) [link999hadoop102 ~]$ cd /op-bash: 无法为立即文档创建临时文件: 设备上没有空间 -bash: cd: /op: 没有那个文件或目录原因分析 磁盘空间不够 df -Th # 通过命令查看具体情况解决 1、清理大文件 进入到 容量-已用 使…

【未完成】【QT+OpenCV】车牌号检测 学习记录 遇到的问题

【QTOpenCV】车牌号检测 学习记录 首先在QT里面配置好OpenCV .pro文件中加入: INCLUDEPATH G:/opencv/build/include LIBS -L"G:/opencv/build/x64/vc14/lib"\-lopencv_core \-lopencv_imgproc \-lopencv_highgui \-lopencv_ml \-lopencv_video \-lo.c…

【c++】stack和queue使用 stack和queue模拟实现

主页:醋溜马桶圈-CSDN博客 专栏:c_醋溜马桶圈的博客-CSDN博客 gitee:mnxcc (mnxcc) - Gitee.com 目录 1. stack的介绍和使用 1.1 stack的介绍 1.2 stack的使用 1.3 stack的模拟实现 2. queue的介绍和使用 2.1 queue的介绍 2.2 queue的…

react之组件与JSX

第一章 - 描述用户界面 概述:React是一个用于构建用户界面(UI)的JavaScript库,用户界面由按钮,文本和图像等小单元内容构建而成。React帮助你把它们组合成可重用,可嵌套的组件。从web端网站到移动端应用&a…

【Node.js】02 —— Path模块全解析

🌟Node.js之Path模块探索🌈 📚引言 在Node.js的世界中,path模块就像一把万能钥匙🔑,它帮助我们理解和操作文件与目录的路径。无论你是初入Node.js殿堂的新手,还是久经沙场的老兵,理…

如何在PostgreSQL中使用CTE(公共表表达式)来简化复杂的查询逻辑?

文章目录 解决方案步骤示例代码 结论 在处理复杂的SQL查询时,我们经常会遇到需要多次引用子查询或中间结果的情况。这可能会使得查询变得冗长且难以理解。为了解决这个问题,PostgreSQL(以及其他一些SQL数据库系统)引入了公共表表达…

uni-app为图片添加自定义水印(升级版)

前置内容 uni-app为图片添加自定义水印&#xff08;解决生成图片不全问题&#xff09; UI 升级 现在水印样式变成这样了&#xff1a; 代码 <template><canvas v-if"waterMarkParams.display" canvas-id"waterMarkCanvas" :style"canv…

overflow(溢出)4个属性值,水平/垂直溢出,文字超出显示省略号的详解

你好&#xff0c;我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃-大专生&#xff0c;一枚程序媛&#xff0c;感谢关注。回复 “前端基础题”&#xff0c;可免费获得前端基础 100 题汇总&#xff0c;回复 “前端工具”&#xff0c;可获取 Web 开发工具合…

解析 IP(IPv4)地址

IPv 4 地址 一、组成二、IPv4 的分类三、子网掩码四、特殊的地址五、私有 IP 地址六、全局 IP 地址七、私有 IP 地址和全局 IP 地址的关系八、广播地址九、网络地址十、IP 地址个数计算十一、查看电脑的 IP 地址&#xff08;window&#xff09;十二、手动设置电脑的 IP 地址 为…

C语言练习——上三角矩阵

前言 今天我们来看看如何使用代码实现上三角矩阵吧。首先我们来了解一下上上三角矩阵是什么&#xff0c;上三角矩阵就是在矩阵从左上到右下的对角线之下的数组元素都为0的数组方矩阵&#xff0c;例如&#xff1a; 以一个三阶矩阵为例&#xff0c;在对角线元素之下&#xff0c;就…

基于 Spring Boot 博客系统开发(一)

基于 Spring Boot 博客系统开发&#xff08;一&#xff09; 本系统是简易的个人博客系统开发&#xff0c;为了更加熟练地掌握SprIng Boot 框架及相关技术的使用。&#x1f913;&#x1f913;&#x1f913; 本系统开发所需的环境及相关软件 操作系统&#xff1a;Windows Java…

面试高频:HTTPS 通信流程

更多大厂面试内容可见 -> http://11come.cn 面试高频&#xff1a;HTTPS 通信流程 HTTPS 的加密流程 接下来说一下 HTTPS 协议是如何进行通信的&#xff1a; HTTPS 通信使用的 对称加密 非对称加密 两者结合的算法 HTTPS 通信时&#xff0c;会先使用 非对称加密 让通信双…

什么是OCR转换?

OCR转换是指将图片或扫描文档中的文字内容转换成电子文本的过程。OCR代表光学字符识别&#xff08;Optical Character Recognition&#xff09;&#xff0c;是一种通过算法和模型来识别图像或文档中的文字&#xff0c;并将其转换成可编辑、可搜索的文本格式。OCR转换通常包括以…

企业常用Linux三剑客awk及案例/awk底层剖析/淘宝网cdn缓存对象分级存储策略案例/磁盘知识/awk统计与计算-7055字

高薪思维&#xff1a; 不愿意做的事情:加班&#xff0c;先例自己在利他 生活中先利他人在利自己 感恩&#xff0c;假设别人帮助过你&#xff0c;先帮助别人&#xff0c;感恩境界 awk三剑客老大 find其实也算是一种新的第四剑客 find 查找文件 查找文件&#xff0c;与其他命令…

Linux基础03-Linux文件操作命令

其实啊&#xff0c;说起计算机操作&#xff0c;大部分情况下就是“增删改查”这四个大字儿&#xff0c;文件操作也是这么回事儿。 就是改文件的时候得用点专门的编辑器&#xff0c;比如那个Vim。 不过Vim这东西&#xff0c;真心不是一两句话就能给你讲清楚的&#xff0c;咱们在…

socket套接字在tcp客户端与tcp服务器之间的通信,以及socket中常用的高效工具epoll

1.socket&#xff08;套接字&#xff09;的概念 Socket是对TCP/IP协议的封装&#xff0c;Socket本身并不是协议&#xff0c;而是一个调用接口&#xff08;API&#xff09;&#xff0c;通过Socket&#xff0c;我们才能使用TCP/IP协议,主要利用三元组【ip地址&#xff0c;协议&am…

STM32F1之I2C通信

目录 1. 简介 2. 硬件电路 3. IIC时序基本单元 3.1 发送一个字节 3.2 接收一个字节 3.3 发送应答 3.4 接收应答 1. 简介 I2C&#xff08;Inter-Integrated Circuit&#xff09;总线是由NXP Semiconductors&#xff08;前身为Philips Semiconductor&#xff09;…

【C++初阶】vector使用特性 vector模拟实现

1.vector的介绍及其使用 1.1 vector的介绍 vector文档介绍 1. vector是表示可变大小数组的序列容器。 2. 就像数组一样&#xff0c;vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问&#xff0c;和数组一样高效。但是又不像数组&#…

浏览器数据找回

网站上分享的文章应该都是个人的心血&#xff0c;对于一些操作问题导致心血丢失真的很奔溃&#xff0c;终于找到一个弥补的办法&#xff0c;csdn的文章谷歌浏览器亲测有效&#xff0c;理论上其他浏览器的其他网站应该也可以&#xff0c;适用以下场景 把博客编辑当成了编写新博…