290 likes | 699 Views
SYSTEMY BAZY DANYCH, SYSTEMY ZARZĄDZANIA BAZĄ DANYCH I MODELE BAZ DANYCH. CEL NAUCZANIA: 1Wykonywać obliczenia i opracowania graficzne z wykorzystaniem programów komputerowych Osiągnięcia : 1) Rozróżniać podstawowe pojęcia z baz danych : baza danych, system zarządzania bazą danych,
E N D
SYSTEMY BAZY DANYCH, SYSTEMY ZARZĄDZANIA BAZĄ DANYCH I MODELE BAZ DANYCH CEL NAUCZANIA: 1Wykonywać obliczenia i opracowania graficzne z wykorzystaniem programów komputerowych Osiągnięcia: 1) Rozróżniać podstawowe pojęcia z baz danych: baza danych, system zarządzania bazą danych, system bazy danych
Baza danych • Baza danych jest to uporządkowany zbiór danych z pewnej dziedziny tematycznej, zorganizowany w sposób ułatwiający dostęp do danych i operowanie nimi wg określonych kryteriów. • Baza danych jest abstrakcyjnym, informatycznym odzwierciedleniem wybranego fragmentu rzeczywistości, zwanego mini światem. Bazą danych może być np. zbiór danych o uczniach i ich ocenach czy kartoteka pacjentów. • Baza danych – model świata rzeczywistego. Obiekty w opisywanej rzeczywistości są encjami, a charakteryzowane są przez atrybuty. • Baza danych – system, który przechowuje dane na nośniku elektronicznym, mający zdefiniowaną strukturę, format i reguły poprawności.
Baza danych • Każda baza danych posiada • swoje źródło danych • swoich użytkowników • związki z reprezentowaną rzeczywistością • Projektanci baz danych definiują strukturę baz danych i przygotowują programy - aplikacje BD. • Baza danych musi być wypełniona danymi a następnie przetworzona.
SYSTEM ZARZĄDZANIA BAZĄ DANYCH • SZBD - DBMS - Data Base Management System • SZBD jest oprogramowaniem ogólnego przeznaczenia ułatwiającym procesy definiowania, konstruowania i przetwarzania baz danych dla różnych aplikacji. • System zarządzania bazą danych to oprogramowanie zarządzające danymi w bazie i umożliwiające tworzenie i przetwarzanie danych. • Moduły SZBD • Moduł zarządzania transakcjami • Moduł zarządzania dostępem do danychUmożliwia on m.in. właściwą interpretację danych, wprowadzanie nowych danych, usuwania i modyfikowanie danych.
Główne zadania SZBD • Sprawne wykonywanie zapytań w celu wyszukiwania informacji w bazie • Zapewnienie integralności danych – wyłącznie takie modyfikacje bazy, po których powiązania wszystkich rekordów są poprawne • Zabezpieczenie przed utratą danych – odporność na awarie systemu i sprzętu (np. automatyczne tworzenie kopii zapasowych) • Zapewnienie wielodostępu– dostęp do danych wielu użytkowników w sposób wykluczający kolizję • Ochrona danych – autoryzacja z podziałem na różne poziomy uprawnień użytkowników
System bazy danych składa się z Bazy Danych i Systemu Zarządzania bazą danych
Baza danych: DANE i SCHEMAT • Daneopisują cechy obiektu. • Schemat jest opisem struktury przechowywanych danych oraz powiązań wzajemnych między nimi. • Przykładowe struktura informacji dot. grup studenckich: 1) StudenciTabelaSTUDENT(Nazwisko, NrIndeksu, Rok, Kierunek)- schematDane: Nowak, 18175, I, informatyka Kowalik, 33573, II, telekomunikacja 2) Prowadzone wykładyTabela: WYKŁAD(Nazwa, Nr, Godziny, Prowadzący)Dane: Języki programowania, CS201, 8, Misiak Bazy danych, C8100, 8, Pilecki 3) Grupy studenckieTabela: GRUPA(NrGrupy, NrWykładu, Semestr, Rok)Dane: 85, CS201, letni, 96 92, CS445, zimowy, 96 4) Oceny z zaliczeń modułów dydaktycznychTabela: OCENY(NrIndeksu, NrGrupy, NrWykładu, Ocena)Dane: 18175, 92, CS100, 4 19551, 101, CS445, 5
Własności baz danych • Niezależność aplikacji i danych. Dane wprowadzane bez konieczności modyfikowania aplikacji • Abstrakcyjna reprezentacja danych. Przygotowanie aplikacji realizowane przy użyciu deklaratywnychjęzyków programowania na wyższym poziomie niż w przypadku klasycznych języków programowania. • Różnorodność sposobów widzenia danych. Różni użytkownicy widzą różnie te same dane - filtry, perspektywy. • Fizyczna i logiczna niezależność danych - rozszerzenie systemu komputerowego nie narusza danych bazie danych.
Korzyści stosowana BD • Zmniejszenie nadmiarowości przechowywania danych - dane nie są duplikowane • Współdzielenie danych - na tych samych danych pracują różne aplikacje, bez zagrożenia zniszczenia • Autoryzacja dostępu do danych uniemożliwiająca użytkowanie poufnych danych przez niepowołanych użytkowników • Wielość interfejsów do danych - wizualizacja tych samych danych w różnych formatach, np. formularze • Reprezentacja złożonych związków pomiędzy danymi • Ograniczenia integralnościowe - zabezpieczenie przed wpisywaniem do BD niewłaściwych wartości • Ochrona przed awariami - uodpornienie SZBD, np. na zanik zasilania - odtworzenie poprawnego stanu sprzed awarii.
Kiedy nie zaleca się stosowania Baz Danych • W przypadku ograniczonych możliwości firmy • W przypadku gdy mechanizmy SZBD w zakresie współbieżności, dostępu, bezpieczeństwa itp. są nadmiarowe • W przypadku przetwarzania danych przez pojedynczego użytkownika lub grupę użytkowników pracujących w sposób ściśle skoordynowany, np. sekwencyjny. • W przypadku przechowywania prostych danych o niskim stopniu powiązania oraz używania prostych programów, nie rozwijanych w przyszłości. • W przypadku istotnych ograniczeń czasowych na czas realizacji transakcji, np. czasu rzeczywistego.
Podział baz danych ze względu na sposób dostępu • Mogą być niewielkie bazy danych, np. baza znajomych, z której korzysta jedynie właściciel albo duże bazy danych jak np. baza danych w banku, do której jest konieczny dostęp z wielu stanowisk. • Baza danych może pracować jako • baza jednostanowiskowa– baza i SZBD są na jednym komputerze, dostęp ma jeden użytkownik • baza ze współdzieleniem plików– baza i SZBD są dostępne na wielu komputerach. W bazach tego typu współdzielone są jedynie pliki danych, ale przetwarzanie danych odbywa się na każdym komputerze oddzielnie • baza typu klient serwer – baza i system zarządzania nią stanowią odrębny proces, na wydzielonym komputerze – serwerze bazy danych. Serwer BD odpowiada za zarządzanie danymi, przetwarzanie danych i udostępnianie. Z serwerem są połączone przez sieć komputeryużytkowników, zwane klientami.
Modele baz danych • Aby przechowywać informacje, konieczne jest określenie formy ich przechowywania. Na potrzeby baz danych zostały zdefiniowane klasyczne techniki organizowania informacji, zwane modelami baz danych. • Bazy danych mogą różnić się sposobem, w jaki dane są zorganizowane i powiązane ze sobą.Przez model danychrozumiemy zbiór pojęć stosowanych do opisu struktury bazy danych. • Struktura BD obejmuje: • typy danych, związki miedzy nimi i ograniczenia nałożone na dane • zbiór operacji do definiowania, wyszukiwania i uaktualniania BD • Wśród modeli danych można wyróżnić następujące kategorie: • Koncepcyjne modele danych. Są to modele najbardziej zbliżone poziomem abstrakcji do wymagań projektantów BD, stosowane w pierwszych etapach projektów, w celu weryfikacji wyróżnionych w mini-świecie obiektów i związków miedzy nimi • Implementacyjne modele danych, stosowane do transformacji wcześniej przygotowanego modelu koncepcyjnego do konkretnego modelu BD, a więc do postaci, która jest z godna z wymaganiami określonego SZBD.
Modele implementacyjne baz danych • Wśród modeli implementacyjnych wyróżniamy modele: • hierarchiczny • sieciowy • relacyjny • obiektowy • Modele hierarchiczne i sieciowe są już prawie nie stosowane w praktyce. Model relacyjnydominuje w komercyjnych bazach danych. Przykładem jest relacyjny model w bazie danych Oracle. • Fizyczne modele danych, określają sposoby organizacji danych w pamięci zewnętrznej komputerów. Operuje się tu pojęciami takimi jak np. rekord, plik, adres.
Model hierarchiczny • Dane są zorganizowane w postaci drzewa. Informacja jest zawarta w dokumentach oraz w strukturze drzewa (podobnie jak foldery na dysku komputera). • W modelu hierarchicznym baza ma strukturę drzewiastą, z jednym punktem początkowym i wieloma rozgałęzieniami, podobną do struktury drzewa, folderów na dysku komputera czy drzewa genealogicznego. Zbiór nadrzędny nazywamy rodzicem zawiera podzbiory zwane potomkami.
Model sieciowy • Powiązania miedzy dokumentami tworzą sieć. Informacja jest zawarta w dokumentach oraz w przebiegu połączeń sieci. • W odróżnieniu od hierarchicznej, w bazie sieciowej dowolny zbiór danych może być powiązany z każdym innym.
Model obiektowy • Model obiektowy łączy cechy programów komputerowych tworzonych w językach programowania obiektowego z cechami aplikacji bazodanowych. Obiekt w bazie reprezentuje obiekt w świecie rzeczywistym. • Aplikacje bazodanowe w modelu obiektowym bazują na obiektach(zbiorach połączonych danych i procedur umożliwiających manipulowanie tymi danymi) i tzw. klasach obiektów.
Model relacyjny • Bazy relacyjne Prawie najpopularniejsza grupa baz danych. Model wykorzystywany najczęściej przy projektowaniu baz danych.Dane przechowywane w wielu tabelach, pomiędzy tabelami tworzone są specjalne powiązania zwane relacjami. • Przykład: Tabele: Pracownik, Zespół, Etat
Tabela • Tabela to zbiór powiązanych ze sobą danych.Jest to układ poziomych wierszy zwanych rekordami i pionowych kolumn zwanych polami rekordu. • Tabela jest identyfikowana przez nazwę. • Przecięcie kolumny i wiersza tworzy pole. Nazwa kolumny jest jednocześnie nazwą pola.
Baza kartotekowa • Nazywana również bazą 2-wymiarową. Bazy takie składają się tylko z jednej tabeli, w której zgromadzone są wszystkie dane. Każdy rekord takiej bazy można przedstawić w postaci pojedynczej karty.Przykład: zestaw kart katalogowych książek w bibliotece lub kart pacjentów. Kartotekowa baza danych oparta jest o 1 plik danych.
Ogólne zagadnienia relacyjnych baz danych • Relacyjna baza danychoparta jest zwykle o kilka tablic danych, które powiązane są ze sobą przez pole o wspólnej nazwie.Przykładem może być baza hurtowni, zawierająca dane o klientach, towarach i wystawionych fakturach.Wszystkie te tabele pozwalają na wprowadzanie danych, przechowywanie w pamięci masowej, sortowanie, wyszukiwanie, wydruk.
Tabele i rekordy • Dane przechowywane są w formie strukturalnej. • Każda informacja zapisywana jest w podstawowym elemencie jakim jest rekord.Rekordy są podzielone na pola. • Każde pole ma swoją nazwę, wielkość oraz definicję typu danych, jakie będą umieszczone. • Główne typy pól: znakowe, numeryczne, datownikowe, logiczne, notatnikowe.
Algebra relacji • Relacyjny model BD został opracowany w oparciu o dziedzinę matematyki zwanej algebrą relacyjną.Twórcą modelu był amerykański matematyk E. F. Codd.Dane są przechowywane w strukturach zwanychtabelami.Tabelesą podstawowymi obiektami BD. Przechowują one dane wykorzystywane przez inne obiekty jak np.zapytania, formularze czy raporty.Tabela (table) - zbiór powiązanych ze sobą danych w BD, przedstawiony w postaci poziomych wierszy zwanych rekordami (krotki) i pionowych kolumn zwanych polami rekordu. Każde pole posiada unikatową nazwę w obrębie tabeli oraz określony typ danych, np.Nr, Imie, Nazwisko, Data_urodz, NrTelefon
Podział danych na tabele i klucze w relacyjnych bazach danych – normalizacja baz danych • W modelu relacyjnym dane wewnątrz bazy są dzielone międzytabele. Podział nazywamy normalizacją baz danych.W najprostszym przypadku baza danych może sie składać tylko z jednej tabeli.Przy złożonych danych mogą wystąpić niepożądane zjawiska utrudniające lub uniemożliwiające poprawne funkcjonowanie bazy.
Przykład normalizacji • Baza danych z jedną tabelą:Uczen_Wypozyczenia (Imie_Ucznia, Nazwisko_Ucznia, Klasa ImieAutora, NazwAutora, Tytuł, Wydawnictwo DataWypozycz, DataOddania) • W takiej prostej bazie danych z jedną tabelą można zauważyć zjawisko redundendancji, czyli wielokrotnego powtarzania sie pewnych danych w bazie. • Np. jeśli ten sam uczeń wypożyczy kilka książek, to w każdym rekordzie pojawią się te same dane ucznia. Gdy np. popełnimy błąd w nazwisku to musimy poprawić osobno w każdym rekordzie dot. tego ucznia. Gdy uczeń odda wszystkie książki to usuwając rekordy tracimy dane o uczniu. Później trzeba od nowa wprowadzić.
Baza danych po normalizacji • Baza danych z wieloma tabelami.Model tej samej Bazy Danych, ale dane zostały podzielone na 3 tabele: • Uczniowie (IDUcznia, IMUcznia, NazwUcznia, Klasa) • Ksiazki (IDKsiazki, ImAutor, NazwAutor, Tytiul, Wydawn) • Wypozyczenia (IDwypoz, IDUcznia, IDKsiazki, DataWypoz, DataZwrotu)
Systemy relacyjnych baz danych • Do najczęściej spotykanych profesjonalnych systemów relacyjnych baz danych należą: • ORACLE Universal Server • DB2 Universal Database firmy IBM • Informix Dynamic Server IBM • PostgreSQL • SQL Anywhere Studio (Sybase) • Microsoft SQL Server W komputerach osobistych popularne systemy to: Access (Microsoft), FoxPro, Paradox i dBase (dBase Inc.) oraz MySQL (firmy MySQL AB)