sbd_notatki

sbd_notatki
0 Downloads

Sprawdzian (test+otwarte+dopasowanie) 30.01.2017 dotyczy:

Podział zagrożeń dla bazy danych i sposoby przeciwdziałania im

Wraz ze wzrostem popularności baz danych i coraz częstszym ich używaniem w bankach, serwisach internetowych, agencjach rządowych stają się one coraz bardziej atrakcyjnym celem dla krakerów oraz osób i instytucji, dla których dane te są cenne. Ataki na bazy danych to nie tylko próby odczytu chronionych informacji, ale także próby modyfikacji danych lub ich zniszczenia. Oprócz zagrożeń wynikających z bezpośrednich działań ze strony człowieka, można wyróżnić zagrożenia związane z awariami sprzętu, oprogramowania oraz brakiem właściwych zabezpieczeń systemów informatycznych przed awariami lub odcięciem zasilania. Jednym z najważniejszych zadań na etapie implementowania baz danych jest właściwe i kompleksowe zaproektowanie zabezpieczeń. Projekt zabezpieczeń systemu baz danych powinien eliminować jak najwięcej zagrożeń systemu baz danych, być elastyczny w zakresie jego rozbudowy oraz zawierać procedury postępowania na wypadek awarii. W rozdziale tym zostaną przedstawione i sklasyfikowane zagrożenia dla systemów baz danych, metody przeciwdziałania im oraz podane informacje dotyczące sposobów zabezpieczania baz danych (MySQL, PostgreSQL, Access). W celu usystematyzowania zagrożeń i technik ochrony danych opracowano standardy bezpieczeństwa telefinformatycznego. Standardy wskazująca na najlepsze praktyki zabezpieczeń: BS 7799-1, ISO/IEC 13335 należą do grupy wytycznych dla budowania systemów. Istnieją również standardy bezpieczeństwa, na których bazuje się podczas przeprowadzania certyfikacji: CC, ITSEC, TSEC, BS 7799-2. W Polsce: Polskie Normy (PN). Zacznijmy od charakteru baz danych, dla których zabezpieczenia będziemy projektować. Innych zabezpieczeń wymagają bezy danych banków (przechowujące numery kart kredytowych, dane osobowe, informacje o przelewach elektronicznych), a innych bazy danych z tytułami książek domowe biblioteczki. Administrator baz danych ma obowiązek odpowiednio zabezpieczyć dane podlegające ochronie ustawowej (dane osobowe, utwory objęte prawami autorskimi itp.). Ataki na bazę danych można podzielić na dwie grupy: Ataki pasywne polegające na prowadzeniu nasłuchu sieciowego, podglądaniu. Atakujący może: podejrzeć hasło wpisywane na klawiaturze, śledząc naciskane klawisze, nagrywać moment wpisywania hasła kamerą, umieścić urządzenie lub program keylogger, prowadzić nasłuch w sieciach radiowych i telefonicznych, przechwytywać emaile lub pliki, analizować ruch sieciowy i na tej podstawie dekodować zabezpieczenia. Ataki aktywne wiążą się z modyfikacją danych i ingerencją w obrębie sieci lub systemu informatycznego ze strony osoby atakującej. Najbardziej znane typy ataków aktywnych to: podszywanie się pod osobę, komputer, urządzenie uprzywilejowane; powtórzenie użycia hasła w innych miejscach; modyfikacja komunikatu (zmiana fragmentu komunikatu lub jego opóźnianie), blokada działania usług poprzez przeciążenia, przeładowania, zagłuszania lub fizyczne zniszczenie medium transmisyjnego. Istotnym elementem zabezpieczenia systemu jest zapewnienie mu ciągłości pracy. Nawet dobrze zaprojektowany system wyposażony w awaryjne zasilacze i/lub agregaty prądotwórcze powinien mieć rówież zabezpieczenia w postaci odpowiednio często wykonywanych kopii zapasowych, a w przypadku szczególnie istotnych danych kopie zapasowe powinny być przechowywane w odpowiednio zabezpieczonych miejscach. Ważne jest, aby miejsce przechowywania kopii chroniło systemy na wypadek klęsk żywiołowych, kradzieży i ataków terrorystycznych, w związku z tym miejsce przechowywania danych powinno być odpowiednio odległe geograficznie.Oprócz powszechnie znanych typów ataków dość ciekawą grupę stanowią ataki elektromagnetyczne i terroryzm elektromagnetyczny. Pomijając zakłócenia elektromagnetyczne (stosowanie jammerów), stosowane są generatory mikrofal, bomby elektomagnetyczne, przenośne generatory mikrofal. Ataki polegające na generowaniu pola elektromagnetycznego mogą powodować również niszczenie danych i urządzeń, wpływać na ich wydajność, generować błędy. Technologie ataków elektromagnetycznych często wykorzystują zjawiska podsłuchu, nasłuchu elektromagnetycznego w celu podejrzenia obrazów generowanych na monitorach komputerów stacjonarnych, a nawet laptopach firm bądź instytucji, które nie są zabezpieczone na taką ewentualność. Podniesienie bezpieczeństwa serwera można osiagnąć przez modyfikację plików konfiguracyjnych. Opcje mające wpływ na bezpieczeństwo: authentication_timeout(integer) – w sekundach maksymalny czas na uwierzytelnienie; ssl(boolean) – włączenie bezpiecznych połączeń SSL pod warunkiem użycia protokołu TCP/IP oraz uruchomienia podczas startu serwera; ssl_renegotiation_limit(integer) – wartość wskazuje na ilość danych, jaka może być przesłana przez połączenie szyfrowane SLL przed powtórnym negocjowaniem połączenia i wymianą kluczy szyfrujących; ssl_ciphers(string) – używana do selekcji algorytmów szyfrujących ktorych można użyć w celu zabezpieczenia połączenia.

