datab zov syst my
Download
Skip this Video
Download Presentation
Databázové systémy

Loading in 2 Seconds...

play fullscreen
1 / 22

Databázové systémy - PowerPoint PPT Presentation


  • 113 Views
  • Uploaded on

Databázové systémy. Přednáška č. 2. Relační model dat. Zveřejněn v r. 1970 E. F. Coddem Základní myšlenky jsou: Oddělení dat (relací) od jejich implementace Při manipulaci s daty se nezajímáme o přístupové mechanismy k datům

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Databázové systémy' - dalila


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
datab zov syst my

Databázové systémy

Přednáška č. 2

rela n model dat
Relační model dat
  • Zveřejněn v r. 1970 E. F. Coddem
  • Základní myšlenky jsou:
    • Oddělení dat (relací) od jejich implementace
    • Při manipulaci s daty se nezajímáme o přístupové mechanismy k datům
    • Pro manipulaci s daty se využívají dva prostředky – relační algebra a relační kalkul
    • Pro omezení redundance dat jsou k dispozici pojmy umožňující normalizovat relace
po adavky na rela n datab zov syst m rdbms
Požadavky na relační databázový systém (RDBMS)
  • Základní pravidla
  • Pravidla o struktuře dat
  • Pravidla o integritě dat
  • Pravidla o modifikaci dat
  • Pravidla o nezávislosti dat
z kladn pravidla
Základní pravidla
  • RDBMS musí být schopen manipulovat s daty pomocí operací relační algebry
  • Má-li RDBMS jazyk nižší úrovně – tato nižší úroveň nemůže porušit pravidla integrity vyjádřené na vyšší úrovni jazyka
pravidla o struktu e dat
Pravidla o struktuře dat
  • RDBMS by měl podporovat: relace, domény, primární a cizí klíče
  • Všechna data jsou reprezentována hodnotami v tabulkách
  • Je-li pohled teoreticky upravitelný, měl by být upravitelný i fakticky
pravidla o integrit dat
Pravidla o integritě dat
  • Podporování hodnot NULL
  • Integritní omezení – definovány v JDD a uloženy v systémovém katalogu
pravidla o modifikaci dat
Pravidla o modifikaci dat
  • Garantovaný přístup ke každé atomické hodnotě na základě jména tabulky, hodnoty primárního klíče a názvu sloupce
  • Obsáhlý jazyk na manipulaci s daty
  • Ideální DBMS by měl podporovat 18 možností na manipulaci s daty
pravidla o nez vislosti dat
Pravidla o nezávislosti dat
  • Nezávislost dat od aplikace, která data používá
  • Uživatelé i aplikační programátoři jsou izolování od organizace dat na nižší úrovni
matematick definice relace
Matematická definice relace
  • Relace R nad množinou atributů {A1:D1, A2:D2, …, An:Dn} je podmnožina kartézského součinu domén D1 x D2 x … x Dn
    • Doména: množina hodnot
matematick definice relace1
Matematická definice relace
  • Příklad:

D1 = {0,1}

D2 = {a,b,c}

D1 x D2 = {(0,a), (0,b), (0,c), (1,a), (1,b), (1,c)}

relace: {(0,a), (0,c), (1,b)}

datab zov relace
Databázová relace
  • Vybavena pomocnou strukturou (schéma relace – skládá se z jména relace, jmen atributů a z domén)
  • Prvky domén jsou atomické hodnoty
  • Reprezentována tabulkou
vlastnosti tabulky
Vlastnosti tabulky
  • Každá tabulka má jednoznačné jméno
  • Každý sloupec v tabulce má jednoznačné jméno
  • Všechny hodnoty daného sloupce musí být stejného typu
  • Nezáleží na pořadí sloupců
  • Nezáleží na pořadí řádků
  • Tabulka nemůže mít duplicitní řádky
  • Všechny hodnoty jsou atomické
  • Každá tabulka musí mít primární klíč
integritn omezen datab ze
Integritní omezení databáze:
  • Integrita entit – v databázové relaci nesmí být hodnota primárního klíče NULL
  • Referenční integrita – obsahuje-li databázová relace cizí klíč, tak každá jeho hodnota musí být obsažena v rodičovské tabulce, nebo musí mít hodnotu NULL
p klad rela n ho modelu
Příklad relačního modelu
  • Zaměstnanec (rodné_číslo, kód_oddělení, jméno, příjmení, funkce, číslo_kanc, telefon)
  • Oddělení (kód_oddělení, název_odd, poznámka)
    • Tabulka Oddělení má primární klíč kód_oddělení, který je cizím klíčem v tabulce Zaměstnanec
transformace e r modelu do rela n ho modelu dat
Transformace E-R modelu do relačního modelu dat

Pravidla:

  • Tabulka – každý typ entit se stává samostatnou tabulkou
  • Sloupec – každý atribut se stává sloupcem
  • Řádek – každá entita se stává řádkem v tabulce
  • Primární klíč = identifikační klíč
transformace e r modelu do rela n ho modelu dat1
Transformace E-R modelu do relačního modelu dat

Pravidla:

  • Vztahy – reprezentují se tabulkou, která bude obsahovat cizí klíč jako odkaz do druhé tabulky
      • 1:N – cizí klíč přidán do tabulky na straně N
      • M:N – dekomponujeme na dva vztahy 1:N
transformace e r modelu do rela n ho modelu dat2
Transformace E-R modelu do relačního modelu dat
  • Specializace a generalizace (ISA)
    • Jedna tabulka, která obsahuje i sloupce, které jsou ve specializovaném entitním typu (v každém řádku může být hodnota NULL) nehospodárné, jednoduché
    • tabulka, která obsahuje atributy společné pro všechny entitní typy. Pro každý specializovaný entitní typ vytvoříme další tabulku, která bude obsahovat pouze sloupce specifické pro daný entitní typ.
transformace e r modelu do rela n ho modelu dat3
Transformace E-R modelu do relačního modelu dat
  • Transformujte E-R model z příkladu č. 1 do relačního modelu (pro úplnost připomínáme E-R model)
slide19

Č_ČT

JMÉNO

ADRESA

ČTENÁŘ

N

DAT_REZ

1

MÁ PŮJČEN

MÁ REZERVOVÁNU

DAT_ZPĚT

M

N

KNIHA

1

N

EXEMPLÁŘ

MÁ KOPIE

TITUL

INV_Č

CENA

ISBN

AUTOR

transformace
Transformace:

ČTENÁŘ (č_čt:char(10), jméno: char(30), adresa: char (80))

KNIHA (ISBN: char(10), autor: char(50),

titul: char(50))

EXEMPLÁŘ (inv_č: char(10), ISBN: char(10), cena: num)

VÝPUJČKY (inv_č: char(10), č_čt: char(10), datum_zpět: date)

REZERVACE (ISBN: char(10), č_čt:char(10), datum_rez: date)

slide21
Úkol:
  • Převeďte z E-R modelu do relačního modelu příklad č. 2 – databázi malého obchodního domu
slide22

plat

jméno

č_dod

jméno

isa

Zaměstnanec

Dodavatel

N

Vedoucí

pracuje_v

1

M

číslo

řídí

1

dodává

cena

1

Oddělení

N

1

číslo

název

prodává

N

Zboží

název

M

N

vystavil

N

obsahuje

1

Objednávka

Zákazník

č.obj

množství

datum

č.zák

jméno

ad