Dr. Christian Senger DB & IS II, SS
|
|
- Stefan Becker
- vor 1 Jahren
- Abrufe
Transkript
1 Übung MVC Dr. Christian Senger DB & IS II, SS ) Allgemeine Hinweise: In den folgenden Lektionen soll die Realisierung einer objektrelationalen Abbildungsschicht gezeigt werden. Die Realisierung erfolgt mittels PHP, als zugrundeliegende Datenbank wird ein Auszug aus der Mondial Datenbank verwendet. Benutze dazu Deinen Oracle Account an der FH oder einen beliebigen Account auf einer Oracle Installation bei Dir Zuhause. Führe die im Folgenden aufgeführten Aufgaben der Reihe nach durch. 1) Vorbereitung Im Folgenden soll jetzt eine OR-Schicht realisiert werden, die auf einer Teilmenge der Tabellen und Attribute der original Mondial Datenbank basiert. Im Einzelnen sollen folgende Tabellen und Attribute verwendet werden: CITY: (NAME, COUNTRY, PROVINCE, POPULATION) COUNTRY (NAME, CODE, CAPITAL, PROVINCE, POPULATION) BORDERS (COUNTRY1, COUNTRY2) Kopiere die entsprechenden Attribute der Tabellen MONDIAL.COUNTRY, MONDIAL.CITY und MONDIAL.BORDERS mit ihren Inhalten in Dein Schema (Beachte: Hinweise). Setze weiterhin die Primär- und Fremdschlüssel, so wie sie auch im Mondial Schema definiert wurden. (Informationen darüber findest du in den Tabellen ALL_CONSTRAINTS und ALL_CONS_COLUMNS). In Anhang A ist eine Klasse, welche den Zugriff auf die Datenbank erleichtert abgedruckt. Kopier diese Klasse in eine Datei mit dem Namen MDB2_Util.php und speichere sie ab. Weiterhin findest du in Anhang B eine kleine Testdatei, welche diese Klasse nutzt. Speichere den Code aus Anhang B ebenfalls in einer Datei (Name: mondial-access.php) ab und führe folgendes Statement aus: php.exe mondial-access.php 1.1) Tests Modifiziere das Skript so, dass für jedes Land der höchste Berg ausgegeben wird. Modifiziere das Skript weiterhin so, dass du auf Deinen Datenbankaccount zugreifst und Hinterweidenthal (Pfalz) in die Datenbank einträgst. Lies den Ort anschließend zur Kontrolle wieder aus. 2) Orientierung Mittels der Kommandos DESCRIBE CITY DESCRIBE COUNTRY DESCRIBE BORDERS kann die Struktur der Tabellen ermittelt werden. Die Beziehungen lassen sich mittels der entsprechenden Einträgen in den Tabellen ALL_CONSTRAINTS und ALL_CONS_COLUMNS ermitteln. Daraus läßt sich das ER-Modell des Schemas ableiten, das wiefolgt aussieht:
2 Primärschlüssel sind unterstrichen. Die Attribute province und capital der Tabelle COUNTRY sind Umsetzungen der Beziehung ist_hauptstadt_von des ER-Modells auf das relationale Modell und tauchen deshalb im ER-Modell auch nicht auf. Analog verhält es sich mit dem Attribut country der Tabelle CITY. Die n:m-beziehung grenzt_an wird im relationalen Modell mittels der Beziehungstabelle BORDERS realisiert, aus diesem Grund tauchen auch die beiden Attribute COUNTRY1 und COUNTRY2 im ER-Modell nicht auf. Aus dem ER- Modell lassen sich jetzt eine Reihe von Eigenschaften für die objektrelationale Abbildungsschicht ableiten: Entitäten werden als Klassen realisiert: => Klasse Country, Klasse City. Die Klasse muss Methoden zum Anlegen von Instanzen in der Datenbank, zum Löschen und Modifizieren haben. Weiterhin sind Methoden zum Auffinden einzelner Datensätze (get_by_primary_key(<id>)) und Auslesen mehrerer Datensätze entsprechend einer Anfragebedingung notwendig (query(<condition>)). 3) Übung A Trage in Tabelle 1 die notwendigen Methoden ein und sage ob es sich dabei um eine Klassenoder Instanzenmethode handelt. Gib weiterhin Rückgabewert und Parameter an. 4) Beziehungen Beziehungen können mittels Methoden realisiert werden 1. Um die Methoden genauer spezifizieren zu können, betrachtet man die Kardinalitäten: Eine <0, 1> oder <1, 1> Kardinalität wie bei der Beziehung liegt_in auf Seite der Entität CITY bedeutet, dass eine Stadt in genau (Minimalkardinalität 1) bzw. maximal (Maximalkardinalität 1) einem Land liegen kann. Das bedeutet, dass eine Methode (get_country()) der Klasse City, welche uns das entsprechende Land zurückliefern soll, liefert genau eine Instanz eines Landes (oder null) zurückliefert. Soll das Land hingegen gesetzt werden, so wird eine Methode set_country(<country>) benötigt, welche das Land für diese Stadt setzt (um die Beziehung wieder zu lösen kann man entweder eine Methode unset_country() definieren oder man erlaubt die Übergabe des Null-Wertes an die Methode set_country(<country>)). 1. alternativ können Beziehungen durch zusätzliche Instanzenvariablen vom entsprechenden Typ (bei <0/ 1, 1> Kardinalitäten) oder mengenwertigen Instanzenvariablen (bei <0/1, n> Kardinalitäten) abgebildet werden.
3 Tabelle 1 Methodenname Ergebnistyp Parameter Beschreibung Klasse City Klasse Country
4 Anders verhält sich der Fall bei <0, n> und <1,n> Kardinalitäten. Betrachten wir die andere Seite der Beziehung liegt_in. Diese sagt aus, dass in einem Land zwischen 0 und n-städte liegen können. Eine Methode, welche alle Städte eines Landes zurückliefern soll muss also eine Menge von Instanzen vom Typ City zurückliefern (in einem Array). Entsprechend werden Methoden add_city(<city>), delete_city(<city>) und eventuell set_cities (<array of cities>) benötigt um die Beziehung verwalten zu können. 5) Übung Betrachte alle Beziehungen des ER-Modells und trage in Tabelle 2 die notwendigen Methoden für die beiden Klassen ein: 6) Definitionen Erstelle in einem Editor folgende Klassendefinition: <?php include_once 'MDB2_Util.php'; class Country { private $code; private $name; private $population; private $capital; private $province; function construct($code, $name, $population=null, $capital=null, $province=null) { $this->code = $code; $this->name = $name; $this->population = $population; $this->capital = $capital; $this->province = $province function tostring() { return "$this->name ($this->code) [Einwohner: $this->population, Hauptstadt: $this->capital ($this->province)]"; static function get($code) { $country = null; $list = MDB2_Util::query(" select code, name, population, capital, province from mondial.country where code=? ", $code); if (count($list)> 0) { $res = $list[0]; $country = new Country($res['CODE'], $res['name'], $res['population'], $res['capital'], $res['province']); return $country; echo Country::get('D'); MDB2_Util::close();?>
5 Tabelle 2 Methodenname Ergebnistyp Parameter Beschreibung Klasse City Klasse Country
6 Die Idee hierbei ist, für jede Spalte in der Tabelle eine entsprechende Instanzenvariable ($name, $code,...) zu definieren. Die Klasse verfügt über eine Instanzenmethode tostring(), die eine textuelle Repräsentation der Instanz zurückliefert. Die statische Methode get($code) zeigt exemplarisch, wie ein konkreter Datensatz aus der Mondial-DB ausgelesen wird und als Instanz der Klasse Country zurückgeliefert wird. 7) Übung Erweitere die Datei nun analog um die Klasse City. Erstelle in der Klasse Country eine Instanzenmethode get_cities(), welche alle Städte dieses Landes als Instanzen vom Typ City zurückliefert (in einem Array). Modifiziere den Konstruktor der Klasse Country derart, dass er nur einen Parameter (vom Typ assoziativer Array) entgegennimmt, der die Informationen aller Felder beinhaltet. Beispiel: $dic[ NAME ] = Baden Baden ; $dic[ POPULATION ] = 53421; $dic[ COUNTRY ] = D ; $nice_city = new City($dic); Die Vorteile dieser Lösung sind, dass die Reihenfolge der Parameter keine Rolle spielt und dass das Übergabeformat genau mit dem übereinstimmt, das von der Methode $res->fetchrow(db_fetchmode_assoc) beim Auslesen der Ergebnisse aus der Datenbank zurückgeliefert wird. Erstelle mit dieser Kenntnis nun eine weitere Methode MDB2_Util::object_query($sql, $class, $paras), die im Unterschied zur Methode MDB2_Util::query($sql, $paras) Instanzen vom angegebenen Typ (Parameter $class) zurückliefert. Erstelle mithilfe der Methode object_query(...) eine Instanzenmethode neighbours(), die für ein Land alle angrenzenden Nachbarn zurückliefert (als Instanzen vom Typ Country). Erstelle für die beiden Klassen per hand die fehlenden getter-/ und setter-methoden. Alternativ kannst du dir die Funktionsweise der Magic-Methode call(...) genauer anschauen 1. Erstelle für die Klasse Country eine statische Methode query($condition), die alle die Instanzen zurückliefert, welche die Bedingung $condition erfüllen. Optional kann noch ein zweiter Parameter genutzt werden um eine Sortierreihenfolge zu definieren. 1
7 8) Views Als nächstes sollen zwei Views (PHP Seiten, die Inhalte aus dem Modell auslesen und anzeigen) realisiert werden. Der erste View soll alle Länder in Tabellenform auflisten, der zweite View soll Details über ein Land ausgeben. Erstelle dazu ein Verzeichnis unterhalb des Verzeichnisses htdocs und kopiere die Dateien MDB2_Util.php (mit Deinen Erweiterungen) und die Datei mit den Klassendefinitionen für City und Country hinein. Erstelle weiterhin eine Datei, welche den eben erstellten View enthält (d.h. die Tabelle ausgibt). Anschließend soll ein weiterer View erstellt werden, der Details zu einem Land ausgeben soll. Dazu gehören u.a. die Städte, die in diesem Land liegen. Damit der View weiß, welches Land er anzeigen soll, muss dem View ein Parameter mit übergeben werden (in etwa so: Nachdem die beiden Views erstellt wurden können diese jetzt miteinander verbunden werden. Dazu müssen nur die Tabelleneinträge des ersten Views als Link realisiert werden, der dann (entsprechend parametrisiert) auf die Detailseite verweist. 9) Controller: Erweitere die Tabelle des ersten Views um eine zusätliche Spalte, die ein Zeichen enthält 1. Das Zeichen wird als Grafik wie folgt eingebunden: <img src="delete.gif">. Als nächstes verbinden wir das Zeichen mit einem Controler. Dazu bauen wir um die Grafik einen Link, der wie folgt aussieht: <a href="controler_delete_country.php?code=laendercode" border="0"> <img src="delete.gif"> </a> laendercode muss dabei entsprechend mit der ID des jeweiligen Landes ersetzt werden. Durch Drücken der Grafik wird von nun an der Controller gestartet. Dieser soll nun im letzten Schritt realisiert werden. Erweitere dafür zuerst deine Zugriffschicht um eine Instanzenmethode Country::delete(), die für das Löschen der konkreten Instanz in der Datenbank verantwortlich ist. Der Controler hat dann schlussendlich folgende Struktur: $code = $_REQUEST[ code ]; $country = Country::get($code); $country->delete(); header("location: $zielseite"); $zielseite ist hierbei eine URL, die nach dem Löschen angezeigt werden soll (z.b. wieder der erste View, der das soeben gelöschte Land dann nicht mehr anzeigen dürfte). Hinweise: create table city as select * from mondial.city; 1. Geh bei Googles Bildersuche stöbern
8 Anhang A (MDB2_Util Klasse für Datenbankzugriff) <?php // Klasse mit statischen Methoden zur Verwaltung einer // Datenbankverbindung. // Einsatz: // // $db = MDB2_Util::connect($dsn); // $db_handle = "MDB2_Util::get_connection(); // $list = MDB2_Util::query("select * from cat"); // $sql = "select * // from mondial.city // where country =? // and population >?"; // $obj_list = MDB2_Util::object_query($sql,'City', array('f', // )); // $new_schiff_id = MDB2_Util::create_id('Schiff'); // MDB2_Util::close(); // include_once('mdb2.php'); // PEAR::MDB2 class class MDB2_Util { private static $db_handle; static function connect($dsn) { $c = MDB2::connect($dsn); if (PEAR::isError($c)) die ("Fehler beim Verbindungsaufbau mit [$dsn] : ". $c->getmessage()); self::$db_handle = $c; static function get_connection() { if (empty(self::$db_handle)) die("es besteht keine offene Datenbankverbindung. Zuerst mit DB_Util::connect(\$dsn) eine Verbindung herstellen.". LINE ); return self::$db_handle; static function query($sql, $data=array()) { if (! array($data)) $data = array($data); $db = self::get_connection(); if (preg_match('/^\s*(update delete insert)\s+/i', $sql)) $mode = MDB2_PREPARE_MANIP; else $mode=null; $stmt = $db->prepare( $sql, null, $mode); if (PEAR::isError($stmt)) die(adapt_output($sql).":".$stmt->getmessage()); $res = $stmt->execute( $data); if (PEAR::isError($res)) {
9 $err_msg = $res->getmessage(); die("execute: ".adapt_output($sql)." [".join(",", $data)."]: $err_msg"); $results = array(); if (is_object($res)) { while($row = $res->fetchrow(mdb2_fetchmode_assoc)) $results[] = $row; return $results; else { // numbers of affected rows (not implemented in mysql) return $res; static function object_query($sql, $class, $data=array()) { $db = self::get_connection(); $stmt = $db->prepare( $sql ); if (PEAR::isError($stmt)) die(adapt_output($sql).":".$stmt->getmessage()); $res = $stmt->execute($data); if (PEAR::isError($res)) die("execute: ".adapt_output($sql).":".$res->getmessage()); $results = array(); if (is_object($res)) { while($row = $res->fetchrow(mdb2_fetchmode_assoc)) $results[] = new $class($row); return $results; else { return $res; function create_id($name='default_sequence') { $db = self::get_connection(); $id = $db->nextid($name, true); if (PEAR::isError($id)) die("nextid('$name'): ".$id->getmessage()); return $id; function rollback() { self::$db_handle->rollback(); function commit() { self::$db_handle->commit(); function close() { self::$db_handle->disconnect(); self::$db_handle = null; function adapt_output($str) {
10 global $_SERVER; if (array_key_exists('http_host', $_SERVER)) { $str = "<pre>".htmlentities($str)."</pre>"; return $str;?> Anhang B (Zugriff auf Oracle DB) <? include_once('db_util.php'); $sql = " select name, province from mondial.city where country =? order by name"; $list = DB_Util::query($sql, array('f')); foreach ($list as $city) { print $city['name']." (".$city['province'].")\n"; DB_Util::close();?>
Tutorium zum Aufbau einer objektrelationalen Abbildungsschicht in PHP
Tutorium zum Aufbau einer objektrelationalen Abbildungsschicht in PHP (Version 2.7 vom 27.10.2015) Einleitung Im folgenden wird die Erstellung einer Klasse zur Realisierung einer OR-Schicht erläutert.
Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.
Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.
Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS 2015 PHP MVC. Dr. Christian Senger. PHP MVC 1 von 21
PHP MVC PHP MVC 1 von 21 Model View Control Views Controlers Business logic GUI OO-application logic Object-relational-Mapping Relational DBMS PHP MVC 2 von 21 Webbasierte Informationssysteme WWW-Browser
Tutorium/Aufgaben zu PHP
Tutorium/Aufgaben zu PHP (Version 2.8 vom 7.11.2014) -- Version Poolraum mit laufenden Apache und MySQL Diensten -- Einleitung In den folgenden Lektionen sollen die vermittelten Konzepte zur Programmierung
Oracle SQL Tutorium - Wiederholung DB I -
Oracle SQL Tutorium - Wiederholung DB I - (Version 2.6 vom 24.2.2015) Einleitung Im Folgenden sind zur Wiederholung eine Reihe von SQL-Übungsaufgaben zu lösen. Grundlage für die Aufgaben ist die Mondial
Einführendes Tutorium zu SQLX
Einführendes Tutorium zu SQLX (Version 2.3 vom 24.2.2015) Einleitung In den folgenden Lektionen sollen dir die Grundzüge von SQLX näher gebracht werden. SQLX ist der Standard um aus relationalen Datenbeständen
7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2
5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken
Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. Metadaten
Fakultät für Informatik & Wirtschaftsinformatik Metadaten Metadaten sind Daten über Daten Data-Dictionary speichert Informationen über die Struktur der Daten, z.b.: Tabellen, Spalten, Datentypen Primär-
TYPO3 und TypoScript
TYPO3 und TypoScript Webseiten programmieren, Templates erstellen, Extensions entwickeln von Tobias Hauser, Christian Wenz, Daniel Koch 1. Auflage Hanser München 2005 Verlag C.H. Beck im Internet: www.beck.de
Tutorium/Aufgaben zu PHP
Tutorium/Aufgaben zu PHP (Version 2.8 vom 26.10.2016) Einleitung In den folgenden Lektionen sollen die vermittelten Konzepte zur Programmierung mittels PHP anhand von konkreten Beispielen geübt und vertieft
Der Inhalt dieses Foliensatzes ist nicht klausurrelevent!!! - aber trotzdem interessant ;-)
Model-View-Controler Paradigma Der Inhalt dieses Foliensatzes ist nicht klausurrelevent!!! - aber trotzdem interessant ;-) Andreas Schmidt PHP (MVC) 1/22 Model-View-Controler paradigma (1) Views Controlers
Klausur zur Vorlesung Datenbanksysteme I
Prof. Dr. W. Kießling 30.01.2002 Lehrstuhl für Datenbanken und Informationssysteme Universität Augsburg Klausur zur Vorlesung Datenbanksysteme I Wintersemester 2001/2002 Name Vorname Matrikelnummer Aufgabe
Einführung in die Informatik II
Einführung in die Informatik II Die Structured Query Language SQL Prof. Dr. Nikolaus Wulff SQL Das E/R-Modell lässt sich eins zu eins auf ein Tabellenschema abbilden. Benötigt wird eine Syntax, um Tabellen
Grundlagen der Informatik 2
Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung
Views in SQL. 2 Anlegen und Verwenden von Views 2
Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig
Übungen. DI (FH) Levent Öztürk
Übungen DI (FH) Levent Öztürk Übersicht Entwicklungsumgebung PHPMYADMIN Datenbank anlegen User anlegen Tabellen Anlegen Datenbankzugriffe über PHP 01.04.2014 DI (FH) Levent Öztürk 2 Entwicklungsumgebung
Datenbanksysteme SS 2007
Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9d: Datenbankapplikationen Architektur einer Web-Applikation mit Servlets, JSPs und JavaBeans
Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023
Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten
php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...
php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.
PHP. Prof. Dr.-Ing. Wolfgang Lehner. Diese Zeile ersetzt man über: Einfügen > Kopf- und
8. PHP Prof. Dr.-Ing. Wolfgang Lehner Diese Zeile ersetzt man über: Einfügen > Kopf- und PHP PHP (Hypertext Preprocessor) Serverseitige Skriptsprache (im Gegensatz zu JavaScript) Hauptanwendungsgebiet:
Klausur in 13.2 Thema: Homepage mit MySQL und PHP (Bearbeitungszeit: 90 Minuten)
Klausur in 13.2 Thema: Homepage mit MySQL und PHP (Bearbeitungszeit: 90 Minuten) Name: Nachname, Vorname Hinweis: Speichern Sie regelmäßig Ihre Arbeit in einer Word-Datei mit dem Namen klausur2_nachname.doc
Probeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
Datenmanagement in Android-Apps. 16. Mai 2013
Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer
Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP.
Ziele: Eine Datenbank anlegen mit SQL Daten eingeben mit SQL Abfragen stellen mit SQL und PHP 1 Datenbankserver Entwickelt von der schwedischen Aktiengesellschaft MySQL Unter GNU General Public License
Object Relational Mapping Layer
Object Relational Mapping Layer Views Controlers Business logic GUI OO-application logic Object-relational-Mapping Relational DBMS PHP (propel) 1/18 Propel - Persistance Layer OR-Mapper für PHP Portierung
Datenbanken für Online Untersuchungen
Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren
Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1
Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen
Datumsangaben, enthält mindestens Jahr, Monat, Tag
Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice
Transaktionen in der Praxis. Dr. Karsten Tolle
Transaktionen in der Praxis Dr. Karsten Tolle Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch (Exception e) { e.printstacktrace(); } con.setautocommit(false);
Interaktive Webseiten mit PHP und MySQL
Interaktive Webseiten mit PHP und Vorlesung 4: PHP & Sommersemester 2003 Martin Ellermann Heiko Holtkamp Sommersemester 2001 Hier noch ein wenig zu (My)SQL: SHOW INSERT SELECT ORDER BY GROUP BY LIKE /
Skalierbare Webanwendungen mit Python und Google App Engine
Skalierbare Webanwendungen mit Python und Google App Engine Oliver Albers 03. Juli 2008 1/32 Einführung Worum geht es? Pro und Contra Technik Genereller Aufbau Anwendungskonfiguration Verarbeitung von
Dateneingabe über ein HTML-Formular in eine Datenbank:
Dateneingabe über ein HTML-Formular in eine Datenbank: Über ein Eingabeformular mit fünf Eingabefelder sollen Personaldaten in eine Datenbank gespeichert werden: Schritt 1: Erstellen des Eingabeformulars
PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing.
PHP + MySQL Die MySQL-Datenbank Zusammenspiel Apache, PHP, PHPMyAdmin und MySQL PHPMyAdmin Verwaltungstool Nutzer Datei.php oder Datei.pl Apache HTTP-Server PHP Scriptsprache Perl Scriptsprache MySQL Datenbank
ER-Modelling mit ZMS: Das ZMS SQL DB-Objekt
Folie: 1 ER-Modelling mit ZMS: Das ZMS SQL DB-Objekt Dr. Frank Hoffmann / Python User Group Berlin 18.06.2009 Folie: 2 ZMS - Zope-basiertes Open-Source-Redaktionssystem für das STM-Publishing Folie: 3
PHP Schulung Beginner. Newthinking Store GmbH Manuel Blechschmidt
PHP Schulung Beginner Newthinking Store GmbH Manuel Blechschmidt Begrüßung Es gibt keine dummen Fragen nur dumme Antworten. Übersicht Sprung ins Kalte Wasser 'Hallo Welt' Theorie Requests Grundlagen Kommentare
Übung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
Objects First With Java A Practical Introduction Using BlueJ. Mehr über Vererbung. Exploring polymorphism 1.0
Objects First With Java A Practical Introduction Using BlueJ Mehr über Vererbung Exploring polymorphism 1.0 Zentrale Konzepte dieses Kapitels Methoden-Polymorphie statischer und dynamischer Typ Überschreiben
SEMINAR Modifikation für die Nutzung des Community Builders
20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen
E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: 24.11.2014. Übung WS 2014/2015
Übung WS 2014/2015 E-Commerce: IT-Werkzeuge Web-Programmierung Kapitel 6: Datenbankabfragen mit SQL und PHP Stand: 24.11.2014 Benedikt Schumm M.Sc. Lehrstuhl für ABWL und Wirtschaftsinformatik Katholische
Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Einbindung externer FiBu-/Warenwirtschaftsdaten Einbindung externer FiBu-/Warenwirtschaftsdaten - 2 - Inhalt Ausgangssituation
Zugriff auf Firebird-Datenbanken mit PHP. Daniel de West DB-Campus-Treffen 15. Januar 2004
Zugriff auf Firebird-Datenbanken mit PHP Daniel de West DB-Campus-Treffen 15. Januar 2004 Inhalt PHP und Firebird Die wichtigsten Befehle Verbindungsaufbau Übermitteln von Abfragen Beenden von Verbindungen
Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. XMLType. Christian Senger/Andreas Schmidt XMLType 1/32
XMLType Christian Senger/Andreas Schmidt XMLType 1/32 XMLType von Oracle vordefinierter Typ zur Speicherung von nativen XML-Dokumenten unterstützt verschiedene Speichermodelle für XML structured storage
Extensions mit TYPO3 TYPO3
Extensions mit TYPO3 PHP-Einsatz in TYPO3 eine Einführung Tobias Hauser Arrabiata Solutions GmbH tobias.hauser@arrabiata.de TYPO3 Aktuell ist Version 4.2 Version 4.3 ist RC, erscheint Ende November 4.4
BTree.dll - Balancierte und verkettete Bäume. Ecofor. BTree.dll. Realisiert mit Microsoft Visual Studio 16.04.2015 1/9
BTree.dll Realisiert mit Microsoft Visual Studio 16.04.2015 1/9 INHALT 1. Allgemein... 3 2. Class BTree1 (balanciert)... 3 3. Class BTree2 (balanciert und verkettet)... 4 4. Beschreibung BTree1 und BTree2...
MySQL, phpmyadmin & SQL. Kurzübersicht
MySQL, phpmyadmin & SQL Kurzübersicht Referenzen MySQL Documentation: http://dev.mysql.com/doc PHP 5 / MySQL5. Studienausgabe. Praxisbuch und Referenz (Kannengießer & Kannengießer) 2 Datenbank anlegen
PHP 5.4 ISBN 978-3-86249-336-4. Fortgeschrittene Techniken der Web-Programmierung. Bastian Martin, Andreas Dittfurth. 1. Ausgabe, April 2013 GPHP54F
PHP 5.4 Bastian Martin, Andreas Dittfurth Fortgeschrittene Techniken der Web-Programmierung 1. Ausgabe, April 2013 ISBN 978-3-86249-336-4 GPHP54F 3 PHP 5.4 - Fortgeschrittene Techniken der Web-Programmierung
Datenbanken 1. Einführung und Zugänge für die eingesetzten Resourcen. ISWeb - Information Systems & Semantic Web University of Koblenz Landau, Germany
University of Koblenz Landau, Germany Einführung und Zugänge für die eingesetzten Resourcen of 20 Überblick Eingesetzte Resourcen und ihre Zugänge WebCT FTP-Server PHP PostgreSQL
Object Relational Mapping Layer
Object Relational Mapping Layer Dr. Christian Senger ORM & Vererbung 1 create table fortbildung( id number primary key, bezeichnung varchar2(40), datum date ); create table themenblock( id number primary
Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin
Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,
Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. noch einmal. XQuery... Andreas Schmidt Oracle XQuery 1/12
noch einmal XQuery... Andreas Schmidt Oracle XQuery 1/12 Oracle XML DB Repository Fakultät für Informatik & Wirtschaftsinformatik Erlaubt Speichern von Dokumenten wie in einem Filesystem (Daten liegen
Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.
Lehrstuhl für Datenbanken und Informationssysteme Wintersemester 1999/2000 Universität Augsburg, Institut für Informatik 25. Februar 2000 Prof. Dr. Werner Kießling A. Leubner, M. Wagner Datenbanksysteme
IT-Zertifikat: Allgemeine Informationstechnologien II PHP
IT-Zertifikat: Allgemeine Informationstechnologien II PHP PHP ( PHP: Hypertext Preprocessor ) ist eine serverseitige Skriptsprache: Der PHP-Code wird nicht wie bei JavaScript auf dem Clientrechner ausgeführt,
Folien php/mysql Kurs der Informatikdienste
Folien php/mysql Kurs der Informatikdienste 1. Einführung in die Datenbank MySQL Kursbeispiel und Kursziele 1.1 Das Kursbeispiel: eine kleine Personalverwaltung 1.2 Was brauchen wir? 1.3 Ziele Kurs AEMS1,
Projekt Online-Shop:
Mit einem Buchverwaltungsprogramm kann können über das Internet neue Datensätze in eine Online-Datenbank einund ausgegeben, sowie gelöscht und verändert werden. Die Internet-Site besteht aus den nebenstehenden
seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql
JDBC inoffizielle Abkürzung für: Java Database Connectivity seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql ist eine Menge von Klassen und Methoden, um aus Java-Programmen relationale Datenbanken
WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4)
Vorlesung #6 SQL (Teil 4) Fahrplan Besprechung der Übungsaufgaben Einschub: Self Joins (relevant fürs Praktikum) Dynamische Intergritätsbedingungen, das Trigger - Konzept von Oracle Prozedurale Erweiterungen,
7. Übung - Datenbanken
7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen
Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler
Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Informationen aus der Datenbank lesen Klasse SQLiteDatabase enthält die Methode query(..) 1. Parameter: Tabellenname
DB2 SQL, der Systemkatalog & Aktive Datenbanken
DB2 SQL, der Systemkatalog & Aktive Datenbanken Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Auf DB2 Datenbanken zugreifen DB2 Datenbanken benutzen Abfragen ausführen Den Systemkatalog
Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015 SQLX. Christian Senger/Andreas Schmidt Oracle und XML (SQLX) 1/14
SQLX Christian Senger/Andreas Schmidt Oracle und XML (SQLX) 1/14 SQLX Standard XML Standard für SQL Reihe von Funktionen zur Unterstützung der Ausgabe von XML mittels SQL- Select-Statements Momentan in
Michaela Weiss 01. April 2015. Lerneinheit 4: Relationale Datenbanken am Beispiel von MySQL
Michaela Weiss 01. April 2015 Lerneinheit 4: Relationale Datenbanken am Beispiel von MySQL Seite 2 Datenbanken Allgemeines: Datenbank(management)systeme ermöglichen die Speicherung großer Datenmengen Kennzeichen
Datenbank und Informationssysteme
Datenbank und Informationssysteme Inhaltsverzeichnis 1 Programmierung von Datenbankzugriffen 3 1.1 Architektur des SQL/CLI am Beispiel JDBC................... 4 1.2 Anfragen und Ergebnismengen in JDBC......................
Hilfe meine Oracle Datenbank spricht nicht mit meiner JSP
Hilfe meine Oracle Datenbank spricht nicht mit meiner JSP Diese Dokumentation, soll die grundlegenden Schritte vermitteln wie man mithilfe einer JSP Seite auf eine Oracle Datenbank zugreift und Daten abfragt
SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar
Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-
NP= mem=c=jópni=mê~ñáë=
TOR NP memcjópnimê~ñáë wìêséêäáåçìåöîçåmemìåçjópniëçïáéòìjópniájjéíüççéåìåçpnij^äñê~öéå ëáéüéh~éáíéätkpìåçtkqk NPKN mê~ñáëäéáëéáéä eáéêåìåéáå^åïéåçìåöëäéáëéáéäiìãfüåéåçéåbáåëíáéöòìéêäéáåüíéêåkbëü~åçéäíëáåü
Internetanbindung von Datenbanken
Internetanbindung von Datenbanken http://galahad.informatik.fh-kl.de/~miesel/index.html PHP -1 Gliederung Einführung PHP3 Datenbankanbindung mit PHP3 Sicherheitsprobleme Realisierung mit PHP3 Probleme
DataTables LDAP Service usage Guide
DataTables LDAP Service usage Guide DTLDAP Usage Guide thomasktn@me.com / www.ktn.ch Benutzung des DTLDAP Service DataTables Der Service stellt einen JSON Feed für DataTables (http://www.datatables.net)
Studentische Lösung zum Übungsblatt Nr. 7
Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int
Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Einbindung externer FiBu-/Warenwirtschaftsdaten Einbindung externer FiBu-/Warenwirtschaftsdaten - 2 - Inhalt Ausgangssituation
Fachbereich Informatik Praktikum 1
Hochschule Darmstadt DATA WAREHOUSE SS2015 Fachbereich Informatik Praktikum 1 Prof. Dr. S. Karczewski Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 14.April.2015 1. Kurzbeschreibung In diesem Praktikum geht
Prozedurale Datenbank- Anwendungsprogrammierung
Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.
Ablauf Unit2. Walkthrough
Ablauf Unit2 Vertiefendes Uebungsprojekt - SQL II Gerhard Wohlgenannt Test Vorstellung der Arbeitsumgebung (Software, Locations) Walkthrough Gruppeneinteilung + Themenvergabe Vorstellung der Arbeitsumgebung
Einführung in SQL Datenbanken bearbeiten
Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben
Datenbanken. Ein DBS besteht aus zwei Teilen:
Datenbanken Wikipedia gibt unter http://de.wikipedia.org/wiki/datenbank einen kompakten Einblick in die Welt der Datenbanken, Datenbanksysteme, Datenbankmanagementsysteme & Co: Ein Datenbanksystem (DBS)
Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012
Isolationsstufen für Transaktionen / Sicherheit Dr. Karsten Tolle Dienstag 31. Januar 2012 Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch
Übung 1: Ein Website News-System mit MySQL
Übung 1: Ein Website News-System mit MySQL In der Vorübung haben wir bereits mit Hilfe eines ERMs den Datenbankentwurf erstellt und daraus die folgenden Tabellen abgeleitet: Nun muss diese Datenbank in
Unterabfragen (Subqueries)
Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und
jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte
jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte Webprogrammierung SVEN LETZEL FRIEDHELM BETZ Inhaltsverzeichnis jetzt lerne ich Hallo! 15 1 Grundlagen 17 1.1 Das Internet
Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
PostgreSQL unter Debian Linux
Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...
PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (michael.kluge@tu-dresden.
Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) PHP und MySQL Integration von MySQL in PHP Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424 (michael.kluge@tu-dresden.de) MySQL
TimeSafe Leistungserfassung
Keep your time safe. TimeSafe Leistungserfassung Adressimport 1/8 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 Allgemeines... 3 1.1 Adressen in der TimeSafe Leistungserfassung... 3 1.2 Organisationen und/oder
Dokumentation zur Anlage eines JDBC Senders
Dokumentation zur Anlage eines JDBC Senders Mithilfe des JDBC Senders ist es möglich auf eine Datenbank zuzugreifen und mit reiner Query Datensätze auszulesen. Diese können anschließend beispielsweise
Ablauf. Wichtige Termine. Vertiefendes Übungsprojekt - SQL II
Ablauf Wichtige Termine Ablauf der Lehrveranstaltung Vorstellung des Projektthemas Projektgruppen Vorstellung der Arbeitsumgebung (Software, Locations) Walkthrough Datenbankentwurf Formulare PHP Security
Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009
Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger
if ($rows == 0) { save_new(); } }
Page 212, Listing index.php There is: Must be: // Prüfen, ob nicht Seite aktualisiert // wurde mit z.b. F5. der gleiche // Eintrag soll nicht mehrmals // gespeichert werden können $sql_check = "SELECT
Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten.
Einführung SQL 2010 Niko Becker Mit unseren Übungen zu ACCESS können Sie Aufbau und Struktur einer relationalen Datenbank kennenlernen. Wir zeigen Ihnen wie Sie Tabellen, Formulare und Berichte erstellen
desk.modul : WaWi- Export
desk.modul : WaWi- Export Die Schnittstelle besteht aus einem Programm, welches die Daten aus der OfficeLine ausliest und in eine XML-Datei exportiert. Die Schnittstelle ist als ein eigenständiges Programm
PHP- Counter IP. Entwurf und Umsetzung eines PHP basierten Zählers mit MySQL Anbindung EASY-LINE
PHP- Counter IP EASY-LINE Entwurf und Umsetzung eines PHP basierten Zählers mit MySQL Anbindung Die jeweils aktuelle Version finden Sie auf der Homepage www.honigs-home.de Stand: 06.08.2004 2001 2004 by
Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de
Rails Ruby on Rails Ajax on Rails Who is who? Rails Framework für Web (2.0) Anwendungen Ziel: Beschleunigung der Entwicklung Konzept des Agilen Programmierens Ruby InterpreDerte Sprache Rails IntegraDonen
Objektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement
Funktion definieren Gibt Summe der Gehälter zurück Aufruf in einem SQL-Statement Dr. Christian Senger Einführung PL/SQL 1 Procedures & Transaktionen CREATE OR REPLACE PROCEDURE write_log ( log_code IN
PostgreSQL auf Debian System
PostgreSQL auf Debian System Inhaltsverzeichnis 1. Installation 1.1 Installation 1.2 Mit postgres anmelden 2. Benutzer anlegen 3. Datenbank anlegen 3.1 Optionen 3.2 Datenbank mydatabase anlegen 4. Datenbank
PHP Übungsaufgabe 3 1 / 5. Doing Web Apps. PHP Übungsaufgabe 3
1 / 5 Doing Web Apps PHP Übungsaufgabe 3 Werkzeuge Text-Editor, beispielsweise Notepad++ Webserver mit aktiviertem PHP Modul + MySQL-Datenbank Unterlagen Ziele SelfHTML PHP API Handbuch Alle Dokumente
SQL and PL/SQL unleashed. Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL
. Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL Johannes Gritsch Themenübersicht Neue Scheduler Job Typen SQL_SCRIPT und BACKUP_SCRIPT SQL RowLimit: PERCENT und TIES WITH-Klausel mit
Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung
Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,
Objektrelationale und erweiterbare Datenbanksysteme
Objektrelationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 (Objekt-relationale Modellierung) In der Vorlesung werden nur die Folien 1-12 behandelt. Kapitel 14 1 Konzepte objekt-relationaler
ZSDGMDZFGW... Zehn Sicherheitsprobleme, die gerne mit dem ZendFramework gebaut werden. Ben Fuhrmannek #phpug-köln 2.10.2009
ZSDGMDZFGW Zehn Sicherheitsprobleme, die gerne mit dem ZendFramework gebaut werden Ben Fuhrmannek #phpug-köln 2.10.2009 Über mich Informatiker Entwickler IT Security 2 TOC Aufbau ZF Problem 1 bis 10 3
3. Persistenz und Datenbanken Content Providers. Content Providers. Generische Schnittstelle zum Zugriff auf Daten zwischen Anwendungen
Content Providers Generische Schnittstelle zum Zugriff auf Daten zwischen Anwendungen Entkopplung der Daten-Schicht von der Anwendungsschicht Zugriff erfolgt URI-basiert Kontrolle der Zugriffsrechte eingebaute
2 Produkt- und Supportübersicht für DB2... 17 2.1 Zusatzprogramme für DB2... 19 2.2 Technische Unterstützung für DB2 UDB... 20
1 DB2 und Centura Team Developer... 9 1.1 Entwicklung mit SQL... 9 1.2 DB2... 11 1.3 Centura und dessen Software... 12 1.4 ODBC... 13 1.4.1 Normalisierung... 13 2 Produkt- und Supportübersicht für DB2...