home *** CD-ROM | disk | FTP | other *** search
/ Intermedia 1998 January / inter1_98.iso / biznes / timlog10 / _setup.1 / TimeLogger.sql < prev    next >
Text File  |  1997-07-31  |  2KB  |  63 lines

  1. CREATE DATABASE "TimeLogger.gdb" PAGE_SIZE 1024 
  2.  
  3. CREATE DOMAIN EMP AS CHAR(6);
  4. CREATE DOMAIN CUST AS CHAR(8);
  5. CREATE DOMAIN JOB AS CHAR(16);
  6. CREATE DOMAIN TASK AS CHAR(24);
  7. CREATE DOMAIN YESNO AS CHAR(1)
  8.          check(value in ('Y','N'));
  9.  
  10. CREATE TABLE CUST (ID CUST NOT NULL,
  11.         NAME VARCHAR(32),
  12.         RATE DOUBLE PRECISION,
  13.         FACTOR DOUBLE PRECISION,
  14. PRIMARY KEY (ID));
  15.  
  16. CREATE TABLE EMP (ID EMP NOT NULL,
  17.         NAME VARCHAR(32),
  18.         FACTOR DOUBLE PRECISION,
  19.         PAYRATE DOUBLE PRECISION,
  20. PRIMARY KEY (ID));
  21.  
  22. CREATE TABLE JOB (CUST CUST NOT NULL,
  23.         ID JOB NOT NULL,
  24.         CUSTPO VARCHAR(20),
  25.         LIMIT DOUBLE PRECISION,
  26.         RATE DOUBLE PRECISION,
  27.         DESCRIPTION VARCHAR(80),
  28.         REMINDER YESNO  default 'N' NOT NULL,
  29.         NOTES BLOB SUB_TYPE TEXT SEGMENT SIZE 80,
  30. PRIMARY KEY (CUST, ID));
  31.  
  32. CREATE TABLE TASK (CUST CUST NOT NULL,
  33.         JOB JOB NOT NULL,
  34.         ID TASK NOT NULL,
  35.         DESCRIPTION VARCHAR(80),
  36.         REMINDER YESNO  default 'N' NOT NULL,
  37.         NOTES BLOB SUB_TYPE TEXT SEGMENT SIZE 80,
  38. CONSTRAINT PK_TASK PRIMARY KEY (CUST, JOB, ID));
  39.  
  40. CREATE TABLE TIME_LOG (TIME DATE NOT NULL,
  41.         CUST CUST,
  42.         JOB JOB,
  43.         TASK TASK,
  44.         SUBTASK TASK,
  45.         RATE DOUBLE PRECISION,
  46.         FACTOR DOUBLE PRECISION,
  47.         NOTES BLOB SUB_TYPE TEXT SEGMENT SIZE 80,
  48.         DESCRIPTION VARCHAR(255),
  49.         HOURS DOUBLE PRECISION,
  50.         PAYRATE DOUBLE PRECISION,
  51.         EMP CHAR(6),
  52.         TEMP CHAR(1),
  53.         BILLED YESNO  DEFAULT 'N'
  54. ,
  55.         TIME_STAMP DATE NOT NULL,
  56. CONSTRAINT TIME_LOG_PK PRIMARY KEY (TIME_STAMP));
  57.  
  58. CREATE INDEX JOB_REMINDER_IDX ON JOB(REMINDER, CUST, ID);
  59. CREATE INDEX TASK_REMINDER_IDX ON TASK(REMINDER, CUST, JOB, ID);
  60. CREATE UNIQUE DESCENDING INDEX TIME2 ON TIME_LOG(TIME);
  61. ALTER TABLE JOB ADD FOREIGN KEY (CUST) REFERENCES CUST(ID);
  62. ALTER TABLE TASK ADD FOREIGN KEY (CUST, JOB) REFERENCES JOB(CUST, ID);
  63.