1 / 32

Bazy danych

Wykład 1 - Wprowadzenie. Bazy danych. Literatura. [1] System zarządzania bazą danych Oracle 7 i Oracle 8 /R. Wrembel, J. Jezierski, M. Zakrzewicz, wyd. Nakom, Poznań, 2000. [2] Poznaj Oracle 8 /D. Austin, wyd. Mikom, Warszawa , 1999.

miles
Download Presentation

Bazy danych

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Wykład 1 - Wprowadzenie Bazy danych

  2. Literatura [1] System zarządzania bazą danych Oracle 7 i Oracle 8 /R. Wrembel, J. Jezierski, M. Zakrzewicz, wyd. Nakom, Poznań, 2000. [2] Poznaj Oracle 8 /D. Austin, wyd. Mikom, Warszawa , 1999. [3] Oracle - łatwiejszy niż przypuszczasz /J. Gnybek. Gliwice : Helion, 1996. [4] Learning Oracle PL/SQL /B. Pribyl, S. Feuerstein. Beijing : O’Reilly, 2002. [5] Oracle database 11g :kompendium administratora /K. Loney , Gliwice : Helion, 2010. [6] HTML 4 :biblia /B. Pfaffenberger, B. Karow. Gliwice : Helion, 2001. [7] UML dla każdego :Ujednolicony Język Modelowania - wyrażanie związków między klasami w projektowaniu obiektowym /J. Schmuller. Gliwice : Helion, 2003. [8] UML - przewodnik użytkownika /G. Booch, J. Rumbaugh, J. , Warszawa : WNT, 2002. [9] Techniczne podstawy systemów klient-serwer /C. L. Hall. Warszawa : WNT, 1996. [10] Postawy języka C++/S. Lippman, WNT Warszawa, 2001.

  3. Zastosowania • systemy bankowe (bankomat) • systemy masowej obsługi (hipermarket) • rezerwacja biletów lotniczych • telefonia komórkowa (sms) • Dziekanat Wydziału Elektroniki • toto-lotek • policja (ewidencja przestępców, rejestr samochodów) • rejestry sądowe, księgi wieczyste • ankiety internetowe • sklepy internetowe • gry internetowe • system audiotele • biblioteka PWr.

  4. Kryteria klasyfikacji b.d. • wielkość • liczba odwołań • stopień ważności informacji • struktura informacji • implementacja komputerowa

  5. Cele i zadania • wysoka jakość danych, wiarygodność i spójność • bezpieczeństwo (przed niepowołanym dostępem do informacji i utratą danych) • szybki dostęp do informacji (wielozadaniowość) • prosta obsługa systemu

  6. Konkluzje • informacja jako dobro materialne • wpływ specyfiki informacji na metodę projektowania bazy danych • celowość budowania modelu 6

  7. Pojęcie pliku i procesu • Plik — ciąg bajtów, przechowuje się wskaźnik do początku ciągu, ciąg zakończony jest umowną wartością oznaczającą jego koniec. • Proces — instancja programu w trakcie uruchomienia. • Baza danych = pliki + procesy. • Pliki — przechowują informacje • Procesy — zarządzają przepływem informacji

  8. Symbole

  9. Plikowe bazy danych

  10. Transakcyjne bazy danych tutaj komunikują się pomiędzy sobą dwa procesy — większe bezpieczeństwo — większa elastyczność (wielozadaniowość)

  11. Pojęcie klienta i serwera • Klient — proces który prosi o (zleca) wykonanie pewnej usługi. • Serwer — proces czekający na zlecenia klientów i realizujący je (nie mylić, tego samego określenia używa się potocznie dla określenia fizycznej maszyny – komputera — dedykowanego do wykonywania procesów serwerowych).

  12. Transakcja • serwer jest uruchomiony i śpi (czeka, czuwa) • klient przesyła zlecenie do serwera • serwer budzi się i wykonuje szereg procesów mających na celu realizację zlecenia • klient czeka • serwer wysyła odpowiedź do klienta • klient odbiera odpowiedź • serwer jest uruchomiony i śpi (czeka, czuwa)

  13. Popularne systemy b.d. • dBase • Clipper • Firefox • MS Access • MySql • SQL Server • PostgreSQl • Sybase • Informix • SAS • Oracle

  14. Komunikacja warstwowa Kapitanowie grają w szachy („na odległość”) Pośrednicy zapisują kody ruchów (np. c1-c2) i zanoszą na pokład Operatorzy zamieniają kody na impulsy alfabetu Morse’a Jak umożliwić rozgrywanie 2 partii jednocześnie?

  15. Warstwowy model sieci R. Stevens, Programowanie zastosowań sieciowych w systemie Unix, WNT, Warszawa, 1996.

  16. Pojęcie protokołu Protokół – zespół reguł umożliwiających komunikację, standard pozwalający na przekazywanie informacji pomiędzy warstwami, w sposób zrozumiały po obu stronach, łączenie danych w większe paczki itp.

  17. Rozproszone bazy danych

  18. Pojęcie rekordu Rekord — paczka wartości ustalonych atrybutów (tzw. pól) np. imię, nazwisko, pesel, nip, adres, data urodzenia, płeć. Przykład poglądowy w języku C++: struct liczba_zespolona {double re,im;}; ... liczba_zespolona Z; Z.re=0;Z.im=0; cout<<”Z=”<<re<<”+j”<<im;

  19. Pojęcie obiektu • Obiekt — oprócz pól zawiera także metody np. do przetwarzania wartości pól i komunikacji z innymi obiektami Przykład poglądowy w języku C++: class liczba_zespolona { double re,im; public: void ustaw_re(double x) {re=x;}; void ustaw_im(double y) {im=y;}; void wyswietl(void) {cout<<re<<”+j”<<im;}; }; ... liczba_zespolona Z; //Z.re=0;Z.im=0; — bła˛d — brak doste˛pu do pól re i im Z.ustaw_re(0);Z.ustaw_im(0); Z.wyswietl();

  20. Cechy podejścia obiektowego • hermetyczność (tzw. enkapsulacja) — zamknięcie powiązanych danych w „kapsułce”, i udostępnianie ich tylko poprzez interfejs publiczny kontrolujący poprawność; • dziedziczenie — programowanie od ogółu do szczegółu, definiowanie klas obiektów na bazie już istniejących; • polimorfizm — dzięki mechanizmowi przeciażania, metody dla różnych typów obiektów mogą być uruchamiane tym samym poleceniem;

  21. Techniki programowania obiektowego Przeciążanie funkcji różna liczba argumentów, różne typy argumentów, parametry domyślne, rozstrzyganie void fun(int i) {cout<<”\nfun1: i= ”<<i;} void fun(double d) {cout<<”\nfun2: d= ”<<d;} void main(void) { clrscr(); fun(5); fun(5.0); }

  22. Przeciążanie (c.d.) argumenty opcjonalne, wartości domyślne int sum(int a, int b, int c=10, int mnoznik=1) { return( mnoznik*(a+b+c) ); } void main(void) { clrscr(); cout<<”\n”<< sum(0,0); cout<<”\n”<< sum(0,0,1); cout<<”\n”<< sum(1,1,100,2); }

  23. Szablony funkcji – parametryzacja typu T gre(T x, T y) { if(x>y) return(x); //funkcja gre() zadziała dla wszystkich else return(y); //typów (klas) dla których zdefiniowany jest } //operator porównywania > void main() { clrscr(); int i=0,j=1; cout<<gre(i,j); double x=0.22,y=0.88; cout<<”\n”<<gre(x,y); }

  24. Szablony klas – parametryzacja typu (c.d.) template <class T> class Vector { T *data; int size; public: Vector(int); ~Vector( ) { delete[ ] data; } T& operator[ ] (int i) { return data[i]; } //przeciążany operator [] };

  25. template <class T> Vector<T>::Vector(int n) { data = new T[n]; size = n; }; void main() { Vector<int> x(3); // skonstruowanie wektora 3-elementowego typu int x[0] = 1; x[1] = 2; x[2] = 3; cout<<”\n”<<x[0]<<”\n”<<x[1]<<”\n”<<x[2]; getch(); }

  26. Dziedziczenie class figura { //klasa podstawowa (bazowa) - abstrakcyjna public: void kuku(void) {cout<<"\nKuku";}; virtual double pole(void)=0; //funkcja wirtualna }; class kwadrat:public figura{ //klasa pochodna double a; public: kwadrat(double x) {a=x;}; double pole(void) {return(a*a);}; };

  27. Elementy algebry relacji Relacje Osoba (imię, nazwisko, pesel, data_ur, płeć) Samochód (nr_rejestr, rocznik, marka, poj_siln, pesel_właściciela)

  28. Selekcja Wybieramy podzbiór relacji Przykład. Z tabeli osób wybieramy te wiersze (całe) dla których w polu płeć występuje warość mężczyzna Przykład. Z tabeli samochodów wybieramy te wiersze, w których nr_rejestr rozpoczyna się od DW….

  29. Projekcja (rzut) Wybieramy niektóre kolumny. Przykład. Wybieramy tylko numery pesel (jedną kolumnę) z tablicy osób. Przykład. Wybieramy numery pesel (projekcja), ale tylko te które należą do mężczyzn (selekcja).

  30. Różnica Podobnie jak różnica zbiorów: A \ B – elementy które należą do zbioru A, i jednocześnie nie należą do zbioru B

  31. Iloczyn kartezjański A×B - Zbiór wszystkich możliwych par, w których pierwszy element należy do A, a drugi element należy do B Przykład A – numery pesel mężczyzn B – numery pesel kobiet A×B – wszystkie możliwe pary (mieszane) Liczba możliwych par jest równa iloczynowi liczby mężczyzn i liczby kobiet

  32. Złączenie Równozłączenie – iloczyn kartezjański, a następnie selekcja z warunkiem równości wartości pewnego atrybutu (wspólnego) z obu tabel Złączenie naturalne – dodatkowo usuwane są powtarzające się atrybuty (te porównywane) Złączenie zewnętrzne – w wyniku pozostają wiersze nie mające odpowiednika

More Related