Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ...

66
ul. Warszawska 24, 31-155 Kraków tel/fax (+48 12) 628 20 41 e-mail: [email protected] internet: www.iigw.pl INSTYTUT INśYNIERII I GOSPODARKI WODNEJ POLITECHNIKA KRAKOWSKA im. TADEUSZA KOŚCIUSZKI Lukasz Cieślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ BAZY DANYCH DO WYMIANY I PROMOWANIA WIEDZY EKOLOGICZNEJ praca magisterska studia dzienne kierunek studiów: informatyka specjalność: informatyka stosowana w inŜynierii środowiska promotor: dr inŜ. Robert Szczepanek nr pracy: 2049 data złoŜenia: .......................................

Transcript of Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ...

Page 1: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

ul. Warszawska 24, 31-155 Kraków tel/fax (+48 12) 628 20 41 e-mail: [email protected] internet: www.iigw.pl

INSTYTUT INśYNIERII I GOSPODARKI WODNEJ

POLITECHNIKA KRAKOWSKA im. TADEUSZA KOŚCIUSZKI

Łukasz Cieślik

PROJEKT I IMPLEMENTACJA INTERNETOWEJ BAZY DANYCH DO WYMIANY I PROMOWANIA

WIEDZY EKOLOGICZNEJ

praca magisterska

studia dzienne

kierunek studiów: informatyka

specjalność: informatyka stosowana w inŜynierii środowiska

promotor: dr inŜ. Robert Szczepanek

nr pracy: 2049

data złoŜenia: .......................................

Page 2: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

Łukasz Cieślik

Projekt i implementacja internetowej bazy danych

do wymiany i promowania wiedzy ekologicznej

Praca magisterska

Pracę wykonano przy współpracy z Klubem Gaja

Page 3: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

Podzi ękowania:

Pragnę w szczególny sposób podziękować Panu Doktorowi Robertowi Szczepankowi, opiekunowi

mojej pracy, za poświęcony mi czas i wszystkie wskazówki metodyczne i rzeczowe.

Chciałbym równieŜ podziękować Panu Jackowi BoŜkowi za moŜliwość współpracy z Klubem GAJA

i Pani Joli Migdał za wszelkie przekazane mi materiały dotyczące ekologii.

Pracę dedykuję moim rodzicom oraz Ewie.

Page 4: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

Spis tre ści:

Wstęp .................................................................................................................5

ROZDZIAŁ 1 Wprowadzenie do baz danych .............. .....................................6

1.1 Definicja i rodzaje baz danych................................................................................6

1.2 Zasada działania bazy danych...............................................................................15

1.3 Schemat i elementy systemu bazy danych...........................................................17

ROZDZIAŁ 2 Gromadzenie i wymiana informacji ........ .................................21

2.1 Wymiana informacji w Internecie ........................................................................21

2.2 Darmowe narzędzia i systemy CMS....................................................................25

ROZDZIAŁ 3 Projekt Internetowego Edukatora Ekologic znego (IEE).........28

3.1 Program edukacji ekologicznej - Projekt „Zaadoptuj rzekę” .............................28

3.2 Opis projektowanego systemu..............................................................................34

3.3 Struktura i relacje w IEE .......................................................................................36

3.4 Funkcje tabel i pól słuŜących do przechowywania danych ................................39

3.5 Funkcjonalność i opis działania systemu.............................................................42

3.6 Zarządzanie IEE.....................................................................................................48

ROZDZIAŁ 4 „Zaadoptuj rzek ę” w IEE............................................ ...............58

Podsumowanie....................................... .........................................................61

Spis rysunków...................................... ...........................................................62

Spis tabel ......................................... ................................................................63

Zasoby internetowe ................................. .......................................................65

Abstrakt........................................... .................................................................66

Page 5: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

5

Wstęp Celem pracy jest zrealizowanie bazy danych dla potrzeb portalu internetowego,

słuŜącego do informowania społeczeństwa (w szczególności dzieci i młodzieŜy)

o zachowaniach i działaniach proekologicznych w aspektach Ŝycia codziennego.

Przedstawiona w niej struktura bazy danych będzie takŜe podstawą do stworzenia

niewielkiego systemu zarządzania treścią (CMS – Content Management System), który

umoŜliwiał będzie zarządzanie witryną www bez konieczności znajomości języka

HTML.

Bazy danych jako uporządkowany zbiór danych, dający się w łatwy sposób

przeszukiwać i zarządzać, jest podstawowym i zarazem kluczowym elementem

większości systemów wykorzystujących katalogowanie i zapisywanie danych. Jest

takŜe elementem, od którego zaleŜy późniejsza funkcjonalność i uŜyteczność systemu.

Dlatego projekt bazy danych nierzadko pochłania 40% czasu przeznaczonego na

realizację danego przedsięwzięcia (systemu).

Niniejsza praca zawiera zarówno projekt bazy danych (strukturę tabel i relacji)

jak i prezentację interfejsu obsługującego tą strukturę. Jako jedno z moŜliwych

zastosowań zaprojektowanej struktury bazy danych został przyjęty system ułatwiający

wymianę wiedzy ekologicznej. Zakłada się, iŜ głównym odbiorcą wiedzy zawartej

w bazie będą szkoły, gimnazja, licea, jako instytucje zajmujące się edukacją.

Projektowany system będzie równieŜ słuŜył jako pomoc dydaktyczna dla nauczycieli,

umoŜliwiając przeszukiwanie bazy wiedzy ekologicznej według wielu kryteriów.

Dokument ten zawiera równieŜ ewentualne dalsze ścieŜki rozwoju stworzonego

oprogramowania.

Jako główne kryteria przy realizowaniu niniejszego systemu zostały przyjęte

prostota, łatwość obsługi oraz moŜliwość implementacji w darmowym środowisku

bazodanowym – MySQL.

Page 6: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

6

ROZDZIAŁ 1 Wprowadzenie do baz danych

1.1 Definicja i rodzaje baz danych.

Baza danych (ang. data base) – pojęcie szeroko rozumianej elektronicznej

kartoteki, uwaŜane za miejsce do przechowywania danych, plików i itp. C.J. Date,

znany autorytet w dziedzinie zarządzania bazami danych twierdzi iŜ „baza danych to

nic innego jak skomputeryzowany system przechowywania rekordów” [Date 2000].

„ Zwrot „baza danych” moŜe być równieŜ uŜywany do określenia wszystkiego –

zaczynając od pojedynczego zbioru danych, takiego jak spis telefonów, a kończąc na

skomplikowanym zestawie narzędzi słuŜących do zarządzania, manipulowania

i sterowania danymi. Zatem bazę danych naleŜy rozumieć jako zorganizowany zbiór

informacji, który zawiera jednolity rodzaj danych” [Riordan 2000].

MoŜna zatem stwierdzić iŜ uŜytkownik systemu opartego na bazie danych,

mający do dyspozycji narzędzia do przeprowadzania rozmaitych operacji na danych jest

w stanie dodawać nowe informacje do bazy, wydobywać szczególnie istotne z jego

punktu widzenia dane, a takŜe usuwać wpisy które zostały uznane za zbędne lub

zdublowane.

Bazę danych tworzą tabele. Tabela bazy danych podzielona jest na kolumny

i wiersze. Pola tabeli określają rodzaj informacji zawartych w poszczególnych

kolumnach. Wiersze tabeli zwane rekordami, zawierają informacje o jednym elemencie

tabeli bazy danych i aby ułatwić identyfikację danej informacji stosuje się numerację

pól.. Numerowanie rekordów pozwalana na dowolne sortowanie (porządkowanie)

danych w celu odnalezienia wymaganej informacji. Aby wyszukać wymaganą

informację naleŜy, w tym celu utworzyć kryterium wyboru (wyszukiwania), zwane

zapytaniem lub filtrem.

W węŜszym rozumieniu baza danych rozumiana jako zbiór uporządkowanych

i ułoŜonych ze sobą tematycznie danych, jest złoŜona z elementów o określonej

strukturze: rekordów lub obiektów. Z Bazami danych związane są mechanizmy

zarządzania, modyfikowania określające między innymi zasady porządkowania,

wyszukiwania i edycji.

Page 7: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

7

Często potocznie bazą danych określa się oprogramowanie do tworzenia

i zarządzania bazami danych. Dlatego naleŜy zauwaŜyć, iŜ termin „baza danych” nie

obejmuje Aplikacji. Jest pojęciem wykluczającym Program/Aplikację składającą się

z formularzy i raportów wykorzystywanych bezpośrednio przez uŜytkownika, a takŜe

dodatków – takich jak oprogramowanie pośredniczące.

Najczęściej spotykanym rodzajem baz są relacyjne bazy danych, w których dane

grupowane są w wielu tablicach powiązanych ze sobą tzw. relacjami. W dobie sieci

komputerowych i Internetu coraz częściej mamy do czynienia z bazami rozproszonymi

- bazami danych przechowywanymi w róŜnych, nieraz bardzo odległych od siebie

miejscach sieci. A zatem „bazy danych pozwalają na wykonywanie szeregu operacji na

przechowywanych polach i rekordach, w szczególności na sortowanie według dowolnie

zdefiniowanych kryteriów, uzupełnianie o nowe elementy oraz przeszukiwanie według

zadanych słów kluczowych. Operacje te mogą być dowolnie łączone i rozbudowywane -

słuŜą do tego specjalne języki, z których najpopularniejszym jest SQL i jego odmiany

[Ratuszniak, Khadzhynov 2005].

PoniŜej został przedstawiony podział baz danych:

• Ze względu na budowę:

a) Relacyjne bazy danych

b) Hierarchiczne bazy danych

c) Sieciowe bazy danych

d) Obiektowe bazy danych

e) Obiektowo - relacyjne bazy danych

• Ze względu na sposób zarządzania bazami danych:

a) Operacyjne bazy danych

b) Analityczne bazy danych

Page 8: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

8

Wszystkie typy baz danych łączy ze sobą kilka podstawowych cech.

Są to:

• MoŜliwość bezpośredniego, interakcyjnego, uzyskiwania informacji z bazy

poprzez formułowanie pytań.

• MoŜliwość przechowywania danych w postaci trwałej i zarządzanie

pamięcią wtórną, w której przechowuje się informacje bazy danych.

• Zapewnienie kontroli jednoczesnego dostępu do danych.

• MoŜliwość odzyskiwania danych w przypadku błędów pracy systemu i

ochrony danych przed niepowołanym dostępem.

PoniŜszy podział baz danych pochodzi ze Słownika encyklopedycznego

informacji, języków i systemów informacyjno-wyszukiwawczych, opracowanego przez

B. Bojar w 2002 roku.

Analityczne bazy danych.

Ten typ baz wykorzystywany jest przede wszystkim do przechowywania danych

historycznych i informacji związanych z pewnymi wydarzeniami. Są to dane, które nie

wymagają modyfikowania, są one statyczne tzn. bardzo rzadko, lub w ogóle nie ulegają

zmianom. Bazy te są wykorzystywane po to, aby np. przeanalizować tendencje rynkowe

lub na podstawie długoterminowych danych statystycznych przewidzieć prognozy na

przyszłość. Przykładem takiej bazy są np. bazy testów chemicznych lub danych

pomiarowych.

Operacyjne bazy danych.

Bazy operacyjne są to bazy wykorzystywane wszędzie tam, gdzie istnieje

potrzeba gromadzenia danych oraz ich modyfikowania. Ten typ baz przechowuje dane

dynamiczne, tzn. takie, które ulegają ciągłym zmianom i przedstawiają aktualny stan

