Aufbau einer Online-Umfrage auf Basis von MySQL und PHP


Studienarbeit, 2017

42 Seiten, Note: 1,0


Leseprobe

Inhaltsverzeichnis

Abkürzungsverzeichnis

Abbildungsverzeichnis

Tabellenverzeichnis

Glossar

1 Einleitung
1.1 Problemstellung und Relevanz
1.2 Ziel dieser Arbeit
1.3 Aufbau der Arbeit

2 Theoretische Grundlagen
2.1 Grundlagen PHP
2.1.1 Definition und Einordnung
2.1.2 Charakteristika
2.2 Grundlagen MySQL
2.2.1 Definition und Einordnung
2.2.2 Charakteristika
2.2.3 MySQL-Architektur
2.3 Online-Umfragen
2.3.1 Definition und Einordnung
2.3.2 Charakteristika

3 Konzeption und Datenmodelle der Online-Umfrage
3.1 UML-Klassendiagramm und Spezifikation
3.2 Entity-Relationship-Modell
3.3 Physikalisches und relationales Datenmodell

4 Entwicklung der Online-Umfrage
4.1 Allgemeines
4.2 Einrichtung MySQL-Datenbank
4.3 Entwicklung Online-Umfrage-Website
4.3.1 Allgemeines
4.3.2 Globale PHP-Dateien
4.3.3 Dynamische Webseiten auf PHP-Basis

5 Zusammenfassung und Reflexion
5.1 Fazit
5.2 Kritische Würdigung und Ausblick

Anhang

Literaturverzeichnis

Abkürzungsverzeichnis

Abbildung in dieser Leseprobe nicht enthalten

Abbildungsverzeichnis

Abbildung 1: Datenbank anlegen via MySQL Workbench

Abbildung 2: Datenbanktabelle spezifizieren via MySQL Workbench

Abbildung 3: Benutzerkonto php_website_user anlegen

Abbildung 4: Document Root des vHost AKADpoll

Abbildung 5: SQL-Abfragen für Antworten

Abbildung 6: Quellcode-Auszug aus index.php - Formulardatenverarbeitung

Abbildung 7: Quellcode-Auszug aus online_poll_p1.php – Abfrage Einfachauswahlfragen

Abbildung 8: Quellcode-Auszug aus online_poll_p1.php - Formulardatenverarbeitung

Abbildung 9: Quellcode-Auszug aus online_poll_results.php - Fragen-Antworten

Abbildung 10: MySQL-Architekturelemente

Abbildung 11: UML-Klassendiagramm zur Online-Umfrage-Datenbank

Abbildung 12: Entity-Relationship-Modell zur Online-Umfrage-Datenbank

Abbildung 13: EER-Diagramm der Online-Umfrage-Datenbank in MySQL Workbench

Abbildung 14: Erste Webseite (index.php) der Online-Umfrage zur Teilnehmerdatenerfassung

Abbildung 15: Zweite Webseite (online_poll_p1.php) der Online-Umfrage

Abbildung 16: Dritte Webseite (online_poll_p2.php) der Online-Umfrage

Abbildung 17: Quellcode-Auszug aus online_poll_p2.php - Formulardatenverarbeitung

Abbildung 18: Vierte Webseite (online_poll_p3.php) der Online-Umfrage

Abbildung 19: Quellcode-Auszug aus online_poll_p3.php - Formulardatenverarbeitung für FT 2

Abbildung 20: Auswertungs-Webseite (online_poll_results.php) der Online-Umfrage (Part 1)

Abbildung 21: Auswertungs-Webseite (online_poll_results.php) der Online-Umfrage (Part 2)

Tabellenverzeichnis

Tabelle 1: Beziehungssätze für ER-Modell der Online-Umfrage

Tabelle 2: Physikalisches Modell der Relation Umfragen inkl. SQL-Syntax

Tabelle 3: Physikalisches Modell der Relation Fragetypen inkl. SQL-Syntax

Tabelle 4: Physikalisches Modell der Relation Fragen inkl. SQL-Syntax

Tabelle 5: Physikalisches Modell der Relation Antwortmöglichkeiten inkl. SQL-Syntax

Tabelle 6: Physikalisches Modell der Relation Umfrageergebnisse inkl. SQL-Syntax

Tabelle 7: Physikalisches Modell der Relation Teilnehmer inkl. SQL-Syntax

Tabelle 8: Vordefinierte Fragen mit Fragetyp und Antwortmöglichkeiten der Online-Umfrage

Glossar

Abbildung in dieser Leseprobe nicht enthalten1 2 3 4 5 6

