Podstawy baz danych

Transkrypt

Podstawy baz danych
Podstawy baz danych:
Rysunek 1. Tradycyjne systemy danych
1234-
Obsługa wejścia
Przechowywanie danych
Funkcje użytkowe
Obsługa wyjścia
Ewolucja baz danych:
Fragment świata rzeczywistego
System przetwarzania danych
Systemy baz danych
Coraz większa ilość danych
Szybkość działania
Model logiczny
Hurtownie Baz danych
On-Line Analytical
Processing, OLAP
SZBD
Model fizyczny
OLTP -Online
Transaction
Processing (OLTP)
Systemy klientserwer
Eksploracja danych(ang. data mining) jeden z etapów procesu
odkrywania wiedzy z baz
danych
Na wyjściu systemy podają wiedzę a nie dane
BAZA WIEDZY+WNIOSKOWANIE
SZTUCZNA
INTELIGENCJA
(AL -artificial
SYSTEMY EKSPERTOWE
Systemy
rozproszone BD
intelligence)
1
No SQL
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.
2
Poziomy relacyjnej bazy danych
Te same dane w bazie danych mogą być w różny sposób widziane i w różny sposób przetwarzane w zależności od wyboru odpowiedniego poziomu abstrakcji –
realizowanego przez dany system. Podstawowe realizowane poziomy abstrakcji to:
•
•
•
Poziom użytkowy – widoki na dane i programy, którymi posługuje się użytkownik.
Poziom logiczny (koncepcyjny) – zbiór tabel, perspektyw i indeksów.
Poziom fizyczny – zbiór plików z danymi i z indeksami.
Przy czym perspektywy definiuje się na poziomie logicznym a używa się na poziomie użytkowym; indeksy definiuje się na poziomie logicznym a używa się na
poziomie fizycznym. Jeśli chodzi o tabele to definiuje się na poziomie logicznym a używa się zarówno na poziomie użytkowym jak i fizycznym.
Z poziomu użytkowego korzystają głównie końcowi użytkownicy systemu. Z poziomu logicznego korzysta głównie administrator danych systemu. Natomiast z poziomu
fizycznego korzysta głównie administrator bazy danych – nazywany w skrócie dba. Oczywiście projektant bazy danych definiuje i zajmuje się wszystkimi trzema
poziomami.
Korzystanie z poszczególnych poziomów odbywa się do pewnego stopnia w sposób niezależny. Na przykład, można zmieniać położenie danych na dysku i ich zapis bez
potrzeby zmiany struktury logicznej tabel; można zmieniać tabele bez konieczności zmiany programów aplikacyjnych - o ile programy aplikacyjne są oparte na
perspektywach a nie tabelach. W pierwszym przypadku mamy do czynienia z tak zwaną niezależnością fizyczną danych, w drugim z niezależnością logiczną danych.
Historia baz danych
•
1951 - Firma Univac wprowadziła taśmę magnetyczną do przechowywania danych (oprócz dotychczasowych dziurkowanych kart).
•
•
•
•
1956 - Firma IBM wprowadziła stacje twardych dysków magnetycznych do przechowywania danych.
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 – Edgar Codd (1924-2003), IBM – relacyjny model danych.
•
•
•
•
1971 – CODASYL, standard sieciowego modelu danych.
1976 – Peter Chen – model związków encji (ERD, ERM), brak standardu do tej pory.
Początek lat siedemdziesiątych - w laboratorium badawczym IBM w San Jose powstał prototyp języka SQL o nazwie Sequel.
1973 - pierwszy system zarządzania relacyjną bazą danych (System R w firmie IBM).
3
•
•
•
•
•
1979 - firma Relational Software (później Oracle) wprowadziła na rynek pierwszą komercyjną wersję systemu zarządzania relacyjną bazą danych.
1987 pierwszy standard języka SQL (ISO),
o kolejne wersje standardu ANSI/ISO: 1989, 1992 SQL2, 1999 SQL:1999 – model obiektowo-relacyjny, trwają prace nad następnymi standardami SQL3 i
SQL4.
Lata osiemdziesiąte – badania nad dedukcyjnymi i obiektowymi bazami danych.
1997 - Standard obiektowych baz danych ODMG 2.0.
Lata dziewięćdziesiąte do dzisiaj – rozszerzenie baz danych o nowe aspekty: architektury wielowarstwowe, rozproszenie, integrację, równoległość, Internet,
hurtownie danych, OLAP, 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 (Customer Relationship Management).
Słownik pojęć
tabela - dwuwymiarowa struktura danych złożona z kolumn i wierszy. Na przecięciu wiersza i kolumny znajduje się elementarna dana. W wierszu jest zapisywany
rekord danych opisujący obiekt (np. rekord danych opisujący osobę lub firmę) lub pewien związek między obiektami. Każda kolumna zawiera zbiór elementarnych
danych opisujących jeden atrybut obiektu np. nazwę firmy lub nazwisko osoby.
klucz - zbiór kolumn (często jednoelementowy), których wartości jednoznacznie określają wiersz (obiekt).
klucz główny - wyróżniony klucz, którego używa się jako identyfikatora obiektu.
klucz jednoznaczny - to samo co klucz.
klucz obcy - zbiór kolumn (często jednoelementowy), 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.
NULL - konstrukcja określająca brak wartości (danych).
perspektywa - wirtualna tabela, którą posługują się użytkownicy - definiowana na poziomie logicznym, używana na poziomie użytkowym. Gdy jej zawartość zostanie
zapisana w postaci tabeli, nosi nawę perspektywy zmaterializowanej.
więzy spójności danych - warunki poprawności danych w tabelach relacyjnej bazy danych
--- referencyjne - warunek poprawności danych mówiący, że wartości klucza obcego mogą być albo Null albo muszą występować jako wartości powiązanego z nim
klucza głównego (lub jednoznacznego).
Architektura klient-serwer
4
Aplikacje bazodanowe składają się zwykle z co najmniej dwóch części:
•
•
strony klienta - na stacji roboczej użytkownika,
strony serwera – na komputerze zawierającym serwer bazy danych czyli bazę danych wraz z jej systemem zarządzania (SZBD).
Funkcje aplikacji po stronie serwera bazy danych
•
•
•
•
Przechowywanie i organizacja dostępu do danych.
Wykonywanie instrukcji języka baz danych (jest to język o nazwie SQL omawiany w wykładzie 9).
Sprawowanie kontroli nad spójnością danych.
Zarządzanie zasobami bazy danych w tym kontami użytkowników.
Funkcje aplikacji po stronie klienta
•
•
•
Kontakt z użytkownikiem (interfejs użytkownika).
Wyjaśnianie użytkownikowi stanu obliczeń w tym błędów i sytuacji wyjątkowych.
Przyjmowanie od niego zleceń na operacje, wykonywanie tych zleceń lub przesyłanie ich w postaci instrukcji języka SQL do serwera bazy danych.
5
https://ophelia.cs.put.poznan.pl/webdav/dm/students/winter_2009/lectures/dm_edbsPL.pdf
6