rzeczy, której dotyczą. Zazwyczaj to ten typ bazy moŜna spotkać w róŜnych

przedsiębiorstwach i organizacjach, gdyŜ jest to jeden z najpopularniejszych typów baz

danych. Przykładem takiej bazy danych są np. bazy inwentaryzacyjne lub bazy obsługi

zamówień.

Page 9: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

9

Hierarchiczne bazy danych

Jest to pierwsza udana elektroniczna implementacja bazy danych, do dnia

dzisiejszego jeszcze uŜywana w duŜych magazynach. Powstała na początku lat

sześćdziesiątych, oparta jest o strukturę drzewiastą o wielu gałęziach. Wszystkie

elementy danych w bazie hierarchicznej są zorganizowane w bardzo logiczny sposób.

Oznacza to, iŜ kaŜda wartość obiektu danych jest logicznie powiązaną z jedną lub

kilkoma wartościami innego obiektu danych. Hierarchiczna baza danych ma wiele zalet:

przede wszystkim jest łatwa do wdroŜenia, ma bardzo prostą i łatwą do zrozumienia

strukturę, oraz zazwyczaj bardzo krótki czas dostępu.

Sieciowe bazy danych

Jest to zmodyfikowana wersja modelu hierarchicznego, stworzona przede

wszystkim w celu rozwiązania problemów związanych z bazami danych opartych

właśnie o model hierarchiczny. Elementy danych w tym modelu, są zorganizowane

w strukturę drzewiasta podobnie jak w przypadku modelu hierarchicznego. Jednak,

inaczej niŜ w modelu hierarchicznym, model sieciowy pozwala na definiowanie relacji

wiele-wiele w postaci struktury drzewiastej bez powtarzania poszczególnych wartości

w ramach obiektu danych. Zaletą sieciowego modelu baz danych jest szybkość, z jaką

moŜna odczytać dane, oraz większe moŜliwości bazy.

Obiektowe bazy danych (ODBMS – Object Data Base Management Systems)

Obiektowe bazy danych są efektem połączenia koncepcji opracowanych na

gruncie: bazy danych, obiektowych języków programowania i ogólnych rozwaŜań na

temat obiektowego postrzegania świata. Jednym z podstawowych celów tego typu bazy

danych jest bezpośrednie odwzorowanie obiektów i powiązań między nimi

wchodzących w skład aplikacji na zbiór obiektów i powiązań w bazie danych. Cechą

ODBMS jest to, Ŝe pozwalają one na przechowywanie danych o dowolnej strukturze,

zdefiniowanej przez projektanta, co skutkuje tym, iŜ Obiektowa baza danych sprawdza

się wszędzie tam, gdzie relacyjna baza danych napotyka trudności. Przykładem moŜe

być dynamicznie rozwijający się serwis WWW.

Page 10: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

10

Relacyjno - obiektowe bazy danych

(ORDBMS – Object-Relational Data Base Management Systems)

ORDBMS jest stosunkowo nowym modelem baz danych, który powstał w wyniku

ewolucji systemów relacyjnych w kierunku obiektowych. Posiada wszystkie cechy bazy

relacyjnej rozszerzonej o moŜliwości bazy obiektowej. ORDBMS posiada przede

wszystkim moŜliwość przechowywania danych multimedialnych, przestrzennych, czy

np. abstrakcyjnych; co do tej pory dla bazy relacyjnej nie było moŜliwe do uzyskania.

Jednocześnie prosty interfejs powoduje, Ŝe ORDBMS są zdecydowanie bardziej

"przyjazne" dla przeciętnego uŜytkownika.

Relacyjne bazy danych (RDBMS - Relational Data Base Management Systems)

Za autora technologii relacyjnych baz danych uwaŜa się E. F. Codda. Relacyjne

bazy danych charakteryzują się tym, iŜ wiele tabel danych moŜe być między sobą

powiązanych. Bazy relacyjne posiadają wewnętrzne języki programowania,

wykorzystujące zwykle SQL (Structured Query Language – strukturalny język zapytań)

do operowania na danych, za pomocą których tworzone są zaawansowane funkcje

obsługi danych..

Dane przechowywane w relacyjnej bazie danych mogą posiadać następujące rodzaje,

czyli formy ich zapisu:

• znakowy (ang. character) - dana moŜe przybierać tylko wartości znaków

pisarskich (alfabetycznych)

• liczbowy (ang. number) - dana moŜe przechowywać tylko liczby

• logiczny (ang. logical) - dana moŜe przybierać tylko dwie wartości: prawda,

fałsz (tak, nie)

• data (ang. date) - dana moŜe przyjmować postać daty i czasu

np. rok.miesiąc.dzień godz:min:sek

• alfanumeryczny (ang. alphanumeric) - dana moŜe przybierać wartości znaków

ASCII oraz cyfry

• numeryczny (ang. numeric) - wartościami danej mogą być tylko cyfry i znaki:

+ (plus), - (minus).

• walutowy (ang. currency) - dana moŜe przyjmować wartości liczbowe razem

z symbolem waluty

Page 11: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

11

• notatnikowy (ang. memo) - dana moŜe być oddzielnym zbiorem tekstowym

słuŜącym do przechowywania dowolnych opisów.

• binarny (ang. binary) - dana moŜe być np. plikiem dźwiękowym lub filmowym.

• graficzny (ang. graphic) - dana przechowuje grafikę np. rysunki.

Podzielenie danych na tabele pozwala wprowadzić do systemu bazy danych

informacje na temat sposobu poprawnego łączenia powiązanych danych w logiczną

całość. W tym celu definiuje się relacje między tabelami.

Relacje występujące w relacyjnych bazach danych dzielą się na 3 kategorie:

• Relacje jeden-do-jednego

• Relacje jeden-do-wielu

• Relacje wiele-do-wielu

Relacje typu jeden-do-jednego

Relacje te charakteryzują się tym ,Ŝe dla kaŜdej instancji jednego z dwóch rekordów

istnieje dokładnie jedna instancja drugiego rekordu np. czek i opłata (opłata jest

realizowana za pomocą jednego czeku i za pomocą jednego czeku moŜna zrealizować

tylko jedną opłatę). Ten typ relacji spotykany jest rzadko, poniewaŜ większość informacji

powiązanych w ten sposób moŜna zawrzeć w jednej tabeli. Relacje jeden-do-jednego

stosuje się czasami do podziału tabeli z wieloma polami, w celu odizolowania części

tabeli ze względów bezpieczeństwa, albo do przechowania informacji odnoszącej się

tylko do podzbioru tabeli głównej.

Page 12: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

12

PoniŜszy rysunek przedstawia w sposób graficzny tworzenie relacji typu

jeden-do-jednego:

Rys.1. Przykład relacji jeden-do-jednego

Relacje typu jeden-do-wielu

Relacje te charakteryzują się tym, iŜ dla kaŜdej instancji jednego rekordu istnieje wiele

instancji drugiego rekordu. Relacja jeden-do-wielu jest realizowana poprzez utworzenie

atrybutu w rekordzie po stronie wiele, aby umieścić w nim klucz rekordu znajdującej się

po stronie jeden. Tak utworzony atrybut rekordu po stronie wiele nosi nazwę klucza

obcego poniewaŜ jest on głównym kluczem w innej tabeli. Relacja jeden-do-wielu jest

najbardziej powszechnym typem relacji.

Page 13: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

13

PoniŜszy rysunek przedstawia w sposób graficzny tworzenie relacji typu jeden-do-wielu:

Rys.2. Przykład relacji jeden-do-wielu

.

Relacje typu wiele-do-wielu

W relacji wiele-do-wielu, rekord w tabeli A moŜe mieć wiele dopasowanych do niego

rekordów z tabeli B i tak samo rekord w tabeli B moŜe mieć wiele dopasowanych do

niego rekordów z tabeli A. Jest to moŜliwe przez zdefiniowanie trzeciej tabeli (nazywanej

tabelą łącza), której klucz podstawowy składa się z dwóch pól - kluczy obcych z tabel A

i B. Relacja wiele-do-wielu jest definiowana jako dwie relacje jeden-do-wielu z trzecią

tabelą. Na przykład, tabele "Zamówienia" i "Produkty" mogą być powiązane relacją

wiele-do-wielu zdefiniowaną przez utworzenie dwóch relacji typu jeden-do-wielu z tabelą

"Opisy zamówień".

Page 14: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

14

PoniŜszy rysunek przedstawia w sposób graficzny tworzenie relacji typu wiele-do-wielu:

Rys.3. Przykład relacji wiele-do-wielu

Page 15: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

15

1.2 Zasada działania bazy danych

Dane zapisywane są w bazie przewaŜnie w postaci pojedynczego pliku

o odpowiedniej strukturze. KaŜdy wpis w bazie danych nazywany jest rekordem, z kolei

rekordy składają się z pól. Przyjmując, Ŝe baza danych zawiera dane adresowe osoby,

kaŜdy rekord odpowiadał będzie pojedynczej osobie. Szczegółowe informacje takie jak

nazwisko, imię, adres, numer telefonu czy adres zamieszkania znajdą się w oddzielnych

polach.

Najczęściej spotykanym rodzajem baz są relacyjne bazy danych, w których dane

grupowane są w wielu tablicach powiązanych ze sobą tzw. relacjami. W dobie sieci

komputerowych i Internetu coraz częściej mają zastosowanie z bazy rozproszone - bazy

danych przechowywane w róŜnych, nieraz bardzo odległych od siebie miejscach sieci.

„Bazy danych pozwalają na wykonywanie szeregu operacji na polach

i rekordach, w szczególności na sortowanie według dowolnie zdefiniowanych kryteriów,

uzupełnianie o nowe elementy oraz przeszukiwanie według zadanych słów kluczowych.

Operacje te mogą być dowolnie łączone i rozbudowywane. Aby umoŜliwi ć te operacje

stworzono do tego celu specjalne języki, z których najpopularniejszym jest SQL”. [Date

2000]

NaleŜy równieŜ wyjaśnić, iŜ język SQL „Structured query language [SQL]

(strukturalny język zapytań) - to język zapytań opracowany przez IBM. Został on teŜ

zaadaptowany przez Oracle Corporation do zastosowania na inne platformy (w tym

PC). SQL jest obecnie standardem w większości profesjonalnych DBMS, szczególnie

opartych na architekturze klient-serwer. SQL zawiera ok. 60 poleceń i jest uŜywany do

tworzenia i modyfikacji zapytań oraz sterowania dostępem do danych zorganizowanych

w tablicach. SQL moŜe być uŜywany zarówno jako interfejs interaktywny, jak równieŜ

jako wbudowane polecenia w programie aplikacji”. [Dyson 1994]

Większość baz danych działa w oparciu o model klient-serwer. Moduł serwera

bazy danych ma wiele cech właściwych systemom operacyjnym: pozwala

administrować kontami uŜytkowników, umoŜliwia określanie praw dostępu do baz

danych, często udostępnia własny wiersz poleceń. Z kolei moduł klienta pozwala na

Page 16: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

16

administrowanie bazami danych oraz przeglądanie ich zawartości - kierowanie zapytań

i odbieranie odpowiedzi.

„W Internecie bazą danych moŜe być zbiór artykułów list dyskusyjnych, oferta

księgarni wysyłkowej, ksiąŜka adresowa uŜytkowników, itp. Przykładowo - zadając

pytanie wyszukiwarce, w rzeczywistości korzystamy z jej ogromnej wewnętrznej bazy

danych przechowującej informacje o zawartości i połoŜeniu setek milionów

