Advertisement
Guest User

Untitled

a guest
Mar 29th, 2015
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.69 KB | None | 0 0
  1. --SQL skript pro vytvoreni databaze
  2. --xsimek25,xstain00
  3. --29.3.2015
  4.  
  5.  
  6. --STRUCTURE (DDL)
  7. DROP TABLE zakaznici CASCADE CONSTRAINTS;
  8. DROP TABLE pracovnici CASCADE CONSTRAINTS;
  9. DROP TABLE schuzky CASCADE CONSTRAINTS;
  10. DROP TABLE smlouvy CASCADE CONSTRAINTS;
  11. DROP TABLE produkty CASCADE CONSTRAINTS;
  12. DROP TABLE znacky CASCADE CONSTRAINTS;
  13. DROP TABLE ma_na_starost CASCADE CONSTRAINTS;
  14. DROP TABLE patri CASCADE CONSTRAINTS;
  15. DROP TABLE se_tyka CASCADE CONSTRAINTS;
  16.  
  17. CREATE TABLE zakaznici
  18. {
  19. rodne_cislo NUMBER(10) NOT NULL CHECK(MOD(rodne_cislo,11)=0),
  20. jmeno VARCHAR2(50) NOT NULL,
  21. prijmeni VARCHAR2(50) NOT NULL,
  22. datum_narozeni DATE,
  23. pohlavi VARCHAR2(10) CHECK(pohlavi IN('muz','zena')),
  24. adresa VARCHAR2(255),
  25.  
  26. CONSTRAINT zakaznici_pk PRIMARY KEY(rodne_cislo)
  27. };
  28.  
  29. CREATE TABLE pracovnici
  30. {
  31. pracovnik_id NUMBER(10) NOT NULL,
  32. jmeno VARCHAR2(50) NOT NULL,
  33. prijmeni VARCHAR2(50) NOT NULL,
  34.  
  35. CONSTRAINT pracovnici_pk PRIMARY KEY(pracovnik_id)
  36. };
  37.  
  38. CREATE TABLE schuzky
  39. {
  40. schuzka_id NUMBER(10) NOT NULL,
  41. cas DATETIME NOT NULL,
  42. misto VARCHAR2(255) NOT NULL,
  43. popis VARCHAR2(255),
  44. zakaznik_id NUMBER(10) NOT NULL,
  45. pracovnik_id NUMBER(10) NOT NULL,
  46.  
  47. CONSTRAINT pracovnici_pk PRIMARY KEY(pracovnik_id),
  48. CONSTRAINT schuzka_zakaznik_fk
  49. FOREIGN KEY(zakaznik_id)
  50. REFERENCES zakaznici(rodne_cislo),
  51. CONSTRAINT schuzka_pracovnik_fk
  52. FOREIGN KEY(pracovnik_id)
  53. REFERENCES pracovnici(pracovnik_id)
  54. };
  55.  
  56. CREATE TABLE smlouvy
  57. {
  58. smlouva_id NUMBER(10) NOT NULL,
  59. datum_uzavreni DATE NOT NULL,
  60. datum_konce DATE NOT NULL,
  61. odber NUMBER(10),
  62. interval CHECK(interval IN('denne','tydne','mesicne')),
  63. castka NUMBER(10),
  64. zakaznik_id NUMBER(10) NOT NULL,
  65. pracovnik_id NUMBER(10) NOT NULL,
  66. produkt_id NUMBER(10) NOT NULL,
  67.  
  68. CONSTRAINT smlouvy_pk PRIMARY KEY(smlouva_id),
  69. CONSTRAINT smlouva_zakaznik_fk
  70. FOREIGN KEY(zakaznik_id)
  71. REFERENCES zakaznici(rodne_cislo),
  72. CONSTRAINT smouva_pracovnik_fk
  73. FOREIGN KEY(pracovnik_id)
  74. REFERENCES pracovnici(pracovnik_id),
  75. CONSTRAINT smlouva_produkt_fk
  76. FOREIGN KEY(produkt_id)
  77. REFERENCES produkty(produkt_id)
  78. };
  79.  
  80. CREATE TABLE produkty
  81. {
  82. produkt_id NUMBER(10) NOT NULL,
  83. nazev VARCHAR2(255) NOT NULL,
  84. cena NUMBER(10) NOT NULL,
  85. znacka_id NUMBER(10) NOT NULL,
  86. CONSTRAINT produkty_pk PRIMARY KEY(produkt_id),
  87. CONSTRAINT produkt_znacka_fk
  88. FOREIGN KEY(znacka_id)
  89. REFERENCES znacky(znacka_id)
  90. };
  91.  
  92. CREATE TABLE znacky
  93. {
  94. znacka_id NUMBER(10) NOT NULL,
  95. nazev VARCHAR2(255) NOT NULL,
  96. popis VARCHAR2(255) NOT NULL,
  97. CONSTRAINT znacky_pk PRIMARY KEY(znacka_id)
  98. };
  99. --CONNECTIONS TABLES
  100. CREATE TABLE ma_na_starost
  101. {
  102. pracovnik_id NUMBER(10) NOT NULL,
  103. zakaznik_id NUMBER(10) NOT NULL,
  104. CONSTRAINT ma_na_starost_pk PRIMARY KEY(pracovnik_id,zakaznik_id)
  105. };
  106.  
  107. CREATE TABLE patri
  108. {
  109. pracovnik_id NUMBER(10) NOT NULL,
  110. znacka_id NUMBER(10) NOT NULL,
  111. CONSTRAINT patri_pk PRIMARY KEY(pracovnik_id,znacka_id)
  112. };
  113.  
  114. CREATE TABLE se_tyka
  115. {
  116. schuzka_id NUMBER(10) NOT NULL,
  117. produkt_id NUMBER(10) NOT NULL,
  118. CONSTRAINT se_tyka_pk PRIMARY KEY(schuzka_id,produkt_id)
  119. };
  120.  
  121. --INSERTS(DML)
  122. INSERT INTO zakaznici VALUES(9102123044,'Martin','Šimek',TO_DATE('12.02.1991','dd.mm.yyyy'),'muz','Rudé armády 199, Jirkov');
  123. INSERT INTO zakaznici VALUES(9102123145,'Radim','Štainer',TO_DATE('12.02.1991','dd.mm.yyyy'),'muz','Přelov,Brno');
  124.  
  125. INSERT INTO pracovnici VALUES(1,'Martin','Štainer');
  126. INSERT INTO pracovnici VALUES(2,'Radim','Šimek');
  127.  
  128. INSERT INTO znacky VALUES(1,'BMW','Auto za 500 tisíc Euro a výše');
  129. INSERT INTO znacky VALUES(2,'Apple','Mobily za 1 tisíc Euro a výše');
  130. INSERT INTO znacky VALUES(3,'Louis Vuitton','Tkaničky za 500 tisíc Euro a výše');
  131.  
  132. INSERT INTO schuzky VALUES(1,TO_DATE('3.5.2015 12:00:00','dd.mm.yyyy hh24:mi:ss'),'Brno-střed','Schůzka s bohatým zákazníkem',9102123044,2);
  133. INSERT INTO schuzky VALUES(2,TO_DATE('29.3.2015 12:00:00','dd.mm.yyyy hh24:mi:ss'),'Praha','Schůzka s chudým zákazníkem',9102123145,1);
  134.  
  135. INSERT INTO produkty VALUES(1,'BMW M5',500000,1);
  136. INSERT INTO produkty VALUES(2,'Apple iPhone 6',50000,2);
  137.  
  138. INSERT INTO smlouvy VALUES(1,TO_DATE('1.5.2015 12:00:00','dd.mm.yyyy hh24:mi:ss'),TO_DATE('4.5.2015 12:00:00','dd.mm.yyyy hh24:mi:ss'),5,'denne',15000,9102123044,2,1);
  139. INSERT INTO smlouvy VALUES(1,TO_DATE('5.5.2015 12:00:00','dd.mm.yyyy hh24:mi:ss'),TO_DATE('9.5.2015 12:00:00','dd.mm.yyyy hh24:mi:ss'),7,'tydne',65000,9102123145,1,2);
  140.  
  141. --INSERTS (CONNECTIONS)
  142. INSERT INTO ma_na_starost VALUES(1,9102123145);
  143. INSERT INTO ma_na_starost VALUES(2,9102123044);
  144.  
  145. INSERT INTO patri VALUES(1,1);
  146. INSERT INTO patri VALUES(2,2);
  147.  
  148. INSERT INTO se_tyka VALUES(1,1);
  149. INSERT INTO se_tyka VALUES(2,2);
  150.  
  151. COMMIT;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement