Relationer mellem flere databaser
Hej,Jeg har nedenstående tabeller, hvor jeg gerne vil have at der er relation mellem tabellen produkter og de resterende.
Min første tanke var at have en kolonne (produkt_id) i alle andre tabeller end produkter, men da værdierne i f. eks. tabellen farver godt kan have relation til flere produkter, synes jeg det er dumt at have flere af samme værdi i tabellen farver.
En anden tanke var at have en tabel (relationer) med id, produkt_id, tabel_navn og tabel_id. Men når jeg så skal lave en sql forespørgsel, vil det sansynligvis fejle:
SELECT a.*, b.*, c.* FROM produkter AS a LEFT JOIN relationer AS b ON a.id = b.produkt_id LEFT JOIN b.tabel_navn AS c ON b.tabel_id = c.id
Hvordan skal jeg så gøre?
CREATE TABLE `billeder` (
`id` int(11) NOT NULL auto_increment,
`billede` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE `farver` (
`id` int(11) NOT NULL auto_increment,
`farve` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE `leverandører` (
`id` int(11) NOT NULL auto_increment,
`leverandør` varchar(255) NOT NULL,
`adresse_1` varchar(255) default NULL,
`adresse_2` varchar(255) default NULL,
`postnummer` varchar(255) default NULL,
`by` varchar(255) default NULL,
`land` varchar(255) default NULL,
`telefon` varchar(255) default NULL,
`fax` varchar(255) default NULL,
`hjemmeside` varchar(255) default NULL,
`email` varchar(255) default NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE `priser` (
`id` int(11) NOT NULL auto_increment,
`pris` decimal(10,2) NOT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE `produkt_grupper` (
`id` int(11) NOT NULL auto_increment,
`produkt_gruppe` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE `produkter` (
`id` int(11) NOT NULL auto_increment,
`produkt` varchar(255) NOT NULL,
`beskrivelse` text NOT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE `størrelser` (
`id` int(11) NOT NULL auto_increment,
`størrelse` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
);
