Baza danych - kocik-Bazy danych - Wujek_Misiek

advertisement
Baza danych.doc
(85 KB) Pobierz
Baza danych   zbiór informacji opisujĀcy wybrany fragment rzeczywistoŀci. Np. Dla sklepu: dane dotyczĀce sprzedawanych towarów w sklepie, klientów sklepu, pracowników, zamówieŀ
Schemat baz danych   okreŀla w jaka powinna byĀ struktura danych oraz w jaki sposób dane sĀ powiĀzane
System zarzĀdzania bazĀ danych (DBMS)   zbiór narzĀdzi pozwalajĀcy na dostĀp oraz na zarzĀdzanie jednĀ lub wieloma bazami danych
System baz danych   baza danych + DBMS
Model danych   zbiór ogólnych zasad posŀugiwania siĀ danymi
Cechy SZBD:
Masywny   możliwoŀĀ przechowywania TBs
Trwaŀy   dane nie znikajĀ
Bezpieczny   odporny na awariĀ
Wielu użytkowników   kontrola wielodostĀpu
Wygodny   niezależny od danych, wysokopoziomowy jĀzyk dostĀpu do danych
Efektywny   nawet tysiĀce zapytaŀ na sekundĀ
Niezawodny   ponad 99% dostĀpnoŀci
Â
Włałciwołci bazy danych:
Wspóŀdzielenie danych   wielu użytkowników tej samej bazy
Integracja danych   baza nie powinna mieĀ powtarzajĀcych siĀ bĀdź zbĀdnych danych
IntegralnoŀĀ danych   dokŀadne odzwierciedlenie obszaru analizy
TrwaŀoŀĀ danych   dane przechowywane przez pewien czas
Bezpieczeŀstwo danych   dostĀp do bazy lub jej czĀŀci przez upoważnionych użytkowników
Abstrakcja danych   dane opisujĀ tylko istotne aspekty obiektów ŀwiata rzeczywistego
NiezależnoŀĀ danych   dane niezależnie od aplikacji wykorzystujĀcych te dane
Â
Relacja   dwuwymiarowa tabela, jedyna struktura danych w modelu relacyjnym
Każda relacja posiada atrybuty   kolumny. OpisujĀ dane umieszczane w relacji
Schemat relacji   nazwa relacji wraz z atrybutami
Krotki   wiersze relacji zawierajĀce dane. Każdy atrybut ma swój odpowiednik w krotce
Cechy relacji:
jednoznaczna nazwa relacji
jednoznaczne nazwy kolumn (atrybutĂłw) relacji
ten sam typ wartoŀci w jednej kolumnie
porzĀdek kolumn w relacji nieistotny
niedozwolone powtĂłrzenia wierszy
nieistotny porzĀdek wierszy (krotek)
wartoŀci atomowe w polach relacji
Â
Reguły przekształcania
Encja  Relacja
Atrybut encji  Atrybut relacji
Typ danych atrybutu encji  Typ danych atrybutu relacji
Identyfikator  klucz podstawowy
ObowiĀzkowoŀĀ atrybutu  NOT NULL
OpcjonalnoŀĀ  NULL
Pozostaŀe ograniczenia atrybutĂłw encji  ograniczenia integralnoŀciowe relacji
1:1   klucz obcy po stronie (zwiĀzku obowiĀzkowego, mniejszej tabeli)
1:M   klucz obcy w tabeli po stronie wiele
N:M   nowa tabela
Â
Klucz gŀówny jedna lub wiĀcej kolumn identyfikujĀcych jednoznacznie każdy wiersz tabeli
Klucz kandydujĀcy   atrybut lub zbiór atrybutów identyfikujĀcych wiersze tabeli (musi byĀ jednoznaczny i nie zawieraĀ wartoŀci null)
Klucz obcy   kolumna bĀdź kolumny bĀdĀce kluczem gŀównym w innej tabeli, sposób ŀĀczenia tabel (np. numer studenta w tabeli Studenci i w tabeli Zaliczenia)
Nadklucz   podzbiór atrybutów w relacji od którego wszystkie pozostaŀe zależĀ funkcyjnie
Zbiór atrybutów (A1,…,An) tworzy klucz relacji jeżeli:
Pozostaŀe atrybuty sĀ funkcyjnie zależne od (A1,…,An)
Nie istnieje podzbiór zbioru {A1,…,An}, od którego pozostaŀe atrybuty sĀ funkcyjnie zależne (klucz musi byĀ minimalny)
Słabe encje   wymagania
Encje (F) dostarczajĀce klucza muszĀ byĀ w zwiĀzku (R) ze sŀabĀ encjĀ (E)
ZwiĀzek (R) binarny jeden (F) do wielu (E)
Atrybuty klucza E pochodzĀce z F muszĀ byĀ w kluczu F
Gdy F jest sŀabĀ encjĀ   atrybut klucza E może pochodziĀ z innych encji powiĀzanych z F zwiĀzkiem jeden do wielu
Â
Reguła zależnołci trywialnych
Typy zaleĹźnoŀci dla A1,…,An B1,…,Bm:
Trywialna   gdy B jest podzbiorem A
Nietrywialna   gdy choĀ jeden element ze zbioru B nie należy do A
Caŀkowicie nietrywialna   gdy żaden atrybut zbioru B nie należy do zbioru A
Reguŀa zależnoŀci:
Dla A1,…,An B1,…,Bm zbiĂłr B moĹźna ograniczyĀ do podzbioru elementĂłw nie należĀcych do A
Â
1FN   relacja jest w pierwszej postaci normalnej wtw gdy każdy atrybut jest zależny funkcyjnie od klucza relacji
2FN   relacja jest w drugiej postaci normalnej wtw gdy jest w pierwszej postaci normalnej oraz każdy atrybut niekluczowy jest w peŀni funkcyjnie zależny od klucza gŀównego (zależy o caŀego klucza, a nie od jego czĀŀci)
3FN   relacja jest w trzeciej postaci normalnej wtw gdy jest w drugiej postaci normalnej oraz gdy każdy niekluczowy atrybut relacji jest bezpoŀrednio zależny od klucza relacji
BCNF   relacja jest w postaci normalnej Boyce a   Codda wtw gdy dla kaĹźdej zaleĹźnoŀci nietrywialnej A1,…,An  B zbiĂłr {A1,…,An} jest nadkluczem tej relacji
4FN - Relacja jest w czwartej postaci normalnej wtw gdy: relacja jest w 3NF i kaĹźda zaleĹźnoŀĀ A1,…,An B1,…,Bm jest trywialna lub {A1,…,An} jest nadkluczem
Â
CREATE table nazwa(pole1 typ_danych1 ograniczenia1)
FOREIGN KEY (nazwa_pola) REFERENCES nazwa_tabeli(nazwa_pola1)
ALTER TABLE nazwa_tabeli ADD COLUMN pole typ_pola;
ALTER TABLE nazwa ADD CONSTRAINT nazwa i rodzaj ograniczenia (PRIMARY KEY, FOREIGN KEY, CHECK, itd.)
ALTER TABLE nazwa DROP COLUMN pole
ALTER TABLE nazwa MODIFY pole typ ograniczenia;
ALTER TABLE nazwa CHANGE starepole nowepole typ ograniczenia
DROP TABLE nazwa_tabeli;
RENAME TABLE tabela TO tabela1
INSERT INTO tabela(pole1, pole2, …,polek) VALUES (wart1, wart2, …, wartk);
DELETE FROM tabela [WHERE warunek];
UPDATE TabStudenci SET rok=rok+1 WHERE rok<5;
Â
SELECT * FROM tabela
SELECT * FROM Pracownicy WHERE (imie NOT LIKE  %M%  OR imie IN ( Jan , Monika )) AND id>=3;
SELECT CONCAT(imie,    ,nazwisko) AS Osoba, pensja/20 AS Dniówka FROM Pracownicy WHERE Id!=3 AND pensja>3000;
Select * From Pracownicy Order by imie limit 2(pocz), 3(ile)
AVG   zwraca ŀredniĀ
COUNT   zlicza liczbĀ wystĀpieŀ
MIN   zwraca wartoŀĀ minimalnĀ
MAX   zwraca wartoŀĀ maksymalnĀ
SUM   zwraca sumĀ
GROUP BY pole   determinuje wedŀug którego pola nastĀpuje grupowanie
HAVING warunek   ogranicza grupy to tych ktĂłrych wszystkie krotki speŀniajĀ naŀoĹźony warunekÂ
DISTINCT   różne wartoŀci atrybutów
SELECT NrIndeksu, COUNT(Przedmioty) AS  Ilosc zdawanych  FROM Egzamin GROUP BY NrIndeksu ORDER BY NrIndeksu DESC
Â
CROSS JOIN   iloczyn kartezjaŀski
JOIN ON operator równoŀci   poŀĀczenie równoŀciowe
NATURAL JOIN, JOIN USING   poŀĀczenie naturalne
JOIN ON dowolny operator   poŀĀczenie nierównoŀciowe
SELECT Tytuŀ, Cena, IloŀĀ FROM KsiĀżki LEFT OUTER JOIN Zamówienia ON KsiĀżki.Id = Zamówienia.IdKsiĀżki;
Â
CREATE USER nazwa IDENTIFIED BY [PASSWORD]  hasŀo ;
DROP USER nazwa;
SET PASSWORD FOR Stefan = PASSWORD( qwerty );
RENAME USER staranazwa TO nowanazwa;
Â
GRANT rodzajePrzywilejów[(nazwyKolumn)] ON nazwyObiektów TO listaUzytkowników [IDENTIFIED BY [PASSWORD]  haslo ] [WITH opcje];
MoĹźliwe przywileje:
ALL   nadanie wszystkich przywilejów oprócz GRANT OPTION
ALTER   możliwoŀĀ modyfikacji struktury
DELETE   możliwoŀĀ usuniĀcia danych
INDEX   możliwoŀĀ tworzenia i usuwania indeksu
INSERT   możliwoŀĀ wstawiania danych
CREATE   możliwoŀĀ tworzenia tabel
GRANT OPTION   możliwoŀĀ nadawania uprawnieŀ
CREATE USER   możliwoŀĀ tworzenia użytkowników
CREATE VIEW   możliwoŀĀ tworzenia perspektyw
DROP   możliwoŀĀ usuwania tabel
LOCK TABLES   możliwoŀĀ blokowania
SHOW DATABASES   możliwoŀĀ obejrzenia wszystkich baz danych w systemie
UPDATE   możliwoŀĀ uaktualnieŀ
Â
DROP USER Szukacz;
GRANT SELECT ON *.* TO Szukacz;
CREATE USER Tworca IDENTIFIED BY  wielki ;
GRANT CREATE ON nowa.* TO Tworca;
GRANT ALL ON *.* TO ADMIN IDENTIFIED BY PASSWORD  6af4442460ade563 ;
GRANT SELECT ON Test.* TO PUBLIC;
Â
Funkcje
CREATE FUNCTION silnia(n INT)
RETURNS int(11)
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE silnia INT DEFAULT 1;
REPEAT
SET i=i+1;
SET silnia=silnia*i;
UNTIL i>=n END REPEAT;
RETURN silnia;
END
Â
Procedury
CREATE PROCEDURE pobierz (out nazwa VARCHAR(50), in skrot VARCHAR(5))
BEGIN
SELECT opis INTO nazwa FROM skroty WHERE skrot_id=skrot LIMIT 1;
END
Â
Wyzwalacze
CREATE TRIGGER nazwa_triggera
BEFORE/after UPDATE/insert/delete ON tabela
FOR EACH ROW
BEGIN
INSERT INTO tabela2 VALUES (NEW.kolumna1, NEW.kolumna2*0.1);
END;
Â
Kolizje   gdy ta sama szczelina dla dwóch wartoŀci pola haszowego
Trzy rodzaje rozwiĀzania kolizji:
Adresowanie otwarte
ŀaŀcuchowanie
Haszowanie wielokrotne
Dla każdej metody   różne algorytmy wstawiania, szukania, usuwania rekordów
Â
Cechy indeksu:
Przyŀpiesza dostĀp do danych
Zakŀadany na atrybutach relacji (atrybuty indeksowe)
Rekord indeksu zawiera dwa pola:
Klucz (odnosi siĀ do atrybutu indeksowego)
Wskaźnik do bloku majĀcego ten sam klucz
Atrybut indeksowy
Podstawowy   zaŀożony na atrybucie porzĀdkujĀcym unikalnym
Zgrupowany   zaŀożony na atrybucie porzĀdkujĀcym nieunikalnym
Wtórny   zaŀożony na atrybucie nieporzĀdkujĀcym
Indeks   B+ drzewo
Zrównoważona struktura drzewiasta   każdy liŀĀ na tym samym poziomie
WĀzŀy wspomagajĀ wyszukiwanie
Liŀcie wskazujĀ na rekordy danych
Liŀcie stanowiĀ listĀ dwukierunkowĀ
Wstawianie i usuwanie rekordów pozostawiajĀ indeks zrównoważony
Wyszukanie rekordu   przejŀcie od korzenia do liŀcia (dŀugoŀĀ ŀcieżki od korzenia do liŀcia   wysokoŀĀ drzewa indeksu)
Â
Transakcje - Sekwencja logicznie powiązanych operacji na bazie danych. Przeprowadza bazą z jednego stanu spójnego w inny stan spójny
Dozwolone operacje:
Odczyt, zapis danych
Zakoŀczenie transakcji
AkceptacjĀ lub wycofanie transakcji
RozwiĀzuje problemy awaryjnoŀci, wielodostĀpnoŀci i rozproszenia
Â
Wŀasnoŀci transakcji ACID
AtomowoŀĀ (Atomicity) - Wykonanie caŀej transakcji albo niewykonanie żadnej operacji skŀadowej (odzwierciedlenie ŀwiata rzeczywistego)
SpójnoŀĀ (Consistency) - Transakcja nie narusza spójnoŀci (w czasie wykonywania transakcji baza może byĀ przejŀciowo niespójna)
Izolacja (Isolation) - Transakcje wykonywane jednoczeŀnie nie wpŀywajĀ na siebie
TrwaŀoŀĀ (Durability) - Po zakoŀczeniu transakcji zaktualizowane dane nie mogĀ zostaĀ w żaden sposób utracone
Â
Harmonogram (realizacja)   ciĀg operacji z wiĀcej niż jednej transakcji z zachowaniem porzĀdku w każdej z transakcji
sekwencyjny   bez przeplatania operacji pomiĀdzy transakcjami
niesekwencyjny   operacje różnych transakcji przeplatajĀ siĀ
SzeregowalnoŀĀ   możliwoŀĀ ustawienia transakcji wspóŀbieżnych, tak aby wynik byŀ równoważny z wykonaniem sekwencyjnym.
Harmonogram jest szeregowalny wtw, gdy graf szeregowalnoŀci dla tego harmonogramu jest acykliczny
Â
Harmonogram H jest odtwarzalny (RC) wĂłwczas, jeĹźeli Ti czyta z Tj w harmonogramie H i ci naleĹźy do H to cj<ci
Harmonogram H unika kaskadowych wycofał (ACA) wówczas, jeżeli transakcja Ti czyta z Tj, to cj<ri(x)
Harmonogram H jest łcisły (ST) wówczas, jeżeli wj(x)<oi(x), zachodzi aj<oi(x) lub cj<oi(x), gdzie oi(x) jest jednĀ z operacji ri(x) lub wi(x)
Â
Zapobieganie zakleszczeniom
Wykorzystanie znacznikĂłw czasowych nadawanych w momencie inicjacji transakcji
wait-die   gdy Ti jest starsza od Tj to Ti czeka na zwolnienie blokady, gdy mŀodsza   wycofana i zrestartowana z tym samym znacznikiem czasowym
wound-wait   gdy Ti jest starsza od Tj to Tj bĀdzie wycofana i zrestartowana z tym samym znacznikiem czasowym. W przeciwnym przypadku Ti czeka
Wada   czasem wycofujĀ transakcje, które niekoniecznie siĀ zakleszczĀ
no waiting   gdy dostĀp zablokowany Ti wycofana i zrestartowana po pewnym czasie
cautious waiting   gdy Ti próbuje uzyskaĀ dostĀp do zablokowanej danej X przez Tj i gdy Tj nie czeka na odblokowanie innej danej to Ti czeka na X. W przeciwnym przypadku Ti wycofana i zrestartowana
Â
Metody wykrywania i rozwiĀzywania zakleszczeŀ
Za pomocĀ grafu:
transakcje jako wĀzŀy
oczekiwanie transakcji Ti na danĀ zablokowanĀ przez Tj reprezentowane przez krawĀdź skierowanĀ
cykl w grafie oznacza zakleszczenie
eliminacja   wycofanie jednej z transakcji cyklu
graf sprawdzany: jeŀli transakcja czeka zbyt dŀugo   przekroczyŀa ustalony limit czasu; co okreŀlony czas
Â
Algorytmy zarzĀdzania wspóŀbieżnym wykonaniem transakcji
blokowanie - uszeregowanie transakcji wynika z kolejnoŀci uzyskiwanych blokad
znaczników czasowych   uszeregowanie wynika z wartoŀci znaczników czasowych zwiĀzanych z transakcjami
optymistyczne   walidacja poprawnoŀci uszeregowania
Â
Podstawowa metoda znaczników czasowych   cechy
gwarantuje szeregowalnoŀĀ transakcji - transakcje wykonywane wedŀug znaczników czasowych
nie gwarantuje odtwarzalnoŀci harmonogramu
przykŀad:
H1= w1(x)r2(x)w2(x)c2a1, gdzie
TS(T1)< TS(T2)
Â
Plik z chomika:
Wujek_Misiek
Inne pliki z tego folderu:


4 RAZY DRUKUJ.docx (8 KB)
 Baza danych.doc (85 KB)
bazy danych egzamin.pdf (291 KB)
 BD_wd1.pdf (337 KB)
 BD_wd10.pdf (129 KB)
Inne foldery tego chomika:

Access
 Egzamin Pisemny
 Kolokwium
 Kurs MySql
 Od ziomeczkow
Zgłoł jełli naruszono regulamin





Strona główna
Aktualnołci
Kontakt
Dział Pomocy
Opinie


Regulamin serwisu
Polityka prywatnołci
Copyright © 2012 Chomikuj.pl
Download