Objekt-Relationale Abbildung

Größe: px
Ab Seite anzeigen:

Download "Objekt-Relationale Abbildung"

Transkript

1 Lehrveranstaltung Datenbanktechnologien Prof. Dr. Ingo Claßen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Objekt-Relationale Abbildung c Ingo Claßen, Martin Kempa

2 Abbildung von objekt-orientierten Strukturen auf Tabellen Das objekt-orientierte Modell enthält reichere Strukturierungsmechanismen als das relationale Modell Eine Transformation auf struktureller Ebene ist notwendig Folgende Konzepte müssen transformiert werden Klassen Komplexe Datentypen Assoziationen Kompositionen Vererbung c Ingo Claßen, Martin Kempa 2/31 Objekt-Relationale Abbildung

3 Domänen-Modell für Internet-Auktionen Item id: Long name: String description: String initialprice: MonetaryAmount * 1 0..* 0..1 successfullbid 0..1 Bid id: Long amount: MonetaryAmount * 1 0..* 1..* Category id: Long name: String... 1 BillingDetails id: Long ownername: String number: String 1..* 1 User id: Long firstname: String lastname: String username: String password: String String BankAccount bankname: String bankswift: String CreditCard type: int expmonth: String expyear: String Address homeaddress 1 street: String zipcode: String city: String c Ingo Claßen, Martin Kempa 3/31 Objekt-Relationale Abbildung

4 Transformation von Klassen Klassen werden zu Tabellen Standardvariante: Eine Klasse wird eine Tabelle Andere Verhältnisse denkbar: z. B. eine Klasse auf mehrere Tabellen Attribute werden zu Spalten Standarddatentypen werden auf korrespondierende Typen in der Datenbank abgebildet Komplexe Typen, die keine Korrespondenz im Typsystem der Datenbank haben, müssen gesondert behandelt werden, z. B. durch programmtechnische Transformation User id: Long firstname: String lastname: String username: String password: String String ranking: int created: Date «table» User id: bigint firstname: varchar lastname: varchar username: varchar password: varchar varchar ranking: int created: Date c Ingo Claßen, Martin Kempa 4/31 Objekt-Relationale Abbildung

5 Transformation von komplexen Attributen MonetaryAmount ist eine Klasse die Geldbeträge inklusive Währungsangabe abbildet Wird in der Datenbank durch zwei Attribute gespeichert Transformation erfolgt durch Programmcode Item id: Long name: String description: String initialprice: MonetaryAmount «table» Item id: bigint name: varchar description: varchar initialprice: decimal initialprice_currency: varchar c Ingo Claßen, Martin Kempa 5/31 Objekt-Relationale Abbildung

6 Transformation von Assoziationen (1) 1:n-Assoziationen Fremdschlüssel auf der n-seite Item id: Long name: String description: String «table» Item id: bigint name: varchar description: varchar 1 0..* Bid id: Long created: Date «table» Bid id: bigint created: Date item: bigint c Ingo Claßen, Martin Kempa 6/31 Objekt-Relationale Abbildung

7 Transformation von Assoziationen (2) n:m-assoziationen Zwischentabelle Fremdschlüssel auf beide Seiten Category id: Long name: String «table» Category id: bigint name: varchar 1..* 0..* Item id: Long name: String description: String «table» Item id: bigint name: varchar description: varchar «table» CategoryItem category: bigint item: bigint c Ingo Claßen, Martin Kempa 7/31 Objekt-Relationale Abbildung

8 Unidirektionale Beziehungen Bid enthält eine Referenz auf Item class Item { } class Bid { private Item item; } public Item getitem() { return item; } public void setitem(item item) { this.item = item; } c Ingo Claßen, Martin Kempa 8/31 Objekt-Relationale Abbildung

