1.Co to jest Baza Danych?
Zbiór powiązanych ze sobą logicznie danych, zorganizowany zgodnie z określonym modelem danych. Baza Danych jest zarządzana przez system komputerowy, który powinien wypełniać następujące f-cje:
-trwałe i niezawodne przechowywanie dużych ilości danych.
-efektywny dostęp do żądanych informacji.
-możliwośc modyfikowania danych.
-zagwarantowanie logicznej spójności informacji.
-ochrona informacji.
~System baz danych - Wiele baz danych zarządzanych przez jeden system komputerowy.
~System zarządzania bazami danych(DBMS)-Oprogramowanie zarządzające systemem baz danych.
2.Składniki systemu baz danych.
-System Baz Danych = Trwała pamięć zewnętrzna+System Zarządzania Bazami Danych+Język zapytań
Trwała pamięć zewnętrzna: Urządzenie sprzętowe przechowujące dane.
System Zarządzania Bazami Danych: Oprogaramowanie zarządzające dostępem do danych
Język zapytań: Język wysokiego poziomu, za pomocą którego użytkownik komunikuje się z bazą danych.
3.Funkcje DBMS:
- Realizacja operacji dostępu do danych na poziomie fizycznym.
- Zapewnienie integralności danych.
- Obsługa współbieżności.
- Ochrona danych.
- Odtwarzanie po awariach.
- Śledzenie operacji dokonywanych na bazie danych.
- Obsługa rozproszenia.
- Obsługa przetwarzania równoległego.
4.Język zapytań:
DDL - Język definiowania danych. Definiuje struktury danych, na których oprują instrukcje DML.
DML - Język manipulowania danymi. Wykonuje operacje na danych zdefiniowanych przez DDL.
DCL - Język kontrolowania danych. Kontroluje uprawnienia dostępu do danych.
5.Zadania DBA (Administrator Bazy Danych).
- Udzielanie uzytkownikom i grupom użytkowników uprawnień dostępu do bazy danych.
- Monitorowanie wydajności bazy danych.
- Definiowanie strategii archiwizowania i odtwarzania danych po awariach.
- Uruchamianie nowych strategii dostępu do danych. Itd.
6.Słownik Danych: Specjalna baza danych zawierająca informacje o danych przechowywanych w innych bazach danych.
Zawartość Słownika Danych:
- Opisy struktury obiektów bazy danych
- Opisy użytkowników
- Definicje formatów danych stosowanych w bazie danych.
- Dane statystyczne o wartościach danych w bazie danych.
7.Architektura Systemu Baz Danych.
- Poziom zewnętrzny(użytkownika) - Zbiór zewnętrznych widoków, poprzez które użytkownicy widzą zawartość bazy danych. Widok jest wyabstrachowanym fragmentembazy danych zdefiniowanym w terminach języka zapytań.
- Poziom logiczny(modelu danych) - Zawiera model konceptualny bazy danych. Model ten obejmuje całą zawartość bazy danych, tak jak ją widzi administrator lub właściciel bazy danych.
- Pozim wewnętrzny(fizyczny) - Fizyczna reprezentacja bazy danych w postaci plików dyskowych i algorytmów dostępu do nich. Jest to reprezentacja niskiego poziomu.
8.Zależność i niezależność.
Program jest zależny od danych, jeśli wiedza na temat struktur danych i metod dostępu do nich jest wbudowana w program. Tzn. nie jest możliwa zmiana struktur danych i metod dostepu do danych bez zmian w programie.
Niezależność jest sytuacją odwrotną: Logika programu nie zależy od struktur danych i metod dostępu stosowanych w systemi baz danych.
9.Encja.
Pojęcie bazowe (niedefiniowalne). Podstawową cechą encji jest to, że jest rozróżnialna od innych encji.
10.Własności klucza encji.
- Jednoznaczność - Nie istnieją takie 2 encje w zbiorze encji, które mają takie same wartości atrybutów kluczowych. Wartość klucza jednoznacznie identyfikuje encję.
- Minimalność - Nie można z klucza usunąć żadnego atrybutu bez naruszenia wymogu jednoznaczności. Każda składowa klucza żłożonego jest potrzebna.
- Klucz główny relacji jest arbitralnie wybranym kluczem kandydującym relacji. Pozostałe klucz jeśli istnieją są kluczami altermatywnymi. (Każda relacja ma klucz główny).
11.Integralność encji.
Żaden atrybut wchodzący w skład klucza głównego relacji nie może przyjmować wartości pustych(NULL).
12.Reprezentacja zbiorów encji.
Każdy zbiór encji reprezentujemy jako oddzielną relację o kluczu głównym równym kluczowi głównemu zbioru encji.
13.Reprezentacja związków pomiędzy zbiorami encji.
Związki „jeden do jeden” - Reprezentujemy przez klucz obcy wstawiony do dowolnej z dwóch relacji.
Związki „jeden do wiele” - Reprezentujemy przez klucz obcy wstawiony do relacji po stronie n związku.
Związki „wiele do wiele” - reprezentujemy przez oddzielną relację o kluczu będącym złożeniem kluczy głównych związanych zbiorów encji.
1.SQL
SELECT - Określa, które kolumny z tablic podanych we frazie FROM mają zostać włączone do wyniku(projekcja).
DISTINCT - Powoduje wyeliminowanie duplikatów.
FROM - Określa tablice, na jakich działa instrukcja SELECT.
WHERE - Określa warunki wybory wierszy z tablic wymienionych we frazie FROM.
GROUP BY - Powoduje wiązanie wierszy wynikowych w grupy o jednakowych wartościach we wskazanych kolumnach, a następnie redukowanie tych grup do pojedynczych wierszy.
HAVING - Określa warunki wyboru dla wierszy powstałych w wyniku działania frazy GROUP BY.
UNION - Oblicza sumę wyników dwóch instrukcji SELECT, eliminując duplikaty.
ORDER BY - Porządkuje wiersze wynikowe rosnąco lub malejąco wg wartości wskazanych kolumn/wyrażeń.
PROJECT - Wybiera tylko określone atrybuty.(Operacja projekcji).
JOIN - Operacja złączenia.
2.Funkcje agregujące:
COUNT() - Zwraca liczbę wierszy wybranych w zapytaniu.
AVG() - Oblicza średnią arytmetyczną w kolumnie numerycznej.
SUM() - Sumuje wartości kolumn numerycznych.
MIN() - Znajduje wartość minimalną w kolumnie znakowej, numerycznej lub daty.
3.Operatory specjalne
IN - Sprawdza, czy wartość w kolumnie jest równa jednej z wartości określonej na liście wartości lub będących wynikiem instrukcji SELECT.
BETWEEN - Sprawdza, czy wartość w kolumnie jest zawarta w przedziale wartości.
LIKE - Porównuje zawartość kolumny znakowej z łańcychem znaków, który może zawierać symbole wieloznaczne.
CONTAINS - Sprawdza, czy wartość w kolumnie znakowej zawiera wskazany łańcuch.