opracowanie zagadnień na bazy


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
B­tree : 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:
" Self­Join
" 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 gwiazdy­pÅ‚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ładania
Opracowanie Zagadnień na egzamin Mikroprocki
Jasiorski, chemia ogólna, Opracowane zagadninia na kolowium
opracowanie zagadnień na w z filozofii kultury
Algebra opracowanie zagadnień na egzamin 2011 (1)
unold, inżynieria oprograamowania, opracowane zagadnienia na egzamin
Opracowane Zagadnienia Na Egzamin Na Fir Ue Wroclaw
Strasburger,Termodynamika chemiczna i materiałów, opracowane zagadnienia na egzamin
zagadnienia na mikrobilogii
Zagadnienia na kolokwium MiBM s7 dzienne 2013
Lasy miejskie – przegląd wybranych zagadnień na podstawie literatury
mechanika plynow opracowanie zagadnien
zagadneinia na kolosa

więcej podobnych podstron