具有超类型子类型逻辑解决方案的DB2物理实体

时间:2011-06-28 06:16:11

标签: db2

有没有人知道并告诉如何在DB2数据库中使用超类型子类型逻辑解决方案实现物理实体。

1 个答案:

答案 0 :(得分:2)

与你使用的RDBMS基本相同: -

   CREATE TABLE VEHICLES ( 
         V_ID   INTEGER PRIMARY KEY,
         V_DESCRIPTION VARCHAR(20),
         V_MAKE        VARCHAR(20),
         V_MODEL       VARCHAR(20),
         V_COST        DECIMAL(8,2),
         V_ETC         VARCHAR(50),
         V_TYPE        SMALLINT
         -- 1 -> CAR
         -- 2 -> BICYCLE
   );
 CREATE TABLE CARS ( 
         V_ID   INTEGER PRIMARY KEY,
         V_ENGINE_SIZE DECIMAL(6),
         V_SEATS       SMALLINT
   );
 CREATE TABLE BICYCLES (
         V_ID   INTEGER PRIMARY KEY,
         GEARS         SMALLINT
 );

VEHICLES是你的超类型,包含所有车辆共有的属性,CARS是VEHICLES的子类型,其中包含仅属于CARS的属性,VEHICLES表中的V_TYPE属性标识适用的子类型。

超类型和子类型的主键应该是相同的值,您可以使用外键关系强制执行此操作。