0

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

预防性设备维护:

  • 猫1
    • ID、设备、型号、系列、配件、日期、成本、状态
  • 猫 2
    • ID、设备、型号、系列、配件、日期、成本、状态

矫正设备维护

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

因此,您可以看到收集的 预防性设备维护数据之间的唯一区别是猫(cat1 或 cat2)。为了解决这个问题,我想制作一张像

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

4

1 回答 1

1

为什么不将表格称为既喜欢又通用的东西,equipment_maint并有一个列作为其使用的标志。

小提琴

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`)           
);
于 2013-05-14T02:33:31.217 回答