Lade Inhalt...

Erstellung eines einfachen Internetforums basierend auf einer MySQL-Datenbank und PHP

Hausarbeit 2019 14 Seiten

Informatik - Allgemeines

Leseprobe

Inhaltsverzeichnis

1. Einleitung
1.1. Relevanz des Themas
1.2. Ziel der Arbeit
1.3. Aufbau der Arbeit
1.4. Kurzdarstellung XAMPP
1.4.1. Apache HTTP Server
1.4.2. MariaDB bzw. MySQL
1.4.3. PHP (P HP: H ypertext P reprocessor)
1.4.4. phpMyAdmin
1.4.5. XAMPP Control Panel
1.5. Kurzdarstellung MySQL Workbench

2. Datenbank Erstellung für das Internetforum
2.1. Datenbank Modellierung
2.2. Technische Umsetzung der Datenbank

3. PHP Programme für das Internetforum
3.1. Weboberfläche des Forums
3.2. Weboberfläche des Administratorenbereichs
3.3. Hilfsdateien

4. Schluss
4.1. Zusammenfassung
4.2. Kritische Reflexion der eigenen Vorgehensweise

5. Anhang

6. Literaturverzeichnis

7. Abbildungsverzeichnis

1. Einleitung

1.1. Relevanz des Themas

In der Gesellschaft des 21.Jahrhunderts ist es nahezu unmöglich sich dem Einflussbereich von Datenbanken zu entziehen. Egal ob an der Kasse im Supermarkt der Barcode unserer Produkte gescannt wird, um den Preis zu ermitteln, unsere Gehaltsabrechnung vom Arbeitgeber erstellt wird oder wir uns bei einem Streaming-Dienst anmelden, um unsere neue Lieblingsserie anzuschauen. Ständig arbeiten Datenbanksysteme im Hintergrund und ermöglichen es uns die Vorteile des digitalen Zeitalters zu nutzen. Eines der weltweit verbreitetsten Datenbankverwaltungssysteme ist MySQL bzw. die daraus abgespaltene Weiterentwicklung MariaDB welche weitgehend kompatibel mit MySQL ist.1 In Zusammenarbeit mit der serverseitigen Websprache PHP kann die gesamte Bandbreite von Einsteigerübungen bis hin zu großen Projekten im Bereich Datenbanken mit Weboberfläche abgedeckt werden. Daher ist es sehr zu empfehlen sich im Studiengang Wirtschaftsinformatik mit dem Team aus MySQL und PHP auseinander zu setzen und die Grundlagen für einen späteren beruflichen Einsatz zu schaffen.

1.2. Ziel der Arbeit

Das Ziel dieser Arbeit gliedert sich in zwei Bereiche. Zum einen soll ein einfaches Internetforum auf der Basis von PHP und MariaDB erstellt werden und dabei auch eine Weboberfläche zur Administration zur Verfügung gestellt werden.

Des Weiteren soll die Modellierung der Datenbank, sowie die technische Umsetzung der Datenbank und der Weboberfläche dokumentiert und die verwendeten Programme und Tools kurz vorgestellt werden.

1.3. Aufbau der Arbeit

Zunächst werden die verwendeten Programme und Werkzeuge kurz vorgestellt. Anschließend wird auf die Modellierung der Datenbank und deren technische Umsetzung eingegangen. Die in PHP geschriebenen Weboberflächen werden im vierten Kapitel beschrieben und danach das Assignment mit einer kritischen Reflexion und einem Ausblick auf die mögliche Weiterentwicklung des Forums abgeschlossen.

1.4. Kurzdarstellung XAMPP

XAMPP ist ein Paket aus verschiedenen Programmen, dass eine möglichst leichte Installation und Konfiguration eines Webservers ermöglichen soll. Das Paket beinhaltet aktuell A pache, M ariaDB, P HP, P erl und einige weitere Programme, wobei die genannten Teile zur Namensgebung von XAMPP mit Ihren Anfangsbuchstaben beitragen. Das „X“ in XAMPP steht für die Verfügbarkeit von XAMPP auf verschiedenen Betriebssystemen (Windows, Linux, OS X). Es wird von der Gemeinschaft „Apache Friends“ gepflegt und veröffentlicht.2 Alle Teile des Pakets sind Open Source, kostenlos, funktionieren stabil und weltweit etabliert.

