gpt4 book ai didi

mysql - 高效的数据库设计继承

转载 作者:行者123 更新时间:2023-11-29 13:52:07 25 4
gpt4 key购买 nike

我想设计一个有两个类别的数据库。每个类别中有 2 个子类别,但它们与其他类别非常相似,例如:

预防性设备维护:

  • 类别1
    • id、设备、型号、系列、配件、日期、成本、状态
  • 类别 2
    • id、设备、型号、系列、配件、日期、成本、状态

纠正设备维护

  • 类别1
    • id、新设备、旧设备、借用设备、描述
  • 类别 2
    • id、新设备、型号、系列、配件、日期、成本、旧设备、借用设备、描述

正如您所看到的,在预防性设备维护中收集的数据之间的唯一区别在于类别(类别 1 或类别 2)。为了解决这个问题,我想制作一个类似的表格

CREATE TABLE `preventive_e`(
id INTEGER NOT NULL PRIMARY KEY,
equipment VARCHAR(25) ,
cat VARCHAR(4) ,
CONSTRAINT `uc_Info_E` UNIQUE (`id`)
);
INSERT INTO `preventive_e` values (1,'nintendo','cat1');
INSERT INTO `preventive_e` values (2,'psp','cat2');

现在在纠正中它是相同的,但是它们不是相同的字段,它们几乎是相同的字段,如果是cat1我只想存储一些字段,但如果是cat 2我想存储相同的字段但是更多字段

有没有办法使用继承或其他东西?扩展字段但能够添加更多特定字段?查询会是什么样子。

sqlfiddle

最佳答案

为什么不将该表称为“equipment_maint”之类的通用表,并有一列充当其使用情况的标志。

Fiddle

CREATE TABLE `equipment_maint`(
id INTEGER NOT NULL PRIMARY KEY,
equipment VARCHAR(25) ,
cat VARCHAR(50) ,
type varchar(20), /* usage on type of maintenance */
CONSTRAINT `uc_Info_E` UNIQUE (`id`)
);

关于mysql - 高效的数据库设计继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16533171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com