SQL - prepojenie tabuliek
Zdravím, potrebovala by som pomôcť pri prepájaní tabuliek.
Mám tabuľky vyrobca, liek a diagnoza, ktore spajam v tabuľke info. Problém je, že niektorý výrobca lieky nemá alebo nie na všetky diagnózy sú lieky, a tak je tam hodnota NULL. Tá tam však byť nemôže, keďže je to primary key. Neviete mi niekto poradiť ako to mám vyriešiť?
Ďakujem.
Co znamená, že je spojuješ v tabulce info?
Znamená to, že mám kvázi 3 nezávislé tabuľky, ktoré potrebujem prepojiť .. a prepájam to tak, že v každej tabuľke mám nejaký primary key.. a tie sú potom v tabuľke info.
Ale to propojení nemáš mít v nějaké tabulce. Propojení definuješ pomocí klíčů.
Nás učia, že to máme mať v tabuľke, ja iné riešenie neviem.. ale rada sa dozviem o inom.
Tak to jsi to buď špatně pochopila a nebo spíš špatně píšeš, čeho chceš vlastně dosáhnout.
Nás učia robiť všetko ako je to v tejto fyzickej schéme autoservisu. Sú tam 3 tabuľky, prepojené v jednej. A ja robím to isté, len miesto auto, sluzba, zamestnanec mám vyrobca, liek, diagnoza .. a asz sa u mňa volá info.
Už je to pochopiteľné?
Ale tam ta třetí tabulka nese nějakou informaci. Jakou informaci nese ta tvoje tabulka info?
Pôvodne niesla.. ale už nenesie.
Takže v podstate by som to mohla spraviť tak, že v tabuľke DIAGNOZA budem mať stĺpce: kod_diagnozy, id_diagnozy, diagnoza a id_lieku????
Ale potom ako mám nakresliť k tomu schému?
Ne. Budeš mít tabulky Vyrobce, Lek, Diagnoza a spojovací tabulku LeciDiagnozu, která ti rozloží vztah M:N mezi tabulkami Lek a Diagnoza na dva vztahy 1:N.
Takže v tabuľke DIAGNOZA bude id_diagnozy ako primary a id_lieku ako primary key?
V LIECI_DIAG bude diagnoza a id_diagnozy ako foreign key a id_lieku ako foreign key?
Ne. Diagnoza bude mít pouze primární klíč, Lék bude mít primární klíč a cizí klíč na tabulku Výrobce. LéčíDiagnózu bude mít cizí klíče na obě předchozí tabulky, které dohromady můžou tvořit primární klíč.
Takže si píšem
DIAGNOZA: id_diagnoza <pk>
LIEK: id_lieku <pk>
id_vyrobcu <fk>
LIECI_DIAG: id_diagnoza <fk1>
id_lieku <fk2>
..ak už toto chápem zle, tak ma môžete prísť zabiť alebo zaživa upáliť.
Ano.
Dobre, problém som vyriešila, ale rozhasilo mi to celú tabuľku.
Kde bude zadávať teraz názov diagnózy? v LIECI_DIAG?
A všetky info o lieku budú v LIEK.. všetky info o Výrobcovi vo VYROBCA .. inak aký vzťah majú VYROBCA a LIEK?
Název diagnózy logicky do tabulky Diagnozna.
Jaký asi může mít výrobce a lék vztah? Výrobce vyrábí lék.