Zabezpieczenia dostępu do danych (zarządzanie bezpieczeństwem)

Polityka bezpieczeństwa to inaczej strategia określenia dostępu do danych.

Elementy polityki bezpieczeństwa dla SZBD:

1. POLITYKA POUFNOŚCI – użytkownik nie może podglądać danych przechowywanych przez innych użytkowników i danych, do których nie powinien mieć dostępu.

2. POLITYKA ZACHOWANIA SPÓJNOŚCI – wymaga nałożenia na każdego z użytkowników ograniczeń dotyczących modyfikacji danych, do których zmiany nie powinien mieć dostępu.
3. POLITYKA DOSTĘPNOŚCI – umożliwia jak najlepszy dostęp do tych danych, do których użytkownik ma przyznane uprawnienia.

4. FIZYCZNA OCHRONA serwerów w budynku, obiekcie.

Dwa sposoby przyznawania uprawnień:

a) uznaniowy – administrator używa klauzul SQL: GRANT do przyznawania, REVOKE do odbierania uprawnień;

b) definiowanie roli – za pomocą klauzuli SQL: SET ROLE, na przykład:

Kategorie bezpieczeństwa w modelu Bell-La Padula:

– Top secret > Secret > Confidential > Restricted > Unclassified

ściśle tajne > tajne > poufne > do użytku wewnętrznego > jawne

WADA: nie zapewnia spójności danych, tylko kontroluje dostęp

Co to jest logowanie?

– uwierzytelnienie się za pomocą nazwy użytkownika i hasła

Jak nazywa się baza danych i tabela w MySQL, która przechowuje informacje o uprawnieniach?

– tabela user w bazie danych mysql

USER

WPISAĆ NAZWĘ UŻYTKOWNIKA

PASSWORD

HASŁO

SELECT_PRIV

PRAWO DO ODCZYTU DANYCH

INSERT_PRIV

PRAWO DO WSTAWIANIA DANYCH

UPDATE_PRIV

PRAWO DO MODYFIKACJI ZAWARTOŚCI TABEL

DELETE_PRIV

PRAWO DO USUWANIA

CREATE_PRIV

PRAWO DO TWORZENIA

DROP_PRIV

PRAWO DO KASOWANIA TABEL

RELOAD_PRIV

UPRAWNIENIE DO UŻYWANIA SKŁADNI FLUSH, KTÓRA PRZESYŁA DO SERWERA INFORMACJE O POWTÓRNYM ZAŁADOWANIU DO PAMIĘCI TABEL GRANT; = FLUSH-PRIVILEGES

SHUTDOWN_PRIV

PRAWO DO WYŁĄCZENIA SERWERA MYSQL

PROCESS_PRIV

PRAWO DO UŻYCIA KLAUZULI PROCES, NP. SHOW PROCESSLIST

FILE_PRIV

PRZYWILEJ UMOŻLIWIAJĄCY ODCZYT I ZAPIS PLIKÓW NA KOMPUTERZE, NA KTÓRYM ZAINSTALOWANY JEST SERWER MYSQL

GRANT_PRIV

PRZYWILEJ UMOŻLIWIANIA INNYM PRZYDZIELANIA POSIADANYCH PRZEZ SIEBIE UPRAWNIEŃ

REFERENCES_PRIV

PRZYWILEJ NIEUŻYWANY (TWORZENIE OGRANICZEŃ W POSTACI KLUCZY OBCYCH, KTÓRE ODWOŁUJĄ SIĘ DO KLUCZA GŁÓWNEGO INNEJ TABELI ALBO DO KLUCZA UNIKATOWEGO)

INDEX_PRIV

PRZYWILEJ DAJĄCY MOŻLIWOŚĆ TWORZENIA LUB USUWANIA INDEKSÓW TABEL

ALTER_PRIV