9 Bidirektionale Beziehungen Bidirektionale Version zwischen Item und Bid class Item { private Set<Bid> bids; public Set<Bid> getbids() { return bids; } // kein setbids, sondern // addbid zur korrekten Ab- // bildung der 1:n-Semantik public void addbid(bid bid) { bid.getitem().getbids().remove(bid); bid.setitem(this); bids.add(bid); } } class Bid { private Item item; } public Item getitem() { return item; } public void setitem(item item) { this.item = item; } c Ingo Claßen, Martin Kempa 9/31 Objekt-Relationale Abbildung

10 Transformation von Kompositionen Unterscheidung zwischen Entity-Typen und Wert-Typen Entity-Typen Haben eine eigene Datenbankidentität und einen Lebensyklus Existieren unabhängig von anderen Entity-Typen Wert-Typen Haben keine Datenbankidentität Ihre Daten werden in die Daten der besitzenden Entität eingebettet Sind abhängig von anderen Entity-Typen User id: Long firstname: String lastname: String username: String password: String String 1 home «table» User 1 id: bigint varchar home_street: varchar home_zip: varchar home_city: varchar Address street: String zipcode: String city: String c Ingo Claßen, Martin Kempa 10/31 Objekt-Relationale Abbildung

11 Transformation von Vererbungen (1) Eine Tabelle für die gesamte Klassenhierachie Vorteile Einfache Struktur Keine Verbundoperationen notwendig Polymorphe Beziehungen und Abfragen möglich Nachteile Datenkonsistenz schwieriger zu gewährleisten, da Spalten aus den abgeleiteten Klassen keine not-null-beschränkung haben können BankAccount bankname: String bankswift: String BillingDetails id: Long ownername: String number: String «table» BillingDetails CreditCard type: int expmonth: String expyear: String id: bigint billing_details_type: varchar owner_name: varchar number: varchar creditcard_type: int creditcard_expmonth: varchar creditcard_expyear: varchar bankaccount_bankname: varchar bankaccount_bankswift: varchar c Ingo Claßen, Martin Kempa 11/31 Objekt-Relationale Abbildung

12 Transformation von Vererbungen (2) Eine Tabelle pro Unterklasse Vorteile Polymorphe Beziehungen und Abfragen möglich Datenkonsistenz in Bezug auf not-null-spalten bleibt erhalten Nachteile Verbundoperationen notwendig BankAccount bankname: String bankswift: String «table» BankAccount bankaccount_id: bigint bankname: varchar bankswift: varchar BillingDetails id: Long ownername: String number: String «table» BillingDetails id: bigint owner_name: varchar number: varchar CreditCard type: int expmonth: String expyear: String «table» CreditCard creditcard_id: bigint type: int expmonth: varchar expyear: varchar c Ingo Claßen, Martin Kempa 12/31 Objekt-Relationale Abbildung

13 Transformation von Vererbungen (3) Eine Tabelle pro konkreter Unterklasse Vorteile Datenkonsistenz in Bezug auf not-null-spalten bleibt erhalten Keine Verbundoperationen notwendig Nachteile Polymorphe Beziehungen und Abfragen nicht möglich BankAccount bankname: String bankswift: String «table» BankAccount bankaccount_id: bigint owner_name: varchar number: varchar bankname: varchar bankswift: varchar BillingDetails id: Long ownername: String number: String CreditCard type: int expmonth: String expyear: String «table» CreditCard creditcard_id: bigint owner_name: varchar number: varchar type: int expmonth: varchar expyear: varchar c Ingo Claßen, Martin Kempa 13/31 Objekt-Relationale Abbildung

14 (JPA) Persistenz für Java-Objekte Einfaches Klassenmodell (POJOs - Plain Old Java Objects) Transformation von OO-Konzepten Klassen, komplexe Datentypen Assoziationen, Kompositionen, Vererbung Funktionalität Laden von Objekten, Ladestrategien für Assoziationen, Dirty-Management Speichern von Objekten, Speicherstrategien für Assoziationen, Persistence by Reachability Beziehungsverwaltung Zustandsverwaltung und Identifikation von Objekten Objektorientierte Abfragesprache Transaktionen Caching c Ingo Claßen, Martin Kempa 14/31 Objekt-Relationale Abbildung

15 Persistenz-Lebenszyklus für Geschäftsobjekte new garbage transient find() getreference() Query.GetResultList() Query.getSingleResult() persist() merge() persistent remove() removed garbage close() clear() merge() detached garbage c Ingo Claßen, Martin Kempa 15/31 Objekt-Relationale Abbildung

16 OR-Mapper Java-Klassen Tabellen OR-Mapper Metainformationen z.b. Annotationen c Ingo Claßen, Martin Kempa 16/31 Objekt-Relationale Abbildung

17 OR-Mapping für Klasse = name="seq_item", sequencename="seq_item") public class strategy=generationtype.sequence, = "ITEM_ID") public Long getid() { } } c Ingo Claßen, Martin Kempa 17/31 Objekt-Relationale Abbildung

18 OR-Mapping für Klasse Item (2) public class Item = "START_DATE", nullable = false, updatable = false) public Date getstartdate() = "APPROVED_BY_USER_ID", nullable = true) public User getapprovedby() { = "SELLER_ID", nullable = false, updatable = false) public User getseller() { } c Ingo Claßen, Martin Kempa 18/31 Objekt-Relationale Abbildung

19 OR-Mapping für Klasse Item (3) public class Item = CascadeType.ALL, mappedby = org.hibernate.annotations.cascadetype.delete_orphan) public Set<CategorizedItem> getcategorizeditems() { } } c Ingo Claßen, Martin Kempa 19/31 Objekt-Relationale Abbildung

20 OR-Mapping für = = InheritanceType.JOINED) public abstract class @Column(name = "BILLING_DETAILS_ID") public Long getid() { = "BANK_ACCOUNT") public class BankAccount extends BillingDetails = "CREDIT_CARD") public class CreditCard extends BillingDetails { } c Ingo Claßen, Martin Kempa 20/31 Objekt-Relationale Abbildung

21 Objektorientierte Abfragesprache Das JPA hat eine eigene Abfragesprache (JPAQL) syntaktische Ähnlichkeiten zu SQL erweitert um Objektorientierung Beispiel: select i from Item as i kurze Schreibweise: from Item as i c Ingo Claßen, Martin Kempa 21/31 Objekt-Relationale Abbildung

22 Aufbau einer JPAQL-Abfrage Wesentliche Schritte: 1. Abfrage erzeugen Query query = em.createquery("from User"); Query query = em.createquery( "from Category as c where c.name like Fahrzeug% "); 2. Laufzeitargumente setzen String querystring = "from Item as i where i.description like :search"; Query query = em.createquery(querystring).setparameter( "search", searchstring); Query query = em.createquery( "from Item as i where i.seller = :seller").setparameter( "seller", theseller); 3. Abfage ausführen List<Item> l = query.getresultlist(); Bid maxbid = (Bid) em.createquery( "from Bid as b order by b.amount desc").setmaxresults(1).getsingleresult(); c Ingo Claßen, Martin Kempa 22/31 Objekt-Relationale Abbildung

23 Abfragekonzepte Einfache Abfragen from Item Polymorphe Abfrage from BillingDetails as bd from java.lang.object as o Suchbedingungen from User as u where u. = foo@hibernate.org Vergleichsausdrücke from Bid as b where b.amount.value between 1 and 10 from Bid as b where b.amount.value > 100 from User as u where u. in ( foo@bar, bar@foo ) from User as u where u. is null from Item as i where i.successfulbid is not null from User as u where u.firstname like C% from User as u where u.firstname not like %sen% and u. in ( foo@hibernate.org, bar@hibernate.org ) c Ingo Claßen, Martin Kempa 23/31 Objekt-Relationale Abbildung

24 Operatoren Operator Beschreibung. Pfad-Ausdruck-Operator zur Navigation +, - Einstelliger Vorzeichenoperator *, / Multiplikation und Division für numerische Werte +, - Addition und Subtraktion für numerische Werte =, <>, <, >, >=, <=, [not] between, [not] like, [not] in, is [not] null is [not] empty, [not] member [of] not, and, or Zweistellige Vergleichsoperatoren (analog zu SQL) Zweistellige Operatoren für Collections Logische Operatoren zur Verknüpfung von boolschen Ausdrücken c Ingo Claßen, Martin Kempa 24/31 Objekt-Relationale Abbildung

25 Abfragekonzepte Vergleichsausdrücke from Bid as b where (b.amount.value / 0.71) > 0.0 from User as u where (u.firstname like S% and u.lastname like C% ) or u. in ( foo@hibernate.org, bar@hibernate.org ) Ausdrücke mit Listen from Item as i where i.bids is not empty Funktionen from User as u where lower(u. ) = foo@hibernate.org from User as u where size(u.billingdetails) = 2 Sortierung from User as u order by u.username from User as u order by u.lastname asc, u.firstname asc c Ingo Claßen, Martin Kempa 25/31 Objekt-Relationale Abbildung

26 Projektion select-klausel from Item as i, Bid as b select i.id, i.description, i.initialprice from Item as i where i.enddate > current_timestamp() distinct select distinct i.description from Item as i Funktionen select i.startdate, current_date() from Item as i select i.startdate, i.enddate, upper(i.name) from Item as i c Ingo Claßen, Martin Kempa 26/31 Objekt-Relationale Abbildung

