Kapitel 8: Datenbankanbindung. SoPra 2008 Kap. 8: Datenbankanbindung (1/40)

Größe: px
Ab Seite anzeigen:

Download "Kapitel 8: Datenbankanbindung. SoPra 2008 Kap. 8: Datenbankanbindung (1/40)"

Transkript

1 Kapitel 8: Datenbankanbindung SoPra 2008 Kap. 8: Datenbankanbindung (1/40)

2 Übersicht 1. Objekte und relationale Datenbanken 2. SQL 3. ADO.NET 4. Persistenzschicht SoPra 2008 Kap. 8: Datenbankanbindung (2/40)

3 Kapitel 8.1: Objekte vs. relationale Datenbanken Persistente Objekte auch ein objektorientiertes Programm muss Daten speichern... Möglichkeiten einfache Dateien: Serialized Objects, XML,... für große Datenmengen ungeeignet keine Sicherheitsmechanismen,... Persistenz durch Speicherung in DB optimiert für große Datenmengen bieten Transaktionskonzept Backups und vieles mehr SoPra 2008 Kap. 8.1: Datenbankanbindung Objekte vs. relationale Datenbanken (3/40)

4 Speichermöglichkeiten Objektdatenbanken unterstützten das OO-Modell direkt Relationale Datenbanken passen nicht direkt zum OO-Modell Anpassungen (Zwischenschicht) erforderlich Sonstige hierarchische Datenbanken einfache Dateien, XML auch hier: Anpassungen erforderlich SoPra 2008 Kap. 8.1: Datenbankanbindung Objekte vs. relationale Datenbanken (4/40)

5 Relationale Datenbanken Grundlagen basiert auf mathematischen Relationen (Tupeln) beschreibt Information in Prädikatenlogik und mit Fakten Entity-Relationship (ER) Modelle nur Objekte/Attribute/Relationen nur einfache Attribute, keine Listen oder Records keine Vererbung/Aggregation etc. SoPra 2008 Kap. 8.1: Datenbankanbindung Objekte vs. relationale Datenbanken (5/40)

6 Abbildung OO nach relational Impedance Mismatch OO und Relationale DB sind stark unterschiedliche Ansätze OO Relational Modellierung Zustand & Verhalten nur Daten Identität ja nein Navigation über Assoziationen Daten duplizieren, joins... Anfragen über Attributwerte Selektion und Projektion Granularität einzelne Objekte Ergebnismengen moderne SW wird meist nach OO-Konzepten entwickelt verwendete DBMS sind überwiegend relational wichtig: gute Abbildung von OO nach relational SoPra 2008 Kap. 8.1: Datenbankanbindung Objekte vs. relationale Datenbanken (6/40)

7 Grundlagen der Abbildung Welche Konstrukte müssen wir abbilden? Klassen Attribute Assoziationen Vererbungshierarchien SoPra 2008 Kap. 8.1: Datenbankanbindung Objekte vs. relationale Datenbanken (7/40)

8 Beispiel: WebBank Client firstname lastname PIN 1 Account 1 Account accountnumber balance 1 1 IssuingAccount ReceivingAccount * Transfer * date amount reasonfortransfer SoPra 2008 Kap. 8.1: Datenbankanbindung Objekte vs. relationale Datenbanken (8/40)

9 Object Identifiers Problem Effizienter Tabellenzugriff erfordert eindeutigen Primärschlüssel Objekte können nicht anhand ihres Wertes unterschieden werden sie besitzen Identität Tupel haben keine Identität Lösung Object Identifier (OID) Tupeln wird eindeutige OID zugeordnet Objekte werden in der DB anhand ihres OIDs identifiziert SoPra 2008 Kap. 8.1: Datenbankanbindung Objekte vs. relationale Datenbanken (9/40)

10 OIDs No Business Meaning: keine Attribute aus dem modellierten Problembereich als OIDs (d. h. als (Fremd-) Schlüssel) bei Attributen oft keine Eindeutigkeit gegeben im Prinzip kann sich jedes Attribut ändern, die Objektidentität bleibt aber unverändert Abhängig vom Typ eventuell ineffizient Wie eindeutig sollen die OIDs sein? für die konkrete Klasse? innerhalb der Klassenhierarchie? über alle Klassen hinweg? SoPra 2008 Kap. 8.1: Datenbankanbindung Objekte vs. relationale Datenbanken (10/40)

11 OIDs - Generierung Globally/Universally Unique IDs: Berechne quasi eindeutige ID (128 Bit) aus MAC-Adresse, Datum, Zeit, oder (kryptographischem) Zufallszahlengenerator in ASP.NET: Klasse/Struct System.Guid, Methode Guid.NewGuid() Bewertung funktioniert Datentabellen nicht gelocked proprietär zu groß (kein Int/Long mehr) Es gibt diverse andere Möglichkeiten... SoPra 2008 Kap. 8.1: Datenbankanbindung Objekte vs. relationale Datenbanken (11/40)

12 Abbildung von Klassen Prinzip Klassen werden auf Tabellen abgebildet. die erste Spalte ist für die OID dann folgen die Attribute Client firstname : String lastname : String PIN : int <<Table>> Client OID : uniqueidentifier firstname : varchar(20) lastname : varchar(20) PIN : int SoPra 2008 Kap. 8.1: Datenbankanbindung Objekte vs. relationale Datenbanken (12/40)