1 Einleitung

1.1 Problemstellung und Relevanz

Für das Modul DBA20 (Datenbanksysteme) soll eine Online-Umfrage unter dualen Studenten auf Basis von PHP und MySQL entwickelt werden. Dabei soll sowohl ein Datenmodell entworfen wer- den, welches anschließend als relationales Modell in MySQL implementiert wird, als auch eine auf PHP-basierte Website zur Teilnahme an einer Umfrage entwickelt und online gestellt werden.7

Online-Umfragen sind sowohl bei Fragestellern als auch bei Befragten beliebt und werden inzwi- schen in den unterschiedlichsten Branchen als primäre Forschungsmethode eingesetzt. Neben For- schungsgruppen führen mehr als die Hälfte der Unternehmen ihre Marktforschung auf diese Art und Weise durch.8 Dieser Trend spiegelt sich auch in dem Jahresbericht 2016 des Arbeitskreis Deutscher Markt- und Sozialforschungsinstitute e.V. wieder, der besagt, dass online durchgeführte Umfragen mit circa 35 Prozent die häufigste Interviewform in den vergangenen Jahren in Deutschland war.9 Im Hinblick auf Datenhaltung und -analyse sind Datenbanksysteme in diesem Zusammenhang eine un- ersetzliche Komponente. Das vorliegende Assignment beschäftigt sich mit der Problemstellung, wie eine Online-Umfrage selbst entwickelt und folglich von diesem Trend profitiert werden kann.

1.2 Ziel dieser Arbeit

Das Ziel dieser Arbeit ist die Erläuterung der Konzeption und Implementierung einer Online- Umfrage, die die auf einer PHP-basierten Website eingegebenen Daten bzw. ausgewählten Antwor- ten in einer MySQL-Datenbank speichert. Für ein einheitliches Verständnis der Thematik, werden in diesem Assignment auch die Grundlagen der tangierenden Technologien PHP und MySQL erarbeitet.

1.3 Aufbau der Arbeit

Anknüpfend an die Einleitung im ersten Kapitel, folgt die Erarbeitung der Grundlagen im zweiten Teil der Arbeit. In Rücksprache mit dem Dozenten wurde in diesem der Schwerpunkt auf die Grund- lagen von MySQL und PHP gelegt. Zum anderen folgt eine Erläuterung des Themas Online- Umfragen. Auf dem Grundlagenkapitel aufbauend, bildet Kapitel 3 und 4 den Schwerpunkt der Ar- beit. Dort wird die eingangs formulierte Problemstellung erarbeitet und sowohl die Konzeption des Datenmodells als auch anschließend deren Implementierung in MySQL sowie die Programmierung der Online-Umfrage erläutert. Im fünften und letzten Kapitel dieses Assignment findet sowohl ein Fazit der Arbeit als auch eine kritische Reflexion des Arbeitsergebnisses statt.

2 Theoretische Grundlagen

In diesem Kapitel wird ein einheitliches Verständnis von PHP und MySQL vermittelt. Zu jedem Sachverhalt findet eine Definition, Einordnung sowie eine Erläuterung relevanter Merkmalen statt. Ferner wird ein kurzer Einblick zum Thema Online-Umfrage gegeben, dessen Entwicklung Hauptbe- standteil der praktischen Arbeit ist. In Rücksprache mit dem Dozenten werden Grundlagen zu den Kernthemen des Moduls DBA20, wie Datenbankmanagementsysteme, SQL und einzelne Datenmo- delle, vorausgesetzt oder im Glossar kurz erläutert.

2.1 Grundlagen PHP

2.1.1 Definition und Einordnung

PHP steht für PHP Hypertext Processor und ist eine eigenständige und serverseitige Open-Source- Programmiersprache.10 Mit dem Aufkommen des World Wide Web wurde sie 1995 von Rasmus Lerdorf ins Leben gerufen. Inzwischen wird PHP von der dezentral organisierten PHP Group weiter- entwickelt11 und steht aktuell in der Hauptversion 7 zum kostenfreien Download für die gängigsten Betriebssysteme zur Verfügung.12 In Version 5 wurde das bis dahin rudimentär umgesetzte Objekt- modell komplett neu entworfen, sodass PHP inzwischen als vollständig objektorientierte Program- miersprache gilt.13 Als sogenanntes PHP-Skript wird sie in einem bestehenden statischen HTML- Code eingebettet und dient zur Entwicklung dynamischer bzw. datenbankgestützter Webseiten.14

2.1.2 Charakteristika