PRZYWILEJ MODYFIKACJI TABEL

SHOW_DB_PRIV

PRZYWILEJ ODCZYTU BAZ DANYCH POLECENIEM SHOW DATABASES

SUPER_PRIV

PRZYWILEJ ZEZWALAJĄCY NA UŻYCIE POLECEŃ: CHANGE MASTER TO, KILL LUB MYSQLADMIN_KILL, BY ZABIĆ PROCESY NALEŻĄCE DO KONT INNYCH UŻYTKOWNIKÓW. POZWALA RÓWNIEŻ NA MODYFIKACJĘ GLOBALNYCH ZMIENNYCH SYSTEMOWYCH ZA POMOCĄ SET GLOBAL, WYKONYWANIE AKTUALIZACJI NAWET W TRYBIE READ_ONLY. UMOŻLIWIA URUCHOMIENIE I ZATRZYMANIE REPLIKACJI PODRZĘDNYCH SERWERÓW, WYKONYWANIE POŁĄCZEŃ NAWET PRZY WYCZERPANIU LIMITU JEDNOCZESNYCH POŁĄCZEŃ USTAWIONYCH PRZEZ ZMIENNĄ MAX_CONNECTIONS

CREATE_TMP_TABLE_PRIV

UPRAWNIENIE DO TWORZENIA TABEL TYMCZASOWYCH

itd.

==========================

Test 9.01.2017 dotyczy zrozumienia i ogólnej znajomości zagadnień:

1. zasady dotyczące zarządzania projektem podczas prac związanych z tworzeniem
bazy danych
-Analiza potrzeb klienta
-Wysoka Efektywność
-Analiza aktualnego systemu
2. Cykl życiowy bazy danych
Uporządkowanie etapów prac pozwala pamiętać o
każdej elementarnej fazie realizacji projektu
np. zabezpiecznie baz danych, testowanie wydajności.
3.
Model srodowiskowy wyznacza granice między rzeczywistościa nadzqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqaaaaaorowaną przez
system i bedąca poza jego kontrolą.
4.
Model funkcjonalny
Wyrozniamy nastepujace modele:
-kaskadowe
-prototypowy
-przyrostowy
-spiralny
5.
Model kaskadowy opiera sie na schemacie kolejno wykonywanych czynnosci:
-Planowanie
-Analiza systemu
-projekt systemu
-Implementacja
-testowanie
-Faza wdrozenia i pielegnacji
Nie można rozpocząć kolejnej fazy jeżeli poprzednia nie została zakończona eo
6.
Model prototypowy umożliwia łatwe wprowadzenie zmian, wcześniejsze
przeprowadzenie szkoleń oraz zapoznanie klienta z wyglądem i działaniem oprogramowania.
Ten Model jest lepszy pod względem ekonomicznym od kaskadowego.
Wada tego modelu to koszt budowy który może być odrzucony przez klienta.
7.
Model przyrostowy rozpoczyna się od określenia wymagań klienta i wykonania
ogólnego projektu programu (wersja okrojona).
Model ten ukierunkowany jest na rozbudowę funkcji programu.
Zaletą tego modelu jest elastyczna forma pracy nad oprogramowaniem, wysoka
modułowość i możliwość wykorzystania funckji powtórnie podczas tworzenia
oprogramowania dla innych klientów. Tworzenie poszczególnych funkcji przebiega
niezależnie. Wada = koszty,potencjalne trudności w implementacji nowych funkcji.
8.
Model spiralny jest przeznaczony dla dużych kosztownych projektów korporacyjnych.
Jego założeniem jest przedstawienie procesu tworzenia oprogramowania w formie
spirali, w której każda pętla symbolizuje jedną fazę procesu.
4 fazy
Ustalenie celów
identyfikowanie i rozpoznanie ryzyka
wytwarzanie i testowanie
planowanie kolejnej fazy
9. analiza dokumentów funkcjonalnych u klienta
Analiza wstępna wyznacza cel i zastosowanie aplikacji,powstaje w wyniku
rozmów z klientem i określenia listy zadań, które będą realizowanie
przez aplikację
Etap ten przygotowuje do rozpoczęcia prac nad tworzeniem dokumentacji
projektowej.
10.Dokumentacja projektowa
Sporządzenie jej pozwala zapoznać się z obrazem projektu osobom,które włączono
do projektu na etapie tworzenia.Dokumentacja taka zwykle zawiera:
nazwę projektu,okoliczności jego tworzenia,potrzeby uzasadniające tworzenie
oprogramowania.Dołącza się do niej również opis zadań realizowanych przez
oprogramowanie, szacowany czas wytworzenia produktu,środki finansowe.

OPTYMALIZACJA BAZY DANYCH polega na utrzymaniu BD w stanie, w którym może ona zapewnić maksymalną szybkość działania przy wykorzystaniu minimalnych zasobów sprzętowych.