13 Abbildung von Attributen Prinzip Attribute werden in ( 0) Spalten abgebildet. einfache Attribute: eine Spalte objektwertige Attribute ohne eigene Identität: eine Spalte pro Attribut Beispiel Client firstname : String lastname : String PIN : int address : Address Address street : String city : String zip : String <<Table>> Person OID : uniqueidentifier firstname : varchar(20) lastname : varchar(20) PIN : int street : varchar(50) city : varchar(50) zip : varchar(5) SoPra 2008 Kap. 8.1: Datenbankanbindung Objekte vs. relationale Datenbanken (13/40)

14 Abbildung von Assoziationen Prinzip Jede Assoziation wird auf eine eigene Tabelle abgebildet. Die OIDs der in Relation stehenden Objekte bilden die Tupel. Vereinfachung 1:1, *:1 Assoziation: keine eigene Tabelle, sondern OID als zusätzliches Attribut in der anderen Tabelle unabhängig von Implementierung der Assoziation Portierbarkeit: Keine Mengen von Fremdschlüsseln verwenden SoPra 2008 Kap. 8.1: Datenbankanbindung Objekte vs. relationale Datenbanken (14/40)

15 Abbildung von Klassenhierarchien Möglichkeit 1: Eine einzige Tabelle für die gesamte Hierarchie. Eine Spalte für jedes Attribut NULL für nicht benutzte Attribute Eine Spalte für den Typ Möglichkeit 2: Eine eigene Tabelle für jede konkrete Klasse mit allen Attributen (inkl. Attribute aus Superklassen). Möglichkeit 3: Eine eigene Tabelle für jede Klasse mit genau den Attributen der Klasse (ohne Attribute der Superklassen). SoPra 2008 Kap. 8.1: Datenbankanbindung Objekte vs. relationale Datenbanken (15/40)

16 Datenbanktabellen (Zusammenfassung) Vorgehensweise Klassen werden zu Tabellen Objekte mit Attributen als Zeilen der Tabellen schwache Klassen als zusätzliche Attribute OID für jede Klasse/Tabelle 1:*-Assoziationen durch Referenz (zusätzliches Attribut) mit Fremdschlüssel *:*-Assoziationen durch eigene Tabelle Vererbung: drei Möglichkeiten SoPra 2008 Kap. 8.1: Datenbankanbindung Objekte vs. relationale Datenbanken (16/40)

17 Kapitel 8.2: SQL SQL = Structured Query Language Anfragen in SQL SELECT Selektion von Spalten FROM Auswahl beteiligter Tabellen WHERE Bedingung für Zeilen ORDER BY Sortierung der Zeilen SoPra 2008 Kap. 8.2: Datenbankanbindung SQL (17/40)

18 Anfragen in SQL (Beispiel WebBank) Welche Kunden haben die PIN 1234? SoPra 2008 Kap. 8.2: Datenbankanbindung SQL (18/40)

19 Anfragen in SQL (Beispiel WebBank) Welche Kunden haben die PIN 1234? SELECT FirstName, LastName FROM Client WHERE PIN = 1234; Wie heißt der Besitzer des Kontos mit der Nummer 10001? SoPra 2008 Kap. 8.2: Datenbankanbindung SQL (18/40)

20 Anfragen in SQL (Beispiel WebBank) Welche Kunden haben die PIN 1234? SELECT FirstName, LastName FROM Client WHERE PIN = 1234; Wie heißt der Besitzer des Kontos mit der Nummer 10001? SELECT FirstName, LastName FROM Client, Account WHERE AccountNumber = and Account = Account.OID SoPra 2008 Kap. 8.2: Datenbankanbindung SQL (18/40)

21 Anfragen in SQL (JOIN Operator) Spezialoperator JOIN: SELECT FROM LastName, AccountNumber Client INNER JOIN Account a ON (Account = a.oid) Liefert alle Paare aus Kunden und Konten RIGHT JOIN: liefert zusätzlich alle Paare (NULL, Konto) für Konten, die keinen Besitzer haben Analog LEFT JOIN: Auch Kunden, die kein Konto besitzen SoPra 2008 Kap. 8.2: Datenbankanbindung SQL (19/40)

22 Anfragen in SQL (Besonderheiten) Ergebnis hat immer die Form einer Tabelle Möglichkeiten Auswahl von Spalten aus mehreren Tabellen Filterung von Zeilen nach relativ komplexen Bedingungen Sortierung des Ergebnisses Einschränkung algorithmische Auswertung der Daten nicht möglich nur Abfrage positiver Informationen eventuell Effizienzprobleme bei komplexen Anfragen SoPra 2008 Kap. 8.2: Datenbankanbindung SQL (20/40)

23 SQL: Weiteres Weitere wichtige Befehle: create table (neue Tabelle anlegen) insert (neue Zeile in eine Tabelle einfügen) update (Tabellenzeile ändern) delete (Tabellenzeile löschen) Datentypen: int, decimal, datetime varchar(max), varbinary(max), xml char(n), binary(20) SoPra 2008 Kap. 8.2: Datenbankanbindung SQL (21/40)

24 SQL: Create table CREATE TABLE [dbo].[client]( [OID] [uniqueidentifier] NOT NULL, [FirstName] [varchar](20) NOT NULL, [LastName] [varchar](20) NOT NULL, [PIN] [varchar](50) NOT NULL, [Account] [uniqueidentifier] NOT NULL ) ON [PRIMARY] SoPra 2008 Kap. 8.2: Datenbankanbindung SQL (22/40)

25 Mehr Infos Weitere Informationen z. B.: SQL Server 2005 Books online Google: SQL Tutorial Bibliothek Server Explorer in Visual Studio Microsoft SQL Server Management Studio Express Sicherheit: SQL-Injection SoPra 2008 Kap. 8.2: Datenbankanbindung SQL (23/40)

