1 MODELE BAZ DANYCH Ewolucja technologii baz danych
2
3 Języki programowania a bazy danych
4
5
6 Model danych Model danych (ang. data base model) to zestaw pojęć do opisu świata rzeczywistego. Jest to swego rodzaju metajęzyk, w którym analityk systemu formułuje swoją wizję systemu informatycznego. Model danych to notacja służąca do opisu danych lub informacji. Zwykle składa się z trzech części: Struktura danych. (Struktury danych używane do implementowania informacji w komputerach są w kontekście systemów baz danych nazywane czasem fizycznym modelem danych. W świecie baz danych modele danych znajdują się nieco na wyższym poziomie niż struktury danych i czasem nazywane są modelami pojęciowymi). Operacje na danych. Więzy danych. (Modele danych umożliwiają nakładanie więzów na informacje. Istnieją różne rodzaje więzów np. nakładane na dzień tygodnia od 1 do 7).
7 JOD język opisu danych np. utwórz tabelę DDL JML język manipulacji danych np. dopisz do tabeli, skasuj z tabeli DML DML (ang. Data Manipulation Language język manipulacji danymi ) SQL DDL (ang. Data Definition Language język definicji danych ) SQL DCL (ang. Data Control Language - język kontroli nad danymi ) SQL DQL (ang. Data Query Language strukturalny definiowania zapytań ) SQL (ang. Struetured Query Language- strukturalny język zapytań )
8 Model danych Model danych określa dostęp i sposób zapisu danych. W podstawowej klasyfikacji modeli danych wyróżnia się: Modele pojęciowe(ang. conceptual model), Modele logiczne( ang. logical model). Wśród modeli pojęciowych można wyróżnić model związków encji( ERM-Entity-Relationship Model), zunifikowany język modelowania UML, Oraz język definicji obiektów ODL).
9 Drugi podział 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 nim obiektów i związków między nimi Implementacyjne modele danych, stosowane do transformacji wcześniej przygotowanego modelu koncepcyjnego do konkretnego modelu BD Wśród modeli implementacyjnych wyróżniamy modele: Hierarchiczny Sieciowy Relacyjny Obiektowy Fizyczne modele danych, określające sposoby organizacji danych w pamięci zewnętrznej komputerów. Operuje się tu pojęciami takimi jak: rekord, plik, adres.
10 Modele danych, które obecnie mają największe znaczenie: Model relacyjny wraz z obiektowo-relacyjnym rozszerzeniem Semistrukturalny model danych, oparty na języku XML i powiązanych standardach. Rozpowszechnienie Internetu i jego zasobów informacyjnych, dostępnych w postaci stron WWW, pociągnęło naturalnie za sobą myśl o wykorzystaniu ich jako baz danych. Stwarza to jednak szereg problemów. Dane przechowywane w postaci stron HTML czy plików XML nie posiadają tak regularnej struktury, jak relacyjne bazy danych. Do określenia takich źródeł danych zaczęto używać terminu dane semistrukturalne. Dane semistrukturalne to nowy model danych oparty na drzewach. Reprezentacja danych jest bardziej elestyczna niż w relacyjnych bazach danych jako podstawę matematyczną modelu wybrano graf skierowany. Schemat bazy jest często wpisany bezpośrednio w dane, można to określić jako dane,,samo-opisujące się. Taka struktura bardzo dobrze pasuje do plików w XML, popularnej notacji do przechowywania informacji opartej na SGML. SGML (ang. Standard Generalized Markup Language) standardowy uogólniony język znaczników służący do ujednolicania struktury i formatu różnego typu informacji (danych). Pozwala zapisać je w formie dokumentu tekstowego i dzięki temu łatwo przenosić, wyświetlać i drukować w różnych systemach elektronicznego przekazu danych.
OPISY MODELI ZSE - Systemy baz danych 11
12 Modele baz danych - model jednorodny bazy tekstowe - archiwum gazety, dla setek gigabajtów, szybkie wyszukiwanie i indeksacja informacji bazy danych bez struktury (free form) informacja nieustrukturizowana Bazy oparte na płaskich plikach tekstowych (ang. flat file)- Stosowane w latach 60-70 stosowane w komputerach mainframe. Informacje są umieszczane w polach, które albo maj stała szeroko, albo s rozdzielane znakiem specjalnym, na przykład ;.
13 Modele baz danych model hierarchiczny Model hierarchiczny: Dane układane są hierarchicznie, w strukturę drzewa uporządkowanego od ogółu do szczegółu. Model ten do nawigacji wśród przechowywanych danych wykorzystuje wskaźniki. Był to pierwszy model DBMS.
14 Modele baz danych model hierarchiczny W bazie danych powinno się przechowywać jak najmniej nadmiarowych informacji. Przy aktualizacji danych koniecznie jest aktualizowanie tych danych zawsze w wielu miejscach w celu uniknięcia powstawania niespójności danych. Tabela nadrzędna może posiadać wiele tabel podrzędnych. Tabela podrzędna może mieć tylko jedną tabel nadrzędna. W celu odczytania danych z tabeli podrzędnej trzeba najpierw odczytać tabelę nadrzędną.
15 Modele baz danych model sieciowy Model sieciowy: tak jak model hierarchiczny, wykorzystuje on wskaźniki wskazujące przechowywane dane. Nie musi jednak korzystać ze struktury drzewa.
16 Modele baz danych model sieciowy Rozwój modelu hierarchicznego. Tabele podrzędne mogą mieć wiele tabel nadrzędnych. Nie ma konieczności odczytywanie głównej tabeli w celu uzyskania dostępu do danych z tabel podrzędnych. Relacje pomiędzy tabelami w modelu sieciowym noszą nazwę struktury grupowej, w której jedna tabela jest właścicielem a inne tabele są członkami struktury. Struktury grupowe umożliwiają realizacje relacji jeden-dowielu pomiędzy tabelami. Jeśli zostanie zmieniona struktura bazy danych, zmiany wymaga również aplikacja. Trudna zmiana, modyfikacja struktury raz utworzonych bazach danych.
Modele baz danych model relacyjny Model relacyjny (RDBMS, relacyjny system zarządzania bazą danych):w latach 60. dr E F Codd pracując w IBM stworzył relacyjny model b.d. opierając się dwóch gałęziach matematyki - teorii mnogości i rachunku predykatów I- rzędu!? W relacyjnych b.d. dane przechowujemy w dwuwymiarowych tabelach. (wiersze i kolumny). Każda z tabel składa się z rekordów oraz pól. Fizyczna kolejność pól i rekordów jest tutaj bez znaczenia. Każdy rekord jest wyróżniony przez unikatową wartość - klucz. ZSE - Systemy baz danych 17
18 Modele baz danych model relacyjny Najczęściej używanym obecnie modelem baz danych jest model relacyjny. Ojciec koncepcji relacyjnego modelu bazy danych jest dr E.F. Codd. z firmy IBM Jako podstawę formalną relacyjnego modelu baz danych uznaje się opracowany przez niego dokument ang. A Relational Model of Data for Large Shared Data Banks - 1970 ( Relacyjny model danych dla dużych współużytkowanych banków danych ). W tym modelu jest najłatwiej zaimplementować kontroli integralność danych po przez stosowaniu ograniczeniach (ang. constraints). Łatwo można zmieniać struktur bazy danych. Użytkownicy widzą logiczny sposób przechowywania danych i nie muszą znać ani rozumie fizycznego sposobu ich przechowywania. Łatwiejszy proces odczytywania danych.
19 Relacyjny model wymagania wobec użytkownika Użytkownicy muszą się nauczyć języka SQL. Użytkownicy muszą wiedzieć, jakie są relacje pomiędzy tabelami i kto jest ich właścicielem. W celu odczytania danych zawartych w pojedynczej tabeli należy: znać jej właściciela, struktury tabeli i mieć uprawnienia do jej odczytania.
20 Obiektowe bazy danych
21 Obiektowe bazy danych
22 Obiektowe bazy danych
23 Obiektowe bazy danych
24 Obiektowo - relacyjne bazy danych (ang. object-relational)
25 DODATKOWE INFORMACJE
26 Tradycyjne systemy baz danych
Ewolucja baz danych ZSE - Systemy baz danych 27
28 Pojęcia: Online Transaction Processing (OLTP) kategoria aplikacji klient-serwer dotyczących baz danych w ramach bieżącego przetwarzania transakcji obejmujących takie zastosowania jak systemy rezerwacji, obsługa punktów sprzedaży, systemy śledzące itp. W systemach tych klient współpracuje z serwerem transakcji, zamiast z serwerem bazy danych. Przetwarzanie analityczne danych (On-Line Analytical Processing, OLAP) - kwerendy (w SQL lub innych językach wspomagających tego typu operacje) pozwalające na wykonywanie zestawień statystycznych, wykresów i raportów, podsumowujących znaczne ilości danych.
29 Pojęcia: NoSQL jest klasą systemów zarządzania bazą danych nie pasujących do powszechnie stosowanego modelu relacyjnych baz danych: brak języka SQL (w szczególności brak operacji JOIN) nierelacyjny model danych nie musi zapewniać ACID rozproszona, odporna na awarie architektura ACID- Atomicity (atomowość) Consistency (spójność) Isolation (izolacja) Durability (trwałość) Rozproszona baza danych baza danych istniejąca fizycznie na dwóch lub większej liczbie komputerów, traktowana jednak jak jedna logiczna całość, dzięki czemu zmiany w zawartości bazy w jednym komputerze są uwzględniane również w innych maszynach. Rozproszone bazy danych są stosowane ze względu na zwiększoną wydajność przetwarzania na wielu komputerach jednocześnie.
30 Pojęcia: Eksploracja danych (spotyka się również określenie drążenie danych, pozyskiwanie wiedzy, wydobywanie danych, ekstrakcja danych) (ang. data mining) - jeden z etapów procesu odkrywania wiedzy z baz danych (ang. Knowledge Discovery in Databases, KDD). Idea eksploracji danych polega na wykorzystaniu szybkości komputera do znajdowania ukrytych dla człowieka (właśnie z uwagi na ograniczone możliwości czasowe) prawidłowości w danych zgromadzonych w hurtowniach danych. Hurtownia danych stanowi rozbudowaną bazę danych, przechowującą olbrzymią ilość danych zbieranych w czasie. Dodatkowo zakłada się, że przeprowadzane na danych operacje mają charakter analityczny (wyszukiwanie i analiza).
31 Pojęcia: System ekspertowy pojęcie z zakresu sztucznej inteligencji oznaczające system komputerowy, który emuluje proces podejmowania decyzji przez człowieka-eksperta. Systemy ekspertowe rozwiązują złożone problemy na podstawie analizy baz wiedzy, a nie realizację prostego algorytmu, jak to ma miejsce w przypadku programów tradycyjnych. Systemy ekspertowe składają się z co najmniej dwóch elementów: silnika programu umożliwiającego zadawanie pytań i szukającego odpowiedzi na zadane pytania, bazy danych, na podstawie analizy, której udzielane są odpowiedzi. Przykładowe obszary zastosowań systemów ekspertowych: diagnozowanie chorób, udzielanie porad prawnych, prognozowanie pogody, sterowania robotami, automatycznymi pojazdami, rakietami, statkami kosmicznymi, analiza notowań giełdowych
Pojęcia: Sztuczna inteligencja (SI, ang. artificial intelligence, AI) dziedzina wiedzy obejmująca logikę rozmytą, obliczenia ewolucyjne, sieci neuronowe, sztuczne życie i robotykę. Sztuczna inteligencja to również dział informatyki zajmujący się inteligencją tworzeniem modeli zachowań inteligentnych oraz programów komputerowych symulujących te zachowania. Można ją też zdefiniować jako dział informatyki zajmujący się rozwiązywaniem problemów, które nie są efektywnie algorytmizowalne. ZSE - Systemy baz danych 32 ZADANIE Porozmawiaj https://www.eviebot.com/en/ z
33 Architektura systemu baz danych
34 Architektura systemu baz danych
35 Etap konstruowania modelu
36 Niezależność od danych
Cdn. ZSE - Systemy baz danych 37