SlideShare a Scribd company logo
Uniwersytet Otwarty AGH 8 marca 2014
Spójrzmy przez okno: oto nasz świat. Pędzimy życie skrzętne, zapobiegliwe, staramy
się żyć dostatniej, mieć więcej. [...] Wszyscy na swój sposób zapewniamy możliwie
najlepsze warunki rozwoju i życia naszym dzieciom, wnukom. [...] Burzymy stare
struktury społeczne i ekonomiczne, budujemy w ich miejsce nowe, nie oparte na
tradycji, lecz na współczesnych pomysłach i poglądach. [...] Czy potrafimy - tacy, jacy
jesteśmy - zrozumieć ludzi z minionych epok, którzy wyznawali inna zasadę świata
[...]? Byli mieszkańcami profanum, [...] i z obszaru profanum tęsknie spoglądali w
kierunku sacrum. Czy możemy to zrozumieć my, którzy sami przebywamy w sacrum,
gdzie wdarliśmy się po śmierci bogów?
Czy zauważyliśmy, odurzeni pozycją, jaką zajmujemy w kosmosie, jaką sami sobie
przyznaliśmy, że już przed ponad stu laty narodzili się dwaj bożkowie, a może tylko
demony - Interes i Wydajność? Za jakiś czas zechcą zająć miejsce opustoszałe po
prawdziwych wielkich bogach archaicznych. Jaka wówczas będzie pozycja człowieka?
Krzysztof Kowalski „Eros i kostucha” LSW Warszawa 1990 str. 276
Mariusz KLPPER
Mariusz KLAPPER
Uniwersytet Otwarty AGH 8 marca 2014
Co warto wiedzieć
o bazach danych
We współczesnej cywilizacji informatycznej
bazy danych stały się jednymi z najczęściej
spotykanych i wykorzystywanych struktur oraz
obiektów służących do przechowywania i
szybkiego wyszukiwania informacji. Występują
one zarówno jako ogromne zasoby o zasięgu
globalnym, jak i niewielkie lokalne obiekty
indywidualne. Mamy z nimi do czynienia w
wielu urządzeniach codziennego użytku, często
nie zdając sobie z tego w ogóle sprawy
Molier MIESZCZANIN SZLACHCICEM Teatr Telewizji 1969
(Definicja według Wikipedii)
Baza danych jest to zbiór danych zapisanych zgodnie z
określonymi regułami. W węższym znaczeniu obejmuje dane
cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego
programu komputerowego specjalizowanego do gromadzenia i
przetwarzania tych danych. Program taki (często pakiet
programów) nazywany jest „systemem zarządzania bazą
danych” (ang. database management system, DBMS).
Programy do obsługi bazy danych operują głównie na danych
tekstowych i liczbowych, lecz większość współczesnych
systemów umożliwia przechowywanie danych cyfrowych
różnego typu: dane o nieokreślonej strukturze, grafika, muzyka,
obiekty itp.
Schemat logiczny bazy danych
Schemat funkcjonalny bazy danych
Schemat organizacyjny bazy danych
Serwer bazy danych to oprogramowanie obsługujące bazę danych
na określonym sprzęcie i systemie operacyjnym. Serwer może
obsługiwać kilka baz danych równocześnie.
Baza danych to uporządkowana kolekcja przechowująca dane
zapisane w postaci tablic, indeksów i procedur pomocniczych.
Tablica przechowuje w bazie danych informacje jednorodne
merytorycznie (ma jednolitą zawartość danych).
Indeksy definiują sposób porządkowania i dostępu do danych a
tablicach.
Procedury pomocnicze to fragmenty oprogramowania służące do
realizowania specyficznych operacji związanych ze strukturą
danych oraz obsługą baz danych przez użytkowników
Zasady ochrony danych w bazie określają uprawnienia oraz
warunki dostępu i obsługi danych dla użytkowników bazy danych
Elementy składowe bazy danych
INFORMIX
Microsoft SQL Server
ORACLE
Dbase
Novell Btrieve
MySQL
Firebird
Microsoft Access
Cechy serwera lokalnej bazy danych ma także Microsoft Excel
Serwer bazy danych jest oprogramowaniem
narzędziowym i musi być wcześniej zainstalowany na
komputerze, który ma obsługiwać bazę danych
Niektóre popularne serwery baz danych
Przykład serwera bazy danych Firebird
zainstalowanego na komputerze z systemem Windows
Serwer bazy danych Firebird jako proces w systemie Windows
Fizyczne pliki baz danych Firebird na dysku
Przykład grupy baz danych na serwerze Firebird
Zawartość bazy danych w przykładowej grupie
Tablice bazy danych w przykładowej grupie
Pola wybranej tablicy w przykładowej bazie danych
Indeksowanie baz danych
Przykład indeksacji danych w bazie
Indeksy tablicy w przykładowej bazie danych
Język zapytań SQL (Structured Query Language) to uniwersalny
język programowania umożliwiający administratorom i
użytkownikom komunikację i obsługę baz danych.
Serwer języka SQL jest częścią oprogramowania serwera baz
danych wbudowaną w pakiet obsługi baz danych
Język SQL ma znormalizowaną syntaktykę, ale jest wiele jego
dialektów dla różnych serwerów SQL. SQL umożliwia operowanie
na bazie danych (redagowanie jej zasobów) oraz uzyskiwanie
informacji z bazy danych przy pomocy zapytań.
Skrypty SQL to sekwencje zapisów języka SQL wysyłane przez
aplikacje użytkowe do serwera SQL, który zamienia je na operacje
bezpośrednio wykonywane na danych i/lub strukturach w bazie.
Serwer SQL jest więc interpreterem zapytań i poleceń języka SQL.
Komunikacja użytkownika z bazą danych
Podstawowe grupy poleceń języka SQL
Zapytania i polecenia języka SQL są nazywane skryptami SQL
Zawsze dotyczą one konkretnej tablicy w bazie danych, lub
struktury całej bazy. Przy pomocy skryptów SQL można także
tworzyć, modyfikować i kasować tablice oraz inne obiekty w
bazie danych. W niektórych wersjach SQL przy pomocy
skryptów SQL można także tworzyć i kasować całe bazy danych.
select INOD_MIEJSC, INOD_ULICA, INOD_NAZWA
from INDEKS_KONTRAH
where Upper(INOD_MIEJSC) like %KRA%
order by INOD_MIEJSC, INOD_ULICA, INOD_NAZWIS
Przykład zapytania do bazy danych w języku SQL
Wyniki zapytania SQL
Przykładowy skrypt SQL tworzący tablicę w bazie danych
Trygery (wyzwalacz) to wbudowana w strukturę bazy danych
procedura napisana w języku SQL, która jest wykonywana
automatycznie jako reakcja na pewne zdarzenia w tabeli bazy
danych. Wyzwalacze mogą np. ograniczać dostęp do pewnych
danych, rejestrować zmiany danych, nadzorować modyfikacje
danych lub wykonywać akcje związane ze zmianami w tabeli
Procedura wbudowana jest to napisana w języku SQL sekwencja
programu, która jest wbudowana w strukturę bazy danych i
może być używana przez użytkownika bazy poprzez wywołanie
jej skryptem SQL. Pozwala to na zmniejszenie liczby kroków
wymiany danych pomiędzy użytkownikiem a bazą danych.
Ułatwia ona i ujednolica operowanie bazą, przyczynia się do
wzrostu wydajności systemu zarządzania bazą danych, oraz
pozwala wprowadzić wygodną i przejrzystą komunikację
pomiędzy bazą danych a użytkownikiem
Trygery i procedury wbudowane w bazę danych
Przykładowy tryger bazy danych
Przykładowa procedura wbudowana bazy danych
Transakcje w bazie danych
Z bazy danych zazwyczaj równocześnie korzysta wielu użytkowników. Każdy z nich
(zależnie od posiadanych uprawnień) może wyszukiwać oraz/albo aktualizować
informacje w bazie danych. System zarządzania bazą danych musi zapewnić z
jednej strony możliwość sprawnego korzystania z bazy przez użytkowników, jak też
zabezpieczenie poprawności i integralności danych w bazie. Dodatkowo system
zarządzania bazą danych musi zabezpieczyć bazę przed skutkami ewentualnych
awarii technicznych lub funkcjonalnych .
Ilość 32
Pobranie 10
Zapis 22
Ilość 32
Pobranie 15
Zapis 17
Było 32
Pobrano 25
Zapisane jest 17
Użytkownik A Użytkownik B
Wynik w
bazie danych
Przykład utraty integralności danych w bazie
Ilość 32
Pobranie 10
Zapis 22
Ilość 22
Pobranie 15
Zapis 7
Było 32
Pobrano 25
Zapisane jest 7
Użytkownik A Użytkownik B
Wynik w
bazie danych
Start transakcji
Czekaj
Koniec transakcji
Czekaj
Start transakcji
Koniec transakcji
Schemat działania transakcji w bazie danych
Zarówno rozpoczęcie, jak i zakończenie transakcji jest inicjowane
działaniem użytkownika. Podczas trwania transakcji dane używane w
jej trakcie nie są zmieniane w bazie danych. Informacje o kolejnych
krokach transakcji są pamiętane w bazie danych. Dane rzeczywiste w
bazie są zmieniane dopiero po zakończeniu transakcji
Transakcja może być w dowolnym momencie przerwana przez
użytkownika lub przyczyny zewnętrzne. Wtedy skutki transakcji są
usuwane z bazy danych i żadne dane w bazie nie są zmieniane.
Transakcja może być złożona, może obejmować wiele kroków
procedury i wiele różnych zasobów bazy danych
Realizowanie transakcji obciąża serwer bazy danych i zwalnia
procedury korzystania z bazy danych
Błędne wykonanie transakcji może uszkodzić bazę danych, lub
zablokować niektóre jej zasoby
Administrator bazy danych posiada na ogół narzędzia umożliwiające
usunięcie z bazy skutków błędnych transakcji.
Najważniejsze uwarunkowania transakcji
Zakleszczenie bazy danych (deadlock)
Wprowadzenie transakcyjności w bazie danych stwarza ryzyko powstania tak
zwanego zakleszczenia. Występuje ono wtedy, kiedy dwa niezależne procesy
wykonywane w bazie danych żądają wzajemnego dostępu do danych
zablokowanych wcześniej w rama transakcji każdego z procesów. Obydwa procesy
pozostają wtedy w trwałym stanie oczekiwania, niemożliwym do usunięcia, gdyż
żaden proces nie może się uaktywnić bez zwolnienia zasobu innego procesu, a inny
proces nie może zwolnić zasobu, gdyż także jest w stanie oczekiwania na dostęp do
zasobów drugiego procesu czekającego. Taki stan powoduje trwałe zawieszenie
pracy obu procesów i zawieszenie współpracy ich użytkonwików z bazą danych.
Zjawisko zakleszczania jest bardzo trudno wyeliminować, nie ma także sprawnych i
niezawodnych metod wykrywania go.
Zasadą jest chronienie dostępu do danych w bazie przy pomocy
identyfikatorów użytkownika i haseł dostępu. Ochrona może być
realizowana na różnych poziomach: całej bazy danych,
poszczególnych tablic w bazie, a nawet określonych pól w
tablicach.
Ochroną danych w bazach zarządzają specjalni pracownicy
nazywani administratorami bazy danych
Wszystkie profesjonalne serwery baz danych mają bardzo
bogate narzędzia administracyjne dla ochrony danych w bazie.
Niezależnie od tego ochronę danych realizuję się także na
poziomie oprogramowania użytkowego.
Ochrona przed nieuprawnionym dostępem do informacji
przechowywanych w bazach danych jest obecnie jednym z
najpoważniejszych problemów cywilizacji informacyjnej
Ochrona dostępu do danych w bazie
Możliwe przyczyny uszkodzenia bazy danych:
= techniczne awarie sprzętu
= awarie oprogramowania serwera bazy danych
= błędy w oprogramowaniu użytkowym dla bazy danych
= nieprawidłowe obsługiwanie bazy danych
= błędne działania użytkowników bazy danych
= przyczyny losowe związane z pracą współbieżną użytkowników
= zdeterminowane działania przestępcze
Sposoby zabezpieczania i rekonstrukcji bazy danych:
= kopiowanie awaryjne bazy danych
= równoległa praca z dwoma kopiami bazy danych
= narzędzia i procedury administratora bazy
= staranna i skuteczna ochrona dostępu do bazy danych
= okresowa weryfikacja integralności bazy danych
= weryfikacja i testowanie oprogramowania użytkowego
= tworzenie zapisów archiwalnych na innych nośnikach danych
Zabezpieczanie bazy danych przed skutkami awarii
GOOGLE
YouTube
ePuaP
Płatnik ZUS
Strona www „Skład Osobowy AGH”
Książka adresowa telefonu komórkowego
Struktury bazodanowe można napotkać na wielu
witrynach Internetowych w związku z opcją „Szukaj”
Niektóre znane aplikacje mające cechy
serwerów bazy danych
Spójrzmy przez okno: oto nasz świat. Pędzimy życie skrzętne, zapobiegliwe, staramy
się żyć dostatniej, mieć więcej. [...] Wszyscy na swój sposób zapewniamy możliwie
najlepsze warunki rozwoju i życia naszym dzieciom, wnukom. [...] Burzymy stare
struktury społeczne i ekonomiczne, budujemy w ich miejsce nowe, nie oparte na
tradycji, lecz na współczesnych pomysłach i poglądach. [...] Czy potrafimy - tacy, jacy
jesteśmy - zrozumieć ludzi z minionych epok, którzy wyznawali inna zasadę świata
[...]? Byli mieszkańcami profanum, [...] i z obszaru profanum tęsknie spoglądali w
kierunku sacrum. Czy możemy to zrozumieć my, którzy sami przebywamy w sacrum,
gdzie wdarliśmy się po śmierci bogów?
Czy zauważyliśmy, odurzeni pozycją, jaką zajmujemy w kosmosie, jaką sami sobie
przyznaliśmy, że już przed ponad stu laty narodzili się dwaj bożkowie, a może tylko
demony - Interes i Wydajność? Za jakiś czas zechcą zająć miejsce opustoszałe po
prawdziwych wielkich bogach archaicznych. Jaka wówczas będzie pozycja człowieka?
DZIĘKUJĘ
ZA SPOTKANIE
Uniwersytet Otwarty AGH 8 marca 2014
Krzysztof Kowalski „Eros i kostucha” LSW Warszawa 1990 str 276
Mariusz KLAPPER
Zapraszam 29 marca 2014 roku
na rozmowę o systemie ANDROID

