Persistenzframeworks
|
|
- Susanne Hofmeister
- vor 8 Jahren
- Abrufe
Transkript
1 Persistenzframeworks Präsentation im Rahmen des Software Engineering-Seminars Zaferna-Hütte, 5. Januar 2009 Georg Senft
2 Inhalt Grundbegriffe Objektrelationales Mapping LINQ Hibernate und JPA Fazit Einordnung Heraus- forderungen Architektur Exkurs: Spracherweiterungen objektrelationales Mapping Lösungen LINQ to SQL Abfragen ORM Abfragen NHibernate 2
3 Grundbegriffe Framework konzeptspezifische Lösung für generisches Problem OO: insb. Vererbung, White-Box-Wiederverwendung Problem-Abdeckung ~ Standardisierbarkeit Persistenz Fähigkeit einer Anwendung, Daten in einem nicht-flüchtigen Speicher zu sichern und später wiederherzustellen. Persistenzframework allgemein: Lösung für weit verbreitete Persistenz-Anforderung dabei: Kapselung Entkoppelung + speziell (OO & relationales l DBMS): Objektrelationales ti l Mapping 3
4 Objektrelationales Mapping (1/5) Abbildung: objektorientierte ti t relationale l Strukturen Problem: Verschiedenheit der Paradigmen objektorientiertes Paradigma Klasse Attribut Objekt Assoziation Liste Vererbung Methoden Pendant relationales Paradigma Tabelle (Relation) Attribut Datensatz (Tupel) Assoziation Primärschlüssel Impedanz-Unterschied 4
5 Objektrelationales Mapping (2/5) Mapping: objektorientiert relational Klasse Tabelle (Relation) Klasse Tabelle einfache e Attribute Attribute Objektinstanzen Datensätze Attribut Objekt Attribut Datensatz (Tupel) Herausforderung: Primitive Typen SQL-Datentypen Java, C#, VB.NET byte short int long float double decimal char boolean/bool String/string (GregorianCalendar/DateTime) übliche SQL-Typen tinyint smallint int bigint real double decimal(n,m) char(n) bit varchar(n) date time timestamp datetime blob(n) Längenangaben ( ) clob(n) herstellerindividuelle Datentypen zusätzlich: NULL-Wert 5
6 Objektrelationales Mapping (3/5) 1:1-Beziehung und n:1-beziehung: objektorientiert Assoziation relational Assoziation Primärschlüssel Automobil Person 1 Halter * 1 Automobil Person ID Halter ID Strategien zur Primärschlüssel-Vergabe: Generierung durch DBMS Verwendung von Pseudo-Zufallszahlen etc. 6
7 Objektrelationales Mapping (4/5) 1:n-Beziehung: objektorientiert Assoziation Liste relational Assoziation Automobil Fahrer: Person[] * 0 *0..1 Person * Automobil ID Person ID Auto m:n-beziehung: Automobil Person Fahrer: Person[] Autos:Automobil[] * * Automobil ID AutoPersZuo ID AID PID Person ID 7
8 Objektrelationales Mapping (4/5) 1:n-Beziehung: objektorientiert Assoziation Liste relational Assoziation Automobil Fahrer: Person[] * 0 *0..1 Person * Automobil ID Person ID Auto OO: keine Unterscheidung Automobil Fahrer: Person[] Person * * Automobil ID AutoPersZuo ID AID PID Person ID 8
9 Objektrelationales Mapping (5/5) Vererbung: 3 Strategien objektorientiert relational Kfz Leistung Pkw Türen Lkw Achsen Klasse Vererbung Tabelle Tabelle je Klasse Kfz ID Diskriminator Leistg. Pkw ID Türen Lkw ID Achsen vollständige Tabelle je Klasse Kfz ID Diskriminator Pkw ID Leistung Türen Lkw ID Leistung Achsen gemeinsame Tabelle Kfz ID Diskr. Leistung Türen Achsen bei großer Klassenvielfalt Vorteil: effiziente Speichernutzung 9
10 LINQ für.net Language Integrated t Query für Microsoft.NET 3.5 vereinheitlichte Syntax für Arbeit mit Datenmengen und Elemente erweiterbarer Umfang an LINQ-Providern Sprachintegration, neuartige Sprachelemente Programmiersprachen C# Visual Basic LINQ Bausteine Expression Bäume Abfrage Ausdrücke Abfrage Operationen LINQ Provider LINQ to Objects LINQ to SQL LINQ to XML LINQ to Entities Datenquellen KlasseA int : Zahl KlasseB : myb foo() bar() KlasseB int : ZahlB bool : fertig flexnet() indapta() Objekte SQL Server XML Entity Framework 10
11 Objekt-Initialisierer Exkurs: Spracherweiterungen in C# 3.0 (1/1) Kurzschreibweise für Initialisierung + Setzen öffentlicher Attribute Cl o = new Cl(4) { Attr1 = 1, Attr2 = 2 }; Erweiterungsmethoden Bestehende Klassen ohne Vererbung um Methoden erweitern internal static void add(this int a,int b){ a+=b; } Implizit typisierte Variablen lokales var innerhalb einer Methode, Initialisierung erforderlich Anonyme Typen var mit Objektinitialisierer für implizite, neue Klasse Lambda-Ausdrücke vergleichbar mit anonymen Methoden, Delegat-Typen Array.FindAll<int>(Zahlen, i => (i<42) ); vom Compiler in Expression-Baum übertragen 11
12 ORM für bestehende SQL Server Datenquellen LINQ to SQL (1/5) grafisches ORM-Werkzeug in Visual Studio liefert gemappte Klassen Verwendung von Annotationen, sog. Attributen an gemappte Klasse[Table(Name="dbo.Automobil")] [Column(DbType="DateTime NOT NULL",CanBeNull=false)] [Column(DbType="DateTime")] System.Nullable<System.DateTime> Erstzulassung Primärschlüssel: IsPrimaryKey=true und IsDbGenerated= Assoziation: [Association(ThisKey="Halter", OtherKey="PersonID", IsForeignKey=true)] Person PersonHalter; Gegenseite: EntitySet<Automobil> AutosGehalten; neben den gemappten Klassen: DataContext für DB-Interaktion gettable(), submitchanges() typisierte Table als Grundlage für Abfragen 12
13 13
14 LINQ to SQL (2/5) Abfrage: anonym typisiert i tals vergleichbar: lihb Herkunfts-Menge Operation IQueryable<Auto> foreach Table<Auto> (Auswahl) var Autos = from auto in tabautos select auto; mit Kriterium und implizitem JOIN: var Autos = from auto in tabautos where auto.personhalter.vorname=="georg" select auto; wird zum SQL-Ausdruck: SELECT [t0].[kennzeichen], [t0].[typ], [t0].[erstzulassung], [t0].[halter] FROM [dbo].[automobil] AS [t0] LEFT OUTER JOIN [dbo].[person] [P ] AS [t1] ON [t1].[personid]=[t0].[halter][p [t0] [H ] WHERE [t1].[vorname] = 'Georg' 14
15 LINQ to SQL (3/5) Einfügen: tabautos.insertonsubmit(neuesauto); ausgeführter SQL-Ausdruck: INSERT INTO [dbo].[automobil] ([Kennzeichen], [Typ], [Erstzulassung], @p3) SELECT CONVERT(Int,SCOPE_IDENTITY()) AS [value] Löschen: tabautos.deleteonsubmit(altesauto); Aktualisierungen implizit, danach DataContext.submitChanges(); 15
16 LINQ to SQL (4/5) Prinzip des IQueryable für Abfragen: Übersetzung des LINQ-Ausdrucks zu Expression-Baum durch CIL-Compiler Auswertung durch LINQ-Provider Generierung und Ausführung adäquater SQL-Ausdrücke C# Expression Bäume Abfrage Ausdrücke Abfrage Operationen LINQ to SQL SQL Server 16
17 Transaktionen: explizit LINQ to SQL (5/5) über DataContext.Connection.BeginTransaction(..) und anschließender Zuweisung an Kontext Connection Pooling: implizit über ADO.NET-Verbindung bedarfsweises Laden der Tabellen (Lazy Fetching) Normalfall, über DataLoadOptions regulierbar Zwischenfazit LINQ to SQL und LINQ: vollständige Kapselung vorhandener MS SQL Sever-Datenquellen Sprachintegration: Typsicherheit, Überprüfung, Vervollständigung LINQ-Ausdrücke prägnant, zumindest bei geringer Komplexität keine Zerlegung eines LINQ-Ausdrucks beim Debugging 17
18 Java Persistence API (JPA) Hibernate und Java Persistence API (1/4) Schnittstellenspezifikation für Persistenzframeworks (JSR 220) Bestandteil von EJB 3.0, Bestandteil von Java EE 5.0 Einsatz in Java EE-Container oder Java SE 5.0-Anwendung Hibernate Open Source Persistenzframework, implementiert JPA, derzeit: für JDBC-kompatible, relationale Datenquellen Hibernate Funktionsumfang übersteigt JPA-Anforderungen Bestandteile: Entity Manager: JPA-kompatible Schnittstelle Core: zentrale OR-Mapping-Komponente p und Abfragegenerator g Annotations: ORM-Spezifikation per Annotationen in Java-Klassen (alternativ: ORM-Spezifikation per XML-Datei) 18
19 Hibernate und Java Persistence API (2/4) Annotationen ti zur ORM-Spezifikation: Klassen Primärschlüssel-Attribut ) IDENTITY TABLE SEQUENCE uuid Generierung durch Datenbank aktuelle Werte liegen in Sondertabelle Generierung durch Sequenz in Datenbank (z. B. Oracle) Pseudo-Zufallswert weitere Attribute ggf. mit nullable, length ") an Set-Kollektion z. B. HashSet und bei ) mit Aktualisierungs-Operation zusätzlich fetch= und cascade= möglich 19
20 Hibernate und Java Persistence API (3/4) weitere Annotationen zur ORM-Spezifikation: ) TABLE_PER_CLASS JOINED SINGLE_TABLE Verwendung des EntityManager Erzeugung aus Session für Entity-Objekte persist()und remove() Transaktionssteuerung Suche anhand Primärschlüssel: find() weiterführende Abfragen vollständige Tabelle je Klasse Tabelle je Klasse (mit individuellen Attributen) gemeinsame EM.createNativeQuery()direkter SQL-Befehl an das DBMS EM.createQuery() JPA Query Language Criteria typsichere Parameter-Struktur Example Beispielobjekt als Kriterium 20
21 Hibernate und Java Persistence API (4/4) weitere Aspekte: Connection Pooling nur über Zusatz-Lösungen (z. B. C3PO) Erstellung gemappter Tabellen in DBMS möglich, über: hb2ddl.schemaexport.create() diverse Werkzeuge für automatisierten Schema-Import und -Export Zwischenfazit Hibernate / JPA: vollständige Kapselung der Persistenz-Mechanismen typsichere Verfahren zur Abfrage wie Criteria oder Example automatisierte Tabellen-Generierung möglich 21
22 NHibernate für.net Portierung Hibernate.NET ausgehend von Version 2.1, seitdem eigenständig weiterentwickelt Funktionsumfang NHibernate 2 vergleichbar mit Hibernate 3 kompatibel mit.net ab 1.1 Datenzugriff per ADO.NET somit auch OLE DB und ODBC ORM-Spezifikation nur mit XML-Mapping-Dateien Version 3: LINQ to NHibernate-Provier IQueryable wird über Criteria realisiert 22
23 Fazit Grad der Problemabdeckung: Objektrelationales Mapping gleichwertig umgesetzt Kapselung der Datenzugriffsschicht gleichwertig umgesetzt aber: LINQ to SQL nur für vorhandene Datenbanken Abfragemechanismen: JPA sehr allgemein ausgereifte Mechanismen in Hibernate Mechanismen in LINQ durch Sprachintegration prägnanter Architekturvergleich: JPA LINQ LINQ durch Einbezug der Sprache umfasender und überlegen 23
24 Literatur [MEW08] Fabrice Marguerie, Steve Eichert, Jim Wooley: LINQ im Einsatz, Carl Hanser Verlag, [Me08] Vijay P. Mehta: Pro LINQ Object Relational Mapping with C# 2008, Apress, [PR07] Paolo Pialorsi, Marco Russo: Introducing Microsoft LINQ, Microsoft Press, [Ra07] Joseph C. Rattz: Pro LINQ: Language Integrated Query in C# 2008, Apress, [BHRS07] Robert F. Beeger, Arno Haase, Stefan Roock, Sebastian Sanitz: Hibernate Persistenz in Java-Systemen mit Hibernate und der Java Persistence API, 2. Aufl., dpunkt.verlag, [He07] Sebastian Hennebrüder: Hibernate Das Praxisbuch für Entwickler, Galileo Press, [MW08] Bernd Müller, Harald Wehr: Java-Persistence-API mit Hibernate, Standardisierte Persistenz, Addison-Wesley,
LINQ 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
MehrDatenzugriffskomponente mit JPA 2.1
Datenzugriffskomponente mit JPA 2.1 (Grundlagen der Java Persistence Architecture) Vladislav Faerman Gliederung Einführung Konfiguration Objekt-Relationales Mapping (ORM) mit JPA Das zentrale Konzept der
MehrHibernate 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Ü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,
MehrÜ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
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-
MehrGregor Raschke 2008 HIBERNATE. Eine Einführung
1 HIBERNATE Eine Einführung Inhalt 2 Einleitung Beispielkonfiguration Die hibernate.cfg.xml Eine Beispieltransaktion Abfragemöglichkeiten JPA und Hibernate Ressourcen und Quellen Einleitung (1) - Geschichtliches
MehrRelationales 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
MehrJava 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.
MehrInhaltsverzeichnis. Bernd Müller, Harald Wehr. Java Persistence API 2. Hibernate, EclipseLink, OpenJPA und Erweiterungen ISBN:
Inhaltsverzeichnis Bernd Müller, Harald Wehr Java Persistence API 2 Hibernate, EclipseLink, OpenJPA und Erweiterungen ISBN: 978-3-446-42693-1 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42693-1
MehrOR-Mapping. WS2008/2009 DBIS/Dr. Karsten Tolle
OR-Mapping Zwei Paradigmen treffen aufeinander Gegensätze OO vs. Relational: Stichwort: O/R Impedance Mismatch Person Tabellen mit Schlüssel und Fremdschlusselbeziehungen. Abt-Nr. beschäftigt Pk-Nr Name
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
MehrOO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle
OO Programmiersprache vs relationales Model Vorgehen bisher Erstellen eines ER-Diagramms Übersetzen in das relationale Datenmodell Zugriff auf das relationale Datenmodell aus z.b. Java ER rel. Modell OO
MehrSQL. Fortgeschrittene Konzepte Auszug
SQL Fortgeschrittene Konzepte Auszug Levels SQL92 Unterteilung in 3 Levels Entry Level (i.w. SQL89) wird von nahezu allen DBS Herstellern unterstützt Intermediate Level Full Level SQL DML 2-2 SQL92 behebt
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:
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
MehrDatenbankpraktikum, Gruppe F. JPA mit Hibernate. Alexander Stautner, Harald Zauner, Sascha Schreier
JPA mit Hibernate Alexander Stautner, Harald Zauner, Sascha Schreier Agenda Objektrelationales Mapping JPA / Hibernate Demo # 2 Objektrelationales Mapping Objektorientierte Welt Objekte Objektidentität
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
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
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
MehrReferent: Marko Modsching. Vortrag: JPA mit Hibernate. Datum: 04.01.2011. Deutsche Software Engineering & Research GmbH
Referent: Marko Modsching Vortrag: JPA mit Hibernate Datum: 04.01.2011 Deutsche Software Engineering & Research GmbH Steinstraße 11 02826 Görlitz Germany Telefon: +49 35 81 / 374 99 0 Telefax: +49 35 81
MehrJava Persistence API mit Hibernate
Seminarunterlage Version: 6.02 Version 6.02 vom 4. April 2018 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen
MehrDatenbanken 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,
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.
Mehrdesk.modul : WaWi- Export
desk.modul : WaWi- Export Die Schnittstelle besteht aus einem Programm, welches die Daten aus der OfficeLine ausliest und in eine XML-Datei exportiert. Die Schnittstelle ist als ein eigenständiges Programm
MehrSoftwareentwicklung 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.
MehrAnalyse 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
MehrPersistenz 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)
MehrJava Persistence API. Phillip Ghadir Oliver Tigges
Phillip Ghadir phillip.ghadir@innoq.com Oliver Tigges oliver.tigges@gmx.de Was wissen Sie in 45 Minuten? Wie man mit JPA entwickelt. Dass wir viele Eigenschaften von JPA ausgelassen haben. Dass Sie nicht
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
MehrRelationale 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
MehrLINQ. 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
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........................
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
MehrHibernate. 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
Mehr3. Ü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
MehrSQL und MySQL. Kristian Köhntopp
SQL und MySQL Kristian Köhntopp Wieso SQL? Datenbanken seit den frühen 1950er Jahren: Hierarchische Datenbanken Netzwerkdatenbanken Relationale Datenbanken = SQL Relational? 10 9 8 7 6 f(y) := y = x r(y)
MehrORACLE Business Components for Java (BC4J) Marco Grawunder
ORACLE Business Components for Java (BC4J) Marco Grawunder Gliederung 2 Probleme von J2EE/EJB J2EE-Pattern Lösungsansatz: BC4J Architektur einer BC4J-Anwendung Komponenten Entity Objects View Objects Application
MehrCORBA. Systemprogrammierung WS 2006-2007
CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA
Mehr5. Programmierschnittstellen für XML
5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen
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
MehrA 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
MehrWorkshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk
Workshop Java Webentwicklung Einführung in Hibernate Ulrich Stärk Ablauf Montag bis Donnerstag 09:00 Uhr s.t. Beginn, bis ca. 17:00 Uhr 1 Stunde Mittagspause Donnerstag Experiment Aufzeichnung der Programmiertätigkeit
MehrOptions- und Freitext-Modul Update-Anleitung
Options- und Freitext-Modul Update-Anleitung Hinweis... 2 Update für Versionen kleiner als 1.2.4 auf 1.3.x... 3 Update für Versionen ab 1.2.4 auf 1.3.x... 6 Update für Versionen ab 1.3.x auf 2.x.x... 7
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
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.
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
MehrSQL 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
Mehr4. 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
MehrVorwort zur 5. Auflage... 15 Über den Autor... 16
Vorwort zur 5. Auflage...................................... 15 Über den Autor............................................ 16 Teil I Grundlagen.............................................. 17 1 Einführung
MehrLINQ Verstehen und Einsetzen
LINQ Verstehen und Einsetzen Proseminar Objektorientiertes Programmieren mit.net und C# Georg Wagner Institut für Informatik Software & Systems Engineering Agenda 1 2 3 4 5 LINQ-Einführung (Motivation,
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
MehrLeseprobe. Thorsten Kansy. Datenbankprogrammierung mit.net 3.5. Mehrschichtige Applikationen mit Visual Studio 2008 und MS SQL Server 2008
Leseprobe Thorsten Kansy Datenbankprogrammierung mit.net 3.5 Mehrschichtige Applikationen mit Visual Studio 2008 und MS SQL Server 2008 Herausgegeben von Holger Schwichtenberg ISBN: 978-3-446-41450-1 Weitere
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
Mehr2. 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
MehrUniversität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B
Mehr17.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.
MehrAS/point, Ihr Partner die nächsten 10 und mehr Jahre -
AS/point, Ihr Partner die nächsten 10 und mehr Jahre - technologisch betrachtet http://www.aspoint.de 1 Unsere vier Säulen heute e-waw modulare Warenwirtschaft für iseries evo-one Organisation und CRM
MehrObjektorientierte 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
MehrMengenvergleiche: 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
MehrNHibernate vs. Entity Framework
Manfred Steyer CAMPUS 02 softwarearchitekt.at NHibernate vs. Entity Framework Ziele NHibernate und Entity Framework sowie deren Unterschiede kennen lernen 1 Agenda Kriterien Beispiel mit EF Beispiel mit
MehrÜbungen zum Workshop Objektrelationales Mapping mit JPA 2.0
Übungen zum Workshop Objektrelationales Mapping mit JPA 2.0 Alle Unterlagen und Übungen sind in folgenden Google Code Project abgelegt und frei zugänglich: https://code.google.com/p/jpaworkshop/ Aktualisierung
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.
MehrJava-Persistence-API mit Hibernate
Bernd Müller, Harald Wehr Java-Persistence-API mit Hibernate Standardisierte Persistenz f Г- Щ.4 1 fl/j J ; Щ Ш Ш ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England
MehrINFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION
INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION Allgemein Infomon bietet die Architektur für das Informations-Monitoring in einer Windows- Topologie. Die Serverfunktionalität wird in einer IIS-Umgebung
MehrDatenbanktechnologie mit praktischen Übungen in MySQL und PHP
Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 22. April 2013 - MySQL Sebastian Cuy sebastian.cuy@uni-koeln.de Datenbanken Was sind eigentlich Datenbanken? Eine
MehrPersistenz. Ralf Gitzel
Persistenz Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Grundkonzepte Entity Beans Meine erste Entity Entity-Manager Lernziele Übungsaufgabe 3 Grundkonzepte
MehrLINQ im Einsatz HANSER. Fabrice Marguerie Steve Eichert Jim Wooley. щвщящ\ Mit einem Geleitwort on Watt Warren
Fabrice Marguerie Steve Eichert Jim Wooley щвщящ\ LINQ im Einsatz Mit einem Geleitwort on Watt Warren Deutsche Übersetzung von Walter Doberenz HANSER Inhaltsverzeichnis Geleitwort 15 Vorwort 17 Danksagung
MehrEclipse und EclipseLink
Eclipse und EclipseLink Johannes Michler Johannes.Michler@promatis.de PROMATIS, Ettlingen Zugriff auf Oracle Datenbanken aus Eclipse RCP Anwendungen via EclipseLink 18.09.2009 1 Gliederung Eclipse als
MehrDrei-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
MehrGrundlagen 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
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
MehrSQL, 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
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......................
MehrSession Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de
s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful
MehrDas Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala
Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:
Mehr7. Ü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
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
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
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
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
MehrIT-Basics 2. DI Gerhard Fließ
IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte
Mehr1 Grundbegriffe...1. 2 Datenbanksysteme...7. 3 Entwicklung von Datenbanksystemen...15. Inhaltsverzeichnis. 1.1 Information und Daten...
Inhaltsverzeichnis 1 Grundbegriffe...1 1.1 Information und Daten...2 1.2 Datenorganisation...3 1.3 Dateikonzept...5 1.4 Kontroll- und Vertiefungsfragen...6 2 Datenbanksysteme...7 2.1 Datenintegration...7
MehrWas ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit
Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling Framework Project) EMF ist ein Modellierungsframework und Tool
MehrPersistenzschicht in Collaborative Workspace
Persistenzschicht in Collaborative Workspace Mykhaylo Kabalkin 03.06.2006 Überblick Persistenz im Allgemeinen Collaborative Workspace Szenario Anforderungen Systemarchitektur Persistenzschicht Metadaten
Mehrdatenfabrik.phone Telefonnummern mit den SQL Server Integration Services validieren www.datenfabrik.com
datenfabrik.phone Telefonnummern mit den SQL Server Integration Services validieren Erstellen eines neuen SSIS Projektes. Wählen Sie das Template Integration Services Project aus.. Geben Sie einen Namen
MehrAndroid 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
MehrDatenbanken auf Sybase SQL-Anywhere
Office Manager Enterprise oder Client/Server (ab Version 6.0.3.170) Datenbanken auf Sybase SQL-Anywhere A. Office Manager-Installationen Falls die Office Manager Enterprise- oder Client/Server-Version
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
MehrEinführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
MehrSQL-INJECTIONS. N E T D E V E L O P E R S G R O U P B E R L I N B R A N D E N B U R G, 0 5. 0 4. 2 0 1 2
SQL-INJECTIONS. N E T D E V E L O P E R S G R O U P B E R L I N B R A N D E N B U R G, 0 5. 0 4. 2 0 1 2 Wie sind die nur wieder an meine Kreditkartendaten gekommen? http://www.testedich.de/quiz29/picture/pic_1312394875_7.jpg
MehrJava 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
MehrLINQ im Einsatz. von Walter Doberenz, Steve Eichert, Jim Wooley, Fabrice Marguerie. 1. Auflage. Hanser München 2008
LINQ im Einsatz von Walter Doberenz, Steve Eichert, Jim Wooley, Fabrice Marguerie 1. Auflage Hanser München 2008 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 41429 7 Zu Leseprobe schnell und
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
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
MehrSQL. 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:
MehrAllgemeines zu Datenbanken
Allgemeines zu Datenbanken Was ist eine Datenbank? Datensatz Zusammenfassung von Datenelementen mit fester Struktur Z.B.: Kunde Alois Müller, Hegenheimerstr. 28, Basel Datenbank Sammlung von strukturierten,
MehrLabor 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.
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
MehrIch liebe Java && Ich liebe C# Rolf Borst
Ich liebe Java && Ich liebe C# Rolf Borst Java oder C#? Einführung public class Einfuehrung { private int gesamtzahl = 0; /* Ermittelt die Anzahl der geraden und durch drei teilbaren Zahlen */ public String
Mehr