» »

SQL težava z vmesnimi tabelami

SQL težava z vmesnimi tabelami

RatedR ::

Zdravo, v SQL-u sem nov in imam težavo s povezovanjem tabel, struktura baze je takšna:
CREATE TABLE `Nastop` (
	`ID_nastopa`	INTEGER PRIMARY KEY,
	`ID_tekmovalca` INTEGER,
	`ID_tekmovanja` INTEGER, 
	FOREIGN KEY (ID_tekmovalca) REFERENCES Tekmovalci(ID_tekmovalca),
	FOREIGN KEY (ID_tekmovanja) REFERENCES Tekmovanje(ID_tekmovanja)
);

CREATE TABLE `Sodniki` (
	`ID_sodnika`	INTEGER PRIMARY KEY,
	`kategorija`	char(25),
	FOREIGN KEY (ID_sodnika) REFERENCES Nastop(ID_nastopa)
);

CREATE TABLE `Tekmovalci` (
	`ID_tekmovalca`	INTEGER PRIMARY KEY ,
	`ime`	char(20),
	`priimek`	char(20)
);

CREATE TABLE `Tekmovanje` (
	`ID_tekmovanja`	INTEGER PRIMARY KEY,
	`datum`	date,
	`drzava`	char(20)
);

CREATE TABLE `Oprema` (
	`ID_opreme`	INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
	`tip_opreme`	varchar(25),
	`opis_opreme`	varchar(25)
);

Zgornja koda dela, problem je ko poskusim ustvarit vmesne tabele.
Parser mi ne javi nobene specifične napake, le da je syntax error pri "nastopSodniki"

CREATE TABLE `nastopSodniki` (
	`ocena` INTEGER(3),
	`ID_sodnika` INTEGER,
	`ID_nastopa` INTEGER,
	PRIMARY KEY(ID_sodnika, ID_nastopa),
	FOREIGN KEY (ID_sodnika) REFERENCES Sodniki(ID_sodnika),
	FOREIGN KEY (ID_nastopa) REFERENCES Nastop(ID_nastopa)
)

CREATE TABLE `tekmovanjeOprema` (
	`ID_tekmovanja` INTEGER,
	`ID_opreme` INTEGER,
	PRIMARY KEY(ID_tekmovanja, ID_opreme),
	FOREIGN KEY (ID_tekmovanja) REFERENCES Tekmovanje(ID_tekmovanja),
	FOREIGN KEY (ID_opreme) REFERENCES Oprema(ID_opreme)
)

CREATE TABLE `tekmovalciOprema` (
	`ID_tekmovalca` INTEGER,
	`ID_opreme` INTEGER,
	PRIMARY KEY(ID_tekmovalca, ID_opreme),
	FOREIGN KEY (ID_tekmovalca) REFERENCES Tekmovalci(ID_tekmovalca),
	FOREIGN KEY (ID_opreme) REFERENCES Oprema(ID_opreme)
)

Horejšio ::

crniangeo ::

kje pa je podpickje ? :)
Convictions are more dangerous foes of truth than lies.

kuall ::

Manjkajo podpičja pri zadnjih tabelah.

Mysql je butast ja, ker ti ne javi specifične napake. Dobro, da mi ni treba v njem programirat. Microsoft zmaga kot ponavadi.

RatedR ::

Ah sploh nisem porajtal...hvala vam.

RatedR ::

Je pa težava še pri vnosu, že nekaj časa brskam pa mi ni jasno kaj je narobe. Ko poskušam vnest naprimer:
INSERT INTO `Nastop` (`ID_nastopa`, `ID_tekmovalca`, `ID_tekmovanja`) VALUES (1,1,1);
INSERT INTO `Nastop` (`ID_nastopa`, `ID_tekmovalca`, `ID_tekmovanja`) VALUES (2,2,1);
INSERT INTO `Nastop` (`ID_nastopa`, `ID_tekmovalca`, `ID_tekmovanja`) VALUES (3,3,1);

Mi vrne FOREIGN KEY constraint failed: INSERT INTO Nastop, čeprav imam v strukturi Nastop definiran kam bom vezal tuji ključ.

Ima kdo kakšno idejo?

OracleDev ::

Tak foreign key maš k ti to onemogoča. Najprej morš vnest podatke v tabele Tekmovalci in Tekmovanje.

Stari89 ::

Če želiš po poklicu biti še kaj drugega kot profesor na računalniški fakulteti, uporabljaj angleščino pri programiranju.

RatedR ::

Hvala & hvala.

kuall ::

Stari89 je izjavil:

Če želiš po poklicu biti še kaj drugega kot profesor na računalniški fakulteti, uporabljaj angleščino pri programiranju.


to nima veze.

zavajon ::

RatedR je izjavil:

Je pa težava še pri vnosu, že nekaj časa brskam pa mi ni jasno kaj je narobe. Ko poskušam vnest naprimer:
INSERT INTO `Nastop` (`ID_nastopa`, `ID_tekmovalca`, `ID_tekmovanja`) VALUES (1,1,1);
INSERT INTO `Nastop` (`ID_nastopa`, `ID_tekmovalca`, `ID_tekmovanja`) VALUES (2,2,1);
INSERT INTO `Nastop` (`ID_nastopa`, `ID_tekmovalca`, `ID_tekmovanja`) VALUES (3,3,1);

Mi vrne FOREIGN KEY constraint failed: INSERT INTO Nastop, čeprav imam v strukturi Nastop definiran kam bom vezal tuji ključ.

Ima kdo kakšno idejo?

Najbrž ti manjkajo recordi z vrednostmi v referenciranih poljih.
V tabeli tekmovalci morajo obstajati recordi z vrednostmi PK 1,2,3.
V tabeli tekmovanja mora obstajati PK 1.
Tako imaš pač definirano.
Meni se zdijo te tvoje reference sicer malo čudne.
Npr. referenca med sodnikom in nastopom. Pri tebi nastop pomeni dejansko en nastop določenega igralca, sodnik pa naj bi sodil na tekmi, ne na nastopu.


Vredno ogleda ...

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

SQL vprasanje (strani: 1 2 )

Oddelek: Programiranje
688402 (5081) BivšiUser2
»

PostgreSQL pomoč

Oddelek: Programiranje
162522 (2015) Mato989
»

SQL Parent key not found

Oddelek: Programiranje
71071 (994) Ciklamen
»

SQL težava

Oddelek: Programiranje
365231 (4513) joseti
»

baze podatkov

Oddelek: Programiranje
91573 (1492) urkrajnc

Več podobnih tem