More Related Content

What's hot

Cardápio Eventos Espaço Quintal 2013
Cardápio Eventos Espaço Quintal 2013Cardápio Eventos Espaço Quintal 2013
Cardápio Eventos Espaço Quintal 2013nicholaspb
 
Довідник військовослужбовця після поранення
Довідник військовослужбовця після пораненняДовідник військовослужбовця після поранення
Довідник військовослужбовця після пораненняdynamo777
 
Robno stransportni centri
Robno stransportni centriRobno stransportni centri
Robno stransportni centriMilena
 
класифікація овочів
класифікація овочівкласифікація овочів
класифікація овочівkostyuchik
 
Servisne stanice
Servisne staniceServisne stanice
Servisne staniceigoriv
 
Сучасні підходи до лабораторної діагностики туберкульозу
Сучасні підходи до лабораторної діагностики туберкульозуСучасні підходи до лабораторної діагностики туберкульозу
Сучасні підходи до лабораторної діагностики туберкульозуAkhmetovFDU
 
Transport i skladistenje tereta
Transport i skladistenje teretaTransport i skladistenje tereta
Transport i skladistenje teretaigoriv
 
Ресторанне господарство і його місце в індустрії гостинності
Ресторанне господарство і його місце в індустрії гостинностіРесторанне господарство і його місце в індустрії гостинності
Ресторанне господарство і його місце в індустрії гостинностіOlga Koval
 
