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
Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). 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 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.
Přidáno: 28.03.12 19:05
Moc hezky vysvětleno ;)
Přidáno: 07.06.12 22:37
ach bože díky za tento článek!
Přidáno: 13.06.12 07:36
Jednoduše a přehledně :) Pěkné
Přidáno: 12.09.12 04:45
Super, díky za tokové lidi, kteří i zadarmo něco vysvětlí a pomohou :)
Přidáno: 26.09.12 19:57
Děkuji ti za tento článek. :-)
Přidáno: 27.09.12 07:00
To Kašpi, Diky, iwitrag, Clavien, Soran: Rádo se stalo.
Přidáno: 22.10.12 12:30
děkuji za tuto stránku :-* :-*
Přidáno: 22.10.12 12:32
děkuji za tuto stránku :-* :-*
Přidáno: 24.10.12 08:34
thank you very much ...!!!
Přidáno: 24.10.12 16:50
To Edward: You're welcome.
Přidáno: 03.01.13 16:58
Dobré odpoledne pane Lasáku, Předem díky za skvělý web pro uživatele MS produktů, měli by vám za to posílat desátek. Mám dotaz k využití primárního klíče. Pokud vstupní data nebo exportovaná tabulka už obsahuje všechny informace a není nutné relaci použít, jakou výhodou bude zadat primární klíč? Např. Pokud vtupní informace je na jednom řádku jméno,přijmení,kniha,název knihy,popis, od-do atd. Díky za odpověď!
Přidáno: 03.01.13 18:15
To Vítězslav: Vhodné je počítat s možným rozšířením do budoucna. Osobně to vidím tak, že firma má data, ale zatím neví jak je využít. Do budoucna na to přijde a bude ejdnodužší dabulky pomocí relace spojit. Pokud 100% víte, že nebude potřeba, tak primarní klíč použít nemusíte.
Přidáno: 06.01.13 16:34
Dobrý den, Na začátku velice kladně hodnotím tento web a chci se zeptat jestli by bylo možné zaslat nějakou zkušební databázi 1:N jsem uplný laik a chtěl bych mít nějakou inspiraci pro další tvorbu? Předem děkuji za odpověď
Přidáno: 07.01.13 21:51
dobře ty/vy vysvětleno opravdu přehledně a jednoduše a to je dobře
Přidáno: 07.01.13 22:39
To Jan: V plánu to mám, ale z pracovních důvodů má teď přednost Excel. Přímo v Access jsou k dispozici ukázkové databáze Menu soubor - Nový - Ukázkové šablony. Snad pomohou než vytvořím vlastní.
Přidáno: 07.01.13 22:42
To Tomas: klidně můžeš tykat. Jsem rád, že text je pochopitlený.
Přidáno: 08.01.13 10:07
Lidi od MS produktů jsou fakt tragédi :-( horší je, že těmi svými žvásty pletou ostatní, zejména začátečníky. Přečtěte si prosím alespoň Wikipedii, ať víte, co to jsou relace v relačních databázích. Ne, opravdu to nejsou vazby 1:1, 1:N atd. mezi tabulkami. http://cs.wikipedia.org/wiki/Rela%C4%8Dn%C3%AD_datab%C3%A1ze http://cs.wikipedia.org/wiki/Rela%C4%8Dn%C3%AD_model http://cs.wikipedia.org/wiki/Relace_%28matematika%29
Přidáno: 08.01.13 17:00
To Korektor: Děkuji za doplnění, bohužel začátečnící co hledají informace o Microsoft Access kdy potřebují vytvořit "relace" hledají slovo "relace" protože takhle to Microsoft přeložil. Psát o kardinalitě vztahu (jak uvádí wikipedie) tak tento článek nanaleznou microsoft začátečníci, kteří potřebuji vytvořit vztahy mezi tabulkami "relaci".
Já to vidím tak, že důležitější než slovo jak bude vazba pojmenována je pochopit princip jak spojit řádky/záznamy ze dvou tabulek.
Děkuji za odkazy, koho bude problematika zajímat detajlněji může se podívat na Wikipedii a dále si rozšiřit vědomosti.
Přidáno: 03.04.13 14:03
super
Přidáno: 28.10.13 17:31
Good
Přidáno: 12.03.14 14:54
Dobrý den, děkuji a velmi si vážím toho, že jste vytvořil takové zajímavé a poučné stránky. Hezký den. Alena
Přidáno: 13.03.14 17:18
To Alena: Rádo se stalo, jsem rád že slouží a pomáhají.
Přidáno: 21.04.14 22:26
Opravdu skvěle vypracovano. Moc mi to pomohlo :) dekuju Vám :)
Přidáno: 13.05.16 02:59
Prave se to ucim k maturite... diky moc za tento clanek tyjo!!!!
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 - 2024 |