TRANSAKCJE:
1.POJECIE I WAAÅšCIWOÅšCI TRANSAKCJI CO TO JEST, WAAÅšCIWOÅšCI ACID.
Transakcja sekwencja logicznie powiązanych operacji na bazie danych, która przeprowadza
bazę danych z jednego stanu spójnego w inny stan spójny. Typy operacji na bazie danych
obejmują: odczyt i zapis danych oraz zakończenie i akceptację (zatwierdzenie), lub wycofanie
transakcji.
ACID zbiór właściwości, które gwarantują poprawne przetwarzanie transakcji w bazach
danych (atomicity, consistency, isolation, durability)
atomowość gdy część transakcji zawodzi, cała transakcja nie dochodzi do skutku stan bazy
danych pozostaje niezmieniony.
spójność każda transakcja musi przeprowadzać bazę z jednego poprawnego stanu do
innego. Każda wykonana operacja musi spełniać wszystkie zdefiniowane ograniczenia
(constrainty, kaskady, triggery
izolacja współbieżne wykonanie transakcji powinno skutkować stanem systemu, który mógłby
powstać w sytuacji gdyby transakcje te były wykonywane jedna po drugiej.
trwałość po zatwierdzeniu (commit) transakcji, rezultaty muszą być trwale zachowane
(niezależnie od błędów, awarii itd).
2.POLECENIA SQL ZWIAZANE Z PRZETWARZANIEM TRANSAKCYJNYM.
COMMIT zatwierdzenie zmian wykonanych w obrębie transakcji~
ROLLBACK odrzucenie zmian wykonanych w obrębie transakcji~
PROCEDURE procedura
EXCEPTION wyjÄ…tek
CHECKPOINT miejsce w transakcji
AUTOCOMMIT samoczynne commitowanie po instrukcjach
SAVEPOINT [nazwa] zdefiniowanie punktu pośredniego o określonej nazwie~
RELEASE SAVEPOINT [nazwa] skasowanie punktu pośredniego (nie wpływa w żaden
sposób na stan transakcji)~
ROLLBACK TO SAVEPOINT [nazwa] wycofanie transakcji do stanu zapamiętanego w
podanym punkcie pośrednim~
BEGIN lub BEGIN WORK rozpoczęcie transakcji~
PORZDKOWANIE BAZY DANYCH:
3. NA CZYM POLEGA SORTOWANIE BAZ DANYCH I W JAKIM CELU SIE SORTUJE.
Proces polegający na odpowiednim ułożeniu rekordów w tabeli bazy danych, który zależy od
przyjętego sposobu porządkowania tabeli; tabela bazy danych jest sortowana wierszami
(góra-dół), w czasie sortowania zmianie ulega kolejność wierszy w tabeli, nie zmienia się
natomiast kolejność kolumn; sortowanie może się odbywać według jednego wybranego pola lub
kilku pól rekordu. Stosuje się to w celu przyspieszenia oraz wyszukiwania danych.
Dane nieuporządkowane przeszukiwanie liniowe, złożoność O(n)
Dane uporzÄ…dkowane wykorzystujemy algorytm przeszukiwania binarnego O(log2(n))
Mechanizm porzÄ…dkowania
Sortowanie SORT: tworzy tabele nową z tą samą strukturą danych co w tabeli zródłowej i
sortuje dane według klucza sortowania
Klucze sortowania:
prosty(po kolumnach)
złożony (wiele kolumn, z tym ze sortuje według pierwszej kolumny, jeśli w kolumnie pierwszej
coś się powtarza, to sortuje według drugiej)
Wady sortowania:
Problem sortowania polega na duplikowaniu danych(te same dane w wielu tabelach).
Częste zmiany tabeli pierwotnej wymusza ponowne sortowanie.
4. INDEKSOWANIE BAZ DANYCH (RODZAJE INDEKSÓW) KLASYCZNY, BITMAPOWY.
Indeksowanie tworzy specjalna tabele która zbudowana jest z 2 kolumn(klucza indeksowania i
numeru wiersza). Dla każdego klucza indeksowania tworzy się odrębna tabela, więc do tabeli
przypisane są różne indeksy. Indeksy nie potrzebują dużej ilości pamięci (tylko dwie kolumny) i
nie kopiują całej tabeli. Raz uruchomione indeksowanie na serwerze działa do końca życia
serwera co spowalnia jego działanie przy dużej ilości indeksów.
Zalety:
" Samoczynna modyfikacja indeksów serwer utrzymuje aktualne indeksy
" Nie przestawia wierszów tabeli określa kolejność operacji na wierszach
Jest obiektem bazodanowym niezależnym logicznie i fizycznie od tabeli. Pozwala uzyskać
szybszy dostęp do danych. Indeksy zakłada się na kolumnę w tabeli, kilka kolumn naraz (do 32).
Bez nich wszystko będzie działać, jednak indeksy pozwolą nam szybciej dostać się do danych.
Indeksy przechowują wartości kolumn na które są nakładane, oraz ID wiersza.
Rodzaje indeksów
Btree : Najczęściej wykorzystywane indeksy. Wykorzystuje się je tam gdzie dane w kolumnach
na które zakłada się taki indeks są dość mocno zróżnicowane. Przykładowo nr pesel w tabeli ze
wszystkimi obywatelami Polski. Nie przechowuje wartości nullowych. Tworzenie:
CREATE INDEX NAZWAINDEKSU ON NAZWATABELI(NAZWAKOLUMNY)
Bitmapowe: Wykorzystuje je się tam gdzie jest małe zróżnicowanie danych np. nazwa
województwa w tabeli ze wszystkimi obywatelami Polski. Przechowuje wartości nullowe. Nie
występują w wersji Express Edition Oracle.
CREATE BITMAP INDEX NAZWAINDEKSU ON NAZWATABELI(NAZWAKOLUMNY)
Złożone: Składają się z większej niż jedna ilości kolumn. Stosuje się je kiedy w warunku where,
podczas łączenia tabel lub w grupowaniu występuje kilka kolumn naraz. Powinno się stosować
w indeksie taką kolejność kolumn jak występuje w zapytaniach.
CREATE INDEX NAZWAINDEKSU ON NAZWATABELI(NAZWAKOLUMNY1,
NAZWAKOLUMNY2)
Unikalne: Zakładane na te kolumny w których wartości są unikalne. Umożliwiają stosowanie
unique scan.
CREATE UNIQUE INDEX NAZWAINDEKSU ON NAZWATABELI(NAZWAKOLUMNY)
Funkcyjne: Oparte na funkcjach które przetwarzają zawartość kolumn na które są nakładane.
Stosuje siÄ™ je kiedy w tabeli mamy dane nieprzetworzone, a wykorzystujemy przetworzone w
zapytaniach.
CREATE INDEX NAZWAINDEKSU ON NAZWATABELI(NAZWAKOLUMNY*2)
ZACZENIA TABEL:
5. WEWNTRZNE, ZEWNTRZNE, SKAADNIA.
Złączenie wewnętrzne INNER JOIN
Jeżeli nie zostało to inaczej sprecyzowane, to domyślnie złączenie tabel w zapytaniu SQL jest
traktowane jako złączenie wewnętrzne (INNER JOIN lub po prostu JOIN) Złączenie wewnętrzne
kojarzy ze sobą rekordy występujące w dwóch lub więcej tabelach i zwraca w wyniku tylko
pasujące rekordy. Złączenie wewnętrzne może być zdefiniowane w sposób jasno określony
(wyrazny) lub domniemany. Złączenie domniemane jest bardziej intuicyjne i najczęściej
spotykane. Przykładowe zapytanie:
SELECT * FROM tab1, tab2
WHERE tab1.ID = tab2.ID/
SELECT * FROM tab1
INNER JOIN tab2
ON tab1.ID = tab2.ID
Złączenie zewnętrzne OUTER JOIN
Aączenie zewnętrzne tabel jest rozszerzeniem złączenia INNER JOIN. OUTER JOIN pozwala
na włączenie do tabeli wynikowej rekordów które kwalifikują się do tabeli wynikowej na podstawie
polecenia INNER JOIN i dodatkowo włączyć wybrane rekordy nie spełniające warunków
zapytania.
Złączenie zewnętrzne może przybrać następujące postacie:
ZÅ‚Ä…czenie lewe LEFT OUTER JOIN
W złączeniu zewnętrznym lewym zwracane są wszystkie wiersze występujące w tabeli
z lewej strony, a wiersze z prawej tabeli, które nie zostały znalezione, wypełnione są
wartościami null.
SELECT *
FROM Tab1
LEFT OUTER JOIN Tab2 ON Tab1.ID = Tab2.ID~
ZÅ‚Ä…czenie prawe RIGHT OUTER JOIN
W złączeniu zewnętrznym prawym zwracane są wszystkie wiersze występujące w
tabeli z prawej strony, a wiersze z lewej tabeli, które nie zostały znalezione, wypełnione
są wartościami null.
SELECT *
FROM Tab1
RIGHT OUTER JOIN Tab2 ON Tab1.ID = Tab2.ID~
Złączenie pełne FULL OUTER JOIN
W rezultatach zapytania SQL obecne są wiersze złączone wewnętrznie, rozszerzone o
rekordy nie zwrócone z obydwu tabel, wypełnione nullami
SELECT *
FROM Tab1
FULL OUTER JOIN Tab2 ON Tab1.ID = Tab2.ID ~
Należy zwrócić szczególną uwagę na fakt, że rekordy powstałe ze złączeń zewnętrznych
zwracają wartości null i należy je we właściwy sposób obsłużyć.
W języku SQL w bazie danych Oracle można również zastosować krótszy i prostszy sposób
definiowania złączeń zewnętrznych (OUTER JOINS) za pomocą znaku (+) , np:
LEFT OUTER JOIN:
SELECT tab1.*,tab2.Field1
FROM tab1, tab2
WHERE tab1.ID=tab2.ID(+)~
RIGHT OUTER JOIN:
SELECT tab1.*,tab2.Field1
FROM tab1, tab2
WHERE tab1.ID(+)=tab2.ID~
/? ZÅ‚Ä…czenia:
" Wewnętrzne (łączymy wiersze odpowiadające sobie w 2 różnych tabelach)
" Zewnętrzne
Wewnętrzne:
W złączeniach jest składnia klasyczna i złożona (complex). W złożonych definiujemy alieny (w
FROM)
i należy go potem używać.
Składnia ANSI : złączenia naturalne (2 tabel kolumnami o tej samej nazwie)~
wielu tabel (najpierw łączymy 2 a potem dokładamy trzecią)~
kartezjańskie.
Zewnętrzne (2 tabele złączone warunkiem):
SELECT a.1_tab, b.2_tab
FROM cos1 a, cos2 b
WHERE a1_tab_inne = b2_tab_inne
Składnia ANSI :
Left/Right/Full outer Join
other outer table Joins:
" SelfJoin
" Nonequality Joins (złączenia nierównościowe)
UNION suma bez powtórzeń ?/
6. PODZAPYTANIA SKORELOWANE, NIESKORELOWANE (WHERE, FROM).
Podzapytania w jednym SELECT pojawia się inny SELECT. Maksymalnie 255 zagnieżdżeń.
Skorelowane bierze wiersz po wierszu i porównuje jego zawartość z wynikiem podzapytania.
Nieskorelowane najpierw wykonuje się podzapytanie, a potem jego wynik jest używany jako
warunek wyboru wierszy przez zapytanie nadrzędne.
HURTOWNIE:
7. ARCHITEKTURA HURTOWNI DANYCH.
Schemat gwiazdy złożony z tabeli centralnej tabeli faktów (lub miar) zawierającej klucze
obce do tabel wymiarów oraz własne atrybuty zwane miarami. Tabele wymiarów dla schematu
gwiazdy posiadają postać zdenormalizowaną w wielu wierszach powtarzane są te same dane.
Płatek śniegu tabele wymiarów są znormalizowane (tzn posiadają strukturę hierarchiczną)
Konstelacji faktów schemat gwiazdy lub płatka śniegu w którym ten sam wymiar jest
powiązany z wieloma tabelami faktów
Schemat gwiazdypłatka śniegu schemat w którym część wymiarów ma postać
znormalizowaną a część ma postać zdenormalizowaną.
Schemat gwiazdy kaskadowej tabele wymiarów same w sobie mogą stanowić tabele faktów
dla innych tabel
Cechy hurtowni danych:
Zorientowana tematycznie na dane historyczne
Zintegrowana baza danych
Dane przechowywane w sposób pewny i nie do edycji
Przewidziana jest pod gromadzenie i analizÄ™ danych
Co jakiÅ› czas dostarczane sÄ… nowe dane hurtownia siÄ™ zmienia
Architektura hurtowni danych:
Podstawowy (basic)
Z etapem pośrednim (with a staging area)
Z etapem pośrednim i rynkiem danych (|| and Data Marts)
8. STRUKTURY BAZ DANYCH W HURTOWNIACH (TABELA FAKTÓW, TABELA
WYMIARÓW, WYMIAR, ZMATERIALIZOWANY WIDOK) + POLECENIE SQL. CO TO JEST I
JAK TO ZROBIĆ.
Tabela faktów:
Zawiera numeryczne miary
Posiada wieloatrybutowy klucz główny złożony z kluczy obcych odwołujących się do
wymiarów
Największy rozmiar spośród tabel tworzących gwiazdę (typowo zawiera ponad 90%
danych)
Jej rozmiar szybko się powiększa
Tabele wymiarów:
ZawierajÄ… atrybuty opisowe
Nadają znaczenie faktom (definiują przestrzeń faktów)
ZawierajÄ… dane rzadko podlegajÄ…ce zmianom (zmiany typu: pojawianie siÄ™ nowych
klientów, produktów)
Widok zmaterializowany:
Fizycznie istniejÄ…cy na dysku
Przechowuje wyniki analiz
Duża dostępność, w krótkim czasie.
Polecenia SQL:
CREATE DIMENSION [nazwa]
LEVEL [nazwa] IS ([products].[prod_id])
LEVEL [subcategory] IS ([products].[prod_subcategory]
LEVEL [category] IS (...)
HIERARCHY PROD_ROLLUP(...)
Wyszukiwarka
Podobne podstrony:
stasieńko,wytrzymalosc I, opracowanie zagadnień na egz[ASK] Opracowanie zagadnień na egzamin w trakcie składaniaOpracowanie Zagadnień na egzamin MikroprockiJasiorski, chemia ogólna, Opracowane zagadninia na kolowiumopracowanie zagadnień na w z filozofii kulturyAlgebra opracowanie zagadnień na egzamin 2011 (1)unold, inżynieria oprograamowania, opracowane zagadnienia na egzaminOpracowane Zagadnienia Na Egzamin Na Fir Ue WroclawStrasburger,Termodynamika chemiczna i materiałów, opracowane zagadnienia na egzaminzagadnienia na mikrobilogiiZagadnienia na kolokwium MiBM s7 dzienne 2013Lasy miejskie – przegląd wybranych zagadnień na podstawie literaturymechanika plynow opracowanie zagadnienzagadneinia na kolosawięcej podobnych podstron