Co warto wiedzie o bazach danych

  • Published on
    11-Jan-2017

  • View
    215

  • Download
    0

Transcript

Slajd 1Uniwersytet Otwarty AGH 8 marca 2014Spjrzmy przez okno: oto nasz wiat. Pdzimy ycie skrztne, zapobiegliwe, staramy si y dostatniej, mie wicej. [...] Wszyscy na swj sposb zapewniamy moliwie najlepsze warunki rozwoju i ycia naszym dzieciom, wnukom. [...] Burzymy stare struktury spoeczne i ekonomiczne, budujemy w ich miejsce nowe, nie oparte na tradycji, lecz na wspczesnych pomysach i pogldach. [...] Czy potrafimy - tacy, jacy jestemy - zrozumie ludzi z minionych epok, ktrzy wyznawali inna zasad wiata [...]? Byli mieszkacami profanum, [...] i z obszaru profanum tsknie spogldali w kierunku sacrum. Czy moemy to zrozumie my, ktrzy sami przebywamy w sacrum, gdzie wdarlimy si po mierci bogw?Czy zauwaylimy, odurzeni pozycj, jak zajmujemy w kosmosie, jak sami sobie przyznalimy, e ju przed ponad stu laty narodzili si dwaj bokowie, a moe tylko demony - Interes i Wydajno? Za jaki czas zechc zaj miejsce opustoszae po prawdziwych wielkich bogach archaicznych. Jaka wwczas bdzie pozycja czowieka?Krzysztof Kowalski Eros i kostucha LSW Warszawa 1990 str. 276Mariusz KLPPER1Mariusz KLAPPERUniwersytet Otwarty AGH 8 marca 2014Co warto wiedzieo bazach danych2 We wspczesnej cywilizacji informatycznej bazy danych stay si jednymi z najczciej spotykanych i wykorzystywanych struktur oraz obiektw sucych do przechowywania i szybkiego wyszukiwania informacji. Wystpuj one zarwno jako ogromne zasoby o zasigu globalnym, jak i niewielkie lokalne obiekty indywidualne. Mamy z nimi do czynienia w wielu urzdzeniach codziennego uytku, czsto nie zdajc sobie z tego w ogle sprawyMolier MIESZCZANIN SZLACHCICEM Teatr Telewizji 1969(Definicja wedug Wikipedii) Baza danych jest to zbir danych zapisanych zgodnie z okrelonymi reguami. W wszym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjtymi dla danego programu komputerowego specjalizowanego do gromadzenia i przetwarzania tych danych. Program taki (czsto pakiet programw) nazywany jest systemem zarzdzania baz danych (ang. database management system, DBMS).Programy do obsugi bazy danych operuj gwnie na danych tekstowych i liczbowych, lecz wikszo wspczesnych systemw umoliwia przechowywanie danych cyfrowych rnego typu: dane o nieokrelonej strukturze, grafika, muzyka, obiekty itp.Schemat logiczny bazy danychSchemat funkcjonalny bazy danychSchemat organizacyjny bazy danychSerwer bazy danych to oprogramowanie obsugujce baz danych na okrelonym sprzcie i systemie operacyjnym. Serwer moe obsugiwa kilka baz danych rwnoczenie. Baza danych to uporzdkowana kolekcja przechowujca dane zapisane w postaci tablic, indeksw i procedur pomocniczych.Tablica przechowuje w bazie danych informacje jednorodne merytorycznie (ma jednolit zawarto danych).Indeksy definiuj sposb porzdkowania i dostpu do danych a tablicach.Procedury pomocnicze to fragmenty oprogramowania suce do realizowania specyficznych operacji zwizanych ze struktur danych oraz obsug baz danych przez uytkownikwZasady ochrony danych w bazie okrelaj uprawnienia oraz warunki dostpu i obsugi danych dla uytkownikw bazy danychElementy skadowe bazy danychINFORMIX Microsoft SQL ServerORACLEDbaseNovell BtrieveMySQLFirebirdMicrosoft AccessCechy serwera lokalnej bazy danych ma take Microsoft ExcelSerwer bazy danych jest oprogramowaniem narzdziowym i musi by wczeniej zainstalowany na komputerze, ktry ma obsugiwa baz danychNiektre popularne serwery baz danychPrzykad serwera bazy danych Firebird zainstalowanego na komputerze z systemem WindowsSerwer bazy danych Firebird jako proces w systemie WindowsFizyczne pliki baz danych Firebird na dyskuPrzykad grupy baz danych na serwerze FirebirdZawarto bazy danych w przykadowej grupieTablice bazy danych w przykadowej grupiePola wybranej tablicy w przykadowej bazie danychIndeksowanie baz danychPrzykad indeksacji danych w bazieIndeksy tablicy w przykadowej bazie danychJzyk zapyta SQL (Structured Query Language) to uniwersalny jzyk programowania umoliwiajcy administratorom i uytkownikom komunikacj i obsug baz danych. Serwer jzyka SQL jest czci oprogramowania serwera baz danych wbudowan w pakiet obsugi baz danychJzyk SQL ma znormalizowan syntaktyk, ale jest wiele jego dialektw dla rnych serwerw SQL. SQL umoliwia operowanie na bazie danych (redagowanie jej zasobw) oraz uzyskiwanie informacji z bazy danych przy pomocy zapyta.Skrypty SQL to sekwencje zapisw jzyka SQL wysyane przez aplikacje uytkowe do serwera SQL, ktry zamienia je na operacje bezporednio wykonywane na danych i/lub strukturach w bazie. Serwer SQL jest wic interpreterem zapyta i polece jzyka SQL.Komunikacja uytkownika z baz danychPodstawowe grupy polece jzyka SQLZapytania i polecenia jzyka SQL s nazywane skryptami SQL Zawsze dotycz one konkretnej tablicy w bazie danych, lub struktury caej bazy. Przy pomocy skryptw SQL mona take tworzy, modyfikowa i kasowa tablice oraz inne obiekty w bazie danych. W niektrych wersjach SQL przy pomocy skryptw SQL mona take tworzy i kasowa cae 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_NAZWISPrzykad zapytania do bazy danych w jzyku SQLWyniki zapytania SQLPrzykadowy skrypt SQL tworzcy tablic w bazie danych Trygery (wyzwalacz) to wbudowana w struktur bazy danych procedura napisana w jzyku SQL, ktra jest wykonywana automatycznie jako reakcja na pewne zdarzenia w tabeli bazy danych. Wyzwalacze mog np. ogranicza dostp do pewnych danych, rejestrowa zmiany danych, nadzorowa modyfikacje danych lub wykonywa akcje zwizane ze zmianami w tabeli Procedura wbudowana jest to napisana w jzyku SQL sekwencja programu, ktra jest wbudowana w struktur bazy danych i moe by uywana przez uytkownika bazy poprzez wywoanie jej skryptem SQL. Pozwala to na zmniejszenie liczby krokw wymiany danych pomidzy uytkownikiem a baz danych. Uatwia ona i ujednolica operowanie baz, przyczynia si do wzrostu wydajnoci systemu zarzdzania baz danych, oraz pozwala wprowadzi wygodn i przejrzyst komunikacj pomidzy baz danych a uytkownikiemTrygery i procedury wbudowane w baz danychPrzykadowy tryger bazy danychPrzykadowa procedura wbudowana bazy danychTransakcje w bazie danych Z bazy danych zazwyczaj rwnoczenie korzysta wielu uytkownikw. Kady z nich (zalenie od posiadanych uprawnie) moe wyszukiwa oraz/albo aktualizowa informacje w bazie danych. System zarzdzania baz danych musi zapewni z jednej strony moliwo sprawnego korzystania z bazy przez uytkownikw, jak te zabezpieczenie poprawnoci i integralnoci danych w bazie. Dodatkowo system zarzdzania baz danych musi zabezpieczy baz przed skutkami ewentualnych awarii technicznych lub funkcjonalnych .Ilo 32Pobranie 10Zapis 22Ilo 32Pobranie 15Zapis 17Byo 32Pobrano 25Zapisane jest 17Uytkownik AUytkownik BWynik w bazie danychPrzykad utraty integralnoci danych w bazie Ilo 32Pobranie 10Zapis 22Ilo 22Pobranie 15Zapis 7Byo 32Pobrano 25Zapisane jest 7Uytkownik AUytkownik BWynik w bazie danychStart transakcjiCzekajKoniec transakcjiCzekajStart transakcjiKoniec transakcjiSchemat dziaania transakcji w bazie danych Zarwno rozpoczcie, jak i zakoczenie transakcji jest inicjowane dziaaniem uytkownika. Podczas trwania transakcji dane uywane w jej trakcie nie s zmieniane w bazie danych. Informacje o kolejnych krokach transakcji s pamitane w bazie danych. Dane rzeczywiste w bazie s zmieniane dopiero po zakoczeniu transakcjiTransakcja moe by w dowolnym momencie przerwana przez uytkownika lub przyczyny zewntrzne. Wtedy skutki transakcji s usuwane z bazy danych i adne dane w bazie nie s zmieniane.Transakcja moe by zoona, moe obejmowa wiele krokw procedury i wiele rnych zasobw bazy danychRealizowanie transakcji obcia serwer bazy danych i zwalnia procedury korzystania z bazy danychBdne wykonanie transakcji moe uszkodzi baz danych, lub zablokowa niektre jej zasobyAdministrator bazy danych posiada na og narzdzia umoliwiajce usunicie z bazy skutkw bdnych transakcji.Najwaniejsze uwarunkowania transakcjiZakleszczenie bazy danych (deadlock)Wprowadzenie transakcyjnoci w bazie danych stwarza ryzyko powstania tak zwanego zakleszczenia. Wystpuje ono wtedy, kiedy dwa niezalene procesy wykonywane w bazie danych daj wzajemnego dostpu do danych zablokowanych wczeniej w rama transakcji kadego z procesw. Obydwa procesy pozostaj wtedy w trwaym stanie oczekiwania, niemoliwym do usunicia, gdy aden proces nie moe si uaktywni bez zwolnienia zasobu innego procesu, a inny proces nie moe zwolni zasobu, gdy take jest w stanie oczekiwania na dostp do zasobw drugiego procesu czekajcego. Taki stan powoduje trwae zawieszenie pracy obu procesw i zawieszenie wsppracy ich uytkonwikw z baz danych. Zjawisko zakleszczania jest bardzo trudno wyeliminowa, nie ma take sprawnych i niezawodnych metod wykrywania go.Zasad jest chronienie dostpu do danych w bazie przy pomocy identyfikatorw uytkownika i hase dostpu. Ochrona moe by realizowana na rnych poziomach: caej bazy danych, poszczeglnych tablic w bazie, a nawet okrelonych pl w tablicach.Ochron danych w bazach zarzdzaj specjalni pracownicy nazywani administratorami bazy danychWszystkie profesjonalne serwery baz danych maj bardzo bogate narzdzia administracyjne dla ochrony danych w bazie. Niezalenie od tego ochron danych realizuj si take na poziomie oprogramowania uytkowego.Ochrona przed nieuprawnionym dostpem do informacji przechowywanych w bazach danych jest obecnie jednym z najpowaniejszych problemw cywilizacji informacyjnejOchrona dostpu do danych w bazieMoliwe przyczyny uszkodzenia bazy danych:= techniczne awarie sprztu= awarie oprogramowania serwera bazy danych= bdy w oprogramowaniu uytkowym dla bazy danych= nieprawidowe obsugiwanie bazy danych= bdne dziaania uytkownikw bazy danych= przyczyny losowe zwizane z prac wspbien uytkownikw= zdeterminowane dziaania przestpczeSposoby zabezpieczania i rekonstrukcji bazy danych:= kopiowanie awaryjne bazy danych= rwnolega praca z dwoma kopiami bazy danych= narzdzia i procedury administratora bazy= staranna i skuteczna ochrona dostpu do bazy danych= okresowa weryfikacja integralnoci bazy danych= weryfikacja i testowanie oprogramowania uytkowego= tworzenie zapisw archiwalnych na innych nonikach danychZabezpieczanie bazy danych przed skutkami awariiGOOGLEYouTubeePuaPPatnik ZUSStrona www Skad Osobowy AGHKsika adresowa telefonu komrkowegoStruktury bazodanowe mona napotka na wielu witrynach Internetowych w zwizku z opcj SzukajNiektre znane aplikacje majce cechy serwerw bazy danychSpjrzmy przez okno: oto nasz wiat. Pdzimy ycie skrztne, zapobiegliwe, staramy si y dostatniej, mie wicej. [...] Wszyscy na swj sposb zapewniamy moliwie najlepsze warunki rozwoju i ycia naszym dzieciom, wnukom. [...] Burzymy stare struktury spoeczne i ekonomiczne, budujemy w ich miejsce nowe, nie oparte na tradycji, lecz na wspczesnych pomysach i pogldach. [...] Czy potrafimy - tacy, jacy jestemy - zrozumie ludzi z minionych epok, ktrzy wyznawali inna zasad wiata [...]? Byli mieszkacami profanum, [...] i z obszaru profanum tsknie spogldali w kierunku sacrum. Czy moemy to zrozumie my, ktrzy sami przebywamy w sacrum, gdzie wdarlimy si po mierci bogw?Czy zauwaylimy, odurzeni pozycj, jak zajmujemy w kosmosie, jak sami sobie przyznalimy, e ju przed ponad stu laty narodzili si dwaj bokowie, a moe tylko demony - Interes i Wydajno? Za jaki czas zechc zaj miejsce opustoszae po prawdziwych wielkich bogach archaicznych. Jaka wwczas bdzie pozycja czowieka?DZIKUJZA SPOTKANIEUniwersytet Otwarty AGH 8 marca 2014Krzysztof Kowalski Eros i kostucha LSW Warszawa 1990 str 276Mariusz KLAPPERZapraszam 29 marca 2014 rokuna rozmow o systemie ANDROID