Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Bazy Danych II – Prezentacja 2. Mariusz Mikoszek Damian Kiełbasa Jacek Psiuk Adam Mika.

Podobne prezentacje


Prezentacja na temat: "Bazy Danych II – Prezentacja 2. Mariusz Mikoszek Damian Kiełbasa Jacek Psiuk Adam Mika."— Zapis prezentacji:

1 Bazy Danych II – Prezentacja 2. Mariusz Mikoszek Damian Kiełbasa Jacek Psiuk Adam Mika

2 Outline Przegląd narzędzi bazodanowych. Nasz wybór: Oracle Nasz wybór: NetBeans Nasz wybór: PHP+Apache Nasz wybór: CakePHP Analiza kwerend Harmonogram prac Zmiany w schemacie bazy

3 Przegląd SZBD – DB2 Główne cechy i atuty: Skompresowany format zapisu Silnik XML Przetwarzanie klastrowe Menadżer obciążenia Możliwości deweloperskie Obsługa SQL, XQuery, XPath, CLI-ODBC, Perl, PHP, C/C++, Java, rozbudowane wsparcie MS.NET Wersja bezpłatna: IBM DB2 v9.5 Express-C – ograniczenia: Max 2 rdzenie, 2GB pamięci, platformy: Linux, Windows, Solaris

4 Przegląd SZBD – MS SQL Server Główne cechy i atuty: Nieprzenośny Bardzo rozbudowana wersja Enterprise Wsparcie ze strony narzędzi MS Edycje darmowe

5 Przegląd SZBD – MySQL Główne cechy i atuty: Wolnodostępny Szybki Dobry dla często odwiedzanych stron WWW Procedury składowane, wyzwalacze, perspektywy, kursory Partycjonowanie tabel Harmonogram zadań Wsparcie replikacji BD Wsparcie wielojęzyczności Wsparcie wielu platform Narzędzia administracyjne, np. phpMyAdmin

6 Przegląd SZBD – PostgreSQL Główne cechy i atuty: Wolnodostępny Procedury składowane w wielu językach programowania Obsługa wielu typów indeksów Wyzwalacze Multiversion Concurrency Control Reguły Rozszerzona definicja typów danych Obiekty definiowane przez użytkownika Obiektowe rozszerzenia Narzędzia do współpracy z BD

7 1979 : L. Ellison, R. Miner i E. Oetaes zakładają firmę SDL (Software Development Laboratories) brak transakcji basic SQL napisany w kodzie maszynowym komputera PDP : firma zmienia nazwę na ORACLE CORPORATION (oracle - wyrocznia) i wprowadza pierwszą komercyjną wersję bazy danych opartą na SQL 1983 : reimplementacja w C, wprowadzenie sys. transakcyjnego HISTORIA

8 1985 : wsparcie dla modelu client-server 1986 : ORACLE 5, wprowadzenie distributed queries 1988 : ORACLE 6, wsparcie dla PL/SQL, wprowadzenie locking mech. (mechanism for enforcing limits on access to a resource) oraz backup mech : referential integrity, stored procedures and triggers 1997 : wsparcie dla object-oriented development HISTORIA

9 1999 : ORACLE 8i, reimplementacja z C do Java lang., koncentracja na opracowaniu aplikacji działających w sieci Internet 2001 : computer-cluster database 2003 : ORACLE 10g ("grid-computing ready") 2008 : Oracle Database 11g for Linux and for Microsoft Windows HISTORIA

10 Oracle Corporation Rok założenia – 1977 Oddziały - w 150 krajach Roczne obroty - 14 mld $ Zatrudnienie - 56 tys. pracowników (16 tys. w USA)

11 Dlaczego Oracle ? Nr 1 na światowym rynku BD Nr 1 na rynku narzędzi internetowych Nr 1 na rynku narzędzi analitycznych Nr 2 na rynku aplikacji do zarządzania po SAP (Systemanalyse und Programmentwicklung) ORACLE DB przechowują ponad 63% danych korporacyjnych na świecie

12 Oracle w Polsce Około 300 partnerów 40% udział w rynku BD Około firm używa oprogramowania Oracle Przykłady: banki, m. in. Biuro Informacji Kredytowej firmy ubezpieczeniowe giełda papierów wartościowych GUS, NBP, PZU policja, m. in. Krajowy System Informacji Policji, Krajowy rejestr karny itd.

13 Oracle Database Editions Enterprise Edition (EE) hight performance and security sortware typically for servers running 4 or more CPUs no memory limits utilize clustering using Oracle RAC software table partitioning mechanism Standard Edition (SE) base database functionality lack of DataGuard functionality no possibility of further development typically for servers running from one to four CPUs no memory limits can utilize clustering

14 Oracle Database Editions Standard Edition One for servers running on one or two CPUs unable to utilize clustering introduced with Oracle 10g Express Edition (XE) offers Oracle 10g free to distribute on Windows and Linux platforms many restrictions (one CPU, max 4GB of user data, max 1GB of RAM memory for data, max 150MB of footprint memory /stacks, program structures, etc./) Oracle Personal Oracle Lite (intended to run on mobile devices)

15 Przykład: Oracle Express Edition Specific Developers working on PHP, Java,.NET, XML, and Open Source applications DBAs who need a free, starter database for training and deployment Independent Software Vendors (ISVs) and hardware vendors who want a starter database to distribute free of charge Educational institutions and students who need a free database for their curriculum

16 Przykład: Oracle XE Wersje: OracleXE.exe (165,332,312 bytes) - Western European language storage - user interface in English only OracleXEUniv.exe (216,933,372 bytes) (~1,5GB after instalation) - for all language deployment - user interface available in 10 languages OracleXEClient.exe (30,943,220 bytes) - for remotely accessing Oracle Database 10g XE Downloads for developers, e.g..Net, Java,...

17

18

19

20

21

22 Struktura serwera BD Oracle Background processes System global area (SGA) Database files Control filesParameter files Redo log files

23 Background processes (main) DBWR - DataBase WRiter - zapisuje dane wprowadzone przez użytkowników do bazy z buforów SGA do plików dyskowych LGWR - LoG WRiter - zapisuje pliki dziennika powtórzeń PMON - Process MONitor - monitoruje procesy oraz zarządza zasobami bazy SMON - System MONitor - monitoruje system zarządzający pamięcia SGA

24 archiver processes (ARCn) checkpoint process (CKPT) *REQUIRED* coordinator-of-job-queues process (CJQn): dynamically spawns slave processes for job-queues database writer processes (DBWn) *REQUIRED* dispatcher processes (Dnnn): multiplex server-processes on behalf of users memory-manager process (MMAN): used for internal database tasks such as Automatic Shared Memory Management log-writer process (LGWR) *REQUIRED* log-write network-server (LNSn): transmits redo logs in Data Guard environments logical standby coordinator process (LSP0): controls Data Guard log-application media-recovery process (MRP): detached recovery-server process memory-monitor process (MMON) memory-monitor light process (MMNL): gathers and stores Automatic Workload Repository (AWR) data process-monitor process (PMON) *REQUIRED* process-spawner (PSP0): spawns Oracle processes queue-monitor processes (QMNn) recoverer process (RECO) remote file-server process (RFS) shared server processes (Snnn): serve client-requests system monitor process (SMON) *REQUIRED*

25 System global area (SGA): Shared Pool Library Cache Shared SQL Area PL/SQL Area SQL Area Data Dictionary Cache Database Buffer Cache Redo Log Buffer Cache Large Pool Java Pool Program Global Area (PGA): Software Code Area Stack Space Process information space Sort Area

26 Files... (main) Parameter files - parametry instancji BD, ścieżki do plików kontrolnych Control files - info na temat struktury BD (informacje o plikach danych, historie backupów, numery SCN, informacje na temat archiwalnych dzienników powtórzeń, trybu pracy BD) Redo Log files - historia operacji wykonywanych na bazie Data files - dane użytkowników + dane pomocnicze (np. indeksy)

27 Oracle – informacje ogólne SCHEMA - grupa użytkowników powiązana z określonym "username SQL (Structured Query Language) DML (manipulation) DDL (definition/description) DCL (control) PL/SQL (Procedural Language/SQL) własność Oracle Corporation umożliwiające tworzenie konstrukcji takich jak pętle, instrukcje warunkowe oraz zmienne używany do tworzenia wyzwalaczy, procedur i funkcji JAVA - wbudowana w BD Oracle

28 PL/SQL - przykład DECLARE -- blok deklaracji (opcjonalnie) BEGIN -- blok programu EXCEPTION -- obsługa wyjątków (opcjonalnie) END /* Przykładowy komentarz w wielu liniach... */ DECLARE liczba1 NUMBER(2); liczba2 NUMBER(4,2) := 17.25; text1 VARCHAR2(12) := 'Waldek'; data1 DATE := SYSDATE; -- obecna data i czas BEGIN SELECT numer_ulicy INTO liczba1 FROM address WHERE name = text1; END;

29 NetBeans Co to jest? Projekt otwartego oprogramowania Projekt studencki, wykupiony przez Sun Microsystems Narzędzia programowania dla Javy, C/C++, aplikacji mobilnych… IDE (Integrated Development Environment) RAD (Rapid Application Development)

30 NetBeans Co nas interesuje najbardziej? Edytor GUI Builder Integracja bazy danych Debugger Profiler Użycie testów Fan NetBeans

31 NetBeans - Edytor Wsparcie wielu języków, np. Java, Ruby, C/C++, XML, HTML, RHTML, PHP, Groovy, Javadoc, JavaScript, i JSP Wcięcia, dopasowywanie słów i nawiasów, podświetlanie sytaktyczne i semantyczne Live parsing Refactoring