Основи загальновійськового бою
Основи загальновійськового боюОснови загальновійськового бою
Основи загальновійськового боюsh75inf
 
Kontejnerizacija
KontejnerizacijaKontejnerizacija
KontejnerizacijaMilena
 
Piramida i zarubljena_piramida
Piramida i zarubljena_piramidaPiramida i zarubljena_piramida
Piramida i zarubljena_piramidaBojan Maksimovic
 
Kompiuterio isoriniai irenginiai
Kompiuterio isoriniai irenginiaiKompiuterio isoriniai irenginiai
Kompiuterio isoriniai irenginiaiSkaidre
 

What's hot (20)

Automobili
AutomobiliAutomobili
Automobili
 
Cardápio Eventos Espaço Quintal 2013
Cardápio Eventos Espaço Quintal 2013Cardápio Eventos Espaço Quintal 2013
Cardápio Eventos Espaço Quintal 2013
 
Довідник військовослужбовця після поранення
Довідник військовослужбовця після пораненняДовідник військовослужбовця після поранення
Довідник військовослужбовця після поранення
 
Robno stransportni centri
Robno stransportni centriRobno stransportni centri
Robno stransportni centri
 
класифікація овочів
класифікація овочівкласифікація овочів
класифікація овочів
 
C# predavanja
C# predavanjaC# predavanja
C# predavanja
 
Servisne stanice
Servisne staniceServisne stanice
Servisne stanice
 
DIPLOMSKI LOGISTIKA konacna
DIPLOMSKI LOGISTIKA konacnaDIPLOMSKI LOGISTIKA konacna
DIPLOMSKI LOGISTIKA konacna
 
Сучасні підходи до лабораторної діагностики туберкульозу
Сучасні підходи до лабораторної діагностики туберкульозуСучасні підходи до лабораторної діагностики туберкульозу
Сучасні підходи до лабораторної діагностики туберкульозу
 
Prelom skafoidne kosti
Prelom skafoidne kostiPrelom skafoidne kosti
Prelom skafoidne kosti
 
Saobracajna signalizacija
Saobracajna signalizacijaSaobracajna signalizacija
Saobracajna signalizacija
 
Sāpes ceļa locītavā
Sāpes ceļa locītavāSāpes ceļa locītavā
Sāpes ceļa locītavā
 
