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

Datenbanken. Proseminar Objektorientiertes Programmieren mit.net und C# Sebastian Pintea. Institut für Informatik Software & Systems Engineering

Datenbanken. Proseminar Objektorientiertes Programmieren mit.net und C# Sebastian Pintea. Institut für Informatik Software & Systems Engineering Datenbanken Proseminar Objektorientiertes Programmieren mit.net und C# Sebastian Pintea Institut für Informatik Software & Systems Engineering Agenda 1. Datenbanken 2. SQL 3. ADO.NET DataProvider (providerabhängig)

Mehr

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java) 4. Objektrelationales Mapping Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung

Mehr

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

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann. JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten

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

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

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

O/R Mapper. O/R Mapper anhand von NHibernate & Entity Framework Thomas Mentzel März 2010

O/R Mapper. O/R Mapper anhand von NHibernate & Entity Framework Thomas Mentzel März 2010 O/R Mapper O/R Mapper anhand von NHibernate & Entity Framework Thomas Mentzel März 2010 Agenda Object-relational impedance mismatch Mapping Session Abfragen No. 2 Object-relational impedance mismatch Object-relational

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

Objektrelationale Datenbanken

Objektrelationale Datenbanken Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige

Mehr

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java Oliver Kalz Agenda Grundlagen Objektpersistenz Objektrelationales Mapping Performance Fazit

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

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

Objektrelationale und erweiterbare Datenbanksysteme

Objektrelationale und erweiterbare Datenbanksysteme Objektrelationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 (Objekt-relationale Modellierung) In der Vorlesung werden nur die Folien 1-12 behandelt. Kapitel 14 1 Konzepte objekt-relationaler

Mehr

Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn

Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher

Mehr

Persistenz. Workplace Solutions. Persistenz. ÿ RDBMS und OO ÿ Strukturkonflikt ÿ Object-RDBMS-Mapping. Abbildung Objekte auf RDBMS

Persistenz. Workplace Solutions. Persistenz. ÿ RDBMS und OO ÿ Strukturkonflikt ÿ Object-RDBMS-Mapping. Abbildung Objekte auf RDBMS Persistenz ÿ RDBMS und OO ÿ Strukturkonflikt ÿ Object-RDBMS-Mapping APCON Abbildung Objekte auf RDBMS Der Strukturkonflikt Basisklassen und Domänen Klassen zur Kapselung der relationalen Datenbank Abbildung

Mehr

Datenmanagement in Android-Apps. 16. Mai 2013

Datenmanagement in Android-Apps. 16. Mai 2013 Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer

Mehr

Java Persistence API 2.x. crud + relationships + jp-ql

Java Persistence API 2.x. crud + relationships + jp-ql Java Persistence API 2.x crud + relationships + jp-ql Grundprinzip 10.02.10 2 Problematik Man muss bei der Persistierung immer das Klassenmodell und dessen Umsetzung im Datenmodell (in der DB) berücksichtigen.

Mehr

Datenbanken für Online Untersuchungen

Datenbanken für Online Untersuchungen Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren

Mehr

Programmieren II. Beispiele für RDBMS. Relationale Datenbanken. Datenbanken SQL. Dr. Klaus Höppner JDBC. Hochschule Darmstadt SS 2008

Programmieren II. Beispiele für RDBMS. Relationale Datenbanken. Datenbanken SQL. Dr. Klaus Höppner JDBC. Hochschule Darmstadt SS 2008 Programmieren II Datenbanken Dr. Klaus Höppner SQL Hochschule Darmstadt SS 2008 JDBC 1 / 20 2 / 20 Relationale Datenbanken Beispiele für RDBMS Ein Datenbanksystem ist ein System zur Speicherung von (großen)

Mehr

9. Einführung in Datenbanken

9. Einführung in Datenbanken 9. Einführung in Datenbanken 9.1 Motivation und einführendes Beispiel 9.2 Modellierungskonzepte der realen Welt 9.3 Anfragesprachen (Query Languages) 9.1 Motivation und einführendes Beispiel Datenbanken