Wie bereits im vorhergehend Kapitel beschrieben, ist PHP eine serverseitige Sprache, was bedeutet, dass der PHP-Skriptcode zum einen nicht vom Client einsehbar ist und zum anderen nicht vom Webbrowser des Clients, sondern auf Webserver, im Zuge einer HTTP-Anfrage beim Besuch der Webseite, via Interpreter ausgeführt wird.15 Die dynamischen Inhalte stammen dabei vorrangig aus Datenbanken, können aber auch Rückgabewerte aus Dateien oder von Programmen sein.16 Eine zent- rale PHP-Komponente ist der PHP-Interpreter, der sowohl für die Interpretation und Ausführung des Skriptcodes als auch für die Umwandlung dessen in HTML-Code zuständig ist. Dabei kann dieser entweder ein portables CGI-Programm oder ein integriertes Modul eines Webservers sein, welches HTML-Code generiert und es anschließend an den Webbrowser als Antwort zurücksendet.17

Obwohl PHP eine eigenständige Sprache ist, basiert die Syntax primär auf der Programmiersprache C und enthält ebenfalls einige Eigenschaften von Java und Perl.18 Dabei umfasst PHP mehr als 1.300 Funktionen, insbesondere für Webapplikationen. Dies sind neben klassischen Verarbeitungsfunktio- nen unter anderem auch Mail-, HTTP-, Datenbankzugriffs- sowie ODBC-Funktionen.19

2.2 Grundlagen MySQL

2.2.1 Definition und Einordnung

MySQL ist ein Open-Source- und GNU-GPL-lizensiertes relationales Datenbankmanagementsystem (RDBMS) zur Verwaltung von Daten.20 Der Download sowie die nichtkommerzielle Nutzung dieser Software ist somit kostenfrei. Laut dem Ranking der Community DB-Engines gehört es nach Oracle RDBMS zu den weltweit populärsten DBMS der vergangenen Jahre.21 MySQL wird von Oracle stets weiterentwickelt und steht aktuell entweder als MySQL Community Edition oder auch als kommerzi- elle MySQL Enterprise, Cloud und Cluster Edition zur Verfügung.22 Die hauptsächlichen Anwen- dungsgebiete sind dabei Internet-Projekte, wie bspw. Webshops oder Online-Befragungen.

2.2.2 Charakteristika

Als RDBMS zeichnet auch eine MySQL-Datenbank aus, dass sie aus verschiedenen Tabellen, soge- nannte Relationen, besteht, die über Primär- oder Fremdschlüssel miteinander verknüpft werden.23 MySQL weist zahlreiche vorteilhafte Eigenschaften auf, von denen die nachfolgenden zu den wich- tigsten gehören. Es ermöglicht die Verarbeitung einer großen Anzahl an Datensätzen ohne bemerk- baren Performanceverlust. Daraus resultiert auch eine hohe Zuverlässigkeit im Betriebseinsatz. MySQL ist des Weiteren netzwerk- und mehrbenutzerfähig. Es bietet eine Client-Server- Unterstützung, die einen kontrollierten Remote-Zugriff von Clients auf einen MySQL-Server ermög- licht. Für die Zugriffsberechtigung steht eine Benutzerverwaltung zur Verfügung. Zum anderen ist MySQL plattformunabhängig und unter zahlreichen Hardware-Konfigurationen lauffähig. Ein weite- rer Vorteil ist die Portierbarkeit und Kompatibilität von MySQL, die auf dem fast ausschließlichen Einsatz von Standard-SQL beruht. Exportierte MySQL-Datenbanken lassen sich somit ohne Konver- tierungen in andere DBMS importieren. Auch die Anwendungsgebiete sind sehr flexibel, da unter MySQL eine umfangreiche Client-Bibliothek bereitgestellt wird, die zahlreichen Programmierspra- chen, wie PHP, Java, C++ oder Perl, Schnittstellen zum MySQL-Server bieten.24

Dies umfasst sowohl PHP- oder ASP-basierte Webseiten im Internet als auch klassische Windows- oder Java-basierte Client-Server-Applikationen. MySQL zeichnet sich ebenfalls durch die intuitive Handhabung aus, dass mit nur wenigen Befehlen eine gute und effiziente Administration ermöglicht. Aufgrund der stetigen Weiterentwicklung und Popularität von MySQL, existiert inzwischen eine große Online-Community, die einen schnellen und kostenlosen Support bietet.25

