Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałAntonina Stachowiak Został zmieniony 8 lat temu
1
Elżbieta Mrówka - Matejewska emrowka@pjwstk.edu.pl Konsultacje środy godz. 15:00-16:00 oraz soboty zjazdów potoku II godz. 13:30 pokój 210, tel. 58-44-530 Folder: P:\FTP(Public)\emrowka\PBD_podyplomowe oraz kurs w edux 1
2
Wykład I Relacyjna baza danych i system zarządzania bazą danych 2
3
Pojęcie bazy danych 3
4
Bazy Danych informacje podstawowe Podawana przez Wikipedię definicja bazy danych brzmi następująco: Baza danych – zbiór danych zapisanych w ściśle określony sposób, w strukturach odpowiadających założonemu modelowi danych. Można tą definicję jeszcze uprościć mówiąc, że baza danych to dane wraz ze strukturą (sposobem) ich przechowywania. 4
5
Bazy Danych dane i informacja Dane są jednym z zasobów firmy (obok kapitału, pracowników, infrastruktury) i tak jak pozostałe zasoby wymagają zarządzania. Informacja to dane razem z ich semantyką – brak wiedzy o znaczeniu danych czyni je bezużytecznymi! Zarządzanie danymi jest realizowane poprzez system informacyjny, który zaspokaja zapotrzebowanie na informacje o pewnym fragmencie rzeczywistości (w firmie, instytucji, organizacji, państwie etc.) Baza danych stanowi na ogół fragment tego systemu Istnieje dualizm pojęciowy: baza danych to kolekcja danych lub system zarządzania danymi (SZBD). 5
6
Bazy Danych Podstawowe w ymagania stawiane bazie danych W bazach danych pokładanych jest wiele oczekiwań, które zasadniczo sprowadzają się do zagwarantowania bezpiecznego przechowywania prawdziwych danych, oraz umożliwienia dotarcia do tych danych osobom uprawnionym w możliwie najkrótszym czasie. W praktyce definiowane są następujące szczegółowe wymagania: Trwałość – dane maja być przechowywane przez pewien okres czasu, na ogół nie określony z góry, a upływ czasu nie może mieć wpływu na stan danych. Zgodność z rzeczywistością – dane mają jak najwierniej opisywać rzeczywistości, a ich struktura musi mieć możliwość dostosowywania się do zmian rzeczywistości. Kontrolowanie replikacji – system zarządzający danymi musi gwarantować kontrolę nad (ewentualną) redundancją (nadmiarową informacją), mogącą prowadzić do niejednoznaczności danych. Cały system powinien opierać się na jednym modelu danych. 6
7
Bazy Danych Dodatkowe wymagania stawiane bazie danych Współbieżny dostęp do danych – system powinien umożliwiać wykonywanie wielu jednoczesnych operacji na danych, przy zachowaniu gwarancji poprawności (spójności) danych. Ochrona (bezpieczeństwo) danych - zagadnienie wieloaspektowe; bezpieczeństwo danych możemy rozważać na wielu płaszczyznach i w wielu ujęciach. Niezależność danych i wykorzystujących je procesów – właściwość mająca duży wpływ na dalszy rozwój systemu informacyjnego, oraz możliwość szerokiego wykorzystania bazy danych w ramach tego systemu. Należy jednak pamiętać, że realizacja każdego z powyższych wymogów pociąga za sobą koszty, proporcjonalne do jakości rozwiązań. 7
8
Bazy Danych Wartość informacji Można powiedzieć, że informacja ma wartość, gdy jest: Prawdziwa – zawierająca informację o aktualnym stanie opisywanej rzeczywistości. Dokładna - ani nadmiernie szczegółowa, ani nazbyt ogólna. Dostępna – czas dotarcia do poszukiwanych informacji powinien być adekwatny do ich ważności. Zła struktura zapisu danych, oraz zły sposób ich poszukiwania, mogą uniemożliwić dotarcie do nich w czasie istotności danych. Jeśli zachodzi ten przypadek, zwiększanie mocy obliczeniowej komputera niewiele pomoże. 8
9
Bazy Danych historia rozwoju 1961 - Integrated Data Store IDS (Charles Bachman, General Electric) - pierwszy SZBD, początek sieciowego modelu danych. 1965 - 70 - Information Management System IMS (IBM) – hierarchiczny model danych 1970 - dr Edgar Codd (IBM), w artykule „A Relational Model for Large Shared Date Banks” publikuje podstawowe założenia relacyjnego modelu danych 1971 - CODASYL, standard sieciowego modelu danych. Początek lat siedemdziesiątych - w laboratorium badawczym IBM w San Jose powstał prototyp języka SQL o nazwie Sequel opracowany przez Boyce’a i Chamberlaine’a. 1973 - pierwszy system zarządzania relacyjną bazą danych (System R w firmie IBM). 1976 - Peter Chen - model związków encji (ERD, ERM); brak standardu do tej pory (!!!). 9
10
Bazy Danych historia rozwoju 1979 - firma Relational Software (później Oracle) wprowadziła na rynek pierwszą komercyjną wersję systemu zarządzania relacyjną bazą danych. 1983 – pierwsza RDB dla komputerów typu mainframe – DB2 firmy IBM (do dzisiaj rozwijana, pracując a na wszystkich platformach, w tym także na działających do dzisiaj maszynach mainframe) 1986 - pierwszy standard języka SQL-86 (ANSI) Kolejne wersje standardu ANSI/ISO (za Wikipedią): SQL-89, SQL-92 (SQL2), SQL:1999 (SQL 3), SQL:2003, SQL2006, SQL:2008 Lata osiemdziesiąte – badania nad dedukcyjnymi i obiektowymi bazami danych. 1997 - Standard obiektowych baz danych ODMG 2.0. 10
11
Bazy Danych historia rozwoju Lata dziewięćdziesiąte i późniejsze – rozszerzenie baz danych o nowe aspekty: Architektury wielowarstwowe Rozproszenie Równoległość Internet Hurtownie danych OLAP (On Line Analysis Processes) Multimedia Bazy dokumentów (w tym XML) GIS (Geographical Information Systems) ERP (Enterprise Resource Planning) oraz MRP (Management Resource Planning) - pakiety takie jak SAP, Baan, Oracle, PeopleSoft, Siebel, CRM (Client Relationship Management). 11
12
Relacyjny model danych 12
13
Część 2 wykładu I W drugiej części wykładu zostanie przedstawiona koncepcja relacyjnego modelu danych i podstawowe założenia dla baz danych tworzonych według tego modelu. 13
14
Relacyjny model danych Podstawowe założenia W pojęciu matematycznym relacyjna baza danych jest zbiorem relacji. Stąd historycznie pochodzi nazwa relacyjny model danych i relacyjna baza danych. W matematyce definiuje się relację jako podzbiór iloczynu kartezjańskiego zbiorów wartości. Reprezentacją relacji jest dwuwymiarowa tabela, złożona z kolumn (pól) i wierszy (rekordów). 14
15
Relacyjny model danych Podstawowe założenia Zgodnie z postulatami Codd’a, baza danych zbudowana według modelu relacyjnego musi spełniać poniższe warunki: Wszystkie dane (również cała struktura bazy danych) zapisane są w postaci tabel. Liczba tabel w bazie jest nieograniczona, a każda tabela ma nazwę unikalną w obszarze bazy. Liczba kolumn jest z góry ustalona (ale nie ograniczona), a nazwa każdej kolumny jest unikalna w obszarze tabeli. Z każdą kolumną jest związana jej dziedzina, określająca zbiór wartości, jakie mogą pojawić się w kolumnie. Na przecięciu wiersza i kolumny znajduje się pojedyncza (atomowa) wartość należąca do dziedziny kolumny, nie będąca ciągiem ani zbiorem. Wiersz reprezentuje jeden rekord informacji np. Osobę i nie dopuszcza się powtarzania wierszy. Abstrahujemy od kolejności wierszy (rekordów) i kolumn (pól), to znaczy, że ich dowolne zmiany nie mogą wpływać na zawartość informacji w tabeli. 15
16
Relacyjna Baza Danych Elementarny przykład Jako najprostszy przykład bazy danych, wyjaśniający istotę modelu relacyjnego, rozpatrzymy zagadnienie danych opisujących wykładowców, oraz wykładanych przez nich przedmiotów. Dane zostaną umieszczone w dwóch tabelach: tabeli przedmiotów i tabeli wykładowców. 16
17
Relacyjna Baza Danych Elementarny przykład Tabela wykładowców zawiera dane pracowników uczelni – imię, nazwisko, stopień naukowy. Każdy rekord w tabeli (a zatem i sam dydaktyk, opisywany przez ten rekord) identyfikowany jest przez dodatkowe pole Id_wykladowcy. Istotne jest więc, aby identyfikator ten jednoznacznie określał danego wykładowcę. W modelu relacyjnym nie ma bowiem innej możliwości identyfikacji wiersza, jak tylko poprzez wartości kolumn, które jednoznacznie wiersz identyfikują. 17 Id_wykładowcyImięNazwiskoTytuł 237JanKowalskiDoktor 3245MaciejJankowskiDocent 8976ArturMalinowskiProfesor
18
Relacyjna Baza Danych Elementarny przykład Tabela przedmiotów zawiera dane przedmiotów wykładanych na uczelni – nazwę przedmiotu, jego kod oraz identyfikator wykładowcy. Wartość tego identyfikatora nie opisuje żadnej cechy przedmiotu. Reprezentuje on związek danego przedmiotu z wykładowcą, o którym informacja znajduje się w innej tabeli. Jak widać, tylko korzystając z identyfikatora, możemy rozpoznać w innej tabeli wiersz właściwego wykładowcy i odczytać o nim informacje. Istotne jest więc, aby identyfikator ten jednoznacznie określał danego wykładowcę. 18 Nazwa_PrzedmiotuKodId_wykładowcy Bazy danychBDA237 Projektowanie systemów informacyjnych PSI3245 Technologie internetoweTIN3245 Programowanie obiektowePOB8976 Systemy decyzyjneSDE237 Automaty i gramatykiAUG
19
Relacyjna Baza Danych Klucz główny i jednoznaczny Dla każdej tabeli musi być określony jednoznaczny identyfikator, nazywany kluczem głównym - jedna lub więcej kolumn, w których wartości jednoznacznie identyfikują cały wiersz. Klucz jednoznaczny (nazywany też kluczem alternatywnym, lub w skrócie kluczem) ma tę samą właściwość, co klucz główny, przy czym klucz główny jest tylko jeden, a kluczy jednoznacznych w tabeli może być wiele. W tabeli Przedmioty kluczem głównym jest Kod_Przedmiotu, kluczem alternatywnym jest NazwaPrzedmiotu. W tabeli Wykładowcy kluczem głównym jest Id_Wykładowcy. Nazwisko nie musi, a nawet nie może być kluczem! Pytania: Ile kluczy głównych może mieć tabela? Z ilu pól maksymalnie może składać się klucz główny? 19
20
Relacyjna Baza Danych Klucz obcy Klucz obcy jest to jedna lub więcej kolumn, których wartości występują jako wartości ustalonego klucza głównego lub jednoznacznego w tej lub innej tabeli i są interpretowane jako wskaźniki do wierszy w tej drugiej tabeli. W tabeli Przedmioty kluczem obcym jest Id_Wykładowcy, którego wartości pochodzą z kolumny Id_Wykładowcy w tabeli Wykładowcy. Na przykład, wartość 237 występująca w wierszu przedmiotu "Bazy danych" tabeli Przedmioty stanowi odwołanie do wiersza w tabeli Wykładowcy, w którym są zapisane informacje dotyczące wykładowcy o nazwisku "Kowalski”. Całość informacji interpretujemy: "Przedmiot Bazy danych jest wykładany przez doktora Jana Kowalskiego” Pytanie: Ile kluczy obcych może mieć tabela? 20
21
Relacyjna Baza Danych Pseudowartość NULL Dziedziny kolumn są rozszerzane o specjalny obiekt (pseudowartość) Null - oznaczający brak wartości – chwilowy, bądź wynikający z istoty rzeczy. Null to coś innego niż zero, czy napis o zerowej liczbie znaków. Wszystkie porównania i operacje na danych, w których argumentem jest Null dają w wyniku Null (również Null = Null). Jest to więc w efekcie trzecia wartość logiczna obok True i False. Można powiedzieć, że Null to albo True, albo False, ale co – nie wiemy. Na kolejnym slajdzie przedstawione są matryce logiczne dla funktorów NOT, AND, OR z uwzględnieniem pseudowartości logicznej Null. 21
22
Relacyjna Baza Danych Pseudowartość NULL ORTrueFalseNull True FalseTrueFalseNull TrueNull 22 Operator alternatywy OR AND TrueFalseNull True FalseNull False Null FalseNull Operator koniunkcji AND NOTTrueFalseNull FalseTrueNull Operator negacji NOT
23
Relacyjna Baza Danych Predykaty Is Null oraz Is Not Null Ponieważ niemożności porównywania wartości,z których jedna może być NULL (każda operacja i porównanie, w której jednym z operandów jest NULL daje w wyniku NULL), należało wprowadzić mechanizm testowania wartości NULL. Służą do tego predykaty IS NULL i IS NOT NULL. Predykaty te pozwalają stwierdzić, czy dana wartość jest Null czy nie: "X Is Null”->True, gdy X jest Null "X Is Null”->False, gdy X nie jest Null Ale "X = Null”->Null dla wszystkich X !!! 23
24
Obiekty relacyjnej bazy danych 24
25
Część 3 wykładu I W trzeciej części wykładu zapoznacie się Państwo z obiektami, z których zbudowana jest relacyjna baza danych, oraz z rolą, jaką pełni baza danych w systemie informacyjnym. 25
26
Relacyjna Baza Danych Więzy integralności (spójności) danych Więzy integralności (spójności ) danych, są to warunki poprawności danych w bazie. Więzy są definiowane na etapie projektowania bazy danych, a za ich przestrzeganie odpowiada system bazy danych. Więzy mogą być definiowane: Na poziomie kolumny – dla pojedynczych wartości w wierszu, np.: 0 < Wiek < 140 Na poziomie tabeli - dla kilku wartości w wierszu np.: Data_urodzenia < Data_zatrudnienia Jako więzy klucza głównego i więzy klucza jednoznacznego. Jako więzy NOT NULL. Jako reguły bardziej skomplikowane, wymagające zastosowania języka o wyższym poziomie komplikacji, np.: Suma wszystkich zarobków pracowników działu X = Fundusz płac działu X 26
27
Relacyjna Baza Danych Referencyjne więzy integralności Szczególnym przypadkiem więzów spójności są więzy referencyjne. Ich rolą jest zachowanie zgodności pomiędzy wartościami klucza głównego tabeli, a wartościami odpowiadających mu kluczy obcych tabel powiązanych. Zagadnienie sprowadza się do stwierdzenia, że wartość klucza obcego może być albo Null (jeżeli definicja kolumny klucza obcego to dopuszcza), albo musi występować jako wcześniej wygenerowana wartość powiązanego z nim klucza głównego (lub jednoznacznego). Tak jak w przypadku pozostałych więzów integralności, za przestrzeganie opisanych nimi reguł odpowiada system bazy danych, przy czym należy zwrócić uwagę na fakt, że zgodność musi zostać zachowana w przypadku usuwania i modyfikacji powiązanych rekordów. To zagadnienie zostanie omówione w dalszej części wykładów. 27
28
Relacyjna Baza Danych Perspektywa (widok, view) Perspektywa, (widok - view) to obiekt bazy danych, nie będący tabelą, nie przechowujący danych, lecz przeznaczony do prezentacji danych w postaci tabeli. Można ją nazwać wirtualną tabelą. Perspektywa ma stanowić takie „spojrzenie na dane”, jakie w danym przypadku jest najdogodniejsze dla użytkownika, np. Przedmioty - Wykładowcy 28 Nazwa_Przedmiotu Wykładowca Bazy danychKowalski Projektowanie systemów informacyjnychJankowski Technologie internetoweJankowski Programowanie obiektoweMalinowski Systemy decyzyjneKowalski
29
Relacyjna Baza Danych Perspektywa (widok, view) Zawartość zwykłej perspektywy jest na życzenie wyliczana przez system ze źródłowych tabel. Wynik działania perspektywy nie jest na stałe zapisywany w bazie danych, zapisana natomiast może zostać definicja perspektywy („przepis” na jej wykonanie). W pewnych sytuacjach wygodniej jednak jest zapisać zawartość perspektywy w bazie danych, a następnie korzystać z jej „materializacji”. Taki specjalny rodzaj perspektywy nosi nazwę perspektywy zmaterializowanej. Należy jednak pamiętać, że dane przechowywane w perspektywie zmaterializowanej zawsze są wtórne, wobec danych przechowywanych w tabelach. 29
30
Relacyjna Baza Danych Indeks Należy zdać sobie sprawę z faktu, iż relacyjny model danych jest modelem logicznym. Fizyczna struktura danych zapisanych na dysku komputera, zależna od systemu operacyjnego zawsze sprowadza się do struktury plików i katalogów (folderów). Konieczne powiązanie tych struktur rozwiązywane jest przez obiekty bazy danych nazywane indeksami. Indeks jest to dodatkowa struktura danych, umożliwiająca szybki dostęp do wierszy tabeli na podstawie wartości w określonej kolumnie lub kolumnach. Inaczej – jest to mechanizm wiążący wartości logiczne z ich adresami fizycznymi (miejscem zapisu na dysku). Np. indeks zbudowany na kolumnie Nazwisko umożliwia szybkie wyszukiwanie danych wykładowcy w oparciu o jego nazwisko. Funkcja indeksu przypomina funkcję indeksu (skorowidza) w książce. 30
31
Relacyjna Baza Danych Katalog (słownik) danych, metadane Schemat bazy danych, czyli definicje wszystkich jej obiektów (na każdym z trzech poziomów bazy danych), noszące nazwę metadane, zapisywane są w katalogu (słowniku danych). Jest to zbiór tabel i perspektyw, zawierający komplet informacji o budowie i strukturze bazy danych. Istotne jest użycie relacyjnego modelu danych w tym celu. Zatem metadane są zapisywane i przetwarzane w taki sam sposób jak zwykłe dane, a do ich eksploatacji służą te same narzędzia którymi posługujemy się przy zarządzaniu i edycji zwykłych danych. 31
32
Do zobaczenia na wykładzie II 32
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.