sciaga1.doc

(48 KB) Pobierz
System bazo-danowy – uniwersalny program udostępniający użytkownikowi informację

System bazo - danowy – uniwersalny program udostępniający użytkownikowi informację.

Baza danych – miejsce gdzie przechowuje się informacje – tzw. dane; to inaczej kolekcja informacji umieszczona w określonym miejscu na nośniku; każda informacja w bazie danych musi mieć pewną wartość i strukturę bo inaczej byłaby bezużyteczna.

System Zarządzania Bazą Danych – program umożliwiający zapisanie i dostęp do danych poprzez odpowiednie metody wyszukiwania i zestawiania danych; często używa się pojęcia System Baz Danych, co oznacza bazę danych wraz z S.Z.B.D. S.Z.B.D. sprawuje kontrolę nad fizyczną strukturą danych. Fizyczna struktura danych wiąże się z miejscem przechowywania danych w komputerach, wyznacza sposoby dostępu do danych, decyduje o tym jak dane się aktualizuje, tworzy i usuwa.

Perspektywa – punkt widzenia użytkownika.

Logiczny model danych - występuje pomiędzy perspektywą użytkownika a fizycznym modelem danych – to opis bazy danych, z którego można wyprowadzić perspektywy poszczególnych użytkowników.

Cechy S.Z.B.D.:

-           zapewnia współbieżny dostęp do danych wielu użytkownikom;

-           bezpieczeństwo i ochronę danych przed niepowołanym dostępem;

-           umożliwia restart systemu po awarii sprzętu lub nośników, łączy czy związaną z konfliktami;

-           musi odtworzyć bazę danych po awarii;

-           optymalizacja dostępu – jak najszybciej należy dostarczyć informację użytkownikowi (czas i koszt);

-           musi utrzymywać niezależność danych od aplikacji;

-           oparcie fizycznej struktury danych na jednym logicznym modelu danych, który jest odzwierciedleniem perspektyw użytkowników;

-           uwzględnia standardy języka zapytań;

-           oddziela model fizyczny od modelu logicznego;

-           automatycznie obsługuje spójność bazy danych – powiązania między informacjami muszą być spójne;

-           redundancja danych – powtarzalność danych musi być ograniczona.

Współbieżny dostęp do danych polega na tym, że: 1. nie ma kłopotu z wieloma czytającymi użytkownikami, 2. jest problem z modyfikowaniem – gdy pojawi się użytkownik chcący zmodyfikować dane pojawia się problem kto ma pierwszy wykonać operację: czytający czy piszący.

Redundancja, awaryjność, bezpieczeństwo – system musi umieć odtworzyć sytuację sprzed awarii; dane muszą zachować swoją poprawność (stosuje się mechanizm dziennika);

 

HIERARCHICZNE S.Z.B.D. – rekordy w tej bazie danych powiązane były hierarchicznymi związkami jednoznacznymi; taka struktura jest jednoznaczna, struktura logiczna wiąże rekordy w hierarchie, które można reprezentować za pomocą drzew.

 

SIECIOWE S.Z.B.D. – ???

HIERARCHICZNE i SIECIOWE S.Z.B.D. - wymagały specjalnego języka:

-           Data Definition Languague (DLL) – język definicji danych – za jego pomocą użytkownik informował jaki logiczny model danych będzie używany.

-           Data Manipulation Languague (DML) – j. manipulowania danych – pozwalał na wyszukiwanie informacji w bazie danych,  najczęściej był rozszerzeniem jakiegoś języka programowania.

 

OBIEKTOWE S.Z.B.D. – podstawowy element to obiekt z atrybutami i metodami. Poprzednie s.z.b.d. pozwalały na przechowywanie w polach rekordów liczb, dat, Boolean, ciągów, pól MEMO (notatnikowych) Poprzez dodanie do metod do obiektu strukturę można było rozszerzyć o dźwięk, obiekty wektorowe itp. Obiekty należą do klas. Dopuszczalne jest istnienie obiektów złożonych wskazujących na inne obiekty lub klasy. W obiektowych B.D. wykorzystywane są abstrakcyjne typy danych – jest to kombinacja danych i operacji na nich.

Rodzaje OBIEKTOWYCH B.D.:

-           cechy S.B.D. dodaje się do obiektowego języka programowania;

-           cechy S.B.D. zostały dodane do języka programowania, który jest rozszerzeniem nieobiektowego języka programowania.

-           S.B.D. , w których podejście obiektowe zostało dodane do relacyjnej B.D.

 

RELACYJNE S.Z.B.D.

Atrybut – określona dana informacja; każdy atrybut ma swoją nazwę i może przyjmować wartości określonego typu; często nazywany polem B.D.

A – zbiór atrybutów. A = {A1 , ... , An } dziedzina D(Ai)

Relacja – podzbiór iloczynu kartezjańskiego postaci:

Rk Ì D(Ak1)x ... x D(Akn) gdzie AkjÎA

Relacyjna Baza Danych – zbiór wszystkich relacji w B.D.

RBD = {R1, ... , Rp}

Cechy RBD:

-           relacje interpretowane są jako tabele z danymi; każda kolumna zdefiniowana jest przez dziedzinę wartości atrybutu, jego nazwę, typ;

-           wiersze w tabeli mają jednakową strukturę, są w odpowiedniej kolejności;

-           wiersze w relacji nazywamy krotkami (rekordami) a atrybuty (kolumny) polami.

-           w relacji nie mogą się znaleźć dwie takie same krotki;

-           relację nazywamy także tabelą.

Typy danych (atrybutów):

-           liczbowy – N, C, R, I;

-           ciąg znaków – X, C;

-           data, czas – D, T;

-           logiczny – L;

-           notatnikowy (MEMO) – M;

-           symulowany???.

Operacje na RBD:

-           operacje teoriomnogościowe na relacjach – suma mnogościowa, iloczyn mnogościowy, iloczyn kartezjański;

-           selekcja, projekcja, złączanie tabel (konkatenacja ?), otwarcie i zamknięcie tabeli i relacji.

 

Schemat formalny RBD:              S = {A1,A2, ... ,An},

dziedzina atrybutu: Di=dom(Ai), D=D1ÈD2È...ÈD     R:S®D

Relacja RS na schemacie S to zbiór odwzorowań:

{R1,R2,...,Rp} takich że:

dla każdego (1£i£n) i dla każdego (kÎR) R(Ai)ÎDi , k1,...,kn – krotki

Uniwersum relacji dopuszczelnych RS.

Kluczem K w schemacie S nazywamy zbiór atrybutów takich, że KÍS i dla dowolnego RSÎ RS oraz krotek k1 i k2 Î RS zachodzi warunek:

k1(K) ¹ k2(K)

Klucz kandydujący – najlepszy klucz - z punktu widzenia RBD klucz o najmniejszej ilości atrybutów.

Klucz główny – klucz kandydujący (rozróżnia każdą krotkę w relacji) i jest dobrym identyfikatorem każdej krotki w relacji.

Pozostałe klucze – klucze wtórne.

Perspektywy użytkownika – podzbiory tabeli - pionowe (niektóre z atrybutów relacji są niewidoczne dla użytkownika), poziome (niektóre z krotek są niewidoczne).


Struktura S.Z.B.D.

Nagłówek - skład:

-           nazwa relacji

-           nazwa zbioru z krotkami

-           liczba pól

-           typy kolumn

Tabela - skład:

-           header krotki – znacznik kasowania znajdujący się obok krotki; służy do tego aby fizycznie nie usuwać rekordów (dużo pracy przy przesunięciu rekordów w górę); może on być także nieco bardziej rozbudowany; w związku z powyższym bazie danych potrzebne jest okresowe czyszczenie (przez administratora)

-           krotka.

S.Z.B.D. zawiera też pliki indeksowe – znajdują się w nich informacje o metodach wyszukiwania rekordów; zawierają wartość klucza i numer rekordu, w którym ta wartość występuje; można założyć po jednym pliku indeksowym dla każdego klucza.

Problemy w RBD:

-           problem redundancji (powtarzalności) danych

-           anomalia przy aktualizacji – może spowodować niespójność B.D. oraz niepoprawność informacji

-           anomalia przy usuwaniu

-           anomalia przy wstawianiu.

 

Języki zapytań w RBD – mechanizmy wyszukiwania informacji w bazie danych. Ich cechy:

-           siła ekspresji – określenie zakresu tego co można zrealizować w tym języku

-           pełność – pełny język pozwala na zapisanie dowolnego zapytania pozwalającego na odszukanie dowolnej informacji jednostkowej lub dowolnego zestawu takich informacji

