Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

IT-Zertifikat der Phil.Fak

Ähnliche Präsentationen


Präsentation zum Thema: "IT-Zertifikat der Phil.Fak"—  Präsentation transkript:

1 IT-Zertifikat der Phil.Fak
Kurs 2: Allgemeine Technologien II Patrick Sahle XML-Basics WS 08/09

2 Organisatorisches Zeiten und Pausen IT-Zertifikat Teilnehmer
WLan läuft? XAMPP läuft? Literatur? Kursprojekt, Kursziel Didaktische Mantras Skills not Knowledge Konzepte, nicht Syntax Hilfe zur Selbsthilfe (Finden Sie die Lösungen selbst!) CPs und Arbeitsaufwand; Noten "Klappe zu" heißt Klappe zu! Fragen?

3 Kursinhalte Internet-Grundtechnologien Programmieren am Beispiel: PHP
Netzwerke Internet-Grundtechnologien ein Schritt zurück: HTML/CSS Programmieren am Beispiel: PHP Online-Datenbanken: MySQL

4 Beispielprojekt "Pimp my Book" Zielstellungen
Worum geht es hier? Was ist das? Wie funktioniert das? Zielstellungen Verwandeln Sie ein digitalisiertes Buch in eine interaktive Online-Anwendung auf der Basis von PHP und MySQL Lösungsbeispiele mit anderen Technologien (X) Lösungsbeispiele mit PHP(MySQL Im Hinterkopf: Vergleich X-Technologien vs. PHP/MySQL (Vorteile, Nachteile, Zusammenspiel)

5 Netzwerke Referate: Eike Steinhoff - entfällt Kerstin Kropmanns

6 Netzwerke Ein Computernetz ist ein verteiltes System von autonomen und räumlich getrennten Computern, die durch Datenübertragungs- und Vermittlungseinrichtungen sowie Vermittlungseinrichtungen sowie Übertragungsmedien miteinander verbunden sind. Funktion: verteilte Informationsspeicherung, Informationsübermittlung, Informationsverarbeitung Kommunikation über eine Hierarchie von Protokollen Protokoll = Menge von Regeln, die das Verhalten von Instanzen oder Prozessen bei der Kommunikation festlegt Verbindungs-Auf und -Abbau, Formate, Codierungen, Fehlererkennung

7 Netzwerke Netzwerktypen:
Terminal-Netz, Peer-to-Peer-Netz, Client-Server-Netz Klassifikation von Netzen durch Übertragungskapa- zität und räumliche Aus-dehnung PAN (Personal Area Network) LAN (Local Area Network) SAN (Storage Area Network) MAN (Metroplitan Area Network) WAN (Wide Area Network) GAN (Global Area Network)

8 Netzwerke OSI-Referenzmodell
Open Systems Interconnection Reference Model … "geschichtete Kommunikationsarchitektur" …

9 Netzwerke DoD-Schichtenmodell Department of Defense - Schichtenmodell

10 Netzwerke OSI-Schichten und DoD-Schichten

11 Netzwerke Lokale Netzwerke HUB, Router, Switch Server, Firewall
Zentrale Dienste, Speicherverwaltung, Nutzer- und Rechteverwaltung, Druckerverwaltung etc. Software: Netware (z.B. Novell Netware), Groupware

12 Internet-Grundtechnologien
Referate: Tibor Toth: Client-Server-Architektur Alexander Recht: Mailprotokolle Fabian Heerbaart: DNS HTTP

13 Internet-Grundtechnologien
DNS Domain Name System Auflösung eines Hostnamen zu einer IP-Adresse Verteilter Verzeichnisdienst zur Verwaltung des Namensraums des Internets Hierarchische Struktur des Namensraums (Baum) TLD = Top Level Domain Hierarchie der Nameserver (Software / Hardware) Domains: Registrierungsorganisationen; IP-Adressen: Provider Konsole: nslookup; Browser: Beispiel: (whois.net - dig)  ide.uni-koeln.de Für dieses mal übersprungen: Mail als zentraler Internet-Dienst und die Mail-Protokolle (SMTP, POP, IMAP)

14 Internet-Grundtechnologien
http Hypertext Transfer Protocol OSI-Modell: Anwendungsschicht, setzt auf Transportschicht (TCP) bzw. Vermitlungsschicht (IP) auf HTTP-Request und HTTP-Response Request: Host + Anfrage GET, POST plus weitere Request-Methoden Response: Statuscodes HTTP-Header und HTTP-Body https – sichere Kommunikation zwischen Client und Server durch zusätzliches Verschlüsselungsprotokoll zwischen den Protokollschichten http und TCP. Beispiel: – Firefox Live Headers

15 Internet-Grundtechnologien
GET und POST Übertragung zusätzlicher Informationen bei einem http-Request GET Informationen als Teil der URL Übergabe von Paaren aus Argument und Wert POST Informationen im Body-Teil des HTTP-Requests Beispiel: Live Header zu localhost/Kurs/For-Schleife-1.php

16 Ein Schritt zurück: HTML, CSS, Javascript
Referat: Philipp Wolfram

17 Ein Schritt zurück: HTML, CSS, Javascript
Wissensstand? Ggf. Schnellkurs Grundkonzepte Aufbau einer HTML-Datei Struktur eines HTML-Body Wichtige Elemente CSS-Konzepte Javascript, DOM Alles, was Sie brauchen finden Sie hier: Nützlich: Firebug-Plugin für Firefox

18 Übungen: HTML und CSS Erstellen Sie aus einem Regest eine HTML-Seite (mit assoziierter CSS-Datei) Erstellen Sie eine Projekt-Startseite (mit Auswahlmenüs und ggf. Eingabefeldern) Besprechung der Entwürfe

19 Einstieg in PHP Referat: Faatin Hegazi

20 Einstieg in PHP Rekursives Akronym: PHP Hypertext Preprocessor
PHP als Programmiersprache für dynamische Webseiten Stärken: Einfachheit, Serverintegration, Datenbankanbindung Interpretierte Sprache (PHP-Interpreter auf dem Server) Schwache und dynamische Typisierung Mögliche Einbindung in HTML-Code HTML wird serverseitig vorverarbeitet (PHP-Teile werden ausgeführt und dabei ersetzt) Vergleich zu Javascript und Perl Aktuelle Version: 5.2.8

21 PHP schreiben: Editoren
Grundsätzlich: PHP-Code ist Text und kann mit einem beliebigen Editor geschrieben werden Allgemeine Editoren vi, emacs Editoren für andere Zwecke Dreamweaver, oXygen Spezielle PHP-Editoren (IDEs) Maguma Open Studio, ZEND Studio, PHPEclipse, KDevelop, PHPEdit, NuSphere PhpED etc.

22 Grundlegendes in PHP Referat: Johannes Lenz

23 Grundlegendes in PHP Befehle mit ; abschließen !!! Kommentare
//  einzeilige Kommentare (auch: #) /* … */  mehrzeilige Kommentare Strings in doppelten Anführungszeichen ("… hier werden Anweisungen noch ausgewertet …") und einfachen Anführungszeichen ('… hier wird wirklich alles als String behandelt …') Schachtelung von Anführungszeichen

24 Grundlegendes in PHP Konstanten und Variablen Arrays
Datentypen (Zahlen, Strings, Booleans, Objekte) Keine strenge Typisierung Variablen können typisiert werden, Typen können umgewandelt werden, PHP versucht Funktionen anzuwenden $variable = wert Namenskonventionen: Keine Leerzeichen; nur Buchstaben, Zahlen und Unterstrich; reservierte Wörter! Gültigkeitsbereich von Variablen lokal (in Funktionen), global, superglobal (Systemvariablen, z.B. $_GET) Arrays numerisch indizierte Arrays $var = array("1","2","3") auch: $array[n] = "wert" assoziative Arrays $var = array("nr"=>001, "datum"=>"1323") ein- und mehrdimensionale Arrays

25 Grundlegendes in PHP Operatoren arithmetisch (+ - * / )
Inkremente/Dekremente (++ --) logisch (AND, OR, !) Vergleiche (>, <, <=, ==, !=) Zuweisungen (=, viele andere) Verkettung ( . ) ("Konkatenation") … viele weitere

26 Grundlegendes in PHP Kontrollstrukturen und Schleifen
if if ( Bedingung ) { Anweisungsblock } if-else if ( Bedingung ) { Anweisungsblock TRUE} else { Anweisungsblock FALSE} if-elseif-else switch switch ( Ausdruck ) { case Wert1: Anweisungsblock … break; case Wert2: Anweisungsblock … break; … default: Anweisungsblock … break; } for for (Initialisierung; Bedingung; Änderung) { Anweisungsblock } Bsp: for ($i=1; $i<10; $i++) {echo "$i";} while while ( Bedingung ) { Anweisungsblock } foreach foreach (array as $wert) { Anweisungsblock }

27 PHP in HTML Referate: Anna Job Angela Brinck

28 PHP in HTML PHP-Code kann beliebig in einer HTML-Datei "eingestreut" werden PHP-Code wird bei der Ausführung durch das Ergebnis des Codes ersetzt PHP-Code kann durch HTML unterbrochen werden

29 PHP Code-Konventionen
Keine Vorschriften, nur Empfehlungen! Benutzen Sie sprechende Bezeichner Trennen Sie Teil-Namen durch Unterstrich oder großen Anfangsbuchstaben Rücken Sie hierarchisch ein (Tabs benutzen) Kommentieren Sie!

30 PHP Poor Man's Debugging
Immer ein Semikolon am Ende? Alle Klammern geschlossen? Anführungszeichen geschlossen? … und korrekt geschachtelt? Alle Variablen direkt anzeigen lassen echo "Wert: $var"; print_r($array);

31 PHP-Übungen Hallo Welt (HelloWorld.php) Ein Auswahlmenü
Ohne Funktionalität (For-Schleife.php)  live-Header?! Mit Rückmeldung (For-Schleife-1.php) Mit Beibehaltung des ausgewählten Wertes (For-Schleife-2.php) GET statt POST (For-Schleife-3.php) Den submit-Button loswerden (Javascript) (For-Schleife-4.php) Ein Suchfeld (Suchfeld.php) Leeres Submit abfangen (todo) Ein Array benutzen Datum der ersten zehn Regesten; Gib zu einem angefragten Regest das Jahr zurück (todo)

32 Funktionen in PHP Referat: Arne Schunack (entfällt)

33 Funktionen in PHP Funktionen werden aufgerufen, es wird ihnen etwas übergeben und sie liefern etwas zurück $variable = funktion (wert1, wert2, …) Es gibt viele vorgefertigte Funktionen Funktionsreferenz: Z.B. Dateisystem (fopen, fgets) Z.B. Textverarbeitung, Zeichenketten (substr) Z.B. Variablen, Arrays (shuffle) Funktionen können selbst definiert werden function meineNeueFunktion (Parameter1, Parameter2, …) { Anweisungen; return $rückgabe } Einbindung externer Funktionsbibliotheken mit include

34 PHP-Übungen phpinfo () Datei auslesen Eine eigene Funktion schreiben
Drop-Down Jahrzehnte (mit Jahrzehnte.txt; Datei_auslesen.php) Drop-Down Jahrzehnte (mit JahreNummern.txt; Datei_auslesen-1.php) Vollständiges Regest in Array umwandeln Mit explode (Explode.php, baut auf For-Schleife-4.php auf und nutzt regest1.txt) Mit while ein assoziatives array aufbauen (ArrayAusDatei.php) Ausgabe verschönern; Weitere Auswertungen; Kommentare an Datei anhängen lassen Eine eigene Funktion schreiben Schreiben Sie eine Funktion, die regest1.txt öffnet und den Inhalt als assoziatives Array zurückgibt

35 MySQL – Einstieg, Allgemeines, Konzepte
Referat: Timo Coutura

36 MySQL – Einstieg, Allgemeines, Konzepte
Zusammenfassung

37 MySQL – Einstieg, Allgemeines, Konzepte
Tabellentypen Datentypen für Attribute / Eigenschaften / Spalten Optionen für Spalten NULL / NOT NULL DEFAULT PRIMARY KEY AUTO_INCREMENT

38 MySQL – Einstieg, Allgemeines, Konzepte
Beziehungen zwischen Tabellen Konzept der Fremdschlüssel Foreign-Key-Regeln Sichert die "Referenzielle Integrität" einer Datenbank FOREIGN KEY (Fremdschlüsselspalte) REFERENCES Tabelle (Spalte)

39 PHPMyAdmin – Erstes Arbeiten mit SQL
Referat: Bethzy Karla Gianella Chiang - entfällt

40 PHPMyAdmin – Erstes Arbeiten mit SQL
Zusammenfassung wichtiger Aspekte

41 PHPMyAdmin – Erstes Arbeiten mit SQL
Übung: Wir erstellen eine erste Regestendatenbank

42 SQL als Abfragesprache
Referate Roman Quiring Pierre Dedy

43 SQL als Abfragesprache
Datenbank und Tabellen anlegen CREATE DATABASE [IF NOT EXISTS] Datenbank; CREATE TABLE [IF NOT EXISTS] Tabelle ( (Spaltendefinitionen, …) [Tabellenoptionen] ) Spaltenname [verschiedene optionale Flags] AUTO_INCREMENT, CHARACTER SET Zeichensatz, DEFAULT Wert, NULL | NOT NULL, [PRIMARY] KEY, UNIQUE [KEY], etc. etc. ALTER TABLE Tabelle Aktionsliste Verschiedene mögliche Aktionen, z.B. ADD COLUMN (Spaltendefinitionen, …) DROP COLUMN Spaltenname RENAME TO Neuer_Tabellenname … etliche weitere

44 SQL als Abfragesprache
Daten einfüllen, löschen, ändern … INSERT Tabelle [(Spalte, …] VALUES ({Wert, …}) (Es müssen soviele Values wie Spalten übergeben werden!) INSERT Tabelle SET Spalte={Wert}, … DELETE FROM Tabelle WHERE Spalte=Wert (Löscht Zeilen) UPDATE Tabelle SET Spalte=Wert WHERE Spalte=Wert (Ersetzt Werte)

45 SQL als Abfragesprache
Daten abfragen Einfache Beispiele für SELECT SELECT * FROM Tabelle (alle Daten der Tabelle anzeigen) SELECT Spalte FROM Tabelle WHERE Spalte=Wert (suche einzelne Feldinhalte) Auf Teile der Abfrage können Funktionen angewandt werden (z.B. count) Ergebnisse sortieren SELECT Spalte FROM Tabelle ORDER BY Spalte Daten können aus mehreren Tabellen kommen … ( "joins") SELECT * FROM Tabelle, Tabelle SELECT * FROM Tabelle, Tabelle WHERE Tabelle.Spalte=Tabelle.Spalte (Tabellen werden über ein gemeinsames Feld zusammengeführt) … verschiedene Formen von "joins" Selects können verschachtelt werden (Sub-SELECTs)

46 PHP und MySQL (Anbindung und Kommunikation)
Referat: Christoph Stollwerk

47 PHP und MySQL (Anbindung und Kommunikation)
Eigentlich ganz einfach … <html> <body> <?php mysql_connect("","root"); mysql_select_db("regesten1"); // selbst das kann man sich sparen $res = mysql_query("select * from texte"); while ($zeile = mysql_fetch_array($res)) { echo "$zeile[0] - "; echo "$zeile[Datum]<br/>"; } ?> </body> </html> SQL-Abfrage-minimal.php

48 PHP und MySQL (Anbindung und Kommunikation)
Im einzelnen … Kontakt aufnehmen: mysql_connect($server,$Benutzername,$Benutzerpasswort) Verbindung schließen: mysql_close($verbindung) Permanente Verbindung: mysql_pconnect(…)

49 PHP und MySQL (Anbindung und Kommunikation)
Im einzelnen … Datenbank auswählen: mysql_select_db($datenbankname)

50 PHP und MySQL (Anbindung und Kommunikation)
Im einzelnen … Daten aus der Datenbank holen: mysql_query(" SQL-Anfrage ")

51 PHP und MySQL (Anbindung und Kommunikation) Übungen Kontakt aufnehmen Etwas ausgeben

52 Datenbank-Design und Normalisierung
Referat: Camilla Ottnad

53 Datenbank-Design und Normalisierung
Begriffe: Datenbank und Datenbankmanagementsystem Datenbankentwurf Modell eines Teilbereichs der Realität Vermeidung von Redundanz Effizienz der Datenverwaltung und Datenverarbeitung Das relationale Datenbankmodell Tabellen und Relationen statt … Hierarchien (Hierarchisches Modell) Netzwerke (Netzwerkmodell) Objekte (Objektorientiertes Modell)

54 Datenbank-Design und Normalisierung
Tabellen Jeder Zeile ein Datensatz (Entität, Tupel) Jede Spalte eine Eigenschaft (Attribut) Jede Zelle ein Wert Tabellen sind Relationen Tabellen modellieren Objekte (Objekttypen) Mehrere Tabellen können verbunden sein (Beziehungen) Primärschlüssel Fremdschlüssel 1:1-Beziehung 1:n-Beziehung n:m-Beziehung

55 Normalisierung Problemlage Redundanz
Gefahr von Anomalien durch Änderung (update-Anomalien), Einfügen (insert-Anomalien) oder Löschen (delete-Anomalien) Lösung "Normalisierung" Zerlegung von Relationen 5 Normalformen … für die es viele verschiedene Formulierungen gibt

56 Normalisierung Erste Normalform:
Jeder Datensatz hat eine eindeutige Identifizierung (ggf. über mehrere Felder) Jedes Datenfeld beinhaltet nur einen (atomaren, nicht zusammengesetzten) Wert Attribute sollen sich in einem Datensatz nicht wiederholen

57 Normalisierung Zweite Normalform:
Wenn sich Inhalte in Spalten wiederholen, dann muss die Tabelle in Teiltabellen zerlegt werden Die Tabellen müssen durch Fremdschlüssel miteinander verbunden werden

58 Normalisierung Dritte Normalform:
Spalten, die nicht in unmittelbarer Abhängigkeit zum Primärschlüssel einer Tabelle stehen, müssen eliminiert werden (in eine eigene Tabelle ausgelagert werden)

59 Normalisierung Vierte Normalform:
Tabellen sollen nur triviale mehrwertige Abhängigkeiten enthalten Fünfte Normalform: Tabellen sollen aufgespalten werden, wenn sich die ursprünglichen Relationen wieder herstellen lassen (Tabellen sollen so weit wie möglich aufgespalten werden)

60 Datenmodellierung im ERM
Entity-Relationship-Modell Abstraktes Modell Visualisierung durch ER-Diagramme Z.B. Chen-Notation … Entitätstyp Attribut Be- ziehung abgeleitet Umsetzung des Modells (vom ERM zum RDM) Entities werden zu Tabellen Attribute werden zu Spalten Beziehungen werden durch Schlüssel abgebildet

61 Datenbank-Theorie? Vor und Nachteile relationaler Datenbanken gegenüber anderen Datenbankmodellen? Was sind die zu erwartenden Probleme bei der Umsetzung des Kursmaterials in eine relationale Datenbank?

62 Kursprojekt Regesten-Datenbank
Übung: Remodellieren der Regesten-Datenbank Probleme des ersten Entwurfs beseitigen Hilfsmittel zur Modellierung (in phpMyAdmin, SQL Workbench)

63 Kursprojekt Regesten-Datenbank
Datenbank mit Inhalt füllen Automatisationspotentiale?

64 Kursprojekt Regesten-Datenbank
Inhalte auslesen und präsentieren Auswahllisten herstellen Regestpräsentation herstellen Register generieren Weiterführende Links einbauen Suche über alles / Suche über bestimmte Felder

65 Das finale Kursprojekt
Übungen: Realisierung des Kursprojekts Welche Seiten brauchen wir?

66 PHP für Fortgeschrittene: Objektorientierte Programmierung und OOP in PHP
Referate: Manuel Carlos Lenz Benjamin Gelhaar

67 PHP für Fortgeschrittene: Sicherheitsfragen
Referat: Bastian Odenthal

68 PHP für Fortgeschrittene (was wir hier nicht vertieft behandeln)
Eigene Funktionen definieren [Objektorientierte Programmierung] Frameworks PEAR (PHP Extension and Application Repository) XML-Verarbeitung [Sicherheitsfragen (PHP, MySQL, Server)]


Herunterladen ppt "IT-Zertifikat der Phil.Fak"

Ähnliche Präsentationen


Google-Anzeigen