26得票4回答
如何在MySQL中建模两个表的继承 在MySQL中,我们可以使用多种方法来建模两个表之间的继承关系。下面是一种常见的方法: 1. 使用单表继承:将两个表的共同属性放在一个父表中,然后让子表继承这个父表。这样可以避免数据冗余,并且方便查询和管理。 2. 使用多表继承:将两个表分别建立,然后通过外键关联起来。这样可以更灵活地处理不同表之间的关系,但需要注意维护数据的一致性。 无论选择哪种方法,以下是一些具体步骤: 1. 创建父表:定义父表的结构和字段,包括共同属性和可能的关联字段。 2. 创建子表:定义子表的结构和字段,包括继承父表的字段以及子表特有的字段。 3. 建立关联:使用外键将子表与父表关联起来。确保外键的约束条件正确设置,以保证数据的完整性。 4. 查询数据:根据需要,可以使用JOIN操作来查询父表和子表的数据。根据具体情况,可以选择使用INNER JOIN、LEFT JOIN等不同的连接方式。 5. 管理数据:在插入、更新或删除数据时,要注意维护父表和子表之间的关联关系,以保证数据的一致性。 总之,在MySQL中建模两个表的继承关系需要考虑数据结构、关联关系和查询需求等因素。根据具体情况选择合适的方法,并确保数据的完整性和一致性。

我有一些存储数据的表格,根据人员类型(工人/教民)所做的工作,我想将其存储在“事件”表格中,现在这些人救援了一只动物(有一个“动物”表格)。 最后,我想要一个表格来存储一个人(工人/民间),拯救了一只动物的事件,但是如何添加外键或者如何知道执行工作的工人/民间的ID值? 现在,在这个设计中...

22得票4回答
从单个列参考多个表的最佳设计是什么?

拟议的架构 首先,这里是我提出的架构示例,供我在帖子中参考: Clothes ---------- ClothesID (PK) INT NOT NULL Name VARCHAR(50) NOT NULL Color VARCHAR(50) NOT NULL Price DECIMAL...

21得票3回答
在类型/子类型设计模式中实现子类型的子类型,这些子类型是互斥的子类。

介绍 为了使这个问题对未来的读者有用,我将使用通用数据模型来说明我所面临的问题。 我们的数据模型由三个实体组成,分别标记为A、B和C。为了保持简单,它们所有的属性都是int类型。 实体A具有以下属性:D、E和X; 实体B具有以下属性:D、E和Y; 实体C具有以下属性:D和Z; 由于...

17得票2回答
如何建模一个可以具有不同属性集的实体类型? 在数据库设计中,有时我们需要建模一种实体类型,它可以具有不同的属性集。这种情况通常发生在实体之间存在一些共同属性,但也存在一些特定属性的情况下。 为了解决这个问题,我们可以使用一种称为“子类化”的技术。子类化允许我们将实体类型分成几个子类,每个子类都可以具有自己独特的属性集。这样,我们就可以根据实际需求来定义每个子类的属性。 在数据库中,我们可以使用继承关系来表示子类化。我们可以创建一个父表,其中包含所有实体类型共有的属性,并为每个子类创建一个单独的子表,其中包含该子类特有的属性。通过使用主键和外键约束,我们可以确保父表和子表之间的正确关联。 当我们查询这个实体类型时,我们可以使用联接操作将父表和相应的子表连接起来,以获取完整的属性信息。 总而言之,要建模一个可以具有不同属性集的实体类型,我们可以使用子类化技术,通过创建父表和子表来表示共同属性和特定属性,并使用联接操作来检索完整的属性信息。

我在重新创建一个具有一对多(1:M)关系的数据库时遇到了一些问题,这个关系是在“用户”和“物品”之间。 这个很简单,是吧;但是,每个“物品”都属于特定的“类别”(例如,一辆“汽车”,一艘“船”或一架“飞机”),而每个“类别”都有一定数量的属性,例如: “汽车”结构: +----+----...

14得票4回答
在确定超类型/子类型之间的类别时,有两种选择:完全不相交或不完全重叠。

我正在建立一个库存数据库,用来存储IT硬件,比如台式电脑、笔记本电脑、交换机、路由器、手机等。我采用了超类型/子类型模式,其中所有设备都存储在单个表中,具体信息放在子类型表中。我的困扰是在以下两种设计之间作出选择: 在顶部的图表中,所有设备共享相同的子类型。例如,台式电脑和笔记本电脑将在...

14得票3回答
建模一个场景,其中每个音乐艺术家都是团体或独奏表演者。

我需要为涉及音乐艺术家的业务场景设计一个实体关系图(ERD),如下所述。 情景描述: - 艺术家有一个名字,并且必须是组或独奏表演者之一(但不能同时是两者)。 - 组由一个或多个独奏表演者组成,并具有成员数量(应从组成该组的独奏表演者数量计算)。 - 独奏表演者可以是许多组的成员或没有组的...

14得票2回答
我应该如何建模“要么/要么”关系?

假设我有一个名为Software的实体,以及两个子类型FreeSoftware和NonFreeSoftware。NonFreeSoftware实体具有购买日期、供应商等属性。FreeSoftware实体具有许可证、源代码URL等属性。 那么,如果我想建模另一个实体OperatingSyste...

9得票4回答
不知道如何将变量实体转化为关系表。

介绍和相关信息: 以下示例说明了我面临的问题: 动物有一个种类,可以是猫或狗。 猫可以是暹罗猫或波斯猫。 狗可以是德国牧羊犬或拉布拉多犬。 动物是一个强实体,而它的种类是一个属性,可以有两个提供的值(猫或狗)。 这两个值都是复杂的(我在这里只添加了狗/猫的类型来说明问题,但还可以有猫/狗...

9得票2回答
开发一个基于数据库的资金转移业务系统,使得个人和组织可以方便地进行资金的发送和接收。

在商业环境中,无论是会员还是组织,都需要为资金拥有一个账户。资金可以进行转移: - 从会员到会员, - 从会员到组织, - 从组织到组织, - 从组织到会员。 考虑到这些情况,为了建立一个数据库,我创建了以下三个表格: CREATE TABLE Members ( memberid...

8得票1回答
我的类型/子类型设计模式的实现(用于互斥子类)是否正确?

介绍 为了使这个问题对未来的读者有用,我将使用通用数据模型来说明我所面临的问题。 我们的数据模型由两个实体组成,分别标记为A和B。为了保持简单,它们所有的属性都是int类型。 实体A具有以下属性:D和X; 实体B具有以下属性:D和Y; 问题 由于两个实体共享公共属性D,我决定应用类型...