27 Funktionen Operator upper(s), lower(s) Objekt-Relationale Abbildung concat(s1, S2) substring(s, OFFSET, LENGTH) trim([[both leading trailing] C [from]] S) length(s) locate(ss, S, OFFSET) abs(n), sqrt(n), mod(dividend, DIVISOR) size(c) Beschreibung Umwandlung eines Stings S in Groß- /Kleinschreibung Konkatenation zwei Strings S1 mit S2 Bildung eines Teilstrings von S mit der Länge LENGTH ab OFFSET Entfernt Leerzeichen oder ein anderes Zeichen C am Anfang oder am Ende oder auf beiden Seiten des Strings S Länge des Strings S Bestimmt den Index des Suchstrings SS in S ab der Position OFFSET Bestimmen den Absolutbetrag, die Wurzel, den Modulo für numerische Werte Anzahl der Elemente der Collection C c Ingo Claßen, Martin Kempa 27/31 Objekt-Relationale Abbildung

28 Weitere Funktionen Operator Objekt-Relationale Abbildung bit_lenght(s) current_date(), current_time(), current_timestamp() second(d), minute(d), hour(d), day(d), month(d), year(d) cast(o as T) index(e) minelement(c), maxelement(c), minindex(c), maxindex(c), elements(c), indices(c) Erweiterungen in org.hibernate.dialect Beschreibung Liefert die Anzahl von Bits in S Liefert das Datum und/oder Zeit des DBMS-Rechners Extrahiert Zeitangaben eines Datums D Castet ein Objekt O in den Typ T Liefert den Index des Elements E aus einer gejointen Kollektion Liefert ein Element oder einen Index einer indexbasierten Kollektion (Array, List, Map) Erweiterbar um zusätzliche Funktionen des DBMS c Ingo Claßen, Martin Kempa 28/31 Objekt-Relationale Abbildung

29 Join (Verbund) und Unterabfragen Join durch implizite Assoziation from User as u where u.homeaddress.city = Berlin Join in der FROM-Klausel from Item as i inner join i.bids b where i.description like %Car% and b.amount.value > 100 from Item as i left outer join i.bids b with b.amount.value > 100 where i.description like %Car% c Ingo Claßen, Martin Kempa 29/31 Objekt-Relationale Abbildung

30 Join (Verbund) und Unterabfragen Dynamisches-Laden durch Join (Performanz-Optimierung) from Item as i left outer join fetch i.bids where i.description like %Car% Theta-style-Join (für nicht Fremdschlüssel-Beziehungen) from User, Category from Item as i, Bid as b where i.seller = b.bidder Unterabfrage from Bid as b1 where b1.amount.value + 1 >= ( select max(b2.amount.value) from Bid as b2) Prädikate mit Unterabfragen some, all, in from Item as i where 100 in (select b.amount.value from i.bids b) c Ingo Claßen, Martin Kempa 30/31 Objekt-Relationale Abbildung

31 Aggregation und Gruppierung Aggregationsfunktionen count, min, max, sum und avg Gruppierung select u.lastname, count(u) from User as u group by u.lastname Suchbedingung auf aggregierter Spalte select u.lastname, count(u) from User as u group by u.lastname having u.lastname like C% Konstruktor select new ItemBidSummary(b.item.id, count(b), avg(b.amount)) from Bid as b where b.item.successfulbid is null group by b.item.id c Ingo Claßen, Martin Kempa 31/31 Objekt-Relationale Abbildung

Kapitel 14. Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) Prof. Dr. Wolfgang Weber Vorlesung Datenbanken

Kapitel 14. Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) Prof. Dr. Wolfgang Weber Vorlesung Datenbanken Kapitel 14 Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) 1 Wozu Objekt-relationales Mapping? - Problematik - Business-Schicht OO-Klassen Unvereinbarkeit der Paradigmen

Mehr

OR-Mapping. WS2008/2009 DBIS/Dr. Karsten Tolle

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

Mehr

Datenbankpraktikum, Gruppe F. JPA mit Hibernate. Alexander Stautner, Harald Zauner, Sascha Schreier

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

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

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis Daniel Warner SQL Das Praxisbuch Mit 119 Abbildungen Franzis Inhaltsverzeichnis Teil I - Einleitung 15 1 Einleitung 17 1.1 Zum Aufbau des Buchs 17 1.2 Hinweise zur Buch-CD 18 1.3 Typografische Konventionen

Mehr

Java Persistence Puzzlers

Java Persistence Puzzlers Die Spielregeln 1. Mappings 2. Das API 3. Abfragen Vielen Dank! Frank Schwarz, buschmais GbR Java Forum Stuttgart Java Persistence Puzzlers Wie funktioniert es? Ich frage. Sie antworten. package application;

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

SQL Wiederholung. Datenbanktechnologien. Verbunde. Aggregation und Gruppierung. Unterabfragen. Hochschule für Technik und Wirtschaft Berlin

SQL Wiederholung. Datenbanktechnologien. Verbunde. Aggregation und Gruppierung. Unterabfragen. Hochschule für Technik und Wirtschaft Berlin SQL Wiederholung Datenbanktechnologien Prof. Dr. Ingo Claÿen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Verbunde Aggregation und Gruppierung Unterabfragen Verbunde Inner-Join Nur

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

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

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis. SQL Lehr- und Forschungseinheit Datenbanken und Informationssysteme Ziele Grundlagen von SQL Beziehung zur relationalen Algebra SELECT, FROM, WHERE Joins ORDER BY Aggregatfunktionen Lehr- und Forschungseinheit

Mehr

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

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

Mehr

Abfragen (Queries, Subqueries)

Abfragen (Queries, Subqueries) Abfragen (Queries, Subqueries) Grundstruktur einer SQL-Abfrage (reine Projektion) SELECT [DISTINCT] {* Spaltenname [[AS] Aliasname ] Ausdruck} * ; Beispiele 1. Auswahl aller Spalten SELECT * ; 2. Auswahl

Mehr

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

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

Mehr

Oracle native json Support. Erste Schritte

Oracle native json Support. Erste Schritte Oracle native json Support Erste Schritte 1 Ausgangslage Als erster Schritt erstellen wir eine Tabelle, die wir für den weiteren Verlauf brauchen werden. Die Felder Id, Created und Username sind normale

Mehr

Übungsaufgabe Transaktion als Middleware

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

Mehr

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

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

Mehr

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD Vorwort zur vierten Auflage 11 Vorwort zur dritten Auflage 13 Vorwort zur zweiten Auflage 15 Vorwort zur ersten Auflage 17 Hinweise zur CD 19 1 Datenbanken und Datenbanksysteme 21 1.1 Zentralisierung der

Mehr

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

Mehr

Übungsaufgaben zur Klausurvorbereitung Datenbanken 2, SoSe 2016

Übungsaufgaben zur Klausurvorbereitung Datenbanken 2, SoSe 2016 Die nachfolgenden Aufgaben sind nach Kategorien geordnet und stellen eine Auswahl von Aufgaben aus alten Klausuren des bisherigen Bachelor-WP-Fachs Datenbank Anwendungsentwicklung dar. Kategorie 1: OR-Mapping

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Java Persistenz mit JPA und Hibernate. Michael Plöd - Senacor Technologies AG

Java Persistenz mit JPA und Hibernate. Michael Plöd - Senacor Technologies AG Java Persistenz mit JPA und Hibernate Michael Plöd - Senacor Technologies AG Michael Plöd Partner bei Senacor Technologies AG Hibernate Erfahrung seit 2002 michael.ploed@senacor.com Ihr Hintergrund Erfahrung

Mehr

FWP Aktuelle Technologien zur Entwicklung verteilter Java- Anwendungen

FWP Aktuelle Technologien zur Entwicklung verteilter Java- Anwendungen FWP Aktuelle Technologien zur Entwicklung verteilter Java- Anwendungen Sommersemester 2014 Michael Theis, Lehrbeauftragter Manager Persistence Context persist flush find Datastore merge flush remove flush

Mehr

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1) Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)

Mehr

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

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

Mehr

Spring erzeugt Standard- Repositories (DAOs)

Spring erzeugt Standard- Repositories (DAOs) Spring erzeugt Standard- Repositories (DAOs) Bei Spring heißen DAOs Repositories Ein Interface pro Entity-Klasse wird von JpaRepository abgeleitet Interface JpaRepository T ist

Mehr

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

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

Mehr

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

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

Mehr

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

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel Anwendungsentwicklung Datenbanken SQL Stefan Goebel SQL Structured Query Language strukturierte Abfragesprache von ANSI und ISO standardisiert deklarativ bedeutet was statt wie SQL beschreibt, welche Daten

Mehr

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

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

Mehr

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

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

Mehr

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

Mehr

Rene Böing, Alexander Kuhn, Marc Wilmes Einführung in Spring und Hibernate

Rene Böing, Alexander Kuhn, Marc Wilmes Einführung in Spring und Hibernate 1 von 43 Rene Böing, Alexander Kuhn, Marc Wilmes Einführung in Spring und Hibernate 27.11.11 Agenda Einleitung Ist-Zustand Bookstore Was ist Hibernate? Wie funktioniert Hibernate? Was ist Spring? Architektur

Mehr

Eclipse und EclipseLink

Eclipse 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

Mehr

SQL als Zugriffssprache

