Som zaciatocnik, bol by som vdacny za pomoc.
Chcem vytvorit databazu publikacii. Mam dve tabulky:
Autor
ID:
Meno:
InfoOPublikacii:
ID:
Nazov:
Rok:
Nakolko je medzi nimi vztah N:N (kazda poblikacia ma minimalne jedneho autora, max pocet autorov nie je znamy. A kazdy autor, moze byt autorom viacerych publikacii)
Mam spojovaciu tabulku:
AutorPublikcia
IdAutor
IdPublikacia
Potreboval by som pomoc pri vytvoreni dotazu SELECT, tak aby bol vysledok:
MenoAutora1,MenoAutora2,...,
MenoAutoraN: NazovPublikacie.
Cize: Najpr zoznam vsetkych autorov (ich pocet je pre kazdu publikaciu iny) a potom nazov prislusnej publikace.
Napr:
Peter: Bakalarska praca.
Peter, Pavol: Diplomova praca.
Dakujem za vasu pomoc,
Suri
Pomoc s SQL dotazom
-
skorec1
Expert
- Príspevky: 153
- Registrovaný: 20 apr 2008, 12:45
- Bydlisko: Humenne
- Kontaktovať používateľa:
Re: Pomoc s SQL dotazom
trosku sa mi nezda tvoj vstah, nie je to M:N ? moze mat jednu publikaciu s menom XXX viac autorov?
Mam spojovaciu tabulku:
AutorPublikcia
IdAutor
IdPublikacia
Potreboval by som pomoc pri vytvoreni dotazu SELECT, tak aby bol vysledok:
MenoAutora1,MenoAutora2,...,
MenoAutoraN: NazovPublikacie.
Cize: Najpr zoznam vsetkych autorov (ich pocet je pre kazdu publikaciu iny) a potom nazov prislusnej publikace.
skus tak :
Mam spojovaciu tabulku:
AutorPublikcia
IdAutor
IdPublikacia
Potreboval by som pomoc pri vytvoreni dotazu SELECT, tak aby bol vysledok:
MenoAutora1,MenoAutora2,...,
MenoAutoraN: NazovPublikacie.
Cize: Najpr zoznam vsetkych autorov (ich pocet je pre kazdu publikaciu iny) a potom nazov prislusnej publikace.
skus tak :
Kód: Vybrať všetko
SELECT a.IdAutor, p.IdPublikacia FROM IdAutor a, IdPublikacia p, AutorPublikcia ap WHERE ap.IdAutor = ap.IdPublikacia
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Pomoc s SQL dotazom
štyria autori, jedna publikácia:skorec1 napísal:trosku sa mi nezda tvoj vstah, nie je to M:N ? moze mat jednu publikaciu s menom XXX viac autorov?
btw: kardinalita M:N je to isté ako N:N. Záleží od literátury, niekde je vedené tak, inde onak. Ty si asi narážal či to nie je náhodou vzťah 1:N prípadne N:1Jančar, P., Sawa, Z., Froeschle Sibylle, Lasota Slawomir: Non-Interleaving Bisimulation Equivalences on Basic Parallel Processes. In Information and Computation. 2009
-
skorec1
Expert
- Príspevky: 153
- Registrovaný: 20 apr 2008, 12:45
- Bydlisko: Humenne
- Kontaktovať používateľa:
Re: Pomoc s SQL dotazom
to tiez pravda, ja myslel ze len jeden autor viac publikacii 
podla mna kde je N:N to iste ako M:N je chyba, ako u koho
ale neje to opodstatnene, chcel ten select, nech skusi...
podla mna kde je N:N to iste ako M:N je chyba, ako u koho
ale neje to opodstatnene, chcel ten select, nech skusi...
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Pomoc s SQL dotazom
ak pokladáš N za ľubovolné celé kladné číslo >0, tak potom máš dve možnosti:
1) N na oboch stranách vyjadruje to isté číslo, a je to teda vzťah 1:1 (lebo napr. 5:5 je to isté ako 1:1)
2) N na oboch stranách znamená vo všeobecnosti číslo >0 a potom je to M:N
práve pre túto nejednoznačnosť sa pokladá N:N ako M:N, pretože N v kardinalite 1:N vyjadruje viacnásobnosť (a prvý prípad máme jednoznačne definovaný v 1:1). N:N teda možno interpretovať ako viac:viac čo zapisujeme ako M:N. V niektorých knihách môžeš nájsť N:N (i keď to nie je normalizovaný zápis) ale v kontexte vždy vyjadruje M:N
to len tak na margo
1) N na oboch stranách vyjadruje to isté číslo, a je to teda vzťah 1:1 (lebo napr. 5:5 je to isté ako 1:1)
2) N na oboch stranách znamená vo všeobecnosti číslo >0 a potom je to M:N
práve pre túto nejednoznačnosť sa pokladá N:N ako M:N, pretože N v kardinalite 1:N vyjadruje viacnásobnosť (a prvý prípad máme jednoznačne definovaný v 1:1). N:N teda možno interpretovať ako viac:viac čo zapisujeme ako M:N. V niektorých knihách môžeš nájsť N:N (i keď to nie je normalizovaný zápis) ale v kontexte vždy vyjadruje M:N
to len tak na margo