Relan databzov technologie Kl mnoina mon jednoprvkov atribut
Relační databázová technologie Klíč: množina (možná jednoprvková) atributů (sloupců), jež jednoznačně identifikuje danou entitu. Poznámky: 1. Daný entitní typ (tabulka) může mít více klíčů. Například (i) rodné číslo, (ii) osobní číslo zaměstnance, (iii) syntetický klíč. 2. Každá tabulka má alespoň jeden klíč. V (opravdové) relační databázi nemůže tabulka obsahovat více řádků s týmiž hodnotami v jednotlivých sloupcích.
Relační databázová technologie Cizí klíč: množina (možná jednoprvková) atributů (sloupců), jejichž hodnota určuje hodnotu klíče jiné tabulky. Poznámky: 1. Datový typ jednotlivých atributů musí být kompatibilní s datovým typem odpovídajících atrinutů klíče referencované tabulky. 2. Cizí klíč (fk) není (nemusí být) v dané tabulce klíčem. 3. Vztah mezi entitami se realizuje asociativní vazbou cizí klíč -> primární klíč (pk). 4. Vzhledem k tomu, že tabulka může mít více klíčů, je dobré jeden z nich zvolit a systematicky ho používat k realizaci vztahů s ostatními tabulkami. Takto zvolený klíč nazýváme klíčem primárním.
Převod konceptuální model -> logický model • Entitní typ -> tabulka • Atribut entitního typu -> sloupec tabulky • Vztah: – 1: 1 nebo 1: N: • vztah->cizí klíč na straně N • atribut vztahu -> sloupec tabulky na straně N – N: M: • Vztah -> „vazební“ tabulka • Atribut vztahu -> sloupec vazební tabulky
Relační databáze Implementace entitního typu - tabulka Implementace vztahu – klíč, cizí klíč Osoba N (0, N) narozena v 1 (1, 1) • Klíč • Primární klíč • Cizí klíč Vztah Osoba – Město: konektivita N : 1 kardinalita 0, N : 1, 1 Město
Relace vzniklá spojením jiných relací (equi)JOIN
Vztah (relationship) Parcialita c d vztah Město a Konektivita Osoba b Notace Crow's Foot (autor: James Martin)
Rekurzivní vztah Jak budeme modelovat vztah mezi osobou a matkou dané osoby? Matka osoby je rovněž osobou, nemůže být tudíž v jiné tabulce! Osoba R_CISLO (PK) Jmeno Prijmeni ma-matku Osoba Primární klíč R_CISLO (PK) Jmeno Prijmeni R_CISLO_MATKY Cizí klíč Notace Crow's Foot
Reflexivní vztah 1
Reflexivní vztah 1 Reflexivní povinná reference Reflexivní reference nemůže mít povinnou hodnotu <M> = mandatory.
Reflexivní vztah 2 Nepovinná hodnota cizího klíče
Vztah N: M EntitníTyp 1 vztah EntitníTyp 2 Dekompozice vztahu s konektivitou N: M na dva vztahy s konektivitou 1: N EntitníTyp 1 vztah Notace Crow's Foot EntitníTyp 2
Vztah N: M Predmet Ucitel R_CISLO (PK) Jmeno Prijmeni vyucuje Kod (PK) Skol_rok Trida Nazev Rocnik Hodin_tydne Notace Crow's Foot
Konceptuální model Logický model
Slabý entitní typ 1 Notace Crow's Foot
Slabý entitní typ 1 Notace Crow's Foot
Slabý entitní typ 1 Notace Crow's Foot
Slabý entitní typ 1 Notace Crow's Foot Není to divné? Sloupec IČO tu máme 2 x Tento sloupec tu bude 2 x
Slabý entitní typ 1 Notace Crow's Foot
Slabý entitní typ 2
Slabý entitní typ 2
Řídící entitní typ. Slabý entitní typ 2 Identifikující vztah (vazba) Slabý entitní typ 1111 Nemocnice Motol 224 43 2222 Honda Motol 234 09 11111111 22222222 1111 2920 2101 1111 6690 Ústředna Kardiocentrum Novorozenecké oddělení Recepce Prodej nových vozů
Slabý entitní typ 3
- Slides: 22