[DATENBANKPROGRAMMIERUNG IM. INTER-/INTRANET] Fachhochschule Landshut Fakultät Betriebswirtschaft WS 2008/09. Stefanie Wagensonner



Ähnliche Dokumente
OP-LOG

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Betriebshandbuch. MyInTouch Import Tool

Kleines Handbuch zur Fotogalerie der Pixel AG

SEMINAR Modifikation für die Nutzung des Community Builders

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Informatik 12 Datenbanken SQL-Einführung

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten!

Drägerware.ZMS/FLORIX Hessen

Das Einzelplatz-Versionsupdate unter Version Bp810

Hinweise zur Installation von MySQL

- Zweimal Wöchentlich - Windows Update ausführen - Live Update im Norton Antivirusprogramm ausführen

TeamSpeak3 Einrichten

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Wie richten Sie Ihr Web Paket bei Netpage24 ein

I. Travel Master CRM Installieren

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL

Administrator-Anleitung

Grafstat Checkliste Internetbefragung

Adminer: Installationsanleitung

Durchführung der Netzwerk bzw. Mehrplatzinstallation

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird.

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Anleitung Datenfernsicherung SecureSafe

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Tag 4 Inhaltsverzeichnis

Installationsanleitung CLX.PayMaker Home

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Anleitung über den Umgang mit Schildern

Leichte-Sprache-Bilder

BSV Software Support Mobile Portal (SMP) Stand

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Planung für Organisation und Technik

4D Server v12 64-bit Version BETA VERSION

Tag 4 Inhaltsverzeichnis

Tutorial -

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

Durchführung der Datenübernahme nach Reisekosten 2011

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

Handbuch oasebw Seite 1 von 10

Datenbanken & Informationssysteme Übungen Teil 1

Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012)

Anwendungsbeispiele Buchhaltung

Outlook Web App 2010 Kurzanleitung

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Anleitung für den Euroweb-Newsletter

Anleitung: Webspace-Einrichtung

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

TREIBER INSTALLATIONSPROZESS WINDOWS 7 (32 oder 64 BIT)

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

Die Dateiablage Der Weg zur Dateiablage

Persönliches Adressbuch

Installationsleitfaden zum Fakturierungsprogramm

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: Übung WS 2014/2015

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Backup der Progress Datenbank

Stapelverarbeitung Teil 1

KURZANLEITUNG CLOUD OBJECT STORAGE

PHPNuke Quick & Dirty

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

CartCalc FAQ (frequently asked questions) häufige Fragen zu CartCalc

Installationsanleitung CLX.PayMaker Office

ITT WEB-Service DEMO. Kurzbedienungsanleitung

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Professionelle Seminare im Bereich MS-Office

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Zunächst ist dieser Service nur für Mac OS verfügbar. Drucken unter Windows wird Ihnen im Laufe des Semesters zur Verfügung stehen.

Installationsanleitung. Hardlock Internal PCI Hardlock Server Internal PCI

2.1 Erstellung einer Gutschrift über den vollen Rechnungsbetrag

Konvertieren von Settingsdateien

ecaros2 - Accountmanager

Überprüfung der digital signierten E-Rechnung

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

SharePoint Demonstration

Artikel Schnittstelle über CSV

KEIL software. Inhaltsverzeichnis UPDATE. 1. Wichtige Informationen 1.1. Welche Änderungen gibt es?

Transkript:

Stefanie Wagensonner EBS, 7. Fachsemester [DATENBANKPROGRAMMIERUNG IM INTER-/INTRANET] Fachhochschule Landshut Fakultät Betriebswirtschaft WS 2008/09

Inhaltsverzeichnis Einleitung..... 3 Frage Nr. 2... 3 insert... 3 delete... 5 select... 6 update... 7 Frage Nr. 7... 8 Frage Nr. 10... 10 Frage Nr. 15... 11 Frage Nr. 18... 11 Frage Nr. 23... 13 Frage Nr. 26... 14 Frage Nr. 29... 15 Frage Nr. 30... 16 Quellenverzeichnis... 18 Abbildungsverzeichnis... 19 Anhang: Fragen zur Vorlesung Datenbankprogrammierung im Inter-/Intranet Stefanie Wagensonner, EBS, WS 2008/09 Page 2

Einleitung: Im Rahmen unseres Schwerpunktfaches Datenbankprogrammierung im Inter-/Intranet ist es für Studierende des Studienganges Europäische Betriebswirtschaftslehre vorgeschrieben, zusätzlich zur schriftlichen Prüfung am Ende des Semesters eine Studienarbeit anzufertigen. Zur Prüfungsvorbereitung wurde uns ein Fragenkatalog von 30 Fragen zur Verfügung gestellt, von denen ich im Folgenden die Nummern 2, 7, 10, 15, 18, 23, 26, 29 und 30 in Form der Studienarbeit bearbeiten werde. Frage Nr. 2 Für die vier wichtigsten Befehle insert, delete, select und update gebe man jeweils ein einfaches Beispiel an. Insert: Der Befehl insert steht für das Einfügen eines Datensatzes in eine Tabelle. In SQL wird dies wie folgt ausgedrückt: INSERT INTO Tabelle (Spalte 1,..., Spalte n) VALUES (Ausdruck 1,...),(Ausdruck #,...) Während unserer Vorlesung programmieren wir eine Datenbank für Adressen und Telefongespräche, die mit Hilfe von PHP online angezeigt und bearbeitet werden kann. Mit dem Befehl insert können wir neue Datensätze in die Tabellen Adressen oder Telefongespräche aufnehmen. Hierfür haben wir folgende vier PHP-Dateien geschrieben: insert_addressesform.php, insert_callsform.php, insert_addresses.php und insert_calls.php. Die beiden Dateien insert_addressesform.php und insert_callsform.php dienen nur der graphischen Anzeige, während die Dateien insert_addresses.php und insert_calls.php unseren insert Befehl durchführen. Stefanie Wagensonner, EBS, WS 2008/09 Page 3

insert_addresses.php zur Verdeutlichung der Umsetzung des insert Befehls in der Praxis: <html> <head> <title> </title> </head> <body> <?php include opendb.php ; $str = insert_into addresses ; $phonenr = $_POST[ phonenr ]; $nachname = $_POST[ nachname ]; $vorname = $_POST[ vorname ]; $str_hnr = $_POST[ str_hnr ]; $plz = $_POST[ plz ]; $stadt = $_POST[ stadt ]; $persnr = $_POST[ persnr ]; $str.= $str + (phonenr, nachname, vorname, str_hnr, plz, stadt, persnr) values ; $str.= $str + ( $phonenr, $nachname, $vorname, $str_hnr, $plz, $stadt, $persnr ); ; $erg = mysql_query($str); if ($erg==false) { printf( <br>fehler bei insert: %s %s, mysql_errno(), mysql_error()); } else { printf( <br>satz aufgenommen ); }; mysql_close($dbid);?> </body> </html> Abbildung 1 Stefanie Wagensonner, EBS, WS 2008/09 Page 4

Delete: Der delete Befehl löscht einen oder mehrere Datensätze einer Tabelle. Dies sollte Idealerweise über den Primärschlüssel erfolgen. Bei mysql ist die delete Funktion auch nur möglich, wenn vorher ein Primärschlüssel definiert wurde. In SQL wird dies folgendermaßen dargestellt: DELETE FROM Tabelle WHERE Bedingung In unserem Fall haben wir für das Löschen von Adressen beziehungsweise Telefongesprächen die zwei Dateien delete_addresses.php und delete_calls.php angelegt. delete_addresses.php: <html> <head> <title> </title> </head> <body> <?php include opendb.php ; $sql = delete from addresses where phonenr= $phonenr ; //printf( %s<br>, $sql); $erg = mysql_query( $sql ); if ($erg==false) { printf( <br>fehler bei delete: %s %s, mysql_errno(), mysql_error()); } else { printf( <br>satz gelöscht ); }; //printf( <br>ii %s, $erg); mysql_close($dbid); Stefanie Wagensonner, EBS, WS 2008/09 Page 5

?> </body> </html> Abbildung 2 Select: Mit der select-funktion kann man sich bestimmte Datensätze einer Tabelle anzeigen lassen. Der SQL Ausdruck dazu lautet: SELECT * FROM Tabelle Für unsere Datenbank haben wir wiederum zwei Dateien angelegt, um jeweils in der Tabelle Gespräche beziehungsweise in der Tabelle Adressen bestimmte Datenzeilen auswählen zu können: select_addresses.php und select_calls.php. Für die Auswahl von Adressen sieht select_addresses.php wie folgt aus: <html> <head> <title> Test von PHP und HTML </title> <body> <?php include opendb.php ; $ergebnis = mysql_query( select * from addresses ); if ($ergebnis==null) { printf( <br>fehler bei select: %s %s, mysql_errno(), mysql_error()); exit(); } else { Stefanie Wagensonner, EBS, WS 2008/09 Page 6

$anzahl_zahlen = mysql_num_rows($ergebnis); printf( <br> Anzahl Zeilen %d <br>, $anzahl_zeilen); printf( <table> ); while ($zeile = mysql_fetch_row($ergebnis)) { printf( <tr> ); foreach($zeile as $element){printf( <td> %s, $element);}; printf( <br> ); }; printf( </table> ); }; mysql_close($dbid);?> </body> </html> Abbildung 3 Update: Mit dem Befehl update können Datensätze einer Tabelle geändert werden. Dazu wird zuerst der alte Datensatz gelöscht und dann ein neuer hinzugefügt. Dies wird in SQL wie folgt dargestellt: UPDATE Tabelle SET Spaltenname=Wert WHERE Bedingung Stefanie Wagensonner, EBS, WS 2008/09 Page 7

Frage Nr. 7: Man erläutere den Begriff Transaktion. Welche Tabellentypen kennen Transaktionen? Wie kennzeichnet man in MySQL den Beginn und das Ende einer Transaktion? Wie kann man eine noch nicht beendete Transaktion rückgängig machen? Definition: Eine Transaktion ist eine logische Abfolge von einzelnen Befehlen, die zusammen eine unteilbare Einheit bilden. Mit Transaktionen bieten Datenbanken die Möglichkeit mehrere SQL-Anweisungen in einen gemeinsamen Block zusammenzufassen und diesen Block dann sicher auszuführen. Sicher bedeutet hierbei, dass nur der gesamten Block garantiert bis zum Ende ausgeführt wird. Ist dies nicht möglich, beispielsweise wenn ein Fehler bei einem Befehl der Transaktion auftritt, wird der Vorgang komplett rückgängig gemacht. Bei jedem Datenbanksystem darf nur eine bestimmte Anzahl von Transaktionen nicht abgeschlossen sein, damit keine Behinderung auftritt. Grundsätzlich sollten immer möglichst wenige und keine langen Transaktionen offen bleiben. Bei der Implementierung von Datenbanktransaktionen gibt es den ACID Standard. Dieser steht für: ATOMICITY die Transaktion verbindet alle enthaltenen MySQL-Anweisungen zu einer atomaren Einheit, die nach außen hin einer einzelnen Anweisung entspricht. CONSISTENCY wenn die Transaktion durch Commit oder Rollback abgeschlossen wird, muss die Datenbank in einem konsistenten Zustand verbleiben. ISOLATION jede Transaktion muss gegenüber allen anderen Datenbankoperationen und Transaktionen isoliert ausgeführt werden; während sie abläuft bemerken andere Operationen nichts von ihren Änderungen und umgekehrt. DURABILITY nach einem Commit müssen die Änderungen durch die Transaktion dauerhaft in der Datenbank gespeichert bleiben. Stefanie Wagensonner, EBS, WS 2008/09 Page 8

Welche Tabellentypen kennen Transaktionen? Transaktionen werden in MySQL nur von speziellen transaktionsfähigen Tabellentypen unterstützt. Diese unterscheiden sich von den Standardtabellentypen in MySQL, z.b. MyISAM, dadurch, dass die im Rahmen von Transaktionen benutzten Datensätze währenddessen automatisch gesperrt werden. Bei MySQL unterstützen die Tabellentypen BDB und InnoDB Transaktionen. Wie kennzeichnet man in MySQL den Beginn und das Ende einer Transaktion? MySQL arbeitet standardmäßig im so genannten autocommit-modus (Voreinstellung in der Konfigurationsdatei autocommit = yes). Jeder Befehl stellt automatisch eine abgeschlossene Transaktion dar. Dies bedeutet, dass MySQL Transaktionen automatisch beginnt, wenn man einen Befehl bezüglich einer passenden Tabelle startet. Autocommit bedeutet, dass jeder SQL-Befehl eine Transaktion ist. Um eine lange Transaktion selber zu bestimmen und zu steuern sind deshalb bestimmte Befehle notwendig. Mit BEGIN startet MySQL eine lange Transaktion, beendet wird sie mit dem Befehl COMMIT, der die queries ausführt, gegebenenfalls auch durch den Befehl ROLLBACK, nämlich dann, wenn eine Transaktion vor dem Ende bereits unterbrochen wird. Erst wenn einer dieser beiden Befehle greift, kann ein anderer Benutzer die durchgeführten Änderungen oder den Zustand vor Beginn der Transaktion sehen. Wie kann man eine noch nicht beendete Transaktion rückgängig machen? Wie im vorherigen Satz bereits angedeutet kann eine noch nicht beendete Transaktion mit dem Befehl ROLLBACK rückgängig gemacht werden. Stefanie Wagensonner, EBS, WS 2008/09 Page 9

Beispiel aus dem Bankenbereich: Überweisung Man nehme eine Transaktion bei der die Überweisung von Konto A nach Konto B durchgeführt wird. Diese Aktion muss ganz oder gar nicht durchgeführt werden. Begonnen wird die Transaktion mit BEGIN, beendet mit COMMIT. Um sicher zu stellen, dass bei Konto A die Überweisung zu Konto B auch gedeckt ist kann man nun einen ROLLBACK einbauen, der besagt, dass das Geld nur überwiesen werden darf, wenn auf Konto A eine ausreichende Summe vorhanden ist. Ist dies nicht der Fall, wird anhand des Befehls ROLLBACK die gesamte Transaktion rückgängig gemacht und kein Geld überwiesen. Frage Nr. 10: Welche Schritte müssen in PHP ausgeführt werden, um mit einer Datenbank arbeiten zu können, um z.b. eine Select-Anweisung absetzen zu können? Man gebe auch beispielhaft die Befehle an! Um mit einer Datenbank arbeiten zu können, muss man zunächst in PHP eine Verbindung zur Datenbank herstellen. Dazu verwendet man mysql_connect (Rechnername, Benutzername, Passwort) Danach öffnet man eine Datenbank mit mysql_select (Datenbankname) Nun kann man einen Datenbankbefehl absetzen, wie beispielsweise mysql_query ( select * from calls ); Ein Abbau der Verbindung erfolgt am Ende automatisch oder manuell durch mysql_close() Stefanie Wagensonner, EBS, WS 2008/09 Page 10

Frage Nr. 15: Für welche Softwareprodukte stehen die vier Buchstaben LAMP? L A M P Linux Apache MySQL PHP (kann auch für Perl oder Python stehen) LAMP steht für den kombinierten Einsatz von bestimmten Programmen auf der Basis von Linux. Die einzelnen Buchstaben stellen dabei die Anfangbuchstaben der Komponenten dar. Diese Programmkombination stellt eine Art Infrastruktur dar, mit der dynamische Webseiten und Anwendungen entwickelt werden können. Frage Nr. 18: Man beschreibe die Schritte bei der Entwicklung eines Javaprogramms. Was ist der grundlegende Unterschied zu PHP? Die Entwicklung eines Javaprogramms: Um ein Java Programm zu erstellen, schreibt man zuerst den so genannten Quellcode und speichert diesen in einer einfachen Textdatei. Damit dieser Code nun ausführbar wird, benötigt man bei Java einen Compiler. Dieser übersetzt die Datei mit dem Quellcode in den so genannten Bytecode, den jetzt wiederum die Java Virtual Machine lesen und ausführen kann. Programm schreiben (kedit) -> Übersetzen (javac) -> Ausführen (javavm) Stefanie Wagensonner, EBS, WS 2008/09 Page 11

Sowohl beim Compiler, als auch bei der Java Virtual Machine handelt es sich dabei um Software, die zuvor auf dem Computer installiert werden muss. Genau dies ist auch der Grund, warum Java-Programme im Gegensatz zu Programmen in anderen Programmiersprachen Plattformunabhängig auf nahezu jedem beliebigen Betriebssystem oder Prozessortyp laufen es ist an die Software und nicht an ein Betriebssystem gebunden. Die JVM ist maschinenabhängig und übersetzt den Bytecode in den Maschinencode, der dann ausgeführt wird. Was ist der grundlegende Unterschied zu PHP? Der grundlegende Unterschied zu PHP ist, dass Java im Client-Server-System von der Client- Seite ausgeführt wird. Bei PHP wird ein php-skript erzeugt und vom Client an den php-server geschickt, der daraus eine html-datei erzeugt. Diese schickt der php-server dann entweder zur Bearbeitung weiter an den Datenbank-Server oder gleich zurück an den Client, wo die Datei ausgeführt wird. Bei Java führt man mit der Java Virtual Machine eine Software auf Client-Ebene das Programm aus. Auf Server-Ebene bearbeitet nur der Datenbankserver die Aufträge des Clients. Stefanie Wagensonner, EBS, WS 2008/09 Page 12

Frage Nr. 23: Was muss man alles tun, um die JDBC-Schnittstelle einer Datenbank, z.b. MySQL, nutzen zu können? Welche Umgebungsvariable muss dabei verändert werden und warum? JDBC = Java Database Connectivity JDBC ist eine Datenbankschnittstelle für Java, die speziell auf relationale Datenbanken ausgerichtet ist. Sie baut Datenbankverbindungen auf und verwaltet diese, leitet SQL- Anfragen an die Datenbank weiter und wandelt die Ergebnisse in eine für Java lesbare Form um. Um JDBC nutzen zu können sind zwei Schritte nötig: 1. Zunächst muss der Treiber MySQL Connector/J installiert werden. Ohne ihn ist kein Zugriff auf die Datenbank möglich! 2. Dann muss das jar-file des Treibers in den Klassenpfad mit aufgenommen werden. Dazu verwendeten wir die Befehle export CLASSPATH = $CLASSPATH:.: Verzeichnis, aus dem man die Datei exportiert set CLASSPATH = $CLASSPATH: Verzeichnis, aus dem man die Datei exportiert Die Umgebungsvariable CLASSPATH muss angepasst werden, damit sie den Treiber für die Datenbankschnittstelle findet! Stefanie Wagensonner, EBS, WS 2008/09 Page 13

Frage Nr. 26: Welche Befehlsfolgen durchläuft man beim Absetzen einer SQL-Anweisung nachdem die Verbindung aufgebaut und die Datenbank eröffnet ist? Grundsätzlich kann man den Ablauf einer SQL-Anweisung in drei Phasen unterteilen: die Vorbereitung, das Ausführen und das Ausgeben der Ergebnisse. Folgende Befehle werden dazu verwendet: 1. Vorbereitung: Statement stmt = conn.create Statement (); 2. Ausführen: stmt.execute (... ); 3. Ergebnis: ResultSet rs = stmt.get.resultset (); oder 4. Ergebnis: ResultSetMetaData rsmeta = rs.get.metadata (); Das Ergebnis ResultSetMetaData steht für ausgegebene Daten bei denen aber das Format unbekannt ist. Als Metadaten bezeichnet man allgemein Daten, die Informationen über andere Daten enthalten. Stefanie Wagensonner, EBS, WS 2008/09 Page 14

Frage Nr. 29: Man beschreibe die Syntax der try-anweisung. Die try-anweisung dient dazu mögliche Fehler abzufangen, ohne dass eine Fehlermeldung ausgelöst wird, und kann dadurch eine Anwendung vor dem Absturz schützen. Tritt innerhalb einer try-anweisung ein Fehler auf, so wird dieser Teil abgebrochen und nach der Anweisung ohne eine Fehlermeldung auszugeben fortgefahren. Auf die try-anweisung kann eine catch-anweisung folgen, die nur dann ausgeführt wird, wenn in der vorangegangenen try-anweisung ein Fehler aufgetreten ist. Auf eine try- Anweisung können mehrere catch-anweisungen folgen, die verschiedene Fehler abfangen. Bei der Abarbeitung der Anweisungen in try können verschiedene Fehlersituationen auftreten, die durch unterschiedliche catch-anweisungen behandelt werden müssen. Zuletzt kann eine finally-anweisung folgen. Hier werden alle Anweisungen aufgelistet, die nach der Behandlung aller Fehler unabhängig von Fehlermeldungen definitiv ausgeführt werden sollen. Syntax einer vollständigen try-catch-finally-anweisung: try {fehlerauslösender Befehl} catch (Ausnahme, die auch an eine if-bedingung geknüpft sein kann) finally {definitiv am Ende ausgeführte Befehle} Stefanie Wagensonner, EBS, WS 2008/09 Page 15

Frage Nr. 30: Man vergleiche die folgenden Ansätze für die Datenbankprogrammierung im Inter- /Intranet: Verwendung datenbankspezifischer Benutzeroberflächen, Verwendung von PHP, Verwendung der JDBC-Schnittstelle hinsichtlich folgender Punkte. Aufwand beim Erstellen der Anwendung Benötigte Software auf dem Server bzw. dem Client Effizienz in der Nutzung der Übertragungskapazität Man bewerte die Ansätze bezüglich der Einsetzbarkeit im Internet und im Intranet. Verwendung datenbankspezifischer Benutzeroberflächen: Kaum Aufwand beim Erstellen Benötigte Software auf dem Client: graphische Oberfläche Benötigte Software auf dem Server: Datenbank-Manager, Datenbank Hohe Übertragungseffizienz durch direkten Zugriff auf die Datenbank und Kompatibilität mit unterschiedlichen Datenbanken und Betriebssystemen Verwendung von PHP: kein sehr hoher Aufwand beim Erstellen, da man durch die relativ einfache Programmiersprache sehr genaue Anweisungen gibt Benötigte Software auf dem Client: Browser, Texteditor (z.b. kedit) Benötigte Software auf dem Server: Datenbank, PHP-Server Niedrige Übertragungseffizienz, da man die Datenbanken ständig öffnen und schließen muss Stefanie Wagensonner, EBS, WS 2008/09 Page 16

Verwendung der JDBC-Schnittstelle: Hoher Aufwand beim Erstellen, da zuerst spezielle Software und Treiber installiert und Anweisungen im Verzeichnis (jar-file im CLASSPATH) geändert werden müssen Benötigte Software auf dem Client: JRE im Produktivbetrieb, JDBC, JRE und JDK während Entwicklung und Test, Texteditor Benötigte Software auf dem Server: Datenbank Hohe Übertragungseffizienz, da unabhängig von Datenbanktyp und Betriebssystem direkt auf das System zugegriffen wird Stefanie Wagensonner, EBS, WS 2008/09 Page 17

Quellenverzeichnis Alle Links zuletzt geöffnet am 19.01.2009 http://www.highscore.de/ http://openbook.galileocomputing.de/it_handbuch/fachinformatiker_11_datenbanken_003.htm#mj2651eb9ee62621ef6b80a5e9063d8c28 http://www.usegroup.de/software/phptutorial/eine_kleine_mysqlreferenz.html#transaktionen http://www.cfml.de/index.cfm?pt=artikel_detail&id=a9eeb542-c09f-30a1-74def1879b118263#myt http://de.wikipedia.org/wiki/lamp http://de.wikipedia.org/wiki/jdbc http://java.sun.com/javase/technologies/database/index.jsp http://www.developer.com/java/data/article.php/3417381 http://books.google.de/books?id=yaxncrzqkcc&pg=pa363&lpg=pa363&dq=befehle+f%c3%bcr+transaktionen+in+mysql&source= web&ots=myk6kcspt&sig=boytscgahvivsrbywzrxldxgfys&hl=de&sa=x&oi=book_result&resnum=4&ct=result http://www.user.fhstralsund.de/~twenge/programmierung_2/javainsel4/javainsel_20_004.htm#rxx365java200 04040008361F02A1BD http://dev.mysql.com/doc/refman/5.1/de/connector-j-usagenotes-basic.html http://www.html-world.de/program/js_9.php Stefanie Wagensonner, EBS, WS 2008/09 Page 18

Abbildungsverzeichnis Abbildung 1: insert_addresses.php Abbildung 2: delete_addresses.php Abbildung 3: select_addresses.php Stefanie Wagensonner, EBS, WS 2008/09 Page 19