1 / 22

Databázové systémy

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

dalila
Download Presentation

Databázové systémy

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Databázové systémy Přednáška č. 2

  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 • 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

  3. 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

  4. 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

  5. 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

  6. Pravidla o integritě dat • Podporování hodnot NULL • Integritní omezení – definovány v JDD a uloženy v systémovém katalogu

  7. 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

  8. 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

  9. 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

  10. 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)}

  11. 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

  12. 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íč

  13. 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

  14. 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

  15. 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íč

  16. 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

  17. 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.

  18. 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)

  19. Č_Č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

  20. 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)

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

  22. plat RČ 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

More Related