Mehr

10. Datenbank Design 1

10. Datenbank Design 1 1 Die Hauptaufgabe einer Datenbank besteht darin, Daten so lange zu speichern bis diese explizit überschrieben oder gelöscht werden. Also auch über das Ende (ev. sogar der Lebenszeit) einer Applikation

Mehr

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:

Mehr

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing.

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing. PHP + MySQL Die MySQL-Datenbank Zusammenspiel Apache, PHP, PHPMyAdmin und MySQL PHPMyAdmin Verwaltungstool Nutzer Datei.php oder Datei.pl Apache HTTP-Server PHP Scriptsprache Perl Scriptsprache MySQL Datenbank

Mehr

Webbasierte Informationssysteme

Webbasierte Informationssysteme SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)

Mehr

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) O/R Mapping - Objekte (Attribute) - 1:1, 1:n, n:m Beziehungen - Vererbungen (- Interfaces)

Mehr

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

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Datenbanken. Ein DBS besteht aus zwei Teilen:

Datenbanken. Ein DBS besteht aus zwei Teilen: Datenbanken Wikipedia gibt unter http://de.wikipedia.org/wiki/datenbank einen kompakten Einblick in die Welt der Datenbanken, Datenbanksysteme, Datenbankmanagementsysteme & Co: Ein Datenbanksystem (DBS)

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

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

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr

Datenbanken & Informationssysteme Übungen Teil 1

Datenbanken & Informationssysteme Übungen Teil 1 Programmierung von Datenbankzugriffen 1. Daten lesen mit JDBC Schreiben Sie eine Java-Anwendung, die die Tabelle Books in der Datenbank azamon ausgibt. Verwenden Sie dabei die SQL-Anweisung select * from

Mehr

Datenbank und Informationssysteme

Datenbank und Informationssysteme Datenbank und Informationssysteme Inhaltsverzeichnis 1 Programmierung von Datenbankzugriffen 3 1.1 Architektur des SQL/CLI am Beispiel JDBC................... 4 1.2 Anfragen und Ergebnismengen in JDBC......................

Mehr

OM Datenbanken. OM Datenbanken. 8.1 Was ist ein Datenbanksystem? Motivation

OM Datenbanken. OM Datenbanken. 8.1 Was ist ein Datenbanksystem? Motivation 1 Inhalt: Relationale Datenbanken 8.1 Was ist ein Datenbanksystem? 8.2 Relationale Datenbanksysteme 8.3 Abbildung des objektorientierten Modells auf Tabellen 2 8.1 Was ist ein Datenbanksystem? Motivation

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

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

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2 Universität Osnabrück 1 3 - Objektorientierte Programmierung in Java Zur Erinnerung: Aufteilung der Schichten GUI Vorlesung 17: 3-Schichten-Architektur 2 Fachkonzept Fachkonzept - Datenhaltung Datenhaltung

Mehr

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien 1.1 Definition Datenbank Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS

Mehr

5.8 Bibliotheken für PostgreSQL

5.8 Bibliotheken für PostgreSQL 5.8 Bibliotheken für PostgreSQL Haskell/WASH: Modul Dbconnect PHP: pqsql-funktionen Java/JSP: JDBC Perl: DBI database interface modul Vorläufige Version 80 c 2004 Peter Thiemann, Matthias Neubauer 5.9

Mehr

Datenbankentwurf & Datenbankzugriff mit JDBC. Georg Köster Sven Wagner-Boysen

Datenbankentwurf & Datenbankzugriff mit JDBC. Georg Köster Sven Wagner-Boysen Datenbankentwurf & Datenbankzugriff mit JDBC Georg Köster Sven Wagner-Boysen 6. November 2007 Gliederung 2 Datenbankentwurf für ProminentPeople.info ER-Modell Relationaler Entwurf Normalisierung Datenbankzugriff

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

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

