前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【愚公系列】软考高级-架构设计师 054-数据库模型

【愚公系列】软考高级-架构设计师 054-数据库模型

原创
作者头像
愚公搬代码
发布2024-07-01 08:51:29
1240
发布2024-07-01 08:51:29
举报
文章被收录于专栏:愚公系列-考试考证

🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。 🏆《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。

🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。

🏆🎉欢迎 👍点赞✍评论⭐收藏

🚀前言

数据库模型是一种抽象方法,用于定义和描述数据库的结构和数据组织方式、数据之间的关系以及它们如何存储和检索。数据库模型的选择通常取决于需要支持的应用程序的复杂性以及性能需求。

🚀一、数据模型

🔎1.数据模型类型

  1. 关系模型
    • 关系模型采用二维表格的形式来表示数据,每个表格代表一个实体或实体间的关系。
    • 它是基于实体-联系模型(ER模型)转换而来的,通过开发人员的设计,将概念模型转化为可以在关系数据库管理系统中实现的结构。
    • 关系模型强调用表结构来表示实体及其关系,适用于复杂的查询操作。
  2. 概念模型
    • 概念模型是从用户的角度对现实世界进行的抽象,通常表示为实体-联系模型。
    • 这是数据建模的第一步,主要目的是精确捕捉数据的业务语义。
    • 概念模型通常通过图形化的ER图来表达,描述实体、实体属性和实体之间的联系。
  3. 网状模型
    • 网状模型在数据库中表示为复杂的网络结构,其中的记录可以有多个父记录和多个子记录。
    • 这种模型允许一个实体与多个其他实体建立直接的联系,形成网状的数据结构。
    • 网状模型提供了比层次模型更复杂的关联性和灵活性,但查询和维护相对复杂。
  4. 面向对象模型
    • 面向对象模型基于面向对象编程的概念,以对象为单位进行数据库设计。
    • 每个对象都包括属性(数据字段)和方法(函数),支持类的概念和继承机制。
    • 这种模型非常适合复杂的数据应用,如CAD/CAM或其他需要复杂数据交互的系统。

通过这样的整理,每种模型的特点和适用场景更加明确,有助于根据实际需要选择合适的数据库设计方法。

🔎2.数据模型三要素

  1. 数据结构
    • 数据结构指的是所研究的对象类型的集合,也就是数据库中的实体、实体的属性以及实体之间的关系。
    • 在关系模型中,数据结构由表格(实体)、列(属性)和行(实例)组成。
    • 数据结构的设计直接影响了数据库的存储方式和数据访问效率。
  2. 数据操作
    • 数据操作指的是对数据库中各种对象的实例允许执行的操作的集合,包括增删改查等操作。
    • 这些操作定义了用户和应用程序可以对数据库执行的操作,如插入新数据、更新现有数据、删除数据以及查询数据等。
  3. 数据的约束条件
    • 数据的约束条件是一组完整性规则的集合,用于确保数据库中数据的一致性、完整性和安全性。
    • 这些约束条件可以包括实体完整性约束(如主键约束、唯一约束)、参照完整性约束(外键约束)、域完整性约束(数据类型、范围约束)等。
    • 约束条件限制了数据的输入和操作,防止了不合法或无效的数据被存储到数据库中,从而保证了数据的质量和可靠性。

🔎3.E-R图

用E-R图来描述概念数据模型,世界是由一组称作实体的基本对象和这些对象之间的联系构成的。

在E-R模型中,使用椭圆表示属性(一般没有)、长方形表示实体、菱形表示联系,联系的两端要填写联系类型,示例如下图:

实体:

  • 客观存在并可相互区别的事物,可以是具体的人、事、物或抽象概念,如人、汽车、图书、账户、贷款。

弱实体和强实体:

  • 强实体依赖于强实体的存在而存在。弱实体没有足够的属性来构成唯一的主键,通常依赖于强实体的存在。

实体集:

  • 具有相同类型和共享相同属性的实体的集合,如学生、课程。

属性:

  • 实体所具有的特性,描述实体的特征。
  • 属性分类包括:简单属性和复合属性;单值属性和多值属性;NULL属性;派生属性。

域:

  • 属性的取值范围称为该属性的域。

码(key):

  • 唯一标识实体的属性集。

联系:

  • 现实世界中事物内部以及事物之间的联系,在E-R图中反映为实体内部的联系和实体之间的联系。
  • 常见联系类型包括:一对一(1:1)、一对多(1:N)、多对多(M:N)。

🔎4.二维表

在关系模型中,数据的逻辑结构是一张二维表,由行列组成,用表格结构来表达实体集,并通过外键来标识实体间的联系。

  • 优点
    • 建立在严格的数学概念基础上。
    • 概念单一、结构简单、清晰,用户易懂易用。
    • 存取路径对用户透明,提高数据独立性和安全性,简化数据库开发工作。
  • 缺点
    • 由于存取路径透明,查询效率往往不如非关系数据模型。

关系模型的优点包括其严格的数学基础、简单清晰的结构以及良好的用户体验和数据管理特性;然而,与之相关的缺点是查询效率可能不如非关系型数据模型。对于特定的数据库应用,需要权衡这些优缺点来选择适合的数据模型。

🔎5.E-R模型转换为关系模型

E-R模型转换为关系模型是为了适应关系数据库的处理需求。由于E-R图是一种全局设计概念,不适合直接用于计算机处理,因此必须将其转换为关系模型。

E-R图由实体、属性和联系三要素组成,而关系模型则具有更简单的结构。转换的方式如下:

  • 每个实体对应一个关系模型,实体名对应关系模型的名称,实体属性对应关系模型的属性,实体标识符(联系)对应关系模型的主键。

在E-R图中,联系分为三种类型:

  • 1:1联系:可以作为一个属性放在任意的两端实体中,确保两端关联为1:1,也可以转换为一个单独的关系模式。
  • 1:N联系:联系可以独立作为一个关系模式,或者在N端加入1端实体的主键。
  • M:N联系:联系必须作为一个独立的关系模式,其主键是M和N端的联合主键。

通过将E-R模型转换为关系模型,可以更好地在关系数据库中管理数据,并确保数据的一致性和完整性。

🔎6.练习

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🚀前言
  • 🚀一、数据模型
    • 🔎1.数据模型类型
      • 🔎2.数据模型三要素
        • 🔎3.E-R图
          • 🔎4.二维表
            • 🔎5.E-R模型转换为关系模型
              • 🔎6.练习
              相关产品与服务
              数据库智能管家 DBbrain
              数据库智能管家(TencentDB for DBbrain,DBbrain)是腾讯云推出的一款为用户提供数据库性能、安全、管理等功能的数据库自治云服务。DBbrain 利用机器学习、大数据手段、专家经验引擎快速复制资深数据库管理员的成熟经验,将大量传统人工的数据库运维工作智能化,服务于云上和云下企业,有效保障数据库服务的安全、稳定及高效运行。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档