Mohutnost (modelování dat) - Cardinality (data modeling)
![]() | The hlavní část tohoto článku možná bude třeba přepsat. Důvod je uveden: Žádná definice v úvodu.Říjen 2019) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
The mohutnost a připojit se mezi dvěma tabulkami je číselný vztah mezi řádky jedné tabulky a řádky ve druhé. Mezi běžné kardinality patří jedna ku jedné, jedna k mnoha, a mnoho k mnoha.
Zvažte například databázi elektronické zdravotní záznamy. Taková databáze může obsahovat následující tabulky:
- A
doktor
tabulka s informacemi o lékařech. - A
trpěliví
tabulka pro léčené subjekty. - An
setkání
tabulka se záznamem pro každou návštěvu nemocnice.
Mezi těmito entitami existují přirozené vztahy, například setkání mnoha lékařů. Tady je mnoho k mnoha vztah mezi záznamy v doktor
a záznamy v trpěliví
protože lékaři mají mnoho pacientů a pacienti mohou vidět mnoho lékařů. Tady je jedna k mnoha vztah mezi záznamy v trpěliví
a záznamy v setkání
protože pacienti mohou mít mnoho setkání a každé setkání zahrnuje pouze jednoho pacienta.
Vztah „jedna k jedné“ se většinou používá k rozdělení tabulky na dvě části, aby byly informace stručné a srozumitelnější. V nemocničním příkladu by takový vztah mohl být použit k oddělení samostatných lékařských jedinečných profesionálních informací od administrativních údajů.
v modelování dat, kolekce datových prvků jsou seskupeny do „datových tabulek“, které obsahují skupiny názvů datových polí s názvem „atributy databáze“. Tabulky jsou propojeny pomocí „klíčových polí“. „Primární klíč“ přiřadí pole k jeho „tabulce zvláštních objednávek“. Například pole „Doktor příjmení“ může být přiřazeno jako primární klíč tabulky Doktor se všemi lidmi, kteří mají stejné příjmení uspořádané abecedně podle prvních tří písmen svého křestního jména. Stůl může mít také a cizí klíč což znamená, že pole je spojeno s primárním klíčem jiné tabulky.
Složitý datový model může zahrnovat stovky souvisejících tabulek. Počítačový vědec Edgar F. Codd vytvořil systematickou metodu rozložení a organizace relační databáze. Coddovy kroky pro organizaci databázových tabulek a jejich klíčů se nazývají normalizace databáze, což zabrání určitým skrytým chybám návrhu databáze (smazat anomálie nebo aktualizovat anomálie). V reálném životě proces normalizace databáze končí rozdělením tabulek na větší počet menších tabulek.
V reálném světě je modelování dat zásadní, protože s rostoucím objemem dat je nutné použít tabulky propojené klávesami, aby se urychlilo naprogramované načítání dat. Pokud je datový model špatně vytvořen, dokonce i počítačový aplikační systém s pouhým milionem záznamů dá koncovým uživatelům nepřijatelné časové zpoždění. Z tohoto důvodu je datové modelování základním kamenem dovedností, které potřebuje moderní vývojář softwaru.
Techniky modelování databází
The model entita-vztah navrhuje techniku, která vytváří diagramy vztahů mezi entitami (ERD), které lze použít k zachycení informací o typech entit, vztazích a mohutnosti datových modelů. A Crowova noha ukazuje a jedna k mnoha vztah. Alternativně jeden řádek představuje vztah jedna k jedné.
Přístupy k modelování aplikačních programů
V objektově orientovaném paradigmatu aplikačního programování, který souvisí s návrhem databázové struktury, UML třídní diagramy lze použít pro objekt modelování. V takovém případě se objektové vztahy modelují pomocí přidružení UML a na označení těchto asociací se používá multiplicita mohutnost. Zde jsou nějaké příklady:
Vztah | Příklad | Vlevo, odjet | Že jo | Příběh |
---|---|---|---|---|
Jeden na jednoho | osoba ← → rodný list | 1 | 1 | Osoba musí mít svůj vlastní rodný list |
Jeden na jednoho (volitelně na jedné straně) | osoba ← → řidičský průkaz | 1 | 0..1 nebo ? | Osoba může mít řidičský průkaz |
Mnoho na jednoho | osoba ← → rodiště | 1..* nebo + | 1 | Mnoho lidí se může narodit na stejném místě |
Mnoho na mnoho (volitelně na obou stranách) | osoba ← → rezervovat | 0..* nebo * | 0..* nebo * | Osoba může vlastnit knihy |
Jeden k mnoha | objednat ← → řádková položka | 1 | 1..* nebo + | Objednávka obsahuje alespoň jednu položku |
Mnoho na mnoho | kurz ← → student | 1..* nebo + | 1..* nebo + | Studenti navštěvují různé kurzy |