340 likes | 464 Views
Databázové systémy. 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 … “ textbook ” , “ reading ” , … Česká:
E N D
Databázové systémy 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) Databázové systemy
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? Databázové systemy
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)? Databázové systemy
Osnova prednášky • I.História • II.Viacúrovňová architektúra DBS • A. DBTG CODASYL • B. ANSI SPARC Databázové systemy
Osnova • III. Modely dát • A. Hierarchický model • B. Sieťový model • C. Relačný model • 1. Normálne formy • 2. Operácie s reláciami • 3. Relačná algebra / Relačný kalkul Databázové systemy
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 Databázové systemy
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 Databázové systemy
Osnova • VI. Jazyk SQL Databázové systemy
Mini projekty • 1. Informačný systém o zamestnancoch, úkoloch, pedagogickej a výskumnej činnosti, spolupráci … • 2. Informačný systém pre sprostredkovateľskú firmu práce • 3. Informačný systém o MS v Liberci • 4. ... Databázové systemy
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 Databázové systemy
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 Databázové systemy
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 Databázové systemy
Databázový administrátor Človek, prípadne skupina ľudí, ktorí majú na starosti (čo najoptimálnejší) chod danej DB. • DBA Databázové systemy
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. Databázové systemy
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čet SS 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. Databázové systemy
Výhody • Ochrana a utajenie (informácií) • + … Databázové systemy
DBTG presadzoval • 1. Jazykovú nezávislosť(COBOL, PL/I, Fortran) • 2. Strojovú nezávislosť (IBM, ICL, EC) Databázové systemy
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) Databázové systemy
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 Databázové systemy
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 ... Databázové systemy
História • Začiatok 70. rokov: • priekopnícke práce • E. F. Codd • Relačný model dát Databázové systemy
História • 1975 • ANSI SPARC • Návrh 3-úrovňovej architektúry databázových systémov • Konceptuálna schéma • Konceptuálne modelovanie Databázové systemy
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 Databázové systemy
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 … • … Databázové systemy
História • Koniec 90. rokov – dodnes: • semi-štrukturované dáta • XML dokumenty • XML databázy • Sémantický web a DB… Databázové systemy
II.Náväznosť´ na HW/SW • A. Viacúrovňové pamäti • 1. Sekundárne pamäti • Magnetické pásky • Magnetické disky Databázové systemy
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) Databázové systemy
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ľ) Databázové systemy
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 Databázové systemy
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} Databázové systemy
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] Databázové systemy
Súbory Def. 7 Ku každému súboru môžeme priradiť kvantitatívneparametre: I) - R: pamäťové požiadavky na vetu - B: pamäťové požiadavky na blok (B/R: blokovací faktor) - b: počet blokov v súbore - a: počet položiek vo vete - a´: priemerný počet položiek vo vete - A: dĺžkanázvu položky (A´) -V:dĺžkahodnoty položky (V´) Databázové systemy
II) Časy odpovedajúce jednotlivým operáciám nad súborom Databázové systemy