dokumentów internetowych. Szereg "tradycyjnych" baz danych (jak np. rozkłady jazdy,

katalogi biblioteczne, itp.) udostępnianych jest do uŜytku publicznego w sieci Internet.

Do korzystania z internetowych baz danych wystarczy zwykła przeglądarka WWW.

Wyświetla ona stronę WWW zawierająca graficzny interfejs dostępu (najczęściej jest to

mniej lub bardziej rozbudowany formularz) komunikujący się z bazą danych w jednym

z popularnych języków programowania - zwykle PHP, Perl lub Java” .[Pająk, Pająk,

Lasiński 2002].

Page 17: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

17

1.3 Schemat i elementy systemu bazy danych

PoniŜszy schemat przedstawiony przez C.J. Date’a we „Wprowadzeniu do baz danych”

przedstawia ogólny zarys i ideę funkcjonowania systemu zarządzania bazą danych.

Rys.4. Schemat systemu zarządzania bazą danych

Na rysunku 4 został przedstawiony bardzo uproszczony schemat systemu bazy danych.

Trzy zasadnicze elementy składające się na system bazy danych to:

• Dane

• Programy/Aplikacje

• UŜytkownicy

PoniŜej zostanie opisany kaŜdy z 3 kluczowych elementów systemu bazy danych.

Dane

W systemie z wieloma uŜytkownikami (multi-user system) dostęp do danych

uzyskuje kilku uŜytkowników jednocześnie. Przedstawiony w tej pracy projekt systemu

bazy danych będzie systemem typu multi-user. Głównym i zasadniczym celem systemu

Page 18: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

18

z wieloma uŜytkownikami jest spowodowanie, aby kaŜdy uŜytkownik miał wraŜenie, iŜ

tylko on korzysta z bazy i danych w niej zawartych. Zatem naleŜy stwierdzić, iŜ dane

w takim systemie będą przede wszystkim współdzielone. Współdzielenie danych

stanowi duŜą zaletę systemów pracujących w rozległych i rozproszonych środowiskach.

W środowiskach mniej skomplikowanych bardziej istotną rolę odgrywa

integracja danych. Definicję Integracji danych moŜna znaleźć na stronach

internetowych otwartej encyklopedii – wikipedia.com - Integracja odnosi się do

organizacji systemów (komputerowych, produkcyjnych lub administracyjnych) i polega

na zespoleniu tych systemów tak, aby mogły one korzystać nawzajem ze swoich

zasobów, takich jak pliki lub urządzenia. Na przykład firma moŜe posiadać bazę danych

zawierającą stany magazynowe. Jednocześnie moŜe posiadać witrynę internetową, która

powstała osobno. Integracja tych systemów daje moŜliwość, aby witryna internetowa

korzystała z bazy magazynowej i informowała internautów o dostępności towarów.

Współdzielenie danych umoŜliwia natomiast uŜywanie wspólnie przez kilku

uŜytkowników poszczególnych fragmentów danych. NaleŜy tu zauwaŜyć, iŜ kaŜdy

uŜytkownik ma dostęp do tych samych danych natomiast poszczególne osoby

korzystające z tych danych mogą wykorzystywać je w tym samym lub w innym celu.

MoŜliwości wspólnego uŜytkowania systemu, jest konsekwencją tego, Ŝe baza jest

zintegrowana. Dalej idącą konsekwencją, jest fakt, Ŝe kaŜdy uŜytkownik systemu

zwykle korzysta zwykle tylko z niewielkiej części całej bazy.

Zarządzanie bazą danych (Programy/Aplikacje)

Pomiędzy strukturą bazy danych a uŜytkownikami systemu występuje warstwa

oprogramowania zwana zarządcą bazy danych (database manager). Nazwy tej uŜywa

się zamienne z systemem zarządzania bazą danych (Data Base Management System –

DBMS). Przykładem takiego systemu moŜe być SQL Server – autorstwa firmy

Microsoft. Główną funkcją, jaką spełnia DBMS jest obsługa bazy danych przez

uŜytkowników nie posiadających obszernej wiedzy na temat szczegółów technicznych.

Innymi słowy system zarządzania bazą danych pozwala między innymi na

wykonywanie operacji zleconych przez uŜytkownika – takich jak zapytania SQL.

Page 19: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

19

Przedstawionego poniŜej podziału uŜytkowników baz danych dokonał Dariusz Figura,

w pracy „Obiektowe bazy danych”.

UŜytkownicy

UŜytkownicy systemu bazy danych dzielą się na trzy grupy:

• Programiści aplikacji (application programmers) - są oni

odpowiedzialni za pisanie (implementowanie) programów i aplikacji

wykorzystujących bazy danych w takich językach jak PHP, C#. Pisane

przez programistów programy przetwarzają dane na wszystkie typowe

sposoby – wyszukując istniejącą informację, dodając nową informację,

usuwając lub zmieniając informację. Wszystkie te funkcje są

wykonywane poprzez podanie odpowiedniego polecenia do DBMS.

• UŜytkownicy (users) – osoby bezpośrednio komunikujące się

z systemem za pośrednictwem stacji roboczych lub terminali. PrzewaŜnie

uŜytkownicy uzyskują dostęp do bazy danych za pomocą jednej

z aplikacji. Aplikacja taka moŜe być dostarczona wraz

z oprogramowaniem (przykładem jest środowisko MySQL oraz

towarzysząca obsłudze baz danych aplikacja PhpMyAdmin). Aplikacja

taka ma wbudowany procesor języka zapytań (query language

processor). Za pomocą tego procesora uŜytkownik moŜe wydawać

polecenia wysokiego poziomu, które są tłumaczone na odpowiednie

zapytania do bazy (takie jak SELECT, INSERT). DuŜa liczba systemów

spotykanych w dzisiejszym świecie posiada takŜe dodatkowe

wbudowane interfejsy, w których uŜytkownicy wcale nie wydają

jawnych instrukcji takich jak SELECT, lecz zamiast tego wykonują

operacje np. przez wybór odpowiednich gotowych pozycji w menu (lista

rozwijalna) lub wypełnienie rubryk formularza. Interfejsy te sterowane

przez menu lub formularze są łatwiejsze dla osób nie posiadających

wystarczającej wiedzy do obsługi takiego systemu. Ograniczenie opcji

wyboru dla uŜytkownika ogranicza równieŜ jego moŜliwości ingerencji

w strukturę bazy danych, a co z tym idzie zmniejsza

prawdopodobieństwa zaistnienia błędnego zapytania.

Page 20: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

20

Interfejsy sterowane poleceniami (terminal) wymagają natomiast

pewniej znajomości posługiwania się językiem zapytań. PoniewaŜ język

ten jest bardziej elastyczny, niŜ interfejsy oparte na menu lub

formularzach, umoŜliwiają one pewne funkcje, których nie ma w innych

interfejsach.

• Administratorzy baz danych (Data Base Administrators) – są to osoby

odpowiadająca za dane zawarte w bazie. Do zadań administratora naleŜy

przede wszystkim podejmowanie decyzji, o tym, które dane powinny być

przechowywane, a następnie określanie zasad utrzymywania danych

i postępowania z przechowywanymi danymi. Przykładem takiej funkcji

jest osoba, która wskazywałaby, kto i jaką operacje moŜe wykonać, na

jakich danych i w jakich okolicznościach – innymi słowy – osoba

odpowiedzialna za bezpieczeństwo danych. NaleŜy tutaj równieŜ

podkreślić, iŜ administrator danych jest kierownikiem, czyli osobą, która

równieŜ musi posiadać wiedze techniczną związaną z systemem. Osoba

będąca technikiem – specjalistą w dziedzinie IT – jest administrator bazy

danych (DBA), której zadaniem jest tworzenie rzeczywistej bazy danych

oraz implementacji technicznych sposobów kontroli potrzebnych do

realizacji róŜnych decyzji podejmowanych przez kierownika. DBA

odpowiada ponadto za zapewnienie odpowiedniej wydajności systemu

i realizacje wielu innych usług technicznych.

Page 21: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

21

ROZDZIAŁ 2 Gromadzenie i wymiana informacji

2.1 Wymiana informacji w Internecie

Rozwój społeczeństwa informacyjnego tworzy nowy rodzaj otoczenia

gospodarki, który w zasadniczy sposób zmienia styl Ŝycia, nauki oraz pracy.

Następujące zmiany związane z wykorzystaniem technik teleinformatycznych sprzyjają

tworzeniu rynków elektronicznych oraz przekształcają strukturę i sposób

funkcjonowania przedsiębiorstw. Powstająca gospodarka elektroniczna uwaŜana jest za

najbardziej perspektywiczną dziedzinę rozwoju gospodarczego oraz szansę zwiększenia

konkurencyjności, innowacyjności i efektywności. Przyczynia się ona do dynamicznego

rozwoju sektora usług informatycznych oraz opracowania nowych modeli biznesowych,

innowacyjnych metod pracy oraz handlu, a przez to do tworzenia nowych zawodów

i miejsc pracy.

Doświadczenia innych państw wskazują, Ŝe rozwój gospodarki elektronicznej w

krajach wysokorozwiniętych wspierany jest powszechnie polityką państwa

wyznaczającą priorytety rozwojowe oraz przyspieszającą procesy wdraŜania rozwiązań

gwarantujących nowoczesność i konkurencyjność gospodarek. Zgodnie z zasadą

subsydiarności dostrzega się, Ŝe działania poszczególnych podmiotów gospodarczych

oraz mechanizmy wolnego rynku nie są skuteczne w wystarczającym stopniu.

W szczególności małe i średnie firmy nie dysponują wystarczającym potencjałem wiedzy

oraz kapitałem by samodzielnie włączyć się w korzyści tzw. nowej gospodarki. Unia

Europejska oraz wysokorozwinięte państwa aktywnie wspierają udział małych

i średnich przedsiębiorstw w globalnej gospodarce elektronicznej oraz tworzą

niekomercyjne rozwiązania, sprzyjające kojarzeniu i współpracy partnerów

biznesowych. Rozwój e-gospodarki jest postrzegany jako jeden z kluczowych elementów

strategii wzmacniania pozycji europejskiej gospodarki w świecie. RównieŜ polski rząd

przyjął dokument pn. „Cele i kierunki rozwoju społeczeństwa informacyjnego

w Polsce”, w którym określił zadania związane z rosnącym zastosowaniem technik

teleinformatycznych w gospodarce oraz innych dziedzinach Ŝycia społecznego.

[Michalkiewicz 2004]

Page 22: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

22

Rozwój infrastruktury teleinformatycznej oraz postęp w zakresie systemów

informatycznych, nie gwarantuje ukierunkowanego i skoordynowanego rozwoju

elektronicznej gospodarki, a zabezpiecza jedynie podstawę jej funkcjonowania. Postęp

w elektronicznej gospodarce uzaleŜniony jest w głównej mierze od umiejętności

wykorzystania Internetu, co łączy się z koniecznością opracowywania i wdraŜania

nowych rozwiązań prawnych, usług, oprogramowania oraz norm i standardów,

wykorzystywanych przez przedsiębiorstwa, administrację rządową i samorządową.

WaŜnym działaniem zmierzającym do usunięcia negatywnych skutków barier

kapitałowych w dostępie sektora MSP do elektronicznych rynków i nowoczesnych

rozwiązań dystrybucyjno-logistycznych jest zbudowanie i funkcjonowanie,

elektronicznej platformy wymiany informacji. Innym czynnikiem postępu w tym

zakresie będzie upowszechnianie wiedzy o e-gospodarce i rozwiązaniach z zakresu tzw.

wolnego oprogramowania, co zwłaszcza wśród małych i średnich przedsiębiorstw

stymulować będzie wykorzystanie sieci teleinformatycznych, efektywność oraz rozwój

i konkurencyjność na globalnych rynkach poprzez wzmocnienie kooperacji między

nimi.

Informacja staje się nadrzędnym elementem orientacji rynkowej

przedsiębiorstw. Jest takŜe podstawowym czynnikiem wykorzystywanym do

usprawniania kluczowych procesów w celu redukcji kosztów działalności przy

jednoczesnym spełnieniu wymagań klienta. Szybki, niezaleŜny od miejsca dostęp do

informacji oraz moŜliwość jej bezpiecznej wymiany z partnerami staje się głównym

czynnikiem integrującym przedsiębiorstwa w łańcuchach dostaw, umoŜliwiając tym

samym budowanie przewagi konkurencyjnej.

Jeszcze kilkanaście lat temu wymiana informacji przez Internet, a częściej

komercyjne wydanie tej wymiany - handel internetowy był swego rodzaju ciekawostką

nie mającą praktycznie większego wpływu na Ŝycie gospodarcze. Nie dalej jak w 1997

roku wielu analityków wyraŜało sceptycyzm, co do perspektyw jego rozwoju. Wraz

z rozpowszechnieniem się Internetu zmienia się profil jego uŜytkowników. Nowi

uŜytkownicy Internetu nie są juŜ najczęściej związani z informatyką, osoby z tej grupy

korzystają z sieci juŜ od dawna. Nie posiadają one teŜ zwykle wyszukanych potrzeb

informacyjnych, jakie niewątpliwie moŜe zaspokoić sieć. Internet jest dla nich

sposobem spędzania wolnego czasu a jeŜeli oferta będzie wystarczająco atrakcyjna to

Page 23: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

23

kaŜdy z nich jest potencjalnym klientem wybranego sklepu internetowego. RównieŜ do

zastosowań czysto rozrywkowych Internet ma obecnie wystarczającą szybkość

transmisji i wiele projektów np. VideoOnDemand jest w zasięgu ręki kaŜdego

Internauty.

Ostatnio opublikowany raport znanej firmy doradczej Ernst and Young [Global

Online Retailing, 2005] wskazuje na następujące zjawiska, jakie zaobserwowano

w ciągu ostatnich 2 lat.

• Gwałtownie wzrosła liczba osób korzystających z handlu internetowego.

• Klienci dokonują obecnie większej liczby transakcji

• Zdecydowanie wzrosła kwota wydawana na zakupy.

• Klienci planują dalsze zwiększenie wydatków.

• Handluje się coraz większym zakresem towarów.

Wymianę informacji w Internecie podzielić moŜna według kryterium – kto

z kim wymienia się informacjami lub danymi. Stosując to kryterium wydzielić moŜna 3

rodzaje wymiany informacji:

� Bussines to Customer (B2C): odpowiednik tradycyjnej wymiany danych

pomiędzy firmą a klientami

� Bussines to Bussines (B2B): wymiana informacji i danych między

firmami, instytucjami i organizacjami

� Customer To Customer (C2C): odpowiednik forum internetowego, gdzie

uŜytkownicy wymieniają się swoją wiedzą i wszelkimi informacjami

Projektowana w niniejszej pracy struktura bazy danych, która jest podstawą do

stworzenia systemu obsługującego tą strukturę znajduje miejsce w kaŜdej z trzech

wymienionych wyŜej sektorów. Na potrzeby tej pracy gotowa aplikacja wykorzystująca

projektowana bazę danych została umiejscowiona w sektorze C2Cgdzie jako odbiorca

końcowy występują szkoły, organizacje non-profit i itp.

Inny sposób podziału wymiany informacji elektronicznej za kryterium uznaje

rodzaj informacji, jakie podlegają wymianie. Najciekawszy sposób stosowania tego

Page 24: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

24

kryterium polega na podzieleniu informacji na tradycyjne tj. takie, którymi moŜna

handlować w normalnym handlu oraz innowacyjne tzn. takie, jakie moŜna sprzedać lub

udostępnić praktycznie jedynie za pośrednictwem Internetu.

NaleŜy takŜe zauwaŜyć, iŜ największy wpływ na gospodarkę ma wymiana

informacji w postaci handlu internetowego lub dzielenia się wiedzą i doświadczeniem

(projekty open-source) produktami innowacyjnymi w segmencie B2B. Powszechna

dostępność Internetu sprawia, Ŝe wpływ tej wymiany (C2C) na Ŝycie codzienne stał się

bardzo widoczny. Obecnie bezpośredni handel między klientami umoŜliwią firmy

w rodzaju allegro.pl czy ebay.com. Oferowane przez nie wirtualne targowiska juŜ dziś

przejmują większość drobnych ogłoszeń zamieszczanym w prasie codziennej. Oznacza

to spadek dochodów gazet spowodowany dwoma przyczynami: mniejszą liczbą

ogłoszeń jak i zmniejszoną liczbą czytelników. Wzrost zainteresowania został

zanotowany równieŜ przy projektach open-source takich jak Joomla.

W rezultacie moŜe doprowadza to do zniknięcia wielu tytułów, szczególnie

prasy lokalnej, co powoduje równieŜ opracowanie przez nie własnych witryn C2C i

przejście do rozpowszechniania wyłącznie poprzez sieć.

Page 25: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

25

2.2 Darmowe narz ędzia i systemy CMS

Dzisiejszy rozwój Internetu opiera się przede wszystkim na odpowiednim

prezentowaniu i zarządzaniu informacjami. Sprawne i zręczne zarządzanie i właściwe

prezentowanie informacji za pomocą technik teleinformatycznych jest obecnie

niejednokrotnie wyznacznikiem sukcesu przedsięwzięcia. Równolegle obserwowany

jest dynamiczny rozwój rynków elektronicznych typu business to business - B2B.

Powstają dzisiaj niejednokrotnie zróŜnicowane rozwiązania informatyczne dla potrzeb

wymiany handlowej.

Obecnie dostępnych jest wiele pakietów oprogramowania do realizacji szeroko

zakrojonej wymiany informacji w postaci portalu internetowego.

System zarządzania treścią (Content Management System - CMS) jest jedną

aplikacją lub zestawem aplikacji internetowych pozwalających na łatwe utworzenie

oraz późniejszą aktualizację i rozbudowę serwisu internetowego. Główna zaletą takiego

systemu jest moŜliwość redagowania treści portalu przez personel nietechniczny.

Kształtowanie treści i sposobu ich prezentacji w serwisie zarządzanym poprzez CMS

odbywa się za pomocą prostych w obsłudze interfejsów uŜytkownika, zazwyczaj

w postaci stron WWW zawierających rozbudowane formularze i moduły.

Podstawowym zadaniem platform CMS jest oddzielenie treści (zawartości

informacyjnej serwisu) od wyglądu (sposobu jej prezentacji). Po wprowadzeniu nowych

informacji przez uprawnionego redaktora system przenosi je do bazy danych,

jednocześnie wypełniając nimi odpowiednie miejsca na stronach WWW.

Wykorzystanie szablonów stron umoŜliwia zmianę koncepcji graficznej całego serwisu,

co sprowadza się do przygotowania i zamiany szablonu, przy czym system nie powinien

narzucać Ŝadnych ograniczeń kompozycyjnych. Dzięki takiemu podejściu proces

publikacji w Internecie staje się prosty - specjaliści mogą skoncentrować się na swojej

pracy i korzystać ze swoich ulubionych aplikacji uŜytkowych (np. edytorów tekstu).

KaŜda strona WWW generowana jest dynamicznie, w oparciu o szablony i zawartość

baz danych - dynamika oznacza więc w tym przypadku zawsze aktualne informacje

w serwisie.

Page 26: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

26

W ostatnich latach platformy CMS znacznie ewoluowały, dodając m.in.

moŜliwość elastycznej i dynamicznej modyfikacji juŜ nie tylko treści, ale i struktury.

Systemy zarządzania treścią zazwyczaj oparte są na bazach danych oraz na

językach skryptowych (server-side) lub specjalistycznym oprogramowaniu. Coraz

częściej wykorzystywane są złoŜone techniki opisu struktur dokumentów (np. XML).

Większość systemów CMS jest napisanych w języku skryptowym (ASP, Python, PHP,

itd.).

W skład CMS-ów wchodzą produkty mające wspólne korzenie i nazwę, ale

w znacznym stopniu róŜniące się funkcjonalnością. Szeroko ujmując CMS to pojęcie,

zajmuje się zarówno: zarządzaniem dokumentami (Document Management), wiedzą

(Knowledge Management), zarządzaniem cyfrowymi zasobami (Digital Asset

Management), zarządzanie obiegiem treści (Enterprise Content Management) oraz

zarządzaniem treścią znajdującą się na stronie internetowej (Web Content

Management). Zarządzanie treścią strony internetowej jest obecnie najpopularniejszą i

najchętniej akceptowaną formą systemów CMS. NaleŜy jednak zauwaŜyć iŜ cała klasa

systemów CMS zakres swej funkcjonalności kieruje ku sferze przechowywania i

rozpowszechniania informacji w formie cyfrowej.

PoniŜszy podział systemów CMS został zaczerpnięty z internetowej

encyklopedii wikipedia.pl:

� Content management frameworks (CMF): jest to zbiór systemów które

stanowią zestaw klas potrzebnych do zbudowania systemu klasy CMS. Jest

to narzędzie do budowania systemów do zarządzania treścią. Systemy

zbudowane na CMF-ach są zazwyczaj kosztowne i wymagają pracy grupy

programistów. (Przykłady: Vignette, Documentum, Zope)

� Page-based systems (PBS): systemy o transparentnych konsolach. Pozwalają

na edycję treści strony nie wymagając jednocześnie odrębnych konsol do

zarządzania treścią. Są łatwe w nauce i nie wymagają duŜego doświadczenia

podczas wdroŜenia. Bardziej zaawansowane aplikacje wykraczające poza

tradycyjne zarządzanie treścią wymagają pracy programisty. (Przykłady:

Plone, Backend, TikiWiki)

Page 27: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

27

� Module-based systems (MBS): systemy CMS bazujące na modułach to

systemy, które do prezentacji treści wykorzystują napisane do tego celu

specjalne moduły i funkcje. Typowy system moŜe zawierać zarządzanie

wiadomościami, fora dyskusyjne, etc. Zalety tego typu systemów to przede

wszystkim moŜliwość szybkiego uruchomienia portalu. Przykładami

znanych systemów MBS są: Xoops, Drupal, eZ publish, Joomla!, Mambo,

PostNuke PHP-Nuke. Systemy takie jak Joomla! Rozbudowywane są na

zasadach open-source (kod źródłowy tego oprogramowania jest dostępny dla

kaŜdego zainteresowanego). Joomla! korzysta z własnej bazy danych,

a w porównaniu z innymi produktami nie wymaga większych kompetencji

informatycznych. Jest to spowodowane prostym interfejsem oraz przejrzystą

instrukcją instalacji

� Content object systems (COS): systemy tego typu koncentrują się wokół

tzw. obiektów, czyli małych części informacji które moŜna reprodukować

w wielu miejscach strony WWW. Oprogramowanie tego typu

wykorzystywane jest często jako systemy redakcyjne w czasopismach,

wielkich wydawnictwach

Page 28: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

28

ROZDZIAŁ 3 Projekt Internetowego Edukatora Ekologicznego (IEE)

3.1 Program edukacji ekologicznej - Projekt „Zaadop tuj rzek ę”

