AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 308159
Accepted
Qi luo
Qi luo
Asked: 2022-03-02 21:34:52 +0800 CST2022-03-02 21:34:52 +0800 CST 2022-03-02 21:34:52 +0800 CST

应该如何为社交平台设计逻辑数据模型,还是跳过它?

  • 772

在学习了 George Tillmann 的一本书“使用驱动的数据库设计:从逻辑数据建模到物理模式定义”之后。

我想为我自己的社交平台创建一个逻辑模型,该模型类似于具有自己风格的博客平台。然而,在绘制逻辑模型时,很难决定什么是它自己的实体和关系。本书中的大多数示例都显示了与现实世界实体的“映射”,即已经存在的所有实体,即部门到工人,而不是我的网站,它有更多的人为分离。

例如,我必须决定“用户”、“公共个人资料”、“用户定义的类别”、“评论”、“喜欢”、“帖子”之间的关系。问题是,我可以找到它们之间的关系。即评论是由用户发表的,评论可以放在公共档案中,评论在帖子中,评论有喜欢,等等其他实体。如您所见,区别并不像现实世界的映射那样突出。这个映射正常吗?除非,我应该更具体..like profile-comment 链接到配置文件和用户,post-comment 链接到帖子和用户,postlikes 链接到帖子和用户,commentlikes 喜欢评论和用户。这里仍然有一个星形模式。如果我添加一个“通知记录器”实体,更糟糕的是,这里几乎所有地方都与它相关联!

我现在觉得,在没有逻辑模型的情况下创建一个实际的物理模型会更容易,但我不想错误地认为可以跳过——因为我缺乏构建模型的能力。

George Tillmann 对要遵循的框架的建议:

在此处输入图像描述

database-design erd
  • 1 1 个回答
  • 41 Views

1 个回答

  • Voted
  1. Best Answer
    J.D.
    2022-03-03T04:48:02+08:002022-03-03T04:48:02+08:00

    我个人从未正式创建过逻辑模型/逻辑模式,而不仅仅是从最终用户那里收集的一些预先计划和信息和需求。因此,这大致解释了您从 George Tillmann 提供的图中逻辑建模的前两个步骤,而不是实际构建逻辑模型。

    我喜欢开始动手,并在数据库中构建物理实体及其关系。根据需要对它们进行更改很容易,尤其是在它们被发布到生产环境之前,尤其是在它们中有任何实际数据之前。拥有物理模式可以很容易地可视化,然后在短期内根据需要进行修改。

    当人们难以定义模型时,我的一般建议是从本质上倒退并考虑最终用户需要的用例,然后考虑应用程序中需要支持它的具体类。您的数据模型在设计上通常与具体类本身相距不远,尤其是在最常见的用例中,例如您的博客平台。

    此外,当您的大多数模型本身相互关联时,本质上并没有错。一方面,这是一件好事,因为它表明您在关系模型中具有很强的引用完整性,使其适合关系数据库。

    并不是每个实体都与您的用例直接相关,例如,您不能like(public-profile通常)在博客中。相反,这两个实体具有扩展关系,其中 apublic-profile与 a userwho likesa相关post。

    • 0

相关问题

  • 过滤索引是否有助于改进基于输入时间的查询,还是应该避免这种情况?

  • MySQL VARCHAR 和 TEXT 数据类型有什么区别?

  • 存储计算值或根据要求重新计算它们更好吗?[复制]

  • 存储与计算聚合值

  • 在数据仓库中实现多对多关系有哪些方法?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve