|
![]() | RelaΦn∞ propojenΘ formulß°e | ![]() | Nßvrh funkΦnosti formulß°∙ | Ukazatele a p°ivazovßnφ zßznam∙ | ![]() |
TΘm∞° ka₧dß netrivißlnφ databßzovß aplikace pracuje s vφce tabulkami, kterΘ jsou v urΦitΘm vzßjemnΘm vztahu. 602SQL vztahy mezi tabulkami °eÜφ dv∞ma zp∙soby: propojenφm relaΦnφm a propojenφm ukazatelov²m. Zatφmco propojovßnφ dat pomocφ ukazatel∙ obvykle p°inßÜφ rychlejÜφ v²sledky v jednoduch²ch aplikacφch, relaΦnφmu propojenφ dßme p°ednost ve slo₧it∞jÜφch p°φpadech.
V dalÜφm budeme p°edpoklßdat, ₧e relace mezi tabulkami jsou ji₧ definovßny a pojmenovßny v aplikaci. Na jmΘna relacφ se budete odvolßvat v akcφch otevφrajφcφch relaΦnφ formulß°e.
JakΘ vztahy rozliÜujeme
Uva₧ujme dv∞ tabulky TA
a TB
, jejich₧ zßznamy chceme propojovat. V prvnφ °ad∞ je nutno rozliÜit druh vazby mezi jejich zßznamy. M∙₧e nastat jeden ze t°φ p°φpad∙:
Vztah 1:1: Ka₧dΘmu zßznamu v tabulce TA
odpovφdß prßv∞ jeden zßznam v tabulce TB
a naopak.
Vztah 1:N: Ka₧dΘmu zßznamu v tabulce TA
odpovφdß mno₧ina zßznam∙ z tabulky TB
, ale ka₧d² zßznam z tabulky TB
p°φsluÜφ k nejv²Üe jednomu zßznamu z tabulky TA
(v "siln∞jÜφ" variant∞ ka₧d² zßznam z tabulky TB
p°φsluÜφ k prßv∞ jednomu zßznamu z tabulky TA
, v tabulce TB
tedy nejsou zßznamy, kterΘ by nepat°ily k ₧ßdnΘmu zßznamu z TA
).
Vztah M:N: Ka₧dΘmu zßznamu v tabulce TA
odpovφdß mno₧ina zßznam∙ z tabulky TB
a naopak ka₧dΘmu zßznamu v tabulce TB
odpovφdß mno₧ina zßznam∙ z tabulky TA
.
Vztahem 1:1 se nebudeme podrobn∞ji zab²vat. Tabulky TA
a TB
lze toti₧ spojit do jednΘ tabulky, bu∩ fyzicky anebo pomocφ SQL. Pokud by platilo, ₧e ka₧dΘmu zßznamu v tabulce TA
odpovφdß nejv²Üe jeden zßznam v tabulce TB
, pak jde o specißlnφ p°φpad vztahu 1:N a lze s nφm takto pracovat.
V ostatnφch p°φpadech p°epoklßdejme, ₧e pro vyjßd°enφ vztahu mezi zßznamy slou₧φ sloupec A
v tabulce TA
a sloupec B
v tabulce TB
. Obecn∞ v relaci m∙₧e b²t definovßno vφce dvojic sloupc∙, ale na podstatn∞ v∞ci to nic nem∞nφ.
Pozor: Pro efektivnφ prßci s relaΦn∞ propojen²mi zßznamy je t°eba, aby v tabulce TA
byl index ke sloupci A
a v tabulce TB
index ke sloupci B
.
Seznam subsekcφ:
![]() | RelaΦn∞ propojenΘ formulß°e | ![]() | Nßvrh funkΦnosti formulß°∙ | Ukazatele a p°ivazovßnφ zßznam∙ | ![]() |