BD - to kolekcja danych umieszczonych w określony sposób w strukturach odpowiadająca założonemu modelowi danych zbiór pamiętanych dan. używanych przez systemy użytkowe pewnego przedsi. kolekcja pozycji pamiętanych tak, że minimalizowana jest redundancja dan. a sposób pamiętania umożliwia na późniejsze ich użytkowanie mimo, iż wcześniej nie precyzowano sposobu ich użycia. Jest zintegrowana gdy zawiera dane nie jednego a kilku użytkowników.
SBD = < { S, BD, SO, SZBD, P }, R >
S - zbiór tych urządzeń, które bezpośrednio wykorzystywane są do pamiętania danych w bazie danych;
BD - baza danych (schemat, stan, ścieżki dostępu);
SZBD - System Zarządzania Bazą Danych;
P - zbiór poleceń użytkownika;
R - zbiór relacji określających powiązania między obiektami SBD oraz otoczeniem.
Dlaczego BD? - zmniejszenie redundancji pamiętanych dan. (integracja tych samych)-uniknięcie problemów niezgodności - dzielenie dan. między wielu użytkowników - wprowadzanie standardów - wprowadzanie ograniczenia dostępu do dan. - zachowanie integralności dan. -zapewnienie niezależności dan. od programów
Architektura SBD - poziomy (zewnętrzny = użytkownika, logiczny = modelu dan., wewnętrzny = fizyczny)
SZBD - to oprogramowanie bądź system informatyczny służący do zarządzania komputerowymi BD. SBD mogą być sieciowymi serwerami baz dan. lub udostępniać BD lokalnie.
Funkcje SZBD - 1. realizacja odwzorowań 2. oper. dostępu 3. zapewnienie integralności dan. 4. obsługa współbieżności i rozproszenia 5. ochrona dan. 6. śledzenie operacji 7. odtwarzanie po awariach
Umiejscowienie SZBD SZBD jest opracowany jako zbiór programów bibliotecznych i w czasie kompilacji jest łączony z programem użytkowym; SZBD jest rozszerzeniem tradycyjnego systemu zarządzania danymi systemu operacyjnego - jest więc w pełni zintegrowany z SO i dla programów użytkowych jawi się jako zestaw możliwości tego SO; SZBD zaprojektowany jest jako niezależne zadanie (proces), który wykonywany jest pod nadzorem systemu operacyjnego.
Normalizacja - polega na redukcji - głównym celem jest zmniejszenie redundancji i uniknięcie pewnych trudności towarzyszących operacjom aktualizacji; w celu przyspieszania można denormalizować.
PN - można przetwarzać z jednej w drugą bez żadnych strat w dan. | 1PN - gdy wszystkie dziedziny podstawowe zawierają jedynie atrybuty atomowe (należy 1. usunąć atrybuty wielowartościowe do nowej encji 2. skopiować unikalny identyfikator) | 2PN - gdy jest w I i każdy atrybut niekluczowy jest w pełni funkcjonalnie zależny od klucza głównego (należy 1. usunąć wszystkie częściowo zależne atrybuty do nowej encji 2. skopiować część identyfikatora) | 3PN - gdy jest w II i każdy atrybut niekluczowy jest nietranzytywnie (nieprzejściowo) zależny od klucza głównego (należy 1. usunąć atrybuty niezależne do nowej encji 2. ustawić identyfikator nowej encji) | 4PN - „Jeden fakt w jednym miejscu”
Rodzaje dan. - alfanumeryczne binarne dzielone masowe numeryczne pakowane przeterminowane statystyczne pierwotne statystyczne wtórne tajne tekstowe wejściowe wirtualne wyjściowe
Relacja - to dowolny podzbiór iloczynu kartezjańskiego nad danymi zbiorami. Nie musi być określona żadna relacja porządkowa. To dowolny, skończony podzbiór zbioru typu KROTKA(U).
Oper. na relacjach - Mnogościowe : suma, roznica, przekroj, dopełnienie ; relacyjne : projekcja, selekcja, zlaczenie, podzielenie
Klucz główny - atrybut, którego wartości jednoznacznie definiują krotki Klucz kandydujący - gdy kilka atrybutów ma własność identyfikacji Klucz obcy - jest nim pewien atrybut relacji R1, jeśli nie jest on kluczem głównym relacji R1 lecz jego wartości są wartościami klucza głównego innej relacji R2.
UPDATE `tab` SET `col1`='1', `col2`='2' WHERE `id`='5';
INSERT INTO `mytab` VALUES (1, 'a'), (2, 'b'), (3, 'c');
DELETE FROM `myTab` WHERE id=5;
SELECT COUNT(*) FROM `myTab`;
SELECT COUNT(*) FROM `myTab` WHERE `name`='marek';
ALTER TABLE `tab` ADD `col` int(11); //dodawanie kolumny
ALTER TABLE `tab` ADD `col` int(11) AFTER `col0`; // po col0
ALTER TABLE `tab` ADD `col` int(11) FIRST; // jako pierwszą
ALTER TABLE `tab` CHANGE `oldname` `newname` int(11);
SELECT * FROM `my_tab` ORDER BY random();
SELECT `col1` from `t1` UNION SELECT `col2` FROM `t2`;
DROP TABLE `table_1_name`, `table_2_name';
INSERT INTO nowatabela SELECT * FROM staratabela;
Rodzaje baz danych: proste : kartotekowe, hierarchiczne
Zlozone: relacyjne, obiektowe, strumieniowe, temporalne Model bazy danych to zbiór zasad (specyfikacji), opisujących strukturę danych w bazie danych. Określane są również dozwolone operacje. Definiuje się strukturę danych poprzez specyfikację reprezentacji dozwolonych w modelu obiektów (encji) oraz ich języki opisu i przetwarzania danych, w szczególności: diagramy struktur danych, języki opisu danych i języki zapytań; ogólne założenia dotyczące architektury i języków systemu bazy danych;