1

Temat: Brak relacji (POCZĄTKUJĄCY)

Witam,
uczę się właśnie podstaw baz danych proszę o wyrozumiałość.
Wprowadzam zapytanie:

CREATE TABLE "adres" (
   "adres_id" SERIAL PRIMARY KEY NOT NULL,
   "jednostka_id" int,
   "sadres1" varchar(255),
   "sadres2" varchar(255),
   "smiasto" varchar(255),
   "skod" varchar(10),
   "styp" varchar(50),
   CONSTRAINT "fk_adres_jednostka_id"
      FOREIGN KEY ("jednostka_id") REFERENCES "jednostka"("jednostka_id")
);

Otrzymuję komunikat o błędzie:

NOTICE:  CREATE TABLE will create implicit sequence "adres_adres_id_seq" for ser
ial column "adres.adres_id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "adres_pkey" for
table "adres"
ERROR:  relation "jednostka" does not exist

Chyba chodzi o brak relacji? Jak mogę ją utworzyć ?

EDIT
Ok. Znalazłem rozwiązanie.

Ostatnio edytowany przez cykcykacz (2009-10-19 20:31:16)

2

Odp: Brak relacji (POCZĄTKUJĄCY)

Kto pyta nie błądzi smile

Relacja = tabela (w fizycznej postacji bazy danych)

Tworzysz tabelę 'adres' z kluczem obcym (FOREIGN KEY) do tabeli (relacji) 'jednostka', ale  tabela 'jednostka' nie istnieje (przynajmniej tak twierdzi postgres). Najpierw musisz stworzyć tabelę 'jednostka' koniecznie z kolumną 'jednostka_id' ktora jest kluczem.
Dopiero potem mozesz stworzyc tabele adres takim poleceniem jak podales.

3

Odp: Brak relacji (POCZĄTKUJĄCY)

Super, dzięki za wyczerpującą odpowiedź.