POLITECHNIKA CZĘSTOCHOWSKA WYDZIAŁ

Transkrypt

POLITECHNIKA CZĘSTOCHOWSKA WYDZIAŁ
6dbc
POLITECHNIKA CZĘSTOCHOWSKA
WYDZIAŁ INŻYNIERII MECHANICZNEJ I INFORMATYKI
PRACA DYPLOMOWA MAGISTERSKA
Badanie wydajności technik XML w bazach danych
Tytuł pracy przetłumaczony na język angielski piszemy poniżej
Tomasz Kopeć
Nr albumu:107123
Kierunek:Informatyka
Studia: niestacjonarne
Poziom studiów : II
Promotor pracy: dr inż. Olga Siedlecka-Lamch
Praca przyjęta dnia:
Podpis promotora:
Częstochowa, 2016
Spis treści
CEL PRACY 3
WSTĘP 5
1 CZĘŚĆ OPISOWA 7
1.1 FORMA PRACY MAGISTERSKIEJ. 7
1.2 TECHNIKA PISANIA PRACY 7
2 ANALIZA PRAKTYCZNYCH ROZWIĄZAŃ W DANEJ DZIEDZINIE 11
2.1 STRUKTURA SYSTEMU 11
2.2 ZASADA DZIAŁANIA SYSTEMU 11
2.3 ZASTOSOWANIA.... 11
3 CZĘŚĆ PRAKTYCZNA - BADANIA, PROGRAM 13
3.1 OBIEKT BADAŃ 13
3.2 ŚRODOWISKO BADAWCZE 13
3.3 PRZEBIEG BADAŃ 13
3.4 WYNIKI BADAŃ 13
3.5 WNIOSKI 13
PODSUMOWANIE 15
LITERATURA 17
DODATEK A. KOD PROGRAMU KOMPUTEROWEGO 18
Dodatek B. Spis zawartości dołączonej płyty CD 19
Cel pracy
Celem pracy jest porównanie wydajności trzech rodzajów baz danych. Zakres pracy obejmuje stworzenie trzech wersji aplikacji bazodanowej. Każda
z nich będzie wykorzystywać inny rodzaj bazy danych:
-Baza danych SQL
-Baza danych XML
-Baza danych XML Schema
Wstęp
Zanim pojawiły się urządzenia zdolne do przechowywania, oraz przetwarzania baz danych, były one zapisywane na glinianych tabliczkach, papirusie
oraz na papierze. Powstało wiele rodzajów pisma, każde z nich było charakterystyczne pod względem budowy oraz skomplikowania tekstu. Dane
przechowywane były w archiwach, bibliotekach oraz w różnego rodzaju katalogach. Dopiero wynalezienie druku pozwoliło ułatwić prace przy dostępie
do danych. Rozwój ekonomiczny świata przyczynił się do szukania innych sposobów przechowywania danych. Pierwszym sposobem było krosno
Josepha Jacquarda. Było ono sterowane przy pomocy zapisu na perforowanej karcie. Pojawiły się także pianole, które odtwarzały zakodowane
znajdujące się na płytach utwory, oraz maszyna Charlesa Babbage'a. Była ona sterowana przy użyciu instrukcji znajdujących się na na kartach
perforowanych. Przechowywanie danych na kartach zapoczątkował Herman Holleritha, który opracował maszynę zwaną "tabulatorem". Potrafiła ona
odczytywać dane demograficzne zapisane na kartach perforowanych, przetwarzanie ich, oraz drukowanie raportów. W roku 1896 Hollerith założył
firmę Tabulating Machine. Jej celem było budowanie urządzeń do przechowywania danych na kartach perforowanych. W 1911 roku firma połączyła
się z trzema innymi korporacjami tworząc Computing Tabulating Recording Corporation - CTR. W 1924 roku firma przyjęła nazwę, do dziś bardzo
dobrze znaną IBM - International Business Machines.
W latach czterdziestych ubiegłego wieku pojawiły pierwsze komputery przechowujące dane oraz program w pamięci operacyjnej, zgodnie z
architekturą von Neumanna. Początkowo były wykorzystywane do obliczeń numerycznych i naukowych. W tym samym czasie konkurent, firma Univac
opracował technologię składowania danych na taśmie magnetycznej, która mogła pomieścić tyle danych ile przechowywanych jest na dziesięciu
tysiącach kart magnetycznych.
Po raz pierwszy termin baza danych pojawił się w 1963 roku, natomiast powszechnie zaczął być używany w latach siedemdziesiątych XX wieku.
Rozwój baz danych był ściśle powiązany z rozwojem techniki i sposobów przechowywania danych. Pojawiły się wtedy między innymi taśmy
magnetyczne i karty dziurkowane. Pojawienie się tych nośników wymusiło uszeregowanie danych, i co za tym idzie powstanie dwóch modeli danych.
Model sieciowy i hierarchiczny. W latach siedemdziesiątych dr Edgar Ted
Codd z IBM pokazał światu relacyjny model danych. Model ten
przechowywał
dane w plikach liniowych, które były nazywane tabelami. Zaletą modelu
danych został
wprowadzony język SQL.
Kolejnym ważnym krokiem w historii powstawania baz danych jest pojawienie się
przestrzeni ostatnich lat
relacyjnego jest jego prostota. Dla ułatwienia obsługi bazy
prac nad standaryzacją obiektowych baz danych. Na
technologia obiektowa zaczęła rozprzestrzeniać się w szybkim tempie.
1 Część opisowa
W poprzednim rozdziale krótko scharakteryzowana została historia baz danych. W tym rozdziale zostaną przedstawione najważniejsze typy baz
danych takie jak:
• relacyjne bazy danych
• obiektowe bazy danych
• obiektowo-relacyjne bazy danych
• multimedialne bazy danych
• bazy tekstowe
• bazy literaturowe
• czasopisma online
• bazy chemiczne i biochemiczne
Zasady działania baz danych
Dane znajdujące się w bazach danych zapisywane są przeważnie jako plik o określonej strukturze. Wszystkie wpisy nazywane są rekordami, a
rekordy składają się z pól.
Najczęściej spotykany typ bazy danych to bazy relacyjne, w których dane grupuje się w powiązanych ze sobą tablicach zwanymi relacjami.
Większość baz działa w oparciu o model klient-serwer. Serwer posiada cechy odpowiadające systemowi operacyjnemu, tzn. pozwala na
administrowanie kontami użytkowników, a także pomaga określić uprawnienia dostępu do bazy. Moduł klienta umożliwia administrowanie bazą
danych, a także pozwala przeglądać jej zawartość.
Relacyjne bazy danych
Model relacyjnych baz danych został zaprezentował w 1970 roku dr Edgar Ted Codd. Bazy relacyjne organizują dane w zbiorach, które nazywamy
relacjami. Można je łatwo zobrazować w postaci dwuwymiarowej tabeli. Każdy zbiór rekordów jest opisany przez zbiór atrybutów. Pojedynczej
kolumnie tabeli odpowiada jeden atrybut, który jest powiązany z typem danych, czyli dziedziną dopuszczalnych wartości. Wiersz tabeli jest nazywany
krotką. Wymaga się, aby wartość atrybutu nie była zbiorem wartości, oraz dla każdej relacji musi istnieć atrybut, który identyfikuje konkretną krotkę.
Zbiór atrybutów nazywamy nadkluczem. Jeśli relacja zawiera powyżej jednego klucza, zostaje wyróżniony tak zwany klucz główny. W relacjach
występują także klucze obce. Są to atrybuty, które przyjmują wartość klucza innej relacji, a dokładniej powiązania między krotkami.
Schematem relacji jest zbiór
R={A1, A2, ...An}
gdzie A1,A2, ...An są atrybutami, czyli nazwami kolumn.
Każdy atrybut ma przyporządkowaną dziedzinę, czyli dopuszczalny zbiór wartości.
Dane znajdujące się w relacyjnej bazie danych możemy podzielić na kilka rodzajów:
• znakowy (ang. character)- dane mogą przybierać tylko postać wartości alfabetycznych
• liczbowy (ang. number) - dane mogą przybierać tylko postać liczb
• logiczny (ang. logical) - dane mogą być tylko typu prawda lub fałsz
• data (ang. date) - przyjmowane są dane tylko w postaci daty
• numeryczny (ang. numeric) - dane mogą przybierać tylko postać cyfr, oraz znaków plus(+), oraz minus(-)
• alfanumeryczny (ang. alphanumeric) - dane są przyjmowane jako wartości znaków ASCII, a także cyfry
• walutowy (ang. currency) - przyjmowane są jako dane liczbowe wraz z symbolem waluty
• graficzny (ang. graphic) - przechowywane są np. rysunki, obrazy
• binarny ( ang. bonary) - dane mogą być plikami wideo, lub plikami dźwiekowymi
• notatnikowy (ang. memo) - dane są oddzielnymi zbiorami tekstowymi, służą do przechowywania różnego rodzaju opisów
Relacje w relacyjnych bazach danych można podzielić na trzy kategorie:
• Relacja jeden do jednego
• Relacja jeden do wielu
• Relacja wiele do wielu
Relacje jeden do jednego
Relacja tego typu charakteryzuje się tym, że dla instancji jednego z dwóch rekordów istnieje tylko jedna instancja z drugiego rekordu. Jest to dosyć
rzadko spotykany typ relacji. Relacje tego typu stosowane są sporadycznie do podziału tabeli z dużą ilością pól, aby odizolować część tabeli ze
wsględów bezpieczeństwa
Rys. Schemat relacji jeden do jednego
Relacje jeden do wielu
Relacje typu jeden do wielu charakteryzuje się tym, że dla instancji jednego rekordu istnieje więcej niż jedna instancja drugiego rekordu. Relacja
tworzy się poprzez dodanie atrybutu w rekordzie „wiele", w celu umieszczenia z nim klucza rekordu, który znajduję się po stronie
„jeden"., Atrybut, który został umieszczony po stronie wiele nazywamy kluczem głównym. Relacja tego typu jest najbardziej popularnym typem
relacji.
Rys. Przykład relacji jeden do wielu
Relacje typu wiele do wielu
W tej relacji rekord z pierwszej tabeli może mieć kilka dopasowań rekordów z drugiej tabeli, i rekord z drugiej tabeli może posiadać kilka dopasowań z
tabeli pierwszej. Taka możliwość istnieje dzięki stworzeniu trzeciej tabeli, w której klucz podstawowy (ang. primary key) składa się z dwóch pól: kluczy
obcych z pierwszej i drugiej tabeli. Relacja tego typu jest opisywana jako dwie relacje jeden do jednego z dodatkową trzecią tabelą.
Rys. Przykład relacji wiele do wielu
Tabele
Tabele są to dwuwymiarowe tablice składające się z wierszy i kolumn. Kolumny nazywamy atrybutami, natomiast wiersze krotkami. Wierszem tabeli
jest rekord, a pole jest kolumną wiersza tabeli. W tabeli znajduje się kilka pól, które tworzą klucz główny (ang. primary key). W przeciwieństwie do
modelu hierarchicznego, w relacyjnych bazach danych tabele są niezależne. W modelu hierarchicznym występuje połączenie wskaźnikowe. W
tabelach relacyjnych znajduje się połączenie wskaźnikowe.
Klucze główne i obce
Klucze w bazach danych są podstawowym składnikiem. Są niezbędne tabelom do powiązania ze sobą dwóch lub większej ilości tabel. Obsługa bazy
danych zależy od możliwości określenia wiersza w tabeli przy użyciu klucza głównego.
Klucz główny
Klucz główny (ang. Primary key), jest to kolumna lub kilka kolumn, które jednoznacznie określają wiersz w tabeli.
Klucz obcy
Klucz obcy jest to kolumna lub kilka kolumn, który jest kluczem głównym w innej tabeli. Połączenie jest utworzone poprzez zaznaczenie, że wartość w
tabeli gdzie znajduje się klucz obcy, jest związana z drugą tabelą, gdzie znajduje się klucz główny. Wartość klucza obcego musi być powiązana z
kluczem głównym.
Relacyjne bazy danych wprowadziły wiele ulepszeń w stosunku do sieciowych i hierarchicznych baz danych:
• Bazy tego typu bazują na tabelach i kolumnach. Jest to proste i łatwe do zrozumienia. Użytkownik otrzymuje czytelny i prosty model danych.
Diagram, których używany w hierarchicznych i sieciowych bazach danych nie występują w relacyjnym modelu baz danych.
• Dane są niezależne i dzięki temu mamy możliwość modyfikowania ich struktury, nie zakłócając jednocześnie pracy istniejących programów.
Mamy taką możliwość, ponieważ tabele nie są połączone ze sobą na sztywno. Do tabel można dodawać kolumny. Nowe relacje są tworzone bez
wprowadzania dużych zmian do tabel. Relacyjne bazy danych tworzą wyższy poziom niezależności danych w porównaniu do sieciowych i
hierarchicznych baz danych.
• Wykorzystując język SQL wprowadza tylko warunki, w jaki sposób mają być wyszukiwane dane. Zadaniem systemu jest znalezienie danych
spełniających warunki wyszukiwania. W bazach danych nawigacja jest niewidoczna dla użytkownika końcowego. W porównaniu do języka DML
użytkownik musi znać szczegóły wyznaczające ścieżkę dostępu do danych.
Obiekowe bazy danych
Technologia tworzenia obiektowych baz danych, w ostatnim czasie rozwija się bardzo szybko. Jest widoczne nastawienie w tworzeniu baz danych w
koncepcji obiektowej.
Istnieje kilka definicji architektury obiektowych baz danych.
Pierwsza jest to architektura zaproponowana przez ANSI/SPARC, która wyróżnia trzy poziomy.
• Poziom pojęciowy systemu, jest wspólny dla wszystkich użytkowników
• Poziom zewnętrzny, indywidualny dla każdego użytkownika
• Poziom fizyczny, odnosi się do implementacji bazy danych
Kolejnym rodzajem jest architektura klient-serwer. Występuje w niej podział na serwer bazy danych, oraz klienta. Zadaniem serwera jest na przykład
wykonywanie wyrażeń SQL wysyłanych przez klienta.
Bardziej zaawansowane od wyżej wymienionych są architektury trzywarstwowe lub wielowarstwowe. Architektura trzywarstwowa charakteryzuje się
podziałem na warstwy takie jak:
• interfejs użytkownika
• logikę przetwarzania
• bazę danych
Są one zaprojektowane niezależnie. Ma to duże znaczenie dla utrzymania całego systemu. W każdej chwili możemy zmieniać dowolną warstwę bez
ingerencji w pozostałe warstwy. Jeśli warstwa środkowa jest złożona z kilku warstw to nazywamy ją architekturą wielowarstwową.
Rysunek 1.
Przykładowa architektura obiektowego systemu zarządzania bazą danych.
Żródło obrazka
http://www.ipipan.waw.pl/~subieta/artykuly/slownik_obiektowosci/Image5.gif
Funkcje systemu zarządzania bazą danych
System zarządzania bazą danych jest to oprogramowanie , które umożliwia korzystanie z informacji, które znajdują się w bazie danych.
Funkcje:
• opis struktur danych
• korzystanie z bazy
• tworzenie aplikacji korzystających z bazy danych
• zapewnienie poprawności przechowywania danych
• zapewnienie tajności danych
• niezawodność
Kartotekowe bazy danych
Kartotekowe bazy danych składają się z rekordów, które przechowywane są w pliku na dysku.
Nazwa Cena Indeks Ilość Jakość
Klocek ham. 120,50 HAM-001 2 After Market
Tarcza ham. 150,25 HAM-002 4 After Market
Zacisk ham. 452,24 HAM-005 4 OEM
Przewód ham. 23,32 HAM-121 4 OEM
• Wszystkie rekordy składają się z pól
• Pola nie muszą być jednego typu
• Jeden rekord odnosi się do jednego rzeczywistego obiektu
Dużą zaletą i ułatwieniem jest możliwość wyszukiwania i sortowania po indeksie.
Strukturalne bazy danych
Dane strukturalne, mogą być również nazywane danymi sterowanymi szablonami. Są przechowywane w bazach danych, w systemach
bibliotekarskich, lub w środowisku wykonawczym w bazach danych XML. Zasoby danych strukturalnych są tworzone przez mechanizm zasobów.
Upraszczają one dostęp podczas wykonywania danych sterowanych, oferują także jednolity dostęp do danych serwisu dla programistów. Mechanizm
zasobów jest warstwą abstrakcyjną, pozwalającą definiować dane w systemie i użytkowników.
Zasób jest klasą JAVA, która definiuje właściwości obiektu danych i obiektu użytkownika. Można powiedzieć, że zasób to odpowiednik schematu bay
danych, gdzie nazwy i typy kolumn zostały zdefiniowane w tabeli bazy danych.
Instancja zasobu jest instancją klasy zasobu. Odpowiada wierszowi w bazie danych, ponieważ zawiera aktualne wartości właściwości zdefiniowanej
przez zasób.
Kolekcja zasobu, jest instancją klasy zasobu. Odpowiada tabeli bazy danych.
Kolekcja zasobu jest definiowana poprzez stworzenie trzech lub czterech klas JAVA i ich rejestracje w mechanizmie zasobów pod nazwą kolekcji
zasobu. Pierwsza klasa określa zestaw właściwości.. Są one dowolnego typu JAVA (string, int). Druga klasa zawiera metody dotyczące cyklu życia
zasobu (create, delete). Powyższa klasa może być podzielona na dwie klasy. Czwartą klasę tworzy się w celu zarządzania zasobami środowiska
tworzonych danych.
Zasób to dowolne dane użytkownika, dane WWW, grafika, skrypt Javascript. Pochodzą one zazwyczaj z różnego typu baz danych, zawierających
dane o użytkownikach. Każdy zasób posiada stałe atrybuty zdefiniowane przez schemat zasobu. Do zdefiniowania kolekcji zasobu niezbędny jest
zestaw klas JAVA z interfejsem API. Powstała kolekcja obejmuje pliki takie jak *.class, *.jar, oraz *.hrf - XML.
Tekstowe bazy danych
Bazy tekstowe są dziś jednymi z najbardziej popularnych baz danych, zawierająca podstawowe informacje o produkcie. Jest możliwość wyszukania
konkretnego rekordu, wraz z informacjami dodatkowymi.
Bazy literaturowe
Bazy tego typu są popularne, ale tylko w określonych instytucjach, przede wszystkim w środowiskach naukowych. Zawierają one podstawową
informację o publikacjach naukowych, z podziałem na dziedziny nauki. Ponieważ ilość prac naukowych i publikacji jest ogromna, wymaga ona
gromadzenia informacji w nich zawartych. Niezbędna jest także możliwość efektywnego przeszukiwania i przeglądania prac.
Czasopisma on-line
Kolejną grupą danych dostępnych w internecie, są czasopisma. Mogą być one udostępniane przez czasopisma, oraz różnego rodzaju firmy,
zazwyczaj odpłatnie, po wykupieniu prenumeraty.
Bazy chemiczne i biochemiczne
Bazy tego typu są jednym z rodzajów tekstowych baz danych. Ilość danych znajdująca się w tym typie bazy jest ogromna, dlatego musimy je
przeglądać przy użyciu komputera.
Bazy multimedialne
Rozwój technik informatycznych przyspieszył rozwój multimedialnych baz danych. Dane multimedialne oprócz informacji tekstowej zawierają także
informacje dźwiękową, bądź graficzną. Do najciekawszych baz tego typu należą słowniki multimedialne, encyklopedie, bądź leksykony.
Dostęp do bazy danych
Dostęp może być realizowany na różne sposoby, od dostępu lokalnego na komputerze, gdzie znajduje się baza danych, przez dostęp w sieci internet.
Do przeglądania bazy danych wykorzystujemy różnorakie oprogramowanie, instalowane na komputerze z bazą danych, lub umożliwiające dostęp
zdalny.
Oprogramowanie klient-serwer
W standardowych aplikacjach komputer z zawartą na nim bazą danych posiada oprogramowanie, które umożliwia udostępnianie danych. Komputer z
którego uzyskiwany jest dostęp do bazy danych powinien mieć zainstalowane oprogramowanie, dzięki któremu mamy możliwość przeglądania,
modyfikacji, oraz przeszukiwania danych znajdujących się w bazie. Powyższe rozwiązanie jest stosowane głównie w sieciach lokalnych. W podobny
sposób organizowany jest dostęp do baz dostępnych przez sieć internet.
Ultranet
Jest przykładem oprogramowania instalowanego na komputerze użytkownika. Dostęp do danych jest uzyskiwany poprzez sieć Internet przy użyciu
dedykowanego serwera.
WWW
Rozwój sieci internet, oraz narzędzie z nią powiązanych pozwolił na wykorzystanie ich podczas udostępniania i wykorzystywania różnego typ baz
danych. Najpopularniejsze przeglądarki internetowe mogą zostać wykorzystane jako jako narzędzie pozwalające na przeszukiwanie, czy
przeglądanie baz danych różnego typu na przykład bazy tekstowe, bazy literaturowe, kończąc na bazach multimedialnych.
PostScript
Jest standardowym formatem dokumentów, pozwalający na wydruk danych na drukarce. Dokument tego typu można zapisać na dysku i oglądać. Jest
to jednocześnie język programowania.
PDF
PDF czyli Portable Data Format jest najbardziej popularnych formatem dokumentów. Dokument zapisany w takim formacie jest zazwyczaj o połowę
mniejszy niż ten sam dokument zapisany w PostScript.
Modele baz danych
Baza danych jest to kolekcja powiązanych informacji w pamięci dysku, jest udostępniana na określonych zasadach jej użytkownikom.
Baza danych jest zbiorem danych, które posiadają określoną strukturę, a także jest możliwość wykonywania na nich określonych operacji. Baza od
początku istnienia jest utrzymywana w konkretnym celu, tak aby być przydatną dla określonej grupy odbiorców.
Użytkowników baz danych można podzielić na kilka grup.
• Programista - jest odpowiedzialny za tworzenie kodu programu, oraz aplikacji korzystających z baz danych
• Użytkownik - jest to osoba bezpośrednio korzystają z systemu. Dostęp do bazy danych zyskują zazwyczaj przy użyciu jednej z aplikacji.
Aplikacja może być dostarczana razem z oprogramowaniem, np. MySQL, i powiązana z nim aplikacja PhpMyAdmin.
• administrator bazy danych - jest osobą odpowiadającą za informacje, które zawiera baza danych. Najważniejszym zadaniem administratora
jest decydowanie, które dane są niezbędne do przechowywania, określenie zasad konserwacji bazy danych, określenie praw dostępu, a także
usuwanie zbędnych informacji.
Do systemu baz danych mogą napływać trzy rodzaje zapytań, które dzielimy na:
Zapytania, czyli pytania o dane. Mogą być sformułowane poprzez interfejs zapytań bezpośrednich, lub za pośrednictwem programu stworzonego na
potrzeby obsługi dostępu do bazy danych.
Aktualizacje, są to operacje polegające na modyfikacji istniejących danych. W tym przypadku również mamy możliwość realizować zapytanie poprzez
interfejs użytkownika, lub poprzez bezpośrednie zapytanie. Baza danych jest projektowana przeważnie dla celów zarządzania kolekcjami danych.
Zarządzanie danymi obejmuje
• Struktury definiujące modelowanie danych
• Mechanizmy służące do manipulowania danymi, są to struktury systemowe, modyfikowanie i kasowanie danych
• Narzędzia i mechanizmy ułatwiające administrację i raportowanie danych
• Zabezpieczenie danych, tworzenie kopii bezpieczeństwa
Komercyjne systemy zarządzania bazą danych
• IBM DB2
• Informix
• Microsoft Access
• Microsoft SQL Server
• Oracle
• Postgres
• MySQL
Model danych możemy podzielić na kilka aspektów:
Aspekt strukturalny, jest to zbiór danych, operacji a także zależności pomiędzy danymi.
Aspekt semantyczny, polega na ustaleniu znaczenia struktur danych względem świata rzeczywistego, a także określeniu wartości operacji.
Aspekt pragmatyczny, to określenie zasad wykorzystania modelu w systemie baz danych, służące do rozwiązania konkretnych problemów.
Model danych jest to zestaw pojęć użytych do opisania świata zewnętrznego. Jest to język, w którym analityk tworzy swoją wizję systemu.
Wykorzystany model ma istotny wpływ na przebieg projektu, oraz na uzyskane efekty działania systemu informatycznego.
Metodyka projektowania baz danych
Część praktyczna
Wykorzystane oprogramowanie
MyPhpAdmin
Narzędzie powstało w 1998 roku. Pracę nad nim zapoczątkował Tobias Ratschiller. W 2000 roku pracę nad projektem przejęła inna grupa
programistów, co zaowocowało powstaniem nowej wersji oprogramowania we wrześniu 2000 roku. Od tego czasu jest ono cały czas rozwijane i stało
się jednym z najbardziej popularnych narzędzi tego typu.
Jest to narzędzie które służy do zarządzania bazami danych, stworzonymi przy użyciu MySQL, napisanych w PHP. Aplikacja ma wbudowany procesor
zapytań, który umożliwia użytkownikowi wydawanie poleceń, które następnie są tłumaczone na zapytanie do bazy (np. SELECT, INSERT)
Jest to oprogramowanie darmowe, powstało na licencji GNU, czyli General Public License. Pozwala ono na tworzenie, usuwanie baz danych, możemy
także dodawać i kasować relacje, oraz edytować ich struktury z zawartości. Wszystkie operacje przeprowadzane są przy użyciu przeglądarki
internetowej. Mamy do dyspozycji środowisko graficzne, które znacząco ułatwia pracę.
Okno główne programu
Xampp
Jest to darmowy, działający na wielu platformach systemowych pakiet. Składa się on przede wszystkim z serwera Apache, bazy danych MySQL, oraz
interpreterów skryptówm powstałych w PERLu, oraz PHP. Nazwa jest akronimem od X (and. cross-platform), Apache, MySQL, PHP, Perl. Program
ten, podobnie jak PhpMyAdmin jest dystrybuowany na licencji GNU, czyli General Public License. Jest darmowym serwerem WWW do obsługi stron.
Obecnie jest dostępny na platformy takie jak:
• Microsoft Windows
•
Linux
• Sun Solaris
• OS X
Na system Windows aplikacja jest dostępna w wersji Portable, i jest o tyle wygodna, że nie wymaga instalacji w systemie operacyjnym, i może być
przenoszona np. na pendrive.
Okno główne programu:
NetBeans
Jest to otwarty projekt, którego zadaniem jest dostarczanie narzędzi programowania.
Platforma powstała w Czechach jako projekt studencki, i miała być alternatywą dla Delphi dla Javy. Początkowo nazywała się Xelfi. Pod koniec 1999
roku projekt został wykupiony przez Sun Microsystems. W tym samym czasie firma wykupiła również firmę Forte, co skutkowało w niedalekiej
przyszłości zmiana nazwy IDE z NetBeans na Forte for Java, i nazwa nie była przez jakiś czas używana. Po sześciu miesiącach firma zdecydowała
się na upublicznienie źródeł programu na licencji Common Development and Distribution License.
Najważniejszymi produktami są NetBeans IDE, oraz NetBeans Platform.
NetBeans IDE, to środowisko programowania w języku JAVA, jego celem jest przyspieszenie powstawania aplikacji Java, usług sieciowych, a także
aplikacji mobilnych.
NetBeans Platform przy użyciu gotowej bazy i udostępnianych usług pozwala znacznie skrócić czas trwania budowy aplikacji.
Wykorzystane technologie
InnoDB
Jest to mechanizm składowania danych, stworzony przez Innobase Oy, która w 2006 roku została przejęta przez Oracle Corporation. Jest
dystrybuowany na licencji GNU General Public License. Obecnie można go znaleźć w wielu wersjach MySQL, a od wersji 5.5 jest mechanizmem
domyślnym. Zastosowanie tego mechanizmu pozwala na korzystanie z transakcji, oraz kluczy obych. Jest również zgodny ze standardem ACID. Silnik
ten dostarcza dwa sposoby magazynowania danych: plik, oraz grupa plików wspólne dla baz i tabel. Ważną cechą jest też możliwość blokady na
poziomie wierszy, oraz kompresja danych.
/architektura InnoDB
http://3.bp.blogspot.com/-XJLxkA2n-8M/VQlXJ_nXL8I/AAAAAAAAAgU/-587ONTtm3k/s1600/io_part2.png
Profiling
MySQL udostępnia użytkownikowi mechanizmy, dzięki którym wiadomo co dzieje się z zapytaniem - w jaki sposób jest ono wykonywane, oraz jaki typ
operacji jest przeprowadzany na tabelach. Tam mechanizmem jest Profiler. Uruchamiamy go za pomocą polecenia:
SET PROFILING=1;
Powyższa zmienna jest ustawiana dla sesji, i nie dotyczy zapytań wykonywanych przez serwer SQL. Jest to bardzo przydatne, gdyż ilość pamięci
Profilera obejmuje tylko 100 zapytań, funkcja ta ustawiana jest zmienną "profiling_history_size". Trzeba także pamiętać, że pozostałe zapytania
również obciążają serwer, co może prowadzić do uzyskania nieprawidłowych wyników testu.
Bootstrap
Jest to bardzo rozbudowane narzędzie zawierające zbiór najbardziej popularnych struktór HTML. Został dodany JavaScript, który umożliwia
dodawanie interaktywnych elementów takich jak, rozwijane menu, podpowiedzi w formie "dymków" i wiele innych. Aby utworzyć styl dla konkretnego
elementu, trzeba nadać klasę.
Opis wykonanych prac
Projekt został wykonany przy użyciu oprogramowania Netbeans IDE. Przy tworzeniu aplikacji niezbędne było stworzenie domyślnej kopii projektu do
folderu /Htdocs znajdującego się w głównym katalogu programu Xampp. Wykonanie takiej czynności jest niezbędne aby później móc zaimportować
bazę danych do programu PhpMyAdmin, i dzięki temu uruchomić aplikację, wraz z bazą danych.
W celu uzyskania połączenia z bazą danych niezbędne jest wprowadzenie danych do serwera na którym będziemy się logować i na którym będzie
działała aplikacja.
Nawiązanie połączenia odbywa się poprzez stworzenie instancji klasy mysqli. W konstruktorze muszą znaleźć się cztery wartości:
• nazwa hosta
• nazwa użytkownika
• hasło użytkownika
• nazwa używanej bazy danych
Tabele bazy danych
Order_user - przechowuje dane odnośnie zamówienia konkretnego użytkownika. Zawiera pola takie jak:
• ID
• ID użytkownika
• Data zakupu
Products - przechowuje dane na temat produktów oferowanych w Sklepie
internetowym. Zawiera pola takie jak:
• ID
• Nazwa produktu
• Opis produktu
• Cena
Products_order - zawiera informacje na temat zamówionych produktów. Zawiera
• ID
• ID zamówienia
• ID produktu
• Ilość zamówionych produktów
• Cena
User- zawiera informacje na temat użytkowników. Zawiera pola:
• ID użytkownika
• Imię
• Nazwisko
następujące pola:
• E-mail
• Login
• Hasło
W aplikacji mamy możliwość rejestracji nowych użytkowników. Odbywa się to poprzez pole Rejestracja. Niezbędne jest wprowadzenie takich
informacji jak: Imię, nazwisko, adres e-mail, login i hasło do aplikacji.
Wygląd aplikacji
1. Okno logowania i wyboru bazy danych
3. Czas zapytania do bazy danych
3. Łączny czas zapytania
2 Część praktyczna - badania, program
Opis własnego oprogramowania zaprojektowanego dla celów dydaktycznych lub naukowych. Możliwe jest przeprowadzenie badań. Jest to
najważniejsza część pracy, dlatego powinien być to najobszerniejszy rozdział.
2.1 Obiekt badań
2.2 Środowisko badawcze
2.3 Przebieg badań
2.4 Wyniki badań
2.5 Wnioski
Podsumowanie
Dyskusja nad dalszym rozwojem pracy. Wnioski. Omówienie wyników. Co zrobiono w pracy i jakie uzyskano wyniki? Czy i w jakim zakresie praca
stanowi nowe ujęcie problemu? Sposób wykorzystania pracy (publikacja, udostępnienie instytucjom, materiał źródłowy dla studentów). Co uważa
autor za własne osiągnięcia?
Literatura
[1] Przelaskowski A., Kompresja danych, skrypt internetowy http://www.ire.pw.edu.pl, 2000 - październik 2005.
[2] http://www.rzepkowski.pl/elka/ - październik 2005.
[3] Skarbek W., Multimedia. Algorytmy i standardy kompresji, Akademicka Oficyna Wydawnicza PLJ, Warszawa, 1998.
[4] http://www.djworld.pl - październik 2005.
[5] Nowak J., Kowalski A, Tytuł artykułu, Czasoppismo, 1/2004, s. 21-23.
Dodatek A. Kod programu komputerowego
unit U_Main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Spin, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Krok: TBitBtn;
Start: TBitBtn;
Zamknij: TBitBtn;
PlikN: TLabel;
Wyn: TLabel;
SaveDialog: TSaveDialog;
OpenDialog: TOpenDialog;
Spocz: TLabel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ZamknijClick(Sender: TObject);
Dodatek B. Spis zawartości dołączonej płyty CD
Praca - niniejszy dokument
www - witryny internetowe wykorzystane w pracy
Progres - aplikacja systemu śledzenia ruchu w sekwencji wideo
Imię i nazwisko ............................
Częstochowa, dn. ..........................
Nr albumu .............................
Kierunek ..............................
Wydział ...............................
Politechnika Częstochowska
Szanowny Pan (i) Dziekan
OŚWIADCZENIE
Pod rygorem odpowiedzialności karnej oświadczam, że złożona przeze mnie praca dyplomowa pt.:
.........................................................................................
............................................................................................................................................
jest moim samodzielnym opracowaniem.
Jednocześnie oświadczam, że praca w całości lub we fragmentach nie została dotychczas przedłożona w żadnej szkole.
Niezależnie od art.239 Prawo o szkolnictwie wyższym wyrażam/ nie wyrażam* zgodę na nieodpłatne wykorzystanie przez Politechnikę
Częstochowską całości lub fragmentów w/w
pracy w publikacjach Politechniki Częstochowskiej.
..............................
Podpis
*/ nieodpowiednie skreślić.
Zrodlo: http://wklej.se/6dbc

Podobne dokumenty