NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Tommy
Člen
Avatar
Tommy:15.5.2016 17:07

Ahoj, jak se pomocí SQL určuje členství (povinnost/ne­povinnost) vztahu?

Mám např. 2 entity: AUTOR a KNIHA a vytvořím vztah 1 : n tak, že vložím FK do KNIHA (na kardinalitě teď nesejde), který se bude odkazovat na PK v AUTOR. Jak ale udělám to členství?

FK by snad neměl být nulový a z toho mi vyplývá, že AUTOR může existovat bez knihy, ale kniha bez autora už ne. Jak se to dá změnit? Proč se v konceptuálním modelu uvažuje nad členstvím, když vlastně vyplývá z implementace a nedá se s ním nic dělat? Prosím o radu, databáze mě velmi matou.

 
Odpovědět
15.5.2016 17:07
Avatar
Odpovídá na Tommy
Michal Štěpánek:15.5.2016 17:30

Trošku nechápu "CO" bys s tím chtěl dělat? Co bys na tom chtěl měnit?

Nahoru Odpovědět
15.5.2016 17:30
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Tommy
Člen
Avatar
Odpovídá na Michal Štěpánek
Tommy:15.5.2016 18:22

Proč se řeší členství např. v E-R modelu, když fakticky vyplývá z toho, kde je cizí klíč? Tabulka, která se pomocí cizího klíče odkazuje na jinou tabulku, musí mít povinné členství, protože FK nemůže nabývat hodnoty NULL ne? Ale do E-R modelu pak lidé píšou třeba trochu jiné věci a mě to mate, protože nechápu, jak mám tu databázi implementovat.

Dále např. vztah mezi dvěma entitami, kde je oboustranná povinnost - to je podle mě paradox, protože tam pak nevložím první záznam ne?

 
Nahoru Odpovědět
15.5.2016 18:22
Avatar
Lukáš Černý :27.7.2016 0:29

autor - kniha..... je dobre mit vazbu 1:n, ale vyskytl by se problem, kdyby kniha mela vice autoru (m:n) to by se trosku resilo jinak...

jak zjistit kam davat FK....to tezko se mi vysvetluje.... doporucuji ti tohle http://www.itnetwork.cz/…odel-diagram

vztah mezi dvemi entitami a oboustrana....
to je uz hloupost proc to delat, to jsem mylsim jeste nevidel. kdyz uz mas vazbu mezi dvemi entitami napr autor a kniha. tak ty nepotrebujes u autora uvadet knihy ktere napsal staci kdyz to mas u knihy

a potom kdyz potrebujes knihy ktere napsala dany autor tak vezmes PK autora a vyhledas ho v tabulce knihy kdyz chces autora ktery napsal danou knihu tak vezmes FK a vyhledas ho v tabulce autor a takhke to vlastne funguje

dale dalsi vec u databaze je dulezite aby se udaje v ni neopakovali napr:
tabulka knihy: (sloupce) id, jmeno_autora, prijmeni_autora, nazev,.....

kdyby v teto tabulce bylo 10 knih od Karla capka tak by se tam nekolikrat vyskytoval karel capek tam uz ke velka duplicita tak je lepsi si to hodit do samostane tabulky autor a misto tech dvou sloupcu se vlozi FK a takhke vlastne usetris i paměť

snad to to pomuze ;)

 
Nahoru Odpovědět
27.7.2016 0:29
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.