Datenstrukturen und Datenbanken - Teil 5b -



Ähnliche Dokumente
Datenbanken unter J++ - Teil 2

Datenbanken unter J++ - Teil 1

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

ODBC-Treiber Programmübersicht

Berechnungen in Access Teil I

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

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

Installation/Einrichtung einer Datenbank für smalldms

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

mmone Internet Installation Windows XP

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

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

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

Installation älterer Programmversionen unter Windows 7

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Adminer: Installationsanleitung

Tutorial Einrichtung eines lokalen MySQL-Servers für den Offline-Betrieb unter LiveView

Microsoft Dynamics NAV 2013 R/2 Installationsanleitung. Inhalt: Begleitmaterial des ERP Übungsbuchs:

INSTALLATION VON INSTANTRAILS 1.7

Wie halte ich Ordnung auf meiner Festplatte?

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

OP-LOG

Computeria Solothurn

Installationsanleitungen

Step by Step Remotedesktopfreigabe unter Windows Server von Christian Bartl

Wollen Sie einen mühelosen Direkteinstieg zum Online Shop der ÖAG? Sie sind nur einen Klick davon entfernt!

Herzlich willkommen bei der Installation des IPfonie -Softclients!

ALF-BanCo - Chipkarte einrichten in 3 Schritten

Erstellen der Barcode-Etiketten:

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Faktura. IT.S FAIR Faktura. Handbuch. Dauner Str.12, D Mönchengladbach, Hotline: 0900/ (1,30 /Min)

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Lehrveranstaltung Grundlagen von Datenbanken

Anwendungsbeispiele Buchhaltung

Updatehinweise für die Version forma 5.5.5

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Eine Einführung in die Installation und Nutzung von cygwin

Bauteilattribute als Sachdaten anzeigen

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Legen Sie nun dieses Verzeichnis mit dem Namen "joomla" hier an: C:xampphtdocs.

Leichte-Sprache-Bilder

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

Installationsanleitung. Novaline Personal Abrechnung. Personal.One

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Internet online Update (Internet Explorer)

I. Travel Master CRM Installieren

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

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

TeamSpeak3 Einrichten

Tutorial -

Um die Installation zu starten, klicken Sie auf den Downloadlink in Ihrer (Zugangsdaten für Ihre Bestellung vom...)

Hier ist die Anleitung zum Flashen des MTK GPS auf der APM 2.0. Prinzipiell funktioniert es auch auf der APM 2.5 und APM 1.

Registrierungsanleitung Informatik-Biber

Anleitung zur Installation von SFirm 3.1 inklusive Datenübernahme

Ein Ausflug zu ACCESS

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

Anleitung Lernobjekt-Depot (LOD)

Professionelle Seminare im Bereich MS-Office

1 Konto für HBCI/FinTS mit Chipkarte einrichten

Arbeiten mit MozBackup

Outlook - CommuniGate Pro Schnittstelle installieren. Outlook - Elemente freigeben. Outlook - Freigegebene Elemente öffnen

Datenbanken auf Sybase SQL-Anywhere

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Starten der Software unter Windows XP

Mediumwechsel - VR-NetWorld Software

Handbuch für Easy Mail in Leicht Lesen

Installation und Sicherung von AdmiCash mit airbackup

Installation der Eicon Diva PCI Karte unter Windows XP

Access 2010 Grundlagen 2. MS Access Datenbanken

Der Kalender im ipad

So importieren Sie einen KPI mithilfe des Assistenten zum Erstellen einer Scorecard

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

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Tutorial: Wie nutze ich den Mobile BusinessManager?

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

Starten der Software unter Windows 7

3. Klicken Sie im folgenden Fenster unbedingt auf "Installation fortsetzen", um die für das Update benötigten Treiber zu installieren.

Rillsoft Project - Installation der Software

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Update von Campus-Datenbanken (FireBird) mit einer Version kleiner 9.6 auf eine Version größer 9.6

Benutzerhandbuch Brief persönlich

Workflow. Installationsanleitung

1. Loggen Sie sich mit Ihrem Benutzernamen in den Hosting-Manager (Confixx) auf Ihrer entsprechenden AREA ein. Automatische Wordpress Installation

Tutorial: Gnumeric installieren und Jahres-Kostenübersicht erstellen mit Diagramm

