Показать сообщение отдельно
  #4  
Старый 02.10.2011, 18:28
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,107
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

во-первых, такого рода объекты хранить нужно в 3 таблицах (основываясь на приведенном примере).

Код:
CREATE TABLE SUPPLIER
(
   ID INTEGER PRIMARY KEY,
   SUP_TYPE INTEGER NOT NULL DEFAULT 0 CHECK SUP_TYPE IN (0,1),
   ...
);

CREATE TABLE PERSON
(
   ID INTEGER PRIMARY KEY,  -- если будут еще персоны, пользователи 
   -- или клиенты
   SUP_ID INTEGER REFERENCE SUPPLIER(ID).
   ...
);

CREATE TABLE ORG
(
   ID INTEGER PRIMARY KEY,  -- если будут еще организации, 
   SUP_ID INTEGER REFERENCE SUPPLIER(ID).
   ...
);

Ну и, если поддерживается, то по полю SUP_TYPE создается BITMAP индекс (если не поддерживается BITMAP, то любой).
Ответить с цитированием