Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "IT-Zertifikat der Phil.Fak Kurs 2: Allgemeine Technologien II Patrick Sahle XML-BasicsWS 08/09."—  Präsentation transkript:

1 IT-Zertifikat der Phil.Fak Kurs 2: Allgemeine Technologien II Patrick Sahle XML-BasicsWS 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 Netzwerke Internet-Grundtechnologien ein Schritt zurück: HTML/CSS Programmieren am Beispiel: PHP Online-Datenbanken: MySQL

4 Beispielprojekt "Pimp my Book" 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

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 Übergabe von Paaren aus Argument und Wert 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 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 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 … 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 Kurs 2: Allgemeine Technologien II Patrick Sahle XML-BasicsWS 08/09."

Ähnliche Präsentationen


Google-Anzeigen