CL-Mini-ABF. Kurzbeschreibung. Installation und Vorbereitung. Stand Ihre HTK-Filiale Michelstadt

Anleitungen zum Publizieren Ihrer Homepage

1 Schritt: Auf der Seite einloggen und. ODER Zertifikat für VPN, wenn sie nur VPN nutzen möchten

Einbindung einer ACT!12-16 Datenbank als Datenquelle für den Bulkmailer 2012

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

Installieren von Microsoft Office Version 2.1

Mehrbenutzer-Konten-Installation

Handbuch B4000+ Preset Manager

Installationshilfe VisKalk V5

Konvertieren von Settingsdateien

Erstellen einer PostScript-Datei unter Windows XP

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Urlaubsregel in David

Transkript:

Eckart Modrow Datenbanken mit JBuilder S. 1 Datenstrukturen und Datenbanken - Teil 5b - Datenbanken unter dem JBuilder Inhalt: 1. Einordnung in den Unterricht 2. Datenzugriff auf Access-Tabellen 2.1 Anlegen einer Tabelle 2.2 Zugriff auf die Tabelle 2.3 Zugriff auf Tupel ( Records ) 2.4 Zugriff auf einzelne Tabellenelemente 3. Zugriff auf Datenbanken 3.1 OBDC-Treiber installieren und einrichten 3.2 Auf OBDC-Verknüpfungen zugreifen 3.3 SQL-Abfragen unter JBuilder Literaturhinweise: Küchlin/Weber: Einführung in die Informatik, Objektorientiert mit Java, Springer 1998 Krüger, Guido: Handbuch der Java-Programmierung, http://www.javabuch.de oder Addison Wesley 2002

Eckart Modrow Datenbanken mit JBuilder S. 2 1. Einordnung in den Unterricht Datenbanken lassen sich gut mit den dafür vorgesehenen Tools bearbeiten, z. B. mit mysql oder MS-Access. Beschäftigen wir uns etwa mit Anfragen an die anonymisierten Schuldaten von Herrn Beckmann, dann reichen diese Werkzeuge auch völlig aus, weil wir uns ja für einzelne Daten(mengen), Zählergebnisse, Mittelwerte etc. interessieren. Ganz anders sieht es aus, wenn diese Daten entweder mit Methoden ausgewertet werden sollen, die die Standardtools nicht beherrschen, oder Ergebnisse z. B. grafisch aufbereitet werden sollen. Beide Themenbereiche liefern Aufgabenstellungen unterschiedlichster Art, die für praktische Schülerarbeit geeignet und vom Anspruch wieder über einen weiten Bereich skalierbar sind. Insbesondere finden wir auch sehr einfache Aufgaben, die für Programmieranfänger geeignet sind. Auf diese Art lassen sich z. B. Datenschutzfragen leicht in einen Anfängerkurs integrieren, ohne auf praktisches Arbeiten zu verzichten. In jedem Fall benötigen wir den Zugriff auf Datenbanken und da gibt es zumindest zwei Möglichkeiten: Entweder greifen wir auf die Tabellen eines Datenbanksystems direkt zu oder wir nutzen einen SQL-Server, um den zu befragen. In diesem Kurs wollen wir da den Kursteilnehmer/inne/n die Software zur Verfügung steht bzw. frei erhältlich ist, für den ersten Fall MS-Access-Tabellen benutzen, für den zweiten mysql. 2. Datenzugriff auf Access- Tabellen 2.1 Anlegen einer Tabelle Wir starten MS-Access und legen eine neue, leere Datenbank an. Nach Auswahl eines geeigneten Unterverzeichnisses auf der Festplatte (vielleicht im Verzeichnis Datenbanken) erstellen wir eine neue Tabelle in der Entwurfsansicht und geben die gewünschten Attribute mit jeweiligem Datentyp ein. Eins der Attribute sollte sich als Schlüsselfeld eignen. Um Dubletten zu vermeiden wählen wir meist dafür einen Autowert. Textfelder sollten wir in der Länge etwas beschränken (50 Zeichen sind meist zu viel).

Eckart Modrow Datenbanken mit JBuilder S. 3 Nach dem Speichern des Entwurfs wechseln wir in die Datenblattansicht und geben Daten ein. Das Ergebnis wird wieder gespeichert fertig!

