Daten Bank. 5. Vorlesung. Dr. Karsten Tolle PRG2 SS 2012

Ähnliche Dokumente
Daten Bank. 5. Vorlesung. Dr. Karsten Tolle PRG2 SS 2013

Daten Bank. 5. Vorlesung. Dr. Karsten Tolle PRG2 SS 2014

Daten Bank. 5. Vorlesung

Daten Bank. 6. Vorlesung

Teil 2-7. Vorlesung. Modul: Programmierung B-PRG Grundlagen der Programmierung II

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012

Teil 2-6. Vorlesung. Modul: Programmierung B-PRG Grundlagen der Programmierung II

Transaktionen in der Praxis. Dr. Karsten Tolle

Teil 2-6. Vorlesung. Modul: Programmierung B-PRG Grundlagen der Programmierung II

Beziehungen. one-to-one. one-to-many. many-to-many. Beziehung. Beziehung. Beziehung. Beziehung. Relationales Datenmodell

Normalformen. Was sind Kriterien eines guten Entwurfs? So wenig Redundanz wie möglich. Keine Einfüge-, Lösch-, Änderungsanomalien

Daten Bank. 4. Vorlesung. Dr. Karsten Tolle PRG2 SS 2012

Daten Bank. 2. Vorlesung. Dr. Karsten Tolle PRG2 SS 2014

Garten - Daten Bank. - survival pack -

Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: Zeit: 16.

Datenbanken. Zusammenfassung. Datenbanksysteme

Design Theorie für relationale Datenbanken

d.h. zu Definitions-Stelle eindeutiger Funktionswert x X! y Y : (x,y) f umgekehrt: (x 1,y), (x 2,y) f ist o.k. X Y f(x) = y

Tag 4 Inhaltsverzeichnis

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

konzeptionelles DB-Design

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

105.3 SQL-Datenverwaltung

Tag 4 Inhaltsverzeichnis

Es geht also um die sogenannte SQL- Data Definition Language.

Inhaltsverzeichnis. Lothar Piepmeyer. Grundkurs Datenbanksysteme. Von den Konzepten bis zur Anwendungsentwicklung ISBN:

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Wiederholung VU Datenmodellierung

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

3. Übungszettel (Musterlösung)

Datenmodelle und Datenbanken 2

SQL - Datenbankdesign - Aufbau

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Rückblick: Datenbankentwurf

Teil 2-5. Vorlesung. Modul: Programmierung B-PRG Grundlagen der Programmierung II

Datenschutz: Zugriffsrechte in SQL

PRG2 Folien Zicari Teil 4 Einführung in Datenbanken SS 2007

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Datenbanken (Übung 12)

Relationale Datenbanken

Erzeugung und Veränderung von Tabellen

Informatik 10 Mar Datenbanken: RDM Normalisierung April 2014

Universität Augsburg, Institut für Informatik WS 2007/2008 Prof. Dr. W. Kießling 18. Jan Dr. A. Huhn, M. Endres, T. Preisinger Übungsblatt 12

Kapitel 3: Datenbanksysteme

Abhängigkeiten und Normalisierung

Datenbanken erstellen Liste von Datenbanken anzeigen Datenbanken löschen. MySQL 4, 5. Kapitel 06: Datenbanken. Marcel Noe

Oracle 10g Einführung

Microsoft Access 2010 SQL nutzen

Gruppe B Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

Das relationale Datenmodell

Rückblick: Relationales Modell

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Daten Bank. 2. Vorlesung. Dr. Karsten Tolle PRG2 SS 2015

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Aufgabe 1) Übung 4: 1.2

ER-Modell, Normalisierung

Normalformen: Sinn und Zweck

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Entwurf von Relationalen Datenbanken (1) (mit dem Entity-Relationship-Modell)

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis

Webbasierte Informationssysteme

10. Datenbank Design 1

10. Datenbank- Design

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Grundlagen zu Datenbanken zu Beginn der Jgst. 13

PRG-2 Musterlösung Blatt 9 SS Dies ist eine Musterlösung. Trotzdem können hier auch Fehler enthalten sein also keine Gewähr auf Korrektheit!

Normalisierung I. Ziele

Klausur Datenbanken II

Überblick Felix Naumann. Zugriffsrechte Zugriffsrechte erzeugen Zugriffsrechte prüfen Zugriffsrechte vergeben Zugriffsrechte entziehen

4. Normalformen. Qualitätsanforderungen an Tabellen. Klassische Normalformen (1,. 2., 3.) Spezielle Normalformen

Aufgabe 1: Kanonische Überdeckung

Relationaler Datenbank-Entwurf. Kapitel 7: Normalformen. Schrittweises Vorgehen:

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

PostgreSQL unter Debian Linux

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Wir haben folgende Ausprägung der Relation Studenten:

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

Kapitel 11. Normalisierung

Zerlegung einer Relation

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

9. Sicherheitsaspekte

Datenbanksysteme Teil 3 Indizes und Normalisierung. Stefan Maihack Dipl. Ing. (FH) Datum:

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD

7. Übung - Datenbanken

In diesem Anschnitt geht es um die SQL Anweisungen, mit denen ich den Zugriff auf das Datenbankschema steuern kann.

Datenbanksysteme und Datenmodellierung

Kapitel 1: Einführung 1.1 Datenbanken?

E-R-Modell zu Relationenschema

Transkript:

Daten Bank 5. Vorlesung Dr. Karsten Tolle PRG2 SS 2012

4. Vorlesung SQL und SQL aus Programmen heraus (embedded und CLI) 1. Normalform Funktionale Abhängigkeiten und Schlüsselkandidaten Dr. Karsten Tolle PRG2 SS 2012 2

vorrat (Teil Lager Menge Lageradresse) 1 101 1 25 Waag. 10 102 3 410 Krugerstr. 42 102 1 300 Waag. 10 112 4 10 Brunnerstr. 105 Probleme: Redundanz Einfüge-Anomalie Lösch-Anomalie Lageradresse für jedes Teil im Lager redundant gespeichert Kein Lager ohne Teil einfügbar Lager ohne Teile würden gelöscht werden Dr. Karsten Tolle PRG2 SS 2012 3

vorrat (Teil Lager Menge Lageradresse) 101 1 25 Waag. 10 102 3 410 Krugerstr. 42 102 1 300 Waag. 10 112 4 10 Brunnerstr. 105 F = { Teil Lager Menge Lageradresse Lager Lageradresse } Fremdschlüssel Lösung: Zerlegung der Relation vorrat (Teil Lager Menge) 101 1 25 102 3 410 102 1 300 112 4 10 lager (Lager Lageradresse) 1 Waag. 10 2 RMS 10 3 Krugerstr. 42 4 Brunnerstr. 105 Dr. Karsten Tolle PRG2 SS 2012 4

Prim Ein Attribut A heißt primin R, wenn es in einem Schlüssel von R enthalten ist, sonst heiße es nicht prim. A ist prim X: X ist Schlüssel, A X Dr. Karsten Tolle PRG2 SS 2012 5

volle funktionale Abhängigkeit Eine funktionale Abhängigkeit X Y heißt volle funktionale Abhängigkeit, wenn für keine Teilmenge X X, X Y gilt. Y heißt dann voll funktional abhängig von X. X Y voll funktional X X : X Y Dr. Karsten Tolle PRG2 SS 2012 6

2. Normalform Ein RelationenschemaR ist in 2. Normalform (2NF), wenn es in 1NF ist und jedes nicht prime Attribut voll funktional von jedem Schlüssel von R abhängig ist. 2. NF A nicht prim Schlüssel A voll funktional Die 2. NFist verletzt, wenn ein Teil eines Schlüssels ein Nicht-Schlüsselattribut funktional bestimmt. Dr. Karsten Tolle PRG2 SS 2012 7

