LINQ Verstehen und Einsetzen

Größe: px
Ab Seite anzeigen:

Download "LINQ Verstehen und Einsetzen"

Transkript

1 LINQ Verstehen und Einsetzen Proseminar Objektorientiertes Programmieren mit.net und C# Georg Wagner Institut für Informatik Software & Systems Engineering

2 Agenda LINQ-Einführung (Motivation, Bestandteile) C#-Spracherweiterungen (kleine Kontrollfrage) LINQ-Abfragearten LINQ unter der Lupe (Verzögerte Ausführung) LINQ to SQL LINQ Verstehen und Einsetzen v. Georg Wagner 2

3 1. Einführung zu LINQ LINQ Verstehen und Einsetzen v. Georg Wagner 3

4 LINQ Die universelle Abfragesprache Language INtegrated Queries LINQ Verstehen und Einsetzen v. Georg Wagner 4

5 Motivationstreiber zur Einführung von LINQ Es wird aus verschiedenen Datenquellen ermittelt, wer heute Geburtstag hat: Datenquellen: <Student> <Name> <Birthday> <MatrNr> </Student> Programmiersprache: MS-SQL DB DataSet LINQ Ein einheitlicher Zugriffscode WIEDER ANDERER CODE Ergebnis: Heute haben Geburtstag: Herbert, Anton, Fritz LINQ Verstehen und Einsetzen v. Georg Wagner 5

6 LINQ-Bestandteile Programmiersprachen LINQ-Bausteine Abfrageausdrücke LINQ-Provider C# VB.NET Standard Abfrageoperatoren F# Expression Trees LINQ2Objects LINQ2XML LINQ2SQL LINQ2Datase t Datenquellen <Student> <Vorname> <Nachname> <MatrNr> </Student> MS-SQL DB DataSet LINQ2Entities ADO.NET Entity Framework LINQ Verstehen und Einsetzen v. Georg Wagner 6

7 Agenda LINQ-Einführung (Motivation, Bestandteile) C#-Spracherweiterungen (kleine Kontrollfrage) LINQ-Abfragearten LINQ unter der Lupe (Verzögerte Ausführung) LINQ to SQL LINQ Verstehen und Einsetzen v. Georg Wagner 7

8 2. C#-Spracherweiterungen Spracherweiterungen zum Verstehen von LINQ LINQ Verstehen und Einsetzen v. Georg Wagner 8

9 Implizit typisierte lokale Variable Der Compiler leitet für die var-deklaration implizit den Variablentyp aus der Initialisierung der Variable ab. " var darf nur lokal verwendet werden. Objekt-Initialisierer Objekt-Initialisierer Objekt-Initialisierer nehmen Schreibarbeit ab und initialisieren öffentliche Felder bzw. öffentliche Eigenschaften nach ihrer Instanziierung LINQ Verstehen und Einsetzen v. Georg Wagner 9

10 Anonyme Typen Zweck:Schnelles Gruppieren von Daten in ein Objekt, ohne dass man explizit eine Klasse deklarieren muss: 1. Intern entsteht ein Typ mit den Eigenschaften Platz, Vorname und Nachname, der sog. Anonyme Typ. 2. Dieser Typ wird mit rangliste.platz, rangliste.vorname usw. initialisiert. 3. Am Schluss erhält sprinter die Referenz zum Anonymen Typen. Äquivalent ist auch: (Namen der Eigenschaften werden übernommen) LINQ Verstehen und Einsetzen v. Georg Wagner 10

11 Erweiterungsmethoden Mit Erweiterungsmethoden kann man bereits definierte Typen nachträglich Methoden hinzufügen. Kennzeichnet welcher Typ zu erweitern ist. Wenn man nun mit Instanzen arbeitet die IEnumerable<TSource> implementieren (wie z.b. List<Student>) kann man die Erweiterungsmethode abrufen. IntelliSense zeigt sie mit einem blauen Pfeil an: LINQ Verstehen und Einsetzen v. Georg Wagner 11

12 Lambda-Ausdrücke Mit Lambda-Ausdrücken wird das Einfügen von Code an Stellen erlaubt, wo man eigentlich eine Methoden-Übergabe an ein Delegate erwartet hätte. Eingabe-Parameter (Typ wird selbst abgeleitet) Muss mit den Parametern des Delegates Func (hier: TSource) entsprechen. Lambda-OperatorAusdruck oder Anweisungsblock Rückgabetyp muss mit dem des Delegates (hier: Boolean) übereinstimmen LINQ Verstehen und Einsetzen v. Georg Wagner 12

13 Kontroll-Frage 2 Parameter deklariert nur 1 Parameter übergeben Warum funktioniert der Where-Aufruf obwohl nur der 2. Parameter übergeben wurde? Wenn man auf das, was man zugreift (den Typ bei this), noch als Parameter angeben würde, hätte man immer eine unnötige redundante Information LINQ Verstehen und Einsetzen v. Georg Wagner 13

14 Agenda LINQ-Einführung (Motivation, Bestandteile) C#-Spracherweiterungen (kleine Kontrollfrage) LINQ-Abfragearten LINQ unter der Lupe (Verzögerte Ausführung) LINQ to SQL LINQ Verstehen und Einsetzen v. Georg Wagner 14

