Přeskočit navigaci | Přeskočit na novinky

Jste zde: Úvodní stránka » access » tabulky » relace-vazby-v-databazich-teorie

Relace v databázích - teorie

genialita v inteligentních relacích (vazbách)

Proč relace

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í.

Druhy relací (vazeb)

jak se dělí...

V databázových systémech existuji čtyři druhy relací:

  • Relace 1:1 - nejjednodušší vazba
  • Relace 1:N - Tyto vazby jsou v projektu nejčastější
  • Relace N:M - tuto vazbu je nutno převést relační vazbu 1:N
  • Bez relace - tj. mezi tabulkami není žádný vztah

Nyní si jednotlivé relace (vazby) rozebereme podrobněji.

Relace 1:1

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.

Příklad relace 1:1

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říklad kdy je vhodné tabulku rozdělit

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.

Relace 1:N

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.

Příklad 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 :).

Relace N:M

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.

Příklad relace N:M

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  

Poznámka

Jedná se o ukázkové příklady, sloužící pro pochopení vzájemných relací (vazeb).

Závěrem

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

Podpora - oceňte web a pozvěte mě na čokoládu

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 .

Poděkování

Děkuji za váš čas a doufám, že jste nalezli odpověď na svůj problém.

Vylepšení

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.


Pavel Lasák - autor webu

Pavel Lasák

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.

   Pavel Lasák LinkedIn Profil    Pavel Lasák twitter Profil





Sdílejte

Pomohl Vám návod?
Sdílejte na Facebooku, G+
LinkedIn...

Nové články


Reklama


TOPlist Licence Creative Commons webarchiv rss XML

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 |