Databázové systémy
Doc.Ing.Miloš Koch,CSc.
[email protected]
Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace
60.-70. léta
Program
Komunikace Výpočty
38
Data
Práce s daty
Data
Struktury dat 2
Vývoj databázových systémů 70. léta a výše
Program
Komunikace Systém řízení báze dat
Výpočty Databáze
38
Data
Struktury dat
Data
Struktury dat
Práce s daty
3
Logické schéma DS
SŘBD
Aplikace
Aplikace Data
38
4
Výhody databází Integrovanost sjednocení datových souborů s odstraněním duplicit dat Sdílenost
víceuživatelský přístup + přístupová práva
Fyzická nezávislost dat modifikace fyzické podoby dat bez nutnosti změn v programech Logická nezávislost dat
38
modifikace logických schémat bez nutnosti změn v programech 5
Struktura databázového systému uživatelé Aplikační rozhraní
programátoři Aplikační programy
Prekompilátor DML
Cílový kód programů
Dotazy
Procesor dotazů
Řízení databáze
Data 38
uživatelé
Slovník dat
administrátor Schémata databáze
Překladač DDL
SŘBD
Databáze 6
Systém řízení báze dat (SŘBD) databázový stroj (database engine) část SŘBD, která ukládá data a manipuluje s nimi podle příkazů zadávaných databázovou aplikací jazyky pro práci s daty jazyk pro definici dat (DDL) jazyk pro manipulaci s daty (DML) jazyk pro řízení přístupu uživatelů k datům (DCL) datový slovník –metadata soubor, který definuje základní organizaci databáze neobsahuje aktuální data z databáze, pouze informace nutné pro její správu 38
7
Datový slovník seznam všech souborů v databázi počet záznamů v každém souboru jména a typy všech položek údaje o integritních omezeních jména uživatelů a evidenci udělených práv a
oprávnění kontrolní informace (např. kdo je autorem určitého objektu) 38
8
Funkce SŘBD Definování a redefinování dat v databázi (data definition) organizace datových souborů (vytváření a změny datových struktur) Vytváření obsahu databáze aktualizace datových souborů (vkládání dat, změny, aktualizace dat) Výběr a výstup (data display)
prezentování, zobrazování, prohlížení) dat z databáze Tvorba formulářů obrazovek, pohledů a výstupních sestav Kontrola integrity dat (data integrity) poskytuje metodu nebo metody pro definování a zajištění správnosti dat Kontrola přístupových práv určuje, kdo a jak může přistupovat k datům Programovací jazyk pro vytváření vlastních aplikací
38
9
Architektury DS Centrální architektura Architektura File – server Architektura Klient - server
38
10
Centrální architektura Server
PC
Aplikace
SŘBD
Databáze 38
11
Architektura file-server PC Server
Aplikace
SŘBD
Databáze data
38
12
Architektura klient-server PC
Aplikace
Server
SŘBD
Databáze
dotaz 38
odpověď 13
Klient-server vícevrstvá Aplikační server
Databázový server
PC
Aplikace Tenký klient
dotaz
Aplikace
SŘBD
Databáze
odpověď 38
14
Jazyky databází 1974-1975 firma IBM. Vzniká jazyk SEQUEL standardizace jazyka SQL (Structured Query
Language). Americký standardizační institut (ANSI) a nový standard bývá označován jako SQL 86 (v roce 1986 byl přijat).
V roce 1992 byl přijat nový standard označovaný
jako SQL-92 nebo také SQL2.
V současné je standard SQL3, který zahrnuje
objektový přístup a objektové databáze obecně.
38
15
Příkaz SELECT SELECT <SeznamPolí> FROM
<SeznamMnožinZáznamů>
JOIN <SpojovacíPodmínka> WHERE GROUP BY <SeznamPolíKSeskupení> HAVING ORDER BY <SeznamPolíKSeřazení> 38
16
Příkaz SELECT SELECT *FROM s;
38
17
Projekce
SELECT c_studenta, prijmeni FROM s
38
18
Selekce
SELECT * FROM s WHERE prijmeni = "novák"
38
19
Spojení na rovnost
SELECT* FROM s,z WHERE s.c_studenta = z.c_studenta
38
20
Využití SQL z databázového prostředí z programu z www
38
21
SQL z Visual Basicu SQL = "INSERT INTO PROTOKOL(Jméno,datum) VALUES(" pSQL = pSQL + jmeno + "','" datumcas = Date pSQL = pSQL + Date + Time() + "')„ REM SQL INSERT INTO PROTOKOL(Jméno,datum) REM
VALUES („Novak“,“24.1.00 11:30“)
Set db = OpenDatabase("PROTOKOLY.MDB") Set qd = db.CreateQueryDef("", pSQL) qd.Execute db.Close
38
22
SQL z www pomocí ASP <% var DB = Server.CreateObject("ADODB.Connection"); DB.Open("DSN=student", "", ""); var vypis = Server.CreateObject("ADODB.Recordset"); vypis.CursorType = 1; vypis.LockType = 1; vypis.ActiveConnection = DB; vypis.Source = "SELECT * FROM protokol"; vypis.Open(); //Response.write(vypis.RecordCount); 38
%>
23
Centralizovaná platforma Všechna data jsou umístěna v jednom místě. Všichni se mohou dostat ke všem povoleným datům přímo v
rámci datové komunikační sítě
38
24
Distribuované platformy Data jsou umístěna v různých místech, propojena datovou
komunikační sítí Mohou být homogenní nebo heterogenní
38
25
Distribuovaný databázový systém Určuje místo, kde se nacházejí požadovaná
data Převádí data z formátu lokálního SŘBD do podoby SŘBD žadatele Zajišťuje referenční integritu a souběžný přístup k datům Zajišťuje ochranu dat
38
26
Výhody distribuované platformy Lokální transparence – nemusíme znát cestu k
38
datům Zvýšená spolehlivost Vyšší odpovědnost za data Modulární růst systému Menší náklady na komunikace – většina transakcí je s lokálními daty Rychlejší odezva
27
Nevýhody distribuované platformy Vyšší náklady na SW - DSŘBD Vyšší provozní náklady Obtížnější zajištění datové integrity Nebezpečí pomalé odezvy u špatně navržené
distribuce
38
28
Způsoby distribuce dat Replikace Funkční (vertikální členění) Objektové (horizontální členění)
38
29
Datové sklady Primární datové zdroje
38
ETL proces
Datový sklad
OLAP prezentace
30
Proces vytváření datového skladu
38
31
Transformace dat
Transformace – Rozdělení atributu
38
32
Transformace dat
Transformace – Standardizace
38
33
Transformace dat
Transformace – Odstraňování duplicit
38
34
Transformace dat
Transformace – Sloučení atributů
38
35
Návrh schématu skladu
Dimenze času
Dimenze zákazníka
Prodej zboží
Tabulky faktů
Dimenze výrobku
38
Tabulky dimenzí
36
Ukázka dimenze - dimenze času
38
37
38
38