Физические сущности DB2 с логическим решением подтипа супертипа - PullRequest
0 голосов
/ 28 июня 2011

Кто-нибудь знает и расскажет, как реализовать физические объекты с логическим решением подтипа супертипа в базе данных DB2.

1 Ответ

2 голосов
/ 28 июня 2011

Это в основном одно и то же, независимо от того, какую СУБД вы используете: -

   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, атрибут V_TYPE в таблице VEHICLES определяет, какой подтип применяется.

Первичные ключи супертипа и подтипа должны иметь одно и то же значение, и вы можете применить это с помощью отношения внешнего ключа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...