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