Eckart Modrow Datenbanken mit JBuilder S. 4 2.2 Zugriff auf die Tabelle Unter dem JBuilder können wir auf alle Tabellen zugreifen, für die es einen JDBC- oder OBDC-Treiber gibt. Weil wir Access-Datenbanken über einen OBDC-Treiber bereitstellen können, haben wir also auch auf diese Zugriff. Der Zugriff erfolgt mehrstufig: Zuerst wird für die Datenbank ein OBDC-Treiber bereitgestellt (s. u.). Dazu benutzen wir die Verwaltung in der Systemsteuerung. In dieser wählen wir einen Access- Treiber aus und danach die zu öffnende Datenbank. Danach steht die Datenbank (hier: test) zum Zugriff bereit. Da ist sie! Jetzt starten wir den JBuilder, erzeugen ein neues Projekt und in dem eine Anwendung. In diese fügen wir aus der DataExpess- Komponentenleiste eine DataBase- Komponente in das Formular ein (im Designer). Deren Eigenschaft connection wird auf den Wert sun.jdbc.odbc.jdbcodbcdriver gesetzt durch Auswahl aus der angegebenen Liste. Danach können wir eine der offenen OBDC-Datenbanken wählen. Der Button Testverbindung dient zum Überprüfen der Verbindung.

Eckart Modrow Datenbanken mit JBuilder S. 5 Anschließend fügen wir eine QueryDataSet-Komponente hinzu und stellen bei der query-eigenschaft unsere Datenbank database1 und als Abfrage select * from schueler ein. Auch hier sollten wir die Testabfrage erfolgreich absolvieren. Jetzt können die Daten angezeigt werden. Am einfachsten geht das mit einer JdbTable- Komponente aus der dbswing-palette. Diese fügen wir der Anwendung hinzu, setzen die constraints-eingenschaft auf CENTER und wählen in der dataset-eigenschaft die Query-Komponente aus. Jetzt können wir das Programm laufen lassen. Zu sehen sind alle Daten der Schueler- Tabelle der Access-Datenbank. fertig! Das war die Minimal-Version einer Abfrage.

Eckart Modrow Datenbanken mit JBuilder S. 6 2.3 Zugriff auf Tupel ( Records ) Meist will man nicht die ganze Tabelle sehen, sondern nur einen Ausschnitt davon. Wir könnten z. B. die Elemente eines Tupels ( Datensatzes ) in einzelnen Editierfeldern des Typs JdbTextField aus der dbswing-palette anzeigen, die insgesamt ein Formular bilden. Als Hilfsmittel dafür steht dort auch die JdbNacToolBar-Komponente bereit, mit man sich durch die Tabelle bewegen kann und ggf. auch Datensätze hinzufügt bzw. entfernt. Als Beispiel platzieren wir die Navigations-Toolbar und einfache Datenbank-Textfelder auf das Formular. Diese verbinden wir über die dataset-eigenschaft jeweils mit dem QueryDataset. Bei den Textfeldern wählen wir zusätzlich das anzuzeigende Attribut über die Eigenschaft columnname. JdbText Field JdbNav- Toolbar Attribut auswählen Obwohl wir keine Zeile Programmtext geschrieben haben, können wir jetzt im laufenden Programm die Datensätze der Tabelle durchblättern.

Eckart Modrow Datenbanken mit JBuilder S. 7 2.4 Zugriff auf einzelne Tabellenelemente Der Zugriff auf einzelne Felder der Relation kann auf höchst unterschiedliche Art geschehen. Wir wollen ihn hier auf dem kleinen Umweg über eine jdbtable-komponente realisieren, weil diese Komponente schon bekannt und sehr anschaulich ist. Damit das Bild durch deren Erscheinen nicht gestört wird, setzen wir die visible-eigenschaft dieser Komponente im Eigenschaftsfenster auf false. Statt der Tabelle wollen wir in dem Fenster eine Grafik erzeugen, die auf der Auswertung der in der Tabelle gespeicherten Daten beruht: in unserem Fall stellen wir einfach die Altersmittelwerte von Jungen und Mädchen dar. Eine Tabelle können wir uns als eine Liste von Spalten ( Columns ) vorstellen, über die eine Art Sichtfenster geschoben wird. Die in diesem Fenster erscheinenden Daten stellen das aktuelle Datentupel dar. PNr Name Alter Geschlecht 2 Müller 17 w 1 Meier 18 m 2 Müller 17 w 3 Hansen 18 w ausgewählte Zelle Spalte Tabelle aktuelles Tupel im Sichtfenster Auf einzelne Zellen der Tabelle können wir mit der Tabellenmethode getvalueat( ) zugreifen, wobei als Parameter die Zeilen- und die Spaltennummer übergeben wird. Die Anzahl der Zeilen erhalten wir mit getrowcount(), die der Zeilen mit getcolumncount(). Da wir als Inhalt der Tabellenzelle ein Objekt zurück erhalten, müssen wir einen Typecast durchführen, um dieses in eine verarbeitbare Form zu bringen. Also los: Mittelwerte double mwj = 0, mwm = 0; boolean berechnet = false; wurden die Werte schon berechnet? void jbutton1_actionperformed(actionevent e) alle Zeilen int alterj = 0, alterm = 0, anzj = 0, anzm = 0; durchlaufen for (int i = 0; i < jdbtable1.getrowcount(); i++) das Geschlecht String s = jdbtable1.getvalueat(i,4).tostring(); überprüfen if (s.equals("m")) anzj++; alterj = alterj + ((Integer) jdbtable1.getvalueat(i, 3)).intValue(); else Werte für die Jungen anzm++;

Eckart Modrow Datenbanken mit JBuilder S. 8 alterm = alterm + ((Integer) jdbtable1.getvalueat(i, 3)).intValue(); if(anzj>0) mwj = alterj/anzj; Mittelwerte berechnen if(anzm>0) mwm = alterm/anzm; berechnet = true; und Diagramm zeichnen repaint(); public void paint(graphics g) g.setcolor(color.black); g.drawline(25,250,200,250); if(berechnet) int J = 10*(int) Math.round(mwJ); int M = 10*(int) Math.round(mwM); g.setcolor(color.blue); g.fillrect(50, 250-J, 50, J); g.setcolor(color.red); g.fillrect(120, 250-M, 50, M); Diagramm

Eckart Modrow Datenbanken mit JBuilder S. 9 3. Zugriff auf Datenbanken 3.1 OBDC-Treiber installieren und einrichten Der Datenzugriff auf Tabellen und Datenbanken von anderen Programmen aus ist unter Windows unter OBDC möglich (Open Database Connectivity). Dafür werden Treiber benötigt, die die Tabellendaten standardisierter Form aufbereiten. Für Microsoftprodukte sind diese Treiber natürlich meist schon bei der Installation vorhanden, für andere Programme müssen sie installiert werden. Als Beispiel wollen wir die anonymisierten Schuldatenbank von Herrn Beckmann mit mysql befragen. 1. Dazu müssen wir zuerst den aktuellen OBDC-Treiber von mysql im Internet suchen, herunterladen und installieren. Ich gebe dazu meist in einer Suchmaschine mysql ein, erhalte eine der möglichen Adressen für Downloads (die ich mir nicht merken will) und suche dort den richtigen Treiber, der von der Betriebssystemversion abhängt. Für Windows 2000, -NT und XP wird der Treiber myodbc-nt benötigt, derzeit in der Version 2.50.39. Dieser wird entpackt und installiert (mit Setup) fertig. 2. Jetzt müssen wir mithilfe dieses Treibers eine ODBC-Verknüpfung zu der gewünschten Datenbank herstellen. Wir gehen dazu in die Windows- Systemsteuerung und wählen im Ordner Verwaltung den Unterpunkt Datenquellen (ODBC) Verknüpfung o. ä. Dort klicken wir Hinzufügen an und wählen den mysql-treiber aus (ziemlich weit unten). Danach klicken wir auf Fertig stellen und geben die für die Verknüpfung benötigten Daten an: den Namen, unter dem die Verknüpfung erscheinen soll (Windows DSN name). Hier: Schule den Ort des mysql-servers. Läuft der auf dem gleichen Rechner: localhost. den Namen der (existierenden) mysql-datenbank. Hier: schule den Namen und das Password eines eingetragenen Benutzers. Hier: emodrow und (sag ich nicht!)

10 Virtuelle Lehrerweiterbildung Informatik in Niedersachsen Eckart Modrow Datenbanken mit JBuilder S.

11 Virtuelle Lehrerweiterbildung Informatik in Niedersachsen Eckart Modrow Datenbanken mit JBuilder S. 3.2 Auf OBDC-Verknüpfungen zugreifen Jetzt geht es wie bisher weiter: Unter JBuilder richten wir eine Database-Komponente ein und setzen den Wert der connection-eigenschaft, indem wir eine existierende ODBC- Verknüpfung und den JBDC:OBDC-Treiber von Sun auswählen: Danach testen wir die Verbindung. Dann fügen wir eine dbdisposmonitor-komponente aus der Mehr dbswing-palette hinzu, setzen deren dataawarecomponentcontainer-eigenschaft auf this und sorgen so dafür, dass die Verbindung zur Datenbank anständig beendet wird. Jetzt kommt eine QueryDataSet- Komponente hinzu, deren query- Eigenschaft die Verbindung zu Datenbank schafft. Auch diese Verbindung testen wir sicherheitshalber! Jetzt können wir andere Datenzugriffskomponenten auf diese DataSource einstellen, z. B. eine jdbtable. In diesem sollten sofort die Ergebnisse der SQL- Abfrage angezeigt werden. Wollen wir diese jetzt in eigenen Programmteilen auswerten, dann können wir genauso weitermachen wie im letzten Abschnitt: Diagramme zeichnen,

12 Virtuelle Lehrerweiterbildung Informatik in Niedersachsen Eckart Modrow Datenbanken mit JBuilder S. 3.3 SQL-Abfragen unter JBuilder Zuletzt wollen wir ein JBuilder-Formular dafür benutzen, direkt SQL-Anfragen an eine Datenbank einzugeben und deren Ergebnisse in einem jdbtable darzustellen. Das hat nebenbei den Vorteil, von der spartanischen DOS-Box des mysql-clients wegzukommen und die Ergebnismenge in einem scrollbaren Fenster zu sehen. Wir benötigen für dieses Vorhaben nur sehr wenig: eine TextArea-Komponente, um die Anfragen einzugeben, einen Button, um diese Eingabe auszuwerten eine TableScrollPane, um größere Tabellen darzustellen und in dieser eine JdbTable, um die Ergebnisse der Anfrage darzustellen. Start-Button TextArea zur Eingabe der SQL-Abfrage TableScrollPane und jdbtable zur Anzeige der Daten Der Eventhandler des Auswerte-Buttons muss jetzt die Anfrage starten und darstellen. Dazu gehen wir wie folgt vor: Wir holen den Text der SQL-Abfrage aus der TextArea: String h = jtextarea1.gettext(); Dann schließen wir die alte Abfrage: querydataset1.close();

13 Virtuelle Lehrerweiterbildung Informatik in Niedersachsen Eckart Modrow Datenbanken mit JBuilder S. Der neue Abfragetext wird der Query-Komponente übergeben, eingebettet in ein neues QueryDescriptor-Objekt, das auch den Namen der benutzten Datenbank enthält: querydataset1.setquery(new QueryDescriptor(database1, h)); Dann öffnen wir die Abfrage wieder: querydataset1.open(); Das Ganze wird in einen try-.. catch..-block eingebettet, um Fehler abzufangen.: void jbutton1_actionperformed(actionevent e) String h = jtextarea1.gettext(); try querydataset1.close(); querydataset1.setquery(new QueryDescriptor(database1, h)); querydataset1.open(); catch(exception ex) JOptionPane.showMessageDialog(this,ex.getMessage() ); Damit lässt sich jetzt einiges anfangen! Suchen wir doch mal alle Schülerinnen, deren Nachname mit B anfängt:

14 Virtuelle Lehrerweiterbildung Informatik in Niedersachsen Eckart Modrow Datenbanken mit JBuilder S. Werden eigentlich die Mädchen schlecht benotet in Physik? Wohl nicht. Und wie sieht es in den anderen Fächern aus?

15 Virtuelle Lehrerweiterbildung Informatik in Niedersachsen Eckart Modrow Datenbanken mit JBuilder S. Wie zensieren eigentlich die lieben Kolleginnen und Kollegen in den Leistungskursen? Und insgesamt?

16 Virtuelle Lehrerweiterbildung Informatik in Niedersachsen Eckart Modrow Datenbanken mit JBuilder S. Wie gut, dass die Daten anonymisiert worden sind!