Cn cglodanje haas
Cn cglodanje haasCn cglodanje haas
Cn cglodanje haas
 
Transport i skladistenje tereta
Transport i skladistenje teretaTransport i skladistenje tereta
Transport i skladistenje tereta
 
Ресторанне господарство і його місце в індустрії гостинності
Ресторанне господарство і його місце в індустрії гостинностіРесторанне господарство і його місце в індустрії гостинності
Ресторанне господарство і його місце в індустрії гостинності
 
Основи загальновійськового бою
Основи загальновійськового боюОснови загальновійськового бою
Основи загальновійськового бою
 
Iekaisīgās zarnu slimības
Iekaisīgās zarnu slimībasIekaisīgās zarnu slimības
Iekaisīgās zarnu slimības
 
Kontejnerizacija
KontejnerizacijaKontejnerizacija
Kontejnerizacija
 
Piramida i zarubljena_piramida
Piramida i zarubljena_piramidaPiramida i zarubljena_piramida
Piramida i zarubljena_piramida
 
Kompiuterio isoriniai irenginiai
Kompiuterio isoriniai irenginiaiKompiuterio isoriniai irenginiai
Kompiuterio isoriniai irenginiai
 

Similar to Co warto wiedzieć o bazach danych

Kurs MySQL i SQL, bazy danych - prezentacja ppt, pdf, porady, trening, kurs i...
Kurs MySQL i SQL, bazy danych - prezentacja ppt, pdf, porady, trening, kurs i...Kurs MySQL i SQL, bazy danych - prezentacja ppt, pdf, porady, trening, kurs i...
Kurs MySQL i SQL, bazy danych - prezentacja ppt, pdf, porady, trening, kurs i...twitch.tv/katmpb
 
11. Tworzenie interfejsu użytkownika
11. Tworzenie interfejsu użytkownika11. Tworzenie interfejsu użytkownika
11. Tworzenie interfejsu użytkownikakalaxq
 
12. Zabezpieczanie dostępu do danych
12. Zabezpieczanie dostępu do danych12. Zabezpieczanie dostępu do danych
12. Zabezpieczanie dostępu do danychkalaxq
 
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbaćBartosz Ratajczyk
 
Michał Żyliński: Cortana dla niewtajemniczonych
Michał Żyliński: Cortana dla niewtajemniczonychMichał Żyliński: Cortana dla niewtajemniczonych
Michał Żyliński: Cortana dla niewtajemniczonychAnalyticsConf
 
Oracle. Projektowanie rozproszonych baz danych
Oracle. Projektowanie rozproszonych baz danychOracle. Projektowanie rozproszonych baz danych
Oracle. Projektowanie rozproszonych baz danychWydawnictwo Helion
 
