genialita v inteligentních relacích (vazbách)
Získejte z tabulek více...
Pokud máte samostatné tabulky, nepotřebujete MS Access, stačí Vám MS Excel. Pokud mezi tabulkami existují logické vazby, Excel již jednoduše nedokáže dvě tabulky logicky provázat. Elegantní a jednoduché spárování tabulek zvládne databázový program. Osobně doporučuji MS Access. Z jednoduchých tabulek tak vytvoříte relační databázi. Relační databáze se správně navrženými relacemi bude ohromnou zbraní. V tomto článku si teoreticky probereme, co relace jsou a jaké druhy relaci existují.
jak se dělí...
V databázových systémech existuji čtyři druhy relací:
Nyní si jednotlivé relace (vazby) rozebereme podrobněji.
Jednomu záznamu v tabulce odpovídá přesně jeden záznam v druhé tabulce.
Pokud naleznete tuto vazbu tak v databázi nemusí být databáze úplně v pořádku. Ve většině případu se, ale jedná o nevhodně navrženou databázi. Existuje pár výjimek, kdy se toto používá. Relace 1:1 může existovat u tabulek JMENA a BYDLIŠTĚ, kdy každému jménu je přiřazena právě jedna adresa.
Tabulka JMENA
id | jméno | příjmení |
---|---|---|
1 | Jan | Vopršálek |
2 | Jana | Nevopršálková |
3 | Pepa | Zdepa |
Tabulka BYDLIŠTĚ
id | ulice | Město |
---|---|---|
1 | Horní | Brno |
2 | Dolní | Praha |
3 | Střední | Ostrava |
Poznámka: U této tabulky je vhodné sloučit tabulky JMENA a BYDLIŠTĚ do jedné tabulky, třeba s názvem OSOBY
Sloučená tabulka OSOBY
id | jméno | příjmení | ulice | město |
---|---|---|---|---|
1 | Jan | Vopršálek | Horní | Brno |
2 | Jana | Nevopršálková | Dolní | Praha |
3 | Pepa | Zdepa | Střední | Ostrava |
Představte si tabulku OSOBY v databázi personálního oddělení. Kdy pro zahraniční zaměstnance potřebujete další údaje (číslo pasu, doba pobytu, rodný jazyk, rodná Země, bydlišti v cizině). Pokud umístíte tyto údaje do stejné tabulky, budou u českých zaměstnanců výše uvedená pole nevyplněna. Proto se vyplatí tabulku rozdělit na dvě. Tabulka OSOBY DOMACÍ a OSOBY CIZINCI, kdy pro několik cizinců vyplníte ještě druhou tabulku.
Jeden záznam v první tabulce odpovídá několika záznamům ve druhé tabulce.
Nejpoužívanější při tvorbě rozsáhlých databázi. Příkladem může být OSOBA a PŘEČTENÉ KNIHY. Jedna osoba může mít přečteno více knih. Viz následující příklad.
Poznámka: Jde o modelový příklad, kdy jedna osoba může mít přečteno více knih. To že některé knihy mohou být uvedeny v tabulce PŘEČTENÉ KNIHY několikrát, nehraje v tomto příkladu roli. Jde o modelové představení relace 1:N.
Tabulka OSOBY
id | jméno | příjmení |
---|---|---|
1 | Jan | Vopršálek |
2 | Jana | Nevopršálková |
3 | Pepa | Zdepa |
Tabulka PŘEČTENÉ KNIHY
id | Kniha |
---|---|
1 | Rumcajs |
1 | Cipísek |
1 | Maj |
1 | RUR |
3 | Ohníček |
Poznámka: Vidíme, že Jan Vopršálek je vášnivý čtenář, kdežto Jana Nevopršálková nečte :).
Více záznamu v první tabulce odpovídá více záznamům v druhé tabulce.
Příkladem vazby N:M jsou knihy a čtenáři. V knihovně je k dispozici obrovské množství knih a mnoho čtenářů. Pokud máme tabulky ČTENÁŘI a KNIHY, tak mezi tabulkou ČTENÁŘI a KNIHY je relace (vazba) N:M. Každý čtenář si může půjčit kteroukoli knihu.
Abychom v databázi mohli s relací (vazbu) N:M pracovat musíme ji převést na relaci (vazbu) 1:N (viz předchozí odstavec). Pro změnu na relaci 1:N je potřeba vytvořit pomocnou (spojovací) tabulku.
Pro změnu vazby N:M na použitelnou vazbu 1:N musíme vytvořit pomocnou tabulku VÝPŮJČKY. Mezi tabulkou ČTENÁŘI a VÝPŮJČKY je relace 1:N a mezi tabulkou VÝPŮJČKY a KNIHY je taktéž relace 1:N. Mezi tabulkami ČTENÁŘI a KNIHY stále existuje vazba N:M. Viz následující příklad.
Tabulka ČTENÁŘI
id čtenář | jméno | příjmení |
---|---|---|
1 | Jan | Vopršálek |
2 | Jana | Nevopršálková |
3 | Pepa | Zdepa |
Tabulka KNIHY
id kniha | Název knihy | Autor |
---|---|---|
11 | Babička | Němcová |
12 | RUR | Karel Čapek |
13 | Máj | K. H. Mácha |
Tabulka VÝPŮJČKY
id čtenář | id kniha | datum výpůjčky | datum vracení |
---|---|---|---|
1 | 11 | 1.1.2010 | 10.1.2010 |
1 | 12 | 1.1.2010 | 10.1.2010 |
1 | 13 | 1.1.2010 | 10.1.2010 |
2 | 11 | 20.1.2010 | 22.1.2010 |
3 | 11 | 2.2.2010 | |
3 | 12 | 2.2.2010 | |
1 | 13 | 5.2.2010 |
Jedná se o ukázkové příklady, sloužící pro pochopení vzájemných relací (vazeb).
Doufám, že jste pochopily, co to jsou relace (vazby). V dalším článku proberu jak relace vytvořit v MS Access 2010.
Článek byl aktualizován: 19.09.2020 11:08
Pomohl vám článek? Vyřešili jste problém? Můžete mě podpořit zakoupení tabulky (samozdřejmě čokoládové), když kafe nepiji ;) Odkaz na zakoupení čokolády. Za veškerou podporu vám děkuji a samozdřejmě jí využiji do zdokonalování a rozšířování webu.
Případně přidejte odkaz na vaši oblíbenou sociální síť, případně využijste hashtag #JakNaExcel .
Děkuji za váš čas a doufám, že jste nalezli odpověď na svůj problém.
Narazili jste v článku na nejasnost, chybu? Máte tip na vylepšení nebo doplnění článku? Budu rád pokud se zmínite v komentářích.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od dubna roku 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím 8x za sebou). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 20 let (o Excel píší přes 25). Zdarma je zde přes 1.500 návodu, tipů a triků, včetně přes 350 různých šablon, sešitů a přes 70 taháků v pdf.
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
LinkedIn... |
Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2025 |