330 likes | 470 Views
Datové struktury a databáze. Ing. Jaroslav Buchta & Ing. Július Štuller, CSc., Ústav informatiky Akademie věd ČR. Literatúra. Anglická : C. J. Date : An Introduction to Database Systems (8 th edition) D. Mayer, J. Ullman, …: (Relational) Database systems …
E N D
Datové struktury a databáze Ing. Jaroslav Buchta & Ing. Július Štuller, CSc., Ústav informatiky Akademie věd ČR
Literatúra • Anglická: • C. J. Date: An Introduction to Database Systems (8th edition) • D. Mayer, J. Ullman, …: • (Relational) Database systems … • “textbook”, “reading”, … • Česká: • preklady … (Tsichritsis – Lochovsky) • Pokorný (Halaška): knihy, skriptá (MFF UK, FEL ČVUT) Datové struktury a databáze
Test (10 minút) 1. Čo je to operačný systém? • Ovládate nejaký? • Ak áno, ktorý? 2. Čo je to multiprocessing (multitasking)? 3. Čo je to paging? 4. Čo je to timesharing? 5. K čomu sa používa synchronizácia? 6. Čo je to deadlock? Datové struktury a databáze
Test 7. Aké typy pamätí (musí a) môže mať počítač? 8. Aké typy organizácie súborov poznáte? 9. Aké dátové štruktúry poznáte? 10. Čo je to cylinder (magnetického disku)? 11. Aký je rozdiel medzi vetou a blokom (súboru)? Datové struktury a databáze
Osnova prednášky • I.História • II.Viacúrovňová architektúra DBS • A. DBTG CODASYL • B. ANSI SPARC Datové struktury a databáze
Osnova • III. Modely dát • A. Hierarchický model • B. Sieťový model • C. Relačný model • 1. Operácie s reláciami • 2. Relačná algebra / Relačný kalkul • 3. Normálne formy Datové struktury a databáze
Osnova • IV. Konceptuálne modelovanie • A. Dátová analýza / modelovanie dát • E-R model • E-A-R model • Zobecnenia • B. Funkčná analýza / modelovanie • C. Objektovo orientovaný model dát / objektové modelovanie Datové struktury a databáze
Osnova • V. Implementácia • A. Logický návrh • B. Technické a programové vybavenie • C. Realizácia • D. Životný cyklus databázy • 1. Databázový správca • 2. Ochrana • 3. Redundancia, kódovanie, kompresia, šifrovanie • 4. Údržba, obsluha Datové struktury a databáze
Osnova • VI. Jazyk SQL • VII. … Datové struktury a databáze
I. História • Prelom 50. a 60. rokov: • vyššie programovacie jazyky: • 1962: COBOL • 1965: PL/1 • bohatšie dátové štruktúry: • umožňovali jednoduchšie a priamočiarejšie zachytenie najrozmanitejších informácií určených k počítačovému spracovaniu Datové struktury a databáze
História • Od polovice 60. rokov: • prvé systémy riadenia báz dát • skupina DBTG CODASYL: • 1965: Conference on Data Systems Languages • 1967: Data Base Task Group • Reporty: 1969 a 1971 (1974, 1978, 1981) • Schéma a subschéma Datové struktury a databáze
Schéma a subschéma Databáza: • Súhrn dát uložených v pamäti počítača a týkajúcich sa určitého výseku skutočnosti. • (synonymum: báza dát) • DB Datové struktury a databáze
Databázový administrátor Človek, prípadne skupina ľudí, ktorí majú na starosti (čo najoptimálnejší) chod danej DB. • DBA Datové struktury a databáze
Schéma Predstavuje celkový pohľad (prípadne pohľad DBA) na danú DB • 1 pre danú DB • Úplne popisuje všetky logické jednotky (vety), ich jednotlivé časti (položky) a prípadne i príslušné vazby (tzv. Codasyl sety, C-sety, sety) medzi jednotlivými vetami, ktoré sa vyskytujú v celej DB. Datové struktury a databáze
Subschéma Predstavuje uživateľský pohľad (t.j. pohľad jednotlivého uživateľa) na danú DB. • V rámci 1 DB je početSS neobmedzený. • Subschéma popisuje tie vety, tie ich položky a tie sety, ktoré potrebuje uživateľ k svojej práci. • Každá subschéma musí byť časťou (presnejšie povedané logicky konzistentnou podmnožinou) príslušnej schémy, v rámci ktorej sa definuje. Datové struktury a databáze
Výhody • Ochrana a utajenie (informácií) • + … Datové struktury a databáze
DBTG presadzoval • 1. Jazykovú nezávislosť(COBOL, PL/I, Fortran) • 2. Strojovú nezávislosť (IBM, ICL, EC) Datové struktury a databáze
DBTG presadzoval • 3. Nezávislosť dát a programov (oddelené jazyky pre • popis schémy a • popis subschém) • 4. Oddeleniedefínicie dát (schéma a subs … Data Definition Language - DDL) od manipulácie s dátmi (Data Manipulation Language - DML) Datové struktury a databáze
História • dátové štruktúry cobolovského typu • dostatočne bohaté pre (vtedy) bežné aplikácie • prebrané a zahrnuté ako základný (stavebný) (modelovací) prvok (veta – záznam – record) schémy (a subschémy) • databázová štruktúra „set“ (modelovaná pomocou smerníkov): • k zachyteniu vzťahov medzi objektmi reality Datové struktury a databáze
História • špeciálny jazyk na popis schémy • popis schémy sa vytvára, a existuje, mimo vlastných dát a programov, ktoré s týmito dátami budú pracovať • toto (spolu s aparátom subschém) vedie k zvýšeniunezávislosti dát (najmä logickej) • Snaha po ešte väčšej nezávislosti dát, logickej, ale i fyzickej, viedla ... Datové struktury a databáze
História • Začiatok 70. rokov: • priekopnícke práce • E. F. Codd • Relačný model dát Datové struktury a databáze
História • 1975 • ANSI SPARC • Návrh 3-úrovňovej architektúry databázových systémov • Konceptuálna schéma • Konceptuálne modelovanie Datové struktury a databáze
História • 80. roky • Konsolidácia postavenia RMD • Prvé komerčné SRRBD • Postupný nástup PC • SRRBD pre PC (Oracle) • Sémantické modely • Deduktívne databázové systémy Datové struktury a databáze
História • 90. roky: • Objektovo orientované databázové systémy • post-relačné databázové systémy • multimediálne databázy • GIS • databázy na webu … • … Datové struktury a databáze
História • Koniec 90. rokov – dodnes: • semi-štrukturované dáta • XML dokumenty • XML databázy • Sémantický web a DB… Datové struktury a databáze
II.Náväznosť´ na HW/SW • A. Viacúrovňové pamäti • 1. Sekundárne pamäti • Magnetické pásky • Magnetické disky Datové struktury a databáze
III. Náväznosť na software • A. Operačné systémy • 1. Process management • a. multiprocessing / multitasking / multiprogramming • b. deadlock • c. synchronizácia • 2. File Management • Súbor • sekvenčný • index-sekvenčný (invertovaný) • s priamym prístupom • 3. Dátové štruktúry (stromy, siete, viacúrovňové indexovanie) Datové struktury a databáze
Súbory Def. 1 Atómje najmenšia jednotka spracovania (v programe). • Môže byť následujúceho typu: • numerická (celé číslo, desatinné číslo, exponent) [binárna, dekadická, okta / hexadecimálna …] • logická (T, F) • znaková • smerník (ukazateľ) Datové struktury a databáze
Súbory Def. 2 Premennámôže byť: • atóm (skalárna) [jednoduchá] • zložená • homogénna: • vektor (numerická) • matica (numerická) • reťazec (znakový „vektor“ ) • heterogénna: zložená z rôznych • atómov • homogénnych a iných heterogénnych premenných Datové struktury a databáze
Súbory Def. 3 Položkaje jednoduchá alebo zložená premenná. Def. 4 Vetasa skladá z jednej alebo viacerých položiek. (Záznam) Def. 5 Súborje kolekcia viet. Pozn. Kolekcia pripúšťa, na rozdiel od množiny, i opakovanie prvkov: {A, A, B, C, C, C} Datové struktury a databáze
Súbory Def. 6 Nad súborom je možné prevádzať nasledujúce základnéoperácie: -definovanie (vytvorenie) logickej štruktúry súboru [Build] + uloženievety do súboru [Ins] + načítanievety zo súboru [Fetch] + odstránenievety zo súboru [Delete] + zmenaobsahu vety [Update] - prečítanie všetkýchviet súboru [ExhaustiveRead] - reorganizácia súboru [Y] - načítanie následnej vety [Get Next] Datové struktury a databáze