Návrh databáze je proces vytváření databázového schématu a stanovení požadovaných omezení integrity .
Hlavní cíle:
Konceptuální (infoologický) design je konstrukce sémantického modelu předmětné oblasti, tedy informačního modelu nejvyšší úrovně abstrakce. Takový model je vytvořen bez zaměření na nějaký konkrétní DBMS a datový model . Pojmy „sémantický model“, „konceptuální model“ a „infoologický model“ jsou synonyma. Navíc slova „model databáze“ a „model domény“ (například „koncepční databázový model“ a „koncepční doménový model“) lze v tomto kontextu použít stejně, protože takový model je jak obrazem reality, tak i obrázek databáze návrhů pro tuto realitu.
Konkrétní forma a obsah konceptuálního databázového modelu je dán k tomu zvoleným formálním aparátem. Běžně se používají grafické zápisy podobné ER diagramům .
Nejběžnější koncepční databázový model zahrnuje:
Logický (datalogický) návrh - vytvoření databázového schématu založeného na konkrétním datovém modelu , například relačním datovém modelu . Pro relační datový model je datalogický model sada schémat vztahů , obvykle označující primární klíče a také „vazby“ mezi vztahy, což jsou cizí klíče .
Transformace konceptuálního modelu na model logický se zpravidla provádí podle formálních pravidel. Tento krok lze do značné míry automatizovat.
Ve fázi logického návrhu se berou v úvahu specifika konkrétního datového modelu, ale nemusí být zohledněna specifika konkrétního DBMS.
Fyzický návrh - vytvoření databázového schématu pro konkrétní DBMS . Specifika konkrétní DBMS mohou zahrnovat omezení pojmenování databázových objektů, omezení podporovaných datových typů atd. Kromě toho specifika konkrétní DBMS během fyzického návrhu zahrnují volbu rozhodnutí souvisejících s prostředím fyzického úložiště dat (tzv. volba metod pro správu diskové paměti, oddělení databáze podle souborů a zařízení, metody přístupu k datům), vytváření indexů atd.
Výsledkem fyzického návrhu výše uvedeného logického obvodu v jazyce SQL může být následující skript:
VYTVOŘIT TABULKU , POKUD NEEXISTUJE Oddělení ( -- ID oddělení INT NOT NULL , název VARCHAR ( 45 ), PRIMÁRNÍ KLÍČ ( id ) ); VYTVOŘIT TABULKU , POKUD NEEXISTUJE Skupina ( id INT NOT NULL , název VARCHAR ( 45 ) , depart_id INT NOT NULL , UNIQUE INDEX depart_id_UNIQUE ( depart_id ASC ) , PRIMÁRNÍ KLÍČ ( id , depart_id ) , OMEZENÍ id_depart_fk REID FORID _ _ _ _ _ ) ); VYTVOŘIT TABULKU , POKUD NEEXISTUJE Student ( křestní_jméno VARCHAR ( 16 ) NOT NULL , příjmení VARCHAR ( 45 ) NOT NULL , email VARCHAR ( 255 ) , group_id INT NOT NULL , PRIMARY KEY ( last_name , first_name , Aid_group_id_f group_k ) ) , _ _ , OMEZENÍ group_fk CIZÍ KLÍČ ( id_skupiny ) REFERENCE Group ( id ) ) ;Při návrhu relačních databází se obvykle provádí tzv. normalizace.
„ Entity -Relationship model“ , neboli ER-model navržený P. Chenem [1] v roce 1976, je nejznámějším zástupcem třídy sémantických (konceptuálních, infologických) doménových modelů . ER model je obvykle prezentován v grafické podobě s použitím originálního zápisu P. Chena, nazývaného ER diagram , nebo pomocí jiných grafických zápisů ( Crow's Foot , Information Engineering atd.).
Hlavní výhody modelů ER:
Hlavní prvky modelů ER:
Entita je objekt domény, který má atributy.
Vztah mezi entitami je charakterizován:
Sémantický model (konceptuální model, infoologický model) je doménový model navržený tak, aby reprezentoval sémantiku domény na nejvyšší úrovni abstrakce. To znamená, že je eliminována nebo minimalizována potřeba používat „nízkoúrovňové“ koncepty spojené se specifiky fyzické reprezentace a ukládání dat.
Datum KJ Úvod do databázových systémů. - 8. vyd. - M.: "Williams", 2006 :
Sémantické modelování je předmětem intenzivního výzkumu od konce 70. let 20. století. Hlavním motivem takových studií (tedy problému, který se výzkumníci snažili vyřešit) byla následující skutečnost. Faktem je, že databázové systémy mají obvykle velmi omezené znalosti o významu dat v nich uložených. Nejčastěji umožňují pouze manipulaci s daty určitých jednoduchých typů a definují některá jednoduchá omezení integrity uložená na tato data. Případný složitější výklad je ponechán na uživateli. Bylo by však skvělé, kdyby systémy mohly mít trochu více informací a trochu inteligentněji reagovat na požadavky uživatelů a také podporovat složitější uživatelská rozhraní (tedy vyšší úrovně).
[…]
Myšlenky sémantického modelování mohou být užitečné jako nástroj pro návrh databáze, i když nejsou přímo podporovány v DBMS.
Nejznámějším zástupcem třídy sémantických modelů je entitně-relační model (ER-model).
Databáze | |
---|---|
Koncepty |
|
Objekty |
|
Klíče | |
SQL | |
Komponenty |