Advertisement
Guest User

Untitled

a guest
May 26th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.13 KB | None | 0 0
  1. CREATE TABLE Funkcje (
  2. nazwa VARCHAR2(32)
  3. CONSTRAINT funkcje_pk PRIMARY KEY,
  4. min_myszy NUMBER(3)
  5. CONSTRAINT funkcje_min_nn NOT NULL
  6. CONSTRAINT funkcje_min_ch CHECK(min_myszy >= 0),
  7. max_myszy NUMBER(3)
  8. CONSTRAINT funkcje_max_nn NOT NULL
  9. CONSTRAINT funkcje_max_ch CHECK(max_myszy >= 0),
  10. CONSTRAINT funkcje_min_max_ch CHECK(min_myszy <= max_myszy)
  11. );
  12.  
  13. -- Utworzenie niepelnej tabeli Bandy *brak klucza obcego
  14. CREATE TABLE Bandy (
  15. numer NUMBER(32)
  16. CONSTRAINT bandy_pk PRIMARY KEY,
  17. nazwa VARCHAR2(32)
  18. CONSTRAINT bandy_n_nn NOT NULL,
  19. pseudo_zarzadcy VARCHAR2(32)
  20. -- Tabela Koty jeszcze nie stworzona
  21. --CONSTRAINT bandy_pz_fk REFERENCES Koty(pseudonim)
  22. );
  23.  
  24. ALTER TABLE Bandy
  25. ADD CONSTRAINT bandy_pz_fk
  26. FOREIGN KEY (pseudo_zarzadcy)
  27. REFERENCES Koty(pseudonim);
  28.  
  29. --Utworzenie tabeli Koty
  30. CREATE TABLE Koty (
  31. pseudonim VARCHAR2(32)
  32. CONSTRAINT koty_pk PRIMARY KEY,
  33. plec CHAR(1)
  34. CONSTRAINT koty_plec_nn NOT NULL
  35. CONSTRAINT koty_plec_check CHECK(plec IN ('K', 'M')),
  36. data_przyjecia DATE
  37. CONSTRAINT koty_datap_nn NOT NULL,
  38. przydzial_myszy NUMBER(3)
  39. CONSTRAINT koty_przydzialm_nn NOT NULL
  40. CONSTRAINT koty_przydzialm_check CHECK(przydzial_myszy >= 0),
  41. pseudo_szefa VARCHAR2(32)
  42. CONSTRAINT koty_pseudoszefa_fk REFERENCES Koty(pseudonim),
  43. numer_bandy NUMBER(32)
  44. CONSTRAINT koty_numerbandy_fk REFERENCES Bandy(numer),
  45. nazwa_funkcji VARCHAR2(32)
  46. CONSTRAINT koty_nazwafunkcji_nn NOT NULL
  47. CONSTRAINT koty_nazwafunkcji_fk REFERENCES Funkcje(nazwa)
  48. );
  49.  
  50. -- Dodanie klucza obcego(pseudo_zarzadcy od Koty(pseudonim)) do Bandy
  51. ALTER TABLE Bandy
  52. ADD CONSTRAINT bandy_pz_fk
  53. FOREIGN KEY (pseudo_zarzadcy)
  54. REFERENCES Koty(pseudonim);
  55.  
  56.  
  57. --Utworzenie tabeli Myszy
  58. CREATE TABLE Myszy (
  59. numer NUMBER(32)
  60. CONSTRAINT myszy_pk PRIMARY KEY,
  61. data_upolowania DATE
  62. CONSTRAINT myszy_dataupolowania_nn NOT NULL,
  63. waga NUMBER(3)
  64. CONSTRAINT myszy_waga_nn NOT NULL
  65. CONSTRAINT myszy_waga_check CHECK(waga >= 10),
  66. dlugosc NUMBER(2)
  67. CONSTRAINT myszy_dlugosc_nn NOT NULL
  68. CONSTRAINT myszy_dlugosc_check CHECK(dlugosc >= 5),
  69. data_wydania DATE,
  70. pseudo_lowcy VARCHAR2(32)
  71. CONSTRAINT myszy_pseudolowcy_nn NOT NULL
  72. CONSTRAINT myszy_pseudolowcy_fk REFERENCES Koty(pseudonim),
  73. pseudo_zjadacza VARCHAR(32)
  74. CONSTRAINT myszy_pseudozjadacza_fk REFERENCES Koty(pseudonim),
  75. CONSTRAINT myszy_dataupol_datawyd_ch CHECK(data_upolowania <= data_wydania)
  76. );
  77.  
  78. --Utworzenie tabeli Wrogowie
  79. CREATE TABLE Wrogowie (
  80. imie VARCHAR2(32)
  81. CONSTRAINT wrogowie_pk PRIMARY KEY,
  82. stopien_wrogosci NUMBER(2)
  83. CONSTRAINT wrogowie_stopienwrogosci_nn NOT NULL
  84. CONSTRAINT wrogowie_stopienwrogosci_ch CHECK(stopien_wrogosci BETWEEN 1 AND 10),
  85. gatunek VARCHAR(32)
  86. );
  87.  
  88. --Utworzenie tabeli Gratyfikacje
  89. CREATE TABLE Gratyfikacje (
  90. nazwa VARCHAR2(32)
  91. CONSTRAINT gratyfikacje_pk PRIMARY KEY,
  92. sila NUMBER(2)
  93. CONSTRAINT gratyfikacje_sila_nn NOT NULL
  94. CONSTRAINT gratyfikacje_sila_check CHECK(sila BETWEEN 1 AND 10)
  95. );
  96.  
  97. --Utworzenie tabeli Tereny
  98. CREATE TABLE Tereny (
  99. nazwa VARCHAR2(32)
  100. CONSTRAINT tereny_pk PRIMARY KEY
  101. );
  102.  
  103. --Utworzenie tabeli Tereny_band gdzie klucz obcy sklada sie z dwoch elementow(powstala ze zwiazku)
  104. CREATE TABLE Tereny_band (
  105. nazwa VARCHAR2(32)
  106. CONSTRAINT tereny_nazwa_fk REFERENCES Tereny(nazwa),
  107. numer NUMBER(32)
  108. CONSTRAINT tereny_numer_fk REFERENCES Bandy(numer),
  109. CONSTRAINT tereny_fk_pk PRIMARY KEY(nazwa, numer)
  110. );
  111.  
  112. --Utworzenie tabeli Gratyfikacje wrogow
  113. CREATE TABLE Gratyfikacje_wrogow (
  114. imie VARCHAR2(32)
  115. CONSTRAINT gratywrog_imie_fk REFERENCES Wrogowie(imie),
  116. nazwa VARCHAR2(32)
  117. CONSTRAINT gratywrog_nazwa_fk REFERENCES Gratyfikacje(nazwa),
  118. CONSTRAINT gratywrog_pk PRIMARY KEY(imie, nazwa)
  119. );
  120.  
  121. --Utworzenie tabeli Incydenty
  122. CREATE TABLE Incydenty (
  123. pseudonim VARCHAR2(32)
  124. CONSTRAINT incydenty_pseudo_fk REFERENCES Koty(pseudonim),
  125. imie VARCHAR2(32)
  126. CONSTRAINT incydenty_imie_fk REFERENCES Wrogowie(imie),
  127. data DATE
  128. CONSTRAINT incydenty_data_nn NOT NULL,
  129. opis VARCHAR2(256)
  130. CONSTRAINT incydenty_opis_nn NOT NULL,
  131. CONSTRAINT incydenty_pk PRIMARY KEY(pseudonim, imie)
  132. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement