GD CONTACT

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
 
Строка 1: Строка 1:
 
 
   CREATE TABLE gd_contact
 
   CREATE TABLE gd_contact
 
   (
 
   (
Строка 67: Строка 66:
 
   
 
   
 
   CREATE ASC INDEX gd_x_contact_name ON gd_contact (name);
 
   CREATE ASC INDEX gd_x_contact_name ON gd_contact (name);
 +
 +
 +
[[Category:База данных]]

Версия 16:45, 30 июля 2008

 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);
Персональные инструменты
Пространства имён

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