Neben diesen Vorteilen hat MySQL den Nachteil, dass es im Vergleich zu anderen DBMS nicht die höchsten Anforderungen in Bezug auf Datensicherheit und -integrität erfüllen kann, sodass es für bestimmte Branchen, wie bspw. den Finanz- und Bankensektor, ungeeignet ist.26

2.2.3 MySQL-Architektur

Zur MySQL-Architektur gehören im Wesentlichen zwei zentrale Komponenten. Zum einen ist dies die MySQL-Server-Komponente. Sie setzt sich wiederum aus Dienstprogrammen, wie mysqladmin, zur Administration, oder mysqldump, zum Dateiexport, sowie aus SQL-Schnittstellen, Datenbankda- teien, bei denen eine Datei eine Datenbank repräsentiert27, und MySQL-spezifischen Speichersyste- men, wie bspw. InnoDB, zusammen. Zum anderen handelt es sich um Programmschnittstellen, die unter anderem in PHP oder C++ entwickelt worden sind, und Konnektoren, wie JDBC oder ODBC.28 Diese Architekturübersicht kann der Abbildung 10 in Anlage 1 entnommen werden.

Der MySQL-Servers selbst, bzw. das DBMS, läuft unter dem Namen mysqld als Hintergrundprozess eines Betriebssystems und wartet permanent auf Anfragen. Es wird durch eine Konfigurationsdatei, wie bspw. die sogenannte my.cnf - bzw. my.ini -Datei, konfiguriert. Diese enthält alle grundlegenden Konfigurationsparameter und ist individuell über einen Texteditor anpassbar.

Die Arbeitsweise entspricht dabei dem Client-Server-Konzept und wird auf drei unterschiedlichen Ebenen realisiert. Ein Client sendet über eine Schnittstelle eine Anfrage zu einem Datenbankserver und erhält von diesem das Abfrageergebnis als Antwort zurück. Im konkreten Fall einer PHP- basierten dynamischen Webseite wird eine vom Webbrowser des Clients erzeugte HTTP-Anfrage an einen Webserver gesendet und dort von einem PHP-Interpreter-Modul, als Schnittstelle, in eine SQL- Abfrage umgewandelt. Diese wird anschließend an den Datenbankserver weitergeleitet, der die SQL- Abfrage auf der adressierten Datenbank ausführt. In umgekehrter Reihenfolge wird dann das Abfra- geergebnis über die Schnittstelle wieder als HTML an den Webbrowser zurückgegeben.29

2.3 Online-Umfragen

2.3.1 Definition und Einordnung

Die Online-Umfrage ist eine spezielle Form der klassischen Befragung. Wissenschaftlich ist die all- gemeine Befragung als eine Informationsgewinnungsmethode zur Datenerhebung definiert, bei dem eine oder mehrere Personen systematisch nach bestimmten Regeln schriftlich oder mündlich inter- viewt werden.30 Die Online-Umfrage ist dabei ein computergestütztes Verfahren, sodass Online- Umfragen auch als Computer Aided Web Interview (CAWI) bezeichnet werden.31 Sie zeichnet aus, dass die Befragung digital und durch Verwendung der Internet-Technologie, das heißt im Inter- oder Intranet, ohne einen menschlichen Interviewer durchgeführt wird.32 Die dabei getätigten Antworten werden automatisch als Datensätze, primär in einer Datenbank, gespeichert und können zur späteren Weiterverarbeitung, wie bspw. zur Auswertung und zum Reporting, wieder ausgelesen werden.

2.3.2 Charakteristika

Die steigende Beliebtheit von Online-Umfragen steht im direkten Zusammenhang mit den Vorteilen, die diese Art der Befragung mit sich bringt. Sie besitzt eine hohe Reichweite und einen geringen Zeitaufwand, da an ihr theoretisch unendlich viele Personen weltweit und parallel teilnehmen kön- nen. Zudem bietet sie die Möglichkeit, multimediale bzw. interaktive Elemente problemlos in die einzelnen Fragestellungen einzubinden. Des Weiteren verkürzt sich die Nachbereitung deutlich, da bei Online-Befragungen die Speicherung der gegebenen Antworten unmittelbar und automatisiert stattfindet, sodass eine Auswertung direkt im Anschluss durchgeführt werden kann.33 Der größte Vorteil gegenüber der analogen Befragung sind allerdings die geringeren Erhebungskosten, da bei Online-Umfragen entweder die Kosten für den Interviewer bei mündlichen oder auch die Portokosten bei schriftlichen Befragungen entfallen.34