W poniŜszym podrozdziale zawarte zostały informacje dotyczące ekologicznego

projektu „Zaadoptuj rzekę” realizowanego od 2005 roku przez Klub Gaja.

Informacje te posłuŜyły za bazę oraz punkt wyjścia do stworzenia

oprogramowania zarządzającego tego typu danymi.

Cel i załoŜenia projektu „Zaadoptuj rzek ę”

PoniŜsze informacje zostały przedstawione na podstawie materiałów

uzyskanych od Klubu Ekologicznego GAJA oraz podczas konsultacji

z członkami klubu.

Stowarzyszenie Ekologiczno-Kulturalne Klub Gaja, ul. Nad Wilkówką

24, 43-365 Wilkowice powstało w 1989 roku. ZałoŜone przez fascynatów

ekologii do dziś załoŜycielem, prezesem i liderem Klubu Gaja jest Jacek BoŜek

laureat nagrody Polcul - NiezaleŜnej Fundacji Popierania Kultury Polskiej

a takŜe Człowiek Roku Polskiej Ekologii za rok 2001. Gaja współpracuje dziś

z trzema tysiącami placówek w całym kraju. Programy edukacji ekologicznej

Klubu Gaja opierają się na aktywności lokalnej, w szczególności dzieci

i młodzieŜy przy udziale przedstawicieli róŜnych instytucji, samorządów,

administracji publicznej, organizacji pozarządowych i biznesu. Więcej

informacji moŜna uzyskać na stronie internetowej www.klubgaja.pl .

Zaadoptuj rzekę jest programem Klubu Gaja realizowanym od 2005

roku. Jest to ogólnopolski program edukacji ekologicznej, którego tematem jest

woda, w szczególności rzeki i ich znaczenie. Program opiera się na aktywności

lokalnej, w szczególności dzieci i młodzieŜy przy udziale przedstawicieli

róŜnych instytucji m.in.: samorządów, administracji publicznej, organizacji

pozarządowych i biznesu. Projekt finansowany jest z Narodowego Funduszu

Ochrony Środowiska i Gospodarki Wodnej oraz Wojewódzkiego Funduszu

Page 29: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

29

Ochrony Środowiska i Gospodarki Wodnej w Katowicach.. Honorowy Patronat

nad programem edukacji ekologicznej Zaadoptuj rzekę objął ówczesny Minister

Środowiska Tadeusz Podgajniak

Projekt ten skierowany jest do wszystkich typów szkół, przedszkoli oraz

innych placówek oświatowych np. świetlic, ognisk pracy pozaszkolnej, klubów

osiedlowych oraz innych instytucji. Celem programu jest zainspirowanie

młodzieŜy, wychowawców, grup i organizacji ekologicznych oraz instytucji do

podejmowania lokalnych działań proekologicznych dotyczących poprawienia

jakości wody, ochrony wód przed zanieczyszczeniem, propagowania

racjonalnego wykorzystania zasobów wodnych oraz ochrony dolin rzecznych.

Tematem programu jest woda, a w szczególności rzeki i ich znaczenie

w przyrodzie, a takŜe uświadomienie mieszkańcom ich obecności i roli w Ŝyciu

społeczeństw.

Głównym celem programu jest zainspirowanie placówek oświatowych,

organizacji pozarządowych, samorządów, instytucji i biznesu do podejmowania

działań proekologicznych dotyczących ochrony wód powierzchniowych,

propagowania racjonalnego wykorzystania zasobów wodnych, ochrony przyrody

dolin rzecznych oraz terenów podmokłych.

PoniewaŜ celem projektu jest krzewienie wiedzy ekologicznej

projektowany i opisywany system będzie spełniał zadanie „edukatora”

ekologicznego odchodząc od standardowego modelu przekazywania wiedzy.

Zagadnienia poruszane na stronach internetowych wykorzystujących

zaprojektowaną bazę danych, będą zawierały informacje od uŜytkowników

(internautów). Dlatego motywem przewodnim przy projektowaniu takiej bazy

danych była edukacja dzieci i młodzieŜy odchodząca od standardowego

zdobywania wiedzy. Młode osoby pragnące poznać teorię na temat zagroŜeń dla

rzek i jezior w Polsce, klasyfikacji wód gruntowych czy eutrofizacji wód, będą

rozpoczynać swoją przygodę z edukacją ekologiczną od haseł: „Dlaczego mój

staw zarasta ?”, „Jak mogę umyć w rzece zęby nie niszcząc środowiska?” czy

„Po co i gdzie się kopie studnie ?”. Taka ścieŜka edukacji pozwoli na szybsze

przyswojenie wiedzy z tego zakresu.

Page 30: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

30

Przykładowo pod hasłem „Jak nie brudzić rzek?” osoba korzystająca

z portalu będzie mogła uzyskać informację na temat zagroŜeń dla rzek i jezior,

zarówno z punktu widzenia uŜytkownika jednostkowego jak i globalnego

uŜytkowania wód.

Koncepcja stworzenia takiego narzędzia powstała przy współpracy

z zajmującym się krzewieniem ekologii - Klubem Gaja..

Projektowany system ma przede wszystkim spełniać następujące zadania:

• Informowanie uŜytkowników (dzieci i młodzieŜ) o ekologicznych sposobach

porządkowania rzek i jej brzegów

• Gromadzenie i prezentowanie wiedzy o historii i geografii rzek

• Gromadzenie informacji dla nauczycieli dotyczących organizowania zajęć

terenowych i plastycznych dla dzieci i młodzieŜy

• Gromadzenie ciekawostek z zakresu wiedzy na temat rzek i ochrony wód

W perspektywie rozwoju Internetowego Edukatora Ekologicznego znajdują się

następujące funkcje:

• Tworzenie interaktywnych quizów z zakresu wiedzy ekologicznej dla dzieci

i młodzieŜy

• Stworzenie ogólnopolskiej bazy rzek zaadoptowanych i ich stały monitoring

przez młodych entuzjastów

Dodatkowymi celami projektu „Zaadoptuj rzekę” są:

• Zaadoptowanie rzeki i otoczenie jej opieką

• Zdobywanie kompetencji w zakresie ochrony wód

• Podniesienie świadomość ekologicznej

• Rozbudzenie inicjatyw społecznych

• Rozbudzenie wraŜliwości na obecność rzek naszym Ŝyciu

• Budowanie partnerstwa dla rzek

• Propagowanie idei rozwoju zrównowaŜonego

Page 31: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

31

Rezultatem opisanych powyŜej działań było zaadoptowanie w 2006 roku

ponad dwustu - 229 rzek, potoków, strumieni i stawów w całym kraju.

Przykładem takiego działania jest zaadoptowanie rzeki Parsęta, gdzie w ramach

programu zawiązano Porozumienie dla Parsęty. Porozumienie to moŜe być

przykładem współpracy na rzecz ochrony rzek pomiędzy placówkami

oświatowymi, samorządem oraz biznesem.

Do porozumienia przystąpiły: Gmina Dygowo i Gościno, Zachodnio

Pomorski Urząd Melioracji i Urządzeń Wodnych, Placówki Oświatowe – Zespół

Szkół Gospodarki śywnościowej, Zespół Szkół i Gimnazjum w Gościnie, Lasy

Państwowe Nadleśnictwo Gościno, K.W.S.. „Salomo”, firma Troton oraz Klub

Gaja.

Na czym polega adoptowanie rzeki:

Adoptowanie rzeki polega na wzięciu na siebie roli „stróŜa” rzeki – osoby

odpowiedzialnej za:

• Sprzątanie rzeki i jej brzegów,

• Zdobywanie wiedzy, np.: o historii i geografii rzeki,

• Organizowanie i prowadzenie lekcji tematycznie dotyczących ochrony

rzek,

• Prowadzenie i organizowanie zajęć terenowych – w szczególności

dokumentowanie fauny i flory,

• Badanie jakości wody – temperatury, pH, ilość tlenu w wodzie,

• Monitorowanie jakości wody,

• Obejmowanie ochroną, jako pomnika przyrody rosnących nad rzekami

drzew,

• Prowadzenie i organizowanie zajęć plastycznych, np.: tworzenie rzeźb ze

znalezionych odpadów rzeki,

• Organizowanie konkursów fotograficznych, plastycznych i literackich,

• Organizacje przedstawień i happeningów,

• Nadawanie nazw bezimiennym potokom lub najciekawszym fragmentom

rzeki,

• Organizacje wycieczek i rajdów wzdłuŜ rzek,

Page 32: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

32

• Poszukiwania źródeł rzeki,

• Zachęcanie lokalnych władz do poprawy stanu czystości rzeki,

• Zawiązywanie porozumień dla rzeki.

Oto przykładowe wpisy, które zostaną wprowadzone do bazy danych IEE.

Co moŜesz zrobić aby zapobiec zanieczyszczeniu wody?

Skutecznym sposobem zmniejszenia zanieczyszczania wody jest ograniczanie jej

zuŜycia. Innym sposobem jest zapobieganie przedostawaniu się śmieci i innych

zanieczyszczeń do spływów i kanałów burzowych. Oto kilka wskazówek w jaki sposób

moŜna zapobiec zanieczyszczaniu wody:

• Nie wyrzucaj i nie wylewaj potencjalnie niebezpiecznych materiałów

chemicznych takich jak lakier do paznokci, środki do czyszczenia przewodów

kanalizacyjnych i farby do zlewu, ubikacji ani kanałów burzowych. W wielu

rejonach istnieją juŜ zbiórki materiałów niebezpiecznych. Jeśli w twojej

miejscowości nie została zorganizowana taka zbiórka, moŜesz zwrócić się do

władz lokalnych z prośbą o jej wprowadzenie.

• Istnieją alternatywy: Ŝrące środki do czyszczenia domu, które zanieczyszczają

środowisko moŜna zastąpić substancjami które ulegają biodegradacji, takimi jak

boraks i soda kuchenna. Uniwersalny środek czyszczący moŜna przyrządzić

z łyŜeczki mydła w płynie, dwóch łyŜeczek boraksu i łyŜeczki octu oraz ¼ litra

wody. Środek sporządzony z 1/4 filiŜanki sody kuchennej i pół filiŜanki octu

stanowi dobry środek do czyszczenia przewodów kanalizacyjnych.

• UwaŜaj na chemikalia w ogrodzie. Chemikalia do pielęgnacji trawników

i ogrodów naleŜy uŜywać w sposób ostroŜny i oszczędny, zgodnie

z instrukcjami na opakowaniu. Istnieją teŜ biologiczne sposoby ochrony roślin,

które warto wypróbować, takie jak np. biedronki. Niektóre rośliny są

naturalnymi środkami odstraszającymi owady, na przykład mięta (odstraszająca

mrówki), czosnek i nagietki.

• Sprzątaj po swoim psie gdy wyprowadzasz go na spacer, aby zapobiec

rozprzestrzenianiu się bakterii takich jak e.coli, a takŜe aby otoczenie było

przyjazne i bezpieczne dla innych spacerowiczów.

Page 33: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

33

• Bądź ostroŜny gdy pracujesz przy samochodzie. Niemal kaŜdy płyn

stosowany w samochodzie, to niebezpieczne zanieczyszczenie. NaleŜy uwaŜać,

by uniknąć rozlania oleju, środków zapobiegających zamarzaniu oraz innych

płynów stosowanych w samochodach.

Page 34: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

34

3.2 Opis projektowanego systemu

Internetowy Edukator Ekologiczny (IEE) został zaprojektowany jako

narzędzie, którego zadaniem jest gromadzenie i szeregowanie informacji