Podczas optymalizacji należy uwzględnić budowę i charakterystykę sieci komputerowej, w której baza będzie pracować, przeznaczenie bazy i jej obciążenie liczbą zapytań i liczbą danych.

Optymalizacja BD dotyczy:

– przestrzeni dyskowych systemów plików

– szybkości dostępu do danych podyktowanej również uwarunkowaniami sprzętowymi

– wydajności kwerend

– efektywności i prawidłowości ustalenia indeksów

Optymalizacja BD w fazie projektu:

– określenie koniecznych danych

– ustalenie kluczy głównych, obcych i relacji między tabelami

– zdefiniowanie właściwości typów kolumn i relacji

– określić przepływ informacji na podstawie związków między tabelami

– normalizacja tabel i relacji

Testy dla BD:

– obciążenia

– wydajności

– obciążenia próbnego

– przeciążenia (warunków skrajnych)

– pojemnościowe

– długoterminowy test przeciążenia skrajnego

– test przeciążenia pojedynczej funkcji

Audyt BD polega na obserwowaniu pod kątem bezpieczeństwa operacji przeprowadzanych przez użytkowników BD.

Złączenia tabel A i B powodują zwiększenie ilości odczytywanych krotek o liczbę krotek z dołączonej tabeli.

Typy integralności BD:

– integralność encji – nie ma 2 identycznych krotek

– integralność domeny – w kolumnie są dane tego samego typu

– integralność referencyjna – powiązane tabele są równocześnie zwiększane o dane

Ograniczenia:

– klucz główny

– klucz obcy

– klucz kandydujący

Standardy w realizacji projektow SZBD:

– kod – słowa kluczowe SQL dużymi literami, a identyfikatory (BD, tabel, kolumn) małe litery

– nazewnictwo kolumn – klucz główny musi być ID; unikamy spacji

– tabele – muszą mieć klucz główny

 

OPTYMALIZACJA KONFIGURACJI SERWERA BD

Efektywność serwera BD zależy od:

– projektu BD

– zasobów sprzętowych SZBD

Zalecenia do optymalizacji konfiguracji serwera BD:

SYSTEM OPERACYJNY I PAMIĘĆ:

– bazę danych należy oddzielić nie tylko logicznie, ale też fizycznie od systemu operacyjnego, np. przez użycie innego dysku fizycznego, gdyż częste operacje zapisu i odczytu wykonywane przez system operacyjny spowalniają pracę BD

– użycie 64-bitowych systemów operacyjnych pozwala na instalację większej ilości pamięci RAM

– dane są szybciej odczytane z pamięci operacyjnej niż z dysku

– unikajmy stronicowania – fragmentacji wewnętrznej pamięci logicznej (wirtualnej) na strony, a pamięci fizycznej na bloki. Blok pamięci fizycznej wielkości PAGE_SIZE nazywa się ramką .

– pamięć RAM powinna być podtrzymywana bateriami

– w systemie Linux zaleca się stosowanie 64-bitowego systemu plików XFS, który może okazać się bardziej wydajny niż ext2 lub ext3 —- zobacz, jak wypadł test wydajnościowy różnych systemów plików

System plików XFS jest wewnętrznie podzielony na następujące subwoluminy:

  • data subvolume – przechowuje dane (pliki),

  • naming subvolume – przechowuje metadane,

  • log subvolume – przechowuje metadane, które zostały zmodyfikowane ale odpowiadające im zmiany w data subvolume nie zostały jeszcze wprowadzone,

  • realtime subvolume – przechowuje dane do których może być wymagany dostęp z rezerwacją pasma.

SPRZĘT SZBD:

– unikać użycia dysków RAID5 i RAID programowych

– w macierzy RAID małe dyski pracują wydajniej

RAID (ang. Redundand Array of Independent Disks) to sposób połączenia dwóch lub większej ilości dysków twardych w jedną macierz, która zapewnia dodatkową funkcjonalność w porównaniu z oddzielnie podłączonymi pojedynczymi dyskami twardymi. Macierze RAID są powszechnie stosowane w rozwiązaniach serwerowych, dzięki nim uzyskujemy:

  • odporność na awarie,

  • zwiększenie prędkości transmisji w porównaniu z pojedynczym dyskiem,

  • zależnie od rodzaju pamięć widoczna jako jedno urządzenie.

RAID sprzętowy – w celu utworzenia tego rodzaju macierzy potrzebny jest specjalny dedykowany kontroler, do którego podłącza się dyski. Zaletą takiego rozwiązania jest oczywiście wydajność i brak dodatkowego wykorzystania zasobów procesora. Ten rodzaj macierzy jest polecany w przypadku, gdy potrzebna jest duża wydajność i niezawodność pamięci masowej. Wadą takiego rozwiązania jest oczywiście cena samego kontrolera

Nadmiarowa macierz RAID ma za zadanie chronić przed awariami dysków twardych. NIE JEST TO KOPIA ZAPASOWA Dlaczego? Kopia zapasowa – to pełny zrzut danych z pewnego punktu w czasie, który nie ulega już dalszym zmianom. Dzięki temu jest możliwość przywrócenia danych w przypadku ich uszkodzenia w późniejszym okresie. Rozważmy teraz macierz RAID1, która jest wyposażona w dwa dyski. Każdy w nich posiada dokładnie te same dane, mamy tutaj do czynienia z replikacją – w przypadku uszkodzenia jednego z nich można go wymienić i przywrócić macierz do działania z jednego z nadmiarowych dysków. Tego typu replikacja nie zapewnia jednak możliwości przywrócenia danych z pewnego punktu w czasie. Jeżeli uszkodzeniu ulegnie projekt nad którym pracowaliśmy to nie ma możliwości przywrócenia jego wcześniejszej wersji. Taką możliwość daje jedynie kopia zapasowa. Zatem posiadając nadmiarową macierz RAID mamy zapewnioną ochronę przez awarią dysku – nie przed uszkodzeniem danych. Dlatego też nigdy nie można z rezygnować z tworzenia kopii zapasowych.

SIEĆ:

– aby połączenie sieciowe było stabilne i wydajne należy użyć kart sieciowych i urządzeń zwiększających przepustowość

NARZĘDZIA CASE do baz danych – z tekstu, który znajduje się tutaj wyszukaj informacje na temat:

  1. znaczenie skrótu CASE
  2. do czego służą CASE
  3. różnica między inżynierią wstecz a do przodu w CASE
  4. przykład oprogramowania CASE
  5. co jest efektem użycia narzędzia CASE do baz danych?

 

 

 

 

 

====================================================

 

 

 

 

 

 

05.09.2016

Baza danych – zbiór danych uporządkowanych zgodnie z określonymi regułami.

DBMS – system zarządzania bazą danych

SZBD (DBMS)

SQL – struktualny język zapytań używany do tworzenia/modyfikowania baz danych

Obszar analizy bazy danych – fragment rzeczywistości opisany przez baze danych

Część intensjonalna – zbiór powstających w trakcie projektowania baz danych
Część ekstensjonalna – łączny zbiór danych

05.09.2016

  1. Trwalosc danych- mozliwosc przechowyania danych w pamieci masowej przez dlugi okres
    2. Niezależność danych-niezaleznosc struktury przechowywania danych od systemow zarzadzania danymi i platformy sprzetowej
    3. Ochrona danych-zapewnienie mechanizmu kontroli dostepu do danych
    4. Intelgralnosc danych-zapewnienie zgodnosci danych z rzeczywistoscia oraz akualizacji danych po obu stronach zwiazkow bedacych odzwierciedleniem rzeczywistosci
    5. Spójność danycg-poprawnosc danych oraz odporonsc na anomalie.

Bazy danych.
1.Baza danych – jest zbiorem danych oraz narzędzi systemu DBMS
(DataBase Management System – system Zarządzania Baża danych SZBD).
2.Trwałość danych – oznacza możliwość przechowywania danych w pamięci masowej (trwałej) komputera
3.Niezależność danych – Użytkownicy sa zabezpieczeni przed logicznymi zmianami.
DBMS – gwarantujący niezależność fizyczną – przejmuje na siebie zadanie określenia w jakim formacie
i jak dane bedą przechowywane na dysku.
4.Ochrona danych – baza danych oferuje mechanizmy kontroli dostępu do danych w sposób umożliwiający użytkowanie.
5.Integralność danych – zgodnośc z rzeczywistoscią.
6.Część intensjonalna – zbiór powstających w trakcie projektowania baz danych.
7.Część ekstensjonalna – to łączny zbiór danych.

System SZBD – obsługuje użytkowników bazy danych , umożliwiając im eksploatację oraz tworzenie baz danych.
*tworzenie struktur baz danych.
*wykonywanie operacji CRUD (Create , Read , Update , Delete)
*obsługa zapytań
*administracja bazą danych.

06.09.2016

model danych to zbiór reguł opisujących danych w bazie oraz dozwolonych operacji na danych.

Model jednorodny to model w ktorym wszystkie dane są umieszczone w jednej tabeli w jednym arkuszu.

Model hierarchiczny -opracowany na podstawie struktury drzewa

Model sieciowy- w tym modelu poszczegolne elementy mogą laczyc się z innymi tworzac kratownice (siec)

model postrelacyjny -obiektowy -w strukturze relacyjnej bazy danych mogą być przechowywane dane typu obiektowego

Model obiektowy opiera się na koncepcji projektow , gdzie obiekt jest odwzorowaniem rzeczywistosci i abstrakcji

