SQL-Tutorium http://sql.idv.edu Ernst Rodlmayr
DB Grundlagen Was ist und wozu dient eine Datenbank? System zur Speicherung großer Datenbestände Ziel: optimale Informationsgewinnung bei kurzen Zugriffszeiten (aus Daten Informationen generieren) Datenbanken und Relationship Marketing Ziel: Kunden langfristig Binden Bedeutung für Wirtschaft immens Kundenbindungsprogramme: Kundenkarte
DB Grundlagen Im Hintergrund: DB ... Alle Daten über Einkäufe werden gesammelt Konsumgewohnheiten der wichtigsten Kunden Segmentierungsmöglichkeiten; weg vom Massenmarketing => Segmente gezielt ansprechen Bsp.: Fahrradkatalog nur an bestimmte Kunden Bsp.: Amerikanischer LM-Handel
DB Grundlagen Funktionen einer DB Vielseitige Informationen an einem Ort zentral verwalten Datenspeicherung in separaten Tabellen Daten müssen nicht doppelt gespeichert werden z.B. Eybl => Kundendaten nur einmal angeben; dann Kd.-Nr. Tabellendaten über Formulare (versch. Layouts) anzeigen, eingeben, ergänzen, suchen, Berichte - Analysen, Layouts zum Drucken Internet als Schnittstelle - weltweiter Zugriff möglich Anforderungen an eine DB (Normalformen)
SQL (Structured Query Language) = strukturierte Abfragesprache für DB Abfragen (SELECT) = Auswertungen Viele andere Möglichkeiten z.B. Insert Into, Create Table, Update, Delete IVI nur Abfragen bei einer Vielzahl von Datenbanken einsetzbar (Oracle, SQL, mySQL, …)
SQL Grundlagen (2) Braucht man das überhaupt in der Praxis? Unternehmen sammeln sehr viele Daten (z.B. eybl) Informationen aus Daten gewinnen => SQL unternehmerische Entscheidungen PRAXIS-Einsatzgebiete SQL-Statements über Befehlseditor WEB: eCommerce DB-Anbindung ans Internet (CMS) (SQL & php, SQL & asp.net)
$sql = "SELECT Vorname, Nachname, Plz FROM Kunde ORDER BY Plz"; SQL mit PHP <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de-at" lang="de-at"> <head> <title>Ausgabe</title> </head> <body> <h1>Ausgabe von Vorname, Nachname und Plz</h1> <table> <tr> <th>Vorname</th> <th>Nachname</th> <th>Plz</th> </tr> <?php /* Datenbankverbindung wird hergestellt und Datenbank wird ausgewählt */ $conn = mysql_connect($servername,$benutzername,$password) or die ("Keine DB Verbindung hergestellt"); mysql_select_db($datenbankname, $conn); $sql = "SELECT Vorname, Nachname, Plz FROM Kunde ORDER BY Plz"; /* Variable wird mit einem SQL Ergebnis gefüllt */ $rs_liste = mysql_query($sql, $conn); $pointer = 0; // Hilfsvariable wird initialisiert /* Ergebnisausgabe nur falls die Anzahl der Datensätze > 0 ist */ if (mysql_num_rows($rs_liste) > 0) { /* In einer Schleife werden die Datensätze Reihe für Reihe ausgegeben */ while (mysql_fetch_row($rs_liste)) $vorname = mysql_result($rs_liste, $pointer, "Kunde.Vorname"); $nachname = mysql_result($rs_liste, $pointer, "Kunde.Nachname");
SQL Grundlagen (3) ad Befehlseditor) Ablauf einer Abfrage mit SQL Statement vom Client Verarbeitung vom Server Ergebnistabelle am Client http://sql.idv.edu