1. Bazy danych charakteryzują się czterema podstawowymi własnościami
niezależność aplikacji i danych
abstrakcyjna reprezentacja danych
różnorodność sposobów widzenia danych
fizyczna i logiczna niezależność danych.
2. Baza danych (angielskie database), rodzaj komputerowego zbioru kartotek, magazyn danych o określonej budowie. Baza danych jest modelowym ujęciem fragmentu rzeczywistości będącego przedmiotem zainteresowania (universe of discours) osób, instytucji, organizacji, firm, zakładów itp., reprezentującym fakty dotyczące tej rzeczywistości w formie umożliwiającej ich przetwarzanie w komputerze. Istotne obiekty danego przedmiotu zainteresowania określa się jak encje lub klasy. Klasą lub encją w rejestrze samochodów są poszczególne samochody, a także ich właściciele lub użytkownicy. Projekt bazy danych określa jej strukturę (część intensjonalną) i zawartość (część ekstensjonalną).
Dane, wyodrębnialne porcje informacji opisujące lub reprezentujące wybrany aspekt rzeczywistości.
Program,
1) przepis postępowania, z góry przyswojony przez komputer plan działania, instruktaż umożliwiający działania komputera, specyfikacja klasy obliczeń. Program jest realizacją algorytmu spełniającą wymogi komunikacji z komputerem; w tym celu program jest pisany w którymś z języków programowania;
2) każdy napis w języku programowania zweryfikowany pod względem poprawności składniowej przez translator lub poprawnie interpretowany przez interpretator;
3) plik dyskowy zawierający kod gotowy do załadowania i wykonania.
3. model danych - jest ogólnym zbiorem zasad posługiwania się danymi
typy modeli damych
proste modele danych
klasyczne modele danych
systematyczne modele danych
4. schemat bazy danych składa się z :
świat rzeczywisty
konstruowanie baz danych
baza danych
jądro DBMS
model danych
interfejs DBMS
zestaw narzędzi DBMS
5. Czego oczekuje się od systemu SZBD
Umożliwia użytkownikowi wytworzenie nowej bazy danych i określenie jej schematu (logicznej struktury danych) za pomocą specjalizowanego języka definiowania danych
dostępnienia użytkownikowi możliwości tworzenia zapytań (query) o dane oraz aktualizowanie danych za pomocą odpowiedniego języka nazywanego językiem zapytań (query language)
Zapewnienia możliwości ............
Sterowanie jednoczesnym dostępem do danych przez wielu użytkowników, z zapewnieniem bezkolizyjności oraz ochrony danych przez przypadkowym uszkodzeniem.
6. System Zarządzania Bazą Danych jest zorganizowanym zbiorem narzędzi umożliwiającym dostęp i zarządzanie jedną lub więcej bazami danych.
7. Trzy podstawowe elementy Systemu Zarządzania Bazą Danych to:
Pielęgnacja danych
Dodanie nowych struktur do bazy, usunięcie struktur bazy danych, modyfikacja istniejącej struktury danych.
Wyszukiwanie danych
Wydobywanie istniejących danych przez użytkowników końcowych oraz wydobywanie danych do wykorzystania przez programy użytkowe.
Kontrola danych
Tworzenie i monitorowanie użytkowników bazy danych, ograniczenie dostępu do danych w bazie i nadzorowanie działania bazy danych.
8. Funkcje systemu zarządzania bazą danych:
przechowywanie danych w co wchodzi tworzenie i utrzymywanie struktur danych
zapewnienie mechanizmów bezpieczeństwa i prywatności
umożliwienie równoczesnego, kontrolowanego korzystania z bazy danych wielu użytkownikom,
umożliwienie wprowadzania i ładowania danych
umożliwienie wydobywania i operowania na przechowywanych danych
zapewnienie integralności rekordów bazy danych
udostępnianie wydajnych mechanizmów indeksowania pozwalających na szybkie przeszukiwanie i odnajdywanie interesujących nas danych
zapewnienie ochrony przechowywanych danych przed ewentualną utratą, na skutek przyczyn niekoniecznie zależnych od człowieka, za pomocą metod tworzenia kopii bezpieczeństwa i procedur użytkownika.
9. Cztery grupy języków, które stosuje się do projektowania i wypełniania bazy danych:
język definiowania danych (Data Definition Language - DDL), który umożliwia definiowanie struktury danych przechowywanych w bazie, czyli tworzenie schematu implementacyjnego
język manipulowania danymi (Data Manipulation Language - DML), który możliwa wypełnianie, modyfikowanie i uruchamianie informacji z bazy danych
język sterowania danymi (Data Control Language - DCL), który umożliwia sterowanie transakcjami (np. zatwierdzanie lub wycofywanie)
język zapytań (Query Language), który umożliwia pobieranie z bazy danych informacji zgodnych z podanymi warunkami.
Transakcja - zmienia bazę danych z jednego stanu w drugi.
Podstawowymi własnościami transakcji są:
Niepodzielność - składa się ze zbiorów akcji, DBMS powinien zapewnić, że albo cała transakcja zostanie wykonana, albo w ogóle nic.
Spójność - operacje wykonane np. przez transakcję modyfikującą nie powinny pozostawać bazy danych w stanie niespójnym lub niepoprawnym.
Izolacja - modyfikuje dzielone dane, to te dane mogą być czasowo niespójne.
12. Architektura dwu i pół warstwowa
Powstała idea przeniesienia pewnej warstwy funkcjonalnej, czyli sposobów zarządzania i przetwarzania informacji na stronę serwera.
Trigery powoduje np., że przy zmianie pewnych danych inne się uaktualniają, gdy usuwamy z naszej bazy informacje o kliencie, to chcemy usunąć wszystkie zamówienia jakie on złożył itd. Procedury te powinny uruchamiać się automatycznie bez integracji użytkownika.
Drugim elementem są zaimplementowane w bazie danych reguły biznesowe wspólne dla wszystkich.
Architektura Trójwarstwowa
Jednak istnieją pewne wady tej arch. Język procedur wbudowanych i trigerów jest dość skomplikowany.
Istnieje też groźba przepisywania od nowa procedur, w przypadku zmiany serwera bazy danych.
Trzecia warstwa (serwer aplikacji), warstwy która byłaby niezależna zarówno od serwera jak też od aplikacji klienckiej.
13. Hierarchiczny model danych
Model ten używa dwóch struktur, którymi są: typy rekordów i związki nadrzędny-podrzędny. Typ rekordów jest nazwany strukturą danych, złożoną ze zbioru nazwanych pól. Każde pole jest używane do przechowywania prostego atrybutu i jest mu przyporządkowany typ danych.
Struktury danych są inne: w hierarchicznym modelu danych mamy typy rekordów, w relacyjnym mamy relacje i związki.
Związki są inaczej implementowane.
Jeżeli podrzędny typ rekordu ma związane dwa lub więcej nadrzędnych typów rekordów, to rekord podrzędny musi zostać powielony dla każdego rekordu.
14. Sieciowy model danych (angielskie network data model), model danych operujący
pojęciami typów rekordów i typów kolekcji (opisów związków “jeden do wielu”
między dwoma typami rekordów). Do operowania danymi w sieciowym modelu
danych stosuje się język DML.
15. Obiektowy model danych
Główną różnicą między obiektowym językiem programowania, a bazami danych jest to, że obiektowe bazy danych wymagają istnienia ....
Mają możliwość pracy z multimediami.
Filarami na których opiera się każdy model obiektowy są pojęcia: złożone obiekty tożsamości.
Obiekt jest pakietem danych i procedur. Dane są trzymane w atrybutach obiektu. Procedury są definiowane za pomocą metod obiektu. Metody są uaktualniane przez komunikaty przekazywane między obiektami.
Obiektowy model danych powinien dostarczać środków do realizacji tożsamości obiektów. Jest to możliwość rozróżnienia dwóch obiektów o tych samych cechach.
Celem nadrzędnym obiektowości jest lepsze dopasowanie modeli pojęciowych, modeli relacyjnych systemów do „wrodzonych instynktów” własności psychologicznych, mentalnych mechanizmów percepcji i rozumienie świata.
Relacyjny model jest modelem danych zorientowanych na wartości.
Dwa identyczne rekordy w obiektowej bazie danych mogą się odwoływać się do dwóch różnych obiektów.
16. Struktury danych w modelu relacyjnym
Podstawową strukturą danych jest relacja będąca podzbiorem iloczynu kartezjańskiego dwóch wybranych zbiorów reprezentujących dopuszczalne wartości. W bazach danych relacja przedstawiana jest w postaci tabeli. Relacja jest zbiorem krotek posiadających taką samą strukturę, lecz różne wartości. Każda krotka odpowiada jednemu wierszowi tablicy. Każda krotka posiada co najmniej jeden atrybut odpowiadający pojedynczej kolumnie tablicy. Każda relacja (tablica) posiada następujące własności:
krotki (wiersze) są unikalne
atrybuty (kolumny) są unikalne
kolejność krotek (wierszy) nie ma znaczenia
kolejność atrybutów (kolumn) nie ma znaczenia
wartości atrybutów (pól) są atomowe
17. RDBMS
Zalety:
oparte na solidnych podstawach teoretycznych (zainteresowanie swiata nauki, a nie tylko biznesu)
stabilna pozycja na rynku
optymalizacja zapytan
Wady:
z gory ustalony konstruktor, brak zlozonych obiektow
brak srodkow hermetyzacji i modularyzacji (brak oddzielenia implementacji od specyfikacji)
brak srodkow do przechowywania informacji proceduralnych
niezgodnosc impedancji
niezgodnosc modelu pojeciowego z modelem implementacyjnym
18. ODBMS
Zalety:
zlozone obiekty
typy danych definiowane przez uzytkownika
tozsamosc obiektow (identyfikator), trwalosc
hermetyzacja, hierarchia, dziedziczenie
rozszerzalnosc
zgodnosc we wszystkich fazach zycia bazy i danych
metody i funkcje przechowywane wraz z danymi
nowe mozliwosci (wersjonowanie, rejestracja zmian, powiadamianie ...)
mozliwosc nowych zastosowan mniejszym kosztem (bazy mulitmedialne, przestrzenne, bazy aktywne...)
porownywalna wydajnosc (i wciaz rosnie)
Wady:
brak optymalizacji zapytan (rozumianej jak w poprzednich modelach)
niedopracowane mechanizmy zarzadzania duza baza obiektow, sterowania wersjami, ...
mala liczba ekspertow od technik obiektowych
nie wiadomo z jakimi kosztami wiaze sie migracja duzych systemow
brak dopracowanych standardow
19. ORDBMS
Zalety:
przystosowanie do multimediow (duze obiekty BLOB, CLOB i dane binarne)
dane przestrzenne (spatial)
abstrakcyjne typy danych (ADT)
metody (funkcje i procedury) definiowane przez uzytkownika w roznych jezykach (C++, VisualBasic, Java)
kolekcje (zbiory, wielozbiory, sekwencje, tablice zagniezdzone, tablice o zmiennej dlugosci)
typy referencyjne
przeciazanie funkcji
optymalizacja zapytan
Wady:
wciaz nie uniknieto wielu bledow modelu relacyjnego (np. niezgodnosci impedancji)
brak perspektyw na przyszlosc
produkt hybrydowy "dwa w jednym" (redundancja kodu i danych)
brak bazy intelektualnej
zmiany wprowadzane ad hoc (kumulowanie bledow koncepcyjnych)
20. Obiekt określany bywa jako ,,pakiet danych i procedur'', wyposażony w jednoznaczną tożsamość. Mówiąc po prostu, obiektowe języki programowania zamiast ograniczać się do prostych typów danych (liczba całkowita, znak, ...) oraz funkcji lub procedur operujących na zmiennych tych typów i ewentualnie zwracających wartości, umożliwiają (lub wręcz narzucają) programiście tworzenie abstrakcyjnych typów danych, składających się z wartości (zwanych w tym kontekście atrybutami) oraz procedur lub funkcji (metod) służących do wykonywania operacji na atrybutach danego obiektu (i ewentualnie zwracających wartość, będącą na ogół znów obiektem). Jednoznaczna tożsamość oznacza tyle, że poza jawnie zadeklarowanymi atrybutami (i metodami) obiekty wyposażone są w unikalne identyfikatory -- co oznacza, że identyczność obiektów nie sprowadza się do równości atrybutów.
Klasa to typ lub wzorzec obiektów, może być więc poniekąd uważana za definicję pewnego typu danych. W niektórych językach obiektowych, klasa jest również obiektem: np. może ona zawierać metodę (konstruktor) której wywołanie powoduje utworzenie nowego obiektu danej klasy (instancjację), oraz atrybuty których wartościami inicjalizowane są atrybuty tego nowego obiektu. W praktyce programista może zarówno definiować własne klasy specyficzne dla tworzonej aplikacji, jak i korzystać z klas np. pochodzących z zewnętrznych bibliotek.
Atrybut Obiekt charakteryzuje się jednym lub więcej atrybutami i jedną lub więcej metodami, które operują na wartościach tych atrybutów. Wartość atrybutu obiektu jest również obiektem. Atrybut obiektu może przyjmować pojedynczą wartość lub zbiór wartości, jest częścią definicji klasy. Specyfikacja atrybutu polega na podaniu jego nazwy i więzów semantycznej spójności, obejmujących: dziedzinę atrybutu, jednoznaczność wartości, dopuszczalność wartości NULL, itp. Wartości atrybutów obiektu opisują jego stan. Dziedziną atrybutu może być jakakolwiek klasa ze swoim własnym zbiorem atrybutów lub klasa wartości pierwotnych (np.: integer, string). Wartością atrybutu może być instancja klasy będącej jego dziedziną lub instancja dowolnej podklasy z hierarchii klas zakorzenionej w klasie stanowiącej dziedzinę atrybutu.
Istnieje wiele rodzajów atrybutów i sposobów ich łączenia. Wśród atrybutów wyróżniamy:
- atrybut prosty - który przechowuje dokładnie jedną wartość, która z punktu widzenia użytkownika jest niepodzielna;
- atrybut złożony - przechowuje wiele wartości atomowych, niepodzielnych, może mieć strukturę hierarchiczną, przy czym każda gałąź hierarchii posiada nazwę;
- atrybut wskaźnikowy - zawiera jako wartość identyfikator obiektu, zwykle innego;
- atrybut powtarzalny - przechowuje pewien zestaw wartości o nieokreślonej i zmiennej w czasie liczbie elementów, które mogą być proste, złożone czy wskaźnikowe;
- atrybut opcyjny - taki, który w konkretnym wystąpieniu obiektu może posiadać wartość lub nie, opcyjność może dotyczyć zarówno atrybutu prostego, złożonego jak i wskaźnikowego, jest to szczególny przypadek atrybutu powtarzalnego, gdzie liczbą elementów zestawu wartości jest zero lub jeden;
- atrybut domyślny - wiąże się pojęciowo z atrybutem opcyjnym, oznacza wartość, która jest przyjmowana domyślnie, o ile żadna wartość nie została wstawiona, może dotyczyć atrybutu prostego, złożonego jak
i wskaźnikowego;
- atrybut pochodny lub wyliczalny - oznacza wartość, która jest wyliczana
z innych atrybutów lub niekiedy z innych danych;
- atrybut wspólny - oznacza wartość, która jest wspólna dla zestawu obiektów należących do tej samej klasy;
- atrybut będący obiektem - w wielu przypadkach wygodniej jest rozpatrywać atrybuty jako pod-obiekty przypisane do własnych klas, które posiadają własne metody, itp.
Metoda danego obiektu służy więc do modyfikacji wartości jego atrybutów, uzyskiwania informacji o ich wartościach, lub np. powoływania do życia nowych obiektów. W ,,czystym'' programowaniu obiektowym, dostęp do atrybutów obiektu realizowany jest jedynie poprzez wywołania jego metod.
21. Mechanizm dziedziczenia pozwala na tworzenie nowych klas, zwanych podklasami, z klas już istniejących. Nowe klasy przejmują (dziedziczą) struktury danych i metody klas, ponadto dołączane są do nich nowe własne struktury i procedury. Dziedziczenie może mieć charakter bezpośredni (oznacza to, że struktura danych i metody są przenoszone do podklasy bez zmian) lub dokonywana jest transformacja składników klasy przed przekazaniem ich do podklasy.
22. Cechy klucza podstawowego:
musi jednoznacznie identyfikować, każdy rekord w tabeli
musi zawierać unikatowe wartości
nie może zawierać wartości zerowych (null)
nie może być polem segmentowym
powinien składać się z minimalnej liczby pól wymaganej do uzyskania niepowtarzalnych wartości
jego wartość nie może być w żadnym stopniu opcjonalna
musi bezpośrednio określać wartości każdego pola w tabeli
jego wartość może być zmieniona tylko w wyjątkowych przypadkach.
23 . Relacje
Jest tylko jedna struktura danych w relacyjnym modelu danych - relacja. W związku z tym, że pojęcie relacji jest matematyczną konstrukcją, relacja jest tabelą, dla której jest spełniony następujący zbiór zasad:
1. Każda relacja w bazie danych ma jednoznaczną nazwę. Według Codda dwuwymiarowa tabela jest matematycznym zbiorem, a matematyczne zbiory muszą być nazywane jednoznacznie.
2. Każda kolumna w relacji ma jednoznaczną nazwę w ramach jednej relacji. Każda kolumna relacji jest również zbiorem i dlatego powinna być jednoznacznie nazwana.
3. Wszystkie wartości w kolumnie muszą być tego samego typu. Wynika to z p. 2.
4. Porządek kolumn w relacji nie jest istotny. Schemat relacji - lista nazw jej kolumn - jest również
matematycznym zbiorem. Elementy zbioru nie są uporządkowane.
5. Każdy wiersz w relacji musi być różny. Innymi słowy, powtórzenia wierszy nie są dozwolone w relacji.
6. Porządek wierszy nie jest istotny. Skoro zawartość relacji jest zbiorem. to nie powinno być określonego porządku wierszy relacji.
7. Każde pole leżące na przecięciu kolumny i wiersza w relacji powinno zawierać wartość atomową. To znaczy, zbiór wartości nie jest dozwolony na jednym polu relacji.
24. Algebra relacyjna
Algebra relacyjna jest zbiorem ośmiu operatorów. Każdy operator bierze jedną lub więcej relacji jako argument i produkuje jedną relację jako wynik. Trzema głównymi operatorami algebry relacyjnej są: selekcja (ograniczenie), rzut (projekcja) i złączenie. Dzięki tym trzem operatorom możemy wykonać większość operacji na danych wymaganych od systemu relacyjnego. Istnieją również dodatkowe operatory - iloczyn, suma, przecięcie, różnica i iloraz.
Selekcja
Selekcja jest operatorem, który bierze jedną relację jako swój argument i produkuje w wyniku jedną relację. Selekcja może być uważana za “poziomą maszynę do cięcia", gdyż wydobywa z wejściowej relacji wiersze, które pasują do podanego warunku, i przekazuje je do relacji wynikowej.
25. Rzut
Operator rzutu bierze jedną relację jako swój argument i produkuje jedną relację wynikową. Rzut jest “pionową maszyną do cięcia”
Suma
Suma jest operatorem, który bierze dwie zgodne relacje jako swoje argumenty i produkuje jedną relację wynikową. Zgodne, czyli tabele mają te same kolumny określone na tych samych dziedzinach(uwzględnia wszystkie wiersze z obu tabel w tabeli wynikowej).
Przecięcie
Przecięcie ma działanie przeciwne działaniu sumy(uwzględnia w tabeli wynikowej tylko wiersze wspólne dla obu tabel).
Różnica
W wypadku tego operatora istotna jest kolejność określania argumentów. Produkuje on te wiersze, które są w pierwszej tabeli i jednocześnie nie będące w tabeli drugiej.
26. ERD (ang. Entity Relationship Diagrams) - Diagramy związków Encji.
Diagramy związków encji przekształcają rzeczywisty świat na zbiory entek oraz relacji zachodzących między nimi. Znajdują one szerokie zastosowanie w projektowaniu baz danych, zwłaszcza przy analizie zależności funkcyjnych, usuwaniu problemów związanych z redundancją danych oraz przy organizacji struktury bazy.
Technikę tą wykorzystuje się również przy projektowaniu i specyfikacji oprogramowania nie tylko na etapie dotyczącym projektu baz danych, ale i przy projekcie i analizie poszczególnych modułów oprogramowania.
Celem tego opracowania jest pokazanie do czego i w jaki sposób wykorzystywane są diagramy związków encji oraz zapoznanie projektanta z technikami i notacjami ERD, oraz schematami postępowania przy usuwaniu typowych problemów mających miejsce przy projektowaniu baz danych.
27. Diagarmy przepływu danych (DFD -- Data Flow Diagrams)
Cel stosowania DFD
Przedstawiają graficzny modelu procesów w systemie
Odzwierciedlają ruch danych w systemie rzeczywistym
Zespół DFD wraz z kompletnym opisem elementów składowych zawartych w słowniku danych stanowi model procesów w systemie
Pozwalają patrzeć na system na rożnych poziomach szczegółowości
Składniki DFD
Obiekty zewnętrzne (terminatory)
Składnice (magazyny) danych
Procesy
Przepływy danych
Obiekty zewnętrzne (terminatory)
Reprezentują źródła lub miejsca przeznaczenia informacji, które są zewnętrzne w stosunku do sytemu
Mogą nim być: osoba, dział urzędu, firma, system, maszyna i inne obiekty znajdujące się na zewnątrz systemu
Obiekt generujący, lub przyjmujący strumienie danych
Leżą poza obszarem zmiany związanej z wdrażanym projektem
Składnice (magazyny) danych
Reprezentują miejsca gdzie dane są przechowywane między operującymi na nich procesami
Magazyny są dostępne tylko dla procesów co oznacza, że magazyn danych nie może się łączyć bezpośredni z terminatorem
Procesy
Odpowiadają tym składnikom systemu, które operują na danych
Procesy otrzymują i przesyłają dane za pośrednictwem przepływów danych
Dokonują transformacji przepływów wejściowych w przepływy wyjściowe.
6. Przepływy danych
Opisują strumienie danych o określonej zawartości przepływające pomiędzy dwoma składnikami DFD:
terminatorami a procesami,
procesami a procesami lub
procesami a składnicami danych
Hierarchia DFD
Diagram kontekstowy: Przedstawiony jest jako jeden proces (bez numeru) oznaczający cały system wraz z przepływami do i od terminatorów.
Diagram "0": Przedstawia główne funkcje systemu. Najbardziej ogólne spojrzenie na system (tutaj mamy już kilka procesów + terminatory + magazyny)
Diagramy niższych poziomów; Liczba poziomów nie powinna przekroczyć 7 +- 2
Specyfikacje procesów na najniższym poziomie
Zasady numeracji
Zasady nadawania nazw
Każdy element DFD powinien mieć swoją unikatową nazwę adekwatną do jego celu.
Nazwy powinny być samo opisujące się i łatwe do rozpoznania.
W nazwach procesów powinno się używać trybu rozkazującego (ew. rzeczownika odczasownikowego).
Jedynym przypadkiem, w którym można pominąć nazwę to nazwy przepływów do i ze składnic danych o dokładnie takiej samej zawartości jak składnica danych.
Weryfikacja DFD
Bilans poziomy procesów: Zawartość przepływów wychodzących musi być zbilansowana z zawartością przepływów wchodzących.
Zasada zupełności danych: każdy element przepływu danych musi być wykorzystany w procesie. Z drugiej strony musi zostać zweryfikowane, że każdy proces jest w stanie wygenerować przepływy wyjściowe w oparciu o przepływy wejściowe.
Bilans poziomy składnic danych: Suma przepływów danych wpływających do składnicy musi być równa sumie przepływów danych wypływających ze składnicy.
Kilka uwag
Przepływy danych a magazyny danych
Często popełniany błąd: żaden proces nie zapisuje do magazynu
Trywialne odrzucanie danych
Dobrze określone procesy mają "chude" interfejsy
Procesy niedookreślone
28. Normalizacja
Proces kolejnego przekształcenia projektu bazy danych przez te trzy postacie normalne jest znane jako normalizacja.
Normalizacja - przekształcenie krok po kroku.
Normalizacja składa się z następujących etapów:
zebranie zbioru danych
przekształcenie nieznormalizowanego zbioru danych w tabele w pierwszej postaci normalnej
przekształcenie tabeli z pierwszej postaci normalnej w drugą postać normalną
przekształcenie z drugiej na trzecią jeśli jeszcze w tej postaci występują anomalie danych, to należy
przekształcić z trzeciej w czwartą, potem
z czwartej w piątą
29. Istota procesu normalizacji polega na tym, że:
wszystkie elementy danych w tabeli muszą całkowicie zależeć od całego klucza
w tabeli nie mogą wystąpić powtarzające się grupy danych
Najważniejszymi z postaci normalnych są trzecia postać normalna oraz postać normalna Boyce'a Codda.
Dana relacja jest w 4 postaci normalnej wtedy i tylko wtedy, gdy jest w trzeciej postaci normalnej i wielowartościowa zależność zbioru Y od X pociąga za sobą funkcjonalną zależność.
Dana relacja jest w 5 postaci normalnej wtedy i tylko wtedy, gdy jest w trzeciej postaci normalnej i nie istnieje jej rozkład odwracalny.
Przekształcenie relacji do kolejnych postaci normalnych wiąże się najczęściej ze zmniejszoną ilością pamięci potrzebnej do przechowywania informacji.
Proces normalizacji ma na celu takie przekształcenie, by nie posiadała ona cech niepożądanych.
30. Projektowanie relacyjnych baz danych
Składa się z 3 faz:
analizy wymagań zakłada wgłębienie się w sposób funkcjonowania obsługiwanej organizacji
faza modelowania danych polega na tworzeniu „zrębów struktury” nowej bazy danych. W skład wchodzi definiowanie pól i przypisywanie ich odpowiednim tabelom, przypisywanie tabelom kluczy podstawowych, wprowadzenie kolejnych poziomów integralności danych oraz zdefiniowanie poszczególnych relacji za pomocą odpowiednich kluczy obcych
normalizacja jest procesem, w którym następuje rozkład dużych tabel na mniejsze w celu wyeliminowania powtarzających się danych
Obecnie stosowane postacie normalne to: 1, 2, 3, 4, 5, Boyce'a Codda oraz postać normalna klucze/domeny
31. Jet - silnik baz danych Microsoftu
Access 2000 jest zaawansowanym interfejsem użytkownika dla silnika baz danych Microsoft Jet 4.0. przechowuje on tabele, indeksy i kwerendy, które są uruchamiane przez wbudowany mechanizm zapytań. Jest rozbudowaną, wyposażoną w kompletny zestaw. Jet zarządza bazą danych zawartą w pliku MDB.
32. ADO (ActiveX Data Objects)
ADO jest grupą obiektów zaprojektowanych w celu dostarczenia prostego interfejsu programistycznego służącego do operowania na bazach danych. W przeszłości stwo-rzono wiele podobnych systemów takich jak: DAO (Data Access Objects) lub RDO (Remote Data Objects). Microsoft stwierdził, że te poprzednie systemy były zbyt ograniczone pod względem możliwości operowania na wielu różnych typach danych, z tego powodu powstało OLE DB. OLE DB ma wszystkie cechy, których brak DAO -jest szybkie, małe i elastyczne. DAO jest interfejsem Jet - mecha-nizmu baz danych wykorzystywanym w Accessie, który nie został zaprojektowany do obsługi innych typów danych. Z drugiej strony, OLE DB może pracować ze wszystkim, łącznie z danymi, które nie są zapisane w tradycyjnym formacie tabelarycznym. Posiada ono jedną, podstawową wadę, która unie-możliwiła jego powszechne wykorzystanie - OLE DB jest niesłychanie skomplikowane. Aby przezwyciężyć ten problem, Microsoft stworzył ADO, prostą warstwę umieszczo-ną ponad OLE DB i dostarczającą łatwiejszego interfejsu programistycznego. Posiadając jedynie trzy główne obiekty oraz kilka pomocniczych kolekcji, ADO jest bardzo proste. ADO doskonale nadaje się do wykorzystania wraz z ASP.
Model obiektowy ADO
ADO posiada sześć obiektów i dwie kolekcje, najważniejszymi obiektami są:
- Connection
- Command
- Recordset