Datenbankentwicklung mit PureBasic

Datenbankentwicklung mit PureBasic Datenbankentwicklung mit PureBasic Datenbanken stellen heutzutage wichtige Informationsquellen für viele Bereiche der Wirtschaft, Verwaltung aber auch im eigenen Haushalt dar. In Datenbanken werden Daten

Mehr

MySQL, phpmyadmin & SQL. Kurzübersicht

MySQL, phpmyadmin & SQL. Kurzübersicht MySQL, phpmyadmin & SQL Kurzübersicht Referenzen MySQL Documentation: http://dev.mysql.com/doc PHP 5 / MySQL5. Studienausgabe. Praxisbuch und Referenz (Kannengießer & Kannengießer) 2 Datenbank anlegen

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

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

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

Labor 3 - Datenbank mit MySQL

Labor 3 - Datenbank mit MySQL Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.

Mehr

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 08. Exkurs: Datenbanken 1 Motivation Datenbanksysteme

Mehr

seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql

seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql JDBC inoffizielle Abkürzung für: Java Database Connectivity seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql ist eine Menge von Klassen und Methoden, um aus Java-Programmen relationale Datenbanken

Mehr

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung 6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten

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

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

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

7. Übung - Datenbanken

7. Übung - Datenbanken 7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen

Mehr

Hibernate Das Praxisbuch für Entwickler

Hibernate Das Praxisbuch für Entwickler Sebastian Hennebrüder 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Hibernate Das Praxisbuch für Entwickler Galileo

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans JPA - JAVA Persistence API Problem In JAVA-programmen arbeitet man mit Hauptspeicherobjekten. Nach Beendigung des Programmes sind diese nicht mehr vorhanden.

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

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

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views in SQL. 2 Anlegen und Verwenden von Views 2 Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig

Mehr

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.

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

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6 WS 2011/12 Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011 Prof. Dr. Bernhard Bauer Übungen zur Vorlesung Informatik II, Blatt 6 Abgabe: Montag, 05.12.2011, 12.00 Uhr, Informatik

Mehr

Microsoft Access 2010 SQL nutzen

Microsoft Access 2010 SQL nutzen Microsoft Access 2010 SQL nutzen Welche Bestellungen hat Kunde x aufgegeben? Welche Kunden haben noch nie bestellt? Wer hat welche Bestellungen von welchen Kunden aufgenommen? S(tructured)Q(uery)L(anguage)

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

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene

Mehr

3. Datenbankzugriff (JDBC) Grundlagen der Programmierung II (Java)

3. Datenbankzugriff (JDBC) Grundlagen der Programmierung II (Java) 3. Datenbankzugriff (JDBC) Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung

Mehr

1. Funktionen und Datenflüsse; Tabellenkalkulationssysteme

1. Funktionen und Datenflüsse; Tabellenkalkulationssysteme Grundwissen Informatik 1. und Datenflüsse; Tabellenkalkulationssysteme Zellbezug relativer Zellbezug absoluter Zellbezug iterative Berechnungen Datentypyen z. B. A4 A ist der Spaltenbezeichner 4 ist die

Mehr

Inhalt. 1. MySQL-Einführung 1. 2. Datenbankentwurf 27

Inhalt. 1. MySQL-Einführung 1. 2. Datenbankentwurf 27 Inhalt 1. MySQL-Einführung 1... 1.1 Geschichte von MySQL... 1 1.2 Entscheidungskriterien für MySQL... 2 1.3 Installation eines MySQL-Servers... 3 1.3.1 Linux... 5 1.3.2 Windows 9x/Me/NT/2000/XP... 7 1.3.3

Mehr

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, enthält mindestens Jahr, Monat, Tag Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice

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

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198 Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT INTO) 95 5 Daten abfragen (SELECT) 99 6 Daten aus mehreren Tabellen abfragen (JOIN) 143 7 Unterabfragen

Mehr

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt

Mehr

5.3 Datenänderung/-zugriff mit SQL (DML)

