Advertisement
Guest User

Untitled

a guest
Apr 19th, 2014
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 3.05 KB | None | 0 0
  1. /*DROP TABLE Sales;
  2. DROP TABLE Product;
  3. DROP TABLE Customer;
  4. DROP TABLE Provider;
  5. DROP TABLE Demo;*/
  6.  
  7. CREATE TABLE Product
  8. (
  9.  id_prod INTEGER NOT NULL PRIMARY KEY,
  10.  Name VARCHAR2 (4000),
  11.  Price FLOAT
  12.  );
  13.  
  14.  CREATE TABLE Demo
  15.  (
  16.    id_demo INTEGER NOT NULL PRIMARY KEY,
  17.    Name VARCHAR2 (4000),
  18.    Parent INTEGER,
  19.    FOREIGN KEY (Parent) REFERENCES Demo
  20.    );
  21.    
  22.    CREATE TABLE Customer
  23.    (
  24.     id_c INTEGER NOT NULL PRIMARY KEY,
  25.     Name VARCHAR2 (4000),
  26.     id_demo INTEGER,
  27.     FOREIGN KEY (id_demo) REFERENCES Demo
  28.     );
  29.    
  30.    CREATE TABLE Provider
  31.    (
  32.    id_p INTEGER NOT NULL PRIMARY KEY,
  33.    Name VARCHAR2 (4000),
  34.    id_demo INTEGER,
  35.    FOREIGN KEY (id_demo) REFERENCES Demo
  36.    );
  37.    
  38.    CREATE TABLE Sales
  39.    (
  40.    id_prod INTEGER NOT NULL,
  41.    FOREIGN KEY (id_prod) REFERENCES Product,
  42.    id_c INTEGER NOT NULL,
  43.    FOREIGN KEY (id_c) REFERENCES Customer,
  44.    id_p INTEGER NOT NULL,
  45.    FOREIGN KEY (id_p) REFERENCES Provider,
  46.    Q INTEGER,
  47.    date_s DATE NOT NULL
  48.    );
  49.  
  50.  
  51.    ALTER TABLE Sales ADD PRIMARY KEY (id_prod, id_c, id_p, date_s);
  52.  
  53.   DROP SEQUENCE ProdSeq;
  54.   DROP SEQUENCE CustomerSeq;
  55.   DROP SEQUENCE ProvSeq;
  56.  
  57.    CREATE SEQUENCE ProdSeq
  58.  START WITH 1
  59.  INCREMENT BY 1;
  60.  
  61.  
  62.   CREATE SEQUENCE CustomerSeq
  63.  START WITH 1
  64.  INCREMENT BY 1;
  65.  
  66.   CREATE SEQUENCE ProvSeq
  67.  START WITH 1
  68.  INCREMENT BY 1;
  69.  
  70.    INSERT INTO PRODUCT VALUES(ProdSeq.NEXTVAL, 'Potatoes', 40.0);
  71.    INSERT INTO PRODUCT VALUES(ProdSeq.NEXTVAL, 'Macaroni', 39.5);
  72.    INSERT INTO PRODUCT VALUES(ProdSeq.NEXTVAL, 'Meat', 100.0);
  73.    INSERT INTO PRODUCT VALUES(ProdSeq.NEXTVAL, 'Vodka', 250.0);
  74.    INSERT INTO PRODUCT VALUES(ProdSeq.NEXTVAL, 'Beer', 60.35);
  75.    
  76.    
  77.    INSERT INTO Demo VALUES(1,'РФ', NULL);
  78.    INSERT INTO Demo VALUES(2, 'Северо-Кавказский ФО', 1);
  79.    INSERT INTO Demo VALUES(3,'Центральный ФО',1);
  80.    INSERT INTO Demo VALUES(4,'Приволжский ФО',1);
  81.    INSERT INTO Demo VALUES(5,'Чеченская республика',2)
  82.    INSERT INTO Demo VALUES(6,'Республика Дагестан',2)
  83.    INSERT INTO Demo VALUES(7,'Московская область',3)
  84.    INSERT INTO Demo VALUES(8,'Смоленская область',3)
  85.    INSERT INTO Demo VALUES(9,'Пермский край',4)
  86.    INSERT INTO Demo VALUES(10,'Республика Коми',4)
  87.    
  88.    INSERT INTO Provider VALUES(ProvSeq.NEXTVAL,'ОАО Ин-тур',9)
  89.    INSERT INTO Provider VALUES(ProvSeq.NEXTVAL,'ЗАО Славянский Аппетит',9)
  90.    INSERT INTO Provider VALUES(ProvSeq.NEXTVAL,'ОАО Повар',10)
  91.    INSERT INTO Provider VALUES(ProvSeq.NEXTVAL,'ОАО Дерябин и Со',10)
  92.    INSERT INTO Provider VALUES(ProvSeq.NEXTVAL,'ЗАО Построим дом',2)
  93.    INSERT INTO Provider VALUES(ProvSeq.NEXTVAL,'ЗАО Privet ',2)
  94.    
  95.    INSERT INTO Customer VALUES
  96.    INSERT INTO Customer VALUES
  97.    INSERT INTO Customer VALUES
  98.    INSERT INTO Customer VALUES
  99.    INSERT INTO Customer VALUES
  100.    INSERT INTO Customer VALUES
  101.    INSERT INTO Customer VALUES
  102.    
  103.    COMMIT;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement