DROP TABLE order3;
DROP TABLE customer;
DROP TABLE agent;
DROP TABLE product;
CREATE TABLE customer (
  cid    CHAR(5) PRIMARY KEY,
  cname  VARCHAR(32) NOT NULL,
  city   VARCHAR(32),
  discnt REAL NOT NULL CHECK( discnt >= 0.00 AND discnt <= 20.00 ) );
INSERT INTO customer VALUES( 'c001', 'TipTop', 'Duluth', 10.00 );
INSERT INTO customer VALUES( 'c002', 'Basics', 'Dallas', 12.00 );
INSERT INTO customer VALUES( 'c003', 'Allied', 'Dallas',  12.00 );
INSERT INTO customer VALUES( 'c004', 'ACME',   'Duluth',  12.00 );
INSERT INTO customer VALUES( 'c006', 'ACME',   'Kyoto',   0.00 );
CREATE TABLE agent (
  aid     CHAR(5) PRIMARY KEY,
  aname   VARCHAR(32) NOT NULL,
  city    VARCHAR(32),
  percent INTEGER NOT NULL CHECK( percent >= 0 ) );
INSERT INTO agent VALUES( 'a01', 'Smith', 'New York', 6 );
INSERT INTO agent VALUES( 'a02', 'Jones', 'Newark',   6 );
INSERT INTO agent VALUES( 'a03', 'Brown', 'Tokyo',    7 );
INSERT INTO agent VALUES( 'a04', 'Gray',  'New York', 6 );
INSERT INTO agent VALUES( 'a05', 'Otasi', 'Duluth',   5 );
INSERT INTO agent VALUES( 'a06', 'Smith', 'Dallas',   5 );
CREATE TABLE product (
  pid      CHAR(5) PRIMARY KEY,
  pname    VARCHAR(32) NOT NULL,
  city     VARCHAR(32),
  quantity INTEGER NOT NULL CHECK( quantity >= 0 ),
  price    REAL NOT NULL CHECK( price >= 0.0 ) );
INSERT INTO product VALUES( 'p01', 'comb', 'Dallas', 111400, 0.50 );
INSERT INTO product VALUES( 'p02', 'comb', 'Newark', 203000, 0.50 );
INSERT INTO product VALUES( 'p03', 'comb', 'Duluth', 150600, 1.00 );
INSERT INTO product VALUES( 'p04', 'comb', 'Duluth', 125300, 1.00 );
INSERT INTO product VALUES( 'p05', 'comb', 'Dallas', 221400, 1.00 );
INSERT INTO product VALUES( 'p06', 'comb', 'Dallas', 123100, 2.00 );
INSERT INTO product VALUES( 'p07', 'comb', 'Newark', 100500, 1.00 );
-- order is a SQL reserved word.
CREATE TABLE order3 (
  orderno INTEGER PRIMARY KEY,
  month   CHAR(5),
  cid     CHAR(5) NOT NULL,
  aid     CHAR(5) NOT NULL,
  pid     CHAR(5) NOT NULL,
  qty     INTEGER NOT NULL CHECK( qty >= 0 ),
  dollar  REAL NOT NULL CHECK( dollar >= 0.0 ),
  FOREIGN KEY ( cid ) REFERENCES customer( cid ) ON DELETE CASCADE,
  FOREIGN KEY ( aid ) REFERENCES agent   ( aid ) ON DELETE CASCADE,
  FOREIGN KEY ( pid ) REFERENCES product ( pid ) ON DELETE CASCADE );
INSERT INTO order3 VALUES( 1011, 'jan', 'c001', 'a01', 'p01', 1000,  450.00 );
INSERT INTO order3 VALUES( 1012, 'jan', 'c001', 'a01', 'p01', 1000,  450.00 );
INSERT INTO order3 VALUES( 1019, 'feb', 'c001', 'a02', 'p02',  400,  180.00 );
INSERT INTO order3 VALUES( 1017, 'feb', 'c001', 'a06', 'p03',  600,  540.00 );
INSERT INTO order3 VALUES( 1018, 'feb', 'c001', 'a03', 'p04',  600,  540.00 );
INSERT INTO order3 VALUES( 1023, 'mar', 'c001', 'a04', 'p05',  500,  450.00 );
INSERT INTO order3 VALUES( 1022, 'mar', 'c001', 'a05', 'p06',  400,  720.00 );
INSERT INTO order3 VALUES( 1025, 'apr', 'c001', 'a05', 'p07',  800,  720.00 );
INSERT INTO order3 VALUES( 1013, 'jan', 'c002', 'a03', 'p03', 1000,  880.00 );
INSERT INTO order3 VALUES( 1026, 'may', 'c002', 'a05', 'p03',  800,  704.00 );
INSERT INTO order3 VALUES( 1015, 'jan', 'c003', 'a03', 'p05', 1200, 1104.00 );
INSERT INTO order3 VALUES( 1014, 'jan', 'c003', 'a03', 'p05', 1200, 1104.00 );
INSERT INTO order3 VALUES( 1021, 'feb', 'c004', 'a06', 'p01', 1000,  460.00 );
INSERT INTO order3 VALUES( 1016, 'jan', 'c006', 'a01', 'p01', 1000,  500.00 );
INSERT INTO order3 VALUES( 1020, 'feb', 'c006', 'a03', 'p07',  600,  600.00 );
INSERT INTO order3 VALUES( 1024, 'mar', 'c006', 'a06', 'p01',  800,  400.00 ); 
   
   |