Návrh databáze

Database Design

Lis Sulmont

Curriculum Manager

Co je návrh databáze?

  • Určuje, jak jsou data logicky uložena
    • Jak budou data čtena a aktualizována?
  • Využívá databázové modely: specifikace struktury databáze na vysoké úrovni
    • Nejrozšířenější: relační model
    • Další možnosti: modely NoSQL, objektově orientovaný model, síťový model
  • Využívá schémata: plán databáze
    • Definuje tabulky, pole, vztahy, indexy a pohledy
    • Při vkládání dat do relačních databází musí být schémata dodržena
Database Design

Datové modelování

Proces vytváření datového modelu pro ukládaná data

1. Konceptuální datový model: popisuje entity, vztahy a atributy

  • Nástroje: diagramy datových struktur, např. ER diagramy a UML diagramy

2. Logický datový model: definuje tabulky, sloupce, vztahy

  • Nástroje: databázové modely a schémata, např. relační model a hvězdicové schéma

3. Fyzický datový model: popisuje fyzické uložení

  • Nástroje: oddíly, CPU, indexy, zálohovací systémy a tabulkové prostory
1 https://en.wikipedia.org/wiki/Data_model
Database Design

Konceptuální – ER diagram

ER diagram na příkladu písní

Entity, vztahy a atributy

Logický – schéma

Logické schéma na příkladu písní

Nejrychlejší převod: entity se stanou tabulkami

Database Design

Další možnosti návrhu databáze

Další příklad možného ER diagramu na příkladu písní

Určení tabulek

Další příklad možného ER diagramu na příkladu písní

Database Design

Za hranice relačního modelu

Dimenzionální modelování

Adaptace relačního modelu pro návrh datového skladu

  • Optimalizováno pro dotazy OLAP: agregace dat, nikoli aktualizace (OLTP)
  • Postaveno na hvězdicovém schématu
  • Snadná interpretace a rozšíření schématu
Database Design

Prvky dimenzionálního modelování

Tabulka faktů a tabulky dimenzí na příkladu písní

Organizace podle:

  • Co je analyzováno?
  • Jak často se entity mění?

Tabulky faktů

  • Určeny obchodním případem použití
  • Uchovávají záznamy metriky
  • Pravidelně se mění
  • Propojeny s dimenzemi přes cizí klíče

Tabulky dimenzí

  • Uchovávají popisy atributů
  • Mění se méně často
Database Design

Pojďme cvičit!

Database Design

Preparing Video For Download...