5.3 Datenänderung/-zugriff mit SQL (DML) 5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und

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

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

Klausur zur Vorlesung Datenbanksysteme I

Klausur zur Vorlesung Datenbanksysteme I Prof. Dr. W. Kießling 30.01.2002 Lehrstuhl für Datenbanken und Informationssysteme Universität Augsburg Klausur zur Vorlesung Datenbanksysteme I Wintersemester 2001/2002 Name Vorname Matrikelnummer Aufgabe

Mehr

Software Engineering. 8. Persistenz

Software Engineering. 8. Persistenz Software Engineering 8. Persistenz Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz Implementierung Konfigurationsmanagement

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

Datenbanken: Datenintegrität. www.informatikzentrale.de

Datenbanken: Datenintegrität. www.informatikzentrale.de Datenbanken: Datenintegrität Definition "Datenkonsistenz" "in der Datenbankorganisation (...) die Korrektheit der gespeicherten Daten im Sinn einer widerspruchsfreien und vollständigen Abbildung der relevanten

Mehr

JDO Java Data Objects

JDO Java Data Objects JDO Java Data Objects Ralf Degner, Chief Consultant Ralf.Degner@poet.de Agenda POET Motivation Geschichte Einführung Architekturen FastObjects POET Gegründet 1993 Zwei Produktlinien esupplier Solutions:

Mehr

Einführung relationale Datenbanken. Themenblock: Erstellung eines Cube. Schlüssel. Relationenmodell Relationenname Attribut. Problem.

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

Mehr

Java Database Connectivity-API (JDBC)

Java Database Connectivity-API (JDBC) Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist herstellerabhängig

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

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

Vorlesung. Grundlagen betrieblicher Informationssysteme. Prof. Dr. Hans Czap. Email: Hans.Czap@uni-trier.de. Lehrstuhl für Wirtschaftsinformatik I

Vorlesung. Grundlagen betrieblicher Informationssysteme. Prof. Dr. Hans Czap. Email: Hans.Czap@uni-trier.de. Lehrstuhl für Wirtschaftsinformatik I Vorlesung Grundlagen betrieblicher Informationssysteme Prof. Dr. Hans Czap Email: Hans.Czap@uni-trier.de - II - 1 - Inhalt Kap. 1 Ziele der Datenbanktheorie Kap. 2 Datenmodellierung und Datenbankentwurf

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

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D. 1 Copyright 1996-1997 by Axel T. Schreiner. All Rights Reserved. 7 Datenbankzugriff Prinzip Dieser Abschnitt beschäftigt sich mit dem Paket java.sql, das eine SQL-Schnittstelle für Java verkapselt. Java-Programme

Mehr

Vorlesung 30.03.2009 1) Einführung

Vorlesung 30.03.2009 1) Einführung Vorlesung 30.03.2009 1) Einführung Was versteht man unter dem Begriff Datenbank? - Eine Datenbank ist eine Struktur zur Speicherung von Daten mit lesendem und schreibendem Zugriff - Allgemein meint man

Mehr

Modifikation der Datenbank

Modifikation der Datenbank Modifikation der Datenbank Löschen Einfügen Änderungen Änderungen von Sichten 71 Löschen Wir haben bereits gesehen, dass wir den gesamten Inhalt einer Tabelle r löschen können durch das Kommando: delete

Mehr

Web Technologien Klassische Datenbanken am Beispiel von MySQL

Web Technologien Klassische Datenbanken am Beispiel von MySQL Web Technologien Klassische Datenbanken am Beispiel von MySQL Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Department of Law and Economics WS 2011/2012 Wednesdays, 8:00

Mehr

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme 8. Übung zur Vorlesung Datenbanksysteme WS 08/09 Musterlösung Aufgabe 8-1: SQLJ //

Mehr

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme 7. Übung zur Vorlesung Datenbanksysteme WS 09/10 Musterlösung Aufgabe 7-1: SQLJ //

Mehr