model relacyjny podstawą modelu relacyjnego jest przechowywanie danych w tabeli skladajacej się z wierszy i kolumn

13.09.2016r.

Postulaty Codda:

  1. Postulat informacyjny dane są reprezentowane jedynie poprzez wartości atrybutów w wierszach tabel.
  2. Postulat dostępu – każda wartość w bazie danych jest dostępna poprzez podanie nazwy tabeli, atrybutu i wartości klucza podstawowego.
  3. Postulat dotyczący wartości NULL – dostępna jest specjalna wartość NULL dla reprezentacji zarówno wartości nieokreślonej, jak i nieadekwatnej, inna od wszystkich i podlegająca przetwarzaniu.
  4. Postulat dotyczący katalogu – wymaga się, aby system obsługiwał wbudowany katalog relacyjny z bieżącym dostępem dla uprawnionych użytkowników używających języka zapytań.
  5. Postulat języka danych – system musi dostarczać pełny język przetwarzania danych, który może być używany zarówno w trybie interaktywnym, jak i w obrębie programów aplikacyjnych, obsługuje operacje definiowania danych, operacje manipulowania danymi, ograniczenia związane

z bezpieczeństwem I integralnością oraz operacje zarządzania transakcjami.

  1. Postulat modyfikowalności perspektyw – system musi umożliwiać modyfikowanie perspektyw,

o ile jest ono semantycznie realizowalne.

  1. Postulat modyfikowalności danych – system musi umożliwiać operacje modyfikacji danych, musi obsługiwać operatory INSERT, UPDATE oraz DELETE.
  2. Postulat fizycznej niezależności danych – zmiany fizycznej reprezentacji danych i organizacji dostępu nie wpływają na aplikacje.
  3. Postulat logicznej niezależności danych – zmiany wartości w tabelach nie wpływają na aplikacje.
  4. Postulat niezależności więzów spójności – więzy spójności są definiowane w bazie i nie zależą od aplikacji.
  5. Postulat niezależności dystrybucyjnej – działanie aplikacji nie zależy od modyfikacji

i dystrybucji bazy.

  1. Postulat bezpieczeństwa względem operacji niskiego poziomu – operacje niskiego poziomu nie mogą naruszać modelu relacyjnego i więzów spójności.

13.09.2016

Sieciowa baza danych-Baza danych zapisana na kilku komputerach polaczonych ze soba.

Rozproszona baza danych-To taka baza ktora moze znajdowac sie na wielu komputerach polozonych nie tylko odleglych od siebie geograficznie miejscach, lecz takze w sieciach lokalnych

integralnosc danych-okreslana rowniez mianem spojnosc danych

jest to funkcja szbd, kotra gwarantuje, ze dane nie zostana usuniete lub zmienione w nieautoryzowany sposob

integralnosc encji-zgodnie z regułami integralności encji każda tabela powinna mieć klucz główny – kolumne, w której nie mogą wystapić wartości NULL oraz w której dane nie mogą się powtarzać

integralnosc referencyjna – związki te tworzą się przez umieszczenie kolumny klucza głównego tabeli w innej tabeli co nadaje kolumnie funkcje klucza obcego.

14.09.2016

SZBD – System zarządzania bazą danych. Oprogramowanie to umożliwia użytkownikom definiowanie, tworzenie i zarządzenia bazą danych oraz kontrolowanie dostępu do niej.

ANSIAmercian National Standards Institute.

Funkcje:

  1. 1. Niezależność danych.
  2. 2. Ochrona danych.
  3. 3. Ochrona spójności.
  4. Szybki dostęp do danych.
  5. 5. Tworzenie kopi zapasowych, zarządzanie nimi i odtwarzanie bazy danych.

16.09.2016

relacja- tabela

atrybut – kolumna

krotka- wiersz w relacji

encja- w modelu bazy danych inaczej relacja , element fragmentu rzeczywistości

dziedzina- zbiór wartości jakie może przynieść atrybut krotki

21.09.2016

KLUCZE klucz główny – wybrany, aby unikatowo identyfikowac krotki tabeli!
klucz kandydujący – superklucz składający się z minimalnej ilości kolumn unikatowo identyfikujących krotki relacji!
klucz prosty – składa się z jednej kolumny!
klucz złożony – składa się więcej niż jednej kolumny!
superklucz – kolumna lub zestaw kolumn jednoznacznie identyfikującą każdą krotkę tabeli!
klucz obcy – pochodzi z obcej tabeli „b”, używany do łączenia z tabelą „a”!
klucz potencjalny – inaczej klucz kandydujący!

CECHY trwałość – nie może zawierać wartości „null”!
unikatowość – niepowtarzalny sposób identyfikowania każdej krotki!
stabilność – wartości klucza nie podlegają zmianą!