SQL als Zugriffssprache SQL als Zugriffssprache Der Select Befehl: Aufbau Select- und From-Klausel Where-Klausel Group-By- und Having-Klausel Union Join-Verbindung Order-By-Klausel Der Update-Befehl Der Delete-Befehl Der Insert-Befehl

Mehr

StructuredQueryLanguage(SQL)

StructuredQueryLanguage(SQL) StructuredQueryLanguage(SQL) Themen: ErstelenundÄndernvonTabelen AbfragenvonDaten Einfügen,ÄndernundLöschenvonDaten Erstelennutzerde niertersichten(views) 2012Claßen,Kempa,Morcinek 1/23 SQL Historie System

Mehr

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

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

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

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

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

Gregor Raschke 2008 HIBERNATE. Eine Einführung

Gregor 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

Mehr

Datenbankabfragen und Datenmanipulation

Datenbankabfragen und Datenmanipulation Datenbankabfragen und Datenmanipulation Datenbankabfragen auf einer Tabelle...1 SELECT Abfrage...1 Projektion...2 Wertausdrücke...3 Numerische Wertausdrücke...3 Zeichenkettenwertausdrücke...3 Datums und

Mehr

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage.

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage. SELECT-FROM SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage. Inhaltsverzeichnis 1 Der grundlegende Aufbau 2 Doppelte

Mehr

Objektorientierte Datenbanken

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

Mehr

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language) Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 5 Einführung Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 16 Seite 1 von 16 Agenda 1 Tabellen und Views erstellen 2 Indizes

Mehr

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)

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

Mehr

Christian Kühl. Von JDO zu JPA Entwicklung einer Migrationsstrategie

Christian Kühl. Von JDO zu JPA Entwicklung einer Migrationsstrategie Christian Kühl Von JDO zu JPA Entwicklung einer Migrationsstrategie Inhalt JDO und JPA Motivation Was muss migriert werden? Strategien Architektur Beispiel Migration am Beispiel Automatisierung Probleme

Mehr

Datenzugriffskomponenten mit JPA

Datenzugriffskomponenten mit JPA Datenzugriffskomponenten mit JPA FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Theis Michael - Senior Developer UniCredit Global Information Services S.C.p.A Sommersemester 2012

Mehr

Oracle: Abstrakte Datentypen:

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

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13 Auf einen Blick Vorwort... 13 Teil 1 Vorbereitung Kapitel 1 Einleitung... 17 Kapitel 2 SQL der Standard relationaler Datenbanken... 21 Kapitel 3 Die Beispieldatenbanken... 39 Teil 2 Abfrage und Bearbeitung

Mehr

Datenmanipulation in SQL (1): Subselect:

Datenmanipulation in SQL (1): Subselect: Datenmanipulation in SQL (1): Unter Datenmanipulation wird sowohl der lesende Zugriff auf die Daten (Select Statement) als auch die Änderung von Daten (Insert, Delete, Update) subsummiert. Wir beginnen

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

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

Mehr

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

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

1 Klassen anlegen und Objekte erzeugen

1 Klassen anlegen und Objekte erzeugen Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a

Mehr

IV. Datenbankmanagement

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

Mehr

1 Klassen anlegen und Objekte erzeugen

1 Klassen anlegen und Objekte erzeugen Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13 Auf einen Blick Vorwort 13 Teil 1 Vorbereitung Kapitel 1 Einleitung 17 Kapitel 2 SQL - der Standard relationaler Datenbanken 21 Kapitel 3 Die Beispieldatenbanken 39 Teil 2 Abfrage und Bearbeitung Kapitel

Mehr

Übung Datenbanken in der Praxis. Anfragen an Datenbanken mit SQL

Übung Datenbanken in der Praxis. Anfragen an Datenbanken mit SQL Anfragen an Datenbanken mit SQL Folie 28 Syntax einer Anfrage SFW-Anfrage (Select-From-Where-Anfrage) SELECT Projektion π FROM Kart. Produkt WHERE Selektion

Mehr

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle

OO 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

Mehr

SQL. Abfragesprache Datenmanipulation - DML

SQL. Abfragesprache Datenmanipulation - DML SQL Abfragesprache Datenmanipulation - DML SQL DML-Operationen DML = Data Manipulation Language Sprache zur Veränderung der Daten Operationen Daten selektieren Daten einfügen Daten ändern Daten löschen

Mehr

Themen des Kapitels. 2 Grundlagen von PL/SQL. PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren. 2.1 Übersicht. Grundelemente von PL/SQL.

Themen des Kapitels. 2 Grundlagen von PL/SQL. PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren. 2.1 Übersicht. Grundelemente von PL/SQL. 2 Grundlagen von PL/SQL Grundelemente von PL/SQL. 2.1 Übersicht Themen des Kapitels Grundlagen von PL/SQL Themen des Kapitels PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren Im Kapitel Grundlagen

Mehr

Datenbanken. Zusammenfassung. Datenbanksysteme

Datenbanken. Zusammenfassung. Datenbanksysteme Zusammenfassung Datenbanksysteme Christian Moser Seite 1 vom 7 12.09.2002 Wichtige Begriffe Attribut Assoziation API Atomares Attribut Datenbasis DBMS Datenunabhängigkeit Datenbankmodell DDL DML DCL ER-Diagramm

Mehr

U 8 SQL. = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN:

U 8 SQL. = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN: U 8 SQL = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN: - Abfragesprache für relationale Datenbanken, die plattformübergreifend verwendet wird - Vereinfachte Verwendung über

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

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15 Vorwort..................................................... 13 Kapitel 1 Einleitung.......................................... 15 Kapitel 2 SQL der Standard relationaler Datenbanken... 19 2.1 Die Geschichte................................

Mehr

10. Datenbank Design 1

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

Mehr

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15 Vorwort 13 Kapitel 1 Einleitung 15 Kapitel 2 SQL-der Standard relationaler Datenbanken... 19 2.1 Die Geschichte 19 2.2 Die Bestandteile 20 2.3 Die Verarbeitung einer SQL-Anweisung 22 2.4 Die Struktur von

Mehr

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH 1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH Die Umgebungsvariable CLASSPATH kann im Hamster-Simulator sowohl für Compiler als auch für die Ausführung des Hamster-Programms gesetzt werden: Hierdurch

Mehr

SQL und MySQL. Kristian Köhntopp

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

Mehr

Erzeugung und Veränderung von Tabellen

Erzeugung und Veränderung von Tabellen Datenbanken - Objekte Erzeugung und Veränderung von Tabellen Objekt Tabelle View Sequence Index Synonym Basiseinheit zum Speichern; besteht aus Zeilen und Spalten; Logische Repräsentation; kann Teilmengen

Mehr

Workshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk

Workshop 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

Mehr

SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck

SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Fahren fort mit SQL Befehlen. Bilden Relationenalgebra auf SQL ab. So Umsetzung von Anfragen an die DB (bzw. Tabellen) möglich. SELECT

Mehr

SQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT

SQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT SQL SQL SELECT Anweisung Mit der SQL SELECT-Anweisung werden Datenwerte aus einer oder mehreren Tabellen einer Datenbank ausgewählt. Das Ergebnis der Auswahl ist erneut eine Tabelle, die sich dynamisch

Mehr

Informatik 12 Datenbanken SQL-Einführung

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

Mehr

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

SQL: Abfragen für einzelne Tabellen

SQL: Abfragen für einzelne Tabellen Musterlösungen zu LOTS SQL: Abfragen für einzelne Tabellen Die Aufgaben lösen Sie mit dem SQL-Training-Tool LOTS der Universität Leipzig: http://lots.uni-leipzig.de:8080/sql-training/ Wir betrachten für

Mehr

PostgreSQL Ein Überblick

PostgreSQL Ein Überblick 26. August 2007 Agenda Neue Funktionen im Bereich SQL, XML und Volltextsuche Geschwindigkeitsverbesserungen Neue Erweiterungen (contrib) XML (1) Neuer Datentyp xml ( well-formedness ) Viele Funktionen

Mehr

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Primitive Datentypen Fließkommazahlen float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Vorzeichen Exponent 8 bit Mantisse 23 bit double: Fließkommazahl nach IEEE 754 Standard mit 64 bit Vorzeichen

Mehr

Inhaltsverzeichnis. Lothar Piepmeyer. Grundkurs Datenbanksysteme. Von den Konzepten bis zur Anwendungsentwicklung ISBN:

Inhaltsverzeichnis. Lothar Piepmeyer. Grundkurs Datenbanksysteme. Von den Konzepten bis zur Anwendungsentwicklung ISBN: Lothar Piepmeyer Grundkurs Datenbanksysteme Von den Konzepten bis zur Anwendungsentwicklung ISBN: 978-3-446-42354-1 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42354-1

Mehr

5.8 Bibliotheken für PostgreSQL

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

Mehr

Wissensentdeckung in Datenbanken

Wissensentdeckung in Datenbanken Wissensentdeckung in Datenbanken SQL, Häufige Mengen Nico Piatkowski und Uwe Ligges 11.05.2017 1 von 16 Überblick Was bisher geschah... Modellklassen Verlustfunktionen Numerische Optimierung Regularisierung

