

Štruktúra MySQL knižnica
CREATE DATABASE kniznica;
-------------------------------------------------- ----------
CREATE TABLE knihy
(
`kniha_id` INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`kniha_nazov` VARCHAR(50) NOT NULL
);
CREATE TABLE autori
(
`autor_id` INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`autor_meno` VARCHAR(50) NOT NULL
);
CREATE TABLE knihy_to_autori
(
`kniha_id` INT(10) NOT NULL,
`autor_id` INT(10) NOT NULL,
FOREIGN KEY (`autor_id`) REFERENCES autori (`autor_id`),
FOREIGN KEY (`kniha_id`) REFERENCES knihy (`kniha_id`)
);
-------------------------------------------------- ----------
Je toto dobré riešenie definovania cudzích kľúčov?
Je lepšie vytvoriť databázu ktorá vyzerá
autor_id - kniha_id
1 - 1
1 - 2
2 - 1
2 - 3
2 - 4
2 - 5
2 - 6
3 - 7
alebo radšej autor_id - kniha_id1 - kniha_id2 - kniha_id3 - kniha_id4 - kniha_id5 - kniha_id6
1 - 1 - 2 - NULL - NULL - NULL - NULL
2 - 1 - 3 - 4 - 5 - NULL - NULL
3 - 7 - NULL - NULL - NULL - NULL - NULL
Ktoré riešenie je lepšie?
Rozhodně první.
Wikan ti uz odpovedel. To druhe reseni je cesta do pekel, navic nejsi schopny s tim rozumne pracovat.
Jak bys zjistil, kolik knih mas od urciteho autora?
Jak bys vypsal seznam knih od urciteho autora?
Jak bys zjistil autora nějaké knihy?