Informacja może być przetworzoną daną.
Dana jest fizycznym modelem informacji.
Bazą danych nazywamy uporządkowany, trwały (istniejący pewien okres czasu) zbiór danych. Baza danych jest abstrakcyjnym modelem fragmentu rzeczywistości.
System zarządzania bazą danych (database management system) to zbiór reguł i narzędzi przetwarzania danych (ich pozyskiwania, przetwarzania, wyprowadzania).
Zazwyczaj utożsamiany jest z warstwą oprogramowania pośrednicząca pomiędzy fizyczną bazą (fizycznie przechowywanymi danymi), a użytkownikami systemu.
Rodzaje BD – 1.’60 systemy plików-stanowią poziom fizyczny BD 2. ’70 Hierarchiczne-dane organizowane w struktury drzewiaste 3. ’80 Sieciowe 4.’85 Relacyjne 5.’90 Nowej generacji
Dlaczego BD? - zmniejszenie redundancji pamiętanych danych(integracja tych samych); -uniknięcie problemów niezgodności pamiętanych danych; -dzielenie zapamiętanych danych między wielu użytkowników; -wprowadzanie standardów; -wprowadzanie ograniczenia dostępu do danych; -zachowanie integralności danych; -zapewnienie niezależności danych od programów;
Funkcje SZBD (DBMS):
- Realizacja odwzorowań; - Realizacja operacji dostępu; - Zapewnienie integralności danych; - Obsługa współbieżności; - Ochrona danych; - Odtwarzanie po awariach; - Śledzenie operacji; - Obsługa rozproszenia;
SBD definicja formalna=<{S, BD, SO, SZBD, P}, R>;S-sprzęt bezpośrednio wykorzystywany do przechowywania BD; BD-baza danych; SO system operacyjny; SZBD system zarządzania BD; P zbiór poleceń użytkownika; R relacje; to BD zbiór programów wsadowych i interakcyjnych
Analiza umiejscowienia SZBD między programami użytkowymi i systemem operacyjnym:
- SZBD jest opracowany jako zbiór programów bibliotecznych i w czasie kompilacji jest łączony z programem użytkowym;
- SZBD jest rozszerzeniem tradycyjnego systemu zarządzania danymi systemu operacyjnego - jest więc w pełni zintegrowany z SO i dla programów użytkowych jawi się jako zestaw możliwości tego SO;
- SZBD zaprojektowany jest jako niezależne zadanie (proces), który wykonywany jest pod nadzorem systemu operacyjnego;
Redundancja (łac. redundantia – powódź, nadmiar, zbytek), inaczej nadmiarowość w stosunku do tego, co konieczne lub zwykłe.
NORMALIZACJA - Dwie wersje odpowiedzi:
Relacja znormalizowana – to relacja, która spełnia warunek mówiący, że w tabelach na przecięciu kolumny i wiersza powinna być jedna wartość, a nie ich zbiór.
Normalizacja-polega na redukcji-głównym celem jest zmniejszenie redundancji i uniknięcie pewnych trudności towarzyszących operacjom aktualizacji; w celu przyspieszania można denormalizować.
Postać normalna-można przetwarzać z jednej w drugą bez żadnych strat w danych
I. postać normalna-gdy wszystkie dziedziny podstawowe zawierają jedynie atrybuty atomowe(należy 1.usunąć atrybuty wielowartościowe do nowej encji 2.skopiować unikalny identyfikator)
II. postać normalna-gdy jest w I i każdy atrybut niekluczowy jest w pełni funkcjonalnie zależny od klucza głównego(należy 1.usunąć wszystkie częściowo zależne atrybuty do nowej encji 2.skopiować część identyfikatora)
III. postać normalna-gdy jest w II i każdy atrybut niekluczowy jest nietranzytywnie (nieprzejściowo) zależny od klucza głównego(należy 1.usunąć atrybuty niezależne do nowej encji 2. ustawić identyfikator nowej encji)
IV.postać normalna-„Jeden fakt w jednym miejscu”
Normalizacja - zapewnienie, że każda informacja jest reprezentowana w modelu encji tylko raz
0PN (zerowa postać normalna) - Każda encja musi mieć zbiór atrybutów (związków), które w sposób unikalny określają jej wystąpienie.
1PN (pierwsza postać normalna) - Każdy atrybut musi mieć jedną wartość dla każdego wystąpienia jego encji w danym momencie czasu.
2PN (druga postać normalna) - Wartość każdego atrybutu musi zależeć od całego identyfikatora jego encji
3PN (trzecia postać normalna) - Wartość każdego atrybutu nie może zależeć od niczego innego poza identyfikatorem unikalnym.
Przejście z 1PN do 2PN: - usunięcie wszystkich częściowo zależnych atrybutów i utworzenie dla nich nowych encji
- skopiowanie części identyfikatora z encji pierwotnej (od której zależne są usunięte atrybuty) do tej nowej encji
Przejście z 2PN do 3PN: należy usunąć atrybuty niezależne i wstawić je do nowej encji; Uwaga: ta nowa encja potrzebuje identyfikatora unikalnego
Transakcja-zbiór operacji na bazie danych, które stanowią w istocie pewną całość i jako takie powinny być wykonane wszystkie lub żadna z nich. Warunki jakie powinny spełniać transakcje szczegółowiej opisują zasady ACID (Atomicity, Consistency, Isolation, Durability - Atomowość, Spójność, Izolacja, Trwałość). Przykładem transakcji może być transakcja bankowa jaką jest przelew. Muszą tu zostać dokonane 2 operacje - zabranie pieniędzy z jednego konta oraz dopisanie ich do drugiego. W przypadku niepowodzenia żadna z tych operacji nie powinna być zatwierdzona, gdyż zajście tylko jednej powodowałoby nieprawidłowości w bazie danych (pojawienie się lub zniknięcie pieniędzy).
Transakcja składa się zawsze z 3 etapów: rozpoczęcia, wykonania, zamknięcia
Istotne jest, aby transakcja trwała jak najkrócej, ponieważ równolegle może być dokonywanych wiele transakcji i część operacji musi zostać wykonana w pewnej kolejności. Każdy etap transakcji jest logowany, dzięki czemu w razie awarii systemu (dzięki zawartości logów), można odtworzyć stan bazy danych sprzed transakcji, która nie została zamknięta.
Właściwości transakcji to ACID:
- Niepodzielność - transakcja jest niepodzielną jednostką przetwarzania - jest wykonywana albo w całości, albo wcale.
- Zachowanie spójności - transakcja zachowuje spójność, jeżeli jej pełne wykonanie przenosi bazę danych z jednego stanu do innego.
- Izolacja - transakcja powinna wyglądać tak, jakby była wykonywana w izolacji od innych transakcji. Oznacza to, że wykonywanie transakcji nie powinno kolidować ze współbieżnym wykonywaniem innych transakcji.
- Trwałość - zmiany zastos. wzgl. bd przez zatwier. transakcje muszą być trwałe. Zmiany te nie mogą zostać utracone w wyniku jakiejkolwiek awarii.
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.
Baza analityczna-Bazy analityczne w odróżnieniu od operacyjnych są zazwyczaj stałe i nie pozwalają użytkownikom na modyfikację danych. Operator może dokonywać na systemie analitycznym tylko operacje odczytu. Systemy te przechowują całą historię działalności przedsiębiorstwa, podczas gdy bazy operacyjne tylko ostatnie lata. Utrzymywanie danych jest optymalizowane pod kątem odpowiadania na złożone zapytania pochodzące od zarządzających oraz analityków. Dane są pozyskiwane z różnorodnych źródeł, przy czym zapewniona jest ich jednolitość. Systemy analityczne, sposoby ich wykorzystania w zarządzaniu strategicznym oraz perspektywy rozwoju są myślą przewodnią niniejszego artykułu. Jest podstawą budowy hurtowni danych, bazą systemu wspomagania decyzji
Baza operacyjna jest grupą aplikacji mającą wspomagać funkcjonowanie przedsiębiorstwa przez dokładne i efektywne realizowanie transakcji. Operacje wykonywane na tej bazie to odczyt, zapis, modyfikacja, usuwanie. Ma ona krytyczne znaczenie w działalności przedsiębiorstwa, ponieważ to właśnie w niej odbywa się ewidencjonowanie większości zdarzeń zachodzących w przedsiębiorstwie. realizacji wyżej wymienionych celów. Rzadko jest jednym systemem.
Operacje na relacjach:
Selekcja (restrykcja), projekcja (rzut), suma, przecięcie, różnica, złączenie
Model danych - Pojęcie niejednoznaczne, którego znaczenie jest wypadkową następujących cech: * metajęzyk (pojęcia, terminologia) do mówienia o danych, o SBD i o przetwarzaniu danych; * sposób rozumienia organizacji danych i ideologiczne lub techniczne ograniczenia w zakresie konstrukcji, organizacji i dostępu do danych; * języki opisu i przetwarzania danych, w szczególności: diagramy struktur danych, języki opisu danych i języki zapytań; * ogólne założenia dotyczące architektury i języków systemu BD;* ograniczenia, ideologie lub teorie (matematyczne) dotyczące struktur danych i dostępu do danych.
Operacja łączenia (ang. union operation), nazywana także operacją sumy, bierze jako dwie argument dwie relacje. Relacja wynikowa zawiera wszystkie wiersze z relacji wejściowych bez powtórzeń (UNION), Operacja przecięcia (ang. intersection operation) wynikiem jej działania jest relacja zawierająca wiersze wspólne dla dwóch wejściowych relacji. Operacja ta działa zatem odwrotnie niż operacja łączenia, która wspólne wiersze odrzuca (INTERSECTION), Operacja różnicy (ang. difference operation) bierze jako argument dwie relacje i tworzy relację wynikową zawierającą wszystkie wiersze z pierwszej relacji wejściowej nie występujące w drugiej (DIFFERENCE), Operacja iloczynu kartezjańskiego (ang. Cartesian product operation) bierze jako argumenty dwie relacje i daje relację wynikową składającą się ze wszystkich kombinacji wierszy z jednej relacji z wierszami z relacji drugiej (PRODUCT r1 WITH r2), Operacja ograniczenia (ang. restrict operation), nazywana także operacją selekcji, działa na pojedynczej relacji zwracając relację zawierającą ograniczoną liczbę wierszy relacji wejściowej, stosownie do określonych warunków, jakie mają spełniać wybrane atrybuty (RESTRICT r1 WHERE warunek), Argumentem operacji projektu (ang. project operation), nazywanej także operacją rzutu, jest jedna relacja, wynikiem również jest jedna relacja. Operacja wybiera z relacji zadane kolumny, działa zatem podobnie względem atrybutów relacji, jak operacja ograniczenia względem krotek, Argumentami operacji złączenia, nazywanej także operacją scalenia (ang. join operation), są dwie relacje o niekoniecznie identycznych strukturach, jest w istocie złożeniem operacji iloczynu kartezjańskiego, ograniczenia i projektu (JOIN), Operacja równozłączenia umieszcza połączone w jeden wiersz tabeli wynikowej tylko te pary wierszy z relacji wejściowych, w których takie same są wartości w kolumnach złączenia. W tabeli wynikowej znajdują się wszystkie kolumny z relacji wejściowych - nie jest w tym przypadku wykonywana operacja projektu (EQUIJOIN r1 WITH r2).
DODATKOWE:
Klucz główny-atrybut, którego wartości jednoznacznie definiują krotki
Klucz kandydujący-gdy kilka atrybutów ma własność identyfikacji
Klucz obcy-jest nim pewien atrybut relacji R1, jeśli nie jest on kluczem głównym relacji R1 lecz jego wartości są wartościami klucza głównego innej relacji R2.
Obiekt - przedmiot (materialny lub abstrakc.), który może być wyróżniony i określony w świecie rzeczywistym i o którym chcemy pamiętać pewne informacje (wartości swoich atrybutów oraz powiązania z innymi obiektami).
Wartość - jest obiektem abstrakc. mogącym być bezpośrednio reprezentowa-nym w bazie danych. Ma znaczenie niejako samoistny byt, ale tylko wtedy, gdy za pomocą atrybutów związana jest z obiektami lub powiązaniami
Reprezentacja obiektów - obiekty reprezentowane są za pomocą wartości określonych dla nich atrybutów.
Dla każdego zbioru obiektów E określony jest atrybut kluczowy (klucz obiektów w zbiorze E), w celu jednoznacznej identyfikacji obiektów. Wartości, które klucz przyporządkowuje obiektom ze zbioru E, traktowane są jako reprezentacje tych obiektów.
Reprezentacja powiązań - ponieważ każde powiązanie można jednoznacznie zidentyfikować przez wchodzące w jego skład obiekty to kluczem powiązania jest zestaw kluczy głównych tych obiektów.
Diagramy O-Z (obiektowo-związkowe) - metoda graficznego przedstawiania obrazu modelowanego świata rzeczywistego.
Diagram O-Z jest grafem etykietowanym złożonym z trzech rodzajów wierzchołków i z krawędzi łączących te wierzchołki. Wierzchołkom i krawędziom zawsze przypisywane są etykiety.
Wierzchołki - przekazują informację, że dany zbiór obiektów, powiązań lub wartości występuje w modelowanym świecie rzeczywistym i znajduje się w kręgu zainteresowań w procesie tworzenia bazy danych.
SQL podobno ma nie być