Nachteilig ist insbesondere die Anonymität dieser Befragungssituation, die eine in der Regel geringe Rücklaufquote und unseriöse Antworten zur Folge hat. Zudem gibt es keinerlei Möglichkeit Rück- fragen zu eventuell unklaren Punkten zu stellen, was zu Missverständnissen und nicht wahrheitsge- mäßen Antworten führen kann.35

3 Konzeption und Datenmodelle der Online-Umfrage

Inhalt dieses Kapitels ist die Erläuterung des Entwurfs der Online-Umfrage. Insbesondere die Hal- tung und Strukturierung der Daten via Datenbank. Basis dafür bildet die Konzeption der dazugehöri- gen Datenmodelle auf konzeptioneller, logischer und physikalischer Ebene, die in den drei nachfol- genden Kapiteln abgebildet und beschrieben sind.

3.1 UML-Klassendiagramm und Spezifikation

Ein Klassendiagramm ist eines der Hauptdiagrammtypen der UML und dient der Darstellung der statischen Struktur von Systemen durch Abbildung von deren Klassen mit ihren Eigenschaften, Ver- halten und den untereinander existierenden Beziehungen.36

Das in Abbildung 11 der Anlage 2 dargestellte Klassendiagramm zur Online-Umfrage wurde auf Entwurfsebene erstellt und beinhaltet insgesamt sechs Klassen, die, wie abgebildet, miteinander in Beziehung stehen. Konkret sind dies die Klassen Umfragen, Fragen, Fragetypen, Antwortmöglich- keiten, Teilnehmer und Umfrageergebnisse. Eine Besonderheit ergibt sich zwischen den Beziehun- gen der Klasse Umfrageergebnisse und den Klassen F ragen, Antwortmöglichkeiten und Teilnehmer. Hierbei handelt es sich um Aggregationen, da hier eine besteht-aus-Beziehung vorliegt, die stärker ist als eine normale Assoziation. Eine Komposition, als existenzabhängige Assoziation, gibt es wiede- rum zwischen den Klassen Umfragen und Fragen, da die Fragen einer Umfrage nicht ohne diese existieren können. Alle anderen Beziehungen sind normale Assoziationen.

Das Hauptaugenmerk einer Umfrage sind die Fragen. In der zu entwickelnden Online-Umfrage gibt es die klassischen Ja-/Nein-Fragen, Fragen mit Freitextantwort und keiner Auswahlmöglichkeit und die Multiple-Choice-Fragen, bei denen sowohl nur eine als auch mehrere Antwortmöglichkeiten auswählbar sind. Diese Fragetypen sind in der namensgleichen Tabelle hinterlegt und stehen mit der Klasse Fragen in Beziehung. In dieser Tabelle tbl_fragen ist auch die Konstellation festgelegt, wel- che Frage welcher Umfrage zugeordnet ist. Die Antwortmöglichkeiten der Multiple-Choice-Fragen werden separat in der namensgleichen Tabelle erfasst. Bei der Durchführung an der Online-Umfrage werden die Ergebnisse als Kombination aus Teilnehmer, Frage und ausgewählter Antwortmöglich- keit in der Datenbanktabelle tbl_umfrageergebnisse abgespeichert. Dabei werden die vom Teilneh- mer gegebenen Freitextantworten ebenfalls in der Tabelle tbl_antwortmoeglichkeiten neu hinzuge- fügt, sodass stets ein Bezug zu dieser Tabelle existiert. Als Besonderheit wird bei diesen Antworten keine Ordnungsnummern festgelegt, um sie so für eine spätere Auswertung von den vordefinierten Antwortmöglichkeiten unterscheiden zu können.

3.2 Entity-Relationship-Modell

Das Entity-Relationship-Modell (kurz ERM) ist ein semantisches Datenmodell und dient ebenfalls der Abstrahierung von Sachverhalten. Dieses kann aus einem UML-Klassendiagramm heraus trans- formiert werden und ist wegbereitend für die relationale Datenbankmodellierung. Wie das Klassen- diagramm besteht auch das ERM im Wesentlichen aus drei Komponenten. Dies ist zum einen die Entität, die einem Objekt bzw. einer Klasse entspricht, die Beziehung, die den Zusammenhang von zwei oder mehreren Entitäten darstellt und zum anderen das Attribut, das eine Entität oder Beziehung näher beschreibt und der Eigenschaft einer Klasse entspricht.37

