《大学计算机—计算思维导论》(战德臣 哈尔滨工业大学)
《计算思维第17讲-从表的管理看数据库----结构化与非结构化数据管理》
一、引言
今天我们从表的管理看数据库,给大家讲一下结构化与非结构化数据管理的思维。
二、为什么需要数据库–工作方式的转变
信息社会的工作方式
现在的社会,已经逐渐由传统的以纸张为主要交流媒介,转化为以【计算机 + 信息 + 数据】为主要交流媒介的工作方式。
现在是信息社会,信息社会实际上离不开数据库,也离不开互联网。
扩展(AI问答)
为什么需要数据库 - 工作方式的转变,请展开介绍一下
数据库的引入和普及是信息技术发展过程中的一个重要里程碑,它的工作方式与传统的文件存储系统相比发生了显著转变,这种转变主要基于以下几个关键原因:
-
数据整合与集中管理:
- 在没有数据库的时代,应用程序通常直接将数据保存在文件中,这种方式会导致数据冗余、不一致性和难以维护。数据库系统提供了一个集中的存储位置,所有相关的应用程序都可以通过数据库管理系统(DBMS)访问共享的数据,从而确保了数据的一致性。
-
数据结构化与标准化:
- 数据库采用结构化的方式来组织和存储数据,支持定义数据模式和关系。这使得数据能够以表格的形式进行逻辑关联,通过预定义的表结构来保证数据格式的规范性,比如使用关系型数据库时的数据表和字段。
-
数据安全性与完整性保障:
- DBMS提供了复杂的权限管理和事务处理机制,可以确保数据的安全性和完整性。例如,通过对用户授权控制数据访问权限,并通过事务处理确保多用户环境下数据操作的原子性、一致性、隔离性和持久性(ACID特性)。
-
高效检索与查询能力:
- 数据库支持SQL等高级查询语言,允许用户快速检索和分析大量数据,而无需了解底层物理存储细节。索引、查询优化器等功能大大提升了数据检索速度,满足了企业日益增长的数据处理需求。
-
可伸缩性与高可用性:
- 随着技术的发展,现代数据库还实现了水平扩展和垂直扩展的能力,如分布式数据库架构可以跨多个服务器节点分散负载,实现高并发读写及海量数据存储。同时,通过主从复制、集群、镜像、备份恢复等技术提高服务可用性和容灾能力。
-
事务处理与数据分析并重:
- 不仅支持传统事务处理应用,还能够应对大数据分析的需求,通过实时分析或批量处理引擎,实现对业务数据的深度洞察。
-
自动化运维与监控:
- 数据库管理系统包含了丰富的工具和功能,用于自动化日常运维任务,如自动备份、性能监控、空间管理、日志记录等,减轻了管理员的负担,提高了整体运维效率。
因此,数据库不仅仅是存储数据的容器,更是一种数据管理的方法论和技术体系,它的出现极大地促进了数据驱动决策的实施,增强了信息系统在复杂环境下的稳定性和可靠性。随着云原生、微服务、AI等新技术的应用,数据库的工作方式还在持续演进,以适应不断变化的IT架构和服务场景。
三、什么是数据库
基本形式的数据:“表”和“关系”
数据库起源于规范化“表(Table)”的处理
Table: 以按行按列形式组织及展现的数据。
结构化数据库:关系数据库
- 一个表聚集了具有相同结构类型的若干个对象, 表与表间也存在着相互关联
- 一行数据反映了某一对象的相关内容, 一列数据具有相同的数据类型
- 这种“表”形式的数据,被认为是结构化数据
- 用数学定义的无重复元组的【表】又被称为【关系】,其数据库又被称为关系数据库
四、什么是数据库系统
数据库系统的构成
数据库系统(工作环境)
- 数据库(DB): Database
- 数据库管理系统(DBMS): Database Management System
- 数据库应用(DBAP): DataBase Application
- 数据库管理员(DBA): DataBase Administrator
- 计算机基本系统
五、怎样操纵数据库
表之间有哪些运算
第1种运算:【并】运算
第2种运算:【差】运算
第3种运算:【积】运算
第4种运算:【选择】运算
第5种运算:【投影】运算
综合运用关系运算表达复杂的查询
六、结构化数据库操纵语言
由关系模型到结构化数据库语言SQL
七、结构化数据库管理系统的实现思路
关系运算 --> 数据库语言 -->关系数据库管理系统
八、由结构化数据库管理到非结构化数据管理
关系数据库 --> 键值对数据库 --> 文档数据库
其他非结构化数据库:图像数据库与图数据库
九、小结
梳理 五六七
章节的关系:
第五章,介绍如何操纵数据库,也就是关系运算;
第六章,介绍如何表达
关系运算,也就是SQL;
第七章,介绍如何实现
关系运算,也就是数据库管理系统的实现思路;
十、概念梳理(AI问答)
字段,是什么意思?
字段,在计算机科学和数据库领域中,是指数据库表、数据结构或类中的一个单独单元,它用于存储特定类型的数据。每个字段代表了记录(行)的一个属性或特性,并且具有自己的名称(字段名)和数据类型(如整数、字符串、日期等)。在数据库表中,每一列就是一个字段,它为表中的每一条记录提供了一个特定信息的存储位置。
例如,在一个学生信息表中,可能有如下字段:
- 学生ID(整数)
- 姓名(字符串)
- 年龄(整数)
- 入学日期(日期)
这些字段组合起来描述了每条记录(即每个学生)的所有相关特征。
在面向对象编程中,字段也被称作成员变量,是类或对象内部的状态表示,它们与类的方法一起构成了类的完整定义。
为什么叫“字段”呢,有什么原因吗?
“字段”这个术语在计算机领域中来源于它的直观含义和早期数据处理的模拟。在纸质文档或者表格设计时,我们会把一张表单划分为不同的区域或列,每个区域用于填写特定类型的信息,这些区域就好像是文档中的“田地”,每一个“田地”内种植一种信息类型的“作物”。
当电子数据处理系统开始发展时,尤其是数据库管理系统的设计,借鉴了这种实体表格的概念,将数据存储单元比作是可以在其中存放数据的独立空间,就像物理世界里的不同“字段”。因此,“字段”一词被借用过来,特指数据库表中具有特定名称、数据类型和长度的列,用于描述记录的属性或特征。这个名字既形象又简洁,易于理解,故而沿用至今。