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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester / 39 2 / 39 Mit JDBC kann Java sich mit relationalen Datenbanken verbinden. Hierbei entsprechen jeder Datensatz einer Zeile in einer Datenbanktabelle und die Attribute eines Datensatzes den Tabellenspalten. Daher ist es prinzipiell möglich, eine Abbildung zwischen den Datensätzen in einer Tabelle und klassischen Java-Objekten (POJO plain old Java objects) herzustellen. Eine solche Abbildung nennt man objekt-relationales Mapping (ORM). 3 / 39 Handout S. 1

2 Beispieltabelle: Customer Die folgende Tabelle beschreibt einen Kunden mit Adresse, wobei die ID des Kunden automatisch generiert wird (entsprechend des SQL-Dialektes für HSQLDB): CREATE TABLE CUSTOMER( ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY, FIRSTNAME VARCHAR( 2 0 ), LASTNAME VARCHAR( 2 0 ), STREET VARCHAR( 2 0 ), CITY VARCHAR( 2 0 ) ) 4 / 39 Korrespondierende Klasse Customer p u b l i c c l a s s Customer { p r i v a t e I n t e g e r i d ; p r i v a t e S t r i n g f i r s t n a m e ; p r i v a t e S t r i n g lastname ; p r i v a t e S t r i n g s t r e e t ; p r i v a t e S t r i n g c i t y ; p u b l i c I n t e g e r g e t I d ( ) { r e t u r n i d ; p u b l i c void s e t I d ( I n t e g e r id ) { t h i s. id = i d ; 5 / 39 Korrespondierende Klasse Customer (Forts.) p u b l i c S t r i n g getfirstname ( ) { r e t u r n f i r s t n a m e ; p u b l i c void setfirstname ( S t r i n g f i r s t n a m e ) { t h i s. f i r s t n a m e = f i r s t n a m e ; // Weitere Getter und S e t t e r p u b l i c S t r i n g t o S t r i n g ( ) { r e t u r n S t r i n g. format ( "%s %s, %s, %s ", firstname, lastname, s t r e e t, c i t y ) ; 6 / 39 Handout S. 2

3 Klasse DBConnection Das Laden des JDBC-Treibers und der Aufbau der Verbindung wird in eine eigene Klasse ausgelagert: p u b l i c c l a s s DBManager { p r i v a t e Connection conn ; p u b l i c DBManager ( ) { t r y { Class. forname ( " org. hsqldb. j dbcdriver " ) ; conn = DriverManager. getconnection ( " jdbc : hsqldb : f i l e : data / f i b u ; shutdown=t r u e ", "SA", "" ) ; catch ( Exception e ) { e. printstacktrace ( ) ; 7 / 39 Klasse DBConnection (Forts.) p u b l i c void c l o s e ( ) { i f ( conn!= n u l l ) { t r y { conn. c l o s e ( ) ; catch ( SQLException e ) { e. printstacktrace ( ) ; f i n a l l y { conn = n u l l ; 8 / 39 Verknüpfung DB-Tabelle Java-Objekt Nun sollen Java-Objekte persistent gemacht werden, indem Objekte vom Typ Customer mit der gleichnamigen DB-Tabelle synchronisiert werden können. Hierzu werden der Klasse DBManager zwei neue Methoden hinzugefügt: Customer load(integer id) Hier werden für eine ID die Werte der Attribute per SELECT aus der Tabelle geholt und eine neue Instanz von Customer erzeugt. void persist(customer c) Hier werden die Werte der Attribute von c in die Tabelle geschrieben, wobei bei leerer ID (null) ein neuer Datensatz per INSERT eingefügt, andernfalls die Feldwerte des existierenden Datensatzes per UPDATE aktualisiert werden. 9 / 39 Handout S. 3

4 Methode load von DBManager p u b l i c Customer load ( I n t e g e r i d ) { Customer c = n u l l ; t r y { PreparedStatement s t = conn. preparestatement ( " s e l e c t * from CUSTOMER where i d=?" ) ; s t. s e t I n t ( 1, i d ) ; R e s u l t S e t r e s = s t. executequery ( ) ; i f ( r e s. next ( ) ) { c = new Customer ( ) ; c. s e t I d ( r e s. g e t I n t ( "ID" ) ) ; c. s e t F i r s t n a m e ( r e s. g e t S t r i n g ( "FIRSTNAME" ) ) ; c. setlastname ( r e s. g e t S t r i n g ( "LASTNAME" ) ) ; c. s e t S t r e e t ( r e s. g e t S t r i n g ( "STREET" ) ) ; c. s e t C i t y ( r e s. g e t S t r i n g ( "CITY" ) ) ; r e s. c l o s e ( ) ; catch ( SQLException e ) { e. p r i n t S t a c k T r a c e ( ) ; r e t u r n c ; 10 / 39 Methode persist von DBManager p u b l i c void p e r s i s t ( Customer c ) { PreparedStatement s t ; t r y { i f ( c. g e t I d ()== n u l l ) { s t = conn. preparestatement ( " i n s e r t i n t o CUSTOMER"+ " (FIRSTNAME,LASTNAME,STREET, CITY) v a l u e s (?,?,?,? ) " ) ; e l s e { s t = conn. preparestatement ( " update CUSTOMER s e t "+ "FIRSTNAME=?, LASTNAME=?, STREET=?, CITY=? where i d=?" ) ; s t. s e t I n t ( 5, c. g e t I d ( ) ) ; s t. s e t S t r i n g ( 1, c. getfirstname ( ) ) ; s t. s e t S t r i n g ( 2, c. getlastname ( ) ) ; s t. s e t S t r i n g ( 3, c. g e t S t r e e t ( ) ) ; s t. s e t S t r i n g ( 4, c. g e t C i t y ( ) ) ; s t. executeupdate ( ) ; 11 / 39 Methode persist von DBManager (Forts.) i f ( c. g e t I d ()== n u l l ) { s t = conn. preparestatement ( " c a l l i d e n t i t y ( ) " ) ; R e s u l t S e t r e s = s t. executequery ( ) ; r e s. next ( ) ; c. s e t I d ( new I n t e g e r ( r e s. g e t I n t ( 1 ) ) ) ; r e s. c l o s e ( ) ; catch ( SQLException e ) { e. p r i n t S t a c k T r a c e ( ) ; 12 / 39 Handout S. 4

5 Exkurs: PreparedStatement In der Realisierung von fetch () und update() wurde statt Statement jeweils PreparedStatement benutzt. Bei PreparedStatement wird beim Anlegen das Statement bereits mit einem SQL-Befehl (i. A. mit Platzhaltern) vorbereitet. Dieser wird von der Datenbank vorkompiliert. Danach können die Platzhalter mit den realen Werte belegt werden. Vorteile: Bei mehrfacher Verwendung (z. B. in Schleifen) ergibt sich ein Laufzeitgewinn, da der Befehl schon vorkompiliert ist. Da die Gültigkeit der Parameter überprüft wird und SQL-Sonderzeichen (z. B. ') geschützt werden, werden so genannte SQL-Injections verhindert. 13 / 39 Kleiner Cartoon Quelle: 14 / 39 Zusammenfassung In diesem Abschnitt wurde anhand einer einfachen Tabelle demonstriert, wie ein objekt-relationales Mapping selber realisiert werden kann. Der Aufwand war aber recht hoch, da individuell für die Klasse die entsprechenden Methoden zur Synchronisation inkl. der entsprechenden SQL-Befehle implementiert wurden. Wegen verschiedener SQL-Dialekte der RDBMS ist die Implementierung auch DB-spezifisch. Der Aufwand wird noch höher, wenn Tabellen über Schlüssel miteinander verknüpft sind. Daher werden in der Praxis für ORM spezielle Frameworks benutzt. 15 / 39 Handout S. 5

6 Hibernate Es existieren verschiedene Frameworks, die ein objekt-relationales Mapping realisieren, mittlerweile standadisiert über die Java Persistence API JPA. Eines der bekanntesten und häufig benutzten ist Hibernate ( Was ist der Vorteil eines solchen Frameworks und ORM? Es verbindet die Vorteile der objektorientierten Programmierung mit den Vorteilen einer Datenbank, insbesondere der Persistenz (d. h. dass Datensätze in einem RDBMS nicht flüchtig sind). So kann man persistente Objekte realisieren, die sich weitgehend wie normale Java-Objekte verwenden lassen. 16 / 39 Geschichte Hibernate wurde von der Firma JBoss entwickelt, die sich mit Open-Source-Software im Bereich Java-Middleware, -Applikationsservern und Message-Brokern beschäftigt. Mittlerweile wurde JBoss von RedHat übernommen. 17 / 39 Architektur Hibernate stellt in der einfachsten Benutzungsform dem Anwender eine Datenbank-Session zur Verfügung, die nach Konfiguration eines Datenbanktyps und der Datenbankparameter geöffnet wird. Objekte können sich in drei Zuständen befinden: transient Das Objekt ist noch nicht mit der Datenbank verknüpft, also flüchtig. persistent Das Objekt ist im aktuellen Kontext mit der Datenbank verknüpft. detached Das Objekt war mit der Datenbank verknüpft, der Kontext existiert aber nicht mehr. Daher ist das Objekt aktuell losgelöst. 18 / 39 Handout S. 6

7 Schaubild 19 / 39 Konfiguration einer Hibernate-Anwendung In der Java-SE verwendet man i. A. mit Hibernate einen Entity-Manager, der aus einer so genannten Persistence Unit erzeugt wird. Hierbei erfolgt die Konfiguration der Persistence Unit in der Datei META-INF/persistence.xml: <?xml version=" 1. 0 " encoding=" utf -8 "?> <p e r s i s t e n c e xmlns=" h t t p : // java. sun. com/xml/ ns / p e r s i s t e n c e " xmlns: xsi=" http: //www. w3. org /2001/XMLSchema- instance " x s i : s c h e m a L o c a t i o n=" h t t p : // java. sun. com/xml/ ns / p e r s i s t e n c e h t t p : // j a va. sun. com/xml/ ns / p e r s i s t e n c e / persistence_2_0. xsd " v e r s i o n=" 2. 0 "> <persistence - unit name=" manager1 " transaction - type="resource_local"> <p r o p e r t i e s> <p r o p e r t y name=" javax. p e r s i s t e n c e. jdbc. d r i v e r " v a l u e=" org. hsqldb. j d b c D r i v e r "/> <p r o p e r t y name=" javax. p e r s i s t e n c e. jdbc. u s e r " v a l u e=" sa "/> <p r o p e r t y name=" javax. p e r s i s t e n c e. jdbc. password " v a l u e=""/> <p r o p e r t y name=" javax. p e r s i s t e n c e. jdbc. u r l " v a l u e=" j d b c : h s q l d b : f i l e : d a t a / f i b u ; shutdown=t r u e "/> <p r o p e r t y name=" h i b e r n a t e. d i a l e c t " v a l u e=" org. h i b e r n a t e. d i a l e c t. HSQLDialect "/> <property name=" hibernate. max_fetch_depth" value="3"/> </ p r o p e r t i e s> </ persistence - unit> </ p e r s i s t e n c e> 20 / 39 Anlegen des Entity-Managers import javax. p e r s i s t e n c e. * ; p u b l i c c l a s s Anwendung { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { EntityManagerFactory emf = P e r s i s t e n c e. createentitymanagerfactory ( "manager1" ) ; EntityManager em = emf. createentitymanager ( ) ; // Arbeiten mit p e r s i s t e n t e n Objekten em. c l o s e ( ) ; emf. c l o s e ( ) ; 21 / 39 Handout S. 7

8 Grundlagen von ORM Durch ORM werden Klassen mit Tabellen und Instanzen der Klassen mit Datensätzen innerhalb der Tabelle verknüpft. Damit Instanzen eindeutig Datensätzen zugeordnet werden können, muss die Datenbanktabelle einen eindeutigen Primärschlüssel besitzen. Dieser wird dann als WHERE-Ausdruck in den abgesetzten SQL-Anweisungen verwendet. Weiterhin dient die Existenz einer Primär-ID im Objekt der Unterscheidung, ob ein nicht persistentes Objekt transient oder detached ist. 22 / 39 Faustregeln Im Allgemeinen wird eine Tabelle der Datenbank einer Java-Klasse zugeordnet. Diese Klasse muss einen Standardkonstruktor besitzen. Die Attribute der Tabelle werden auf entsprechende Attribute der Klasse abgebildet. In der Klasse werden dann Getter und Setter für diese Attribute definiert. Durch Annotationen können besondere Zuordnungen (Primärschlüssel, Abbildungen n:m, unterschiedlicher Name von Attribut und Tabellenspalte) definiert werden. 23 / 39 Beispiel: Datenbank Fibu Hier nun ein Datenbankschema für eine Buchhaltung: Invoice ID : INTEGER CUSTOMERID : INTEGER TOTAL : DECIMAL(10,2) Customer ID : INTEGER FIRSTNAME : VARCHAR(20) LASTNAME : VARCHAR(20) Item ITEM : INTEGER INVOICEID : INTEGER PRODUCTID : INTEGER QUANTITY : INTEGER COST : DECIMAL(10,2) PRODUCT ID : INTEGER NAME : VARCHAR(20) PRICE : DECIMAL(10,2) 24 / 39 Handout S. 8

9 Erster Ansatz: Klasse Invoice import javax. p e r s i s t e n c e. * p u b l i c c l a s s I n v o i c e { p r i v a t e I n t e g e r i d ; p r i v a t e I n t e g e r customerid ; p r i v a t e Double t o t a ( s t r a t e g y=generationtype.auto) p u b l i c I n t e g e r g e t I d ( ) { r e t u r n i d ; p u b l i c void s e t I d ( I n t e g e r id ) { t h i s. id = i d ; 25 / 39 Erster Ansatz: Klasse Invoice (Forts.) p u b l i c I n t e g e r getcustomerid ( ) { r e t u r n customerid ; p u b l i c void setcustomerid ( I n t e g e r customerid ) { t h i s. customerid = customerid ; p u b l i c Double gettotal ( ) { r e t u r n t o t a l ; p u b l i c void s e t T o t a l ( Double t o t a l ) { t h i s. t o t a l = t o t a l ; 26 / 39 Mapping Während in Hibernate das ORM ursprünglich über XML-Dateien erfolgte, geht dies nun über Annotationen: Die Klasse Invoice wird über Annotation als Entität gekennzeichnet, wobei per Default angenommen wird, dass die Datenbanktabelle den selben Namen hat. Dann wird das Attribut id der Java-Klasse als Primärschlüssel markiert. Alle weiteren Attribute der Klasse werden automatisch auf die Datenbankspalte gleichen Namens abgebildet. 27 / 39 Handout S. 9

10 Zweiter Ansatz für Invoice In Wirklichkeit möchte man in der Klasse Invoice statt der reinen Kundennr. lieber direkt eine Referenz auf den Kunden p u b l i c c l a s s I n v o i c e {... p r i v a t e Customer ( name="customerid" ) p u b l i c Customer getcustomer ( ) { r e t u r n customer ; p u b l i c void setcustomer ( Customer customer ) { t h i s. customer = customer ; 28 / 39 Mapping Dies ist ein Fall einer Zuordnung many-to-one: Mehrere Rechnungen können für denselben Kunden ausgestellt sein. Diese Abbildung erfolgt über die wobei der Name der Tabellenspalte mit dem Fremdschlüssel angegeben werden muss, wenn diese Spalte nicht einfach FKTAB_ID heißt, wobei FKTAB der Name der verknüpften Tabelle ist. Die Klasse Customer muss natürlich auch entsprechend mit Annotationen für JPA versehen sein. 29 / 39 Mapping der Rechnungspositionen Einer Rechnung sind in der Regel viele Rechnungsposten zugeordnet. Die Zuordnung erfolgt durch die Spalte invoiceid in der Tabelle Item. Hierfür wird in der Klasse Invoice nun eine Collection von Item neu hinzugefügt, die eine Abbildung vom Typ one-to-many ist. Hierbei wird für die Zuordnung die Spalte invoiceid aus Item als foreign key verwendet, anhand dessen die passenden Rechnungsposten ausgewählt werden. Zusätzlich wird direkt die Tabelle Product anhand der Produktnr. des Rechnungsposten in die Klasse Item abgebildet. 30 / 39 Handout S. 10

11 Klasse p u b l i c c l a s s I n v o i c e { p r i v a t e C o l l e c t i o n <Item> items i n v o i c e " ) p u b l i c C o l l e c t i o n <Item> getitems ( ) { r e t u r n items ; p u b l i c void s e t I t e m s ( C o l l e c t i o n <Item> items ) { t h i s. items = items ; 31 / 39 Klasse p u b l i c c l a s s Item { p r i v a t e I n t e g e r i d ; p r i v a t e I n v o i c e i n v o i c e ; p r i v a t e Product product ; p r i v a t e I n t e g e r name="item" ( s t r a t e g y=generationtype.auto) p u b l i c I n t e g e r g e t I d ( ) { r e t u r n i d ; p u b l i c void s e t I d ( I n t e g e r id ) { t h i s. id = i d ; 32 / 39 Klasse ( name="invoiceid" ) p u b l i c I n v o i c e g e t I n v o i c e ( ) { r e t u r n i n v o i c e ; p u b l i c void s e t I n v o i c e ( I n v o i c e i n v o i c e ) { t h i s. i n v o i c e = i n v o i c ( name="productid" ) p u b l i c Product getproduct ( ) { r e t u r n product ; p u b l i c void setproduct ( Product product ) { t h i s. product = product ; 33 / 39 Handout S. 11

12 Klasse Item (Forts.) p u b l i c I n t e g e r getquantity ( ) { r e t u r n quantity ; p u b l i c void setquantity ( I n t e g e r quantity ) { t h i s. quantity = quantity ; 34 / 39 Klasse p u b l i c c l a s s Product { p r i v a t e I n t e g e r i d ; p r i v a t e S t r i n g name ; p r i v a t e Double p r i c e p u b l i c I n t e g e r g e t I d ( ) { r e t u r n i d ; p u b l i c void s e t I d ( I n t e g e r id ) { t h i s. id = i d ; 35 / 39 Klasse Product (Forts.) p u b l i c S t r i n g getname ( ) { r e t u r n name ; p u b l i c void setname ( S t r i n g name) { t h i s. name = name ; p u b l i c Double g e t P r i c e ( ) { r e t u r n p r i c e ; p u b l i c void s e t P r i c e ( Double p r i c e ) { t h i s. p r i c e = p r i c e ; 36 / 39 Handout S. 12

13 Anwendung p u b l i c c l a s s Anwendung { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { EntityManagerFactory emf = P e r s i s t e n c e. createentitymanagerfactory ( "manager1" ) ; EntityManager em = emf. createentitymanager ( ) ; EntityTransaction tx = em. g e t Transaction ( ) ; tx. begin ( ) ; Customer c = em. f i n d ( Customer. c l a s s, new I n t e g e r ( 5 ) ) ; System. out. p r i n t l n ( c ) ; c. s e t C i t y ( " Frankfurt " ) ; tx. commit ( ) ; 37 / 39 Anwendung (Forts.) tx. begin ( ) ; c = new Customer ( ) ; c. setfirstname ( " Karl " ) ; c. setlastname ( " Meier " ) ; c. s e t S t r e e t ( "Ahornweg" ) ; c. s e t C i t y ( "Köln" ) ; em. p e r s i s t ( c ) ; tx. commit ( ) ; System. out. p r i n t l n ( c. g e t I d ( ) ) ; 38 / 39 Anwendung (Forts.) I n v o i c e inv = em. f i n d ( I n v o i c e. c l a s s, new I n t e g e r ( 2 ) ) ; System. out. p r i n t l n ( inv. getcustomer ( ) ) ; f o r ( Item item : inv. getitems ( ) ) { System. out. format ( "%d mal %s \n", item. getquantity ( ), item. getproduct ( ). getname ( ) ) ; em. c l o s e ( ) ; emf. c l o s e ( ) ; 39 / 39 Handout S. 13

Programmieren II. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011

Programmieren II. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011 Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 Objekt-relationales Mapping 2 Objekt-relationales Mapping Mit JDBC kann Java sich mit relationalen Datenbanken verbinden. Objekt-relationales

Mehr

Programmieren II. Objekt-relationales Mapping. Vorlesung 12. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2009

Programmieren II. Objekt-relationales Mapping. Vorlesung 12. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2009 Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2009 1 / 35 2 / 35 Mit JDBC kann Java sich mit relationalen Datenbanken verbinden. Hierbei entsprechen jeder Datensatz einer Zeile

Mehr

Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 39

Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 39 Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 39 Objekt-relationales Mapping 2 / 39 Objekt-relationales Mapping Mit JDBC kann Java sich mit relationalen Datenbanken verbinden.

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

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

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

Mehr

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

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

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger

Mehr

Labor 3 - Datenbank mit MySQL

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

Mehr

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

E-Mail-Inhalte an cobra übergeben

E-Mail-Inhalte an cobra übergeben E-Mail-Inhalte an cobra übergeben Sie bieten ihren potentiellen oder schon bestehenden Kunden über ihre Website die Möglichkeit, per Bestellformular verschiedene Infomaterialien in Papierform abzurufen?

Mehr

Programmieren II. Objekt-relationales Mapping. Hibernate. Hibernate. Dr. Klaus Höppner. Hochschule Darmstadt SS 2008

Programmieren II. Objekt-relationales Mapping. Hibernate. Hibernate. Dr. Klaus Höppner. Hochschule Darmstadt SS 2008 Programmieren II Dr. Klaus Höppner Hochschule Darmstadt SS 2008 1 / 26 2 / 26 Objekt-relationales Mapping Mit JDBC kann Java sich mit relationalen Datenbanken verbinden. Hierbei entsprechen jeder Datensatz

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

Datenmanagement in Android-Apps. 16. Mai 2013

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

Mehr

Merchant Center und Adwords Produkterweiterung mit Filter

Merchant Center und Adwords Produkterweiterung mit Filter Letzte Aktualisierung: 02.02.2012 Merchant Center und Adwords Produkterweiterung mit Filter 1. In den USA kann man die Produkte selektieren (filtern), die zu einer Adwords- Anzeige als Produkterweiterung

Mehr

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

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

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

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

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

Mehr

SQL: statische Integrität

SQL: statische Integrität SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie

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

Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Einbindung externer FiBu-/Warenwirtschaftsdaten Einbindung externer FiBu-/Warenwirtschaftsdaten - 2 - Inhalt Ausgangssituation

Mehr

7. Übung - Datenbanken

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

Mehr

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

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

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 SQLite als Datenbank-Managementsystem (DBMS) wenige 100 KB schlanke Programmbibliothek Aktuelle Version: 3.8.1 Für die

Mehr

Datenbank und Informationssysteme

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

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

WDSOFT-WIN. CRM-Schnittstelle. Anleitung für den Anwender zur Benutzung des Client-Programms. WDSOFT WIN CRM-Schnittstelle. Stand: 17.02.

WDSOFT-WIN. CRM-Schnittstelle. Anleitung für den Anwender zur Benutzung des Client-Programms. WDSOFT WIN CRM-Schnittstelle. Stand: 17.02. WDSOFT WIN CRM-Schnittstelle WDSOFT-WIN CRM-Schnittstelle Stand: 17.02.2011 Anleitung für den Anwender zur Benutzung des Client-Programms Copyright 2001 DIEKEN GmbH, Aurich Eschener Allee 29 26603 Aurich

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

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:

Mehr

Nathan Burgener. Design by Contract. Modul SWE

Nathan Burgener. Design by Contract. Modul SWE NathanBurgener DesignbyContract ModulSWE NathanBurgener Inhaltsverzeichnis 1 WasistDesignbyContract...3 1.1 Überblick...3 1.2 DesignbyContractmitMethoden...4 1.3 DesignbyContractmitKlassen...5 1.4 Vererbung...6

Mehr

Whitepaper. Produkt: address manager 2003. David XL Tobit InfoCenter AddIn für den address manager email Zuordnung

Whitepaper. Produkt: address manager 2003. David XL Tobit InfoCenter AddIn für den address manager email Zuordnung combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: address manager 2003 David XL Tobit InfoCenter AddIn für den address manager email Zuordnung David XL Tobit InfoCenter AddIn für den address

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

3. Stored Procedures und PL/SQL

3. Stored Procedures und PL/SQL 3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Elexis-BlueEvidence-Connector

Elexis-BlueEvidence-Connector Elexis-BlueEvidence-Connector Gerry Weirich 26. Oktober 2012 1 Einführung Dieses Plugin dient dazu, den Status Hausarztpatient zwischen der BlueEvidence- Anwendung und Elexis abzugleichen. Das Plugin markiert

Mehr

7. ArcView-Anwendertreffen. Einbindung von Datenbanken in ArcMap am Beispiel der Biotopkartierung Bayern. Daniel Fuchs

7. ArcView-Anwendertreffen. Einbindung von Datenbanken in ArcMap am Beispiel der Biotopkartierung Bayern. Daniel Fuchs 7. ArcView-Anwendertreffen Einbindung von Datenbanken in ArcMap am Beispiel der Biotopkartierung Bayern Daniel Fuchs 1. Grundlagen Biotopkartierung: Datenformat Die Daten der Biotopkartierung Bayern werden

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

Whitepaper. Produkt: address manager 2003. Outlook AddIn für den address manager email Zuordnung. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: address manager 2003. Outlook AddIn für den address manager email Zuordnung. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: address manager 2003 Outlook AddIn für den address manager email Zuordnung Outlook AddIn für den address manager email Zuordnung - 2 - Inhalt

Mehr

ipin CSV-Datenimport (Mac OS X)

ipin CSV-Datenimport (Mac OS X) ipin CSV-Datenimport (Mac OS X) ipin bietet Ihnen die Möglichkeit, Daten aus anderen Programmen oder Datenquellen zu importieren. Dies ist vor allem dann sehr hilfreich, wenn große Datenmengen in ipin

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

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

Datenbanken & Informationssysteme Übungen Teil 1

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

Mehr

Klausur Interoperabilität

Klausur Interoperabilität Klausur 21. Juni 2012 9.30 11.00 Uhr Workflow Systems and Technology Group Fakultät für Informatik Universität Wien Univ.-Prof. Dr. Stefanie Rinderle-Ma Allgemeine Hinweise: Die Bearbeitungszeit beträgt

Mehr

2.5.2 Primärschlüssel

2.5.2 Primärschlüssel Relationale Datenbanken 0110 01101110 01110 0110 0110 0110 01101 011 01110 0110 010 011011011 0110 01111010 01101 011011 0110 01 01110 011011101 01101 0110 010 010 0110 011011101 0101 0110 010 010 01 01101110

Mehr

Klicken Sie auf Weiter und es erscheint folgender Dialog

Klicken Sie auf Weiter und es erscheint folgender Dialog Datenimport Hier wird der Import von Excel-Daten in das Programm Videka TS beschrieben. Der Import mit den Programmen Aring s AdressMogul und Aring s promptbill läuft genauso ab, wie hier beschrieben.

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

3. Neuen Newsbeitrag erstellen Klicken Sie auf das Datensatzsymbol mit dem +, damit Sie einen neuen Newsbeitrag erstellen können.

3. Neuen Newsbeitrag erstellen Klicken Sie auf das Datensatzsymbol mit dem +, damit Sie einen neuen Newsbeitrag erstellen können. Tutorial Newsbeitrag erstellen Das folgende Tutorial erklärt in wenigen Schritten, wie man einen Newsbeitrag zur Homepage des TSV Tübach hinzufügt und direkt online erstellt. Inhalt 1. Login ins Admintool

Mehr

Data Quality Management: Abgleich großer, redundanter Datenmengen

Data Quality Management: Abgleich großer, redundanter Datenmengen Data Quality Management: Abgleich großer, redundanter Datenmengen Westendstr. 14 809 München Tel 089-5100 907 Fax 089-5100 9087 E-Mail Datras@Datras.de Redundanz und relationales Datenbankmodell Redundanz:

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

Oracle Forms. Aufbau und Bestandteile von Formularen. Erstellen eines neuen Blocks. Starten von Oracle Forms

Oracle Forms. Aufbau und Bestandteile von Formularen. Erstellen eines neuen Blocks. Starten von Oracle Forms Oracle Forms Oracle Forms ist eine Applikation für den Entwurf und die Erstellung Forms-basierender Anwendungen. Diese Forms umfassen Dateneingabe-Formulare Datenabfrage-Formulare Browser-Formulare Oracle

Mehr

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

Hilfe zur Urlaubsplanung und Zeiterfassung

Hilfe zur Urlaubsplanung und Zeiterfassung Hilfe zur Urlaubsplanung und Zeiterfassung Urlaubs- und Arbeitsplanung: Mit der Urlaubs- und Arbeitsplanung kann jeder Mitarbeiter in Coffee seine Zeiten eintragen. Die Eintragung kann mit dem Status anfragen,

Mehr

Die Online-Bestandserhebung im LSB Niedersachsen

Die Online-Bestandserhebung im LSB Niedersachsen Die Online-Bestandserhebung im LSB Niedersachsen Ab der Version 5 bietet pro-winner in der Mitgliederverwaltung unter Extras die DOSB- Schnittstelle (DOSB-Bestandsmeldung) an, mit der die im Programm generierte

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Objekte einer Datenbank Microsoft Access Begriffe Wegen seines Bekanntheitsgrades und der großen Verbreitung auch in Schulen wird im Folgenden eingehend auf das Programm Access von Microsoft Bezug genommen.

Mehr

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es

Mehr

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

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

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

FlowFact Alle Versionen

FlowFact Alle Versionen Training FlowFact Alle Versionen Stand: 29.09.2005 Rechnung schreiben Einführung Wie Sie inzwischen wissen, können die unterschiedlichsten Daten über verknüpfte Fenster miteinander verbunden werden. Für

Mehr

desk.modul : Intercompany

desk.modul : Intercompany desk.modul : Intercompany Das AddIn wurde erstellt, um eine mandantenübergreifende Lagerverwaltung zu realisieren. Der Firma Mustermann erhält in der Belegerfassung Auskunft über den physikalischen Lagerbestand

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

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Ein Ausflug zu ACCESS

Ein Ausflug zu ACCESS Ein Ausflug zu ACCESS Die folgenden Folien zeigen beispielhaft, wie man sein DB- Wissen auf ACCESS übertragen kann betrachtet wird ACCESS 2002, da gerade im Bereich der Nutzung von SQL hier einiges nachgearbeitet

Mehr

desk.modul : WaWi- Export

desk.modul : WaWi- Export desk.modul : WaWi- Export Die Schnittstelle besteht aus einem Programm, welches die Daten aus der OfficeLine ausliest und in eine XML-Datei exportiert. Die Schnittstelle ist als ein eigenständiges Programm

Mehr

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen

Mehr

Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint

Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint Bilingual konkret Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint Moderner Unterricht ist ohne die Unterstützung durch Computer und das Internet fast

Mehr

Qt-Projekte mit Visual Studio 2005

Qt-Projekte mit Visual Studio 2005 Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung

Mehr

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert Maika Büschenfeldt Datenbanken: Skript 1 1. Was ist eine relationale Datenbank? In Datenbanken können umfangreiche Datenbestände strukturiert abgelegt werden. Das Konzept relationaler Datenbanken soll

Mehr

TimeSafe Leistungserfassung

TimeSafe Leistungserfassung Keep your time safe. TimeSafe Leistungserfassung Adressimport 1/8 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 Allgemeines... 3 1.1 Adressen in der TimeSafe Leistungserfassung... 3 1.2 Organisationen und/oder

Mehr

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken Version 2.0 1 Original-Application Note ads-tec GmbH IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken Stand: 27.10.2014 ads-tec GmbH 2014 IRF2000 2 Inhaltsverzeichnis

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

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift. Briefe Schreiben - Arbeiten mit Word-Steuerformaten Ab der Version 5.1 stellt die BüroWARE über die Word-Steuerformate eine einfache Methode dar, Briefe sowie Serienbriefe mit Hilfe der Korrespondenzverwaltung

Mehr

Updatehinweise für die Version forma 5.5.5

Updatehinweise für die Version forma 5.5.5 Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x

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

License Management 1.0 - SDK

License Management 1.0 - SDK License Management 1.0 - SDK Inhalt Allgemeine Beschreibung... 2 Vorbereitungen... 2 Download aller nötigen Dateien und Dokumentationen... 2 Beantragung eines ValidationKeys... 2 Beantantragung einer Development-Lizenz...

Mehr

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle

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

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11 Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS

Mehr

Fachhochschule Deggendorf Platzziffer:...

Fachhochschule Deggendorf Platzziffer:... Sommersemester 2008 Zahl der Blätter: 9 Fachbereich: Betriebswirtschaft WI Bachelor Hilfsmittel: alles ohne Computer Zeit: 90 Minuten 1 Betrachten Sie die drei markierten Zeilen. 1. Angenommen Sie hätten

Mehr

Dynamisch generierte grafische Übersichtsseiten für Learning-Content-Management-Systeme. Unterstützung von Grafiken für Prüfungsauswahl.

Dynamisch generierte grafische Übersichtsseiten für Learning-Content-Management-Systeme. Unterstützung von Grafiken für Prüfungsauswahl. Institut für Informationssysteme und Softwaretechnik Dynamisch generierte grafische Übersichtsseiten für Learning-Content-Management-Systeme Unterstützung von Grafiken für Prüfungsauswahl 29. Juni 2005

Mehr

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:

Mehr

SJ OFFICE - Update 3.0

SJ OFFICE - Update 3.0 SJ OFFICE - Update 3.0 Das Update auf die vorherige Version 2.0 kostet netto Euro 75,00 für die erste Lizenz. Das Update für weitere Lizenzen kostet jeweils netto Euro 18,75 (25%). inkl. Programmsupport

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

Mit exportiert man das öffentliche Schlüsselpaar. Die Datei, die dabei erzeugt wird heißt PublicKey_MediaMillionWebService.key.

Mit exportiert man das öffentliche Schlüsselpaar. Die Datei, die dabei erzeugt wird heißt PublicKey_MediaMillionWebService.key. Über eine MediaMillion - und Graffiti-Anbindung können im VM Verlags- Manager die Verkaufschancen genutzt werden. Die Verkaufschancen können über die Web-Anbindung Graffiti erfasst und schließlich über

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

CVR Seniorentreff vom 04. und 05.02.03 Serienbriefe/Seriendruck. Serienbriefe / Seriendruck

CVR Seniorentreff vom 04. und 05.02.03 Serienbriefe/Seriendruck. Serienbriefe / Seriendruck Serienbriefe / Seriendruck Mit Hilfe des Seriendruck-Managers lassen sich Serienbriefe, Adressetiketten, oder Briefumschläge relativ einfach erstellen. Der Seriendruck-Manager hilft dabei, die Adressdaten

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

MediaWizard: Reportlayout und Reports

MediaWizard: Reportlayout und Reports MediaWizard: Reportlayout und Reports Reportlayout Jedem Mitarbeiter kann über Einstellungen ein Reportlayout zugewiesen werden. Das Reportlayout umfasst neben der Angabe der auszugebenden Ergebnisteile

Mehr

Codex Newsletter. Allgemeines. Codex Newsletter

Codex Newsletter. Allgemeines. Codex Newsletter Newsletter Newsletter Dezember 05 Seite 1 Allgemeines Newsletter Mit diesem Rundschreiben (Newsletter) wollen wir Sie in ca. zweimonatigen Abständen per Mail über Neuerungen in unseren Programmen informieren.

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

MySQL Installation. AnPr

MySQL Installation. AnPr Name Klasse Datum 1 Allgemeiner Aufbau Relationale Datenbank Management Systeme (RDBMS) werden im Regelfall als Service installiert. Der Zugriff kann über mehrere Kanäle durchgeführt werden, wobei im Regelfall

Mehr