Das ER-Modell zur Online-Umfrage ist in Abbildung 12 der Anlage 3 dargestellt. Dabei ist das Schlüsselattribut der jeweiligen Entitäten unterstrichen und die Komposition auf Seiten der Kompo- nente (hier Fragen) als Doppelrahmen gekennzeichnet. Zwischen den Entitäten der Online-Umfrage existieren die in der Tabelle 1 in Anlage 4 definierten Beziehungen und Kardinalitäten.

3.3 Physikalisches und relationales Datenmodell

Das physikalische Datenmodell ist datenbanksystemunabhängig und bildet den Entwurf zur Imple- mentierung der Datenbank. Es setzt auf dem konzeptionellen ER-Modell auf indem es den Attributen der Entitäten konkrete Datentypen sowie einzelne Bedingungen, wie der Typ des Schlüssels, die Be- dingung NOT NULL oder Ähnliches, zuordnet.38 In der Tabelle 2 bis Tabelle 7 in Anlage 4 bis 6 ist das physikalische Datenmodell der Online-Umfrage, inklusive dem dazugehörigen SQL-Syntax je Tabelle, dargestellt. Dieses Schema lässt sich 1:1 in eine MySQL-Datenbank übertragen.

Das relationale bzw. Relationenmodell ist hingegen ein logisches Modell, welches die Daten in Ta- bellenform strukturiert und das Fundament für alle modernen Datenbankmanagementsysteme bildet. Ein Relationenmodell lässt sich direkt in eine relationale Datenbank umsetzen. Es besteht aus Tabel- len, den sog. Relationen, die wiederum aus Attributen bzw. Kolonnen und Tupel bzw. Datensatz existieren. Dabei bilden Attribute/Kolonnen die Tabellenspalten und stellen die Eigenschaften der Datenobjekte dar. Tupel bilden die Tabellenzeilen, sind ungeordnet und unterscheiden sich in min- destens einem Attributwert.39 Des Weiteren gibt es im Relationenmodell zwei Schlüsselbegriffe. Zum einen den Primärschlüssel, der ein eineindeutiges Attribut einer Relation darstellt und zur Iden- tifikation eines Datensatzes in dieser verwendet wird. Zum anderen der Fremdschlüssel, der auf ei- nen Primärschlüssel einer in Beziehung stehenden Relation verweist.40

Wie bereits im ERM der Online-Umfrage in Kapitel 3.2 dargestellt, bilden die Umfrageergebnisse eine eigenständige Entität. Hintergrund ist, dass zwischen Teilnehmer und Fragen oder Antwortmög- lichkeiten und Fragen eine n:m-Beziehung existiert, die im relationalen Modell nicht direkt, sondern nur über eine Beziehungstabelle realisiert werden kann. Diese enthält den Primärschlüssel aller in Beziehung stehender Relationen als Fremdschlüssel.

4 Entwicklung der Online-Umfrage

4.1 Allgemeines

Inhalt der nächsten Unterkapitel ist die Erläuterung der MySQL-Datenbankeinrichtung sowie der Entwicklung der Online-Umfrage als PHP-basierte Website. Dazu wurde auf das Open-Source- basierte Software-Paket XAMPP in der Version 7.1.9 zurückgegriffen, mit dem sich eine Plattform zur Webentwicklung mit geringem Aufwand einrichten lässt. XAMPP ist speziell für Windows- Systeme kompiliert und umfasst neben dem DBMS MariaDB und der Skriptsprache PHP noch einen Apache Webserver sowie Administrationswerkzeuge wie bspw. phpMyAdmin. Die Entwicklung selbst orientierte sich dabei am Wasserfallmodell.41 Nach der Erläuterung der Anforderungsspezifi- kation sowie der des Datenbankentwurfs im Kapitel 3, erfolgt die in diesem Kapitel beschriebene Implementierungsphase, als dritter Schritt der Anwendungs- und Datenbankentwicklung.

4.2 Einrichtung MySQL-Datenbank

Gemäß der Anforderung, ein MySQL-Datenbanksystem für die Online-Umfrage zu verwenden, wur- de die Community-Edition des MySQL-Server in der Version 5.7.19 installiert. Dies erfolgte zusätz- lich zur XAMPP-Installation, da deren aktuelles Setup standardmäßig keine MySQL-Komponente mehr umfasst. Der MySQL-Dienst wurde nachträglich und manuell in das XAMPP-Verzeichnis so- wie ins XAMPP Control Panel integriert. Über diese Steuerungsfläche lassen sich die einzelnen XAMPP-Dienste, wie die des Apache Webserver (httpd.exe) oder MySQL-Datenbank-Server (mysqld.exe), starten, stoppen und konfigurieren. Bei der Einrichtung der MySQL-Datenbank wurde auf das ebenfalls Open-Source-basierte Datenmodellierungswerkzeug MySQL Workbench in der Community-Edition zurückgegriffen, da mit diesem Tool bereits Erfahrungen gesammelt wurden. Zudem bietet es eine umfangreichere und professionellere Funktionspalette als phpMyAdmin, das hierfür hätte alternativ verwendet werden können.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1: Datenbank anlegen via MySQL Workbench

