Co to jest Baza DanychCo to jest Baza DanychWielki , zintegrowanyWielki , zintegrowany, , zbizbióór informacjir informacji
Stanowi model Stanowi model śświata rzeczywistegowiata rzeczywistego
�� jednostkijednostki EntitiesEntities (e.g., (e.g., studenstudencici, , kursykursy, , wykwykłładowcyadowcy))
�� relacje relacje RelationshipsRelationships (e.g., (e.g., SSłławski prowadzi awski prowadzi TechnologieTechnologie
InformatyczneInformatyczne))
A A System zarzSystem zarząądzania bazdzania baząą DataBaseDataBase Management System Management System
(DBMS)(DBMS) pakiet pakiet software software do przechowywania i zarzdo przechowywania i zarząądzania dzania bazbaząą
danychdanych
Dlaczego nie Pliki?Dlaczego nie Pliki?
Szybki dostSzybki dostęęp aplikacji do ogromnych p aplikacji do ogromnych zasobzasobóów (OS nie jest wystarczajw (OS nie jest wystarczająąco co efektywny)efektywny)
Szybkie i logiczne przeszukiwanie zasobSzybkie i logiczne przeszukiwanie zasobóów w (formu(formułłowanie zapytaowanie zapytańń do bazydo bazy queriesqueries))
Zabezpieczenie przed uszkodzeniem albo Zabezpieczenie przed uszkodzeniem albo niezgodnoniezgodnośściciąą zasobzasobóów z powodu w z powodu jednoczesnego dostjednoczesnego dostęępu wielu upu wielu użżytkownikytkownikóów. w.
Odzyskiwanie zasobOdzyskiwanie zasobóów po awariachw po awariach
BezpieczeBezpieczeńństwo i kontrola doststwo i kontrola dostęęppu u (OS (OS dostarcza ograniczone narzdostarcza ograniczone narzęędziadzia))
Dlaczego Dlaczego DBMSDBMS
NiezaleNiezależżnonośćść danychdanych
Efektywny dostEfektywny dostęępp
KrKróótki czas budowy aplikacjitki czas budowy aplikacji
IntegralnoIntegralnośćść i bezpieczei bezpieczeńństwo danychstwo danych
Jednolite zarzJednolite zarząądzanie danymidzanie danymi
Zgodny rZgodny róównoczesny dostwnoczesny dostęępp
OOdzysk po awariachdzysk po awariach
Dlaczego Bazy DanychDlaczego Bazy Danych
PrzejPrzejśście odcie od computationcomputation dodo informationinformation
�� ““low endlow end””: : od zasobod zasobóów lokalnychw lokalnych dodo webspacewebspace
�� ““high endhigh end””: : zastosowania naukowe i biznesowezastosowania naukowe i biznesowe
Wzrost rWzrost róóżżnorodnonorodnośści i iloci i ilośści informacjici informacji
�� Elektroniczne bibliotekiElektroniczne biblioteki, , interainteraktywnektywne foto i foto i video, video, zasoby zasoby
naukowenaukowe, , zasoby encyklopedycznezasoby encyklopedyczne
Systemy Baz DanychSystemy Baz Danych
ORACLEORACLE
SYBASESYBASE
INFORMIXINFORMIX
DB2DB2
IngresIngres
BTreeBTree
SQL ServerSQL Server
MS AccessMS Access
ddBaseBase
ModelModele Danyche Danych
data modeldata model opis organizacji zasobopis organizacji zasobóów danych w danych
schemaschema to opis konkretnego zasobu danych to opis konkretnego zasobu danych
zgodnie z okrezgodnie z okreśślonym modelem danychlonym modelem danych
relational data modelrelational data model to dzito dziśś najszerzej najszerzej
stosowany model danychstosowany model danych
�� relationrelation, , tabela z wierszami i kolumnamitabela z wierszami i kolumnami
�� KaKażżda relacja ma da relacja ma schemaschema, , ktktóóra opisuje ra opisuje
kolumny (pola)kolumny (pola)
Poziomy AbstarkcjiPoziomy Abstarkcji
wielewiele viewsviews, ,
jedenjeden conceptual (logical) conceptual (logical) schemaschema
jedenjeden physical schemaphysical schema
�� ViewView opisuje jak uopisuje jak użżytkownik ytkownik widzi danewidzi dane
�� Conceptual schemaConceptual schemadefiniuje strukturdefiniuje strukturęę logicznlogicznąą
�� Physical schemaPhysical schema definiuje definiuje zbiory i indeksyzbiory i indeksy
Physical Schema
Conceptual Schema
View 1 View 2 View 3
Conceptual schemaConceptual schema
E/R modelE/R model
Entities, Relationships, AttributesEntities, Relationships, Attributes
Cardinalities 1:1, 1:m, n:1, m:nCardinalities 1:1, 1:m, n:1, m:n
Keys (klucze): superkey, primary key, Keys (klucze): superkey, primary key, foreign keyforeign key
X
PrzykPrzykłładad: : Baza Baza BankowaBankowa
Kolumna (atrybut)Kolumna (atrybut)
Wiersz (rekord)Wiersz (rekord)
Tabela (relacja)Tabela (relacja)
PrzykPrzykłładad: : Baza Baza UniUniwwersersyteckaytecka
Conceptual schemaConceptual schema: :
�� StudenStudentsts ((sid:stringsid:string, , name:stringname:string, , loginlogin:string, :string,
ageage::integer, gpa:realinteger, gpa:real))
PrzykPrzykłładad: : Baza Baza UniUniwwersersyteckayteckaConceptual schemaConceptual schema: :
�� StudenStudentsts ((sid:stringsid:string, , name:stringname:string, , loginlogin:string, :string,
ageage::integer, gpa:realinteger, gpa:real))
�� EnrolledEnrolled ((sid:stringsid:string, , cid:stringcid:string, , grade:stringgrade:string))
�� CoursesCourses((cid:stringcid:string, , cname:stringcname:string, , credits:integercredits:integer) )
Relation (Tablica)Relation (Tablica)
NazwaNazwa
SchemaSchema
ZbiZbióór kolumn i rekordr kolumn i rekordóów zgodnych ze w zgodnych ze
specyfikacjspecyfikacjąą SchemaSchemaSTUDENTSSTUDENTS
X
table relationshiptable relationship
Relationship Relationship tworzytworzy sisięę pomocpomocąą kluczkluczyy (key(keyss))
Primary Primary KeyKey to pole w ktto pole w któórym wystrym wystęępujpująą unikalne wartounikalne wartośścici
Foreign KeyForeign Key to pole ktto pole któóre w innej relacji jest re w innej relacji jest Primary KeyPrimary Key
Relationship Relationship pomipomięędzy dzy Primary KeyPrimary Key i i Foreign KeyForeign Key zapewnia zapewnia
integralnointegralnośćść bazybazy
PrzykPrzykłładad: : Baza Baza UniUniwwersersyteckaytecka
External SchemaExternal Schema ((ViewView): ):
�� Course_infoCourse_info((cid:stringcid:string,, numstudnumstud:integer):integer)
cidcid numstudnumstud
215215 1515
382382 2121
SQLSQL
SQL: standardowy jSQL: standardowy jęęzyk Baz Danychzyk Baz Danych
Data Definition Language (DDL)Data Definition Language (DDL)
�� tworzenie, modyfikacja, kasowanie relacji tworzenie, modyfikacja, kasowanie relacji
�� okreokreśślanie zalelanie zależżnonośści mici mięędzy relacjamidzy relacjami
�� ZarzZarząądzanie udzanie użżytkownikami, bezpieczeytkownikami, bezpieczeńństwem, etc.stwem, etc.
Data Manipulation Language (DML)Data Manipulation Language (DML)
�� Tworzenie zapytaTworzenie zapytańń do odszukania rekorddo odszukania rekordóów w
spespełłniajniająących kryteriacych kryteria
�� Dodawanie, modyfikacja, usuwanie rekordDodawanie, modyfikacja, usuwanie rekordóów.w.
SQLSQL
CREATE TABLE <name> ( <field> <domain>, … )
SELECT <fields> FROM <name> WHERE <condition>
INSERT INTO <name> (<field names>) VALUES (<field values>)
DELETE FROM <name>WHERE <condition>
UPDATE <name> SET <field name> = <value> WHERE <condition>
SQL DDLSQL DDL
CREATE TABLE <name> ( <field> <domain>, … )
CREATE TABLE Students
(sid CHAR(20),
name CHAR(20),
login CHAR(10),
age INTEGER,
gpa FLOAT)
SQL DMLSQL DMLINSERT INTO <name> (<field names>) VALUES (<field values>)
INSERT INTO Students (sid, name, login, age, gpa)VALUES (‘53688’, ‘Smith’, ‘smith@ee’, 18, 3.2)
DELETE FROM <name>WHERE <condition>
DELETEFROM Students SWHERE S.name = ‘Smith’
SQL DMLSQL DML
UPDATE <name> SET <field name> = <value> WHERE <condition>
UPDATE Students
SET age = age + 1
UPDATE EnrolledSET grade = ‘E’
WHERE grade = ‘F’
SQL DMLSQL DML
name sid gpa
Jones 53666 3.4
Smith 53650 3.8
SELECT <fields> FROM <name> WHERE <condition>
SELECT name, sid, gpa
FROM StudentsWHERE gpa > 3.3
NameName SidSid GpaGpa
JonesJones 5366653666 3.43.4
SmithSmith 5365053650 3.83.8
SQL DMLSQL DML
SELECT <fields> FROM <name> WHERE <condition>
SELECT S.name, E.cidFROM Students S, Enrolled EWHERE S.sid=E.sid AND E.grade='A'
Data WarehousingData Warehousing
Co to jest Co to jest data warehousingdata warehousing??
Systemy przechowujSystemy przechowująą dane operacyjnedane operacyjne uużżywane w codziennych ywane w codziennych transakcjach. transakcjach.
Analitycy biznesu czAnalitycy biznesu częęsto nie majsto nie mająą dodośćść wiedzy i narzwiedzy i narzęędzi do dzi do przetwarzania danych operacyjnych.przetwarzania danych operacyjnych.
Wielokrotne procesy przetwarzania tych samych danych Wielokrotne procesy przetwarzania tych samych danych operacyjnych spowalnia systemyoperacyjnych spowalnia systemy
Format danych operacyjnych jest czFormat danych operacyjnych jest częęsto niewygodny dla analityksto niewygodny dla analitykóów w biznesu.biznesu.
data warehousingdata warehousing rozwirozwiąązuje te problemy poprzez tworzenie zuje te problemy poprzez tworzenie zasobzasobóów w danych informacyjnychdanych informacyjnych –– ktktóóre sre sąą wytworzone na wytworzone na podstawie podstawie danych operacyjnychdanych operacyjnych tak aby utak aby ułłatwiatwićć analizanalizęę zjawiska i zjawiska i podjpodjęęcie wcie włłaaśściwej decyzji. ciwej decyzji.