Integracja liquibase ze stroną internetową dla zarządzania bazami danych[авто...
Integracja liquibase ze stroną internetową dla zarządzania bazami danych[авто...Integracja liquibase ze stroną internetową dla zarządzania bazami danych[авто...
Integracja liquibase ze stroną internetową dla zarządzania bazami danych[авто...Sofiia Lahoda
 
Integracja liquibase ze stroną internetową dla zarządzania mapami
Integracja liquibase ze stroną internetową dla zarządzania mapami Integracja liquibase ze stroną internetową dla zarządzania mapami
Integracja liquibase ze stroną internetową dla zarządzania mapami Sofiia Lahoda
 
10. Analizowanie potrzeb klienta i projektowanie struktury baz danych
10. Analizowanie potrzeb klienta i projektowanie struktury baz danych10. Analizowanie potrzeb klienta i projektowanie struktury baz danych
10. Analizowanie potrzeb klienta i projektowanie struktury baz danychkalaxq
 
[PL] WDI22-Adrian Chodkowski - Azure SQL Skalowalna baza w świecie chmury.pptx
[PL] WDI22-Adrian Chodkowski - Azure SQL Skalowalna baza w świecie chmury.pptx[PL] WDI22-Adrian Chodkowski - Azure SQL Skalowalna baza w świecie chmury.pptx
[PL] WDI22-Adrian Chodkowski - Azure SQL Skalowalna baza w świecie chmury.pptxSeeQuality.net
 
[#4] spark - IBM Integrated Analytics System
[#4] spark - IBM Integrated Analytics System[#4] spark - IBM Integrated Analytics System
[#4] spark - IBM Integrated Analytics SystemArtur Wronski
 

Similar to Co warto wiedzieć o bazach danych (20)

Kurs MySQL i SQL, bazy danych - prezentacja ppt, pdf, porady, trening, kurs i...
Kurs MySQL i SQL, bazy danych - prezentacja ppt, pdf, porady, trening, kurs i...Kurs MySQL i SQL, bazy danych - prezentacja ppt, pdf, porady, trening, kurs i...
Kurs MySQL i SQL, bazy danych - prezentacja ppt, pdf, porady, trening, kurs i...
 
11. Tworzenie interfejsu użytkownika
11. Tworzenie interfejsu użytkownika11. Tworzenie interfejsu użytkownika
11. Tworzenie interfejsu użytkownika
 
M4j2
M4j2M4j2
M4j2
 
M4j2
M4j2M4j2
M4j2
 
12. Zabezpieczanie dostępu do danych
12. Zabezpieczanie dostępu do danych12. Zabezpieczanie dostępu do danych
12. Zabezpieczanie dostępu do danych
 
Delphi 7 i bazy danych
Delphi 7 i bazy danychDelphi 7 i bazy danych
Delphi 7 i bazy danych
 
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
 
Michał Żyliński: Cortana dla niewtajemniczonych
Michał Żyliński: Cortana dla niewtajemniczonychMichał Żyliński: Cortana dla niewtajemniczonych
Michał Żyliński: Cortana dla niewtajemniczonych
 
Oracle. Projektowanie rozproszonych baz danych
Oracle. Projektowanie rozproszonych baz danychOracle. Projektowanie rozproszonych baz danych
Oracle. Projektowanie rozproszonych baz danych
 
Access 2003 PL. Biblia
Access 2003 PL. BibliaAccess 2003 PL. Biblia
Access 2003 PL. Biblia
 
Access 2003 PL. Biblia
Access 2003 PL. BibliaAccess 2003 PL. Biblia
Access 2003 PL. Biblia
 
Bazy danych
Bazy danychBazy danych
Bazy danych
 
Integracja liquibase ze stroną internetową dla zarządzania bazami danych[авто...
Integracja liquibase ze stroną internetową dla zarządzania bazami danych[авто...Integracja liquibase ze stroną internetową dla zarządzania bazami danych[авто...
Integracja liquibase ze stroną internetową dla zarządzania bazami danych[авто...
 
Integracja liquibase ze stroną internetową dla zarządzania mapami
Integracja liquibase ze stroną internetową dla zarządzania mapami Integracja liquibase ze stroną internetową dla zarządzania mapami
Integracja liquibase ze stroną internetową dla zarządzania mapami
 
10. Analizowanie potrzeb klienta i projektowanie struktury baz danych
10. Analizowanie potrzeb klienta i projektowanie struktury baz danych10. Analizowanie potrzeb klienta i projektowanie struktury baz danych
10. Analizowanie potrzeb klienta i projektowanie struktury baz danych
 
[PL] WDI22-Adrian Chodkowski - Azure SQL Skalowalna baza w świecie chmury.pptx
[PL] WDI22-Adrian Chodkowski - Azure SQL Skalowalna baza w świecie chmury.pptx[PL] WDI22-Adrian Chodkowski - Azure SQL Skalowalna baza w świecie chmury.pptx
[PL] WDI22-Adrian Chodkowski - Azure SQL Skalowalna baza w świecie chmury.pptx
 
MySQL prostymi słowami
MySQL prostymi słowamiMySQL prostymi słowami
MySQL prostymi słowami
 
Access 2003 PL dla każdego
Access 2003 PL dla każdegoAccess 2003 PL dla każdego
Access 2003 PL dla każdego
 
Access 2007 PL. Kurs
Access 2007 PL. KursAccess 2007 PL. Kurs
Access 2007 PL. Kurs
 
[#4] spark - IBM Integrated Analytics System
[#4] spark - IBM Integrated Analytics System[#4] spark - IBM Integrated Analytics System
[#4] spark - IBM Integrated Analytics System
 

More from Uniwersytet Otwarty AGH

Główne ujęcia osobowości w koncepcjach psychologii
Główne ujęcia osobowości w koncepcjach psychologiiGłówne ujęcia osobowości w koncepcjach psychologii
Główne ujęcia osobowości w koncepcjach psychologiiUniwersytet Otwarty AGH
 
Bionika fotosyntezy w medycynie i energetyce
Bionika fotosyntezy w medycynie i energetyceBionika fotosyntezy w medycynie i energetyce
Bionika fotosyntezy w medycynie i energetyceUniwersytet Otwarty AGH
 
Prognoza rozwoju technologii informacyjno-komunikacyjnych
Prognoza rozwoju technologii informacyjno-komunikacyjnychPrognoza rozwoju technologii informacyjno-komunikacyjnych
Prognoza rozwoju technologii informacyjno-komunikacyjnychUniwersytet Otwarty AGH
 
Tradycja i współczesność interdyscyplinarnej współpracy
Tradycja i współczesność interdyscyplinarnej współpracy Tradycja i współczesność interdyscyplinarnej współpracy
Tradycja i współczesność interdyscyplinarnej współpracy Uniwersytet Otwarty AGH
 
Ekologiczne żywienie, profilaktyka nowotworów
Ekologiczne żywienie, profilaktyka nowotworówEkologiczne żywienie, profilaktyka nowotworów
Ekologiczne żywienie, profilaktyka nowotworówUniwersytet Otwarty AGH
 
O społecznych konsekwencjach przegrzania współczesnego środowiska medialnego
O społecznych konsekwencjach przegrzania współczesnego środowiska medialnego O społecznych konsekwencjach przegrzania współczesnego środowiska medialnego
O społecznych konsekwencjach przegrzania współczesnego środowiska medialnego Uniwersytet Otwarty AGH
 
Technologia informacyjna a intelektualny potencjał cyfrowych tubylców
Technologia informacyjna a intelektualny potencjał cyfrowych tubylcówTechnologia informacyjna a intelektualny potencjał cyfrowych tubylców
Technologia informacyjna a intelektualny potencjał cyfrowych tubylcówUniwersytet Otwarty AGH
 
Niedosłuch jako choroba cywilizacyjna XXI wieku
Niedosłuch jako choroba cywilizacyjna XXI wiekuNiedosłuch jako choroba cywilizacyjna XXI wieku
Niedosłuch jako choroba cywilizacyjna XXI wiekuUniwersytet Otwarty AGH
 
Otwarte oprogramowanie - zaczerpnij ze źródła
Otwarte oprogramowanie - zaczerpnij ze źródłaOtwarte oprogramowanie - zaczerpnij ze źródła
Otwarte oprogramowanie - zaczerpnij ze źródłaUniwersytet Otwarty AGH
 
Stan aktualny i perspektywy poprawy jakości powietrza w Krakowie
Stan aktualny i perspektywy poprawy jakości powietrza w KrakowieStan aktualny i perspektywy poprawy jakości powietrza w Krakowie
Stan aktualny i perspektywy poprawy jakości powietrza w KrakowieUniwersytet Otwarty AGH
 
Ocena środowiska regionu świętokrzyskiego
Ocena środowiska regionu świętokrzyskiegoOcena środowiska regionu świętokrzyskiego
Ocena środowiska regionu świętokrzyskiegoUniwersytet Otwarty AGH
 
Perspektywy dla badań i praktyki użycia zmodyfikowanego spektrometru Ramana
Perspektywy dla badań i praktyki użycia zmodyfikowanego spektrometru RamanaPerspektywy dla badań i praktyki użycia zmodyfikowanego spektrometru Ramana
Perspektywy dla badań i praktyki użycia zmodyfikowanego spektrometru RamanaUniwersytet Otwarty AGH
 

More from Uniwersytet Otwarty AGH (20)

Główne ujęcia osobowości w koncepcjach psychologii
Główne ujęcia osobowości w koncepcjach psychologiiGłówne ujęcia osobowości w koncepcjach psychologii
Główne ujęcia osobowości w koncepcjach psychologii
 
Holistyczne zdrowie
Holistyczne zdrowieHolistyczne zdrowie
Holistyczne zdrowie
 
? - Informacja - rózne ujęcia
? - Informacja - rózne ujęcia? - Informacja - rózne ujęcia
? - Informacja - rózne ujęcia
 
Bionika fotosyntezy w medycynie i energetyce
Bionika fotosyntezy w medycynie i energetyceBionika fotosyntezy w medycynie i energetyce
Bionika fotosyntezy w medycynie i energetyce
 
Prognoza rozwoju technologii informacyjno-komunikacyjnych
Prognoza rozwoju technologii informacyjno-komunikacyjnychPrognoza rozwoju technologii informacyjno-komunikacyjnych
Prognoza rozwoju technologii informacyjno-komunikacyjnych
 
Jak mierzyć ilość informacji?
Jak mierzyć ilość informacji?Jak mierzyć ilość informacji?
Jak mierzyć ilość informacji?
 
Toskania
ToskaniaToskania
Toskania
 
Tradycja i współczesność interdyscyplinarnej współpracy
Tradycja i współczesność interdyscyplinarnej współpracy Tradycja i współczesność interdyscyplinarnej współpracy
Tradycja i współczesność interdyscyplinarnej współpracy
 
Erytrocyty - co o nas wiedzą?
Erytrocyty - co o nas wiedzą?Erytrocyty - co o nas wiedzą?
Erytrocyty - co o nas wiedzą?
 
Nowoczesna telekomunikacja
Nowoczesna telekomunikacjaNowoczesna telekomunikacja
Nowoczesna telekomunikacja
 
Ekologiczne żywienie, profilaktyka nowotworów
Ekologiczne żywienie, profilaktyka nowotworówEkologiczne żywienie, profilaktyka nowotworów
Ekologiczne żywienie, profilaktyka nowotworów
 
O społecznych konsekwencjach przegrzania współczesnego środowiska medialnego
O społecznych konsekwencjach przegrzania współczesnego środowiska medialnego O społecznych konsekwencjach przegrzania współczesnego środowiska medialnego
O społecznych konsekwencjach przegrzania współczesnego środowiska medialnego
 
Technologia informacyjna a intelektualny potencjał cyfrowych tubylców
Technologia informacyjna a intelektualny potencjał cyfrowych tubylcówTechnologia informacyjna a intelektualny potencjał cyfrowych tubylców
Technologia informacyjna a intelektualny potencjał cyfrowych tubylców
 
Niedosłuch jako choroba cywilizacyjna XXI wieku
Niedosłuch jako choroba cywilizacyjna XXI wiekuNiedosłuch jako choroba cywilizacyjna XXI wieku
Niedosłuch jako choroba cywilizacyjna XXI wieku
 
Orwell 2015
Orwell 2015Orwell 2015
Orwell 2015
 
Otwarte oprogramowanie - zaczerpnij ze źródła
Otwarte oprogramowanie - zaczerpnij ze źródłaOtwarte oprogramowanie - zaczerpnij ze źródła
Otwarte oprogramowanie - zaczerpnij ze źródła
 
Małopolskie Centrum Nauki
Małopolskie Centrum NaukiMałopolskie Centrum Nauki
Małopolskie Centrum Nauki
 
Stan aktualny i perspektywy poprawy jakości powietrza w Krakowie
Stan aktualny i perspektywy poprawy jakości powietrza w KrakowieStan aktualny i perspektywy poprawy jakości powietrza w Krakowie
Stan aktualny i perspektywy poprawy jakości powietrza w Krakowie
 
Ocena środowiska regionu świętokrzyskiego
Ocena środowiska regionu świętokrzyskiegoOcena środowiska regionu świętokrzyskiego
Ocena środowiska regionu świętokrzyskiego
 
Perspektywy dla badań i praktyki użycia zmodyfikowanego spektrometru Ramana
Perspektywy dla badań i praktyki użycia zmodyfikowanego spektrometru RamanaPerspektywy dla badań i praktyki użycia zmodyfikowanego spektrometru Ramana
Perspektywy dla badań i praktyki użycia zmodyfikowanego spektrometru Ramana
 

Co warto wiedzieć o bazach danych

  • 1. Uniwersytet Otwarty AGH 8 marca 2014 Spójrzmy przez okno: oto nasz świat. Pędzimy życie skrzętne, zapobiegliwe, staramy się żyć dostatniej, mieć więcej. [...] Wszyscy na swój sposób zapewniamy możliwie najlepsze warunki rozwoju i życia naszym dzieciom, wnukom. [...] Burzymy stare struktury społeczne i ekonomiczne, budujemy w ich miejsce nowe, nie oparte na tradycji, lecz na współczesnych pomysłach i poglądach. [...] Czy potrafimy - tacy, jacy jesteśmy - zrozumieć ludzi z minionych epok, którzy wyznawali inna zasadę świata [...]? Byli mieszkańcami profanum, [...] i z obszaru profanum tęsknie spoglądali w kierunku sacrum. Czy możemy to zrozumieć my, którzy sami przebywamy w sacrum, gdzie wdarliśmy się po śmierci bogów? Czy zauważyliśmy, odurzeni pozycją, jaką zajmujemy w kosmosie, jaką sami sobie przyznaliśmy, że już przed ponad stu laty narodzili się dwaj bożkowie, a może tylko demony - Interes i Wydajność? Za jakiś czas zechcą zająć miejsce opustoszałe po prawdziwych wielkich bogach archaicznych. Jaka wówczas będzie pozycja człowieka? Krzysztof Kowalski „Eros i kostucha” LSW Warszawa 1990 str. 276 Mariusz KLPPER
  • 2. Mariusz KLAPPER Uniwersytet Otwarty AGH 8 marca 2014 Co warto wiedzieć o bazach danych
  • 3. We współczesnej cywilizacji informatycznej bazy danych stały się jednymi z najczęściej spotykanych i wykorzystywanych struktur oraz obiektów służących do przechowywania i szybkiego wyszukiwania informacji. Występują one zarówno jako ogromne zasoby o zasięgu globalnym, jak i niewielkie lokalne obiekty indywidualne. Mamy z nimi do czynienia w wielu urządzeniach codziennego użytku, często nie zdając sobie z tego w ogóle sprawy
  • 4. Molier MIESZCZANIN SZLACHCICEM Teatr Telewizji 1969
  • 5. (Definicja według Wikipedii) Baza danych jest to zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego programu komputerowego specjalizowanego do gromadzenia i przetwarzania tych danych. Program taki (często pakiet programów) nazywany jest „systemem zarządzania bazą danych” (ang. database management system, DBMS). Programy do obsługi bazy danych operują głównie na danych tekstowych i liczbowych, lecz większość współczesnych systemów umożliwia przechowywanie danych cyfrowych różnego typu: dane o nieokreślonej strukturze, grafika, muzyka, obiekty itp.
  • 9. Serwer bazy danych to oprogramowanie obsługujące bazę danych na określonym sprzęcie i systemie operacyjnym. Serwer może obsługiwać kilka baz danych równocześnie. Baza danych to uporządkowana kolekcja przechowująca dane zapisane w postaci tablic, indeksów i procedur pomocniczych. Tablica przechowuje w bazie danych informacje jednorodne merytorycznie (ma jednolitą zawartość danych). Indeksy definiują sposób porządkowania i dostępu do danych a tablicach. Procedury pomocnicze to fragmenty oprogramowania służące do realizowania specyficznych operacji związanych ze strukturą danych oraz obsługą baz danych przez użytkowników Zasady ochrony danych w bazie określają uprawnienia oraz warunki dostępu i obsługi danych dla użytkowników bazy danych Elementy składowe bazy danych
  • 10. INFORMIX Microsoft SQL Server ORACLE Dbase Novell Btrieve MySQL Firebird Microsoft Access Cechy serwera lokalnej bazy danych ma także Microsoft Excel Serwer bazy danych jest oprogramowaniem narzędziowym i musi być wcześniej zainstalowany na komputerze, który ma obsługiwać bazę danych Niektóre popularne serwery baz danych
  • 11. Przykład serwera bazy danych Firebird zainstalowanego na komputerze z systemem Windows
  • 12. Serwer bazy danych Firebird jako proces w systemie Windows
  • 13. Fizyczne pliki baz danych Firebird na dysku
  • 14. Przykład grupy baz danych na serwerze Firebird
  • 15. Zawartość bazy danych w przykładowej grupie
  • 16. Tablice bazy danych w przykładowej grupie
  • 17. Pola wybranej tablicy w przykładowej bazie danych
  • 20. Indeksy tablicy w przykładowej bazie danych
  • 21. Język zapytań SQL (Structured Query Language) to uniwersalny język programowania umożliwiający administratorom i użytkownikom komunikację i obsługę baz danych. Serwer języka SQL jest częścią oprogramowania serwera baz danych wbudowaną w pakiet obsługi baz danych Język SQL ma znormalizowaną syntaktykę, ale jest wiele jego dialektów dla różnych serwerów SQL. SQL umożliwia operowanie na bazie danych (redagowanie jej zasobów) oraz uzyskiwanie informacji z bazy danych przy pomocy zapytań. Skrypty SQL to sekwencje zapisów języka SQL wysyłane przez aplikacje użytkowe do serwera SQL, który zamienia je na operacje bezpośrednio wykonywane na danych i/lub strukturach w bazie. Serwer SQL jest więc interpreterem zapytań i poleceń języka SQL. Komunikacja użytkownika z bazą danych
  • 22. Podstawowe grupy poleceń języka SQL Zapytania i polecenia języka SQL są nazywane skryptami SQL Zawsze dotyczą one konkretnej tablicy w bazie danych, lub struktury całej bazy. Przy pomocy skryptów SQL można także tworzyć, modyfikować i kasować tablice oraz inne obiekty w bazie danych. W niektórych wersjach SQL przy pomocy skryptów SQL można także tworzyć i kasować całe bazy danych.
  • 23. select INOD_MIEJSC, INOD_ULICA, INOD_NAZWA from INDEKS_KONTRAH where Upper(INOD_MIEJSC) like %KRA% order by INOD_MIEJSC, INOD_ULICA, INOD_NAZWIS Przykład zapytania do bazy danych w języku SQL
  • 25. Przykładowy skrypt SQL tworzący tablicę w bazie danych
  • 26. Trygery (wyzwalacz) to wbudowana w strukturę bazy danych procedura napisana w języku SQL, która jest wykonywana automatycznie jako reakcja na pewne zdarzenia w tabeli bazy danych. Wyzwalacze mogą np. ograniczać dostęp do pewnych danych, rejestrować zmiany danych, nadzorować modyfikacje danych lub wykonywać akcje związane ze zmianami w tabeli Procedura wbudowana jest to napisana w języku SQL sekwencja programu, która jest wbudowana w strukturę bazy danych i może być używana przez użytkownika bazy poprzez wywołanie jej skryptem SQL. Pozwala to na zmniejszenie liczby kroków wymiany danych pomiędzy użytkownikiem a bazą danych. Ułatwia ona i ujednolica operowanie bazą, przyczynia się do wzrostu wydajności systemu zarządzania bazą danych, oraz pozwala wprowadzić wygodną i przejrzystą komunikację pomiędzy bazą danych a użytkownikiem Trygery i procedury wbudowane w bazę danych
  • 29. Transakcje w bazie danych Z bazy danych zazwyczaj równocześnie korzysta wielu użytkowników. Każdy z nich (zależnie od posiadanych uprawnień) może wyszukiwać oraz/albo aktualizować informacje w bazie danych. System zarządzania bazą danych musi zapewnić z jednej strony możliwość sprawnego korzystania z bazy przez użytkowników, jak też zabezpieczenie poprawności i integralności danych w bazie. Dodatkowo system zarządzania bazą danych musi zabezpieczyć bazę przed skutkami ewentualnych awarii technicznych lub funkcjonalnych .
  • 30. Ilość 32 Pobranie 10 Zapis 22 Ilość 32 Pobranie 15 Zapis 17 Było 32 Pobrano 25 Zapisane jest 17 Użytkownik A Użytkownik B Wynik w bazie danych Przykład utraty integralności danych w bazie
  • 31. Ilość 32 Pobranie 10 Zapis 22 Ilość 22 Pobranie 15 Zapis 7 Było 32 Pobrano 25 Zapisane jest 7 Użytkownik A Użytkownik B Wynik w bazie danych Start transakcji Czekaj Koniec transakcji Czekaj Start transakcji Koniec transakcji Schemat działania transakcji w bazie danych
  • 32. Zarówno rozpoczęcie, jak i zakończenie transakcji jest inicjowane działaniem użytkownika. Podczas trwania transakcji dane używane w jej trakcie nie są zmieniane w bazie danych. Informacje o kolejnych krokach transakcji są pamiętane w bazie danych. Dane rzeczywiste w bazie są zmieniane dopiero po zakończeniu transakcji Transakcja może być w dowolnym momencie przerwana przez użytkownika lub przyczyny zewnętrzne. Wtedy skutki transakcji są usuwane z bazy danych i żadne dane w bazie nie są zmieniane. Transakcja może być złożona, może obejmować wiele kroków procedury i wiele różnych zasobów bazy danych Realizowanie transakcji obciąża serwer bazy danych i zwalnia procedury korzystania z bazy danych Błędne wykonanie transakcji może uszkodzić bazę danych, lub zablokować niektóre jej zasoby Administrator bazy danych posiada na ogół narzędzia umożliwiające usunięcie z bazy skutków błędnych transakcji. Najważniejsze uwarunkowania transakcji
  • 33. Zakleszczenie bazy danych (deadlock) Wprowadzenie transakcyjności w bazie danych stwarza ryzyko powstania tak zwanego zakleszczenia. Występuje ono wtedy, kiedy dwa niezależne procesy wykonywane w bazie danych żądają wzajemnego dostępu do danych zablokowanych wcześniej w rama transakcji każdego z procesów. Obydwa procesy pozostają wtedy w trwałym stanie oczekiwania, niemożliwym do usunięcia, gdyż żaden proces nie może się uaktywnić bez zwolnienia zasobu innego procesu, a inny proces nie może zwolnić zasobu, gdyż także jest w stanie oczekiwania na dostęp do zasobów drugiego procesu czekającego. Taki stan powoduje trwałe zawieszenie pracy obu procesów i zawieszenie współpracy ich użytkonwików z bazą danych. Zjawisko zakleszczania jest bardzo trudno wyeliminować, nie ma także sprawnych i niezawodnych metod wykrywania go.
  • 34. Zasadą jest chronienie dostępu do danych w bazie przy pomocy identyfikatorów użytkownika i haseł dostępu. Ochrona może być realizowana na różnych poziomach: całej bazy danych, poszczególnych tablic w bazie, a nawet określonych pól w tablicach. Ochroną danych w bazach zarządzają specjalni pracownicy nazywani administratorami bazy danych Wszystkie profesjonalne serwery baz danych mają bardzo bogate narzędzia administracyjne dla ochrony danych w bazie. Niezależnie od tego ochronę danych realizuję się także na poziomie oprogramowania użytkowego. Ochrona przed nieuprawnionym dostępem do informacji przechowywanych w bazach danych jest obecnie jednym z najpoważniejszych problemów cywilizacji informacyjnej Ochrona dostępu do danych w bazie
  • 35. Możliwe przyczyny uszkodzenia bazy danych: = techniczne awarie sprzętu = awarie oprogramowania serwera bazy danych = błędy w oprogramowaniu użytkowym dla bazy danych = nieprawidłowe obsługiwanie bazy danych = błędne działania użytkowników bazy danych = przyczyny losowe związane z pracą współbieżną użytkowników = zdeterminowane działania przestępcze Sposoby zabezpieczania i rekonstrukcji bazy danych: = kopiowanie awaryjne bazy danych = równoległa praca z dwoma kopiami bazy danych = narzędzia i procedury administratora bazy = staranna i skuteczna ochrona dostępu do bazy danych = okresowa weryfikacja integralności bazy danych = weryfikacja i testowanie oprogramowania użytkowego = tworzenie zapisów archiwalnych na innych nośnikach danych Zabezpieczanie bazy danych przed skutkami awarii
  • 36. GOOGLE YouTube ePuaP Płatnik ZUS Strona www „Skład Osobowy AGH” Książka adresowa telefonu komórkowego Struktury bazodanowe można napotkać na wielu witrynach Internetowych w związku z opcją „Szukaj” Niektóre znane aplikacje mające cechy serwerów bazy danych
  • 37. Spójrzmy przez okno: oto nasz świat. Pędzimy życie skrzętne, zapobiegliwe, staramy się żyć dostatniej, mieć więcej. [...] Wszyscy na swój sposób zapewniamy możliwie najlepsze warunki rozwoju i życia naszym dzieciom, wnukom. [...] Burzymy stare struktury społeczne i ekonomiczne, budujemy w ich miejsce nowe, nie oparte na tradycji, lecz na współczesnych pomysłach i poglądach. [...] Czy potrafimy - tacy, jacy jesteśmy - zrozumieć ludzi z minionych epok, którzy wyznawali inna zasadę świata [...]? Byli mieszkańcami profanum, [...] i z obszaru profanum tęsknie spoglądali w kierunku sacrum. Czy możemy to zrozumieć my, którzy sami przebywamy w sacrum, gdzie wdarliśmy się po śmierci bogów? Czy zauważyliśmy, odurzeni pozycją, jaką zajmujemy w kosmosie, jaką sami sobie przyznaliśmy, że już przed ponad stu laty narodzili się dwaj bożkowie, a może tylko demony - Interes i Wydajność? Za jakiś czas zechcą zająć miejsce opustoszałe po prawdziwych wielkich bogach archaicznych. Jaka wówczas będzie pozycja człowieka? DZIĘKUJĘ ZA SPOTKANIE Uniwersytet Otwarty AGH 8 marca 2014 Krzysztof Kowalski „Eros i kostucha” LSW Warszawa 1990 str 276 Mariusz KLAPPER Zapraszam 29 marca 2014 roku na rozmowę o systemie ANDROID