首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高效数据库设计继承

高效数据库设计继承
EN

Stack Overflow用户
提问于 2013-05-14 00:15:03
回答 1查看 97关注 0票数 0

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

预防性设备维修:

  • cat1
    • id,设备,型号,系列,附件,日期,成本,状态

  • cat 2
    • id,设备,型号,系列,附件,日期,成本,状态

纠正设备维修

  • cat1
    • 身份证,新设备,旧设备,钻孔设备,说明

  • cat 2
    • 采购产品id,新设备,型号,系列,附件,日期,成本,旧设备,硼砂设备,说明

因此,正如您所看到的,在、预防性设备维护上收集的数据之间唯一的差异是cat ( cat1或cat2)。为了解决这个问题,我想做一张桌子

代码语言:javascript
复制
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,我想存储相同的字段,但是要存储更多的字段。

是否有一种使用继承或其他什么的方法?,扩展字段,但能够添加更多的特定字段?查询会是什么样子。

木琴

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-14 02:33:31

为什么不将表称为通用的,比如equipment_maint,并让一个列充当它的使用标志。

小提琴

代码语言:javascript
复制
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`)           
);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16533171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档