Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Klucze obce z relacji i z tabeli
Forum PHP.pl > Forum > Bazy danych > Oracle
CarlBraniewski
Mam za zadanie stworzyć taką relację:

Cytat
Kocury:
imie VARCHAR2(15) atrybut obowiązkowy
plec VARCHAR2(1) dwie wartości: 'M' i 'D'
pseudo VARCHAR2(15) klucz główny
funkcja VARCHAR2(10) klucz obcy z relacji Funkcje (atrybut funkcja)
szef VARCHAR2(15) klucz obcy z tabeli Kocury (atrybut pseudo)
w_stadku_od DATE domyślna wartość bieżącej daty (SYSDATE)
przydzial_myszy NUMBER(3)
myszy_extra NUMBER(3)
nr_bandy NUMBER(2) klucz obcy z relacji Bandy (atrybut nr_bandy)

No i nie wiem jak stworzyć klucze obce .. próbowałem tak:

  1. funkcja VARCHAR2(10) REFERENCES Funkcje (funkcja),
  2. szef VARCHAR2(15), REFERENCES Kocury (pseudo),
  3. nr_bandy NUMBER(2) REFERENCES Bandy (nr_bandy)

Wiem jednak, że nie jest to poprawne .. poza tym w jednym z przykładów mam stworzyć klucz obcy z tabeli, a w pozostałych z relacji ..
l3l0
Witam,

Ja bym to zrobił jakoś tak:

  1. CREATE TABLE Kocury
  2. (
  3. imie VARCHAR2(15) NOT NULL,
  4. plec VARCHAR2(1) NOT NULL,
  5. psuedo VARCHAR2(12) NOT NULL,
  6. funkcja VARCHAR2(10),
  7. szef VARCHAR2(15),
  8. w_stadku_od DATE DEFAULT SYSDATE,
  9. przydzial_myszy NUMBER(3),
  10. myszy_extra NUMBER(3),
  11. nr_bandy NUMBER(2),
  12. CONSTRAINT kocury_pk PRIMARY KEY (pseudo),
  13. CONSTRAINT funkcja_fk
  14. FOREIGN KEY (funkcja) REFERENCES Funkcje(funkcja),
  15. CONSTRAINT kocury_fk
  16. FOREIGN KEY (szef) REFERENCES Kocury(psuedo),
  17. CONSTRAINT banda_fk
  18. FOREIGN KEY (nr_bandy) REFERENCES Banda(nr_bandy),
  19. CONSTRAINT plec_kocury_check
  20. CHECK(plec IN ('M', 'D'))
  21. );
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.