系统架构设计师笔记第16期:数据库基本概念

数据库技术的发展

数据库技术在过去几十年中经历了显著的发展和演变。

层次数据库和网状数据库:20世纪60年代和70年代初,层次数据库和网状数据库是主流的数据库模型。层次数据库使用树状结构组织数据,而网状数据库使用复杂的网络结构。这些数据库模型适用于特定的数据组织和查询需求,但缺乏灵活性和易用性。

关系数据库:20世纪70年代中期,关系数据库模型的出现引领了数据库技术的革命。关系数据库使用表、行和列的结构,以及SQL(Structured Query Language)作为查询和操作数据的语言。关系数据库模型简化了数据的组织和查询,提供了更高的灵活性和可扩展性,成为业界主流。

对象数据库:20世纪80年代末和90年代初,对象数据库技术兴起。对象数据库扩展了关系数据库模型,允许直接存储和操作复杂的对象和数据结构。对象数据库更适合面向对象的应用程序和复杂数据模型,但由于技术和市场的限制,它没有取代关系数据库成为主流。

NoSQL数据库:随着互联网的快速发展和大规模数据处理的需求增加,NoSQL(Not Only SQL)数据库在2000年代末和2010年代初崛起。NoSQL数据库主要关注高性能、可伸缩性和灵活性,放宽了对数据结构的约束。NoSQL数据库包括键值存储、文档数据库、列式数据库和图形数据库等多种类型。

新SQL数据库:新SQL数据库是对传统关系数据库的改进和扩展,旨在提供与NoSQL数据库相似的性能和可伸缩性,同时保持关系数据库的事务一致性和数据完整性。新SQL数据库通过优化存储引擎、分布式架构和并行处理等技术,尝试在关系数据库领域实现更好的性能和扩展性。

分布式数据库:随着大数据和分布式计算的兴起,分布式数据库成为一个重要的领域。分布式数据库将数据分布在多个节点上,以实现高性能、高可用性和容错性。它使用分布式事务、一致性协议和数据复制等技术来管理分布式数据。

云数据库:随着云计算的普及,云数据库成为一种重要的数据库部署模式。云数据库提供基于云平台的数据库服务,用户可以按需获取和使用数据库资源,而无需关注基础设施的维护和管理。云数据库还提供高可用性、弹性扩展和数据安全等特性。

除了上述技术发展,数据库技术还涉及数据仓库、数据挖掘、实时分析、人工智能和机器学习等领域的集成和应用。数据库技术在数据管理、数据分析和决策支持等方面起着至关重要的作用,并持续推动着数据驱动的创新和业务发展。

基本概念

数据库是一种用于存储和组织数据的系统。以下是数据库的一些基本概念:

  1. 数据:数据是描述事物、实体或概念的信息。数据库中的数据可以是数字、文本、图像、音频等形式。
  2. 数据库管理系统(Database Management System,DBMS):数据库管理系统是一种软件,用于管理和操作数据库。它提供了一组功能和工具,使用户能够创建、访问、更新和管理数据库。
  3. 表(Table):表是数据库中的基本组织单位,用于存储相关数据。表由行和列组成,行表示记录或数据的实例,列表示数据的属性或字段。
  4. 字段(Field):字段是表中的单个数据元素,代表数据的一个特定属性。每个字段具有名称和数据类型,如整数、字符串、日期等。
  5. 记录(Record):记录是表中的一行,表示一个完整的数据实例。它由一组字段值组成,每个字段值对应于记录在该字段中的数据。
  6. 主键(Primary Key):主键是表中唯一标识每个记录的字段或字段组合。它用于确保数据的唯一性和标识性,并在表中建立记录之间的关联。
  7. 外键(Foreign Key):外键是一个字段或字段组合,它与另一个表的主键形成关联。外键用于建立表之间的关系和引用,以实现数据的一致性和完整性。
  8. 索引(Index):索引是一种数据结构,用于提高数据库查询的性能。它存储了表中特定列的值和对应的行位置,以加快数据的查找和访问。
  9. 查询(Query):查询是使用特定语言(如结构化查询语言,SQL)编写的指令,用于从数据库中检索和操作数据。查询可用于搜索、过滤、排序和组合数据。
  10. 视图(View):视图是基于一个或多个表的查询结果,以虚拟表的形式呈现给用户。视图可以简化复杂的查询操作,并提供对特定数据的逻辑访问。

这些基本概念构成了数据库的核心组成部分,并为数据的组织、存储和操作提供了基础。数据库的设计和使用涉及更多的概念和技术,如范式化、事务处理、并发控制等,以满足数据管理的需求。

数据模型

数据模型是描述数据结构、数据关系和数据操作的概念工具。它定义了数据在计算机系统中的组织方式,以及对数据的操作和访问方式。以下是常见的数据模型:

  1. 层次模型(Hierarchical Model):层次模型是早期的数据模型之一,它使用树状结构组织数据。数据通过父子关系连接,形成一个层次结构。每个父节点可以有多个子节点,但每个子节点只能有一个父节点。层次模型适用于表示具有明确父子关系的数据,如组织结构、文件系统等。
  2. 网状模型(Network Model):网状模型也是早期的数据模型之一,它使用复杂的网络结构组织数据。数据通过节点和边连接,形成复杂的图形结构。在网状模型中,一个节点可以与多个其他节点连接,而不限于父子关系。网状模型适用于表示具有复杂连接关系的数据,如网络拓扑、部件关系等。
  3. 关系模型(Relational Model):关系模型是当前最常用的数据模型之一,它使用表、行和列的结构组织数据。数据以关系(表)的形式存储,每个关系由多个属性(列)组成,每个关系的实例(行)表示一个数据记录。关系模型使用关系代数和SQL(Structured Query Language)进行数据查询和操作。关系模型提供了灵活性、简洁性和标准化的数据表示方式,适用于大多数企业应用和数据库系统。
  4. 对象模型(Object Model):对象模型扩展了关系模型,允许直接存储和操作复杂的对象和数据结构。对象模型将数据封装为对象,每个对象包含数据属性和相关的操作方法。对象模型适用于面向对象的应用程序和复杂数据结构的存储和查询。
  5. 文档模型(Document Model):文档模型是一种非关系型数据模型,用于存储和操作半结构化的文档数据。文档模型将数据组织为类似于JSON或XML的文档格式,可以灵活地表示复杂的数据结构。文档模型适用于Web应用、内容管理系统等场景。
  6. 图模型(Graph Model):图模型是一种用于表示和处理图形数据的数据模型。图模型使用节点和边来描述实体和实体之间的关系。图模型适用于网络分析、社交网络、推荐系统等场景。

这些数据模型各具特点,适用于不同的应用场景和数据需求。根据具体的应用和系统要求,选择合适的数据模型可以更好地组织和管理数据。

数据库管理系统

数据库管理系统(Database Management System,DBMS)是一种软件系统,用于管理和操作数据库。它提供了一组功能和工具,使用户能够创建、访问、更新和管理数据库。

数据库管理系统具有以下主要功能:

  1. 数据定义语言(Data Definition Language,DDL):DDL用于定义和管理数据库的结构和模式。它包括创建表、定义字段、设置约束、建立索引等操作。DDL语句用于创建和修改数据库对象的元数据,如表、视图、索引等。
  2. 数据操作语言(Data Manipulation Language,DML):DML用于查询、插入、更新和删除数据库中的数据。常用的DML语言是SQL(Structured Query Language),它提供了丰富的语法和操作符,用于对数据库进行数据操作和查询。
  3. 数据查询语言(Data Query Language,DQL):DQL是DML的一个子集,专门用于查询数据库中的数据。它允许用户通过SQL语句来检索数据,并对数据进行排序、过滤和聚合等操作。
  4. 数据完整性和约束:DBMS支持在数据库中定义数据的完整性约束,以确保数据的一致性和有效性。例如,主键约束、唯一约束、外键约束等用于限制数据的规则和关系。
  5. 事务管理:DBMS支持事务的管理和控制,以确保数据的一致性和可靠性。事务是一组操作的逻辑单元,要么全部执行成功,要么全部回滚。DBMS提供了ACID(原子性、一致性、隔离性和持久性)属性来保证事务的正确执行。
  6. 数据库安全和权限管理:DBMS提供用户和角色管理功能,用于控制对数据库的访问权限。它允许管理员分配不同级别的权限给用户,以保护数据的安全性和机密性。
  7. 数据库备份和恢复:DBMS支持数据库的备份和恢复功能,以防止数据丢失和故障。它提供了备份和还原数据库的工具和方法,用于保护数据并进行灾难恢复。
  8. 性能优化和查询优化:DBMS提供了性能优化和查询优化的功能,以提高数据库的访问和操作效率。它可以通过索引、查询计划优化、缓存管理等技术来加快查询速度和提高系统性能。

常见的数据库管理系统包括Oracle Database、MySQL、Microsoft SQL Server、PostgreSQL、MongoDB等,每个DBMS都具有其特定的功能和特点,适用于不同的应用场景和需求。

数据库三级模式

数据库的三级模式是指外模式(External Schema)、概念模式(Conceptual Schema)和内模式(Internal Schema),也被称为三级抽象。它们表示了数据库在不同层次上的不同视图和描述。

  1. 外模式(External Schema): 外模式是用户对数据库的可见部分,它描述了用户的视图和对数据的访问方式。每个外模式定义了用户所需的数据子集和相关的操作,以满足特定用户或应用程序的需求。外模式允许用户独立地定义和操作数据,而不需要了解数据库的整体结构和其他用户的视图。通过外模式,不同用户可以有不同的数据展现和操作方式,提供了个性化和定制化的数据访问。
  2. 概念模式(Conceptual Schema): 概念模式是数据库的全局逻辑结构和整体描述。它定义了数据库中所有数据的逻辑结构、关系和约束,独立于具体的应用程序和用户需求。概念模式提供了一个中间层,将外模式和内模式连接起来。它是数据库设计的核心,包括实体、关系、属性、关系约束等。概念模式使得不同用户可以共享同一数据结构和一致的数据定义,提供了数据的一致性和数据独立性。
  3. 内模式(Internal Schema): 内模式是数据库的物理存储和底层实现方式的描述。它定义了数据在存储介质上的组织方式、索引结构、数据存储格式等底层细节。内模式通常是与数据库管理系统(DBMS)紧密关联的,它描述了数据在存储层面上的物理表示。内模式隐藏了底层细节,为上层提供了一个抽象的接口,使得外模式和概念模式可以独立于物理实现进行操作和查询。

三级模式的设计目标是实现数据的独立性和模块化。外模式使得不同用户可以根据自己的需求访问数据库,而不受其他用户和应用程序的影响;概念模式提供了一个统一的数据模型和一致的数据定义,使得数据可以在不同的外模式之间共享和交互;内模式隐藏了底层实现细节,提供了数据的物理独立性,使得数据库的物理实现可以根据需要进行调整和优化。

通过三级模式的划分,数据库的设计和管理变得更加灵活、可扩展和可维护。不同层次的模式之间存在映射和转换关系,使得数据库系统能够同时满足不同用户的需求,并在底层实现上进行有效管理和优化。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
2017中国系统架构师大会,共18个专场,81个专题PPT。 部分专题如下,这里就不一一列举了: 主会场一: 京东云为企业提供智能化之路 新一代数据仓库 中移苏研存储产品化之路 主会场二: 语音技术现状与未来 全面迎接开放化与在线化分析时代 智能车载交互 企业互联网化的演进 专场1:云平台架构进化之路 万亿级数据洪峰下的消息引擎 滴滴统一资源调度平台的建设实践 云平台计算服务进化之路 基于Mesos/Docker的Elasticsearch容器化私有云 小米生态云的应用引擎实践 Event Sourcing & CQRS architecting a cloud based micro-service system 分布式存储与离线混布弹性计算平台 机器学习与未知样本检测——云中的反病毒引擎 云平台在瓜子的落地 专场2:大数据平台架构技术实践 滴滴大数据离线及实时平台架构和实践 知乎大数据平台架构和实践优化 云+时代大数据平台方案 百度云“天算”大数据平台的架构发展之路 网易新一代对象存储引擎NEFS 孙建良 网易对象存储团队负责人 实时大数据架构在风控中的实践 基于Druid的大数据采集即计算实践 饿了么离线大数据平台实践 大数据平台调度系统架构理论和实践 荣之联大数据平台的应用实践 爱奇艺广告大数据实践 唯品会机器学习平台架构实践 专场3:移动技术专场 滴滴移动端基础架构的演进与探索 Hybrid模式移动应用开发架构演进之路 移动客户端图像内容的优化和增强 互联网前端测试质量的度量 闲鱼快速业务探索下的架构实践 Android多分支代码自动同步 苏宁易购移动端统一接入层 美团配送移动网关建设实战 专场4:语音识别技术 人工智能助力新时代K12教育 搜狗的智能语音之路 可定制开发的智能语音交互技术 智能语音技术,让出行更美好 语音交互技术综述和展望 专场5:智能化运维&DevOps 大数据驱动的阿里巴巴国际化基础架构 基于Kubernetes的持续集成平台建设 百度AIOps实践:单机房故障自愈 美团外卖自动化业务运维系统建设 技术前沿进展:系统自动化调优 专场6:数据库架构设计的前世今生 云时代的数据库演变之路 58速运数据库降压架构优化实践 京东分布式KEY-VALUE存储设计与挑战 Qunar网数据库架构的发展 阿里巴巴数据库计算存储分离架构与实践 京东金融数据库多场景架构实践 财付通交易核心演进之路 开源大容量redis - pika 的前世今生 开源技术的线上应用之路 ………………………………………… 专场14:人工智能探索与创新 人工智能如何提升即时配送效率 基于机器学习的商品数据优化与知识抽取 Maxim AI 支持fintech从BI--AI战略升级 面向未来的泛内容智能分析平台建设实践 从0到1到无穷——vivo互联网的大规模机器学习实践
推荐,资料太大存放在网盘中,需要可下载观看。含教材。 第一部分 考试简介 1.1 考试大纲要求 1.2 考试科目介绍 第二部分 信息系统基础 2.1 信息系统工程总体规划 2.2 政府信息化与电子政务 2.3 企业信息化与电子商务 2.4 信息资源管理 2.5 信息化的标准、法律和规定 第三部分 系统开始基础 3.1 系统规划 3.2 软件开发方法 3.3 需求工程 3.4 软件系统建模 3.5 系统设计 3.6 测试与评审 3.7 软件开发环境与工具 3.8 系统运行与评价 第四部分 操作系统 4.1进程管理 4.2存储管理 4.3文件管理 4.4作业管理 4.5设备管理 第五部分 数据库系统 5.1数据库模式 5.2数据库完整性约束 5.3并发控制 5.4数据库设计 5.4.1数据库设计阶段 5.4.2ER模型 5.5数据库安全 5.6备份与恢复技术 5.7分布式数据库 5.8数据仓库 5.9数据挖掘 第六部分 计算机网络 6.1开放系统互连参考模型 6.2 TCP/IP协议族 6.3网络规划与设计 6.4计算机网络分类 6.5网络接入技术 6.6网络存储技术 6.7虚拟局域网(VLAN) 第七部分 软件架构设计 7.1 软件架构的概念 7.2 软件架构风格 7.3 面向服务的架构 7.4 特定领域软件架构 7.5 基于架构的软件开发方法 7.6 软件架构评估 7.7 软件产品线 第八部分 基于构件的开发 8.1 中间件技术 8.1.1 中间件的概念 8.1.2 主要的中间件 8.2 典型应用架构 8.3 企业应用集成 第九部分 应用数学 9.1 概率统计应用 9.2 图论应用 9.3 组合分析 9.4 算法的选择与应用 9.5 运筹方法 9.6 数学建模 第十部分 系统安全性与保密性设计 10.1安全与保密基础技术 10.2网络安全 10.3安全体系结构 10.3.1OSI安全模型 10.3.2MIS+S、S-MIS、S2-MIS 10.4安全审计 10.5安全策略 10.5.1核心 - 七定 10.5.2安全策略设计原则 第十一部分 系统配置与性能评价 11.1系统故障模型 11.2系统配置方法 11.3可靠性分析与可靠度计算 11.4性能评价方法 11.5软件容错 第十二部分 知识产权与标准化 12.1知识产权 12.1.1保护限 12.1.2知识产权人确定 12.1.3侵权判断 12.1.4标准的分类 12.2标准化 12.2.1标准的分类 12.2.2标准类型的识别 第十三部分 多媒体基础知识 13.1多媒体技术基本概念 13.1.1音频相关概念 13.1.2图像相关概念 13.1.3媒体的种类 13.2多媒体相关计算问题 13.2.1图像容量计算 13.2.2音频容量计算 13.2.3视频容量计算 13.3常见多媒体标准 13.4数据压缩技术 13.4.1数据压缩基础 13.4.2有损压缩与无损压缩 第十四部分 嵌入式系统 14.1 嵌入式系统的特点 14.2 嵌入式系统的基本架构 14.3 嵌入式系统网络 14.4 嵌入式系统数据库 14.5 实时任务调度和多任务设计 14.5.1 调度算法分类 14.5.2 单调执行速率调度法 14.5.3 时间轮转调度 14.5.4 最早截止时间优先调度算法 14.5.5 优先级反转 14.6 中断处理和异常处理 14.7 嵌入式系统开发设计 14.7.1 交叉开发环境 14.7.2 开发过程 14.7.3 调试方法 第十五部分 开发管理 15.1 范围管理 15.2 时间管理 15.3 成本管理 15.4 文档管理 15.4.1 软件文档管理指南 15.4.2 计算机软件文档编制规范 15.5 软件配置管理 15.6 软件质量管理 15.6.1 质量管理的概念 15.6.2 质量模型 15.6.3 质量管理过程 15.6.4 质量保证与质量控制 15.7 风险管理 15.8 软件过程改进 15.8.1 CMM 15.8.2 CMMI 15.8.3 ISO/IEC 15504 15.8.4 SJ/T 11234-2001 第十六部分 系统架构设计案例分析 16.1 考点分析 16.2 如何解答试题 16.3 试题解答实例 16.3.1 质量属性与软件架构策略 16.3.2 数据流图与流程图 16.3.3 嵌入式系统设计 16.3.4 软件架构风格的选择 16.3.4 信息系统安全设计 第十七部分 系统架构设计论文 17.1 考点分析 17.2 做好准备工作 17.3 论文写作格式 17.4 如何解答试题 17.5 如何写好摘要 17.6 如何写好正文 17.7 常见问题及解决办法 17.8 论文评分标

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Evaporator Core

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值