GD CONTACT

Материал из GedeminWiki
Перейти к: навигация, поиск
  CREATE TABLE gd_contact
  (
    id            dintkey,
 
    /* Левая (верхняя) граница. Одновременно может использоваться */
    /* как второй уникальный индекс, если группы и список */
    /* находятся в разных таблицах */
    lb            dlb,
    rb            drb,          /* Правая (нижняя) граница */
 
    parent        dparent,
    contacttype   daddrcontacttype, /* 0 - папка, 1 - группа, 2 - человек, 3 - клиент, 4 - подразделение, 5 - банк        */
    name          dname,        /* Імя для паказу                                                           */
    address       dtext60,      /* Адрэс                                                                    */
    district      dtext20,
    city          dtext20,      /* Горад                                                                    */
    region        dtext20,      /* Вобласць                                                                 */
    ZIP           dtext20,      /* Індэкс                                                                   */
    country       dtext20,      /* Краіна                                                                   */
    placekey      dforeignkey,
    note          dblobtext80_1251, /* Камэнтар                                                                 */
    externalkey   dforeignkey,
    email         dtext60,
    url           dtext40,
    pobox         dtext40,
    phone         dtext40,
    fax           dtext40,
 
    editorkey     dforeignkey,
    editiondate   deditiondate,
 
    afull         dsecurity,
    achag         dsecurity,
    aview         dsecurity,
 
    disabled      ddisabled,
    reserved      dreserved
  );
 
  ALTER TABLE gd_contact ADD CONSTRAINT gd_pk_contact
    PRIMARY KEY (id);
 
  /* калі выдаляецца бацькоўскі кантакт, выдаляем і ўсіх дзяцей */
  ALTER TABLE gd_contact ADD CONSTRAINT gd_fk_contract_parent
    FOREIGN KEY (parent) REFERENCES gd_contact(id)
    ON UPDATE CASCADE
    ON DELETE CASCADE;
 
  ALTER TABLE gd_contact ADD CONSTRAINT gd_fk_contact_placekey
    FOREIGN KEY (placekey) REFERENCES gd_place (id)
    ON UPDATE CASCADE;
 
  ALTER TABLE gd_contact ADD CONSTRAINT gd_chk_contact_contacttype
    CHECK(contacttype IN (0, 1, 2, 3, 4, 5, 100, 101, 102, 103));
 
  ALTER TABLE gd_contact ADD CONSTRAINT gd_chk_contact_parent
    CHECK((contacttype IN (0, 1)) OR (NOT (parent IS NULL)));
 
  ALTER TABLE gd_user ADD CONSTRAINT gd_fk_user_contactkey
    FOREIGN KEY (contactkey) REFERENCES gd_contact (id)
    ON UPDATE CASCADE;
 
  ALTER TABLE gd_contact ADD CONSTRAINT gd_fk_contact_editorkey
    FOREIGN KEY (editorkey) REFERENCES gd_contact(id) 
    ON UPDATE CASCADE;
 
  CREATE ASC INDEX gd_x_contact_name ON gd_contact (name);

См. также

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты