Schnittstellen zur Anbindung an Datenbanksysteme
|
|
- Alfred Kajetan Hausler
- vor 8 Jahren
- Abrufe
Transkript
1 Schnittstellen zur Anbindung an Datenbanksysteme Schnittstellen zur Anbindung an Datenbanksysteme Low-Level-Schnittstellen: Embedded SQL SQL-CLI ODBC JDBC/SQLJ High-Level-Schnittstellen: Object Mappers LinQ 1 1
2 Allgemeine Problemstellung SQL ist eine deklarative Anfragesprache für relationale Datenbanken Gängige Programmiersprachen sind zumeist imperativ Einbindung von SQL in eine Wirtssprache daher notwendig Impedance Missmatch: Unterschiedliche Typsysteme Mengen Orientiert vs. Record at a Time imperativ vs. deklarativ 2 Cursor Konzept Ermöglicht den Zugriff auf Ergebnismengen von imperativen Sprachen Anfrage liefert einen Cursor als Repräsentation der Ergebnismenge 3 2
3 Embedded SQL Definiert in SQL-Standard nach ISO/IEC Zwei Varianten: Statisch Dynamisch Datenbankspezifische Implementierungen Sourcecodekompatibel Nicht Binärkompatibel: DBMS Wechsel -> Neuübersetzung Ermöglicht Einbindung in folgende Wirtssprachen (lt. Standard): Ada, C, COBOL, Fortran, MUMPS, Pascal, PL/I 4 Embedded SQL Kommunikation zwischen Wirtssprache und ESQL erfolgt über Host Variablen. Sind sowohl innerhalb von ESQL als auch der Wirtssprache gültig Innerhalb von SQL-Statements mit Doppelpunkt als Präfix Direkte Integration der Fehlerbehandlung in die Wirtssprache Vorübersetzung von SQL: Optimierung der Statements Schemaüberprüfung Typüberprüfung 5 3
4 ESQL-Beispiel Deklaration der Hostvariablen: EXEC SQL BEGIN DECLARE SECTION;! int angebotsnummer;! char kursnummer[3];! char datum[8]; /* Impedance Missmatch! Datum wird zu Zeichenkette */! char ortsname[20];! EXEC SQL END DECLARE SECTION;! Ausführen der Abfrage: EXEC SQL SELECT Datum, Ort!!INTO :datum, :ort! FROM Angebot! WHERE AngNr = :angebotsnummer!!and KursNr = :kursnummer;! Verarbeiten der Anfrageergebnisse: printf( Angebot findet am %s in %s statt., datum, ort); 6 Dynamisches ESQL Bei statischem ESQL steht die Struktur der Abfrage zur Übersetzungszeit schon fest. Ist zur Übersetzungszeit die Anfrage noch nicht vollständig bekannt, so muss auf dynamisches SQL zurückgegriffen werden. Struktur der Antworttupel zur Übersetzungszeit ist nicht immer bekannt Typüberprüfung zu diesem Zeitpunkt nicht möglich Bei SELECT-Anfragen, die bis auf die WHERE-Bedingung bekannt sind Typüberprüfung möglich 7 4
5 SQL Call Level Interface (CLI) Low Level Schnittstelle zur Anbindung von Datenbanken Im SQL Standard ISO/IEC definiert. Definiert Strukturen und Prozeduren um SQL-Statements aus Wirtssprachen abzusetzen Prozeduren sind unabhängig von auszuführendem SQL- Statement Auf Client - Server Betrieb ausgelegt. Für folgende Sprachen definiert: - Ada - Mumps - C - Pascal - COBOL - PL/I - Fortran 8 SQL Call Level Interface (CLI) Unabhängig von Präprozessor Applikationen werden ausschließliche gegen SQL/CLI-API gelinkt Binärkompatibel Für Resourcen werden Referenzen (Handles) allokiert und können so den entsprechenden Funktionen übergeben werden Benötigt keine globalen Speicherbereiche Keine explizite Cursordeklaration nötig Metadatenschnittstelle nur in SQL/CLI der Opengroup, nicht aber im ISO-Standard 9 5
6 Embedded SQL vs. SQL/CLI SQL/CLI Cursor wird für auszuführende Statements implizit erstellt Statusse und Ressourcen werden jeweils lokalen Variablen zugeordnet. Statements werden dynamisch zusammengesetzt Übernimmt automatische Konversion der Datentypen Sicherheitskonzept ist rein auf Benutzerebene Embedded SQL Cursor muss explizit deklariert werden Statusse und Ressourcen werden in globale Variablen gehalten Statische Typüberprüfung bei statischen SQL-Statements möglich Datentypen müssen explizit angegeben werden Feingranulares Sicherheitskonzept Für 5 Sprachen definiert + Sprachen Unterstützung für 5 festgelegte die gegen Objektcode linken Programmiersprachen 10 Open Database Connectivity (ODBC) Prozedurale standardisierte Schnittstelle für SQL Von Microsoft auf Basis des Call Level Interfaces 1992 entwickelt Neben Windows auch diverse UNIX Implementierungen verfügbar Führt das Treibermanager/Treiberkonzept ein: Datenbankunabhängige Treiberschnittstelle Datenbankabhängige Treiberimplementierung Treibermanager als Vermittler zwischen der Applikation und dem Datenbank Treiber Ermöglicht modulare Datenbankapplikationen 11 6
7 ODBC Unterstützt traditionelle OLTP-Applikationen Metadatenschnittstelle Features aus SQL-1999 bzw. SQL-2003 wurden nicht mehr weiterentwickelt Hunderte von Treibern für ODBC vorhanden. Freie Varianten iodbc (Independent Open DataBase Connectivity) und UnixODBC ODBC Treiber müssen im System installiert werden. 12 Architektur - ODBC 13 7
8 Java Database Connectivity (JDBC) Programmierschnittstelle für Java die den Zugriff auf Datenbanken ermöglicht Teil der Java Plattform seit Version 1.1 Teil des SQL-Standards Starke Integration in die Java Programmiersprache Ähnlich dem Treiberkonzept von ODBC Unterstützt vier Arten von Treibern Neben der Ausführung von traditionellen CREATE, INSERT, UPDATE und DELETE werden auch Aufrufe von Stored Procedures unterstützt. 14 JDBC Auf der JAVA-Plattform basierend betriebsystemunabhängig. Datenbank-Cursor werden durch Ergebnisobjekte vor dem Benutzer verborgen. Fehlermeldungen werden mittels Exceptions durchgeführt. Wichtig: Die Art der geworfenen Exception wird bis Version 3.0 durch den Datenbankhersteller und nicht durch den Standard definiert. Ab Version 4.0 verschiedene Exceptions vordefiniert. 15 8
9 Architektur-JDBC 16 JDBC - Datenstrukturen Connection: Repräsentiert eine Datenbankverbindung Repräsentationsarten für Anfragen Statement: Einfache CREATE, UPDATE, INSERT, DELETE Anfragen Prepared Statement: Ermöglicht die Ausführung Vorübersetzter Anfragen. Verhindert SQL-Injections. Callable Statement: Ermöglicht die Ausführung von SQL- Stored Procedures ResultSet: Stellt die Ergebnismenge einer Abfrage dar. ResultSetMetaData: Beinhaltet die Metadaten, wie Spaltennamen und Datentypen einer Ergebnismenge. 17 9
10 JDBC-Beispiel Laden des Treibers: Class.forName( MyDriverClassName");! Erstellen der Verbindung: String url = jdbc: <subprotocol>: <subname> Connection conn = DriverManager.getConnection(url);! Alternative mittels DataSource: InitialContext ic = new InitialContext(); DataSource ds = ic.lookup(url); Connection con = ds.getconnection();! 18 JDBC-Beispiel Abfrage durchführen: String qry = SELECT Datum, Ort FROM Angebot!!+ WHERE AngNr =? AND KursNR =? ; PreparedStatement stmt = conn.preparestatement(qry); stmt.setint(1,8); stmt.setint(2,15); ResultSet rs = stmt.executequery();! Abfrageergebnis ausgeben: while(rs.next()) { String da = rs.getstring( Datum ); String pl = rs.getstring( Ort ); System.out.printf( Kurs ist am %s in %s, da, pl); }! 19 10
11 JDBC-Beispiel Resourcen freigeben: rs.close(); stmt.close(); conn.close();! Fehlerbehandlung in JDBC: try { // JDBC Aufruf } catch(sqlexception ex) { for(throwable thr : exception) {! System.out.println(thr.getMessage());!! } } 20 SQLJ Statisches SQL für JAVA In SQL-Standard festgelegt Von der Syntax ähnlich wie statisches ESQL Ermöglicht Typüberprüfung zur Übersetzungszeit Verwendet intern JDBC -> Binärkompatibel zwischen DBMS Optimierte Implementierungen für spezifische DBMS möglich Wird hauptsächlich zur Implementierung von Stored Procedures innerhalb von DBMS verwendet. Nachteil: Keine dynamischen Bestandteile innerhalb von Anfragen möglich
12 ADO.net API-Schnittstelle, die unter der.net Umgebung für die Anbindung an Datenbanken verantwortlich ist. Ähnlich zu JDBC Unterstützt von Anfang an verbundenes und nicht verbundenes Verarbeitungsmodel. Ermöglicht innerhalb der.net Umgebung Betriebssystemunabhängigkeit. Für Abwärtskompatibilität ist Zugriff auf ODBC bzw. OLEDB Datenquellen möglich. 22 DB-Abstraktionsschicht in OO-Sprachen Fast alle OO-Sprachen besitzen Low Level DB-APIs (vgl. JDBC, ADO.NET...) Low Level APIs mit objektorientierten Mitteln gebaut (Connection, ResultSet...) Verarbeitung selbst ist prozedural, da Ergebnismenge keine Objekte repräsentieren. Anwender muss händisch zwischen Tupelmenge und Objekten konvertieren Arbeitsintensiv + Fehleranfällig Lösungsansatz: Frameworks und Bibliotheken versuchen die DB zu abstrahieren. Diese werden Objekt Relationale Mapper (ORM) genannt
13 Object-relational Impedance Missmatch OO-Sprachen kapseln Informationen in Objekten. Objekte besitzen öffentliche Schnittstelle und verstecken die interne Repräsentation RDBMS kennen nur öffentliche Daten Unterschiede im Typsystem (z.b. by-value vs. by-reference) OO Sprachen verwenden navigierenden Zugriff um Assoziationen zu traversieren (verschachtelte Datenstrukturen) In RDBMs werden Assoziationen durch JOINs aufgelöst. (flache Datenstrutkturen) Deklarative vs. imperative Semantik OO-Konzepte wie Vererbung im relationalen Modell nicht vorhanden 24 Eigenschaften eines ORM Einfache Spezifikation von Abbildungen zwischen Tabellen und Objekten Navigierender Zugriff auf Objekten Objektorientierte Anfragesprachen Ergebnisse von Anfragen sind erneut Objekte 25 13
14 Problemstellungen bei OR-Mapping Wann werden Assoziationen geladen? z.b.: Abteilungen werden aus einer Datenbank geladen. Wann werden die dazugehörigen Mitarbeiter geladen? Wie ist der Lebenszyklus von Objekten? Wie wird die Objektidentität behandelt. Wie werden Assoziationen abgebildet. Wie werden bidirektionale Referenzen abgebildet. z.b.: Auf Objekten der Klasse Abteilung kann die Methode getmitarbeiter aufgerufen werden. Auf Objekten der Klasse Mitarbeiter kann die Methode getabteilung aufgerufen werden. Wie wird Vererbung abgebildet. 26 OR - Mapping-Strategien Einfaches Objekt (ohne Assoziationen) auf Tabelle: Jedes Tupel entspricht einem Objekt. Jede Eigenschaft eines Objektes wird auf ein Attribut eines Tupels abgebildet (soweit möglich mit jeweils gleichem Namen). Die Datentypen der Tabelle und des Objektes werden aufeinander abgestimmt. (z.b.: Timestamp Calendar) 27 14
15 OR Mapping-Strategien 1:N Beziehung: Im relationalen Schema werden 1:N durch Fremdschlüssel auf der N-Seite Abgebildet: Abteilung(AbteilungsId, Abteilungsname)!!!Mitarbeiter(MitarbeiterNr, AbteilungsId, Namen)! Objektorientiert wird der Sachverhalt wie folgt modelliert: 28 OR Mapping-Strategien M:N Beziehung: Im relationalen Schema werden M:N Beziehung mittels separaten Beziehungsrelationen abgebildet: Benutzer(Login, )!Berechtigung(Ber_Name, Beschreibung)!IstBerechtigt(Login, Ber_Name)! Objektorientiert wird dieser Sachverhalt wie folgt modelliert: 29 15
16 OR Mapping-Strategien Vererbung: Gegeben sei folgendes Objektmodell: 30 OR Mapping-Strategien Vererbung: Abbildung mittels Single Table Inheritance: Eine Relation enthält die Vereinigung aller Properties der gesamten Vererbungshierarchie. Zusätzlich wird eine sogenannte Diskriminatorspalte eingefügt, die den Typ das aktuelle Tupel spezifiiziert. File(DateiID, Elternpfad, Name,! Auflösung, Länge, Bitrate, DISC)! Abbildung mittels Class Table Inheritance: Sowohl Basis- als auch Subklassen in eigenen Relationen. File(DateiID, Elternpfad, Name)!Audio(DateiID, Bitrate, Länge)!Bild(DateiID, Bitrate)! 31 16
17 OR Mapping-Strategien Vererbung: Abbildung mittels Concrete Table Inheritance: Für jede Subklasse wird eine eigenständige Tabelle mit der Vereinigung der Attribute aus der Sub- und der Basisklasse erzeugt. Audio(DateiID, Elternpfad, Name, Bitrate, Länge)!Bild(DateiID, Elternpfad, Name, Auflösung)! 32 Möglichkeiten zur Spezifikation Mittels XML Dialekt: vgl. Hibernate, OpenJPA Source Code Annotations: vgl. JPA-Standard Im Source Code mittels Meta Programming: vgl. Ruby on Rails 33 17
18 ORM - Abfragesprachen Criteria APIs für dynamische Abfragen. vgl. Hibernate: z.b.: Criteria crit =!!sess.createcriteria(mitarbeiter.class); crit.createcritera( Abteilung )!!.add(restrictions.eqproeprty( name, DBIS ); List<Mitarbeiter> mas = crit.list(); Diverse Object Query Languages (ähnlich zu SQL) vgl. JPA-QL. Anfragestring wird dabei als Methodenargument übergeben. z.b.: SELECT ma FROM Mitarbeiter ma!where ma.abteilung.name = DBIS ;! 34 ORM - Abfragesprachen Natives SQL (muss den Ergebnisobjekten entsprechen) vgl. Hibernate z.b.: SELECT MitarbeiterNr, AbteilungsId, Namen FROM Mitarbeiter Ma INNER JOIN Abteilung Abt ON Abt.AbteilungsId = Ma.AbteilungsID WHERE Abt.Abteilungsname = DBIS ;! LINQ (Microsoft Language Integrated Query) Anfrage ist dabei direkt Bestandteil der Programmiersprache (nur Manipulation des Syntaxbaumes). Wird zur Übersetzungszeit in Äquivalente Lambda- Ausdrücke übersetzt
19 ORM - Abfragesprachen LINQ (Microsoft Language Integrated Query) Beispiel Anfrage: var query = FROM ma IN this.mitarbeiter WHERE ma.abteilung.name = DBIS SELECT ma; foreach ( var ma in query ) {!Console.WriteLine (... + ma.name); }! Alternativ: var query = this.mitarbeiter.where(!ma => ma.abteilung.name == DBIS )! 36 19
2. Datenbank-Programmierung
2. Datenbank-Programmierung SQL ist eingeschränkt bezüglich der algorithmischen Mächtigkeit, z.b. Berechnung einer transitiven Hülle ist in Standard-SQL nicht möglich. Die Einschränkung ist von Bedeutung
Mehrseit 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
MehrDatenbank 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......................
MehrKapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1
Kapitel 10 JDBC und SQLJ 1 JDBC und SQLJ Bisher: Einbettung von SQL (statisch bzw. dynamisch) in C, C++, COBOL, ADA (embedded SQL) bzw. prozedurale Erweiterungen für SQL in Oracle (PL/SQL) Was ist mit
MehrWie kommen die Befehle zum DBMS
Wie kommen die Befehle zum DBMS Dr. Karsten Tolle Datenbanken und Informationssysteme Wie kommen die Befehle zum DBMS Bisher gesehen: SQL direkt zum DBMS Workbench Kommandozeile IBM Query Tool Weitere?
MehrDatenbanksysteme I Datenbankprogrammierung. 15.6.2009 Felix Naumann
Datenbanksysteme I Datenbankprogrammierung 15.6.2009 Felix Naumann SQL mit einer Programmiersprache verbinden 2 Embedded SQL Kombiniert SQL mit 7 Programmiersprachen ADA, C, Cobol, Fortran, M, Pascal,
Mehrvs. Fehler zur Übersetzungszeit
Client-Server-Architektur, Anbindung von Programmiersprachen, Call-Level-Schnittstellen: /, JDBC, :, J, gespeicherte Prozeduren, prozedurale Erweiterungen: /PSM, PL/. IPD, Forschungsbereich Systeme der
MehrOracle: 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
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrJDBC. 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
MehrSQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter
SQLJ Standardisierte Java-DB DB-Schnittstelle Spezifikationen Part 0: Embedded SQL für Java (ANSI-Standard; Object Language Binding) Statische Einbettung von SQL-Anweisungen in Java-Quelltext Part 1: Java
MehrGesicherte Prozeduren
Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.
MehrJava Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1
Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen
MehrUniversität Stuttgart Abteilung Anwendersoftware 01.07.2002. - Steht für Embedded SQL in Java. - Java-Methoden als SQL Stored-Procedures
SQLJ Basics Universität Stuttgart Abteilung Anwendersoftware 01.07.2002 Was ist SQLJ? SQLJ Part 0: - Steht für Embedded SQL in Java SQLJ Part 1: - Java-Methoden als SQL Stored-Procedures SQLJ Part 2: -
Mehr11 Anwendungsprogrammierung
11 11 11.1 Programmiersprachenanbindung 11.2 11.3 183 11 Programmiersprachenanbindung Programmiersprachenanbindung Kopplungsarten: prozedurale oder CALL-Schnittstellen (call level interface) Beispiele:
MehrDynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
MehrKapitel 10: Datenbankzugriff & Pufferung 2
Kap. 10 Datenbankzugriff und Pufferung 10.1 Datenbankzugriff in ERP-Systemen 10.2 Pufferung auf Anwendungsebene 10.3 Workshop: ABAP-Programmierung in SAP R/3 Open SQL Native SQL Kapitel 10: Datenbankzugriff
MehrLINQ to SQL. Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel. Institut für Informatik Software & Systems Engineering
LINQ to SQL Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel Institut für Informatik Software & Systems Engineering Agenda 1. LINQ allgemein Vorteile Bausteine und Varianten
MehrArchitekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131
Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet
MehrGrundlagen 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
MehrProzedurale 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.
MehrKapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1
Kapitel 9 Embedded SQL Vorlesung Datenbanken 1 Embedded SQL (siehe auch [Date00]) Arbeitsweise ähnlich PL/SQL, allerdings: Normale Programmiersprache mit eingestreuten SQL-Befehlen und anderen Befehlen
Mehr3. Stored Procedures und PL/SQL
3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln
MehrÜbung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
MehrWie kommen die Befehle zum DBMS
Wie kommen die Befehle zum DBMS Dr. Karsten Tolle Datenbanken und Informationssysteme Wie kommen die Befehle zum DBMS Bisher gesehen: SQL direkt zum DBMS MySQL Workbench / HeidiSQL Kommandozeile Weitere?
MehrDatenbanksysteme I Übung: JDBC. Jana Bauckmann
Datenbanksysteme I Übung: JDBC Jana Bauckmann Wo reicht SQL alleine nicht? 2 Web-Anwendungen Daten übersichtlich und schön präsentieren Komplizierte Fragestellungen Sind sich 2 Tupel ähnlich? Duplikaterkennung
MehrSQL 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-
MehrO/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
MehrFolgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133.
Page 1 of 7 Betrifft: Java oder PL/SQL? Art der Info: Technische Background Info Autor: Guido Schmutz (guido.schmutz@trivadis.com) Quelle: Aus unserer Schulungs- und Beratungstätigkeit Mit Oracle8.1 besteht
MehrDatenbankentwurf & 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
MehrDatenmanagement 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
MehrVon ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig
Von ODBC zu OLE DB Neue Möglichkeiten der Datenintegration Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig Von ODBC zu OLE DB Begriffsbestimmung ODBC, OLE DB, COM, ADO... Unterschiede zwischen
MehrSuche schlecht beschriftete Bilder mit Eigenen Abfragen
Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere
MehrORM & 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:
MehrPraktikum Datenbanksysteme
Praktikum Datenbanksysteme Herbstsemester 2012 Dr. Andreas Geppert Platform Architecture Technology Infrastructure Services Credit Suisse geppert@acm.org Herbstsemester 2012 Slide 1 Themenübersicht konzeptueller
MehrAnleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken
Betriebliche Datenverarbeitung Wirtschaftswissenschaften AnleitungzurEinrichtungeinerODBC VerbindungzudenÜbungsdatenbanken 0.Voraussetzung Diese Anleitung beschreibt das Vorgehen für alle gängigen Windows
MehrDATENBANKEN 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.
MehrWebbasierte 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)
MehrVerteidigung 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
MehrObjektrelationale 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
MehrNachtrag: 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
MehrDatenbanken & 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
MehrVerbinden von IBM Informix mit Openoffice mittels JDBC
Verbinden von IBM Informix mit Openoffice mittels JDBC Voraussetzungen Installierte und laufende IBM Informixdatenbank. Getestet wurde mit IDS 9.40 und 10.00. Sollte aber auch mit älteren Versionen funktionieren.
MehrSQL (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
MehrUpdate und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten
Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten Der Konfigurations-Assistent wurde entwickelt, um die unterschiedlichen ANTLOG-Anwendungen auf den verschiedensten Umgebungen automatisiert
MehrJDBC. 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
MehrWS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4)
Vorlesung #6 SQL (Teil 4) Fahrplan Besprechung der Übungsaufgaben Einschub: Self Joins (relevant fürs Praktikum) Dynamische Intergritätsbedingungen, das Trigger - Konzept von Oracle Prozedurale Erweiterungen,
MehrSoftwareentwicklung mit JAVA EE
Softwareentwicklung mit JAVA EE Grundlagen: Datenbankprogrammierung Literatur T. Kudraß (Hrsg.): Taschenbuch Datenbanken, Hanser, 2007 DB-Programmierung-2 Einbettungstechniken Einbettung in 3GL Embedded
MehrDatabase Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695
Database Exchange Manager Replication Service- schematische Darstellung Replication Service- allgemeines Replikation von Daten von bzw. in ein SAP-System und einer relationalen DMS-Datenbank Kombination
MehrWhite Paper. Konfiguration und Verwendung des Auditlogs. 2012 Winter Release
White Paper Konfiguration und Verwendung des Auditlogs 2012 Winter Release Copyright Fabasoft R&D GmbH, A-4020 Linz, 2011. Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen
MehrC# - Einführung in die Programmiersprache Arbeiten mit ADO.NET. Leibniz Universität IT Services Anja Aue
C# - Einführung in die Programmiersprache Arbeiten mit ADO.NET Leibniz Universität IT Services Anja Aue Experteneinstellungen in Visual Studio Express Extras Einstellungen Experteneinstellungen. Es werden
Mehr6.9 Java Server Pages
DocumentCollection dc = db.ftsearch(abfrage); Document d = dc.getfirstdocument(); while (d!= 0) { String Name = db.gettitle(); out.println(name + ""); d = dc.getnextdocument(); catch (NotesException
MehrJava Einführung Packages
Java Einführung Packages Inhalt dieser Einheit Packages (= Klassenbibliotheken) Packages erstellen Packages importieren Packages verwenden Standard Packages 2 Code-Reuse Einbinden von bereits (selbst-/fremd)
MehrHow-to: Webserver NAT. Securepoint Security System Version 2007nx
Securepoint Security System Inhaltsverzeichnis Webserver NAT... 3 1 Konfiguration einer Webserver NAT... 4 1.1 Einrichten von Netzwerkobjekten... 4 1.2 Erstellen von Firewall-Regeln... 6 Seite 2 Webserver
MehrFachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
MehrVBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
MehrSQL 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
MehrDipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009
Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger
MehrKapitel 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
MehrSchlüssel bei temporalen Daten im relationalen Modell
Schlüssel bei temporalen Daten im relationalen Modell Gesine Mühle > Präsentation > Bilder zum Inhalt zurück weiter 322 Schlüssel im relationalen Modell Schlüssel bei temporalen Daten im relationalen Modell
MehrDatenbankprogrammierung 1
Datenbankprogrammierung 1 Die Folien basieren auf: Datenbanken: Konzepte und Sprachen, Andreas Heuer und Gunter Saake, mitp-verlag, 2. Auflage, 2000, http://wwwiti.cs.uni-magdeburg.de/biber/ Datenbanken
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrUNIVERSITÄ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 //
Mehr8a. Exkurs.NET. 8a.1.NET Architektur
8a. Exkurs.NET Inhalt: 8a.1.NET Architektur 8a.2 Kooperation von Anwendungen über ADO -.NET 8a.3 Unterschiede gegenüber gewöhnlicher WIN32- Programmierung 1 8a.1.NET Architektur Bislang wurden die C/C++
MehrWas ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,
Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,
Mehr3. Das Relationale Datenmodell
3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie
MehrDatenbanksysteme. 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
MehrKlausur Datenbanken II
Klausur Datenbanken II 8.3.2001 Name Vorname Semester Matrikelnr Aufgabe Punkte maximal 1 8 2 8 3 3 4 3 5 4 6 6 7 6 8 6 9 [Zusatz] [4] Summe 44 Punkte erreicht Bitte geben Sie die Lösungen möglichst direkt
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrDatenbankanwendungen (JDBC)
Datenbankanwendungen (JDBC) Hierarchie: Connection Transaction Statement Connection Aufbau (klassisch): Registrierung des JDBC Driver beim DriverManager: Class.forName(JDBC Driver); Eigentlicher Verbindungsaufbau
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22
Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften
MehrGrundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB
Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB Jörg Liedtke, Oracle Consulting Vortrag zum Praxis-Seminar B bei der KIS-Fachtagung 2007, Ludwigshafen Agenda
MehrSoftwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch
Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich
MehrIntegration, Migration und Evolution
14. Mai 2013 Programm für heute 1 2 Quelle Das Material zu diesem Kapitel stammt aus der Vorlesung Datenintegration & Datenherkunft der Universität Tübingen gehalten von Melanie Herschel im WS 2010/11.
MehrArbeiten mit einem lokalen PostgreSQL-Server
Arbeiten mit einem lokalen PostgreSQL-Server Download für das Betriebssystem Windows PostgreSQL-Server und pgadmin: http://www.enterprisedb.com/products-servicestraining/pgdownload#windows pgadmin: http://www.pgadmin.org/download/windows.php
MehrEigenen WSUS Server mit dem UNI WSUS Server Synchronisieren
Verwaltungsdirektion Informatikdienste Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Inhaltsverzeichnis Einleitung... 3 Installation WSUS Server... 4 Dokumente... 4 Step by Step Installation...
MehrOP-LOG www.op-log.de
Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server
MehrClient-Server-Beziehungen
Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server
MehrWhitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Einbindung externer FiBu-/Warenwirtschaftsdaten Einbindung externer FiBu-/Warenwirtschaftsdaten - 2 - Inhalt Ausgangssituation
MehrDie Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter
Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,
MehrSAP NetWeaver Gateway. Connectivity@SNAP 2013
SAP NetWeaver Gateway Connectivity@SNAP 2013 Neue Wege im Unternehmen Neue Geräte und Usererfahrungen Technische Innovationen in Unternehmen Wachsende Gemeinschaft an Entwicklern Ausdehnung der Geschäftsdaten
Mehr5. Programmierschnittstellen für XML
5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen
MehrJava 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
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
MehrArbeitsgruppe Multimedia DLmeta in echten Anwendungen
Arbeitsgruppe Multimedia DLmeta in echten Anwendungen Christian Aschoff (christian.aschoff@e-technik.uni-ulm.de) Till Hänisch (till.haenisch@rz.uni-ulm.de) Janet Ferko (janet.ferko@rz.uni-ulm.de) Carola
MehrBetriebshandbuch. MyInTouch Import Tool
Betriebshandbuch MyInTouch Import Tool Version 2.0.5, 17.08.2004 2 MyInTouch Installationshandbuch Inhaltsverzeichnis Inhaltsverzeichnis... 2 Bevor Sie beginnen... 3 Einleitung...3 Benötigte Daten...3
MehrArchitektur des agimatec-validation Frameworks
Development : Implementierung Validierungskonzept (Dokumentation) This page last changed on Apr 03, 2008 by roman.stumm. Architektur des agimatec-validation Frameworks Generierung der Metainformationen
MehrVerhindert, 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:
MehrObjectBridge Java Edition
ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente
MehrÜbungsblatt 8- Lösungsvorschlag
Universität Innsbruck - Institut für Informatik Prof. Günther Specht, R.Binna, N.Krismer, M. Tschuggnall 30. November 2012 Proseminar Datenbanksysteme Übungsblatt 8- Lösungsvorschlag Aufgabe 1 (Trigger)
MehrObjektbasierte Entwicklung
Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit
MehrÜbung Datenbanksysteme I JDBC. Thorsten Papenbrock
Übung Datenbanksysteme I JDBC Thorsten Papenbrock Motivation: Grenzen von SQL 2 1. Bedingte Anweisungen Erhöhe das Gehalt eines Arbeitsnehmers um 2%, falls er eine Belobigung erhalten hat 2. Darstellung
MehrWhitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Einbindung externer FiBu-/Warenwirtschaftsdaten Einbindung externer FiBu-/Warenwirtschaftsdaten - 2 - Inhalt Ausgangssituation
MehrProseminar Datenbanken
Proseminar Datenbanken Dominik Engel Fachbereich Computerwissenschaften Universität Salzburg Sommersemester 2008 0 Material zur Lehrveranstaltung http://www.cosy.sbg.ac.at/dengel/ teaching/psdb/ Webpage
MehrInteraktive 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Übung Datenbanksysteme I JDBC. Thorsten Papenbrock
Übung Datenbanksysteme I JDBC Thorsten Papenbrock Motivation: Grenzen von SQL 2 1. Bedingte Anweisungen Erhöhe das Gehalt eines Arbeitsnehmers um 2%, falls er eine Belobigung erhalten hat 2. Darstellung
Mehr2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)
1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise
MehrIV. 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