Beispiel 1 vorrat (Teil Lager Menge Lageradresse) F = { Teil Lager Menge Lageradresse Lager Lageradresse } 101 1 25 Waag. 10 102 3 410 Krugerstr. 42 102 1 300 Waag. 10 112 4 10 Brunnerstr. 105 vorrat (Teil Lager Menge lager (Lager Lageradresse) 101 1 25 1 Waag. 10 102 3 410 3 Krugerstr. 42 102 1 300 4 Brunnerstr. 105 112 4 10 Dr. Karsten Tolle PRG2 SS 2012 8

Beispiel 2 R = ABCD F = {AB CD, B D} B D verletzt 2. NF Zerlegung in: R1 = (ABC) mit F1 = {AB C} R2 = (BD) mit F2 = {B D} Dr. Karsten Tolle PRG2 SS 2012 9

Vorgehen beim Prüfen auf NF (WICHTIG!!!) Ausgangspunkt: Relation R (mind. 1. NF) und Menge der FDs gegeben. 1. Welche Schlüssel gibt es? was sind die nicht primen Attribute! 2. Prüfe auf 2. NF (voll funktional abhängig von ALLEN Schlüsseln?) Dr. Karsten Tolle PRG2 SS 2012 10

Fahrzeug ID Hersteller Zugel_Ges_Gew Führerschein ID HERSTELLER ZUGEL_GES_GEW FÜHRERSCHEIN 1 VW bis 3.5 B 2 MB bis 7.5 C1 3 MB bis 8.5 C 4 MAN bis 12 C 5 MB bis 12 C 6 VW bis 12 C F = { ID R, ZUGEL_GES_GEW FÜHRERSCHEIN} Dr. Karsten Tolle PRG2 SS 2012 11

Trotzdem Probleme! ID HERSTELLER ZUGEL_GES_GEW FÜHRERSCHEIN 1 VW bis 3.5 B 2 MB bis 7.5 C1 3 MB bis 8.5 C 4 MAN bis 12 C 5 MB bis 12 C 6 VW bis 12 C Dr. Karsten Tolle PRG2 SS 2012 12

Normalisierung ID HERSTELLER ZUGEL_GES_GEW FÜHRERSCHEIN 1 VW bis 3.5 B 2 MB bis 7.5 C1 3 MB bis 8.5 C 4 MAN bis 12 C 5 MB bis 12 C 6 VW bis 12 C F = { ID R, ZUGEL_GES_GEW FÜHRERSCHEIN} ID HERSTELLER ZUGEL_GES_GEW 1 VW bis 3.5 2 MB bis 7.5 3 MB bis 8.5 4 MAN bis 12 5 MB bis 12 6 VW bis 12 ZUGEL_GES_GEW bis 3.5 bis 7.5 bis 8.5 bis 12 bis 12 bis 12 FÜHRERSCHEIN B C1 C C C C Dr. Karsten Tolle PRG2 SS 2012 13

Normalformen Über die Normalformen(NF) werden Kriterien definiert, um Redundanzen und Anomalien zu verhindern. Es gibt: 1 NF 2 NF 3 NF BCNF 4 NF 5 NF 6 NF 1 NF 2 NF 3 NF Dr. Karsten Tolle PRG2 SS 2012 14

Normalisierung/ Denormalisierung Normalisierung:Der Prozess des Aufspaltens von Relationen, um Anomalien/Redundanzen zu verhindern. Denormalisierung: Der Prozess des Zusammenlegens von Relationen, um Performanz zu gewinnen. Dr. Karsten Tolle PRG2 SS 2012 15

seit Person (u:v) (w:x) lebt_in Ort AusweisNr. Name Vorname PLZ Ortsname Abhängig von u, v, w und x PERSON (AusweisNr., Name, Vorname) ORT (PLZ, Ortsname) LEBT_IN (AusweisNr., PLZ, seit) PERSON (AusweisNr., Name, Vorname) ORT(PLZ, Ortsname, AusweisNr., seit) PERSON (AusweisNr., Name, Vorname) ORT(PLZ, Ortsname) LEBT_IN (AusweisNr., PLZ, seit) PERSON (AusweisNr., Name, Vorname) ORT(PLZ, Ortsname) LEBT_IN (AusweisNr., PLZ, seit) PERSON (AusweisNr., Name, Vorname, PLZ, seit) Auto (3:5) (0:1) hat_räder Rad ORT(PLZ, Ortsname) KFZ-Kennzeichen Hersteller Fabr.-Nr. Breite PERSON_ORT (AusweisNr., Name, Vorname, PLZ, Ortsname, seit) PERSON_ORT (AusweisNr., Name, Vorname, PLZ, Ortsname, seit) Dr. Karsten Tolle PRG2 SS 2012 16

Generalisierung ER rel. Modell Möglichkeit 1: KONTO (Kto.Nr., Kunde, Kto.Stand) GIROKONTO (Kto.Nr., Kunde, Kto.Stand, Kreditrahmen) SPARKONTO (Kto.Nr., Kunde, Kto.Stand, Zinssatz) Girokonto Kreditrahmen Kto.-Nr. Kunde Kto.Stand Konto Sparkonto Zinssatz Möglichkeit 2: KONTO (Kto.Nr., Kunde, Kto.Stand) GIROKONTO (Kto.Nr., Kreditrahmen) SPARKONTO (Kto.Nr., Zinssatz) Möglichkeit 3: KONTO (Kto.Nr., Kunde, Kto.Stand, Kreditrahmen, Zinssatz) Dr. Karsten Tolle PRG2 SS 2012 17

rel. Modell ER???? Gegeben R(A, B, C) S (D, E) T (B, D, F) U (A, G) Was ist Entity-Typ, was Beziehungstyp? Bilden S und U zusammen ein Entity-Typ? Sind R.B und T.B überhaupt GLEICH? R und U könnten eine Generalisierung darstellen???? Dr. Karsten Tolle PRG2 SS 2012 18

Tabellen Ansicht ER-Modell Dr. Karsten Tolle PRG2 SS 2012 19

OO (ER) und rel. Modell Als Object-relational ImpedanceMismatch (auch objekt-relationale Unverträglichkeit genannt) bezeichnet man die Unverträglichkeit zwischen dem relationalem Datenmodell und dem objektorientieren Programmierparadigma. Unverträglichkeit bedeutet, dass die Abbildungen von dem einen ins andere Modell (und zurück) nicht eindeutig ohne Zusatzwissen möglich ist. Dr. Karsten Tolle PRG2 SS 2012 20

(Fast) AlleWegeführennachRom. Prüfe die Anforderungen und denke an die Zukunft! Dr. Karsten Tolle PRG2 SS 2012 21

Prinzipien des digitalen Speicherns I Ein Datensatz sollte offensichtlich/eindeutig und schnell mit dem Objekt, welches es repräsentiert, in Verbindung gebracht werden können. ISBN 3-12-517154-7 TITLE ISBN Number Dr. Karsten Tolle PRG2 SS 2012 22

Prinzipien des digitalen Speicherns II Atomisierung der Daten teiledie Datenin ihre kleinste Einheit auf 1. Normalform ISBN AUTHORS TITLE 0-13-221211-0 Jeffrey Hoffer, Mary Prescott andfred McFadden ISBN TITLE 0-13-221211-0 ISBN AUTHORS 0-13-221211-0 Jeffrey Hoffer 0-13-221211-0 Mary Prescott 0-13-221211-0 Fred McFadden Dr. Karsten Tolle PRG2 SS 2012 23

Prinzipien des digitalen Speicherns III ein weiteres Beispiel(aus der Realität). RULER Hadrian(Sabina) Bedeutet: Hadrian war der Prägeherr und prägte die Münze für(zu ehren von) Sabina. RULER COINED_FOR Hadrian Sabina Dr. Karsten Tolle PRG2 SS 2012 24

Prinzipien des digitalen Speicherns IV HandhabungunsichererInformationen: RULER Hadrian??Nero Nero Bedeutung: nicht wirklich sicher/ abgeleitet aus anderen Informationen. RULER QUALIFICATION Hadrian uncertain Nero inferred Nero certain Dr. Karsten Tolle PRG2 SS 2012 25

Prinzipien des digitalen Speicherns V Konsistenzin der NamensgebungfürTabellenund Attribute. coinlist metal_information ID CODE besser coin_list metal_information ID ID Dr. Karsten Tolle PRG2 SS 2012 26

Prinzipien des digitalen Speicherns VI Ausnutzung der referenziellen Integrität wo immer möglich! Dr. Karsten Tolle PRG2 SS 2012 27

Sicherheit Jahr für Jahr kosten Datenpannen Firmen mehr Geld. Quelle: Symantec

Datenlecks zum Stöbern http://www.projekt-datenschutz.de/ http://opalkatze.wordpress.com/to-becontinue/datenpannen/datenpannen-2012/ http://www.datenleck.net/ Dr. Karsten Tolle PRG2 SS 2012 29

3-Schicht Architektur Sicherheit Bild vom BSI IT-Grundschutz-Katalog: https://www.bsi.bund.de/contentbsi/grundschutz/kataloge/baust/b05/b05007.html Dr. Karsten Tolle PRG2 SS 2012 30

Benutzer und Rechte CREATE USER testidentified BY PASSWORD li720lhjlj2' erzeugt einen neuen Benutzer GRANT selecton star_trek.* TO test weist dem Benutzer test die select Rechte für alle Tabellen der DB star_trek zu REVOKE selecton star_trek.* fromtest nimmt ihm die Rechte wieder Siehe auch: http://dev.mysql.com/doc/refman/5.1/de/grant.html Dr. Karsten Tolle PRG2 SS 2012 31

Grant und Revoke Dr. Karsten Tolle PRG2 SS 2012 32

Nutzung von Views Mitarbeiter Empno Vorname Nachname Gehalt 1 Ines Müller 75000 2 Fred Wagner 60000 3 Ingo Meyer 72000 4 Max Müller 26000 Jemand der die Vor-und Nachnamen der Mitarbeiter benötigt, würde z.b. die Select- Rechte an der Tabelle Mitarbeiter erhalten und so auch die Gehälter erfahren Dr. Karsten Tolle PRG2 SS 2012 33

Nutzung von Views Mitarbeiter Empno Vorname Nachname Gehalt 1 Ines Müller 75000 2 Fred Wagner 60000 3 Ingo Meyer 72000 4 Max Müller 26000 CREATE VIEW Mitarbeiter_Namen AS select Vorname, Nachname from Mitarbeiter; Vorname Ines Fred Ingo Max Nachname Müller Wagner Meyer Müller Dr. Karsten Tolle PRG2 SS 2012 34

Mitarbeiter Empno Vorname Nachname Gehalt 1 Ines Müller 75000 2 Fred Wagner 60000 3 Ingo Meyer 72000 4 Max Müller 26000 CREATE VIEW Mitarbeiter_Dept AS select m.empno, m.nachname, d.name as Abt from Mitarbeiter m, Abteilung d, Arbeitet_in a where m.empno = a.empno and a.depno = d.depno; Mitarbeiter_Dept Empno Nachname Abt Abteilung Depno Name Head 1 Finanzen 2 2 Einkauf 1 3 HR 1 Arbeitet_in Empno Depno 1 2 1 3 2 1 3 3 4 2 Mitarbeiter_Dept 1 Müller Einkauf 1 Müller HR 2 Wagner Finanzen 3 Meyer HR Dr. Karsten Tolle PRG2 4 SS 2012 Müller Einkauf 35

Absichern am Bsp. MySQL keine Standard Benutzer z.b. root mysql> RENAME USER root TO new_user; show databases nicht unterstützen Netzwerkzugang nur erlauben, wenn nötig Firewall installieren Siehe auch: http://dev.mysql.com/doc/refman/5.1/en/general-security-issues.html Dr. Karsten Tolle PRG2 SS 2012 36

SQL Injection (böswilliges) Einschleusen oder Verändern von SQL-Befehlen an die Datenbank durch den Benutzer.

Web Related Vulnerabilities 2011 (commercial applications) Dr. Karsten Tolle PRG2 SS 2012 38 Application Security Trends Report März 2012 - CENZIC

Mögliche Gefahren Zusätzliche Bedingungen einzufügen: Eingabe: 1 or id > 1 or name like % select * from mytable where id = 1 or id > 1 or name like %?? Daten der Tabelle können ausgespäht werden. Dr. Karsten Tolle PRG2 SS 2012 39

Mögliche Gefahren Zusätzliche Statements einzufügen: Eingabe: 1; drop mytable # select * from mytable where id = 1; drop mytable #?? Direkter Schaden an der Datenbank, eventuell Ausfall der Applikation. Dr. Karsten Tolle PRG2 SS 2012 40

Was möglich ist hängt ab von DBMS Erlaubt es mehrere SQL-Statements gleichzeitig auszuführen? Welche Zeichen werden als Kommentare interpretiert? (z.b.: --oder #) Verbindungsart / Programmiersprache JDBC, ODBC,??? Dr. Karsten Tolle PRG2 SS 2012 41

Gegenmaßnahmen DB-Verbindung nur mit den Rechten, die nötig sind aufbauen! (siehe GRANT und REVOKE) Nutzungvon Prepared Statements (in Java) Nutzung von statischem SQL, z.b. SQLJ Möglichst wenig Informationen über die Datenbank nach außen geben! z.b. bei Fehlermeldungen Eingaben auf Sonderzeichen und ungültige Werte prüfen(möglichstzurückweisen!) Anwendungdiesbezüglichtesten(testenlassen) Dr. Karsten Tolle PRG2 SS 2012 42

GegenmaßnahmenPHP Positivlisten Methode wurde eingegeben was man erwartet? Negativlisten Methode Ablehnung von Schlüsselwörtern Gegebene Funktion in PHP: mysql_real_escape_string() Sie Maskiert alle Zeichen mit denen man aus den Anführungszeichen ausbrechen kann. Kombination aller 3 ist die sicherste Variante. Siehe auch: http://www.inside-php.de/tutorial/php-sicherheit-13/sql-injections-vermeiden.html http://php.net/manual/en/security.database.sql-injection.php Dr. Karsten Tolle PRG2 SS 2012 43

Literaturhinweise Handling Java Web Application Input, Part 1 von Stephen Enright http://today.java.net/pub/a/today/2005/09/08/handling-java-web-app-input.html Advanced SQL Injection In SQL Server Applications von Chris Anley http://www.cgisecurity.com/lib/advanced_sql_injection.pdf (more) http://www.encription.co.uk/downloads/more_advanced_sql_injection.pdf Dr. Karsten Tolle PRG2 SS 2012 44