Gegenstand dieser Hausarbeit ist das auf einer Datenbank (DB) basierende Informationssystem der Firma „BestPhone“. Dieses System verwaltet und protokolliert die Telefongesprächsdaten mehrerer Unternehmen. Im Vordergrund steht die Unterscheidung der Telefongespräche (Tabelle VN) Ihrer Art nach in Festnetz- (Tabelle FESTNETZ) oder Mobilfunkgespräche (Tabelle MOBIL) und die tarifbezogene Kostenaufschlüsselung. Die Ausarbeitung gliedert sich in die folgenden drei Teilaufgaben:
1. Erstellung der Klasse Task1PrepareDatabase zur Abbildung des vorgegebenen Datenbankschemas auf die Oracle-DB und anschließender Datenanreicherung der zugehörigen Tabellen.
2. Entwicklung eines Programms das die Tabelle KOMSTAT mit den Attributen
- Verbindungsart (vart), gleichbedeutend mit den Primärschlüsseln der Tabellen MOBIL und FESTNETZ,
- Anzahl Verbindungen je Verbindungsart (dauer),
- Gesamtkosten je Verbindungsart (vart),
- sowie prozentualem Anteil an den Gesamtkosten (anteil)
generiert. Dabei darf jeder Eintrag der Spalte (Column) Verbindungsart (vart) nur einmal erfasst werden. Die Daten aus der Tabelle VN müssen übertragen und eine Methode zur Speicherung eines Anrufs in die Tabelle VN entwickelt werden.
3. Abschließend ist die Tabelle KOMSTAT formatiert auf der Konsole auszugegeben.
Inhaltsverzeichnis
1 EINLEITUNG
1.1 Verwendete Hilfsmittel
2 PROGRAMMAUFBAU UND ZIEL
3 PROGRAMMABLAUF – DIE KLASSE BESTPHONECOSTANALYSIS
3.1 Verbindungsaufbau – Die Methode getConnection()
3.2 Schließen der Verbindung – Die Methode releaseConnection()
3.3 Programmlauf – Die main-Methode
4 AUFGABE 1 – VORBEREITUNG – DIE KLASSE TASK1PREPAREDATABASE
4.1 Aufgabenstellung
4.2 Ablauf – Die Methode task1()
4.3 Absetzen von SQL-Statements – catch-Exceptions
4.4 Datenbankbereinigung – Die Methode cleanupDatabase()
4.5 Tabellen erstellen – Die Methode createTables()
4.6 Daten schreiben – Die Methoden insertData*PreparedStatement()
5 AUFGABE 2 – BERECHNUNG – DIE KLASSE TASK2CALCULATEDATA()
5.1 Aufgabenstellung
5.2 Ablauf – Die Methode task2()
5.3 Ergebnistabelle anlegen – Die Methode createTableKOMSTAT()
5.4 Gesprächsdaten übertragen – Die Methode getCallData()
5.5 Anteil-Berechnung – Die Methode calculateRatio()
5.6 Datenaktualisierung – Die Methode insertNewCallData()
6 AUFGABE 3 – DATENAUSGABE – DIE KLASSE TASK3DISPLAYRESULTS
6.1 Aufgabenstellung
6.2 Ablauf – Die Methode task3()
6.3 Daten-Ausgabe – Die Methode displayCosts()
ANHANG
a) Aufgabenstellung
b) Quellcodes
Klasse „BestPhoneCostAnalysis
Klasse „Task1PrepareDatabase
Klasse „Task2CalculateData“
Klasse „Task3DisplayResults“
c) Anderes
Konsolenausgabe
SQL Statements
Zielsetzung & Themen
Ziel der Arbeit ist die Implementierung eines auf einer Oracle-Datenbank basierenden Informationssystems für die Firma „BestPhone“, welches Telefongesprächsdaten verwaltet, kalkuliert und visualisiert. Die Forschungsfrage konzentriert sich darauf, wie mithilfe von Java und JDBC-Datenbankzugriffen komplexe Kostenanalysen automatisiert, in tabellarische Formate überführt und auf der Konsole ausgegeben werden können.
- Strukturierung einer relationalen Datenbank mittels Java.
- Automatisierte Berechnung von Kostenanteilen und Verbindungshäufigkeiten.
- Einsatz von SQL-Funktionen zur Datenverarbeitung.
- Dynamische Aktualisierung von Datensätzen und Ergebnistabellen.
- Formatierte Datenausgabe über eine Java-Konsole.
Auszug aus dem Buch
4.3 Absetzen von SQL-Statements – catch-Exceptions
Es muss ein Statement-Objekt definiert werden, das als Container für die SQL Statements fungiert. Bewirkt wird das durch den Quellcode: Statement stmt = null;(das Objekt wird mit null initialisiert).
String Vars die den Text des Befehls enthalten werden definiert und initialisiert. (z.B. String delStringVN = "DROP TABLE vn CASCADE CONSTRAINTS";) Die in diesem Programm verwendeten SQL-Statements sind im Anhang zu finden.
Das Absetzen von SQL-Statements wird mit einer try-catch-Anweisung realisiert um auftretende Fehler (Exceptions) zu behandeln, abzufangen oder anzeigen zu lassen.
o Im try-Block stehen die auszuführenden Befehle.
o Im catch-Block wird die „Exception“ behandelt wenn bei Befehlen aus dem try-Block ein Fehler auftritt.
z.B. durch Anzeige von Fehlermeldungen: println(eigener Fehlertext) oder println(e.getMessage()) (vgl. Java API Auslesen von SQL Fehlermeldungen)
Zusammenfassung der Kapitel
1 EINLEITUNG: Einführung in das BestPhone-System und die drei zu lösenden Teilaufgaben zur Datenbankschicht und Kostenanalyse.
2 PROGRAMMAUFBAU UND ZIEL: Übersicht der Klassenarchitektur und des Zusammenspiels von Haupt- und Unterklassen bei der Datenbankverarbeitung.
3 PROGRAMMABLAUF – DIE KLASSE BESTPHONECOSTANALYSIS: Erläuterung der Verbindung zum Datenbanksystem und der zentralen main-Methode zur Ablaufsteuerung.
4 AUFGABE 1 – VORBEREITUNG – DIE KLASSE TASK1PREPAREDATABASE: Details zur Datenbankbereinigung, Erstellung der Tabellenstruktur und dem initialen Befüllen mit Testdaten.
5 AUFGABE 2 – BERECHNUNG – DIE KLASSE TASK2CALCULATEDATA(): Fokus auf die SQL-basierten Berechnungsverfahren zur Ermittlung von Kostenanteilen und die dynamische Tabellenaktualisierung.
6 AUFGABE 3 – DATENAUSGABE – DIE KLASSE TASK3DISPLAYRESULTS: Beschreibung der formatierten Konsolenausgabe der berechneten Ergebnisdaten mittels ResultSet und DecimalFormat.
Schlüsselwörter
BestPhone, Java, JDBC, Datenbank, Oracle, SQL, Kostenanalyse, Tabelle, Programmierung, Tabellenstruktur, Datenkalkulation, ResultSet, PreparedStatements, Automatisierung, Kostenberechnung.
Häufig gestellte Fragen
Worum geht es in der Arbeit grundsätzlich?
Die Arbeit behandelt die Entwicklung eines Java-basierten Systems zur Verwaltung und Analyse von Telefondaten eines Unternehmens namens „BestPhone“.
Was sind die zentralen Themenfelder?
Die Schwerpunkte liegen auf der Anbindung einer Oracle-Datenbank mittels JDBC, der SQL-Datenmanipulation und der strukturierten Aufbereitung von Kosteninformationen.
Was ist das primäre Ziel der Arbeit?
Das Ziel ist die automatisierte Erstellung einer Ergebnistabelle, die Anrufhäufigkeiten, Kosten und prozentuale Anteile pro Verbindungsart korrekt berechnet und ausgibt.
Welche wissenschaftliche Methode wird verwendet?
Die Arbeit folgt einem implementierungsorientierten Ansatz, bei dem Klassenmodelle und SQL-Abfrage-Methodik zur Problemlösung eingesetzt werden.
Was wird im Hauptteil behandelt?
Der Hauptteil gliedert sich in drei Abschnitte: die Datenbankvorbereitung, die rechnerische Analyse der Gesprächsdaten und die formatierte Datenausgabe.
Welche Schlüsselwörter charakterisieren die Arbeit?
Schlüsselwörter sind u.a. Java-Programmierung, JDBC, SQL-Statements, Datenkalkulation und Kostenaufschlüsselung.
Wie werden SQL-Fehler im System behandelt?
Fehler werden durch try-catch-Blöcke abgefangen, wobei spezifische SQL-Exceptions protokolliert und dem Benutzer über Fehlermeldungen mitgeteilt werden.
Warum wird eine temporäre Tabelle verwendet?
Die temporäre Tabelle „KOMSTAT_TEMP“ dient als Zwischenspeicher für Berechnungen, um die Komplexität der SQL-Abfragen zu reduzieren und Fehleranfälligkeit zu minimieren.
- Quote paper
- Thomas Hillen (Author), 2012, JAVA und SQL. BestPhone call-handling, Munich, GRIN Verlag, https://www.grin.com/document/274938