Databázové modelování Databázové systémy Databázové modelování
Databázové modelování Cílem databázového modelování je návrh kvalitní datové struktury pro konkrétní aplikaci a databázový systém Databázový model je nástroj pro reprezentaci struktury a funkcionality databáze a umožňuje definovat: schéma databáze – organizaci dat způsoby ochrany databáze zajištění integrity dat přípustné operace s daty
Databázové modelování Existují 3 úrovně struktury dat a abstrakce modelované reality
Databázové modelování Externí schéma Uživatelský pohled a požadavky na databázi s využitím termínů uživatele. Schéma není úplné. Konceptuální úroveň Snaha o popis předmětné oblasti datové základny Implementačně nezávislá úroveň - bez pohledu na pozdější způsoby implementace Konceptuální model je pojetí reality pomocí objektů a jejich vlastností Je výsledkem datové analýzy a nezávislý na prostředí implementace.
Databázové modelování Technologická úroveň V relačních databázích je technologický model reprezentován tzv. relačními schématy. Technologický model určuje, jak je obsah systému realizován Relační schéma obsahuje: Tabulky – jako vyjádření reálného objektu - entity Sloupce tabulek – jako vyjádření vlastností entity – atributů Určení primárních a cizích klíčů Integritní omezení a určení parciality
Databázové modelování Implementační úroveň Je zde předkládán způsob uložení dat v počítači, fyzická reprezentace položek způsob sdružování záznamů do souborů charakteristiky souborů Jde o výběr konkrétní databázové platformy (SŘBD) s využitím specifik vývojového prostředí dané platformy (programovací jazyk, grafické uživatelské rozhraní apod.)
Databázové modelování Konceptuální schéma Formalizovaný popis zájmové reality, jejich objektů a vztahů mezi nimi – fakta o reálném světě, ne však popis dat přímo v Pc. Je výsledkem datové analýzy a musí být srozumitelné i pro zadavatele jako neprogramátora. Existují 4 typy konceptuálních modelů: Hierarchický Síťový Entitně relační Objektový
Databázové modelování Entitně relační model Popisuje objekty a jejich vztahy buď lineárním textovým zápisem nebo graficky pomocí tzv. E-R Diagramu. Pro tvorbu modelu je nutné znát: Typ entit Typ vztahů mezi entitami Atributy jednotlivých entit
Databázové modelování Entitně relační model Příklad: Je potřeba malá databáze s evidencí výuky a učitelů. Entity v tomto případě jsou: UČITEL a PŘEDMĚT Vztah mezi entitami pak: UČÍ Lineární zápis: E: Učitel (os_číslo, jméno, pracoviště) Předmět (číslo_předmětu, název) V: Učí (Učitel, Předmět)
Databázové modelování Entitně relační model Grafické vyjádření (E-R diagram) Používá tyto grafické objekty: Vyjádření stejného příkladu:
Databázové modelování Objektový model Obdoba E-R diagramu Každý uzel diagramu je rozdělen do 2-3 částí (nahoře Název typu entity, uprostřed seznam atributů, dole seznam operací definovaných nad typem entity). Vztahy se zapisují na spojovací hranu mezi uzly.
Databázové modelování Logické schéma Logické schéma resp. modely na této úrovni určují, jak je obsah systému realizován. Podle typu modelovaných vztahů mezi záznamy se na této úrovni rozlišují tyto modely: Hierarchický databázový model Síťový databázový model Relační databázový model Objektově orientovaný databázový model Z těchto modelů jsou pak definovány i jednotlivé typy databází.
Databázové modelování Relační databázový model Má jednoduchou strukturu Model sdružuje data v tabulkách (tzv. Relacích) Řádky označují jednotlivé záznamy (tzv. n-tice) Sloupce označují atributy - Jsou pevně stanoveny svým názvem a doménou (tato určuje datový typ a rozsah) Primární klíč – jeden nebo množina atributů jednoznačně určující jednotlivé n-tice (záznamy) Vazby (vztahy) mezi jednotlivými relacemi (tabulkami) jsou tvořeny pomocí sloupců stejného typu
Databázové modelování Relační databázový model Schéma relace jako pomocný aparát Určuje název relace, kolik má sloupců a jaké jsou jejich názvy a domény Úplné relační schéma jde o transformaci E-R diagramu do relačních schémat s jednoznačným určením primárních klíčů, cizích klíčů, integritních omezení a datových typů jednotlivých polí.
Databázové modelování Relační databázový model Úplné relační schéma hlavní tabulka závislá tabulka
Databázové modelování Relační databázový model