plik


��1. Baza danych : - Du|y zbi�r danych o okre[lonej strukturze, kt�ra umo|liwia ich szybkie wyszukiwanie i wydobywanie - Baza danych  kolekcja danych zapisanych zgodnie z okre[lonymi reguBami. W w|szym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjtymi dla danego programu komputerowego specjalizowanego do gromadzenia i przetwarzania tych danych. Program taki (czsto pakiet program�w) nazywany jest "Systemem zarzdzania baz danych" (ang. DataBase Management System, DBMS). - Typy baz danych [wymienione na wykladzie] : -> Model sieciowy -> Model Hierarchiczny -> Model relacyjny -> Model obiektowy -> Model realcyjno-obiektowy 2. DBMS  DataBase Managment System: - Zbi�r progra�w, bibliotek i narzdzi kt�re zwalniaj programist od pamitania o szczeg�Bach przechowywania i zarzdzania danymi. 3. Model sieciowy: - Model sieciowej bazy danych korzysta z dw�ch podstawowych element�w: rekord�w i zbior�w. - Rekordy zawieraj pola przechowujce dane. - Zbiory okre[laj relacj jeden-do-wielu midzy rekordami, gdzie jeden rekord jest  wBa[cicielem zbioru zawierajcego  czBonk�w zbioru. - Jeden rekord mo|e byd zar�wno  wBa[cicielem jak i  czBonkiem wielu zbior�w. - Wykorzystuje tzw. PomysB wskaznik�w wewntrz struktury danych - Wada jest kosztowne przeszukiwanie 4. Model hierarchiczny: - W modelu hierarchicznym dane s przechowywane na zasadzie rekord�w nadrzdnych- podrzdnych, tzn. rekordy przypominaj struktur drzewa. Ka|dy rekord (z wyjtkiem gB�wnego) jest zwizany z dokBadnie jednym rekordem nadrzdnym. Dane w takim modelu s znajdowane na zasadzie wyszukiwania rekord�w podrzdnych wzgldem rekordu nadrzdnego. PrzykBadem takiego modelu mo|e byd struktura katalog�w na dysku twardym komputera. 5. Model relacyjny: - Dane w takim modelu przechowywane s w tabelach, z kt�rych ka|da ma staB liczb kolumn i dowoln liczb wierszy. Ka|da tabela (relacja) ma zdefiniowany klucz danych (key) - wyr�|niony atrybut lub kilka takich atrybut�w, kt�rego warto[d jednoznacznie identyfikuje dany wiersz. Wyszukiwanie danych odbywa si za pomoc odwoBania si programu do danego klucza i identyfikacji danego wiersza za jego pomoc. 6. Krotka (TUPLE): - Krotka (ang. tuple) - struktura danych bdca odzwierciedleniem matematycznej n-tki, tj. uporzdkowanego cigu warto[ci. Krotki przechowuj staBe warto[ci o r�|nych typach danych - n224 ;) nie mo|na zmodyfikowad |adnego elementu, odczyt natomiast wymaga podania indeksu liczbowego |danego elementu. 7. Klucz: - Atrybut sBu|cy do rozr�|nienia rekord�w, kt�re niczym innym si nie r�|ni. Mo|e to byc kombinacja jednego, lub wikszej liczby atrybut�w. 8. Relacja: -Relacja jest zbiorem dziedzin, kt�re wsp�lnie opisuj rzecz lub zdarzenie w realnym [wiecie - Ka|dy atrybut skBada siz nazwy oraz nazwy dziedziny, z kt�rej atrybut pobiera dane - Relacja skBada si z dw�ch cz[ci  nagBowka, oraz tre[ci - Ka|da krotka jest unikatowa wewntrz relacji - Ka|da krotka mo|e zostac jednoznacznie zidentyfikowana za pomoc przynajmniej jednego klucza podstawowego - Krotka mo|e zawierac jeden lub wicej kluczy obcych, z kt�rych ka|dy indentyfikuje jedn lub wicej krotek w tej samej lub innej relacji 9. Algebra relacyjna : - Aczenie - Przecicie - R�|nica - Iloczyn Kartezjaoski - Ograniczenie - Projekt - Scalanie - PodziaB - Por�wnanie - Rozszerzenie - Wstawianie - Uaktualnianie - Usuwanie 10. 12 ReguB Codd a: - Postulat informacyjny - dane s reprezentowane jedynie poprzez warto[ci atrybut�w w wierszach tabel, - Postulat dostpu - ka|da warto[d w bazie danych jest dostpna poprzez podanie nazwy tabeli, atrybutu oraz warto[ci klucza podstawowego, - Postulat dotyczcy warto[ci NULL - dostpna jest specjalna warto[d NULL dla reprezentacji warto[ci nieokre[lonej jak i nieadekwatnej, inna od wszystkich i podlegajca przetwarzaniu - Postulat dotyczcy katalogu - wymaga si, aby system obsBugiwaB wbudowany katalog relacyjny z bie|cym dostpem dla uprawnionych u|ytkownik�w u|ywajcych jzyka zapytao, - Postulat jzyka danych - system musi dostarczad peBnego jzyka przetwarzania danych, kt�ry mo|e byd u|ywany w trybie interaktywnym jak i w obrbie program�w aplikacyjnych, obsBuguje operacje definiowania danych, operacje manipulowania danymi, ograniczenia zwizane z bezpieczeostwem i integralno[ci oraz operacje zarzdzania transakcjami, n224 ;) - Postulat modyfikowalno[ci perspektyw - system musi umo|liwiad modyfikowanie perspektyw, o ile jest ono (modyfikowanie) semantycznie realizowalne, - Postulat modyfikowalno[ci danych - system musi umo|liwiad operacje modyfikacji danych, musi obsBugiwad operatory INSERT, UPDATE oraz DELETE, - Postulat fizycznej niezale|no[ci danych - zmiany fizycznej reprezentacji danych i organizacji dostpu nie wpBywaj na aplikacje, - Postulat logicznej niezale|no[ci danych - zmiany warto[ci w tabelach nie wpBywaj na aplikacje, - Postulat niezale|no[ci wiz�w sp�jno[ci - wizy sp�jno[ci s definiowane w bazie i nie zale| od aplikacji, - Postulat niezale|no[ci dystrybucyjnej - dziaBanie aplikacji nie zale|y od modyfikacji i dystrybucji bazy, - Postulat bezpieczeostwa wzgldem operacji niskiego poziomu - operacje niskiego poziomu nie mog naruszad modelu relacyjnego i wiz�w sp�jno[ci. 11. SQL : - Structured Query Language - Strukturalny jzyk zapytao u|ywany do tworzenia, modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych. Jzyk SQL jest jzykiem deklaratywnym. Decyzj o sposobie przechowywania i pobrania danych pozostawia si systemowi zarzdzania baz danych (DBMS). 12. Sposoby uzycia SQL a : - Interaktywny  zwykle wykorzystywany w systemach zarzdzania bazami danych (DBMS), wymaga interaktywnego wpisania polecenia i wynik zostaje wyprowadzony na standardowe wyj[cie w domy[lnym formacie - Ukryty (embedded)  Ka|de polecenie jest poprzedzone prefixem wyr�|niajcym je spo[r�d jzyka SQL np. EXEC_SQL(...) - Interfejs pozoimu wywoBao(CLI  call-level Interface)  jzyk przegldarki implementuje serie wywoBao, z kt�rych ka|de stanowi odpowiednik rozkaz�w SQL (C,Perl,Php,Java) 13. Podstawowe komponenty SQL a : - Data definition language - Data manipulation language - Data query language - Data controll language 14. Polecenie CREATE: - Mozemy tworzyc, Table, View, Index Ex. Create Table 15. Polecenie ALTER: - Modyfikujemy TABLE Ex. Alter Table 16. Polecenie DROP: - Usuwamy to co mozemy stworzyc [TABLE,VIEW,INDEX] Ex. Drop Table 17. Podstawowe typy danych w PSQL u : n224 ;) - Integer  liczba caBkowita - Char  tablica znak�w o staBym rozmiarze - Varchar  tablica znak�w o zmiennym rozmiarze - Date  Data - Numeric  liczba zmiennoprzecinkowa - NULL  wartosc nieznana [pusta] - Blob  du|y obiekt binarny - Bit(n)  tablica bit�w o dBugo[ci n - Nchar(n)  tablica znak�w narodowych - Boolean  wartosc  true / false - Money  walutowa - Serial ...  automatycznie inkrementowana [serial primary key] 18. Atrybuty nowo tworzonego pola w PSQL: - NOT NULL  pole w bazie MUSI byc wypelnione przy tworzeniu nowego rekordu - DEFAULT  mozliwosc przypisania wartosci dom[lnej - AUTO INCREMENT  powoduje automatyczne zwikszanie warto[ci przy dodaniu nowego rekordu 19. Zapytania(kwerendy), zapytania podrzdne: - U|ytkownik serwera baz danych (program lub osoba) wysyBa do niego zapytanie, na kt�re serwer odpowiada przesyBajc oczekiwane dane, czyli wynik zapytania. Zapytania mog mied na celu wyBcznie pobranie danych (tzw. zapytania wybierajce), jak i usuwanie, dodawanie czy modyfikacj danych (tzw. zapytania funkcjonalne). - W PSQL u|ywamy polecenia  SELECT , kt�ry zwraca na wyj[cie wynik zapytania - SELECT mo|na zagnie|dzac - Zapytanie podrzdne ma miejsce wtedy kiedy tworzymy jeden (lub wicej) warunk�w where instrukcji SELECT Ex. Select * from item where cena>(select AVG(cena)) 20. Zapytania podrzdne skorelowane: - Jest to zapytanie podrzdne, gdzie istnieje zwizek pomidzy dwiema cz[ciami zapytania - Postac og�lna zapytania : Select kA from Tab1 where Tab1.kB = (select Tab2.kB from Tab2 Where Tab2.kC = Tab1.kC) [istnieje wsp�lna tabela dla zapytania zewntrznego i wewntrznego] 21. Uprawienia w PSQL: - ZALACZNIK 22. Encja: - Encja (ang. entity) w bazach danych to reprezentacja wyobra|onego lub rzeczywistego obiektu (grupy obiekt�w) stosowana przy modelowaniu danych podczas analizy informatycznej. Formalnie jest to pojcie niedefiniowalne, a podstawow cech encji jest to, |e jest rozr�|nialna od innych encji. 23. Zbi�r zwizk�w : - Zwizki pomidzy encjami, jeden do wielu, wiele do jednego, wiele do wielu 24. Atrybut: n224 ;) - Cecha charakterystyczna encji. Atrybut jest reprezentowany na diagramach Zwizk�w Encji poprzez owal. 25. Zbi�r encji: - Zgrubowane encje o tej samej charakterystyce. Zbio�r encji jest reprezentowany na ZE poprzez prostokt 26. Kryteria dobregu projektu Bazy Danych: - Zdolno[c przechowywania potrzebnych informacji - Zdolno[c obsBugi wymaganych zwizk�w - Zdolno[c rozwizywania problem�w - Zdolno[c do narzucenia integralno[ci danych - Zdolno[c narzucania wydajno[ci w przetwarzaniu danych - Zdolno[c uwzgldniania przyszBych zmian 27. Normalizacja baz danych: - Normalizacja bazy danych jest to proces majcy na celu eliminacj powtarzajcych si danych w relacyjnej bazie danych. GB�wna idea polega na trzymaniu danych w jednym miejscu, a w razie potrzeby linkowania do danych. Taki spos�b tworzenia bazy danych zwiksza bezpieczeostwo danych i zmniejsza ryzyko powstania niesp�jno[ci (w szczeg�lno[ci problem�w anomalii). Istniej sposoby ustalenia czy dany schemat bazy danych jest "znormalizowany", a je|eli jest to jak bardzo. Jednym ze sposob�w jest przyr�wnanie danej bazy do schemat�w zwanych postaciami normalnymi (ang. normal forms lub NF). Normalizacja bazy danych do konkretnej postaci mo|e wymagad rozbicia du|ych tabel na mniejsze i przy ka|dym wykonywaniu zapytania do bazy danych ponownego ich Bczenia. Zmniejsza to wydajno[d, wic w niekt�rych przypadkach [wiadoma denormalizacja (stan bez normalizacji) jest lepsza - zwBaszcza w systemach niekorzystajcych z modelu relacyjnego (np. OLAP). - Normalizacja nie usuwa danych, tylko zmienia schemat bazy danych. Normalizacja przeprowadza baz danych z jednego stanu sp�jnego (przed normalizacj) w inny stan sp�jny (po normalizacji). Jedyna r�|nica polega na innym ukBadzie danych i relacji pomidzy nimi, ale bez utraty danych (ewentualnie dodawane s nowe klucze gB�wne). 28. Etapy normalizacji: - Pobieranie zbioru danych - PrzeksztaBcenie nieznormalizowanego zbioru danych do 1NF - 1NF -> 2NF - 2NF -> 3NF - 3NF -> postac normalna Boyce a-Codda - 3NF -> 4NF - 4NF -> 5NF ZAACZNIKI : 1. Komendy PSQL 2. Postacie normalne 3. Uprawienia w PSQL n224 ;) ZALACZNIK 1 Zakladanie bazy : --> createdb nazwabazy Usuwanie bazy : --> dropdb nazwabazy Pokazywanie relacji : --> \d --> \dt Stworzenie tabeli : --> CREATE TABLE nazwatabeli(parametry) Usuniecie tabeli --> DROP TABLE nazwatabeli Typy danych : --> serial primary key | klucz glowny --> int | integer --> varchar(xx) | ciag znakow --> boolean | true/false --> date | data Wpisywanie danych : --> INSERT INTO NazwaTabeli(kolumna1,kolumna2,kolumnaN) VALUES ('Tekst',liczba,Parametr) Skladnia SELECT : --> SELECT [kolumna] tabela [WHERE warunek][ORDER BY kolumna] | select * from klient where id=3 order by nazwisko Operatory : --> > --> <� --> = --> <�> --> + --> - --> * --> % --> AND --> BETWEEN | Between 3 and 7 --> IN() | Stosowany do porowanania wartosci np, select * from klient Where imie IN('Jan','Stanislaw'); --> IS NULL --> IS NOT NULL Modyfikacja DANYCH : --> UPDATE NazwaTabeli SET Nazwakolumny=Nowa_Wartosc where Warunek | update klient set nazwisko='Kowalski' where id=2 --> UPDATE NazwaTabeli SET NazwaKolumny=NazwaTabeli2.wartosc from NazwaTabeli2 where Warunek | przepisanie za pomoca drugiej tabeli Usuwanie DANYCH : --> DELETE FROM NazwaTabeli | Usuniecie wszystkich rekordow --> DELETE FROM NazwaTabeli WHERE Warunek | usuniecie na bazie warunku Modyfikacja STRUKTURY TABELI : --> ALTER TABLE NazwaTabeli ADD NazwaKolumny TypTejKolumny | Dodajemy nowa kolumne do istniejacej tabeli o podanym typie Operacje na bazie SELECT : --> SELECT 2+2; n224 ;) --> SELECT sin(0.3); --> SELECT log(10); --> SELECT sum(id) from klient; --> SELECT now(); Klucze obce w kodzie : --> ALTER TABLE NazwaTabeli1 ADD FOREIGN KEY (NazwaKolumnyTejTabeli) REFERENCES NazwaDrugiejTabeli --> Nazwaklucza int not null references NazwaDrugiejTabeli on Delete restrict on Update Cascade | Podczas Create Table primary key (Nazwaklucza) Skracanie zapytania : --> SELECT * from NazwaTabeli N; --> WHERE N1.ID = N2.ID | dla warunku Widoki : --> CREATE VIEW NazwaWidoku AS SELECT [KlauzulaSelecta] | Tworzymy widok staly Joiny : --> Funkcje : --> SELECT count(*) from NazwaTabeli | Zlicza Wszystko --> SELECT count(Kolumna) from NazwaTabeli | Zlicza wszystko po kolumnach --> SELECT max(kolumna) from NazwaTabei | Pokazuje max z Tabeli --> SELECT min(kolumna) from NazwaTabeli | Pokazuje min z tabeli --> SELECT avg(kolumna) from NazwaTabeli | Pokazuje srednia z tabeli --> variance() --> stdev() Sortowanie : --> GROUP BY nazwakolumny --> GROUP BY nazwakolumny HAVING Warunek | group by imie Having nazwa <� 'j' n224 ;) ZALACZNIK 2 Posta normalna - posta relacji w bazie danych, w kt�rej nie wystpuje redundancja (nadmiarowo[), czyli powtarzanie si tych samych informacji. Doprowadzeniu relacji do postaci normalnej sBu|y normalizacja bazy danych. Pierwsza posta normalna (1NF) Relacja jest w pierwszej postaci normalnej, je[li: �� opisuje jeden obiekt, �� warto[ci atrybut�w s elementarne (atomowe, niepodzielne) - ka|da kolumna jest warto[ci skalarn (atomow), a nie macierz lub list czy te| czymkolwiek, co posiada wBasn struktur, �� nie zawiera kolekcji (powtarzajcych si grup informacji), �� posiada klucz gB�wny, �� kolejno[ wierszy mo|e by dowolna (znaczenie danych nie zale|y od kolejno[ci wierszy). Tabela przed normalizacj PBe Imi Mska Jan, Piotr, Zenon {eDska Anna, Maria, Zofia Pierwsza posta normalna PBe Imi Mska Jan Mska Piotr Mska Zenon {eDska Anna {eDska Maria n224 ;) {eDska Zofia WBa[ciwo[ci, kt�re musz zaistnie w 1 formie : 1. Jest zdefiniowany klucz relacji. 2. Wszystkie atrybuty niekluczowe s w zale|no[ci funkcyjnej od klucza. Druga posta normalna (2NF) Relacja jest w drugiej postaci normalnej wtedy i tylko wtedy, gdy jest w I postaci normalnej i ka|da kolumna zale|y funkcyjnie od caBego klucza gB�wnego (a nie np. od cz[ci klucza). Trzecia posta normalna (3NF) Mamy z ni do czynienia wtedy i tylko wtedy, gdy tabela jest w 2NF oraz gdy wszystkie pola niebdce polami klucza gB�wnego s od niego zale|ne bezpo[rednio. PrzykBad tabeli "Pracownicy" przed normalizacj Imi Nazwisko Stanowisko Stawka za godzin Stefan Anonim MBotkowy 10 zB Natalia Niewiadoma Sekretarka 20 zB Eufogenia Enigma Sekretarka 20 zB Warto[ci w kolumnie "Stawka za godzin" s zale|ne jedynie od pola "Stanowisko", a tylko po[rednio od klucza gB�wnego. Prowadzi to do powtarzania si warto[ "20 zB", co powoduje redundancj (nadmiarowo[ danych). Mo|e to te| prowadzi do anomalii i niesp�jno[ci danych, gdy np. pani Eufogenii zmienimy stawk na 25 zB, a zapomnimy zmieni stawki drugiej sekretarce, pani Natalii. Sprowadzenie do III postaci normalnej bdzie polega na przeniesieniu stawek do osobnej tabeli, a w tabeli pracownik�w pozostawienie jedynie nazwy stanowiska. Tabela "Pracownicy" po normalizacji Imi Nazwisko Stanowisko n224 ;) Stefan Anonim MBotkowy Natalia Niewiadoma Sekretarka Eufogenia Enigma Sekretarka Tabela "Stawki godzinowe" po normalizacji Stanowisko Stawka MBotkowy 10 zB Sekretarka 20 zB Posta normalna Boyce'a-Codda (BCNF) W tej postaci zale|no[ci funkcyjne musz mie nastpujc posta: je|eli X �! A i atrybut A nie jest zawarty w X, to X jest kluczem lub zawiera klucz. Czwarta posta normalna (4NF) Relacja jest w czwartej postaci normalnej, je|eli zawsze wtedy, kiedy zbi�r atrybut�w X okre[la warto[ciowo Y, to zachodzi jeden z nastpujcych warunk�w: �� Y jest puste lub zawiera si w X, �� suma zbior�w X i Y jest peBnym zbiorem atrybut�w, �� X zawiera klucz. Czwarta i pita posta normalna s w zasadzie u|ywane wyBcznie przy okazji rozwa|aD teoretycznych. n224 ;) ZALACZNIK 3 GRANT oraz REVOKE  Kurs jzyka SQL (mySQL) cz. 1 Pierwsza cz[ kursu jzyka SQL. Om�wione zostaBy polecenia: GRANT i REVOKE, czyli tworzenie u|ytkownika oraz nadawanie i odbieranie uprawnieD. Pierwszym etapem tworzenia bazy danych jest stworzenie tabel w kt�rych przechowywane bd p�zniej wszelkie dane. Zanim jednak do tego przystpimy niekt�re serwery bd wymagaBy zalogowania si przy pomocy nazwy u|ytkownika i jego hasBa. Mo|emy w tym przypadku korzysta z konta administratora skonfigurowanego podczas instalacji serwera baz danych. Innym rozwizaniem jest utworzenie nowego u|ytkownika i dodanie go do bazy danych. Powy|sz czynno[ wykonamy przy u|yciu polecenia GRANT, kt�rego skBadnia jest nastpujca: GRANT lista_praw_dostpu ON nazwa_tabeli TO nazwa_uzytkownika Pole  lista_praw_dostpu mo|e zawiera jedno, lub kilka z poni|szych uprawnieD: " SELECT odczytanie danych z tabeli " INSERT  wstawianie danych do tabeli " UPDATE  modyfikowanie danych w tabeli " DELETE  usunicie danych z tabeli " REFERENCE  odwoBywanie si do innych tabel " CREATE  tworzenie nowych tabel i baz danych " DROP  usuwanie tabel oraz baz danych " ALL PRIVILEGES  wszystkie dostpne uprawnienia Pole  nazwa tabeli okre[la tabel do kt�rej przyznajemy uprawnienia u|ytkownikowi wskazanemu w  nazwa u|ytkownika . PrzykBad 1: Utworzymy u|ytkownika o nazwie  biuro kt�remu nadamy prawa tylko do odczytu, wstawiania oraz modyfikowania danych, a wic SELECT, INSERT, UPDATE dla tabeli o nazwie  klienci . GRANT SELECT, INSERT, UPDATE ON klienci TO biuro PrzykBad 2: Tworzymy u|ytkownika o nazwie  szef kt�remu nadajemy wszelkie mo|liwe uprawnienia dla tabeli  klienci . GRANT ALL PRIVILEGES ON klienci TO szef PrzykBad 3: n224 ;) W pierwszym przykBadzie utworzyli[my u|ytkownika o nazwie  biuro nadajc mu prawa tylko do odczytu, wstawiania oraz modyfikowania danych w tabeli. Teraz chcieliby[my aby m�gB r�wnie| usuwa dane z tabeli  klienci . W tym przypadku mo|emy ponownie skorzysta z polecenia GRANT podajc nazw wszystkich praw dla danego u|ytkownika. GRANT SELECT, INSERT, UPDATE, DELETE ON klienci TO biuro SQL umo|liwia tak|e odbieranie wcze[niej nadanych uprawnieD, a sBu|y do tego polecenie REVOKE, kt�rego skBadnia jest nastpujca: REVOKE lista_praw_dostpu ON nazwa_tabeli FROM nazwa_uzytkownika PrzykBad: Stwierdzili[my, i| u|ytkownik  biuro nie powinien mie mo|liwo[ci wstawiania nowych danych do tabeli  klienci . Nale|y wic usun mu prawo u|ywania polecenia INSERT. REVOKE INSERT ON klienci FROM biuro n224 ;)

Wyszukiwarka

Podobne podstrony:
Opracowanie MC OMEN
Opracowanie wykładów biofyzka 3 MC OMEN
Opracowanie pytań RÓŻNE MC OMEN
Opracowanie pytań MC OMEN
Opracowanie wykladow MC OMEN
notatki zagadnienia
00 Notatki organizacyjne
Filozofia religii cwiczenia dokladne notatki z zajec (2012 2013) [od Agi]
MC Solaar HIPHOPALOORAP
notatki tw 5
Ferris MC Im Zeichen?s Freaks

więcej podobnych podstron