Mehr

MCSA: SQL 2016 Database Development

MCSA: SQL 2016 Database Development MCSA: SQL 2016 Database Development Querying Data with Transact-SQL & Developing SQL Databases Seminarziel In diesem 6-tägigen Kurs werden die Teilnehmer von Grund auf in die Entwicklung

Mehr

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY.

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY. SELECT - Der Grundbefehl zur Auswahl von Daten Die SELECT-Anweisung fragt Daten aus einer Datenbank ab und stellt diese in einer virtuellen Tabelle zur Verfügung. Diese virtuelle Tabelle, eine Menge von

Mehr

Datenmanipulation in SQL. Select Anweisung

Datenmanipulation in SQL. Select Anweisung Datenmanipulation in SQL Unter Datenmanipulation wird sowohl der lesende Zugriff auf die Daten (Select Statement) als auch die Änderung von Daten (Insert, Delete, Update) subsummiert. Wir beginnen mit

Mehr

Lösungen der Übungsaufgaben von Kapitel 10

Lösungen der Übungsaufgaben von Kapitel 10 Lösungen der Übungsaufgaben von Kapitel 10 1. Legen Sie mit einem SQL - Befehl eine neue Tabelle PERSON_KURZ mit den Feldern Kurz_Id, Kurz_Name an. Machen Sie das so, dass Kurz_Id der Primärschlüssel wird

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

Klausur Objektorientierte Datenbanken SS 2004 Iwanowski

Klausur Objektorientierte Datenbanken SS 2004 Iwanowski Klausur Objektorientierte Datenbanken SS 2004 Iwanowski 25.08.2004 Hinweise: Bearbeitungszeit: 60 Minuten (DI: 75 Minuten inkl. der Aufgabe zu Datenbanken 1) Erlaubte Hilfsmittel: im Anhang, sonst keine

Mehr

ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage nach CHAR oder VARCHAR

ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage nach CHAR oder VARCHAR ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage Zusammenfassung Dieses Dokument beschreibt die Unterschiede zwischen CHAR und VARCHAR Datentyp sowie die Behandlung im SQL Michael Tiefenbacher

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

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

Mehr

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

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

Mehr

Open-Source Transparente Persistence (keine Interfaces, keine Ober- Klassen) Caching

Open-Source Transparente Persistence (keine Interfaces, keine Ober- Klassen) Caching 1 Was ist Hibernate Hibernate ist ein Open-Source-Java-Persistenz-Framework für relationale Datenbanken Persistenz-Frameworks: kapseln und abstrahiert den Zugriff auf eine Speicherschicht -> Zwischenschicht

Mehr

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

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

Mehr

Datenbanksysteme Teil 6 MySQL DML Die SELECT-Anweisung. Stefan Maihack Dipl. Ing. (FH) Datum:

Datenbanksysteme Teil 6 MySQL DML Die SELECT-Anweisung. Stefan Maihack Dipl. Ing. (FH) Datum: Datenbanksysteme Teil 6 MySQL DML Die SELECT-Anweisung Stefan Maihack Dipl. Ing. (FH) Datum: 28.10.2005 1 einfachste SELECT-Anweisung Alle Inhalte einer Tabelle holen: SELECT * FROM land; 2 DML - SELECT

Mehr

Programmieren II. Objekt-relationales Mapping. Vorlesung 08. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011

Programmieren II. Objekt-relationales Mapping. Vorlesung 08. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011 Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 39 2 / 39 Mit JDBC kann Java sich mit relationalen Datenbanken verbinden. Hierbei entsprechen jeder Datensatz einer Zeile

Mehr

Oracle und SQL. Kursinhalte. Kompakt-Intensiv-Training. Oracle und SQL

Oracle und SQL. Kursinhalte. Kompakt-Intensiv-Training. Oracle und SQL Oracle und SQL Kompakt-Intensiv-Training In unsere Schulung "Oracle und SQL" erhalten Sie einen breitgefächerten Überblick über die fachmännische und effektive Nutzung der SQL-Implementierung in Oracle.

Mehr

7. XML-Datenbanksysteme und SQL/XML

7. XML-Datenbanksysteme und SQL/XML 7. XML-Datenbanksysteme und SQL/XML Native XML-DBS vs. XML-Erweiterungen von ORDBS Speicherung von XML-Dokumenten Speicherung von XML-Dokumenten als Ganzes Generische Dekomposition von XML-Dokumenten Schemabasierte

Mehr