15 3. LINQ-Abfragearten LINQ Verstehen und Einsetzen v. Georg Wagner 15

16 LINQ-Abfrageausdrücke Das Datenobjekt studenten wird durch einen LINQ-Abfrageausdruck ausgefiltert: " Suche alle Studenten, die unser Proseminar machen und sortiere sie dem Vornamen nach absteigend geordnet. vom Typ IEnumerable<Student> Jede Abfrage beginnt mit from und endet mit select (oder group). studenten repräsentiert ein Objekt, das vom Typ IEnumerable<Student> ist Jedes Objekt, das IEnumerable<T> implementiert, wird im LINQ-Vokabular Sequenz genannt. studenten kann somit jedes beliebige Objekt sein, dass IEnumerable<T> implementiert (z.b. Array, List, Dictionary, ) LINQ Verstehen und Einsetzen v. Georg Wagner 16

17 LINQ-Abfrageausdrücke implizit typisierte lokale Variable Iterator vom Typ IEnumerable<Student> Um alle gefundene Studenten auszugeben nutzen wir: LINQ Verstehen und Einsetzen v. Georg Wagner 17

18 LINQ-Abfrageoperatoren Lambda-Ausdruck Allgemein gilt: Erweiterungsmethoden IEnumerable<T>-Erweiterungsmethoden geben IEnumerable<T> Typen zurück -> Möglichkeit der Verkettung -> Pipeline Pattern In unserem speziellen Fall ist der Typ jeweils: List<Student> LINQ Verstehen und Einsetzen v. Georg Wagner 18

19 Abfrageausdrücke vs. Abfrageoperatoren Man muss sich gar nicht für eine Art entscheiden, beide sind kombinierbar! - Abfrageausdrücke sind durch Ihre Kompaktheit meistens lesbarer - Aber: Unterstützen nur die Operatoren: Select SelectMany Join GroupJoin GroupBy Let Cast OrderBy/ThenBy LINQ Verstehen und Einsetzen v. Georg Wagner 19

20 Agenda LINQ-Einführung (Motivation, Bestandteile) C#-Spracherweiterungen (kleine Kontrollfrage) LINQ-Abfragearten LINQ unter der Lupe (Verzögerte Ausführung) LINQ to SQL LINQ Verstehen und Einsetzen v. Georg Wagner 20

21 4. LINQ-Abfragen unter der Lupe LINQ Verstehen und Einsetzen v. Georg Wagner 21

22 LINQ-Abfragen unter der Lupe Schauen wir uns ein einfacheres Beispiel genauer an: Um die Ergebnisse auszugeben haben wir verwendet: Da teilnehmer mit person durchiteriert wird, enthält teilnehmer bereits alle ausgefilterten Ergebnisse. FALSCH: teilnehmer enthält im Vorhinein noch keine Ergebnisse LINQ Verstehen und Einsetzen v. Georg Wagner 22

23 LINQ-Abfragen unter der Lupe Bei der Kompilierung wird die Abfrage so repräsentiert: = Verzögerte " Ausführung Jedes mal, wenn der Iterator person von teilnehmer ein Element verlangt, wird der obige Code ausgeführt LINQ Verstehen und Einsetzen v. Georg Wagner 23

24 Technische Universität München Verzögerte Ausführung von Abfragen Verzögerte Ausführung erreicht man durch sog. Co-Routinen. Where und Select gehören zu solchen. Where-Methode (Co-Routine): Aufrufer der Co-Routine: 1. Co-Routinen werden mit yield return gekennzeichnet. 2. yield return gibt nicht IEnumerable<TSource> sondern ein Element von TSource zurück 3. Nach jedem yield return wird die Kontrolle dem Aufrufer zurückgegeben 4. Bei weiteren Aufrufe mit demselben Iterator person wird die Co-Routine am letzten yield return fortgesetzt. Dies geschieht hier so lange, bis in source kein element mehr existiert LINQ Verstehen und Einsetzen v. Georg Wagner 24

25 Technische Universität München Verzögerte Ausführung von Abfragen Select() iteriert in einer foreach-schleife Ergebnisse von Where(). Gibt Where() mit yield return ein Element zurück, gibt Select() dieses Element ebenso mit yield return ein Element zurück Durch Verzögerte Ausführung bei großen Datensatzmengen muss bei der ersten Iteration nicht lange gewartet werden und erfolgt keine große Zwischenspeicherung Dieser Effekt geht durch Sortier, Gruppier oder Aggregier-Erweiterungsmethoden verloren LINQ Verstehen und Einsetzen v. Georg Wagner 25

26 Agenda LINQ-Einführung (Motivation, Bestandteile) C#-Spracherweiterungen (kleine Kontrollfrage) LINQ-Abfragearten LINQ unter der Lupe (Verzögerte Ausführung) LINQ to SQL LINQ Verstehen und Einsetzen v. Georg Wagner 26

27 5. LINQ To SQL Mappen, Abfragen, Verändern LINQ Verstehen und Einsetzen v. Georg Wagner 27

