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