32 NetBeans – Edytor cd. Smart Code Completion Nawigacja - Go to File, Go to Type, Go to Symbol Insert Code Inspektor klas, plików, pakietów Itd…

33 NetBeans – GUI Builder drag & drop Automatyczne pozycjonowanie i wyrównywanie Gotowe komponenty Swing i AWT

34 NetBeans – Integracja BD IDE zawiera sterowniki MySQL i PostgreSQL Możliwość integracji dowolnej bazy dla której mamy sterownik JDBC Autowykrywanie istniejących baz MySQL Narzędzia dla aplikacji webowych SQLEditor Database Explorer

35 NetBeans – Debugger Okno debuggera Breakpointy linii, metody, klasy, wątku, wyjątku i zmiennej Ewaluacja wyrażeń live Multi-Session/Multi-Threaded Debugging HeapWalker

36 NetBeans – Profiler Task-Based (CPU, memory, monitor) Profiling Points Identyfikacja wąskich gardeł, wycieków pamięci HeapWalker Remote Profiling Attach Profiler

37 Testy - JUnit Wsparcie NetBeans dla JUnit 3.x i JUnit 4 Testy jednostkowe, metoda najmniejszą jednostką testowania przypadki testowe oddzielenie testów od kodu wiele mechanizmów uruchamiania budowanie raportów

38

39

40

41 Dlaczego Apache? (prawie) Same zalety: darmowy otwarty wieloplatformowy popularny zaawansowany

42 Dlaczego PHP? Podobnie jak poprzednio: darmowy otwarty wieloplatformowy popularny Ponadto: obiektowość wiele różnych frameworków (np. CakePHP)

43 Dlaczego CakePHP? Ostatnio trudno się obejść bez frameworku. ;) Zalety CakePHP: (oczywiście) darmowy łatwy w konfiguracji oparty o MVC zajmuje się zabezpieczeniami ogólnie ułatwia tworzenie i utrzymywanie projektu

44 Analiza kwerend Zapytania częste, będące potencjalnym źródłem obciążenia bazy danych oraz powodujące dodatkowe trudności implementacyjne: 1. Przegląd towarów w sklepie internetowym przez klienta – możliwość wielu użytkowników generujących liczne zapytania bazy danych zwracające znaczną ilość rekordów. 2. Śledzenie stanu realizacji zamówienia przez klienta. 3. Składanie zamówienia przez klienta internetowego – konieczność stosowania transakcji i obsługa sekcji krytycznych (dwóch klientów zamawiających w tym samym czasie). 4. Przeglądanie historii zamówień – możliwa bardzo duża ilość wyników zapytania. 5. Statystyki – zapytania rozległe, dotyczące wielu tabel i przetwarzające wiele rekordów.

45 Harmonogram prac CzynnośćZespółTermin Nawiązanie do projektu (prezentacja)wspólnie Propozycja realizacji projektuwspólnie Redagowanie dokumentacjiwspólniecały czas Opanowanie narzędziwspólniecały czas Implementacja bazy danychwspólnie Implementacja funkcji: obsługa zamówień, zarządzanie bazą danych kontrahentów, obsługa magazynu, obsługa statystyk zespół obsługa produktów, obsługa księgowości, zarządzanie użytkownikami zespół Interfejs graficznyzespół Serwis WWWzespół Testowaniewspólnie Oddanie projektuwspólniejak najszybciej :) Legenda: zespół 1.: Adam Mika, Damian Kiełbasa zespół 2.: Jacek Psiuk, Mariusz Mikoszek

46 Stara wersja modelu bazy danych

47 Zmiany w schemacie bazy usunięcie tabel dot. usług: Usługi, SprzedażeUsługi, ZamówieniaUsługi rozbicie tabeli Kontrahenci na trzy tabele: Kontrahenci (pola wspólne dla Klientów i Dostawców), Klienci, Dostawcy dodanie do tabeli Klienci pól potrzebnych, do ich zalogowania w systemie scalenie dwóch odrębnych części bazy w jedną poprzez relację pracowników z zamówieniami (system musi pamiętać, kto rejestruje sprzedaż, zamówienie, etc.) usunięcie tabeli Zażalenia dodanie informacji autoryzacyjnych (dla serwera WWW) do tabeli Klienci powiązanie bazy Zamówienia z bazą Pracownicy (musimy wiedzieć, kto przyjmował zamówienie) powiązanie bazy RejestrSprzedaży z bazą Pracownicy (informacja, kto realizował sprzedaż)

48 Nowa wersja

49 Koniec Koniec prezentacji nr 2. Ciąg dalszy nastąpi. Dziękujemy!


Pobierz ppt "Bazy Danych II – Prezentacja 2. Mariusz Mikoszek Damian Kiełbasa Jacek Psiuk Adam Mika."

Podobne prezentacje


Reklamy Google