1.4.1. Apache HTTP Server

Apache HTTP Server ist eine Webserver-Software. Der Webserver unterstützt Scriptsprachen wie PHP und Perl und ermöglicht so die Erstellung und Darstellung dynamischer Webseiten. Zwischen 1996 und 2014 war Apache der weltweit mit Abstand am meisten verwendete Webserver im Internet, doch in den letzten Jahren neigt sich der Markt zu einer Gleichverteilung zwischen Microsoft, nginx und Apache.3

1.4.2. MariaDB bzw. MySQL

MySQL ist ein Datenbankmanagementsystem, dass vom Unternehmen MySQL AB entwickelt wurde. Inzwischen gehört MySQL zur Firma Oracle Corporation, die bei der Weiterentwicklung neuer Funktionen vorzugweise auf die kommerzielle Version von MySQL konzentriert. Außerdem schottet sich Oracle Zusehens von der Open Source Community ab, was dazu geführt hat, dass die von MySQL abstammende MariaDB weite Verbreitung fand. MariaDB ist vom selben Entwickler-Team wie MySQL und sozusagen die garantiert freie Weiterentwicklung von MySQL im Gegensatz zum Weg den Oracle mit dem Produkt geht. Heutige große Anwender sind unter anderem Wikipedia und Google.4 XAMPP ersetzte im Oktober 2015 MySQL durch MariaDB. Da sich in der grundsätzlichen Nutzung beider DBMS keine Änderungen ergeben haben, spricht man in der Literatur und auch allgemein weiterhin gerne von MySQL obwohl konkret tatsächlich oft mit MariaDB gearbeitet wird.5

1.4.3. PHP (PHP: Hypertext Preprocessor)

PHP ist eine für den allgemeinen Gebrauch bestimmte serverseitige Skriptsprache. Sie wird hauptsächlich für Webprogrammierung eingesetzt und kann in HTML eingebettet werden. Um die PHP-Programme serverseitig in HTML-Code wandeln zu können, muss auf dem Webserver auch das PHP Paket installiert sein.6

1.4.4. phpMyAdmin

phpMyAdmin ist ein Weboberflächen-Tool zur Administration von MySQL bzw. MariaDB Datenbanken. Es ermöglicht eine komfortable Pflege und Erweiterung von bestehenden Datenbanken.7

1.4.5. XAMPP Control Panel

Mit Hilfe des XAMPP Control Panels lassen sich der Apache- und der MariaDB Server starten und konfigurieren. Der Einsatz des Control Panels ist Grundvoraussetzung um mit dem DBMS arbeiten und die PHP Programme testen zu können.

1.5. Kurzdarstellung MySQL Workbench

MySQL Workbench ist ein Datenbank-Modellierungswerkzeug, mit dem sich Entity-Relationship-Diagramme für MySQL oder MariaDB erstellen lassen. Das Tool unterstützt beim Design neuer und der Pflege bestehender Datenbanken.8 Es ist nicht im XAMPP Paket enthalten und muss deshalb zusätzlich installiert werden.

2. Datenbank Erstellung für das Internetforum

2.1. Datenbank Modellierung

Bei der Modellierung der relationalen Datenbank für das Internetforum wurde die Datenstruktur in 3 Entitätstypen aufgeteilt, die sich jeweils auf ein eng abgerenztes Thema beziehen. Alle Entitätstypen verwenden als Primärschlüssel ihre jeweilge ID und als Fremdschlüssel nur die IDs der anderen Entitätstypen. Auf diese Weise wurde eine redundante Datenhaltung verhindert, was zur besseren Pflege und Leistungsfähigkeit der Datenbank beiträgt. Das Datenbank-Modell ist damit bereits normalisiert und entspricht der dritten Normalform.9