dotyczących rozwiązań ekologicznych dla problemów Ŝycia codziennego, ze

szczególnym uwzględnieniem wprowadzania danych dotyczących projektu

„Zaadoptuj rzekę”. System nastawiony jest przede wszystkim na młodych

uŜytkowników (uczniów szkół podstawowych, gimnazjalistów, licealistów),

dlatego jednym z podstawowych zadań stawianych przed tym narzędziem jest

prezentacja danych w formie przejrzystej przystępnej dla tej grupy odbiorców.

IEE pozwala równieŜ zarządzać informacjami wyświetlanymi na stronie

www redaktorowi (administratorowi), czyli osobie odpowiedzialnej za

redagowanie wyświetlanych w systemie informacji. Informacje przygotowane

przez redaktora są następnie udostępniane na stronie www dla uŜytkowników:

Młode osoby korzystające z IEE mogą:

� korzystać z wiedzy zawartej w systemie (bazie danych)

� sugerować nowe kategorie i podkategorie dla zamieszczanych rozwiązań

ekologicznych

� zgłaszać nowe rozwiązania ekologiczne dla istniejących problemów

� przeszukiwać bazę danych w poszukiwaniu odpowiedzi na nurtujące pytania

lub w poszukiwaniu ciekawych zagadnień związanych z ekologią.

Redaktor IEE decyduje o treści serwisu www. Jego zadaniem jest filtrowanie treści

i opinii wysyłanych przez uŜytkowników. Zatem redaktor systemu jest w stanie:

� dodawać, usuwać i edytować nowe kategorie i podkategorie problemów

związanych z ekologią

� dodawać, usuwać i edytować nowe wpisy poruszające tematykę ekologiczną

� dowolnie modyfikować treść stron www uŜywając internetowego edytora

WYSIWYG (ang. What You See Is What You Get – to co widzisz jest tym

co otrzymujesz)

Page 35: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

35

System zrealizowany został na darmowej platformie bazodanowej MySQL. Interfejs do

obsługi IEE zaimplementowany został przy uŜyciu języka skryptowego PHP

z wykorzystaniem HTML, JavaScript, CSS, a takŜe darmowej biblioteki tinyMCE

pozwalającej na wdroŜenie edytora WYSIWYG.

Page 36: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

36

3.3 Struktura i relacje w IEE

Struktura prezentowanego w tej pracy systemu opiera się o model bazy danych

zrealizowany w formie tabel przechowujących sformatowane informacje. PoniewaŜ

głównym załoŜeniem przy projektowaniu systemu była łatwość obsługi i prostota

implementacji, determinuje to zrealizowanie dosyć złoŜonego kodu źródłowego

(mechanizmu) obsługującego przedstawioną poniŜej strukturę. Projektując system

zostało równieŜ przyjęte załoŜenie, iŜ istotną z punktu widzenia administratora tegoŜ

systemu jest moŜliwość bezpiecznego zarządzania systemem, jednocześnie

uniemoŜliwiając dokonywanie zmian osobom nieuprawnionym. Specjalnie w tym celu

została stworzona tabela odpowiedzialna za przechowywanie informacji związanych

z logowaniem do systemu.

Struktura projektowanej bazy danych składa się z następujących tabel:

Tabela nr 1 LOGOWANIE – tabela przechowuj ąca informacje dotycz ące logowania

Logowanie nazwa pola typ pola

ID int (11)

login varchar (100)

haslo varchar (100) nazwa varchar (100)

KLUCZ PODSTAWOWY (ID)

Tabela nr 2 BANER – tabela przechowuj ąca informacje dotycz ące banerów graficznych

Baner nazwa pola typ pola

ID int (11)

sciezka varchar (100)

KLUCZ PODSTAWOWY (ID)

Page 37: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

37

Tabela nr 3 KATEGORIA – tabela przechowuj ąca informacje dotycz ące kategorii zagadnie ń ekologicznych

Kategoria

nazwa pola typ pola

ID int (11)

nr_kolejny varchar (100)

id_baner int (11)

nazwa varchar (100) startowa int (11) podkategoria int (11)

link_zewnetrzny varchar (100)

KLUCZ PODSTAWOWY (ID)

Tabela nr 4 PODKATEGORIA - tabela przechowuj ąca informacje dotycz ące podkategorii zagadnie ń ekologicznych

Podkategoria

nazwa pola typ pola

ID int (11)

id_kategoria int (11)

nazwa varchar (100) nr_kolejny int (11)

link_zewnetrzny varchar (100)

KLUCZ PODSTAWOWY (ID)

Tabela nr 5 OPIS_ZAGADNIENIA - tabela przechowuj ąca szczegółowe informacje dotycz ące zagadnie ń ekologicznych

Opis_zagadnienia

nazwa pola typ pola

ID int (11)

id_kategoria varchar (100)

id_podkategoria varchar (100) tytul int (11)

opis text

krotki_opis varchar(255)

dane_kontaktowe text

nr_kolejny varchar(100)

status varchar(100)

data date

KLUCZ PODSTAWOWY (ID)

Page 38: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

38

Tabela nr 6 TRESC - tabela przechowuj ąca informacje dotycz ące poprawnego wy świetlania tre ści stron www wykorzystywanych w IEE

Tresc nazwa pola typ pola

ID int (11)

id_kategoria varchar (100)

id_podkategoria varchar (100) zagadnienia int (11)

tresc mediumtext

KLUCZ PODSTAWOWY (ID)

Relacje dotyczące zaprojektowanych tabel na potrzeby Internetowego Edukatora

Ekologicznego charakteryzuje poniŜszy schemat.

Rys.5. Relacje między tabelami w projektowanym systemie bazy danych

Page 39: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

39

3.4 Funkcje tabel i pól słu Ŝących do przechowywania danych

Tabela logowanie

Tabela ta słuŜy do przechowywania informacji, które są wykorzystywane do logowania

do systemu. Aby zapewnić dostęp do systemu tylko osobom do tego uprawnionym

zastosowano następujące pola:

� ID – unikalny identyfikator rekordu (autoinkrementacja)

� login – pole odpowiadające za login uŜytkownika próbującego uzyskać dostęp

do systemu od strony administratora

� haslo – hasło uŜytkownika próbującego uzyskać dostęp do systemu od strony

administratora (hasło w zaleŜności od potrzeb moŜe być przechowywane

w formie jawnej – niŜszy poziom bezpieczeństwa – lub w formie

zaszyfrowanej – wyŜszy poziom bezpieczeństwa)

� nazwa – pole przeznaczone na nazwę konta uŜytkownika – do wykorzystania

przy rozbudowie systemu.

Tabela baner

Tabela ta słuŜy tylko i wyłącznie do przechowywania informacji, które są

wykorzystywane do wyświetlania graficznego baneru w systemie. Baner to graficzna

reprezentacja reklamy jakiegoś produktu lub usługi, wyświetlana przykładowo na

stronie internetowej. Najczęściej jest to animowany plik graficzny w formacie GIF lub

w postaci animacji w formacie Flash. Redaktor IEE ma do dyspozycji 16 plików

graficznych. Tabela składa się z następujących pól:

� ID – unikalny identyfikator rekordu (autoinkrementacja)

� sciezka – pole przechowujące ścieŜkę dostępu do pliku graficznego

przechowywanego po stronie serwera

Page 40: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

40

Tabela kategoria

Tabela ta słuŜy do przechowywania informacji dotyczących kategorii zagadnień (w tym

przypadku kategorii informacji) zapisanych w bazie danych. Projektowana struktura

pozwala równieŜ na dodawanie, usuwanie oraz edycje kategorii zagadnień. PoniŜej

został przedstawiony szczegółowy opis pól wykorzystanych w tej tabeli:

� ID – unikalny identyfikator rekordu (autoinkrementacja)

� nr_kolejny – pole przechowujące kolejny numer (ID) kategorii następujących

po sobie przy wyświetlaniu na stronie www

� id_baner – pole przechowujące numer (ID) baneru graficznego

przyporządkowanego do tej kategorii zagadnienia

� nazwa – nazwa kategorii produktu (w tym przypadku informacji)

� podkategoria – pole to przechowuje informacje o formie podkategorii

przypisanych do kategorii (spis produktów lub strona www).

� link_zewnetrzny – w przypadku, gdy kategoria ma słuŜyć jako odnośnik do

innej (zewnętrznej) witryny w sieci web wówczas pole to przechowuje taka

informacje (adres)

Tabela podkategoria

Tabela ta słuŜy do przechowywania informacji dotyczących podkategorii zagadnień (w

tym przypadku podkategorii informacji) zapisanych w bazie danych. Projektowana

struktura pozwala takŜe na dodawanie, usuwanie oraz edycje podkategorii zagadnień.

PoniŜej został przedstawiony szczegółowy opis pól wykorzystanych w tej tabeli:

� ID – unikalny identyfikator rekordu (autoinkrementacja)

� id_kategoria – pole przechowujące numer ID kategorii

� nr_kolejny – pole przechowujące kolejny numer (ID) podkategorii

następujących po sobie przy wyświetlaniu na stronie www

� nazwa – nazwa podkategorii produktu (w tym przypadku informacji)

� link_zewnetrzny – w przypadku, gdy podkategoria ma słuŜyć jako odnośnik

do innej (zewnętrznej) witryny w sieci web wówczas pole to przechowuje taka

informacje (adres)

Page 41: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

41

Tabela opis_zagadnienia

Tabela ta słuŜy do przechowywania szczegółowych informacji dotyczących opisu

zagadnień zapisanych w bazie danych. PoniŜej został przedstawiony szczegółowy opis

pól wykorzystanych w tej tabeli:

� ID – unikalny identyfikator rekordu (autoinkrementacja)

� id_kategoria – pole przechowujące numer ID kategorii

� id_podkategoria – pole przechowujące numer ID podkategorii

� tytul – pole to przechowuje tytuł zagadnienia

� opis – pole to przechowuje szczegółową odpowiedz na pytanie, zagadnienie

� krotki_opis – pole to przechowuje krotki opis danego zagadnienia (w tym

przypadku informacji). Pole to wykorzystywane jest w przypadku

wyświetlenia rezultatu wyszukiwania

� ciekawostki – pole to przechowuje dodatkowe informacje dotyczące danego

zagadnienia (w tym przypadku informacji – pole to przeznaczone zostało na

potrzeby ewentualnej rozbudowy struktury)

� nr_kolejny – pole przechowujące kolejny numer (ID) zagadnienia (w tym

przypadku informacji) następujących po sobie przy wyświetlaniu na stronie

www

� data – pole przechowujące informacje na temat czasu dodania zagadnienia

do bazy danych.

Tabela tresc

Tabela ta słuŜy do przechowywania informacji dotyczących poprawnego wyświetlania

treści stron www wykorzystywanych w systemie. PoniŜej został przedstawiony

szczegółowy opis pól wykorzystanych w tej tabeli:

� ID – unikalny identyfikator rekordu (autoinkrementacja)

� id_kategoria – pole przechowujące numer ID kategorii

� id_podkategoria – pole przechowujące numer ID podkategorii

� zagadnienia – pole to przechowuje liczbę zagadnień

� tresc – pole to przechowuje informacje w postaci kodu HTML. Kod ten

słuŜy do generowania strony www dla danej kategorii lub podkategorii.

Page 42: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

42

3.5 Funkcjonalno ść i opis działania systemu

Nawiązanie połączenia z IEE

Internetowy Edukator Ekologiczny pozwala na udostępnianie zasobów

zawartych w bazie danych za pomocą stron www. Z IEE moŜna połączyć się z