Im ersten Schritt der Datenbankeinrich- tung wurde, wie in nebenstehender Ab- bildung 1 dargestellt, eine lokale Daten- bank mit der Bezeichnung onli- ne_umfrage_db und dem UTF8-Zeichensatz utf8_general_ci angelegt. Anschließend wurde hierfür die erste Datenbanktabelle tbl_umfrage mit ihren beiden zuvor definierten Attributen als Spalten erstellt. Gemäß dem konzipier- ten physikalischen Datenmodell wurden im nächsten Schritt, wie in Abbildung 2 dargestellt, die Spe- zifikationen der Datenbanktabelle, wie bspw. Primärschlüssel oder Auto-Inkrement, implementiert.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2: Datenbanktabelle spezifizieren via MySQL Workbench

Die anderen fünf Tabellen der Online-Umfrage wurden nach der gleichen Vorge- hensweise erstellt. Die Fremdschlüssel wurden nach anlegen aller Daten- banktabellen über den Mo- dellierungsbereich der MySQL Workbench, einge- richtet. Dazu wurde die er- stellte Datenbank mittels Reverse Engineering in das in Abbildung 13 (Anlage 7) abgebildete EER-Diagramm transformiert. Dieses entspricht wiederum dem im Kapitel 3.3 ausgearbeiteten physikalischen Datenmodell. Im Anschluss daran wurden die einzelnen Beziehungen zwischen den Tabellen modelliert. Eine Besonderheit bildet die Komposition zwischen den Tabellen tbl_umfragen und tbl_fragen. Hier mussten bei der Erstellung des Tabellen- schemas von tbl_fragen, konkret bei der Fremdschlüsseldefinition von umfrage_id, die SQL-Befehle ON UPDTAE CASCADE und ON DELETE CASCADE mit angegeben werden. Dies kann unter ande- rem auch im Syntax-Bereich der Tabelle 4 in Anlage 5 nachvollzogen werden. Nach Fertigstellung des EER-Diagramms, bzw. vollständiger Implementierung des physikalischen Modells, wurden über die Forward-Engineering-Funktion der MySQL Workbench die im Modell durchgeführten Ergän- zungen und Anpassungen in SQL-Befehle umgesetzt und anschließend auf die zuvor angelegte Onli- ne-Umfrage-Datenbank angewandt.

Im letzten Schritt der Datenbankeinrichtung wurden die grundlegenden Umfragewerte manuell als Datensätze in die Online-Umfrage-Datenbank angelegt. Dies erfolgte ebenso über die grafische Pro- grammoberfläche der MySQL Workbench, die die Eingaben zunächst wiederum in INSERT -SQL- Befehle umwandelte und anschließend ausführte. Dabei wurde eine Umfrage mit deren Inhalt, das heißt den entsprechenden Fragen inklusive der zugehörigen Fragetypen und Antwortmöglichkeiten, in die jeweiligen Datenbanktabellen eingetragen. Die Tabelle 8 in Anlage 8 stellt dabei eine Zusam- menführung dieser Werte aus den Datenbanktabellen tbl_fragen und tbl_antwortmoeglichkeiten dar. Die Werte der Teilnehmer-Tabelle sind dynamisch und stammen aus den Eingaben der Umfrageteil- nehmer auf der PHP-Webseite. Auch die Umfrageergebnisse setzen sich automatisch aus den Pri- märschlüsseln der Fragen-, Antwortmöglichkeiten- und Teilnehmertabelle zusammen.

Für die Schnittstelle der Online-Umfrage-Website zur neu erstellten Datenbank wurde das Benutzer- konto php_website_user neu angelegt und dessen Zugriffsrechte auf localhost begrenzt.

Wie in der nebenstehenden Abbildung 3 dargestellt, wurden diesem, über die stan- dardmäßig vordefinierte Rolle tab- le.modify, ausschließlich Berechtigungen zur Datenverwaltung zugewiesen. Diese Rolle erlaubt die Ausführung von SELECT-, DELETE-, INSERT- und UPDATE- Befehlen.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 3: Benutzerkonto php_website_user anlegen

4.3 Entwicklung Online-Umfrage-Website

