这是我第一次为将在 MySQL 上构建的数据库制作实体关系图 (ERD)。相关的业务领域是设备问题管理。
在此之前,我永远不会在表之间创建关系,我只会在 MySQLAdmin 中创建表并在我的 PHP/MySQL 代码中进行链接。
我应该建立这些关系有什么理由吗?
我已经阅读了很多关于数据库设计和关系的信息。
我想确保我创建的 ERD 是正确的;我犯错了吗?或者有更好的方法来做到这一点?
正在考虑的 ERD

我的数据库应该做什么:
我正在做一个新项目。项目的域逻辑如下:
用户上传文件(文档)并给出标题,然后另一个用户出现并且(她)也尝试上传具有相同标题的文件。只要文档的正文有差异,这就可以了。
如何设计我的域模型,以便稍后使用数据的 Web 应用程序可以通知查看特定文档的用户“嘿,此文档还有另一个版本”。
这是我所拥有的一个简单的 ERD,但这显然不能执行我上面想要的。

我将不胜感激任何帮助和建议。
谢谢
我将这个学期的 DB 课程作为我的 CS 研究的一部分。
本周我们开始研究 ER 图的主题,我觉得这有点令人困惑。
我对上面的图片有些不确定(注意:圆形箭头表示“一个且只有一个”——也就是说,B 中的每个主题都可以而且必须指向 A 中的一个主题,反之亦然)。
我必须为此图创建一个合适的关系模式,这是我的尝试:
这是我的不确定性:
R(b, e) - 无论我用这些外键创建哪个键,都不会保留“一个且唯一一个”约束。
如何创建此约束所在的架构?
如果您有“最多一个”箭头,而不完全是这样呢?
答案会如何变化?
我的任务是设计一个系统来重现事件。事件可能每天、每小时、每月或每年重复发生。用户应该能够“每个月的第三个星期三”或“每个月的第一个”或“每小时”安排事件。
假设我从一个“事件”表开始:
events
-------
id INT
name VARCHAR
notes TEXT
...
Run Code Online (Sandbox Code Playgroud)
应该使用哪些字段/实体/架构来持久化重复规则?
fwiw,我使用的是 MySQL 5.5.x。
更新(2012 年 8 月 29 日):
我是一名初学者数据库设计师,想知道是否有人可以帮助我理解这一点。假设我们要设计一个系统,其中包含一个名为 Vehicle 的实体和另一个名为 Service 的实体。服务是维修/维护。
您如何看待以下关系的基数:
从汽车端来看,最小基数应该是 0 还是 1?
此外,服务涉及零件、人工和消耗品。
你会如何建模?作为一个独立的实体?或者在服务实体或汽车和服务之间的关系(交叉实体)的一部分?
我正在为一个项目开发研究文章数据库。我的教授批准了这个设计,但我觉得 Author's_University 表是多余的,可以将 University_ID 添加到 Articles_Authored 表中。谁能想出一个不改变它的理由?
感谢您的投入。
什么是数据库任务声明?我的问题是在提交需要 ERD 建模的“使命陈述”的学术作业后提出的。作为一名软件工程师,我还没有遇到过这种要求,我认为使命陈述类似于论文陈述,但我在谷歌搜索后仍然不确定。任何解释理想“数据库任务声明”的 DBA 专业示例或指导将不胜感激-谢谢!
我正在大学介绍数据库对象课程。
我与教授在如何解释 ERD 图中基数的鱼尾纹符号方面存在分歧。
示例:看看这张图片(我从演讲幻灯片中提取的一张图片):
根据我的解释,这表明:
但是,根据我导师的解释,这表明:
我一直无法找到任何证据来证明我自己对此的理解……但是,再说一次,我只是一个学生。也许我错过了什么?如果我是,我想弄清楚我哪里出错了。
我得到了一个事件管理案例研究,以开发实体关系图 (ERD),并基于它检查生成的关系模式是否满足不同的范式。现在,我已经基于我开发的 SRS 开发了我的 ERD。
我遇到的问题是:当我将 ERD 转换为关系模式时,我的表已经规范化了。由于 ERD,我在规范化过程中没有什么可完成的,所以我很困惑。
我脑海中出现的另一个问题是这是否是一种理想的情况,我的意思是当我从 ERD 本身让我的所有关系正常化时,为什么我需要进行正常化?
换句话说,如果我们从 ERD 中获得了 5NF 中的数据库,那么为什么我们需要考虑规范化?
当然是一个noobish 问题,但我还是会问它。也许别人会感激。^^
我对 MySQL 越来越熟悉,并且我试图理解创建结构良好的数据库的概念。目前我正在阅读实体关系图(ERD),我问自己:
如果我有三个由第四个链接的表格,例如: 由一个或多个作者撰写的一本书,并且每个作者都在一个或多个国家出版。
authors books countries
id | name id | book id | publishedInCountry
1 | ... 1 | ... 1 | ...
1 | ... 2 | ... 2 | ...
1 | ... 2 | ... 3 | ...
4 | ... 1 | ... 3 | ...
linkTable
idOfAuthor | idOfBook | idOfCountry
1 | 1 | 1
...
Run Code Online (Sandbox Code Playgroud)
这些 ERD 会是什么样子?
附加信息
我想到了:
[authors]-- < 是 > 的作者 -- [books] …
我正在设计一个简单的 mp3(音乐)电子商务网站,客户可以购买单个曲目或整个专辑,专辑由曲目组成,因此专辑和曲目之间存在一对多的关系,如下所示。我认为有一个 Orders 表和一个 Product 表是个好主意,我的想法是有一个通用的 Product 表来将曲目或专辑表示为产品,但我有点努力设计它我的ERD。我正在考虑继承方法。所有曲目将具有相同的价格,但专辑将具有单独的价格。
达到此要求的最佳方法是什么?在订单表中,我需要查看它是否是购买的曲目或专辑以及是否花钱。
我在没有任何运气的情况下搜索了示例和示例。
一个例子也会有很大帮助。