postgreSQL – jeden z najstarszych i najlepiej sprawdzonych systemów bazodanowych
MySQL – przygotowuje przyszłych informatyków do stawiania pierwszych kroków w administracji i konfiguracji Systemów Zarządzania Bazami Danych

relacja – nazywamy jako tabele bazy danych pownieważ zawartość tabeli ulega ciągłym zmianom.

Iloczyn kartezjański – prosto liniowy układ współrzednych parach prostopadłych osi.

WIELOZNACZNOŚĆ POJĘCIA RELACJA

  1. PODZBIÓR ILOCZYNU KARTEZJAŃSKIEGO
  2. ZWIĄZEK MIĘDZY TABELAMI
  3. TABELA

 

projektowanie konceptualne to proces konstrukcji modelu danych używany niezależnie od fizycznych rozważań.
projektowanie logiczne – to proces konstrukcji modelu danych oparty na specyficznym modelu , ale niezależnym od DBMS.
modelowanie fizyczne – polega na tworzeniu modelu opisywanej rzeczywistosci i wyrażeniu jej za pomocą struktur danych oraz określeniu sposobów
dostępnych oferowanych przez SZBD
anomalia wstawiania danych – to dodanie nowej krotki oraz
anomalie usuwania – gdy usuniemy jeden z krotek , tracimy całą informację
anomalie modyfikacji danych – jeśli główna dana z krotki zostanie zmieniona to automatycznie bedzie trzeba zmienić resztę.
celem normalizacji jest zmieniejsze lub likwidacja redundacji danych w bazie danych

Zależność funkcyjna to sytuacja w relacji, gdy jednej wartości atrybutu A odpowiada tylko jedna wartość atrybutu B, ale jednej wartości atrybutu B może odpowiadać  wiele wartości atrybutu A.

A ——> B

Spełnione muszą być warunki:

  1. wystąpieniu wielokrotnemu wartości atrybutu A towarzyszy wystąpienie tej samej wartości atrybutu B;
  2. różne wartości A mają różne wartości B
  3. 1 i 2 są ponadczasowe.

Zależność funkcyjna może być:

1. PEŁNA – KOMPLET ATRYBUTÓW ZBIORU A UZALEŻNIŁ OD SIEBIE ATRYBUTY ZBIORU B (sytuacja: klucz glówny to kilka atrybutów).

A —————————-> B

2. PRZECHODNIA – zbiór atrybutów/atrybut A uzależnił od siebie B, a przez to pośrednio determinuje zbiór C.

A —–> B B —–> C A ——————> C

3. WIELOWARTOŚCIOWA – każda wartość atrybutów/atrybutu zbioru A determinuje więcej niż jedną wartość atrybutu zbioru B (sytuacja: zawartość pola z wartością atrybutu B nieznormalizowanej tabeli izolujemy w osobne pola)

A —–> >B                                     A ——-> >C

Po co normalizacja?

– by utrzymywać integralność danych (1 dana w jedno pole w tabeli)

– by spełnić warunki operacji algebry relacyjnej

Postacie normalne tabeli:

1 NF

2 NF Frank Codd

3 NF

BCNF-Frank Codd Rayound Boyce 1971r.

4 NF

5 NF

6 NF-Chris Date, Hugh Daven i Nikos Lorentzos w 2002r.

Po co denormalizacja?

-by zwiększyć wydajność baz OLAP (Online analitics processing)

-dla baz danych w w których powtórzenia danych ułatwiają podejmowanie decyzji

piersza postac normalna uzywana jest podczas
normalizacji bazy danych, aby tabela spelniala
wymagania pierwszej postaci normalnej musi
spelniac kryteria relacji.

druga postac normalna – kazda z kolumn tabeli jest
w pelni zalezna od klucza glownego i kazdego
atrybutu klucza glownego
Wszystkie kolumny zawierajace dane nienalezace do
klucza glownego mószom od niego zalezec i byc przez
niego jednoznacznie identyfikowane.

tabela jest zgodna z 3 postaciom normalnom gdy znajduje siem
jusz w drugiej postaci normalnej w skrucie kolumny tabeli mogom
zalezec jedynie od klucza glownego, a wzajemne zaleznosci
pomiedzy kolumnami nie nalezacymi do klucza ,wykluczaja 3 postac normalnom
Doprowadzenie tabel do 3nf uzyskujemy zwykjle za pomocom tworzenia tabel
slownikowych oraz tabel lacznikowych

postac normalna Boyce’a-Codda (postac normalna 3,5)
musi spelniac warunki pierwszej nf dla kazdej nietrywilnej zaleznosci
A->B w relacji (R) atrybut A jest nadkluczem

4 postac normalna jest silnejsza od postaci 3,5 poniwasz powtarzajace sie
dane w 3,5 (BCNF) byly zwiazane z wystepowaniem zaleznosci wielowartosciowych
w obrebie jednej relacji

