» »

SQL problem

SQL problem

dejc009 ::

no unique index found for the referenced field of the primary table -->kaj moram narediti??

koda za realcije:
ALTER TABLE Pridevnik_K
ADD CONSTRAINT fk_Pridevnik_K FOREIGN KEY (ID) REFERENCES Pridevniki (ID_Pridevnik),
CONSTRAINT fk_Pridevnik_K FOREIGN KEY (ID) REFERENCES Osnova (ID_Pridevnik);

koda tabele:
CREATE TABLE Pridevnik_K (
ID AUTOINCREMENT NOT NULL,
Osnova VARCHAR(50),
Tip INTEGER,
Tip_Str VARCHAR(50),
Določni INTEGER,
Nedoločni INTEGER,
Lastnost VARCHAR(50),
Primernik VARCHAR(50),
Stopnjevalni_prislov VARCHAR(50)
);


prosim za pomoč

BlueRunner ::

Če uporabljaš zunanje ključe, morajo ti biti označeni kot ključi, sicer njihova uporaba ni možna. Sistem te je prijazno opozoril na to napako. Rešitev je načeloma ta, da storiš natančno to, kar ti je povedal, da je težava: dodaš UNIQUE KEY omejitev.

V tvojem primeru pa je težava verjetno v temu, da poskušaš vzpostaviti zunanji ključ na polju ID_Pridevnik v relaciji Osnova. V tej relaciji pa to verjetno ni ključ. Bodisi si napisal napačno ime polja, bodisi še ne razumeš relacij in imaš zato tudi slabo relacijsko shemo.

dejc009 ::

in kaj moram za storiti?? ime polja je pravo.

BlueRunner ::

Če je ime polja pravilno, potem imaš narobe narisano shemo, ali pa imaš "čudno" shemo z 1...1 relacijami. Opiši kaj bi rad dosegel z "CONSTRAINT fk_Pridevnik_K FOREIGN KEY (ID) REFERENCES Osnova (ID_Pridevnik)", potem ti bo lahko kdo malo bolj pomagal.

dejc009 ::




tabeli Pridevnik_K moram dodati iste ralacije kot jih ima tabela Pridevnik


upam da bo to v pomoč

Zgodovina sprememb…

  • spremenil: dejc009 ()

BlueRunner ::

Narobe si bral diagram. Zunanji ključ, kot si ga poskusil vpisati, v shemi ne obstaja. Zunanji ključ, oziroma foreign key je tisti polje, ki se ga je v postopku normalizacije izločilo v novo relacijo. To pomeni, da je npr. polje ID_Pridevnik v relaciji Osnova zunanji ključ, ki se nahaja v tabeli Pridevnik.

Če želiš na silo to storiti za novo relacijo K_Pridevnik, potem moraš dodati v relacijo Osnova zunanji ključ ID_K_Pridevnik, ki se nahaja v relaciji K_Pridevnik: "ALTER TABLE Osnova ADD CONSTRAINT fk_k_pridevnik FOREIGN KEY (ID_K_Pridevnik) REFERENCES K_Pridevnik(ID);"

Seveda pa s tem verjetno narediš logično neumnost. Vsaj jaz si ne znam predstavljati kaj bi s tem v obstoječi shemi smiselnega dosegel.

Ker je iz tvojih vprašanj in poskusov rešitve razvidno, da te snovi še ne razumeš, predlagam, da si kje najdeš kakšno razlago o relacijah, da boš ugotovil za kaj točno se gre. Če je to šolska naloga, boš verjetno moral pregledati učno literaturo, ki vam jo je dal učitelj/predavatelj/asistent.

dejc009 ::

hvala ti


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

SQL težava z vmesnimi tabelami

Oddelek: Programiranje
101685 (1290) zavajon
»

PostgreSQL pomoč

Oddelek: Programiranje
162355 (1848) Mato989
»

SQL pomoč

Oddelek: Programiranje
132220 (1634) miko22
»

SQL Parent key not found

Oddelek: Programiranje
7971 (894) Ciklamen
»

SQL težava

Oddelek: Programiranje
364558 (3840) joseti

Več podobnih tem