Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
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 Uniwersytet Otwarty AGH 8 marca 2014 Mariusz KLPPER
2
o bazach danych Co warto wiedzieć Uniwersytet Otwarty AGH 8 marca 2014
Mariusz KLAPPER
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
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. (Definicja według Wikipedii)
6
Schemat logiczny bazy danych
7
Schemat funkcjonalny bazy danych
8
Schemat organizacyjny bazy danych
9
Elementy składowe 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
10
Niektóre popularne serwery baz 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
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
18
Indeksowanie baz danych
19
Przykład indeksacji danych w bazie
20
Indeksy tablicy w przykładowej bazie danych
21
Komunikacja użytkownika z bazą 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.
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
Przykład zapytania do bazy danych w języku SQL
select INOD_MIEJSC, INOD_ULICA, INOD_NAZWA from INDEKS_KONTRAH where Upper(INOD_MIEJSC) like %KRA% order by INOD_MIEJSC, INOD_ULICA, INOD_NAZWIS
24
Wyniki zapytania SQL
25
Przykładowy skrypt SQL tworzący tablicę w bazie danych
26
Trygery i procedury wbudowane w bazę 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
27
Przykładowy tryger bazy danych
28
Przykładowa procedura wbudowana bazy 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
Przykład utraty integralności danych w bazie
Użytkownik A Użytkownik B Wynik w bazie danych Ilość 32 Ilość 32 Było 32 Pobranie 10 Pobranie 15 Pobrano 25 Zapis 22 Zapis 17 Zapisane jest 17
31
Schemat działania transakcji w bazie danych
Użytkownik A Użytkownik B Wynik w bazie danych Ilość 32 Czekaj Było 32 Start transakcji Ilość 22 Start transakcji Pobranie 10 Pobrano 25 Pobranie 15 Zapis 22 Zapisane jest 7 Zapis 7 Koniec transakcji Koniec transakcji Czekaj
32
Najważniejsze uwarunkowania transakcji
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.
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
Ochrona dostępu do danych w bazie
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
35
Zabezpieczanie bazy danych przed skutkami awarii
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
36
Niektóre znane aplikacje mające cechy serwerów bazy danych
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”
37
na rozmowę o systemie ANDROID
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 Krzysztof Kowalski „Eros i kostucha” LSW Warszawa 1990 str 276 Zapraszam 29 marca 2014 roku na rozmowę o systemie ANDROID Uniwersytet Otwarty AGH 8 marca 2014 Mariusz KLAPPER
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.