-           prostota i łatwość użycia takiego języka podczas zapytań

-           rozszerzalność operacyjna języka – możliwość rozszerzenia języka zapytań o zasady programowania

-           efektywność – czas dostępu do informacji

-           udostępnienie języków programowania

-           proceduralność (np. język oparty na algebrze relacji) – użytkownik buduje zapytanie w postaci procedury, która może być ciągiem kroków takich jak selekcja, rzut, złączenie; zapytanie jest opisem tego o co pytamy i jednocześnie metodą prowadzącą do uzyskania odpowiedzi; przeciwieństwo – języki nieproceduralne – zapytanie jest żądaniem użytkownika – co ma być wynikiem, składa się z dwóch części: schematu relacji tabeli wynikowej oraz opisu spełnionego w krotkach wynikowych;

Klasyfikacja języków zapytań w RBD.

  1. oparte na rachunku predykatów – języki nieproceduralne, w których zapytanie określa kształt (schemat) relacji wynikowej oraz warunek (predykat), który musi być spełniony składające się na  relację wynikową (ISBL)
  2. algebraiczne – oparte na algebrze relacji obejmującej sumę mnogościową tabel, różnicę mnogościową tabel, złączenie dwóch tabel – iloczyn kartezjański oraz iloczyn mnogościową tabel – krotki występują w obu tabelach; języki proceduralne (QUEL, QBE).

ISBL – oparty na algebrze relacji (suma mnogościowa, iloczyn mnogościowy, selekcja, projekcja, łączenie); obowiązuje tu inna notacja zapisu niż w algebrze krotek.

QUEL – język oparty na relacyjnym rachunku krotek; używa się też frazy typu „range is”, która określa zmienną krotkową, która wskazuje te krotki, które należą do danej relacji i spełniają określone warunki; używa się też frazy typu „reprieve into” (<- to na pewno nie po angielsku) – gdzie należy umieścić wyszukane krotki; można zadawać pytania odnośnie dwóch tub więcej tabel; można usuwać, dodawać i sortować krotki; język QUEL został rozszerzony o tzw. funkcje agregujące – obliczenia sumy, min, max w danej kolumnie; QUEL można zanurzyć w języku C.

QBE – (Query By Example) oparty na relacyjnym rachunku dziedzin (kolumn); ma charakter dialogowy, wizualny; zakresem zmiennej jest atrybut a nie cała krotka; działa zasada typu: „szukaj takich krotek, że x<y+30”; wprowadzono funkcje agregujące: suma, min, max, średnia, ilość wystąpień; język wyposażony w mechanizmy typowe dla DML pozwalające na zmianę wartości oraz dodanie nowej tabeli, dodawanie i usuwanie atrybutów.

SQL – język oparty na rachunku relacji i rachunku krotek; zawiera DML i DLL, podstawową konstrukcją jest formuła: „select from where” – wybierz określone atrybuty z określonych relacji gdy zachodzi warunek, np.: „SELECT Rk1A1,...,RikAk FROM R1,...,Rj WHERE F” - formuła ta używana do selekcji i projekcji; przy pomocy SQL można tworzyć skomplikowane mechanizmy zapytań; zawiera funkcje agregujące, mechanizmy pozwalające na aktualizację, dopisywanie, usuwanie krotek (rachunek krotek); mechanizmem do definiowania logicznej struktury danych jest CREATE.

 


Operacje na relacjach.

Operatory algebry relacji dzielą się na jednoargumentowe (na jednej tabeli) i wieloargumentowe (na wielu tabelach); wyróżniamy operatory:

-           selekcja – umożliwia wybór krotek relacji spełniających określone warunki

-           projekcja – umożliwia okrojenie relacji do wybranych atrybutów

-           łączenie – umożliwia łączenie krotek wielu relacji

-           klasyczne operatory teorii mnogości (suma mnogościowa, produkt kartezjański, itp.)

Selekcja – operacja ta nazywa się także poziomym podzbiorem; zapis formalny:

åw(RS) = {kÎRS : w(k)=true},

w  warunek selekcji buduje się przy użyciu AND, OR, NOT, fÎ{=,¹,£,<,³,>} w postaci:

k(A)fa k(A)fk...

Zgłoś jeśli naruszono regulamin