4.3.1 Allgemeines

Die Online-Umfrage basiert auf insgesamt sieben PHP-Dateien. Mit der index.php -Datei, den mit online_poll_p1 bis *_p3 bezeichneten Dateien sowie der online_poll_results.php -Datei, bilden fünf davon die eigentlichen PHP-basierten Webseiten.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 4: Document Root des vHost AKADpoll

Wie in der nebenstehenden Abbildung 4 dargestellt, befinden sich diese im Basisver- zeichnis (document root) des eigens für die Online-Umfrage angelegten Virtual Host AKADpoll. Ebenso existieren hier die beiden Unterverzeichnisse images, als Ablageort der eingebetteten Bilder, sowie global_files, in dem neben zwei globalen PHP-Dateien, die im nächsten Kapitel näher erläutert werden, ebenfalls die CSS-Datei style.css abgelegt ist. In dieser ist die Forma- tierung der HTML-Elemente bzw. das zentrale Layout der Online-Umfrage-Website festgelegt.

[...]


1 Vgl. Steiner, R. (2014), S. 5

2 Vgl. Abts, D./Mülder, W. (2017), S. 161

3 Vgl. Kannengiesser, M. (2004), S. 89f.

4 Vgl. Begerow, M. (2014)

5 Vgl. Begerow, M. (2014)

6 Vgl. Kannengiesser, M. (2004), S. 16f.

7 Vgl. Riege, M. (2017), S. 1

8 Vgl. Evans J./Mathur, A. (2005), S. 196

9 Vgl. Wiegand, E. (2017), S. 15

10 Vgl. Ebersbach, A./Glaser, M./Heigl, R. (2011), S. 180

11 Vgl. Damaschke, G. (2015), S. 27

12 Vgl. The PHP Group (2017)

13 Vgl. Gutmans, A./Bakken, S./Rethans, D. (2005), S. 99

14 Vgl. Kannengiesser, M. (2004), S. 201

15 Vgl. Damaschke, G. (2015), S. 26

16 Vgl. Sklar, D. (2005), S. 3

17 Vgl. Kannengiesser, M. (2004), S. 202

18 Vgl. Kannengiesser, M. (2004), S. 205

19 Vgl. Kannengiesser, M. (2004), S. 202

20 Vgl. Däßler, R. (2013), S. 13

21 Vgl. DB-Engines (2017)

22 Vgl. MySQL (2017)

23 Vgl. Kannengiesser, M. (2004), S. 81

24 Vgl. Kannengiesser, M. (2004), S. 34

25 Vgl. Däßler, R. (2013), S. 14f.

26 Vgl. Kannengiesser, M. (2004), S. 18

27 Vgl. Kannengiesser, M. (2004), S. 27

28 Vgl. Däßler, R. (2013), S. 29

29 Vgl. Viehweger, B. (2014), S. 9

30 Vgl. Atteslander, P. (2003), S. 203

31 Vgl. Gräf, L. (2010), S. 9

32 Vgl. Bandilla, W. (2014), S. 2

33 Vgl. Maurer, M./Jandura, O. (2009), S. 61

34 Vgl. Bandilla, W. (2014), S. 2

35 Vgl. Silberbach, K. (2016)

36 Vgl. Hochschule Darmstadt (2006)

37 Vgl. Gadatsch, A. (2017), S. 9

38 Vgl. Dunkel, J./Holitschke, A. (2003), S. 79

39 Vgl. Preiß, N. (2007), S. 51f.

40 Vgl. Gadatsch, A. (2017), S. 35

41 Vgl. Vogel-Heuser, B. (2003), S. 26

Ende der Leseprobe aus 42 Seiten

Details

Titel
Aufbau einer Online-Umfrage auf Basis von MySQL und PHP
Hochschule
AKAD University, ehem. AKAD Fachhochschule Stuttgart
Note
1,0
Autor
Jahr
2017
Seiten
42
Katalognummer
V463902
ISBN (eBook)
9783668927735
ISBN (Buch)
9783668927742
Sprache
Deutsch
Schlagworte
datenbank, datenbanksysteme, programmierung, php, mysql, sql, umfrage, online-umfrage
Arbeit zitieren
Sandro Kunadt (Autor:in), 2017, Aufbau einer Online-Umfrage auf Basis von MySQL und PHP, München, GRIN Verlag, https://www.grin.com/document/463902

Kommentare

  • Noch keine Kommentare.
Im eBook lesen
Titel: Aufbau einer Online-Umfrage auf Basis von MySQL und PHP



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden