Datové struktury a databáze
description
Transcript of Datové struktury a databáze
Datové struktury a databázeDatové struktury a databáze
Ing. Jaroslav Buchta
&
Ing. Július Štuller, CSc.,
Ústav informatiky Akademie věd ČR
22. februára 2007 Datové struktury a databáze 2
LiteratúraLiteratú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)
22. februára 2007 Datové struktury a databáze 3
TestTest (1 (100 minút) 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?
22. februára 2007 Datové struktury a databáze 4
TestTest
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)?
22. februára 2007 Datové struktury a databáze 5
Osnova prednáškyOsnova prednášky
I. HistóriaII. Viacúrovňová architektúra DBS
– A. DBTG CODASYL– B. ANSI SPARC
22. februára 2007 Datové struktury a databáze 6
OsnovaOsnovaIII. 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
22. februára 2007 Datové struktury a databáze 7
OsnovaOsnova
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
22. februára 2007 Datové struktury a databáze 8
OsnovaOsnovaV. 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
22. februára 2007 Datové struktury a databáze 9
OsnovaOsnova
VI. Jazyk SQLVII. …
22. februára 2007 Datové struktury a databáze 10
I. HistóriaI. 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
22. februára 2007 Datové struktury a databáze 11
HistóriaHistó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
22. februára 2007 Datové struktury a databáze 12
Schéma a subschémaSché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
22. februára 2007 Datové struktury a databáze 13
Databázový administrátorDatabázový administrátor
Človek, prípadne skupina ľudí, ktorí majú na starosti (čo najoptimálnejší) chod danej
DB.
DBA
22. februára 2007 Datové struktury a databáze 14
SchémaSché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.
22. februára 2007 Datové struktury a databáze 15
SubschémaSubsché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.
22. februára 2007 Datové struktury a databáze 16
VýhodyVýhody
Ochrana a utajenie (informácií)+ …
22. februára 2007 Datové struktury a databáze 17
DBTG presadzovalDBTG presadzoval
1. Jazykovú nezávislosť (COBOL, PL/I, Fortran)
2. Strojovú nezávislosť (IBM, ICL, EC)
22. februára 2007 Datové struktury a databáze 18
DBTG presadzovalDBTG presadzoval
3. Nezávislosť dát a programov
(oddelené jazyky pre – popis schémy a
– popis subschém)
4. Oddelenie defínicie dát (schéma a subs …
Data Definition Language - DDL)
od manipulácie s dátmi
(Data Manipulation Language - DML)
22. februára 2007 Datové struktury a databáze 19
HistóriaHistó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
22. februára 2007 Datové struktury a databáze 20
HistóriaHistó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) vediek zvýšeniu nezávislosti dát (najmä
logickej)
Snaha po ešte väčšej nezávislosti dát, logickej, ale i fyzickej, viedla ...
22. februára 2007 Datové struktury a databáze 21
HistóriaHistória
Začiatok 70. rokov:– priekopnícke práce– E. F. Codd– Relačný model dát
22. februára 2007 Datové struktury a databáze 22
HistóriaHistória
1975– ANSI SPARC – Návrh 3-úrovňovej architektúry databázových
systémov Konceptuálna schéma
– Konceptuálne modelovanie
22. februára 2007 Datové struktury a databáze 23
HistóriaHistó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
22. februára 2007 Datové struktury a databáze 24
HistóriaHistó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 …– …
22. februára 2007 Datové struktury a databáze 25
HistóriaHistória
Koniec 90. rokov – dodnes:– semi-štrukturované dáta
XML dokumenty XML databázy
Sémantický web a DB…
22. februára 2007 Datové struktury a databáze 26
II.II. Náväznosť´ na Náväznosť´ na HW/SWHW/SW
A. Viacúrovňové pamäti– 1. Sekundárne pamäti
Magnetické pásky Magnetické disky
22. februára 2007 Datové struktury a databáze 27
III. Náväznosť na softwareIII. Náväznosť na softwareA. 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)
22. februára 2007 Datové struktury a databáze 28
SúborySúbory
Def. 1 Atóm je 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ľ)
22. februára 2007 Datové struktury a databáze 29
SúborySú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
22. februára 2007 Datové struktury a databáze 30
SúborySúbory
Def. 3 Položka je jednoduchá alebo zložená premenná.
Def. 4 Veta sa skladá z jednej alebo viacerých položiek. (Záznam)
Def. 5 Súbor je kolekcia viet.
Pozn. Kolekcia pripúšťa, na rozdiel od množiny, i opakovanie prvkov:
{A, A, B, C, C, C}
22. februára 2007 Datové struktury a databáze 31
SúborySú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ženie vety do súboru [Ins]
+ načítanie vety zo súboru [Fetch]
+ odstránenie vety zo súboru [Delete]
+ zmena obsahu vety [Update]
- prečítanie všetkých viet súboru [Exhaustive Read]
- reorganizácia súboru [Y]
- načítanie následnej vety [Get Next]