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