Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Konceptuální návrh databáze

Podobné prezentace


Prezentace na téma: "Konceptuální návrh databáze"— Transkript prezentace:

1 Konceptuální návrh databáze
Relační databáze Konceptuální návrh databáze

2 Základní komponenty Entita Atribut Relace Aplikační pravidlo
Průniková data

3 Entita Entita je osoba, místo, věc událost nebo myšlenka, o níž shromažďujeme nějaká data. Předměty reálného světa, o nichž sledujeme nějaké údaje a zaznamenáváme je do DB Podstatné jméno Reprezentuje celou třídu Výskyt jednoho zákazníka = instance Entita

4 Atribut Je jednotka faktů, která entitu nějakým způsobem charakterizuje nebo popisuje ZÁKAZNÍK JEDNOZNAČNÝ IDENTIFIKÁTOR ENTITY Kód zákazníka Firma Kontaktní osoba Adresa Telefon Město Každý atribut by měl být atomický, tedy dál nedělitelný

5 Relace – kardinalita, povinnost
Popisuje vzájemné vztahy „asociace“ mezi entitami Maximální kardinalita. = 1 nebo více Minimální kardinalita =1 nebo 0 o vztahu přemýšlíme pouze v jednom směru a nakonec opačně

6

7

8 Zákazník / objednávka 1. kolik objednávek může podat jeden zákazník?
2. kolik zákazníků je přiřazeno k 1 objednávce? TYPY RELACÍ 1:1 = jedna k jedné 1: N = jedna k více M : N = více k více Rekurzivní relace

9 Relace 1:1 Zákazník / Pohledávky
S každým zákazníkem může být spojen nejvýše jeden záznam pohledávek a každý účet pohledávek má přiřazeného nejvýše jednoho zákazníka.( zákazník, který má nezaplacenou pohledávku nemůže provádět další objednávky) Relace je povinná v obou směrech = může být sloučena v jednu entitu

10

11 Zaměstnanec / Automobil
Firma dává zaměstnancům k dispozici automobil V jednom okamžiku má zaměstnanec žádné nebo jedno auto. Jedno auto může být přiděleno jednomu, nebo žádnému zaměstnanci Vždy musíme uvažovat jeden okamžik.

12 Relace 1:N Zákazník / Objednávka
Jeden zákazník má v jednom okamžiku žádnou nebo více objednávek. Každá objednávka musí mít zákazníka. Nesmí existovat objednávka bez zákazníka. Tzn. Povinnost v jednom směru Objednávka Zákazník Na straně 1 bývají relace skoro vždy povinné

13

14 Relace M:N Objednávka / Výrobky
Průniková data = vazební entita = spojovací tabulka Objednávka / Výrobky V jednom okamžiku má objednávka více výrobků, a součastně každý výrobek může být ve více objednávkách. Řešení = dvě relace 1:N Průniková data Výrobek Objednávka

15

16 Rekurzivní relace Vztah mezi instancemi (výskyty) stejné entity
Zaměstnance / Z.nadřízený (manžel) 1:N = každý zaměstnanec má 1 nadřízeného 1:1 = zam. má jen jednoho manžela/manželku (v daném okamžiku) M:N = výrobek je složen se součástek, ale sám je součástí dalšího výrobku. (CD-ROM) Číslo zaměstnance Příjmení Jméno Funkce Číslo zam. Manžela Číslo zam. nadřízeného

17

18 Povinnost U vztahů určujeme kardinalitu, ale také tzv. povinnost.
Zda je vztah povinný či nepovinný. Dítě musí mít otce a matku … Zaměstnance nemusí mít firemní auto…

19 Aplikační pravidla Postup, který organizace přijala za svůj.
Např. přijetí objednávky zákazníka, který už zaplatil za předchozí objednávku. Tato pravidla aplikujeme v DB pomocí tzv. INTEGRITNÍCH OMEZENÍ

20 Logický návrh Proces mapování entit z konceptuálního návrhu do tabulek v logickém návrhu = normalizace. (1entita=1tabulka (většinou)) Data v DB nejsou uložena ve skutečné tabulkové formě Název tabulky je omezený počtem znaků Obvykle podstatné jméno v množném čísle (entita je pod. jméno v jednotném č.) Bez mezer, složení malých a velkých písmen, podtržítko apod.

21 Sloupce a datové typy Sloupec zobrazuje určitý atribut
Nejmenší pojmenovatelná jednotka dat Sloupec je dán názvem a datovým typem DATOVÝ TYP Omezuje množinu povolených dat Uživateli předkládá množinu chování Napomáhá efektivnímu uložení dat

22 Datový typ MS ACCESS MS SQL Server Oracle Znak s pevnou délkou Text
Char char Znak s proměnnou délkou Memo Varchar Dlouhý text Long Celočíselný Integer, long integer Integer, smallint, tinyint Number Desítkový číselný Decimal, numeric Měna Currency Money, smallmoney Není, používá se number Datum/čas Date/time Datetime Date

23 INTEGRITNÍ OMEZENÍ Pravidlo, které definujeme nad tabulkou nebo sloupcem a které omezuje přípustné datové hodnoty PRIMÁRNÍ KLÍČ Jednoznačně identifikuje každý řádek tabulky Složený PK

24 Referenční omezení = omezení referenční integrity
Zajišťuje konzistenci databáze Platnost relací s využitím tzv. cizích klíčů Zákazníci Objednávky 1 Kód zákazníka Číslo objednávky firma Kontaktní_osoba funkce adresa město země KódZákazníka číslo_ zaměstnance datumobjednavky Cizí klíč z tabulky zákazníci


Stáhnout ppt "Konceptuální návrh databáze"

Podobné prezentace


Reklamy Google