Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Bazy Danych II – Prezentacja 2.

Podobne prezentacje


Prezentacja na temat: "Bazy Danych II – Prezentacja 2."— 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 HISTORIA 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-11 1982 : 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

8 HISTORIA 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. 1992 : referential integrity, stored procedures and triggers 1997 : wsparcie dla object-oriented development

9 HISTORIA 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

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 • 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) Redo log files Database files Control files Parameter 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 Edytor GUI Builder Integracja bazy danych Debugger Profiler
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 Legenda:
Nawiązanie do projektu (prezentacja) wspólnie Propozycja realizacji projektu Redagowanie dokumentacji cały czas Opanowanie narzędzi Implementacja bazy danych Implementacja funkcji: obsługa zamówień, zarządzanie bazą danych kontrahentów, obsługa magazynu, obsługa statystyk zespół 1. obsługa produktów, obsługa księgowości, zarządzanie użytkownikami zespół 2. Interfejs graficzny Serwis WWW Testowanie Oddanie projektu jak 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 prezentacji nr 2. Ciąg dalszy nastąpi.
Dziękujemy!


Pobierz ppt "Bazy Danych II – Prezentacja 2."

Podobne prezentacje


Reklamy Google