poziomu przeglądarki internetowej. Dzięki wykorzystaniu standardów W3C przy

implementacji, IEE działa poprawnie na wszystkich popularnych przeglądarkach

internetowych takich jak (Firefox, Internet Explorer, Opera).

Stronę główną IEE przedstawiono na rysunku 23.

Rys.6 Strona główna Internetowego Edukatora Ekologicznego.

Page 43: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

43

Główna strona IEE składa się z menu nawigacyjnego po stronie lewej (Ŝółta

strzałka) oraz w środkowej części strony gdzie wyświetlane są informacje i dane

(niebieska strzałka).

Rys.7 Nawigacja w IEE.

Page 44: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

44

Korzystanie z zasobów IEE

UŜywając menu, osoba korzystająca z zasobów IEE jest w stanie odnaleźć

interesujące informacje takie jak odpowiedzi na proste pytania z dziedziny ekologii

i poprawnych ekologicznych zachowań oraz ciekawostek. PoniŜej znajduje się

przykładowy wpis zawierający informacje dotyczące oszczędzania wody.

Rys.8 Przykładowy wpis w IEE.

PoniewaŜ IEE ma bazować głównie na doświadczeniach i wiedzy osób młodych,

uŜytkownik systemu jest takŜe w stanie zgłosić nowy problem ekologiczny lub

nurtujące go pytanie, a takŜe zasugerować nową kategorię lub podkategorię zagadnień..

W tym celu naleŜy uŜyć odpowiedniej pozycji z menu nawigacyjnego oraz wypełnić

formularz:

Page 45: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

45

Rys.9 Formularz zgłoszeniowy.

Zgłoszony problem bądź jego rozwiązanie jest wysyłane jako wiadomość e-mail

do redaktora systemu. Redaktor aprobując przesłany wpis umieszcza go w systemie

dodając do istniejącej kategorii lub podkategorii bądź tworząc nową kategorię lub

podkategorię dla przesłanego zagadnienia.

Do dyspozycji osób korzystających z IEE jest takŜe wyszukiwarka

umiejscowiona pod menu nawigacyjnym pozwalająca na szybkie i sprawne

odnajdywanie informacji zawartych na stronach www (Ŝółta strzałka).

Page 46: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

46

Rys.10 Wyszukiwarka w IEE

Zaimplementowane w systemie wyszukiwanie opiera się na algorytmie przeszukującym

treść zagadnienia w poszukiwaniu wybranej frazy. Algorytm został skonstruowany

w taki sposób, aby przeszukiwać nagłówek zagadnienia, jego opis oraz zawarte w opisie

ciekawostki. MoŜna zatem stwierdzić, iŜ jest to forma przeszukiwania globalnego.

Page 47: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

47

PoniŜszy ekran przedstawia wynik wyszukiwania dla frazy „zasoby”:

Rys.11 Wyniki wyszukiwania dla frazy „zasoby” w IEE

Wyniki wyszukiwania uwzględniają zarówno spis zagadnień dotyczących ekologii jak

i treści zamieszczane na stronach IEE w postaci czystego tekstu.

Page 48: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

48

3.6 Zarządzanie IEE

Redaktor systemu czyli osoba zarządzająca Internetowym Edukatorem

Ekologicznym ma przede wszystkim moŜliwość modyfikacji wszystkich danych

znajdujących się w serwisie www. Wbudowany edytor pozwala na edycję wszystkich

podstron IEE bez konieczności posiadania wiedzy technicznej i znajomości języka

HTML. Zostało to osiągnięte poprzez zastosowanie darmowej biblioteki tinyMCE

wykorzystującej skrypty JavaScript i szereg przydatnych ikon.

Rys.12 Zestaw ikon wykorzystywanych do edycji stron www

Ikony te znane są z popularnych edytorów tekstowych takich jak MSWord czy pakiet

OpenOffice.

Logowanie do systemu

Aby uzyskać dostęp do części administracyjnej serwisu naleŜy uruchomić

przeglądarkę internetową i otworzyć odpowiednią witrynę www.

W poniŜszym oknie naleŜy wpisać odpowiedni login oraz hasło aby uzyskać

dostęp do systemu:

Rys.13 Panel logowania do IEE

Page 49: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

49

Po prawidłowej autoryzacji redaktor uzyskuje dostęp do menu nawigacyjnego i do

treści wszystkich stron serwisu. Zarówno login jak i hasło są poddawane szyfrowaniu

poprzez funkcję sha1().

Rys. 14 Strona główna IEE (widok administratora)

Administrator jest osobą która moŜe redagować kategorie, edytować treści stron

www i zamieszczać odnośniki do innych serwisów.

Uzyskiwane od uŜytkowników zagadnienia i problemy ekologiczne wraz

z odpowiedziami, redaktor jest w stanie poszeregować według odpowiednich kryteriów

(kategorii) i podkategorii np.:

Woda � Rzeki

Woda � Jeziora

Woda � Morza

Page 50: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

50

Dodawanie nowej kategorii

Aby dodać nową kategorię naleŜy uŜyć opcji „Dodaj nową” (menu nawigacyjne)

lub wskazać na ikonę . Efektem tego będzie wyświetlenie modułu pozwalającego na

dodawanie nowych kategorii:

Rys. 15 Dodawanie nowej kategorii

Dodanie nowej kategorii wiąŜe się z wypełnieniem następujących pól:

• Nazwy kategorii

• Czy dana kategoria będzie posiadała podkategorie ? (opcja - TAK/NIE)

• Czy dana kategoria będzie stroną startową (wyświetlaną przy uruchamianiu

strony głównej ? (opcja - TAK/NIE)

• Czy kliknięcie na daną kategorię spowoduje przeniesienie uŜytkownika na inną

stronę www ? (Opcja link zewnętrzny)

• Wybór kolejności wstawianej kategorii

Page 51: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

51

Dodawanie nowej podkategorii

W przypadku gdy redaktor zdecydował się na kategorię z podkategoriami,

Internetowy Edukator Ekologiczny umoŜliwia wyświetlanie zagadnień w postaci

podkategorii w dwóch opcjach:

• Strony www

• Spisu zagadnień, który będzie prowadził do szczegółowych informacji

Szczegółowy opis róŜnic w wyborze został podany niŜej (równieŜ w formie ekranów).

PowyŜszego wyboru redaktor dokonuje w momencie dodawania nowej podkategorii.

Rys. 16 Dodawanie nowej podkategorii

Page 52: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

52

W przypadku gdy dodana podkategoria będzie „zwykłą” stroną www (opcja

„zwykły tekst”), redaktor jest w stanie dowolnie modyfikować jej treść przy pomocy

edytora WYSIWYG i zestawu ikon:

Rys. 17 Edycja strony www przy pomocy edytora WYSIWYG

Page 53: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

53

W sytuacji, gdy podkategoria została scharakteryzowana jako spis zagadnień,

redaktor ma moŜliwość ich dopisywania w formie spisu. Dodawanie nowych zagadnień

jest moŜliwe po określeniu nazwy zagadnienia i jego krótkiego opisu. Redaktor jest

takŜe w stanie dołączyć plik graficzny nawiązujący tematyką to zagadnienia.

Dopisywanie nowych zagadnień przedstawia poniŜszy ekran:

Rys. 18 Dodawanie nowego zagadnienia do spisu

Page 54: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

54

Po dodaniu nowego wpisu redaktor powinien równieŜ dodać szczegółowy opis,

a takŜe (opcjonalnie) zdjęcie bądź ciekawostki dotyczące danego zagadnienia. PoniŜej

została zaprezentowana moŜliwość edycji szczegółowego opisu tematu związanego

z oszczędzaniem wody.

Rys. 19 Edycja szczegółów dotyczących tematu związanego z oszczędzaniem wody

przy pomocy edytora WYSIWYG

Page 55: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

55

Do modyfikowania treści stron www została zastosowana darmowa biblioteka

tinyMCE pozwalająca na edytowanie stron www w postaci edytora internetowego

bardzo podobnego do popularnego MSWord’a lub edytora tekstowego z pakietu Open

Office.

Rys. 20 Panel edytora WYSIWYG opartego na bibliotece tinyMCE

Page 56: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

56

Aby dodatkowo uatrakcyjnić przeglądanie stron IEE, system umoŜliwia

przyporządkowanie kaŜdej kategorii baneru (graficznego pliku) wyświetlanego na górze

strony. W celu zmiany lub nowego przyporządkowania baneru naleŜy przy danej

kategorii kliknąć na ikonę , natomiast aby usunąć baner naleŜy kliknąć na .

Redaktor ma do dyspozycji 16 plików graficznych, które mogą słuŜyć jako baner

główny.

Rys. 21 Moduł pozwalający na zmianę baneru graficznego dla dowolnej kategorii

Page 57: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

57

Aby bezpiecznie zakończyć pracę z systemem naleŜy się wylogować klikając na

odpowiedni przycisk (Ŝółta strzałka)

Rys. 22 Wylogowanie z IEE

Page 58: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

58

ROZDZIAŁ 4 „Zaadoptuj rzekę” w IEE

Korzystając z narzędzi stworzonych na potrzeby IEE redaktor systemu jest w

stanie zarządzać treścią informacji umieszczanych na stronach www Internetowego

Edukatora Ekologicznego.

PoniŜszy ekran przedstawia przykładowy wpis na podstawie materiałów

uzyskanych od Klubu Gaja:

Rys. 23 Wpis z dotyczący projektu „Zaadoptuj rzekę”

Page 59: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

59

PoniŜej znajduje się przykładowy wpis zajmujący się tematyką oszczędzania wody:

Co moŜesz zrobić aby zaoszczędzić wodę?

Małe zasoby wody pitnej w Polsce oraz brak odpowiednich zbiorników do

przechowywania wody, powodują rokrocznie zwiększanie jej deficytu. Najbardziej

zagroŜonymi rejonami kraju są Górny Śląsk, Lublin, Łódź, okolice Radomia i Kielc

(M. Nowicki, Strategia ekorozwoju Polski). Zmieniając swoje codzienne nawyki

moŜesz skutecznie zaoszczędzić wodę, oto kilka wskazówek:

• Zakręcaj kran podczas mycia zębów, w ten sposób zaoszczędzić około 10 litrów

wody.

• Obieraj owoce i warzywa ze skórki przed ich umyciem, oszczędzisz około 7,5

litrów wody na minutę.

• Myj się pod prysznicem zamiast w wannie, oszczędzisz nawet 80 litrów wody.

• Nie myj naczyń pod bieŜącą wodą.

• Włączaj zmywarkę lub pralkę wtedy, gdy mają one pełny ładunek, jest to

oszczędniejsze w porównaniu z myciem naczyń i praniem przy częściowo

zapełnionym urządzeniu.

• Nowoczesne pralki mogą zmniejszyć zuŜycie wody o jedną trzecią miesięcznie,

w przeliczeniu na czteroosobową rodzinę.

• Podlewaj ogród wczesnym rankiem lub wieczorem, kiedy słońce nie powoduje

tak wielkiego parowania.

• Podczas mycia samochodu bieŜącą wodą zuŜywa się 20 -100 litrów wody Do

mycia samochodu uŜywaj gąbki i wiadra, w ten sposób ilość zuŜytej wody

zmniejszy się o ok. 80%.

• Znaczne ilości wody zuŜywa się kaŜdego dnia do spłukiwania ubikacji. MoŜesz

zmniejszyć ilość wody zuŜywanej w trakcie kaŜdego spłukiwania, umieszczając

w zbiorniku pływak lub plastikowa butelkę wypełnioną wodą.

Page 60: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

60

Dalsza rozbudowa Internetowego Edukatora Ekologicznego oraz jego

dostosowywanie do szczegółowych wymogów konkretnych instytucji czy organizacji

nie będzie sprawiała kłopotu ze względu na przyjętą podczas projektowania prostotę

oraz intuicyjne oznaczenie składników bazy danych. PoniewaŜ zaprojektowany

i zrealizowany system cechuje się prostotą, nie będzie on wymagał duŜego wkładu

finansowego dla organizacji starających się o przystosowanie istniejącej struktury bazy

danych a takŜe interfejsu do własnych wymogów.

Projektowany system (baza danych) jest strukturą, która z powodzeniem została

zaimplementowana na potrzeby projektu „Zaadoptuj rzekę”. PoniewaŜ ostatecznym

beneficjentem tegoŜ systemu są ludzie młodzi, szczególną uwagę naleŜy zwrócić na

administrację systemu i jego redagowanie odpowiadające „wymogom” współczesnego

młodego człowieka. Istotną sprawą jest zrealizowanie portalu, który nie tylko będzie

zawierał „suchą” wiedzę odnośnie wielu zagadnień ekologicznych, ale głównie wiedzę

przekazywał w sposób przyswajalny dla ludzi młodych.

Page 61: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

61

Podsumowanie

Celem niniejszej pracy było stworzenie projektu bazy danych oraz systemu,

którego zadaniem będzie łatwe i proste gromadzenie i wymiana informacji

ekologicznych.. Zaprojektowany i zrealizowany Internetowy Edukator Ekologiczny

(IEE) ma na celu przede wszystkim rozwijanie świadomości ekologicznej u ludzi

młodych, czyli głównie dzieci i młodzieŜy. Istotnym aspektem tej edukacji jest odejście

od typowego przekazywania wiedzy metodą „suchych faktów” i czysto naukowego

podejścia, na rzecz podejścia problemowego. Innymi słowy uŜytkownik systemu

(zarówno uczeń szkoły podstawowej jak i licealista) ma szansę posiąść wiedzę

(niekiedy nawet specjalistyczną) przeglądając strony www o tematyce ekologicznej.

Przykładowo osoba, która chciałaby poznać odpowiedź na pytanie „Jak bezpiecznie

umyć zęby w rzece?”, otrzyma równieŜ szereg informacji związanych z zagroŜeniem

dla rzeki ze strony środków chemicznych, klasyfikacji tych zagroŜeń i przede

wszystkim ich zapobieganiu. Model ten wydaje się być bardziej „przyswajalny” dla

młodej osoby niŜ model tradycyjny.

Jednym z załoŜeń przy implementacji IEE była łatwość obsługi zarówno jeŜeli

chodzi o uŜytkownika systemu (osobę szukającą informacji) jak i redaktora

sprawującego nadzór nad treściami wyświetlanymi na stronach www. Wydaje się Ŝe

załoŜenie to zostało spełnione.

Przedstawiona w niniejszej pracy struktura bazy danych daje się w łatwy sposób

zaadoptować i dostosować do innych projektów związanych np. z tematem ekologii.

Proste i intuicyjne oznaczenie pól w tabelach bazy danych nie powinny sprawiać

kłopotu osobom pragnącym dostosować tą strukturę do własnych wymagań. Co istotne

– ze względu na niewielką ilość tabel i pól, praca wykonana w celu przystosowania

bazy do innych implementacji nie będzie wiązała się z duŜym nakładem finansowym.

Załączony do pracy schemat relacji w strukturze bazy danych dodatkowo ułatwia dalszą

rozbudowę..

MoŜna zatem stwierdzić, iŜ zaprezentowany struktura bazy danych wraz

z odpowiednio zaimplementowanym interfejsem do jej obsługi moŜe być

z powodzeniem wdroŜona do projektów nie-informatycznych, a skupiających się

głównie na ekologicznych aspektach Ŝycia codziennego i edukacji ekologicznej.

Świadczy o tym przystosowanie systemu do prezentacji projektu „Zaadoptuj rzekę”

realizowanego przez zajmujący się tematyką ekologii Klub GAJA.

Page 62: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

62

Spis rysunków Rys.1. Przykład relacji jeden-do-jednego...................................................................12

Rys.2. Przykład relacji jeden-do-wielu...................................................................... 13

Rys.3. Przykład relacji wiele-do-wielu...................................................................... 14

Rys.4. Schemat systemu zarządzania bazą danych.................................................... 17

Rys.5. Relacje między tabelami w projektowanym systemie bazy danych............... 38

Rys.6. Strona główna Internetowego Edukatora Ekologicznego............................... 42

Rys.7. Nawigacja w IEE............................................................................................ 43

Rys.8. Przykładowy wpis w IEE................................................................................ 44

Rys.9. Formularz zgłoszeniowy................................................................................. 45

Rys.10. Wyszukiwarka w IEE................................................................................... 46

Rys.11. Wyniki wyszukiwania dla frazy „zasoby” w IEE......................................... 47

Rys.12. Zestaw ikon wykorzystywanych do edycji stron www ............................... 48

Rys.13. Panel logowania do IEE................................................................................ 48

Rys.14. Strona główna systemu IEE (widok administratora).................................... 49

Rys.15. Dodawanie nowej kategorii.......................................................................... 50

Rys.16. Dodawanie nowej podkategorii.................................................................... 51

Rys.17. Edycja strony www przy pomocy edytora WYSIWYG............................... 52

Rys.18. Dodawanie nowego zagadnienia do spisu.................................................... 53

Rys.19. Edycja szczegółów dotyczących tematu związanego z oszczędzaniem

wody przy pomocy edytora WYSIWYG...................................................... 54

Rys.20. Panel edytora WYSIWYG opartego na bibliotece tinyMCE....................... 55

Rys.21. Moduł pozwalający na zmianę baneru graficznego dla dowolnej

kategorii....................................................................................................... 56

Rys.22. Wylogowanie z IEE...................................................................................... 57

Rys.23. Wpis z dotyczący projektu „Zaadoptuj rzekę”............................................. 58

Page 63: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

63

Spis tabel Tabela.1.

LOGOWANIE – tabela przechowująca informacje dotyczące logowania.............. 36

Tabela.2.

BANER – tabela przechowująca informacje dotyczące banerów graficznych......... 36

Tabela.3.

KATEGORIA – tabela przechowująca informacje dotyczące

kategorii zagadnień ekologicznych............................................................................ 37

Tabela.4.

PODKATEGORIA - tabela przechowująca informacje dotyczące

podkategorii zagadnień ekologicznych...................................................................... 37

Tabela.5.

OPIS_ZAGADNIENIA - tabela przechowująca szczegółowe informacje

dotyczące zagadnień ekologicznych.......................................................................... 37

Tabela.6.

TRESC - tabela przechowująca informacje dotyczące

poprawnego wyświetlania treści stron www wykorzystywanych w IEE.................. 38

Page 64: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

64

Bibliografia

Literatura:

Buyens J. , „Bazy danych w Internecie krok po kroku” Warszawa 2000

Date C. „Wprowadzenie do systemów baz danych” , Wydawnictwo Naukowo Techniczne Warszawa 2000

Delobel C. , Adiba M. „Relacyjne bazy danych”, Warszawa 1989

Dragan R.: Maestro Commerce Suite 4.0, 2001

Dudek W. „Bazy danych SQL: teoria i praktyka”, Helion, Gliwice 2006

Figura D. , „Obiektowe bazy danych” Akademicka Oficyna wydawnicza PLJ Warszawa 1996

Michalkiewicz A. „Rozwój Społeczeństwa Informacyjnego”, biuletyn Wojewódzkiej Biblioteki Publicznej w Olsztynie, Olsztyn 2004

Munro J: Net.Commerce Start, 2003

Pająk I. , Pająk G. , Lasiński K., „Wprowadzenie do projektowania baz danych”, Wydawnictwo Politechniki Zielonogórskiej 1998

Popowska H. , Stefaniak B. , Wysocki A. , „Zagraniczne bazy danych : moŜliwości i warunki ich wykorzystania”, Wrocław 1991

Riordan R. „Designing relational database systems”, Rm Warszawa 2000.

Ratuszniak P. , Khadzhynov W. „Bazy danych” Wydawnictwo Uczelniane Politechniki Koszalińskiej , Koszalin 2005

Stones R. , Matthew N. , „Bazy danych i MySQL : od podstaw”, Gliwice 2003

Welling L. , Thompson L. „PHP i MySQL – Vademecum profesjonalisty” Helion 2003

Page 65: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

65

Zasoby internetowe

1. http://www.wikipedia.pl 2. http://www.klubgaja.pl 3. http://binboy.sphere.pl 4. http://www.navicat.de 5. http://www.php.net 6. http://www.mysql.com 7. http://www.tinymce.moxiecode.com 8. http://www.skryptoteka.pl 9. http://www.js.webhelp.pl 10. http://www.kurshtml.boo.pl

Inne: Materiały Klubu Gaja,

„Tworzenie struktur i mechanizmów handlu elektronicznego w Polsce”, Dokument opracowany przez Instytut Logistyki i Magazynowania oraz Ministerstwo Gospodarki, Pracy i Polityki Społecznej, Poznań – Warszawa, czerwiec 2003

Page 66: Łukasz Cie ślik PROJEKT I IMPLEMENTACJA INTERNETOWEJ …holmes.iigw.pl/~rszczepa/dyplomy/2049_Lukasz_Cieslik.pdf · ROZDZIAŁ 1 Wprowadzenie do baz danych 1.1 Definicja i rodzaje

66

Abstrakt

Celem niniejszej pracy magisterskiej było stworzenie projektu bazy danych oraz

systemu, którego zadaniem będzie łatwe i proste gromadzenie i wymiana informacji

ekologicznych.. Zaprojektowany i zrealizowany Internetowy Edukator Ekologiczny

(IEE) ma na celu przede wszystkim rozwijanie świadomości ekologicznej u ludzi

młodych, czyli głównie dzieci i młodzieŜy.

Przy implementacji IEE jednym z głównych załoŜeń była łatwość obsługi

zarówno jeŜeli chodzi o uŜytkownika systemu (osobę szukającą informacji) jak

i redaktora sprawującego nadzór nad treściami wyświetlanymi na stronach www. IEE

został zrealizowany z uŜyciem wyłącznie darmowych narzędzi takich jak PHP,

MySQL, tinyMCE, HTML.

Przedstawiona w niniejszej pracy struktura bazy danych z odpowiednio

zaimplementowanym interfejsem moŜe być z powodzeniem wdroŜona do projektów

nie-informatycznych.. Internetowy Edukator Ekologiczny został zrealizowany we

współpracy z zajmującym się tematem ekologii Klubem GAJA. Na potrzeby

prezentowanej pracy magisterskiej Internetowy Edukator Ekologiczny został

dostosowany do projektu „Zaadoptuj rzekę” realizowanego przez Klub GAJA.

Abstract

The main purpose of this master’s thesis was to create a project of data-base

system, which one of the main aims was to provide and present ecological data.

Designed and implemented Web Ecological Educator (IEE) is mainly focused on

developing ecological knowledge especially as far as young people are concerned.

According to the system implementation one of the most important points was to

enable users to navigate easily. From administrator’s point of view one of the most

important aspects was to simply maintain the system. IEE was designed using only

freeware tools such as PHP, MySQL, tinyMCE, HTML.

Due to structure presented in this master’s thesis of data-base, it can be simply

initiated also in non-computer science projects. One of them (selected for

implementation) is “Adopt Your River” Project - running and guiding by ecological

GAJA club.