9.10.2013
SYSTEM: BAZA DANYCH
Zbiór uporządkowanych ( w określony sposób) danych,
Zbiór ograniczeń syntaktycznych i semantycznych zbioru danych
Język operacji na danych
BAZA DANYCH (database) - magazyn danych:
Trwałość baz danych
Ograniczoność bazy danych
Dobra organizacja bazy danych
Baza ma określoną funkcjonalność i na tej funkcjonalności bazuje.
Dane nie wykorzystywane są danymi nie poprawnymi. Do funkcjonalności zapisuje się dane tyko potrzebne.
PROJEKTOWANIE BAZ DANYCH:
Najpierw robimy analizę, jakie dziekanat ma dokumenty wyjściowe ( po tym wiemy co nam jest potrzebne [jakie wejście]) by wiedzieć jakie dane powinna baza zawierać.
Perspektywa – okna, przez które patrzą użytkownicy baz danych
MODELE DANYCH:
Architektura danych:
Definicja danych
Operowanie danymi
Integralność danych
Wymagania dotyczące danych:
Niezależne od implementacji
Element specyfikacji systemów informacyjnych
Model - sformalizowany opis rzeczywistości za pomocą danych interpretowanych.
Jakimi cechami charakteryzuje się model rzeczywisty:
Opisuje się sposób definicji danych(jak przechowuje, jakie właściwości posiadają dane)
Jak operuje na danych ( w jaki sposób dodaje i kasuje dane)
W jaki sposób w danym modelu zapewniamy integralność danych ( nie zapisujemy danych kilka razy),zapewnienie rzeczywiście prawidłowych danych w modelu rzeczywistym.
DEFINICJA RELACYJNEGO MODELU DANYCH:
Dane są zbiory D1, D2 , ... Dn
Relacja R to część iloczynu kartezjańskiego na zbiorach D1, D2 , ... Dn : R(D1, D2 , ... Dn)
gdzie R⊆ D1x D2x... Dn = {(d1, d2 , ... dn)}
i d1∈D1, d2∈D2 , ... dn∈Dn
R jest zbiorem n-krotek w formie <d1, d2 , ... dn>
gdzie d1∈D1, d2∈D2 , ... dn∈Dn
Zasada: w modelu relacyjnym podstawowym obiektem jest relacja(czyli elementy powiązane)
POJĘCIE RELACYJNEGO MODELU DANYCH:
Z punktu widzenia użytkownika relacyjna baza danych to zestaw tablic, w których:
kolumny - atrybuty odpowiadają polom
wiersze - krotki, odpowiadają rekordom
TABLICA
ATRYBUT 1 ATRYBUT 2 ... ... ATRYBUT N
wartość 1 wartość 2 ... ... wartość n
• • • • •
• • • • •
• • • • •
WŁAŚCIWOŚCI RELACJI:
nie występują identyczne krotki
krotki są nieuporządkowane
atrybuty są nieuporządkowane
wszystkie atrybuty są atoniczne(występują raz)
każda relacja posiada klucz główny
Klucz główny – zasada niepowtarzalności
Jeżeli któryś z atrybutów danej encji ma wiele rekordów stwórz osobną tabelę do tych danych.
Związki między tabelami:
1:1
1:N
Wszystkie tabele muszą być powiązane w modelu relacyjnym wszystkie muszą mieć klucze, atrybuty i związki.!
Wykład 23.10.2013r.
Klucze relacji:
Kandydujący (każda z dziedzin jest kandydatem klucza głównego)
Główne
Obce
Reguły integralności modułu relacyjnego
Reguły generalne
Integralność encji – klucz główny każdego wystąpienia encji posiada wartość unikalną, nie może zawierać wartości NULL
Integralność referencyjna – dziedzina klucza obcego musi się zawierać w dziedzinie klucza głównego relacji powiązanej lub zawierać wartość NULL
Reguły specyficzne (nie można nadać im żadnych specyficznych zasad (coś typu minimum, maximum)
Więzi propagacji:
Ograniczone usuwanie (najpierw usuwa rekordy powiązane, później rekordy główne, usuwanie ręczne)
Kaskadowe usuwanie (automatyczne działanie – w momencie usunięcia rekordu głównego system automatycznie usuwa rekordy powiązane)
Wstaw NULL przy usuwaniu (przed usunięciem klucza głównego)
Własności bazy danych:
Współdziałanie danych
Integracja danych (brak możliwości powtórzeń atrybutów)
Integralność danych
Bezpieczeństwo danych
Abstrakcja danych
Niezależność danych
Postulaty (ACID)
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
Niepodzielność
Spójność
Izolacja
Trwałość
Podstawowe pojęcia:
Perspektywy – okna baz danych
Redundancja – nadmiarowość(np. student raz zapisany w dziedzinie choć studiuje kilka kierunków)
Transakcje – zdarzenia, które powodują zmianę stanu bazy danych
Podstawowe elementy bazy danych:
Tabele (atrybuty – pola, klucz podstawowy)
Związki między tabelami (1:N, 1:1)
Formularze (liczą i pokazują)
Kwerendy: wybierające, podsumowujące, krzyżowe, tworzące tabelę aktualizacji
Raporty (tylko pokazują)
W bazie nie przechowujemy danych wyliczonych.
Systemy zarządzania Bazą danych (DBMS) – narzędzie umożliwiające dostęp i zarządzanie bazami danych
Pielęgnacja danych(aktualizacja, modyfikacja)
Wyszukiwanie danych
Kontrola danych
System zarządzania bazą danych może istnieć bez bazy danych, ale nigdy na odwrót
Jak wybrać system zarządzania:
Zgodność z systemami operacyjnymi
Łatwość użycia
Jak wygląda serwis ( dobra instrukcja, kontakt z serwerem, naprawa przez serwer)
Wykład 20.11.2013r.
Indeksowanie: poprawa szybkości dostępu bez zmiany struktury danych, minimalizacja operacji we/wy;
Dostęp w kolejności zdefiniowanej (dostęp sekwencyjny)
Wg pola indeksu (dostęp bezpośredni)
Testy istnienia
Typy indeksów:
Indeks gęsty – zapisują każdy rekord (klucz główny) i odwołują się bezpośrednio
Indeks rzadki – podajemy wartość pola, które indeksujemy (klucz główny)
Indeks grupowy (klastrowy)
Indeks niegrupowy (max 249 można stworzyć)
Klaster – grupowanie danych tematycznych
SQL
Dwa sposoby wykorzystania SQL:
SQL Interaktywny – bezpośrednie wykonywanie operacji na bazie danych
EMBEDDED –osadzony, zagnieżdżony SQL, definiowanie działań w ramach programu użytkowego (inne języki programowania), zadania interaktywnego SQL
Język SQL:
Typy poleceń języka SQL:
Polecenia DDL – definiujemy dane, tabelę, poszczególne pola,
Polecenia DCL – definiujemy zabezpieczenia, uprawnienia
Polecenia DML – pozwala zadawać pytania, modyfikacja i aktualizacja danych
Wstawianie nowego rekordu,
Typy danych:
CHAR< VARCHAR
NCHAR, NVARCHAR
BEGINT
INT
SMALLINT
TINYINT
BIT
Wykład 4.12.2013
FUNKCJE GRUPOWE:
COUNT(nazwa atrybutu/ *)
AVG(nazwa atrybutu/wyrażenie)
MAX(nazwa atrybutu/wyrażenie)
MIN(nazwa atrybutu/wyrażenie)
SUM(nazwa atrybutu/wyrażenie)
PERSPEKTYWA tabela, którą tworzymy z danych z istniejących danych.
TWORZENIE PERSPEKTYW:
CREATE VIEW nazwa perspektywy
AS zdanie SELECT
Np.: na podstawie danych z tabeli PRACOWNICY tworzenie perspektywy KOBIETY
CREATE VIEW kobiety
AS SELECT *
FROM pracownicy
WHERE płeć=„k”
Wyszukiwanie danych z wielu tablic:
warunki złączania we frazie WHERE
PODZAPYTANIA SKORELOWANE – system oddaje mi wiele wartości wyniku funkcji grupowej pewnych danych (konieczność użycia aliansów)
ZŁĄCZENIA ZEWNĘTRZNE – w odpowiedzi otrzymujemy rekordy z selekt-u
Wykład 15.01.2014r.
Normalizacja jest to proces identyfikowania logicznych związków między atrybutami:
Eliminowanie redundancji
Unikanie anomalii aktualizacji, istnienia, ustawienia,
Stworzenie projektu, który jest poprawna reprezentacja świata rzeczywistego
Definicja danych elementarnych
Stworzenie modelu, w którym różne procesy pracują na tych samych danych
Związki zależności determinowania:
Zależności funkcyjne (jednowartościowe): odwzorowanie 1:1 miedzy elementami A i B (A B);
Zależności nie funkcyjne: dla każdej wartości elementu danych A istnieje ograniczony zbiór elementów danych; odwzorowanie A:N
Akomodacja to przekształcenie diagramu zależności w strukturę tabel.
Każdy funkcyjnie determinujący element staje się kluczem głównym relacji
Proces normalizacji:
1 NF – relacja zawiera tylko wielkości skalarne
2 NF – jest w 1 NP. każdy atrybut niekluczowy jest bezpośrednie zależny od klucza (nie są zależne od siebie)
3 NF – jest w 2 NF, wszystkie niekluczowe atrybuty są wzajemnie niezależne
BCNF – każdy wyznacznik jest kluczem kandydującym; klucze kandydujące to jedyne elementy determinujące.
4NF – jest w BCNF; wszystkie zależności są funkcyjne, wychodzą z kluczy kandydujących
5NF – ostateczna jeśli chodzi o redukcję rzutów i złączeń
PRZYSIĘGA NORMALIZACJI:
Bez powtórzeń
Pola zależą od klucza
Od całego klucza
I niczego innego, tylko od klucza
HIERARCHICZNY MODEL DANYCH:
definicja danych
typy rekordów
związki: nadrzędny, podrzędny
operowanie danymi
integralność danych
SIECIOWY MODEL DANYCH:
definicja danych
typy rekordów
typy kolekcji (SET….)
operowanie danymi
integralność danych
członkostwo w kolekcji
tryb wstawiania
OBIEKTOWY MODEL DANYCH:
definicja danych
obiekty (agregacja , specjalizacja)
klasy obiektów
dziedziczenie
operowanie danymi
metody
komunikaty (np. wartość stażu pracy wynosi … lat, wykonuje daną metodę – jawny)
integralność danych
klasa-klasa
klasa-obiekt wewnętrzna
dziedziny
referencyjna dziedziczenie cech z klasy
dodatkowa