Der Entitätstyp „benutzer“ enthält alle Merkmale, wie Nickname, Vorname, Nachname, Passwort (md5 verschlüsselt) und Email-Adresse, die ausschließlich direkt dem Benutzer zugeordnet werden können. Dazu kommen die Attribute „Administrator“ und „gesperrt“, welche als „Flag“ dienen, um dem Benutzer die entsprechenden Rechte geben bzw. entziehen zu können.

„thema“ ist der Entitätstyp, welcher das einzelne Thema im Forum vertritt. Er enthält den Titel der Diskussion, den Zeitstempel wann er angelegt wurde und die ID des Benutzers der das Thema angelegt hat. Auch „thema“ hat ein Flag-Attribut, es heißt „beendet“ und kann verwendet werden um keine weiteren Beiträge zum Thema mehr zuzulassen.

Der Entitätstyp „beitrag“ enthält die einzelnen Diskussions-Beiträge, zusammen mit dem Erstellungszeitstempel sowie der Benutzer- und Thema ID der dem Beitrag zuzuordnen ist.

Die Assoziationen zwischen den Tabellen in der Abblidung 1 geben 1:n Beziehungen an. Dahinter steht folgende Bedeutung: Ein Benutzer kann beliebig viele Themen und Beiträge generieren und beliebig viele Beiträge können einem Thema zugeordnet werden. Umgekehrt kann ein Beitrag nur genau zu einem Benutzer und einem Thema gehören, sowie ein Thema genau zu einem Benutzer zuzuordnen ist.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1: UML Modell des Internetforums

2.2. Technische Umsetzung der Datenbank

Nach der Installation und Konfiguration von XAMPP und MySQL Workbench wurde mit Hilfe des „EER-Diagram“ Bereichs in MySQL Workbench die Datenbank „internetforum“ komfortabel über die grafische Benutzeroberfläche erstellt. Dabei konnten direkt die Attributeigenschaften wie Datentyp, Primärschlüssel, Fremdschlüssel, Pflichtfelder („Not Null“), Autoinkrement und Anzahl der möglichen Zeichen definiert werden. Das Ergebnis dieser Modellierung ist in Abbildung 1 zu sehen. Als nächstes wurde mit der MySQL Workbench Methode „Forward Engineering“ das logische Datenbankmodell in das physische Datenbankschema überführt. Dazu wird zuerst eine Verbindung zum MariaDB Server aufgebaut, anschließend werden vom Tool die SQL Befehle generiert, die notwendig sind, um die Datenbank auf dem MariaDB Server anzulegen. Dieses SQL Programm kann eingesehen, gespeichert und falls nötig angepasst werden. Nach dem Ausführen des generierten SQL Codes durch MySQL Workbench ist die Datenbank auf dem Server verwendbar.

Um bei der Erstellung der PHP Programme Datensätze zum Anzeigen und Ausprobieren zu haben, wurde abschließend die Datenbank über phpMyAdmin mit einigen Übungsdatensätzen gefüllt.

[...]


1 vgl. www.informatik-aktuell.de 2016

2 vgl. www.apachefriends.org 2019

3 vgl. www.news.netcraft.com 2019

4 vgl. mariadb.org 2019

5 vgl. VALADE 2018, S.34

6 vgl. www.php.net 2019

7 vgl. www.phpmyadmin.net 2019

8 vgl. www.mysql.com 2019

9 vgl. KLUG 2012, S.15

Details

Seiten
14
Jahr
2019
ISBN (eBook)
9783346036933
ISBN (Buch)
9783346036940
Sprache
Deutsch
Katalognummer
v499932
Institution / Hochschule
AKAD University, ehem. AKAD Fachhochschule Stuttgart
Note
1,0
Schlagworte
erstellung internetforums mysql-datenbank

Autor

Zurück

Titel: Erstellung eines einfachen Internetforums basierend auf einer MySQL-Datenbank und PHP