28 Beispiel vom vorigen Vortrag in LINQ SELECT DISTINCT c.[customerid],c.[companyname] FROM [Northwind].[dbo].[Customers] c JOIN [Northwind].[dbo].[Orders] o on c.customerid = o.customerid JOIN [Northwind].[dbo].[Employees] e on o.employeeid = e.employeeid WHERE e.employeeid = 1 ODER BY c.[customerid] Ermittle alle verschiedene Firmenkunden mit Ihren Kunden-IDs, die Aufträge bei uns haben die unser Mitarbeiter mit der Firmen-ID 9 bearbeitet, und ordne sie nach deren Kunden-IDs. Zur Realisation dieser Anfrage in LINQ brauchen wir: Eine Klasse, die LINQ- Abfragen in äquivalente SQL-Abfragen des Ziel-Dialektes übersetzt. Lösung: Verwendung der DataContext Klasse aus System.Data.Linq LINQ Verstehen und Einsetzen v. Georg Wagner 28

29 ADO.NET Beispiel vom vorigen Vortrag in LINQ Bevor wir mittels DataContext Daten aus SQL-Tabellen lesen können, müssen wir das relationale Modell auf das Objektmodell mappen. D.h. wir müssen in unserem Fall folgende Zuordnungen machen: Tabelle Klasse Attribut Eigenschaft Mapping-Möglichkeiten: Attribute innerhalb " Klassen XML- Dateien LINQ to SQL Designer LINQ Verstehen und Einsetzen v. Georg Wagner 29

30 Objektrelationales Mapping via Klassen-Attributen Zum Mappen werden die Klassen in System.Data.Linq.Mapping verwendet Klasse Customer wird der SQL-Tabelle Customer zugeordnet Namen müssen übereinstimmen! Klassen-Eigenschaften werden zu den Attributen der SQL-Tabelle Customer zugeordnet Namen müssen übereinstimmen! LINQ Verstehen und Einsetzen v. Georg Wagner 30

31 Der Code um der eigentlichen LINQ Abfrage Eine Verbindung zu einem SQL-Server wird hergestellt Ab der ersten Iteration wird eine Anfrage in SQL-Syntax zum SQL- Server geschickt Tabellen werden noch " nicht eingelesen (Verzögert Ausführung) LINQ Verstehen und Einsetzen v. Georg Wagner 31

32 Die LINQ-Abfrage Anfrage, die wir in LINQ realisieren sollten: SELECT DISTINCT c.[customerid],c.[companyname] FROM [Northwind].[dbo].[Customers] c JOIN [Northwind].[dbo].[Orders] o on c.customerid = o.customerid JOIN [Northwind].[dbo].[Employees] e on o.employeeid = e.employeeid WHERE e.employeeid = 1' ODER BY c.[customerid] Die LINQ-Anfrage: Objekt-Initialisierer da nur ein Objekt zurückgegeben werden kann, wird ein anonymer Typ definiert. Da das Distinct-Schlüsselwort in Abfrageausdrücken nicht vorhanden ist, wird auf LINQ-Abfrageoperatoren zurückgegriffen LINQ Verstehen und Einsetzen v. Georg Wagner 32

33 Die LINQ-Abfrage Die LINQ-Anfrage: Zum SQL-Server wird gesendet (ab ersten foreach-iteration): SELECT DISTINCT [t0].[customerid], [t0].[companyname] FROM [dbo].[customers] AS [t0] INNER JOIN [dbo].[orders] AS [t1] ON [t0].[customerid] = [t1].[customerid] INNER JOIN [dbo].[employees] AS [t2] ON [t1].[employeeid] = [t2].[employeeid] WHERE [t2].[employeeid] = 1 Bemerkenswert ist, dass LINQ durch die Angabe des anonymen Typen und des anschließenden Distinct-Operators die Anfrage entsprechend minimiert hat LINQ Verstehen und Einsetzen v. Georg Wagner 33

34 Aktualisieren von Daten Die Auftrags-Nummern 1 bis 10 wurden in Auftrags-Nr. 123 zusammengeführt. Eine Aktualisierung der Daten ist also nötig. Da die nötige Tabellen schon gemappt sind gestaltet sich eine Daten-Aktualisierung sehr einfach: LINQ Verstehen und Einsetzen v. Georg Wagner 34

35 Quellen LINQ Im Einsatz Manning ISBN: Datenbank-Programmierung mit Microsoft LINQ Microsoft Press ISBN: MSDN LINQ Verstehen und Einsetzen v. Georg Wagner 35

36 Danke für s Zuhören! LINQ Verstehen und Einsetzen v. Georg Wagner 36