26 Kapitel 8.3: ADO.NET Application Interface (API) ADO = ActiveX Data Objects Microsoft definiertes generisches Interface, um aus.net auf Daten zuzugreifen. Implementierung (Treiber) SQL Server von Microsoft oder Drittanbieter implementiert Interface ähnliches Konzept in Java: JDBC SoPra 2008 Kap. 8.3: Datenbankanbindung ADO.NET (24/40)

27 ADO.NET: Datenbankanbindung 1 SqlConnection erzeugen using System.Data.SqlClient;... // Verbindungsstring besteht aus Benutzername, // Passwort, Name des Servers, Name der DB, // aus Web.config laden Connection con = new SqlConnection( ConfigurationManager.ConnectionStrings["WebBankConnectionString"].ConnectionString); Data Source= Server ;Initial Catalog= DB Name ; User ID= Login Name ;Password= XXX ; Optionen SoPra 2008 Kap. 8.3: Datenbankanbindung ADO.NET (25/40)

28 ADO.NET: Datenbankanbindung 2 Verbindung auf- und abbauen Connection con = new SqlConnection(...); // Öffnen der Verbindung con.open(); // Hier können Anfragen gestellt werden... // Schließen der Verbindung con.close(); SoPra 2008 Kap. 8.3: Datenbankanbindung ADO.NET (26/40)

29 ADO.NET (Anfragen 1) Anfrage stellen try { string querystring = "SELECT OID " + "FROM Account " + "WHERE accountnumber = 10001;"; SqlCommand cmd = CreateCommand(queryString); SqlDataReader reader = cmd.executereader(); cmd.dispose(); } catch (SqlException ex) {... } SoPra 2008 Kap. 8.3: Datenbankanbindung ADO.NET (27/40)