postac pionta normalna nie zawiera zaleznosci zlaczeniowych.
(zrzutu – zlonczenia)

postac szósta wystepuja mniej lub bardziej powtarzalne przedziały czasowe.

bez-tytulu

Diagramy Chena (Entity-Relationship Model) abstrakcyjny, graficzny model projektu bazy danych i związków zachodzących między encjami.

bez-tytulu

DIAGRAMY VENNA I DIAGRAMY CHENA ILUSTRUJĄ INFORMACJE O LICZEBNOŚCI ZWIĄZKU (LICZBA INSTANCJI ENCJI) ORAZ UCZESTNICTWIE W ZWIĄZKU.

Relacja między tabelami BD jest zdefiniowana i logiczna, a ze względu na liczebność może być:

1:1 – każda krotka tabeli A łączy się tylko z jedną krotką tabeli B

1:N – każda krotka tabeli A łączy się z więcej niż jedną krotką tabeli B

M:N – każda krotka tabeli A łączy się z więcej niż jedną krotką tabeli B i jednocześnie każda krotka z tabeli B łączy się z więcej niż jedną krotką tabeli A

NOTACJA KURZEJ STOPKI = DIAGRAM MARTINA obrazuje relacje:

bez-tytulu

Stopnie uczestnictwa w związku:
opcjonalne (podczas projektowania diagramów encji, na linii obok związku, który jest obcjonalny umieszczamy kółko)
obowiązkowe (wymagane)

Więzy propagacji – wskazują, jakie działania zostały podjęte podczas modyfikowania wierszy                 tabeli powiązanej

Więzy propagacji dotyczą:
Pierwszą opcją jest ograniczenie możliwości usunięcia rekordu (wiersz tabeli, krotka) do czsu wystąpienia powiąznego z nim wiersz drugiej tabeli.
Kaskadowe usuwanie występuje, gdy podczas usuwania krotki pozostałe połaczenie z inną krotką w innych tabelach również zostaną usunięta-automatycznie.
Wtawianie NULL w przupadku usunięcia krotki tabeli głównej klucze w tabelach powiązanych zostaną ustawione na NULL.

 

Formularz( inaczej formatka ekranowa)- służy do wygodniejszego wprowadzania, edytowania oraz usuwania danych w tabeli.

Aplikacje bazodanowe- Udostępnia wszystkie dane zgromadzone w bazie danych z pomoca interfejsu graficznego. Służy do wykonywania interaktywnych akcji w odpowiedzi na inicjowane zdarzenia przez użytkownika. Ułatwia prace użytkownikowi poprzez możliwość przeprowadzania odpowiednich akcji, często związanych z graficznym interfejsem, dzięki temu użytkownik nie musi znać języków programowania.

Do składników baz danych należą: elementy dialogowe, umożliwiające podejmowanie interakcji i odpowiedzi na zdarzenia.

Funkcjami formularzy są: aktualizacja danych w bazach danych, drukowanie dokumentów z danymi,zabezpieczenie danych, utrzymanie integralności danych.

PERSPEKTYWY I KWERENDY

Kwerenda(query) – skierowanie zapytania do bazy danych (najczesciej acces)
wyróżnia się:
1 Perspektywe (kwerenda wybierajaca) – do jej zadan nalezy wybranie danych
zgodnych z zawartymi w niej kryteriami
2 Kwerenda Funkcjonalna – modyfikuje, usuwa, wstawia, reorganizuje dane
wyróżnia się kilka :
a) Kwerenda modyfikująca – modyfikuje dane w krotkach
wyróżnia się
-kwerenda usuwająca – usuwa cale wiersze w jednej bodz kilku tabelach
-kwerenda aktualizujaca – modyfikuje dane w jednej badz kilku tabelach
-kwerenda dołączająca – zestawia rekordy z jednej lub kilku tabel
do jednej lub kilku tabel
-kwerenda tworzaca tabele – tworzy nowe tabele z danych znajdujacych
w jednej lub kilku tabelach
b)Kwerenda krzyzowa -wyswietla zliczone wartosci z pol oraz uporzadkowuje
te wartosci w kolumny i wiersze

Etapy tworzenia BD:

1. Analiza danych.

2. Ustalenie celu funkcjonowania BD.

3. Modelowanie konceptualne (encje i związki encji):

– diagram Venna

4. Modelowanie logiczne ((j/w + atrybuty, klucze główne, klucze obce)

– diagram Chena

– diagram Martina

5. Modelowanie fizyczne (j/w + nazwy tabel, nazwy kolumn, typy danych)

– zapis w kodzie SQL (implementacja) w serwerze bazodanowym MySQL, w wyniku którego powstaje schemat relacji.

6. Normalizacja.

7. Projekt formularza.

8. Projekty kwerend.

9. Testowanie i ewentualne poprawki.