home *** CD-ROM | disk | FTP | other *** search
/ Delphi Programming Unleashed / Delphi_Programming_Unleashed_SAMS_Publishing_1995.iso / chap18 / sample1.sql
Text File  |  1995-03-20  |  2KB  |  69 lines

  1. /* CREATE DATABASE "nellie:c:\data\sample1.gdb" PAGE_SIZE 1024 */
  2.  
  3.  
  4. /*  Table: CUSTOMER, Owner: SYSDBA */
  5. CREATE TABLE CUSTOMER (CUST_NUMBER INTEGER NOT NULL,
  6.      FIRST_NAME CHAR(20),
  7.      LAST_NAME CHAR(20),
  8.      ADDRESS CHAR(40),
  9.      CITY CHAR(20),
  10.      STATE CHAR(2),
  11.      ZIP CHAR(9),
  12.      PHONE CHAR(10),
  13. PRIMARY KEY (CUST_NUMBER));
  14.  
  15. /*  Table: DETAIL, Owner: SYSDBA */
  16. CREATE TABLE DETAIL (ORDER_NUMBER INTEGER NOT NULL,
  17.      CUST_NUMBER INTEGER NOT NULL,
  18.      ITEM_NUMBER INTEGER NOT NULL,
  19.      WH_NUMBER INTEGER NOT NULL,
  20.      QTY INTEGER,
  21. PRIMARY KEY (ORDER_NUMBER, CUST_NUMBER,
  22.   ITEM_NUMBER, WH_NUMBER));
  23.  
  24. /*  Table: ITEMS, Owner: SYSDBA */
  25. CREATE TABLE ITEMS (ITEM_NUMBER INTEGER NOT NULL,
  26.      WH_NUMBER INTEGER NOT NULL,
  27.      ITEM_DESCRIPTION CHAR(50),
  28.      ITEM_PRICE FLOAT,
  29. PRIMARY KEY (ITEM_NUMBER, WH_NUMBER));
  30.  
  31. /*  Table: ORDERS, Owner: SYSDBA */
  32. CREATE TABLE ORDERS (ORDER_NUMBER INTEGER NOT NULL,
  33.      CUST_NUMBER INTEGER NOT NULL,
  34.      ORDER_DATE DATE,
  35.      ORDER_TIME INTEGER,
  36. PRIMARY KEY (ORDER_NUMBER, CUST_NUMBER));
  37.  
  38. /*  Table: TAX, Owner: SYSDBA */
  39. CREATE TABLE TAX (STATE_CODE CHAR(2) NOT NULL,
  40.      TAX_RATE FLOAT,
  41. PRIMARY KEY (STATE_CODE));
  42.  
  43. /*  Table: WAREHOUSE, Owner: SYSDBA */
  44. CREATE TABLE WAREHOUSE (WH_NUMBER INTEGER NOT NULL,
  45.      WH_DESCRIPTION CHAR(80),
  46.      WH_LOCATION CHAR(15),
  47. PRIMARY KEY (WH_NUMBER));
  48. ALTER TABLE DETAIL ADD FOREIGN KEY (ITEM_NUMBER,
  49.   WH_NUMBER) REFERENCES ITEMS(ITEM_NUMBER,
  50.   WH_NUMBER);
  51. ALTER TABLE DETAIL ADD FOREIGN KEY (ORDER_NUMBER,
  52.   CUST_NUMBER) REFERENCES ORDERS(ORDER_NUMBER,
  53.   CUST_NUMBER);
  54.  
  55.  
  56. /* Grant permissions for this database */
  57. GRANT DELETE, INSERT, SELECT,
  58.   UPDATE ON CUSTOMER TO PUBLIC;
  59. GRANT DELETE, INSERT, SELECT,
  60.   UPDATE ON DETAIL TO PUBLIC;
  61. GRANT DELETE, INSERT, SELECT,
  62.   UPDATE ON ITEMS TO PUBLIC;
  63. GRANT DELETE, INSERT, SELECT,
  64.   UPDATE ON ORDERS TO PUBLIC;
  65. GRANT DELETE, INSERT, SELECT,
  66.   UPDATE ON TAX TO PUBLIC;
  67. GRANT DELETE, INSERT, SELECT,
  68.   UPDATE ON WAREHOUSE TO PUBLIC;
  69.