30 ADO.NET (Anfragen 2) Ergebnis auswerten try { while (reader.read()) { // Variante 1: Spaltennummer oid = reader.getstring(0); // Variante 2: Wie Array-Zugriff, mit Cast oid = (string)reader["oid"];... } } catch (SqlException e) {... } SoPra 2008 Kap. 8.3: Datenbankanbindung ADO.NET (28/40)

31 ADO.NET (Anfragen 3) Ergebnis auswerten try { while (reader.read()) { // Variante 3: Mit Zusatztest, ob // oid = NULL (falls das erlaubt ist) if (reader.isdbnull(0)) oid = "unbekannt"; else oid = (string)(reader.getvalue(0));... } } catch (SqlException e) {... } SoPra 2008 Kap. 8.3: Datenbankanbindung ADO.NET (29/40)

32 ADO.NET (Update) Ändern eines Datensatzes try { string updatestring = "UPDATE [Account] " + "SET [Balance] = " + newbalance + ", " + "WHERE OID = " + oid + " ;"; SqlCommand cmd = CreateCommand(updateString); cmd.executenonquery(); } catch (SqlException e) {... } SoPra 2008 Kap. 8.3: Datenbankanbindung ADO.NET (30/40)

33 ADO.NET (Update) Variante ohne Probleme mit Quotes Problem: spezielle Zeichen (Quotes) in Argumenten SQL injection! try { string updatestring = "UPDATE Client " + "SET FirstName LastName " + "WHERE OID SqlCommand cmd = CreateCommand(updateString); cmd.parameters.add(new newfirstname)); cmd.parameters.add(new newlastname)); cmd.parameters.add(new oid)); cmd.executenonquery(); } catch (SqlException e) {... } } SoPra 2008 Kap. 8.3: Datenbankanbindung ADO.NET (31/40)

34 Kapitel 8.4: Persistenzschicht Was wissen wir jetzt? Struktur von DB-Tabellen klar Manipulation mit SQL-Befehlen Aufruf von SQL-Befehlen in C# Abbildung von Objektmenge auf DB-Tabellen klar Persistenzproblem: 1. Daten sollen dauerhaft in DB gespeichert werden. 2. Systemoperationen manipulieren Objekte, keine DB-Tabellen. Wie also Operationen implementieren? SoPra 2008 Kap. 8.4: Datenbankanbindung Persistenzschicht (32/40)

35 Persistenzproblem: Einfache (Nicht-)Lösung 1 Lösung 1: Wir arbeiten nur mit Tabellen, nicht mit Objekten. SoPra 2008 Kap. 8.4: Datenbankanbindung Persistenzschicht (33/40)

36 Persistenzproblem: Einfache (Nicht-)Lösung 1 Lösung 1: Wir arbeiten nur mit Tabellen, nicht mit Objekten. Vorteile: Direkte Verwendung der ADO.NET API einfach zu programmieren (???) am effizientesten (???) SoPra 2008 Kap. 8.4: Datenbankanbindung Persistenzschicht (33/40)

37 Persistenzproblem: Einfache (Nicht-)Lösung 1 Lösung 1: Wir arbeiten nur mit Tabellen, nicht mit Objekten. Vorteile: Direkte Verwendung der ADO.NET API einfach zu programmieren (???) am effizientesten (???) Nachteile: keine Objektorientierung (keine Konzepte aus der Realität, kein Zusammenhang zum Design) damit: Code wird low-level, DB-orientiert Ergebnis: Code schlecht wartbar, schlecht zu debuggen SoPra 2008 Kap. 8.4: Datenbankanbindung Persistenzschicht (33/40)

38 Persistenzproblem: Einfache Lösung 2 Lösung 2: Zum Programmstart wird die ganze DB hereingeladen und in Objekte konvertiert. Zum Programmende wird alles hinaus geschrieben. SoPra 2008 Kap. 8.4: Datenbankanbindung Persistenzschicht (34/40)

39 Persistenzproblem: Einfache Lösung 2 Lösung 2: Zum Programmstart wird die ganze DB hereingeladen und in Objekte konvertiert. Zum Programmende wird alles hinaus geschrieben. Vorteil: Operationen können ganz normal Objekte manipulieren. SoPra 2008 Kap. 8.4: Datenbankanbindung Persistenzschicht (34/40)

40 Persistenzproblem: Einfache Lösung 2 Lösung 2: Zum Programmstart wird die ganze DB hereingeladen und in Objekte konvertiert. Zum Programmende wird alles hinaus geschrieben. Vorteil: Operationen können ganz normal Objekte manipulieren. Nachteile: Platzbedarf zu groß bei großen Datenmengen lange Startup-Dauer Datenverlust bei Crash keine aktuellen Daten bei mehreren Clients Konflikte bei gleichzeitigem Schreiben von mehreren Clients SoPra 2008 Kap. 8.4: Datenbankanbindung Persistenzschicht (34/40)

41 Persistenzproblem: Einfache Lösung 3 Lösung 3: Jede Operation liest Objekte aus der DB und schreibt sofort in die Datenbank, Objekte nur ganz kurzfristig im Speicher. SoPra 2008 Kap. 8.4: Datenbankanbindung Persistenzschicht (35/40)

42 Persistenzproblem: Einfache Lösung 3 Lösung 3: Jede Operation liest Objekte aus der DB und schreibt sofort in die Datenbank, Objekte nur ganz kurzfristig im Speicher. Vorteil: immer aktuelle Daten, minimaler Hauptspeicherbedarf SoPra 2008 Kap. 8.4: Datenbankanbindung Persistenzschicht (35/40)

43 Persistenzproblem: Einfache Lösung 3 Lösung 3: Jede Operation liest Objekte aus der DB und schreibt sofort in die Datenbank, Objekte nur ganz kurzfristig im Speicher. Vorteil: immer aktuelle Daten, minimaler Hauptspeicherbedarf Nachteile: alles passiert über ineffiziente DB-Zugriffe Datenbank-Code (ADO.NET) überall im Programm Was ist mit den Assoziationen eines Objekts? (sofort mit laden? Deren Assoziationen laden? Eventuell alles laden?) SoPra 2008 Kap. 8.4: Datenbankanbindung Persistenzschicht (35/40)

44 Persistenzschicht Grundidee DB-Anschluss (fast) komplett verstecken Klassen aus Analyse und Design werden persistent Kapseln der SQL-Anfragen in einer Klasse Zugriff auf DB (möglichst) nur über Laden und Speichern von Objekten Lesen von Assoziationen bei Bedarf (fast) so zu benutzen wie normale Objekte zusätzliche Aufgaben: Caching (nur dann auf DB zugreifen, wenn notwendig) Synchronisation (bei parallelem Zugriff auf DB) Transaktionen (mehrere Änderungen passieren nur zusammen) SoPra 2008 Kap. 8.4: Datenbankanbindung Persistenzschicht (36/40)

45 Persistenzschicht Realisierungen professionelle/generische Lösungen: Enterprise Java Beans (EJB) Java Persistency API (JPA) Hibernate (für Java) NHibernate (für C#) andere Middleware, z. B. CORBA Objektorientierte Datenbanken SoPra 2008 Kap. 8.4: Datenbankanbindung Persistenzschicht (37/40)

46 Persistenzschicht Realisierung Im SoPra: selbstgemachte Lösung zeigt wesentliche Konzepte ( Lerneffekt) relativ klein (kein Caching) bietet Raum für eigene Verbesserungen mehr in Vorlesung Softwaretechnik keine Lizenzprobleme... SoPra 2008 Kap. 8.4: Datenbankanbindung Persistenzschicht (38/40)

47 Persistenzschicht im Sopra Kapselung der SQL-Statements in einer Klasse DBConnection Generische Methoden zum Lesen/Schreiben/Ändern von Zeilen in einer Tabelle Suchen nach einzelnen Werten (Select) Transaktionen Eine zentrale Klasse PersistenceManager mit Methoden zum Lesen/Schreiben/Ändern von persistenten Objekten: public Object load(string table, Guid oid) {...} public void persist(object o) {...} initiales Anlegen der Tabellen SoPra 2008 Kap. 8.4: Datenbankanbindung Persistenzschicht (39/40)

48 Anforderungen an eine persistente Klasse Muss ein OID Feld haben (Typ Guid). Lade/Speicher/Update-Operation für die Klasse muss in PersistenceManager programmiert werden. Umgang mit Assoziationen: Entscheidung des Programmierers Suchen mit Select in einer Tabelle oder gesamte Tabelle als Liste von Objekten laden und darüber iterieren: Entscheidung des Programmierers Allgemeine Anforderung: Anwendung kann mit leerer Datenbank starten. Das heißt: Anwendung hat Code zum Anlegen der Tabellen. SoPra 2008 Kap. 8.4: Datenbankanbindung Persistenzschicht (40/40)

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

Datenbank Anbindung. Arthur Zaczek. Nov 2014

Datenbank Anbindung. Arthur Zaczek. Nov 2014 Arthur Zaczek Nov 2014 1 Datenbank Anbindung 1.1 Übersicht Datenbankanbindung mit JDBC und ADO.NET. 1.2.NET ADO.NET Kein Treiberkonzept. Jede Datenbank hat eigenes Set an Klassen. Meistens wird für nur

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

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-

Mehr

IV. Datenbankmanagement

IV. Datenbankmanagement Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.

Mehr

Einführung in die Informatik II

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

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

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 - 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,

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale

Mehr

Gliederung und Einordnung

Gliederung und Einordnung Gliederung und Einordnung 1. Objektorientierte Programmierung mit Object Pascal (5. Studienbrief, Kapitel 5) 9.4. + 16.4. 2. Software-Bausteine am Beispiel der Delphi-Komponenten (5. Studienbrief, Kapitel

Mehr

Übungsaufgabe Transaktion als Middleware

Übungsaufgabe Transaktion als Middleware Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung

Mehr

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 29. April 2013 - MySQL 2 Sebastian Cuy sebastian.cuy@uni-koeln.de Aufgaben Anmerkungen Best practice: SQL Befehle

Mehr

Themenblock: Erstellung eines Cube

Themenblock: Erstellung eines Cube Themenblock: Erstellung eines Cube Praktikum: Data Warehousing und Data Mining Einführung relationale Datenbanken Problem Verwaltung großer Mengen von Daten Idee Speicherung der Daten in Form von Tabellen

Mehr

Cassandra Query Language (CQL)

Cassandra Query Language (CQL) Cassandra Query Language (CQL) Seminar: NoSQL Wintersemester 2013/2014 Cassandra Zwischenpräsentation 1 Gliederung Basic facts Datentypen DDL/DML ähnlich zu SQL Besonderheiten Basic facts CQL kurz für

Mehr

Datenbankzugriff mit JDBC

Datenbankzugriff mit JDBC Java: Kapitel 8 Datenbankzugriff mit JDBC Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Überblick über Kapitel 8 Einführung in SQL und JDBC Verbindung zur Datenbank

Mehr

Relationale Datenbanken in der Praxis

Relationale Datenbanken in der Praxis Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5

Mehr

Einführung in SQL Datenbanken bearbeiten

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

Mehr

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel ORM & OLAP Object-oriented Enterprise Application Programming Model for In-Memory Databases Sebastian Oergel Probleme 2 Datenbanken sind elementar für Business-Anwendungen Gängiges Datenbankparadigma:

Mehr

2 7 Erweiterungen. 7.1 Prozess-Kommunikation mit Datenbanken

2 7 Erweiterungen. 7.1 Prozess-Kommunikation mit Datenbanken 2 7 Erweiterungen 7 Erweiterungen 7.1 Prozess-Kommunikation mit Datenbanken Im Buch Einstieg in das Programmieren mit MATLAB wird im Abschnitt 4.8 das Thema Prozess-Kommunikation am Beispiel von MS-Excel

Mehr

Unterabfragen (Subqueries)

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

Mehr

PostgreSQL im praktischen Einsatz. Stefan Schumacher

PostgreSQL im praktischen Einsatz. Stefan Schumacher PostgreSQL im praktischen Einsatz 2. Brandenburger Linux Infotag 2005 Stefan Schumacher , PGP Key http:/// $Header: /home/daten/cvs/postgresql/folien.tex,v 1.11 2005/04/25

Mehr

Hibernate. Vortragender : Nabil Janah Kursleiter : Prof. Dr. Björn Dreher Lehrveranstaltung : Komponenten-Architekturen. Nabil janah 1 Hibernate

Hibernate. Vortragender : Nabil Janah Kursleiter : Prof. Dr. Björn Dreher Lehrveranstaltung : Komponenten-Architekturen. Nabil janah 1 Hibernate Hibernate Vortragender : Nabil Janah Kursleiter : Prof. Dr. Björn Dreher Lehrveranstaltung : Komponenten-Architekturen Nabil janah 1 Hibernate Inhalt Hibernate allgemeines Vorteile von Hibernate Hibernate-Architektur

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

Transaktionen in der Praxis. Dr. Karsten Tolle

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);

Mehr

Java und Datenbanksysteme Datenbankanbindung mit JDBC

Java und Datenbanksysteme Datenbankanbindung mit JDBC Java und Datenbanksysteme Datenbankanbindung mit JDBC 30.05.2001 Stefan Niederhauser sn@atelier-w.ch 1-Einführung Datenbanksysteme Java und Datenbanken: JDBC Geschichte der JDBC-Versionen Vergleich von

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

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

Mehr

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

Inhaltsverzeichnis VII

Inhaltsverzeichnis VII Inhaltsverzeichnis 1 Erste Schritte...1 1.1 Einführung...1 1.2 Systemvoraussetzungen...2 1.3 Installation...2 1.3.1 Buch online lesen...3 1.3.2 Installation von Caché...3 1.3.3 Die Buch-Beispiele...4 1.4

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Sommersemester 2011 Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 10. Java: Datenhaltung mit Datenbanken 1 Datenbank-Programme Derby (Hersteller: Apache

Mehr

SQL-DDL und SQL-Anfragen. CREATE TABLE Kategorie (Bezeichnung VARCHAR(15) NOT NULL PRIMARY KEY, Klassifikationskriterium VARCHAR(100) NOT NULL )

SQL-DDL und SQL-Anfragen. CREATE TABLE Kategorie (Bezeichnung VARCHAR(15) NOT NULL PRIMARY KEY, Klassifikationskriterium VARCHAR(100) NOT NULL ) Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 6 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 1.12.2003 SQL-DDL und SQL-Anfragen

Mehr

Interaktive Webseiten mit PHP und MySQL

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 /

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

Carl-Engler-Schule Karlsruhe Datenbank 1 (5)

Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Informationen zur Datenbank 1. Definition 1.1 Datenbank-Basis Eine Datenbank-Basis ist eine Sammlung von Informationen über Objekte (z.b Musikstücke, Einwohner,

Mehr

Programmieren II. Relationale Datenbanken. Vorlesung 07. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011.

Programmieren II. Relationale Datenbanken. Vorlesung 07. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 26 Datenbanken SQL-Grundlagen JDBC SQL-Constraints 2 / 26 Relationale Datenbanken Ein Datenbanksystem ist ein System zur

Mehr

Sructred Query Language

Sructred Query Language Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen

Mehr

DB2 SQL, der Systemkatalog & Aktive Datenbanken

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

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

JDBC. Allgemeines ODBC. java.sql. Beispiele

JDBC. Allgemeines ODBC. java.sql. Beispiele JDBC Java Data Base Connectivity Programmierschnittstelle für relationale Datenbanken Sammlung von Klassen, welche zum Aufbau einer Verbindung zwischen einem Java-Programm und einer Datenbank dienen Verwendet

Mehr

Web Adressdatenbank mit ASP

Web Adressdatenbank mit ASP Web Adressdatenbank mit ASP 1 Einleitung 1.1 Vorwort Auf den nächsten paar Seiten will ich eine kleine Anleitung geben, wie man per ASP(Active Server Pages) auf eine MS Access Datenbank zugreifen kann.

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Java und Datenbanken Ein Überblick

Java und Datenbanken Ein Überblick Java und Datenbanken Ein Überblick Benjamin Lietzau & Philipp Meyer Sommersemester 2011 1 Themenüberblick 29.03.11 - Benjamin Lietzau & Philipp Meyer - Java und Datenbanken 2 Themenüberblick 1. Einführung

Mehr

15 Bilder und Dateien im SQL Server

15 Bilder und Dateien im SQL Server Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen 15 Bilder und Dateien im SQL Server Eines der großen Probleme von Access-Datenbanken ist der vergleichsweise geringe Speicher platz. Sicher,

Mehr

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

Objekt-relationales Mapping und Performance-Tuning

Objekt-relationales Mapping und Performance-Tuning Objekt-relationales Mapping und Performance-Tuning Thomas Krüger tkrueger@vanatec.com Agenda Wege um Daten zu lesen Wege um Daten zu modellieren Wege um Datenbanken effizient zu nutzen 2 2 Wege, Daten

Mehr

Kapitel DB:VI (Fortsetzung)

Kapitel DB:VI (Fortsetzung) Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus

Mehr

Informatik Datenbanken SQL-Einführung

Informatik Datenbanken SQL-Einführung Informatik Datenbanken SQL-Einführung Gierhardt Inhaltsverzeichnis 1 Vorbemerkungen 1 2 Auswahl-Abfragen mit SELECT 2 2.1 Selektion...................................... 2 2.2 Projektion.....................................

Mehr

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP.

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

Mehr

Übung 1: Ein Website News-System mit MySQL

Ü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

Mehr

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Programmierung 2

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Programmierung 2 SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R IV-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

Relationale Datenbanken Kursziele

Relationale Datenbanken Kursziele Relationale Datenbanken Kursziele DB Grundlagen Daten-Modellierung Relationales Modell und DB => Praxis: Mit SQL als Anfragesprache Mit MySQL als DB RDB 1-1 Kursinhalt (Tage) 1. DB Einleitung / Entity-Relationship

Mehr

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt DBS ::: SERIE 5 Die Relation produkt enthält Hersteller, Modellnummer und Produktgattung (pc, laptop oder drucker aller Produkte. Die Modellnummer ist (der Einfachheit halber eindeutig für alle Hersteller

Mehr

5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten

5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten 5. SQL: Erstellen von Tabellen Erzeugen und Löschen von Tabellen Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten 106 SQL Structured Query Language Historie: Anfänge ca. 1974 als SEQUEL

Mehr

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 8 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 12.01. 2004 Integritätsbedingungen

Mehr

Einstieg in das SQL- und Datenbanktuning 14.01.2009. Loblied auf den Tabellen-Index!

Einstieg in das SQL- und Datenbanktuning 14.01.2009. Loblied auf den Tabellen-Index! 1/40 PHP-User-Group Stuttgart 14.01.2009 Warum Datenbanken einen Hals bekommen und was sich dagegen tun lässt. Tuning und Performancesteigerung ohne zusätzliche Hardware. Ein. Loblied auf den Tabellen-Index!

Mehr

Verteidigung gegen SQL Injection Attacks

Verteidigung gegen SQL Injection Attacks Verteidigung gegen SQL Injection Attacks Semesterarbeit SS 2003 Daniel Lutz danlutz@watz.ch 1 Inhalt Motivation Demo-Applikation Beispiele von Attacken Massnahmen zur Verteidigung Schlussfolgerungen 2

Mehr

SQL Injection Funktionsweise und Gegenmaßnahmen

SQL Injection Funktionsweise und Gegenmaßnahmen SQL Injection Funktionsweise und Gegenmaßnahmen EUROSEC GmbH Chiffriertechnik & Sicherheit Tel: 06173 / 60850, www.eurosec.com EUROSEC GmbH Chiffriertechnik & Sicherheit, 2005 Problematik SQL-Injection

Mehr

Übung: Data Warehousing und Data Mining

Übung: Data Warehousing und Data Mining Übung: Data Warehousing und Data Mining Sebastian Wandelt 20. Oktober 2011 wandelt@informatik.hu-berlin.de Überblick Organisatorisches Kurze Einführung JDBC PL/SQL 1. Aufgabenblatt Ablauf des Semesters

Mehr

11 Anwendungsprogrammierung

11 Anwendungsprogrammierung 11 11 11.1 Programmiersprachenanbindung 11.2 11.3 183 11 Programmiersprachenanbindung Programmiersprachenanbindung Kopplungsarten: prozedurale oder CALL-Schnittstellen (call level interface) Beispiele:

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Datenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen

Datenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen Programmieren von Datenbankzugriffen mit JDBC Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Überblick über das Package java.sql Übersicht Architektur von JDBC Grundstruktur eines

Mehr

Fachbereich Informatik Praktikum 1

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

Mehr

17.2 MS-Access Projekte

17.2 MS-Access Projekte 964 Von MS-Access 2000 zum SQL-Server 17.2 MS-Access Projekte MS-Access-Projekte, die die Dateiendung adp besitzen, werden als Front-End-Anwendung verwendet. Für die Back-End-Seite gibt es mehrere Möglichkeiten.

Mehr

Android Java Specifics / Basic IO

Android Java Specifics / Basic IO Dalvik virtual machine Registermaschine anstelle einer Stackmaschine Optimiert für geringen Speicherverbrauch Umwandlung von.class Dateien in.dex-format mit Hilfe von dx Jedes Programm läuft als eigener

Mehr

Datenbankprogrammierung 2

Datenbankprogrammierung 2 Datenbankprogrammierung 2 JDBC Java Database Connectivity Call Level Interface Schnittstelle zwischen DBMS und Applikation JDBC API ist seit JDK1.1 inkludiert Ermöglicht Zugriff aus Java-Applikationen

Mehr

Dokumentation zur Anlage eines JDBC Senders

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

Mehr

DB-Programmierung. Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1. Ziele. DB2 Zugriff mit Java selbst programmieren

DB-Programmierung. Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1. Ziele. DB2 Zugriff mit Java selbst programmieren DB-Programmierung Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele static SQL verstehen Build-Prozess / Art des Datenzugriffs Host-Variablen Vor- / Nachteile dynamic SQL verstehen

Mehr

LINQ. LANGUAGE INTEGREATED QUERY.net 3.5. Bernhard Grojer BernhardG@ppedv.de

LINQ. LANGUAGE INTEGREATED QUERY.net 3.5. Bernhard Grojer BernhardG@ppedv.de LINQ LANGUAGE INTEGREATED QUERY.net 3.5 Bernhard Grojer BernhardG@ppedv.de Agenda Übersicht LINQ Basistechnologien Verschiedene Arten von LINQ LINQ (to Objects) LINQ TO SQL Übersicht LINQ Aggregationen

Mehr

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.

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

Mehr

SQL-Anweisungen. SELECT (SQL Data Query Language)

SQL-Anweisungen. SELECT (SQL Data Query Language) SQL-Anweisungen SELECT (SQL Data Query Language) SELECT * SELECT * FROM "meine Tabelle"; SELECT feldname1, feldname2 SELECT feldname1, feldname2 FROM meinetabelle ORDER BY feldname2, feldname1 DESC; WHERE

Mehr

Allgemeines. veröffentlicht unter http://www.profv.de/uni/ lizensiert unter. Creative Commons BY-SA 3.0. XQuery in MS SQL Server 2005

Allgemeines. veröffentlicht unter http://www.profv.de/uni/ lizensiert unter. Creative Commons BY-SA 3.0. XQuery in MS SQL Server 2005 Volker Grabsch 14. Januar 2008 Allgemeines veröffentlicht unter http://www.profv.de/uni/ lizensiert unter Creative Commons BY-SA 3.0 Quelle Dieser Vortrag basiert auf dem Paper XQuery Implementation in

Mehr

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012

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

Mehr

Übertragung von Terminen und Baustellen

Übertragung von Terminen und Baustellen In dieser Dokumentation wird die Anwendung und die Konfiguration der Programme beschrieben, die für die Übertragung der Baustellen und Termine aus der KWP SQL-Datenbank an das virtic-system verwendet werden

Mehr

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

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.

Mehr

Begleitskript. zum PHP/MySQL. Kurs

Begleitskript. zum PHP/MySQL. Kurs Begleitskript zum PHP/MySQL Kurs http://www.online-platform.net Dieser Text unterliegt der GNU General Public License. Er darf als ganzes oder in Auszügen kopiert werden, vorausgesetzt, dass sich dieser

Mehr

Objektorientierte Datenbanken

Objektorientierte Datenbanken OODB 11 Slide 1 Objektorientierte Datenbanken Vorlesung 11 Sebastian Iwanowski FH Wedel OODB 11 Slide 2 Wesentliche Eigenschaften von Hibernate Transparente Persistenz Transitive Persistenz (Persistenz

Mehr

SQL, MySQL und FileMaker

SQL, MySQL und FileMaker SQL, MySQL und FileMaker Eine kurze Einführung in SQL Vorstellung von MySQL & phpmyadmin Datenimport von MySQL in FileMaker Autor: Hans Peter Schläpfer Was ist SQL? «Structured Query Language» Sprache

Mehr

NoSQL mit Postgres 15. Juni 2015

NoSQL mit Postgres 15. Juni 2015 Tag der Datenbanken 15. Juni 2015 Dipl.-Wirt.-Inform. Agenda l Vorstellung l Marktübersicht l Warum PostgreSQL? l Warum NoSQL? l Beispielanwendung Seite: 2 Vorstellung Dipl.-Wirt.-Inform. [1990] Erste

Mehr

A Generic Database Web Service for the Venice Lightweight Service Grid

A Generic Database Web Service for the Venice Lightweight Service Grid A Generic Database Web Service for the Venice Lightweight Service Grid Michael Koch Bachelorarbeit Michael Koch University of Kaiserslautern, Germany Integrated Communication Systems Lab Email: m_koch2@cs.uni-kl.de

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Die SQL-Syntax für den Befehl CREATE TABLE sieht folgendermassen aus:

Die SQL-Syntax für den Befehl CREATE TABLE sieht folgendermassen aus: Einführung in MySQL SQL (Structured Query Language) ist eine Computersprache zum Speichern, Bearbeiten und Abfragen von Daten in relationalen Datenbanken. Eine relationale Datenbank kann man sich als eine

Mehr

Datenadminstrator, Datenbankdesigner, Systemanalytiker (für die logische Sicht zuständig)

Datenadminstrator, Datenbankdesigner, Systemanalytiker (für die logische Sicht zuständig) 1 Grundlagen Begriffe Daten bekannte zutreffende Tatsachen über die Domäne/Miniwelt DBS Einsatz eines DBMS für eine Datenbank, DBS besteht aus folgenden Komponenten: 1. DBMS 2. Datenbank DBMS Software

Mehr

ASP.NET. Grundlagen und Profiwissen. Webserverprogrammierung und XML Web Services im.net-framework. von Patrick A Lorenz.

ASP.NET. Grundlagen und Profiwissen. Webserverprogrammierung und XML Web Services im.net-framework. von Patrick A Lorenz. ASP.NET Grundlagen und Profiwissen. Webserverprogrammierung und XML Web Services im.net-framework von Patrick A Lorenz überarbeitet ASP.NET Lorenz schnell und portofrei erhältlich bei beck-shop.de DIE

Mehr

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language: SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In

Mehr

Software-Engineering Einführung

Software-Engineering Einführung Software-Engineering Einführung 7. Übung (04.12.2014) Dr. Gergely Varró, gergely.varro@es.tu-darmstadt.de Erhan Leblebici, erhan.leblebici@es.tu-darmstadt.de Tel.+49 6151 16 4388 ES Real-Time Systems Lab

Mehr

Performance Tuning mit @enterprise

Performance Tuning mit @enterprise @enterprise Kunden-Forum 2005 Performance Tuning mit @enterprise Herbert Groiss Groiss Informatics GmbH, 2005 Inhalt Datenbank RMI JAVA API HTTP Konfiguration Analyse Groiss Informatics GmbH, 2005 2 Datenbank

Mehr

Objektrelationale, erweiterbare Datenbanken WS 04/05

Objektrelationale, erweiterbare Datenbanken WS 04/05 Eidgenössische Technische Hochschule Zürich Swiss Federal Institute of Technology Zurich Institut für Informationssysteme Dr.C.Türker Objektrelationale, erweiterbare Datenbanken WS 0405 Übung 8 Aufgabe

Mehr

Erste Schritte, um selber ConfigMgr Reports zu erstellen

Erste Schritte, um selber ConfigMgr Reports zu erstellen Thomas Kurth CONSULTANT/ MCSE Netree AG thomas.kurth@netree.ch netecm.ch/blog @ ThomasKurth_CH Erste Schritte, um selber ConfigMgr Reports zu erstellen Configuration Manager Ziel Jeder soll nach dieser

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis

Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis Gruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENBANKSYSTEME VU 184.686 7. 5. 2014 Kennnr. Matrikelnr.

Mehr

Eine weitere Möglichkeit "die grosse weite Welt" zu erschliessen sind ODBC/JDBC bzw. ESS Verbindungen.

Eine weitere Möglichkeit die grosse weite Welt zu erschliessen sind ODBC/JDBC bzw. ESS Verbindungen. Database Designs Alexis Gehrt / alexis@database-designs.ch - Erster Kontakt mit FileMaker ca. 1991 ( Version 2, 2.1) - Jan 2000 - Database Designs - Seit 2007 bei einem Kunden (Linden-Grafik AG) angestellt

Mehr

NoSQL Datenbanken am Beispiel von CouchDB

NoSQL Datenbanken am Beispiel von CouchDB NoSQL Datenbanken am Beispiel von CouchDB OIO - Hauskonferenz 2011 Version: 1.0 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Ihr Sprecher Thomas Bayer Programmierer

Mehr

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2015 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr

Chair of Software Engineering. Bezieher SUBSCRIBERS Ereignis Erzeuger (zb GUI) Chair of Software Engineering. Save_file ROUTINE

Chair of Software Engineering. Bezieher SUBSCRIBERS Ereignis Erzeuger (zb GUI) Chair of Software Engineering. Save_file ROUTINE 1 2 Letzte Aktualisierung: 27. Mai 2004 Programmierung im Grossen Vorlesung 13: Ereignis-Gesteuertes Design Bertrand Meyer Ereignis-gesteuerte Programmierung 3 Vermeiden von glue code 4 Verbreiter PUBLISHERS

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

3. Übung. Einführung MS Access. TU Dresden - Institut für Bauinformatik Folie-Nr.: 1

3. Übung. Einführung MS Access. TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 WP3-13 Bauinformatik-Vertiefte Grundlagen 3. Übung Einführung MS Access Folie-Nr.: 1 Allgemeines Microsoft Access ist ein Datenbank-Management-System (DBMS) zur Verwaltung von Daten in Datenbanken und

Mehr