1 / 26

Databázové systémy

Databázové systémy. Přednáška č. 2 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:

maine
Download Presentation

Databázové systémy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Databázové systémy Přednáška č. 2 Databázové modelování

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

  3. Databázové modelování • Existují 3 úrovně struktury dat a abstrakce modelované reality

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

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

  6. 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.)

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

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

  9. 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)

  10. 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:

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

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

  13. Databázové modelování Hierarchický databázový model • Logické uspořádání dat založeno na stromové struktuře. • Lze vyjádřit pouze vztahy kardinality 1:N ve směru shora dolů. • Každý záznam představuje uzel ve stromové struktuře a vztah mezi záznamy je typu Rodič/Potomek. Použití je vhodné tam, kde i realita má hierarchickou strukturu, např. organizační či skladové systémy.

  14. Databázové modelování Hierarchický databázový model Musí platit: • Záznam nemůže patřit do více jak jednoho setu. • Vlastníkem je rodič, člen je označen jako potomek. • Každý potomek může mít vždy jednoho rodiče. Nevýhody • Vzniká zde nepřirozená organizace dat • Vztahy typu M:N se musí řešit virtuálními záznamy • Jsou složité operace s vkládáním a rušením záznamů (využívá se sekvenčního procházení stromu nebo jeho větví)

  15. Databázové modelování Hierarchický databázový model Příklad struktury hierarchického modelu dat

  16. Databázové modelování Síťový databázový model • Jde o zobecnění hierarchického modelu dat, který doplňuje o mnohonásobné vztahy. • Data jsou uspořádána logicky i fyzicky jako uzly rovinného grafu. • Jakýkoli záznam může být spojený s libovolným počtem dalších záznamů. • Zavádí se zde určité pojmy: • Typ záznamu (Record) je název pro typ entity • Komponenta je název pro atribut • Set definuje vztah mezi dvěma typy záznamů • Výskyt záznamu – je název jednotlivé entity v samotné databázi

  17. Databázové modelování Síťový databázový model • Nevýhodou síťového modelu jsou změny struktury databáze při aktualizaci. Počáteční návrh struktury musí být řešen vytvořením nové databáze. • Manipulace s daty se děje procedurálně procházením grafu cestou definovanou ukazateli.

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

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

  20. Databázové modelování Relační databázový model Úplné relační schéma hlavní tabulka závislá tabulka

  21. Databázové modelování Relační databázový model

  22. Databázové modelování Objektové databázové modely • Potřeba uchovávat a databázové zpracovávat data z programů vytvořených v objektově orientovaných programovacích jazycích. • Objektové databáze skrývají dva vzájemně odlišné datové modely: 1. Objektově relační datový model – doplnění relačního modelu o datové struktury objektově orientovaných programovacích jazyků 2. Objektově orientovaný datový model – přetvoření, vylepšení a doplnění síťového datového modelu o práci s objekty objektového projektování

  23. Databázové modelování Objektově orientovaný datový model • Při zjednodušení lze připustit vztah: síťový datový model + objektové typy dat + polymorfismus = objektový datový model • Polymorfismus (mnohotvarost) je vlastnost umožňující pojmenovat metodu jedním jménem a tato metoda může být společná pro různé objekty v celé struktuře, i když pro každý objekt v této struktuře se bude chovat různě.

  24. Databázové modelování Objektově orientovaný datový model Zavádí se zde určité pojmy a charakteristiky rozdílné od Relačního datového modelu: • Objekt – prvek množiny (záznam) složený z vnitřních datových složek (jiné objekty nebo metody). • Sada (collection) – množina objektů – slouží jako úložiště objektů

  25. Databázové modelování Objektově orientovaný datový model • Třída objektů – realizace datového typu objektů (Array, List, Set,…) • Metoda objektu – představují funkční stránku objektu • Přístupové metody – manipulují s datovými složkami objektu (zápis nových nebo čtení hodnoty datových složek) • Složitější – např. výpočtové – vypočítávají z objektů data, která nebyla uložena samostatně jako jedna položka

  26. Databázové modelování Objektově orientovaný datový model • Identifikátor (OID – Object IDentifier) – jednoznačný identifikátor, zůstává stejný i při změně všech datových složek objektu Výhody: • Rychlost - schopnost zvládat stovky transakcí za sekundu • Možnost současného více uživatelského připojení • Možnost pracovat v bázi dat i se soustavou objektů ve formě aplikací • Dostupnost různých atributů pro uživatele podle přístupových práv

More Related