Praca dyplomowa (8)


0x08 graphic

POLITECHNIKA ŁÓDZKA

WYDZIAŁ ELEKTROTECHNIKI I ELEKTRONIKI

INSTYTUT MECHATRONIKI I SYSTEMÓW INFORMATYCZNYCH

Studium : Dzienne

Kierunek : Elektrotechnika

Specjalność : Informatyka stosowana

Temat:

Autor:

                  • Wojciech Kwiatkowski

Nr albumu:

103770

Opiekun pracy:

                  • Prof. dr hab. inż. Sławomir Wiak

Łódź, dn. 1.03.2004

Spis treści:

1. Wstęp

2. Omówienie sposobu rozwiązania zadania, uzasadnienie

2.1. Telefonia komórkowa trzeciej generacji UMTS

2.2. Język skryptowy PHP

2.3. Serwer baz danych MySQL

2.4. Serwer WWW Apache

3. Realizacja projektu

3.1. Założenia - wymagania co do użyteczności, bezpieczeństwa, itp.

3.2. Stworzenie bazy danych - opis.

3.3. Stworzenie strony internetowej - sklep, interfejs do obsługi bazy danych. Weryfikacja, testy.

4. Wnioski.

5. Literatura.

  1. Wstęp.

Internet, jako medium bardzo szybko stał się częścią naszego życia. Szeroki wachlarz możliwości jaki oferuje użytkownikom powoduje, że już na stałe zagościł w wielu dziedzinach. Ogólnodostępność, łatwość oraz wygoda z korzystania zasobów Internetu są dziś głównymi atutami. Już nie trzeba wychodzić z domu aby dokonać transakcji bankowych, poszerzać swoją wiedzę ucząc się na nie tylko polskich uczelniach, czy uczestniczyć w ważnej konferencji, której odbycie się wymagałoby wielu środków w celu jej realizacji jak na przykład spotkanie sie uczestników w jednym miejscu, organizacja pomieszczeń itp.

Ze względu na wygodę i łatwość kontaktów z klientami Internet jest wręcz idealnym miejscem gdzie za pośrednictwem odpowiednio skonstruowanego systemu witryn WWW oferować można każdy rodzaj produktów w wirtualnym sklepie. Rozwiązanie takie nie jest ograniczone do określonych godzin otwarcia tradycyjnego sklepu - jest on czynny 24 godziny na dobę, siedem dni w tygodniu. Umożliwia zakupy klientom niepełnosprawnym, dla których samodzielne poruszanie sie po mieście może być wielką trudnością. Koszty prowadzenia wirtualnej działalności są znacznie mniejsze w porównaniu z tradycyjnymi sklepami, co może odzwierciedlać sie w atrakcyjności cenowej przedstawionych na witrynie WWW produktów.

Projektowi sklepu oferującemu produkty związane z telefonią komórkową trzeciej generacji UMTS poświęcona jest niniejsza praca inżynierska.

  1. Omówienie sposobu rozwiązania zadania

System obsługi sklepu oparty zostanie na serwerze baz danych MySQL. Do komunikacji między bazą danych a stroną WWW wykorzystany będzie język skryptowy PHP. Sama prezentacja odbywać się za pomocą języka HTML w przeglądarce internetowej użytkownika.

    1. Telefonia komórkowa trzeciej generacji UMTS

    1. Język skryptowy PHP

PHP jest szeroko używanym językiem skryptowym działającym po stronie serwera. Na stronie HTML można osadzić kod PHP, który zostanie wykonany ilekroć strona jest odwiedzana. Kod PHP jest interpretowany przez serwer WWW i tworzy on HTML lub inne wyniki, które następnie są wysyłane do przeglądarki klienta.

PHP jest tworzone na zasadach Open Source. Oznacza to dostęp do jego kodu źródłowego, który można bezpłatnie wykorzystywać, zmieniać i redystrybuować.

2.2.1. Historia PHP

PHP wywodzi się ze starszego produktu, PHP/FI. PHP/FI został stworzony przez Rasmusa Lerdorfa w 1995 roku, wstępnie jako zestaw skryptów w Perl-u do śledzenia jego powrotów do bycia w sieci. Zestaw tych skryptów został nazwany „Personal Home Page Tools”. Kiedy wymagana była większa funkcjonalność, Rasmus pisał kolejną implementację w C, dzięki czemu pojawiła się zdolność do komunikacji z bazami danych i możliwość tworzenia przez użytkowników prostych dynamicznych aplikacji internetowych. Rasmus wybrał udostępnienie kodu źródłowego PHP/FI dla wszystkich, aby każdy mógł go używać, na tyle, na ile pozwalały błędy, oraz rozwijać kod.

PHP/FI oznaczał „Personal Home Page / Forms Interpreter”, zawierał niektóre z podstawowych funkcjonalności PHP, które są znane obecnie. Posiadał zmienne podobne do zmiennych z języka Perl, automatyczną interpretację zmiennych formularza oraz osadzoną składnię HTML. Jego własna składnia była podobna do tej z Perl-a aczkolwiek znacznie bardziej ograniczona, prostsza i w pewien sposób nielogiczna (niezgodna, sprzeczna, niekonsekwentna??).

Od roku 1997 PHP/FI 2.0, druga wersja implementacji C, miała kult, szacując kilku tysięcy użytkowników na całym świecie, co daje w przybliżeniu 50 tys. domen obsługujących tą wersję PHP, czyli ok. 1% domen w Internecie. Podczas gdy było kilka osób wnoszących wkład do kodu tego projektu, nadal był to projekt jednego człowieka.

PHP/FI 2.0 oficjalnie zostało oficjalnie wydane w listopadzie w 1997 roku, po spędzeniu większości jego życia w wydaniach wersji beta. Było to krótko po sukcesie pierwszych wersji alpha PHP 3.0.

PHP 3.0 był pierwszą wersją, która bliżej przypominała PHP znane dziś. Zostało stworzone przez Andi'ego Gutmans i Zeev'a Suraski w 1997 roku jako całkowicie przepisane, po tym jak znaleźli PHP/FI 2.0. Andi, Rasmus i Zeev zdecydowali się współpracować i ogłosić PHP 3.0 jako oficjalnego następcę PHP/FI 2.0, a prace nad PHP/FI 2.0 zostały zatrzymane.

Jedną z ogromnych zalet PHP 3.0 była bardzo rozszerzona funkcjonalność. Końcowy użytkownik otrzymał solidną infrastrukturę dla wielu różnych baz danych, protokołów i API, rozszerzone cechy PHP 3.0 zwróciły uwagę wielu (programistów) aby przyłączyć się i tworzyć nowe moduły rozszerzeń. Był to klucz do ogromnego sukcesu PHP 3.0. Inną właściwością wprowadzoną w PHP 3.0 było wsparcie dla obiektowo zorientowanej składni i znacznie bardziej potężna i logiczna zwięzła składnia języka.

Całkowicie nowy język został wypuszczony pod nową nazwą, to usunęło zamieszanie z ograniczonym użyciem prywatnej nazwy PHP/FI 2.0. Został on nazwany po prostu „PHP “, a skrót został zmieniony zgodnie z rekursywną konwencją nadawania nazw GNU (GNU = Gnu's Not Unix - Gnu Nie Unix) i oznacza obecnie PHP: Hypertext Preprocessor (PHP: Preprocesor Hipertekstu).

Do końca 1998 roku, PHP było używane przez dziesiątki tysięcy użytkowników (szacując) i było obsługiwane przez setki tysięcy stron. PHP 3.0 było zainstalowane na ok. 10% serwerów WWW w Internecie.

PHP 3.0 zostało oficjalnie wydane w czerwcu 1998 roku, po 9 miesiącach publiczne testowania.

Do zimy 1998 roku, krótko po oficjalnym wydaniu PHP 3.0 Andi Gutmans i Zeev Suraski zaczęli pracę nad przepisywaniem rdzenia PHP. Celem projektu było zwiększenie wydajności wszystkich aplikacji oraz zwiększenie modularności kodu bazowego PHP. Wykonanie niektórych aplikacji było możliwie przy pomocy najnowszych właściwości PHP i wsparcia dla różnorodnych baz danych oraz API, lecz PHP 3.0 nie było zaprojektowane aby skutecznie podołać tak złożonym operacjom

W nowym silniku „Zend” (nazwa pochodzi od imion twórców Zeev i Andi) powyższe cele zostały osiągnięte i po raz pierwszy został on zaprezentowany w 1999 roku. PHP 4.0 bazował na tym silniku oraz połączony był z wieloma nowymi dodatkowymi rozwiązaniami, został oficjalnie wydany w maju 2000 roku, prawie dwa lata po wydaniu jego poprzednika, PHP 3.0. W dodatku wysoko zwiększonej wydajności tej wersji, PHP 4.0 zawierało inne ważne właściwości takie jak wsparcie dla większej ilości serwerów WWW, sesje HTTP, buforowanie wyjścia, więcej bezpiecznych sposobów wprowadzania danych przez użytkownika oraz kilka nowych konstrukcji języka.

PHP 4.0 jest obecnie najnowszą wersją PHP. Praca już się zaczęła nad modyfikowaniem i unowocześnianiem silnika Zend, aby zintegrować jego właściwości, które były zaprojektowane dla PHP 5.0.

Dziś PHP jest używane przez setki tysięcy programistów (w przybliżeniu) i jest wykorzystywane na kilku milionach stron, co daje ok. 20% domen w Internecie.

Zespół twórców PHP składa się z kilkudziesięciu programistów oraz kilkudziesięciu innych osób pracujących nad projektami połączonymi z PHP, jak np. PEAR czy dokumentacja projektu.

Przyszłość PHP jest głównie uzależniona od jego rdzenia, silnika Zend. W PHP 5.0 będzie zwarty nowy silnik Zend 2.0. Więcej informacji na jego temat można znaleźć na stronie www.zend.com/zend/future.php.

Zalety PHP

Do głównych konkurentów PHP należą: Perl, Microsoft Active Server Pages (ASP), Java Server Pages (JSP) i Allaire Cold Fusion.

W porównaniu z tymi produktami PHP posiada wiele zalet, m. in.:

Poniżej znajduje się szczegółowy opis tych zalet:

PHP jest bardzo wydajny. Za pomocą pojedynczego niedrogiego serwera można obsłużyć wiele odwiedzin dziennie. Testy wydajności opublikowane przez Zend Technologies (http://www.zend.com) świadczą o znacznej przewadze PHP w tej dziedzinie.

PHP umożliwia bezpośrednią obsługę połączeń z wieloma systemami baz danych. Oprócz MySQL należą do nich PostgreSQL, mSQL, Oracle, dbm, filePro, Hyperwave, Informix, InterBa, Sybase i wiele innych.

Za pomocą ODBC (Open Database Connectivity Standard - Otwarty Standard Łączności z Bazami Danych) można łączyć się z dowolną bazą danych posiadającą sterownik ODBC. Zalicza się do nich m. in. produkty Microsoftu, a także wiele innych.

Ponieważ PHP został zaprojektowany do stosowania w sieci WWW, posiada wiele wbudowanych funkcji służących do wykonywania zadań z nią związanych. Za pomocą zaledwie kilku linii kodu możliwe jest tworzenie „w locie” obrazków GIF, łączenie z innymi usługami sieciowymi, wysyłanie poczty elektronicznej, praca z cookies oraz generowanie dokumentów PDF.

PHP jest bezpłatne. Można w dowolnym momencie pobrać najnowszą wersję ze strony www.php.net bez żadnych opłat.

Składnia PHP jest oparta na innych językach programowania, zwłaszcza C i Perlu. Osoby znające wcześniej C lub Perla (lub inny, podobny język, taki jak C++ lub Java) mogą posługiwać się PHP niemal od zaraz.

PHP jest dostępne dla wielu systemów operacyjnych. Kod PHP może być tworzony na darmowym, podobnym do Unixa systemie operacyjnym, takim jak Linux i FreeBSD, na komercyjnych wersjach Unixa, takich jak Solaris i IRIX, oraz na różnych wersjach Microsoft Windows.

Kod zazwyczaj będzie działał, bez konieczności dokonywania zmian, w różnych systemach obsługujących PHP.

Użytkownik posiada dostęp do kodu źródłowego PHP. Inaczej niż w przypadku programów komercyjnych, nie ma przeciwwskazań, jeżeli zachodzi konieczność modyfikacji lub dodania własności do języka.

Nie jest konieczne oczekiwanie, aż producent udostępni programy korygujące. Nie ma również znaczenia, że zaprzestanie działalności lub zdecyduje się na zakończenie obsługi programu.

    1. Serwer baz danych MySQL

MySQL jest najbardziej popularnym systemem zarządzania relacyjnymi bazami danych (relational database management system - RDBMS) na świecie. Jego architektura powoduje, że jest on niezwykle szybki, łatwy w obsłudze i konfiguracji.

MySQL rozpowszechniany może być jako produkt open source lub oprogramowanie komercyjne. Dostępny bez opłaty licencyjnej jest wydawany pod licencją GNU General Public License (GPL). Licencja komercyjna jest dostępna od twórców MySQL-a, firmy MySQL AB.

Strona internetowa MySQL-a www.mysql.com zawiera najświeższe informacje o MySQL-u i firmie MySQL AB oraz aktualną wersję oprogramowania.

Dostępne są cztery wersje serwera baz danych:

2.3.1. MySQL - systemem zarządzania relacyjnymi bazami danych

Baza danych jest układem zbioru danych. Może to być prosta lista zakupów lub olbrzymia ilość informacji w sieci korporacyjnej. Aby dodawać, mieć dostęp i przetwarzać dane zgromadzone w komputerowej bazie danych, potrzeba systemu zarządzania bazą danych. Odkąd komputery radzą sobie bardzo dobrze z przetwarzaniem dużych ilościami danych, systemy zarządzania bazą danych odgrywają główną rolę w obliczeniach, jako pojedyncze urządzenia lub jako części innych aplikacji.

Relacyjna baza danych przechowuje dane w odrębnych tabelach lepiej niż poprzez umieszczenie wszystkich danych w jednej miejscu. To rozwiązanie powoduje wzrost szybkości i elastyczności. Skrót SQL w nazwie MySQL oznacza “Structured Query Language” - strukturalny język zapytań. SQL jest najbardziej rozpowszechnionym ustandaryzowanym językiem używanym do dostępu do baz danych i jest zdefiniowany przez ANSI/ISO SQL Standard.

2.3.2. Oprogramowanie MySQL jest Open Source

Open Source oznacza, że każdy może używać i modyfikować oprogramowanie. Każdy może pobrać oprogramowanie MySQL z Internetu nic z nie nie płacąc. Można poznać kod źródłowy i zmienić go według własnych potrzeb. Oprogramowanie MySQL używa licencji GPL (GNU General Public License, www.fsf.org/licenses), określa ona co można i czego nie można robić z oprogramowaniem w różnych sytuacjach. Jeśli potrzeba osadzonego kodu, MySQL w komercyjnych aplikacjach, można kupić komercyjną wersję.

2.3.3. Dlaczego używać serwera baz danych MySQL?

Serwer baz danych MySQL jest bardzo szybki, solidny i łatwy w użyciu. Serwer MySQL również posiada praktyczny zestaw cech zaprojektowanych w bliskiej współpracy z jego użytkownikami. Można znaleźć porównanie wydajności serwera MySQL z innymi systemami zarządzania bazami danych na stronie internetowej z testami. Serwer MySQL został pierwotnie zaprojektowany, aby podołać wielkim bazom danych dużo szybciej niż istniejące rozwiązania i jest skutecznie używany w bardzo wymagających środowiskach produkcyjnych od kilku lat. Pomimo ciągłego rozwoju, serwer MySQL oferuje dziś bogaty i użyteczny zestaw funkcji. Jego zdolność połączeń, szybkość i bezpieczeństwo powodują, że serwer MySQL jest świetnie przystosowany do dostępu do baz danych poprzez Internet.

2.3.4. Właściwości serwera MySQL

2.3.4.1. Wsparcie dla składni ANSI SQL

Serwer baz danych MySQL wspiera szeroki zestaw składni ANSI SQL 99 z dodatkowymi rozszerzeniami takimi jak wyrażenie REPLACE i warunek LIMIT dla SELECT oraz DELETE.

Wspierane są również alternatywne składnie z innych systemów baz danych, aby łatwiej tworzyć aplikacje-porty. Pokrycie całkowitej składni ANSI SQL rozwija się, wraz z wersją 4.0 wprowadzając wsparcie dla wyrażenia UNION.

2.3.4.2. Wsparcie dla wielu platform

Dostępne są programy binarne na wiele różnych platform systemowych włączając Linuksa, Microsoft Windows, FreeBSD, Sun Solaris, AIX IBM-a, Mac OS X, HP-UX, AIX, QNX, Novell Netware, SCO OpenUnix, SGI Irix i Dec OSF. Z serwerem MySQL można połączyć się ze wszystkich głównych platform, używając prawie każdego języka programowania.

2.3.4.3. Niezależne mechanizmy przechowywania

Wyjątkowe mechanizmy przechowywania serwera baz danych MySQL pozwalają na wybór najwłaściwszego typu bazy danych w zależności od potrzeb. Jeśli potrzeba szeregowo poziomu blokowania i wsparcia dla transakcji można użyć mechanizmu przechowywania InnoDB. Jeśli aplikacja nie wymaga transakcji można użyć mechanizmu przechowywania MyISAM dla największej wydajności.

2.3.4.4. Transakcje

Używając mechanizmu przechowywania InnoDB lub Berkeley DB (BDB) serwer MySQL wspiera transakcje. Mechanizm przechowywania InnoDB wspiera także wymuszanie obcego klucza.

2.3.4.5. Elastyczny bezpieczny system, zawierający wsparcie dla SSL

Serwer baz danych MySQL posiada zaawansowany system zezwoleń i bezpieczeństwa, zawiera wsparcie dla szyfrowania warstwy transportowej SSL. Od wersji 4.0 system bezpieczeństwa pozwala także ograniczyć zasoby serwera na podstawie użytkownika.

2.3.4.6. Korzystanie z pamięci cache w zapytaniach

Wersja 4.0 serwera zawiera nową pamięć podręczną cache zapytań, która może znacznie zwiększyć wydajność częstych zapytań, bez wymagania żadnego specjalnego oprogramowania. Wydajność może być zwiększona ponad 200% w typowych zastosowaniach.

2.3.4.7. Pełno tekstowe indeksowanie i wyszukiwanie

Pełno tekstowe indeksowanie pozwala wyszukiwać pola zawierające tekst dla określonych słów i wyrażeń, włączając rankingi związku z zapytaniem. Razem z wersją 4.0 rozszerzono wyszukiwanie pełnych tekstów włączając dokładne dopasowanie wyrażenia i boolowskie operatory wyszukiwań, które pozwalają na jeszcze lepszą kontrolę wyników wyszukiwania.

2.3.4.8. Osadzona biblioteka bazy danych

Używając osadzonej biblioteki bazy danych (libmysqld) można wykorzystać pełną moc serwera baz danych MySQL w aplikacjach oraz urządzeniach elektronicznych bez świadomości końcowego użytkownika na temat zasadniczej bazy danych. Osadzona baza danych jest idealna w zastosowaniach internetowych, publicznych sklepach, jednostkach sprzętowo-programowych, wysokowydajnych serwerach internetowych, bazach danych zawartych na płytach CD-ROM oraz w wielu innych.

2.3.4.9. Testy wydajności i porównanie właściwości

Twórcy MySQL starają się, aby ich produkt był jak najlepszy, opracowali program testujący wydajność ANSI SQL Standard Scalable And Portable (AS3AP). Wyniki można obejrzeć i porównać na stronie internetowej www.mysql.com/information/benchmarks.html lub pobrać program testujący wydajność i przeprowadzić własny test.

2.3.4.10. Wnętrze systemu MySQL

- Napisany w C i C++

- Testowany na szerokim zakresie różnych kompilatorów

- Używapoleceń GNU automake, autoconf i libtool

- API dla C, C++, Eiffel, Java, Perl, PHP, Python, Ruby i Tcl są dostępne.

- Pełna wielowątkowość używając wątków jądra. Oznacza to łatwe wykorzystanie wielu procesorów jeśli są dostępne.

- Dostarcza transakcyjnych i nietransakcyjnych mechanizmów przechowywania.

- Używa bardzo szybkich B-tree disk tabels (MyISAM) z kompresją indeksów.

- Stosunkowo łatwo do dodania innego mechanizmu przechowywania.

- Bardzo szybki, bazujący na wątkach system alokacji pamięci.

- Wewnątrz pamięciowe 'posiekane' (hash) tabele używane do tabel tymczasowych.

- Funkcje SQL są zaimplementowane poprzez wysoko zoptymalizowaną bibliotekę klas.

- Kod MySQL jest testowany przez narzędzie Purify (komercyjny wykrywacz wycieków pamięci) tak dobrze jak przez Valgrind, narzędzie na licencji GPL.

- Dostępny jako klient/serwer lub wersja osadzona wersja.

2.3.4.10.1. Typy kolumn

- Wiele typów kolumn: całkowite, całkowite nieujemne o dlugości 1, 2, 3,

4 i 8 bajtów, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME,

DATETIME, TIMESTAMP, YEAR, SET i ENUM .

- Rekordy o stalej i zmiennej dlugości.

2.3.4.10.2. Polecenia i funkcje

- Pełne wsparcie dla operatora i funkcji w warunkach zapytań dla SELECT i WHERE.

- Pełne wsparcie dla warunków SQL GROUP BY i ORDER BY. Wsparcie dla grup funkcji (COUNT(), COUNT(DISTINTC ...), AVG(), STD(), SUM(), MAX(), MIN() i GROUP_CONCAT()).

- Wsparcie dla LEFT OUTER JOIN i RIGHT OUTER JOIN w standardach składni SQL i ODBC.

- Wsparcie dla aliasów tabel i kolumn wymaganach tak jak w SQL-92.

- Polecenia DELETE, INSERT, REPLACE i UPDATE zwracają liczbę wierszy, które zostały zmienione.

- Specyficzne dla MySQL-a polecenie SHOW używane jest do wyszukiwania informacji o bazach danych, tabelach i indeksach. Polecenie EXPLAIN używane jest do ustalania jak optymizer rozwiązuje zapytania.

- Nazwy funkcji nie kolidują z nazwami tabeli lub kolumn, np. ABS jest prawidłową nazwą kolumny.

- Można mieszać tabele z różnych baz danych w jednym zapytaniu.

2.3.4.10.3. Bezpieczeństwo

- System przywilejów i haseł jest bardzo elastyczny i bezpieczny, pozwala na kontrolę na podstawie hosta. Hasła są bezpieczne, ponieważ cały ruch haseł jest zaszyfrowany, kiedy następuje połączenie z serwerem.

2.3.4.10.4. Skalowalność i ograniczenia

- Radzi sobie z dużymi bazami danych. Producenci MySQL używają serwera MySQL z bazami danych zawierającymi 50 milionów rekordów. Znają użytkowników, którzy używają serwera MySQL z 60 tysiącami tabel i ok. 5 miliardami wierszy.

- Dozwolone są więcej niż 32 indeky na tabelę. Każdy indeks może składać się z 1 do 16 kolumn lub części kolumn. Maksymalna szerokość indeksu to 500 bajtów (można zmienić tą wartość podczas kompilacji serwera MySQL). Indeks może używać prefiksu z kolumny CHAR lub VARCHAR.

2.3.4.10.5. Połączenia

- Klienci mogą łączyć się z serwerem MySQL używając gniazd TCP/IP na każdej platformie. Na systemach Unix, klienci mogą łączyć się używając uniksowych plików domen gniazd.

- Interfejs Connector/ODBC dostarcza wsparcia MySQL dla programów klientów, którzy używają polączeń ODBC (Open-DataBase-Connectivity). Np. można użyć MS Access aby połączyć się z serwerem MySQL. Klienci mogą używać Windowsa lub Unixa. Zródło Connector/ODBC są dostępne. Wszystkie funkcje ODBC 2.5 są wspierane, tak jak wiele innych.

2.3.4.10.6. Lokalizacja

- Serwer umożliwia wyświetlanie komunikatów błędów dla klientów w wielu językach.

- Pełne wsparcie dla kilku różnych zestawów znaków, właczając ISO-8859-1 (Latin1), german, big5, ujis i inne.

- Wszystkie dane są zapisane w wybranym zestawie znaków. Wszystkie porównania dla kolumn normalnego ciągu znaków są niewrażliwe na wielkość znaków.

- Sortowanie jest wykonane zgodnie z wybranym zestawem znaków. Nie można zmienić go, kiedy serwer MySQL jest juz uruchomiony. Serwer MySQL wspiera wiele różnych zestawów znaków, które mogą być określone przy kompilacji i uruchomieniu.

2.3.4.11. Klienci i narzędzia

Serwer MySQL posiada wbudowane wsparcie dla wyrażeń SQL do sprawdzania, optymalizowania i naprawiania tabel. Wyrażenia są dostępne z linii poleceń poprzez klienta 'mysqlcheck'. MySQL również zawiera 'myisamchk', bardzo szybkie narzędzie linii poleceń do wykonywania tych operacji na tabelach MyISAM.

2.3.4.12. Plany rozwoju

2.3.4.12.1. Obsługa zbioru znaków z pełnym wsparciem Unicode

Podczas gdy wcześniejsze wersje serwera baz danych mogły być skonfigurowane do wspierania określonego zestawu znaków, wersja 4.1 dodaje wsparcie dla różnych zbiorów znaków, które mogą być ustawione w serwerze, bazie danych, tabeli lub na poziomie pola tak dobrze jak ulepszone jest wsparcie dla konwertowania pomiędzy zestawami znaków. Nowe zbiory znaków zostały dodane dla przechowywania danych Unicode w kodowaniu UCS2 i UTF8.

2.3.4.12.2. Rozszerzone wsparcie dla podzapytań

Podzapytania pozwalają używać wyniku jednego zapytania jako składnik większego zapytania. Serwer MySQL już wspiera niektóre formy tej techniki, takie jak INSERT INTO ... SELECT ... i wsparcie to bedzie poszerzone w wersji 4.1 aby zawrzeć zagnieżdżone zapytania SELECT, które są jednymi z bardziej pożądanych nowych właściwości przez użytkowników.

2.3.4.12.3. GIS (Geometrical data - dane geometryczne)

Wersja 4.1 zawiera wsparcie dla podzestawu z SQL92 ze środowiskiem Typów Geometrii (Geometry Types) zaproponowanym przez Open GIS Consortium. Pozwala to na efektywne przechowywanie i manipulowanie danymi przestrzennymi, włączając dane geograficzne.

2.3.4.12.4. Replikacja multi-master

Replikacja multi-master będzie pozwalała serwerowi “slave” baz danych na śledzenie danych w wielu bazach danych “master“.

2.3.4.12.5. Widoki

Widoki pozwalają na konfigurowanie alternatywnych podglądów istniejących tabel bez zmieniania zasadniczej struktury tabeli. Mogą być użyte do nadawania limitowanego dostępu do tabel lub do łatwiejszego konstruowania pewnych typów zapytań. Widoki są obecnie zaplanowane w wersji 5.1.

  1. Realizacja projektu

    1. Cel i przeznaczenie

Projekt zakłada stworzenie sieciowej bazy danych oraz interfejsu dla sklepu internetowego, oferującego sprzęt i urządzenia przeznaczone do pracy w sieciach telefonii komórkowej trzeciej generacji - UMTS. Baza danych umożliwi przeglądanie oferty, rejestrację klientów oraz dokonywanie przez nich zakupów poprzez sieć Internet.

    1. Współpraca języka PHP, serwera MySQL i przeglądarki klienta

Tradycyjna komunikacja pomiędzy przeglądarką klienta a serwerem WWW jest przedstawiona na schemacie poniżej. Przeglądarka wysyła żądanie do serwera, serwer odpowiada wysyłając stronę WWW do przeglądarki. Tak generowane strony są statyczne.

0x08 graphic

Rysunek 3.1. Relacja klient-serwer między przeglądarką i serwem WWW

Komunikacja klient-serwer w systemach opartych na bazach danych mają bardziej złożoną strukturę.

0x08 graphic

Rysunek 3.2. Architektura internetowej bazy danych oprócz przeglądarki i serwera WWW zawiera interpreter PHP oraz serwer MySQL.

Działanie powyższego schematu można przedstawić za pomocą sześciu kroków.

  1. Przeglądarka internetowa użytkownika wysyła żądanie udostępnienia określonej strony WWW.

  2. Serwer WWW przyjmuje zapytanie, odnajduje właściwy plik i przekazuje go do interpretera PHP.

  3. Interpreter przetwarza skrypt, wewnątrz którego zawarte są polecenia połączenia z bazą danych i wysłania do niej określonego zapytania.

  4. Serwer MySQL przyjął zapytanie, przetworzył a wynik wysyła spowrotem do interpretera PHP.

  5. Interpreter otrzymał dane z serwera MySQL i kończy przetwarzać skrypt w wyniku czego postacią wyjściową jest strona w formacie HTML, przesyła ją do serwera WWW.

  6. Serwer WWW przesyła stronę w HTML-u do przeglądarki użytkownika. Przeglądarka wyświetli tylko kod HTML.

Zazwyczaj funkcję serwera WWW, interpretera PHP oraz serwera MySQL pełni jeden komputer, jednak spotyka się rozwiązania gdzie ze względów bezpieczeństwa lub dla odciążenia obu komputerów, serwer baz danych pracuje na innej maszynie. Od strony klienta sposób działania całego systemu będzie niezauważalny, może zwiększyć się jego wydajność.

    1. Zadania realizowane w projekcie

    1. Użytkownicy systemu

Projekt sklepu internetowego uwzględniał będzie następujące grupy użytkowników:

    1. Schemat funkcjonalny systemu

Przewidziane są trzy grupy użytkowników witryny sklepu internetowego: “goście”, “klienci” oraz pracownicy, których można podzielić na trzy kolejne podgrupy: “magazynier”, “kierownik” i “administrator”. Z uwzględnieniem ich praw w korzystaniu z różnych modułów wiążą się odrębne schematy poruszania się ww. użytkowników w systemie.

0x08 graphic
0x08 graphic

Rysunek 3.3. Widok systemu od strony nie zalogowanego użytkownika “gość” oraz zalogowanego klienta.

0x08 graphic

Rysunek 3.4. Widok systemu sklepu internetowego dla użytkownika “administrator”.

0x08 graphic
0x08 graphic

Rysunek 3.5. Widok systemu sklepu internetowego dla użytkowników “kierownik” i “magazynier”.

    1. Następny rozdział

26

26

Przeglądarka

Serwer WWW

Interpreter PHP

Serwer MySQL

1

6

2

3

5

4

Intro

Strona główna

Gość - nie zalogowany

Rejestracja

Przypomnienie hasła

Przeglądanie kategorii

Lista produktów

Opis produktu

Wyszukiwanie produktów

Kontakt

Pomoc

Intro

Strona główna

Logowanie

Klient

Historia zamówień

Zmiana danych klienta

Podgląd koszyka

Zaopiniuj produkt

Pomoc

Dodaj do koszyka

Opis produktu

Zmiana hasła

Szukanie produktów

Wylogowanie

Kontakt

Przeglądanie kategorii

Lista produktów

Kategorie

Wyszukiwanie

Administrator

Podgląd zamówień

Podgląd klientów

Podgląd pracowników

Dodanie pracownika

Wylogowanie

Zmiana hasła

Edycja pracownika

Usunięcie pracownika

Zarządzanie zamówieniami

Produktów

Zamówień

Pracowników

Klientów

Edycja kategorii

Usunięcie kategorii

Dodanie kategorii

Produkty

Edycja produktu

Usunięcie produktu

Dodanie produktu

Podgląd produktu

Logowanie

Intro

Strona główna

Zmiana danych osobowych

Kierownik

Logowanie

Intro

Strona główna

Kategorie

Edycja kategorii

Usunięcie kategorii

Dodanie kategorii

Produkty

Edycja produktu

Usunięcie produktu

Dodanie produktu

Podgląd produktu

Wyszukiwanie

Produktów

Zamówień

Pracowników

Podgląd zamówień

Podgląd pracowników

Dodanie pracownika

Wylogowanie

Zmiana hasła

Edycja pracownika

Usunięcie pracownika

Zarządzanie zamówieniami

Zmiana danych osobowych

Intro

Strona główna

Logowanie

Magazynier

Kategorie

Edycja kategorii

Usunięcie kategorii

Dodanie kategorii

Produkty

Podgląd produktu

Edycja produktu

Usunięcie produktu

Dodanie produktu

Wyszukiwanie

Produktów

Zamówień

Podgląd zamówień

Zarządzanie zamówieniami

Zmiana danych osobowych

Zmiana hasła

Wylogowanie

Przeglądarka

Serwer WWW

Żądanie

Odpowiedź



Wyszukiwarka

Podobne podstrony:
Prezentacja praca dyplom
Praca dyplomowa Strona tytułowa etc
PRACA DYPLOMOWA BHP - ORGANIZACJA PRACY W PSP, TEMATY PRAC DYPLOMOWYCH Z BHP
praca dyplomowa 1 strona wzor, Szkoła, prywatne, Podstawy informatyki
d druku BIBLIOGRAFI1, cykl VII artererapia, Karolina Sierka (praca dyplomowa; terapia pedagogiczna z
Praca dyplomowa(1)
streszczenie panelu, Prace dyplomowe i magisterskie, praca dyplomowa, materiały z internetu
praca dyplomowa BR5VQ5NYN263L77S7YKAVS66LCHECBHKF2E3GEQ
praca dyplomowa informatyka programowanie 7B5PTOE5KXERFXSEJISGCMFJDQ5X6LRRZEBNOJY
praca dyplomowa
praca dyplomowa edycja wbn1 2011
PRACA DYPLOMOWA MAGISTERSKA OCZ SC TYPU LEMMNA
Internet - UE prawo, Studia - IŚ - materiały, Semestr 07, Praca dyplomowa
do druku ROZDZIAŁ III, cykl VII artererapia, Karolina Sierka (praca dyplomowa; terapia pedagogiczna
PRACA DYPLOMOWA SPIS TREŚCI, TEMATY PRAC DYPLOMOWYCH Z BHP
strona tytulowa, WNPiD, moje, praca dyplomowa
inżynierska praca dyplomowa wzorzec
Wytwarzanie biogazu - wysypisak śmieci., Studia - IŚ - materiały, Semestr 07, Praca dyplomowa
przewodnik praca dyplomowa, STUDIA -PRYWATNE, Studia - wykłady - Dorota, studia 2014

więcej podobnych podstron