37 Anhang: Aktualisierungs-Anfrage UPDATE [dbo].[employees] SET [OrderID] WHERE ([EmployeeID] AND ([FirstName] AND ([LastName] AND ([OrderID] LINQ Verstehen und Einsetzen v. Georg Wagner 37

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

Mehr

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

Mehr

Grundlagen in C# und.net

Grundlagen in C# und.net Grundlagen in C# und.net Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 FB Automatisierung und Informatik:

Mehr

Grundlagen in C# und.net

Grundlagen in C# und.net Grundlagen in C# und.net Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 FB Automatisierung und Informatik:

Mehr

Objektorientiertes Programmieren mit.net und C# Proseminar im Wintersemester 2010/2011 LINQ Verstehen und Einsetzen

Objektorientiertes Programmieren mit.net und C# Proseminar im Wintersemester 2010/2011 LINQ Verstehen und Einsetzen Objektorientiertes Programmieren mit.net und C# Proseminar im Wintersemester 2010/2011 LINQ Verstehen und Einsetzen Georg Wagner Technische Universität München Abstract: LINQ ist eine Sammlung von Spracherweiterungen

Mehr

LINQ im Einsatz HANSER. Fabrice Marguerie Steve Eichert Jim Wooley. щвщящ\ Mit einem Geleitwort on Watt Warren

LINQ 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

Mehr

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

Mehr

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

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

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Ü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

.NET und Language Integrated Query (LINQ) W3L AG info@w3l.de

.NET und Language Integrated Query (LINQ) W3L AG info@w3l.de 1.NET und Language Integrated Query (LINQ) W3L AG info@w3l.de 2012 2 Inhaltsverzeichnis LINQ to Objects Vergleich mit Schleifen Abfrage-Syntax Erweiterungsmethoden-Syntax LINQ Abfrage Bestandteile Spracherweiterungen

Mehr

Ich liebe Java && Ich liebe C# Rolf Borst

Ich 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

Inhalt. 1 LINQ Warum benötigen wir LINQ? WasistLINQ? Voraussetzungen für LINQ Wie ist das Buch aufgebaut?

Inhalt. 1 LINQ Warum benötigen wir LINQ? WasistLINQ? Voraussetzungen für LINQ Wie ist das Buch aufgebaut? Danksagung 11 1 LINQ 13 1.1 Warum benötigen wir LINQ? 14 1.2 WasistLINQ? 15 1.3 Voraussetzungen für LINQ 18 1.4 Wie ist das Buch aufgebaut? 19 2 UNOtoSOL 21 2.1 Entity-Klassen 22 2.1.1 Wichtige Attribute

Mehr

Objektorientierte Programmierung II

Objektorientierte Programmierung II Objektorientierte Programmierung II OOP I Erlaubt Entwicklers, im Problemraum zu denken und zu arbeiten. Das Problem wird in eine Menge von Objekten zerlegt. Objekte wirken aufeinander, um das Problem

Mehr

Programmiertechnik Klassenvariablen & Instantiierung

Programmiertechnik Klassenvariablen & Instantiierung Programmiertechnik Klassenvariablen & Instantiierung Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Klassenvariablen Zur Erinnerung: Klassen bestehen aus Variablen und Methoden; beide zusammen

Mehr

Validation und Quick Fixing mit Xtend. 3. Dezember 2014

Validation und Quick Fixing mit Xtend. 3. Dezember 2014 Validation und Quick Fixing mit Xtend 3. Dezember 2014 175 Überblick Tuning der Xtext-generierten Editoren Validierung mit OCL auf der abstrakten Syntax mit Xtend auf der konkreten Syntax Quick Fixes mit

Mehr

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro

Mehr

Datenbanken Grundlagen und Design

Datenbanken Grundlagen und Design Frank Geisler Datenbanken Grundlagen und Design 3., aktualisierte und erweiterte Auflage mitp Vorwort 15 Teil I Grundlagen 19 i Einführung in das Thema Datenbanken 21 i.i Warum ist Datenbankdesign wichtig?

Mehr

Geschrieben von: Anson Horton Samstag, den 17. November 2007 um 17:35 Uhr - Aktualisiert Samstag, den 12. Januar 2008 um 05:47 Uhr

Geschrieben von: Anson Horton Samstag, den 17. November 2007 um 17:35 Uhr - Aktualisiert Samstag, den 12. Januar 2008 um 05:47 Uhr Dieser Artikel basiert auf einer Vorabversion von Visual Studio mit dem Codenamen Orcas. Er beschreibt das Feature LINQ das mit der kommenden Sprachversion C# 3.0 erscheinen wird. Der Artikel stammt teilweise

Mehr

LINQ & Streams. Arthur Zaczek

LINQ & Streams. Arthur Zaczek LINQ & Streams Arthur Zaczek Apr 2015 1 C# LINQ 1.1 LINQ Language Integrated Query Abfragen gegen beliebige Datenquellen möglich Listen von Objekten Datenbanken (Linq2SQL, Entity Framework, nhibernate)

Mehr

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle. Seminar 2 SQL - DML(Data Manipulation Language) und DDL(Data Definition Language) Befehle. DML Befehle Aggregatfunktionen - werden auf eine Menge von Tupeln angewendet - Verdichtung einzelner Tupeln yu

Mehr

pue13 January 28, 2017

pue13 January 28, 2017 pue13 January 28, 2017 1 Aufgabe 1 (Klammern und Anweisungsblöcke) Wie Sie in der Vorlesung gelernt haben, werden Anweisungsblöcke in Java nicht durch Einrückung, sondern mithilfe von geschweiften Klammern

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

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

Java Methoden. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 1. Februar 2017

Java Methoden. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 1. Februar 2017 Informatik 1 für Nebenfachstudierende Grundmodul Java Methoden Kai-Steffen Hielscher Folienversion: 1. Februar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht Kapitel 3 - Java

Mehr

Einstieg in die Programmierung mit Visual Basic.NET

Einstieg in die Programmierung mit Visual Basic.NET Einstieg in die Programmierung mit Visual Basic.NET Agenda - Methoden mit Argumenten - Überladen von Methoden - Eigenschaftenprozeduren - Eigenschaftenprozeduren automatisch generieren - Konstruktoren

Mehr

4. Objektrelationales Typsystem Kollektionstypen. Nested Table

4. Objektrelationales Typsystem Kollektionstypen. Nested Table Nested Table Bei einer Nested Table handelt es sich um eine Tabelle als Attributwert. Im Gegensatz zu Varray gibt es keine Beschränkung bei der Größe. Definition erfolgt auf einem Basistyp, als Basistypen

Mehr

Tag 8 Repetitorium Informatik (Java)

Tag 8 Repetitorium Informatik (Java) Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium

Mehr

Delegaten. d. h. eine Tätigkeitsanforderung wird weitergeleitet

Delegaten. d. h. eine Tätigkeitsanforderung wird weitergeleitet Einführung Delegaten delegate ist ein Objekt, das delegiert == weiterleitet d. h. eine Tätigkeitsanforderung wird weitergeleitet - Weiterleitung erfolgt an eine Funktion - diese Funktion(en) wurde dem

Mehr

Typsystem Plattform- und Sprachenunabhängigkeit in.net

Typsystem Plattform- und Sprachenunabhängigkeit in.net Typsystem Plattform- und Sprachenunabhängigkeit in.net C# J# VB.NET Zwischencode CIL Windows Unix Auf welchen Grundlagen basiert dies? Komponenten & Frameworks Seite 1 Typsystem Grundlagen - CLR Common

Mehr

Tag 7 Repetitorium Informatik (Java)

Tag 7 Repetitorium Informatik (Java) Tag 7 Repetitorium Informatik (Java) Dozent: Patrick Kreutzer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium

Mehr

Verkettete Datenstrukturen: Listen

Verkettete Datenstrukturen: Listen Verkettete Datenstrukturen: Listen 2 Listen Formal: Liste = endliche Folge von Elementen [a 1, a 2,..., a n ]. Spezialfall: leere Liste [ ]. Länge einer Liste = Anzahl der Elemente (bei leerer Liste: 0).

Mehr

Paolo Pialorsi, Marco Russo. Datenbankprogrammierung. mit Microsoft LINQ. Microsoft

Paolo Pialorsi, Marco Russo. Datenbankprogrammierung. mit Microsoft LINQ. Microsoft Paolo Pialorsi, Marco Russo Datenbankprogrammierung mit Microsoft LINQ Microsoft Inhaltsverzeichnis Vorwort Einleitung Danksagung XV XVII XVIII Einführung Über dieses Buch Systemanforderungen Die Companion-Website

Mehr

Visual Basic.NET und ADO.NET

Visual Basic.NET und ADO.NET .NETSolutions Visual Basic.NET und ADO.NET Datenbanken programmieren F. SCOTT BARKER Markt+ Übersetzung: Gabriele Broszat Einleitung Zum Autor Zur Begleit-CD-ROM Wer sollte dieses Buch nutzen? Welche Themen

Mehr

Programmieren in Java -Eingangstest-

Programmieren in Java -Eingangstest- Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit

Mehr

Datenzugriffskomponente mit JPA 2.1

Datenzugriffskomponente 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

Mehr

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue

Mehr

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester

Mehr

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken 17. V. 2017 Outline 1 Organisatorisches 2 SQL 3 OLTP, OLAP, SAP, and Data Warehouse OLTP and OLAP SAP 4 Objekt-relationale Datenbanken Beispiel

Mehr

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Einführung in SQL insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Quelle Wikipedia, 3.9.2015 SQL zur Kommunikation mit dem DBMS SQL ist

Mehr

12 BG EDV Access / Inf-SQL1 Theodor-Heuss-Schule Wetzlar

12 BG EDV Access / Inf-SQL1 Theodor-Heuss-Schule Wetzlar Abfragen aus einer Tabelle mit Hilfe der Datenbank-Sprache SQL SQL (Structured Query Language) ist eine Computersprache zum Speichern, Bearbeiten und Abfragen von Daten in relationalen Datenbanken. Eine

Mehr

Variablen und Parameter

Variablen und Parameter D3kjd3Di38lk323nnm Variablen und Parameter Eine Variable repräsentiert einen Speicherbereich, der einen veränderbaren Wert enthält. Eine Variable kann eine lokale Variable, ein Parameter (value, ref oder

Mehr

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken 31. V. 2016 Outline 1 Organisatorisches 2 SQL 3 OLTP, OLAP, SAP, and Data Warehouse OLTP and OLAP SAP 4 Objekt-relationale Datenbanken Beispiel

Mehr

Programmierkurs. SoSe Markus Geveler Inst. f. Applied Mathematics, TU Dortmund.

Programmierkurs. SoSe Markus Geveler Inst. f. Applied Mathematics, TU Dortmund. Programmierkurs SoSe 2013 Markus Geveler Inst. f. Applied Mathematics, TU Dortmund markus.geveler@math.tu-dortmund.de Lesson 5 Was machen wir heute hier? weiter mit Objektorientierter Programmierung viel

Mehr

Web-Techniken Einführung in JavaScript

Web-Techniken Einführung in JavaScript Web-Techniken Einführung in JavaScript Prof. Dr. Axel Böttcher Winter 2012/13 15. September 2012 Ausführung von JavaScript Variante 1: Ausführung im Browser durch direktes Einbetten: 1 2

Mehr

Play Framework, MySQL, JPA, HQL, HTML, jquery,

Play Framework, MySQL, JPA, HQL, HTML, jquery, Play Framework, MySQL, JPA, HQL, HTML, jquery, Wer Mit wem Resultat 1.Kunde Schalter: Bibliothekarin Bestimmt,welcher Archivar die Zeitschrift holen geht 2. Schalter: Bibliothekarin Archivar Kontrollübergabe

Mehr

Java Referenzdatentypen genauer betrachtet

Java Referenzdatentypen genauer betrachtet Informatik 1 für Nebenfachstudierende Grundmodul Java Referenzdatentypen genauer betrachtet Kai-Steffen Hielscher Folienversion: 23. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Referenzdatentypen

Mehr

Datenbankprogrammierung mit Microsoft LINQ

Datenbankprogrammierung mit Microsoft LINQ Datenbankprogrammierung mit Microsoft LINQ Leistungsfähige Datenmanipulation mit LINQ und Visual Basic und C# von Paolo Pialorsi, Marco Russo 1. Auflage Datenbankprogrammierung mit Microsoft LINQ Pialorsi

Mehr

Leider gibt es in einigen Fällen keine wirklich einheitlichen Fachbegriffe im Deutschen, obwohl einige als "der Standard" bezeichnet werden.

Leider gibt es in einigen Fällen keine wirklich einheitlichen Fachbegriffe im Deutschen, obwohl einige als der Standard bezeichnet werden. 37 Leider gibt es in einigen Fällen keine wirklich einheitlichen Fachbegriffe im Deutschen, obwohl einige als "der Standard" bezeichnet werden. der Begriff der Klasse ist immer eindeutig. Die verschiedenen

Mehr

Fakultät Angewandte Informatik Programmierung verteilter Systeme Übungen zur Vorlesung Informatik II, Blatt 6 - Musterlösung

Fakultät Angewandte Informatik Programmierung verteilter Systeme Übungen zur Vorlesung Informatik II, Blatt 6 - Musterlösung WS 2011/12 Fakultät Angewandte Informatik Programmierung verteilter Systeme 05.12.2011 Prof. Dr. Bernhard Bauer Übungen zur Vorlesung Informatik II, Blatt 6 - Musterlösung Aufgabe 21 * (Objektrelationale

Mehr

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches

Mehr

Einführung in die Programmierung mit BlueJ

Einführung in die Programmierung mit BlueJ Einführung in die Programmierung mit BlueJ Thema 4 Steuerstrukturen - Verzweigungen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2012/13 Daten speichern: Datenfelder Instanzvariablen,

Mehr

Languages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008

Languages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008 Languages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008 27. Februar 2008 Institut für Softwaresysteme, TUHH Regeln: 1. Zu dieser Klausur sind keinerlei Hilfsmittel zugelassen.

Mehr

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware.

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware. *HVFKDFKWHOWH$QIUDJHQ In einer SQL-Anweisung können in der where-klausel, from-klausel, select-klausel wieder SQL-Anweisungen auftreten. Man spricht dann auch von einer geschachtelten Anfrage oder Unteranfrage.

Mehr

11. Funktionale Programmierung Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

11. Funktionale Programmierung Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 11. Funktionale Programmierung Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen zu Design Patterns Wozu werden Design Patterns verwendet? Wann

Mehr

1 Klassen und Objekte

1 Klassen und Objekte 1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente

Mehr

Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit

Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit Aufgabe : Die allgemeine Object-Liste Gegeben sei folgendes UML-Klassendiagramm: MyObjectList

Mehr

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro

Mehr

Assoziative Container in C++ Christian Poulter

Assoziative Container in C++ Christian Poulter Assoziative Container in C++ Christian Poulter Seminar: Die Sprache C++ Mat-Nr.: 53 03 129 EMail: inf@poulter.de Christian Poulter Assoziative Container in C++ Seite 1/10 Inhalt 1. Einleitung: Container...

Mehr

Hochschule Darmstadt Fachbereich Informatik

Hochschule Darmstadt Fachbereich Informatik Hochschule Darmstadt Fachbereich Informatik WPF Routed Events, Datenbankanbindung 03.05.2010 63 Praktikum Tipp: Beispiellösungen zu P4: http://dotnet.jku.at/csbuch/solutions/ Projektvorschläge: Internet-Timeout

Mehr

Grundelemente objektorientierter Sprachen (1)

Grundelemente objektorientierter Sprachen (1) Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte

Mehr

Objekte haben eine eigene Notation, also Schreibweise, beim Aufruf:

Objekte haben eine eigene Notation, also Schreibweise, beim Aufruf: JavaScript - Inhalt 1. Objekte 2. Arrays 3. Callbacks 1)JavaScript Objekte Objekte haben eine eigene Notation, also Schreibweise, beim Aufruf: Eine Methode wird immer mit dem Namen des Objekts, einem Punkt

Mehr

Inhaltsverzeichnis. Einleitung

Inhaltsverzeichnis. Einleitung vn Inhaltsverzeichnis Einleitung Kapitel 1: Eine Einführung in relationale Datenbanken 7 Was ist eine relationale Datenbank? 9 Verknüpfen der einzelnen Tabellen 10 Die Reihenfolge der Zeilen ist beliebig

Mehr

Introduction to Data and Knowledge Engineering. 6. Übung SQL

Introduction to Data and Knowledge Engineering. 6. Übung SQL Introduction to Data and Knowledge Engineering 6. Übung SQL Aufgabe 6.1 Datenbank-Schema Buch PK FK Autor PK FK ISBN Titel Preis x ID Vorname Nachname x BuchAutor ISBN ID PK x x FK Buch.ISBN Autor.ID FB

Mehr

Objektorientiertes RPG 2-1. Objektorientiertes RPG

Objektorientiertes RPG 2-1. Objektorientiertes RPG Objektorientiertes RPG 2-1 2 Objektorientiertes RPG Das erste Kapitel wies auf die Ähnlichkeiten im Aufbau eines RPG-Programms und einer Java-Klasse hin. Aber wenn diese Strukturen bei der Erstellung von

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 2 am 04.05.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Seminar 1 SQL Abfragen DML. MatrNr Name Vorname Age Gruppe Schmidt Hans Meisel Amelie

Seminar 1 SQL Abfragen DML. MatrNr Name Vorname  Age Gruppe Schmidt Hans Meisel Amelie Seminar 1 SQL Abfragen DML Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro 21 331 1235 Meisel Amelie meisel@cs.ro 22 331 1236 Krause Julia krause@cs.ro 21 332 1237 Rasch

Mehr

GROUP BY, HAVING und Sichten

GROUP BY, HAVING und Sichten GROUP BY, HAVING und Sichten Tutorübungen 09/33 zu Grundlagen: Datenbanken (WS 14/15) Michael Schwarz Technische Universität München 11.11 / 12.11.2014 1/12 GROUP BY HAVING Sichten Eine Tabelle studenten

Mehr

Übersicht der wichtigsten MySQL-Befehle

Übersicht der wichtigsten MySQL-Befehle Übersicht der wichtigsten MySQL-Befehle 1. Arbeiten mit Datenbanken 1.1 Datenbank anlegen Eine Datenbank kann man wie folgt erstellen. CREATE DATABASE db_namen; 1.2 Existierende Datenbanken anzeigen Mit

Mehr

Inhaltsverzeichnis. 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: 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

Mehr

Datenmodelle und Datenbanken 2

Datenmodelle und Datenbanken 2 Datenmodelle und Datenbanken 2 Prof. N. Fuhr Institut für Informatik und Interaktive Systeme Arbeitsgruppe Informationssysteme 24. Februar 2005 Hinweise zur Bearbeitung Die Zeit läuft erst, wenn Sie alle

Mehr

Integrierte deklarative Abfragesprachen in imperativen Programmiersprachen am Beispiel von:

Integrierte deklarative Abfragesprachen in imperativen Programmiersprachen am Beispiel von: 1 Integrierte deklarative Abfragesprachen in imperativen Programmiersprachen am Beispiel von: Language INtegrated Query LINQ Datenabfragen in C# Proseminar Programmierparadigmen und Sprachen Christian

Mehr

Folien php/mysql Kurs der Informatikdienste

Folien php/mysql Kurs der Informatikdienste Folien php/mysql Kurs der Informatikdienste 1. Einführung in die Datenbank MySQL Kursbeispiel und Kursziele 1.1 Das Kursbeispiel: eine kleine Personalverwaltung 1.2 Was brauchen wir? 1.3 Ziele Kurs AEMS1,

Mehr

Multimedia im Netz Wintersemester 2013/14. Übung 02 (Hauptfach)

Multimedia im Netz Wintersemester 2013/14. Übung 02 (Hauptfach) Multimedia im Netz Wintersemester 2013/14 Übung 02 (Hauptfach) Ludwig-Maximilians-Universität München Multimedia im Netz WS 2013/14 - Übung 2-1 PHP und MySQL Es werden mehrere APIs von PHP angeboten um

Mehr

Programmieren I. Kapitel 12. Referenzen

Programmieren I. Kapitel 12. Referenzen Programmieren I Kapitel 12. Referenzen Kapitel 12: Referenzen Ziel: Die Wahrheit über Objekte Lebensdauer Speicherverwaltung Parameterübergabemechanismen in Methoden Gleichheiten, Kopien Arrays Speicherbereinigung

Mehr

RO-Tutorien 17 und 18

RO-Tutorien 17 und 18 RO-Tutorien 17 und 18 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery TUTORIENWOCHE 2 AM 10.05.2012 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der

Mehr

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08

Mehr

Grundlagen der Objektorientierten Programmierung - Methoden -

Grundlagen der Objektorientierten Programmierung - Methoden - Methoden In ihrem formalen Aufbau entsprechen Java-Methoden den Funktionen in C und C++. Eine Methode dient dazu, eine häufig benötigte Folge von Anweisungen unter einem Namen zusammenzufassen und zum

Mehr

Prof. W. Henrich Seite 1

Prof. W. Henrich Seite 1 Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse

Mehr

Java-Grundkurs für Wirtschaftsinformatiker

Java-Grundkurs für Wirtschaftsinformatiker Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für Wirtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung - Fortgeschrittene Konzepte kennenlernen - Betriebswirtschaftlich

Mehr

Grundlagen der Informatik 0

Grundlagen der Informatik 0 Technische Universität Darmstadt 01.07.2013 Grundlagen der Informatik 0 Vorlesung 0 Java ist eine Programmiersprache Ilkay Baytekin Douglas Crockford http://media.smashingmagazine.com/wp-content/uploads/2012/04/doug-crockford-image.jpg

Mehr

Query Result Caching. Optimierung des Datenbankzugriffs

Query Result Caching. Optimierung des Datenbankzugriffs Query Result Caching Optimierung des Datenbankzugriffs Andreas Hubmer 19.11.2012 Inhalt Problemstellung Tabellen-Cache DBProxy Objekt-Cache 1 st -/2 nd -Level Cache Query Cache 2 Problemstellung Application-

Mehr

Andere Datenbankmodelle. Graphendatenbanken

Andere Datenbankmodelle. Graphendatenbanken Andere Datenbankmodelle Graphendatenbanken Datenbankmodelle Relationale Datenbank (SQL) NoSQL (Not Only SQL): Implementierungen können folgendermaßen nach Datenmodell gegliedert werden: Dokumentorientierte

Mehr

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1 Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................

Mehr

Inhaltsverzeichnis. Teil A Schnell zurechtfinden... 1

Inhaltsverzeichnis. Teil A Schnell zurechtfinden... 1 Inhaltsverzeichnis Ein nicht ganz so ernst gemeintes Vorwort... http://www.activedevelop.de Ein wenig Werbung in eigener Sache... Codebeispiele... Support... Danksagungen... XIII XV XVI XVI XVII Teil A

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen

Mehr

Prof. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen

Prof. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Anonyme Klassen

Mehr

Klausur Grundlagen der Programmierung

Klausur Grundlagen der Programmierung Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel

Mehr

Vorwort. Webseite zum Buch:

Vorwort. Webseite zum Buch: Webseite zum Buch: www.comelio-medien.com/buch-katalog/oracle/oracle_pl_sql Vorwort Herzlich Willkommen zu einem Fachbuch aus dem Verlag Comelio Medien. Dieses Buch aus dem Bereich Datenbanken soll Sie

Mehr

Microsoft Visual C# 2008

Microsoft Visual C# 2008 John Sharp 13 Microsoft Visual C# 2008 Schritt für Schritt 13 13 14 15 15 16 16 17 17 17 21 22 22 23 25 26 II 40 51 Press 53 54 54 55 55 56 56 57 58 63 63 64 Inhaltsverzeichnis Einleitung 13 Einführung

Mehr

Objektorientierung. Marc Satkowski 20. November C# Kurs

Objektorientierung. Marc Satkowski 20. November C# Kurs Objektorientierung Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Weiterführende Verzweigungen Tertiäre-Verzweigung switch case 2. Schleifen Zählschleife (for) break & continue 3. Objektorientierung

Mehr

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3 Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................

Mehr

ACCESS SQL ACCESS SQL

ACCESS SQL ACCESS SQL ACCESS SQL Datenbankabfragen mit der Query-Language ACCESS SQL Datenbankpraxis mit Access 34 Was ist SQL Structured Query Language Bestehend aus Datendefinitionssprache (DDL) Datenmanipulationssprache

Mehr

Kapitel 10 Delegationsvariablen

Kapitel 10 Delegationsvariablen Kapitel 10 Delegationsvariablen Korbinian Molitorisz IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Agenda Wie werden

Mehr

Programmieren lernen in ASP.NET mit C#

Programmieren lernen in ASP.NET mit C# Programmieren lernen in ASP.NET mit C# von Patrick A. Lorenz, Christoph A. Müller 1. Auflage Hanser München 2003 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 22311 0 Zu Leseprobe schnell und

Mehr

Teil A Einführung in Microsoft Visual C# und Microsoft Visual Studio 2008 23

Teil A Einführung in Microsoft Visual C# und Microsoft Visual Studio 2008 23 Einleitung 13 Einführung 13 An wen sich dieses Buch richtet 13 Wegweiser für Ein- und Umsteiger 14 Konventionen und Features in diesem Buch 15 Konventionen 15 Weitere Features 16 Systemvoraussetzungen

Mehr

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de 08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren

Mehr

Java-Objekte mit SQL verheiraten

Java-Objekte mit SQL verheiraten ITMAGAZINE Java-Objekte mit SQL verheiraten 24. November 2006 - ibatis ermöglicht die Abstraktion von SQL-Datenbanken, ohne dass man auf von Hand geschriebene SQL-Abfragen verzichten muss. Entwickelt man

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung

Mehr

Durch die Teil-von-Beziehung soll ausgedrückt werden, dass ein Objekt A als (physikalischer) Teil eines Objekts B angesehen wird. Insbesondere kann ei

Durch die Teil-von-Beziehung soll ausgedrückt werden, dass ein Objekt A als (physikalischer) Teil eines Objekts B angesehen wird. Insbesondere kann ei Lösungsvorschläge zur Klausur zum Kurs 1618 Sommersemester 2001 am 22.9.2001 Aufgabe 1 a) Benutzungsbeziehung: class Kennzeichen class Fahrzeug boolean gueltigeskennzeichen (Kennzeichen kz) Objekte der

Mehr