ORM. Object Relational Mapping oder "The vietnam of computer science" (
|
|
- Walter Fromm
- vor 8 Jahren
- Abrufe
Transkript
1 ORM Object Relational Mapping oder "The vietnam of computer science" ( Das Problem public class Maschine extends ModelElement private int Zyklen; private int CreateColor; private ArrayList<Wuerfel> InputTemplate = new ArrayList<Wuerfel>(); private ArrayList<Wuerfel> Input = new ArrayList<Wuerfel>(); private boolean isworking = false; private int TimeToWork=0; private Wuerfel Produkt = null; private int WuerfelCount = 0; public boolean working() return isworking; Ein Tupel (4711,'SMITH',10) kann als logische Aussage über die Welt (siehe "Miniworld") interpretiert werden, dass es einen Employee mit Namen Smith und Nummer 4711 gibt, der in der Abteilung 10 arbeitet OO-Programmierung: - Objekte haben Identität, Zustand und Verhalten - Kapselung - Vererbung, Polymorphie Assoziationen relationale Datenbanken -Relationen enthalten Tupel (Aussagen) -diese können durch Mengenoperationen transformiert und kombiniert werden object relational impedance mismatch
2 Lösungen Speicherung der Daten in einer objektorientierten Datenbank (OODBMS) (siehe VL Datenbanktechnik) Abbildung des Objektmodells auf relationale Datenbank Abbildung des relationalen Datenmodells auf Klassen Objekte zu Relationen viele Probleme... Klasse als Tabelle, Attribut als Spalte, Attribut- Typen als SQL-Typen Vererbung, Polymorphie? Richtung von Assoziationen verschieden Datenmodell doppelt Daten doppelt (in DB und Objekten) Konsistenz, etwa bei chaching lazy evaluation nötig (Performance) kann Performance verschlechtern
3 Relationen zu Klassen OO- Anwendung "Relations- Klassen" RDBMS facade Pattern Quelle: Wikipedia CREATE TABLE EMP ( EMPNO INT PRIMARY KEY, ENAME VARCHAR(50) NOT NULL, DEPTNO INT REFERENCES DEPT(DEPTNO) CREATE TABLE DEPT ( DEPTNO INT PRIMARY KEY, DNAME VARCHAR(50) NOT NULL,... public class Emp private Long Empno; private String Ename; private Dept works_for; wie kommen die Daten (der Zustand) in/aus der DB? public void create()... smtm.execute("insert INTO EMP(EMPNO,ENAME,DEPTNO) VALUES public void retrieve(long Empno)... public void update()... smtmt.execute("update EMP SET... WHERE EMPNO = " +Empno public void delete ()... CRUD-Methoden
4 Techniken manuell mühsam, fehlerträchtig bei (sehr) wenigen Klassen Wartung, z.b. andere DB, Skalierung... problematisch Generator (ggf. selbst entwickelt) ORM-Tools viele, z.b. Hibernate Eigenentwicklung: Beispiel Modelldefinition: <TABLE name="store"> <ATTRIBUTE name="id" type="varchar" length="10" required="true"/> <ATTRIBUTE name="name" type="varchar" length="50" required="true"/> <PRIMARYKEY name="pkstore" csep=";"> ID </PRIMARYKEY> </TABLE> <TABLE name="inventory"> <ATTRIBUTE name="id" type="varchar" length="10" required="true"/> <ATTRIBUTE name="productid" type="varchar" length="10" required="true"/> <ATTRIBUTE name="storeid" type="varchar" length="10" required="true"/> <ATTRIBUTE name="amount" type="integer" length="10" required="true"/> <PRIMARYKEY name="pkamount" csep=";"> ID </PRIMARYKEY> <FOREIGNKEY name="fkproduct" csep=";"> ProductID=Product.ID </FOREIGNKEY> <FOREIGNKEY name="fkstore" csep=";"> StoreID=Store.ID </FOREIGNKEY> </TABLE>
5 CREATE TABLE STORE ( ID varchar(10) NOT NULL, NAME varchar(50) NOT NULL, PRIMARY KEY (ID) ) TYPE=MyISAM; CREATE TABLE INVENTORY ( ID varchar(10) NOT NULL, PRODUCTID varchar(10) NOT NULL, STOREID varchar(10) NOT NULL, AMOUNT integer(10) NOT NULL, PRIMARY KEY (ID) ) TYPE=MyISAM; erzeugte Dateien noname:~/documents/ba/vorlesungen/middleware/java/jdbl till$ ls erp Inventory.java POSLogs.java Store.java Inventorys.java Product.java Stores.java POSLog.java Products.java nameconverter.java Store.java public class Store extends theobject implements Serializable... public void setid (String ninhalt) throws unknownnameexception, Exception setattrvalue ("ID", ninhalt); public String getid () throws unknownnameexception, Exception return (String) getattrvalue ("ID"); public void setname (String ninhalt) throws unknownnameexception, Exception setattrvalue ("Name", ninhalt); public String getname () throws unknownnameexception, Exception return (String) getattrvalue ("Name");
6 Verwendung thefactory f = new thefactory ( new themysqldatastore ("localhost/erp", "till", "haenisch"), new nameconverter () ); // Queries gehen immer ueber die Factory, die liefert einen Folder // mit den Ergebnisobjekten zurueck // Der erste Parameter ist der Name der Klasse, in der gesucht werden soll, // der zweite kann eine SQL-where Bedingung enthalten Stores ss = (Stores) f.doquery ("Store", null); // Durch Folder iterieren while (ss.more ()) // aktuelles Objekt holen Store stemp = ss.next (); System.out.print ("Store: " + stemp.getid ()+" "+stemp.getname ()); // Die untergeordneten (FOREIGN KEY) Objekte kriegt man mit getchildobjects: Inventorys ivs = (Inventorys) stemp.getchildobjects("inventory"); int Bestand = 0; // Und wieder durchlaufen, Bestaende addieren. while (ivs.more()) Inventory iv = ivs.next(); Bestand += iv.getamount().intvalue(); System.out.println(" Bestand: " + Bestand); Architektur Applikation Access-Layer thefactory Hält die Verbindung zur Datenbank, führt Queries durch... thedatastore Allgemeine Schnittstelle zum Datenzugriff theoracledatastore ORACLE spezifisch themysqldatastore mysql spezifisch JDBC
7 Flexibilität thefactory f = new thefactory ( new theoracledatastore ( susi:1521:susi", user", geheim"), new lomi.nameconverter () ); Persons pes = (Persons) f.doquery ("Person", null); while (pes.more ()) Person pe = pes.next (); System.out.println (pe.getvorname ()+" "+pe.getnachname ()); thefactory f = new thefactory ( new themysqldatastore " /lomi", "root", null), new lomi.nameconverter () ); thefactory f = new thefactory ( new thexmldatastore "Daten.xml"), new lomi.nameconverter () ); weiter Applikation Access Layer (dlmeta) RMIDataStore TCP/IP RMIDataStoreImpl Irgendein DataStore
8 Applikation Access Layer (dlmeta) themultidatastore Daten werden als (dlmeta) XML übertragen Irgendein DataStore Irgendein DataStore Irgendein DataStore Hibernate Quelle:
9 Genauer: "Unfortunately, Hibernate is flexible and supports several approaches." Quelle: Die Idee: Quelle:
10 Definition des Modells als Java-Klasse (POJO), Mapping durch Annotations oder separate public class Emp POJO = Plain Old Java oder private Long Empno; private String Ename; private Long public Long getempno() return Empno; public void setempno(long Empno) this.empno = Empno; <hibernate-mapping> <class name="emp" table="emp"> <id name="empno" column="empno" type="integer"> <generator class="native"/> </id> <property name="ename" column="ename" type="string" not-null="true"/> </class> </hibernate-mapping> Verwendung SessionFactory sessionfactory = new AnnotationConfiguration().addAnnotatedClass(Emp.class).buildSessionFactory(); Session session = sessionfactory.getcurrentsession(); session.begintransaction(); Emp e = new Emp(); e.setempno(e.getempno()); e.setename("haenisch"); e.setdeptno(20l); session.save(e); // und auslesen List result = session.createquery("from Emp").list(); for(int i=0;i<result.size();i++) Emp p = (Emp)result.get(i); System.out.println(" " + p.getempno() + " " + p.getename() + " " + p.getdeptno()); hibernate.dialect=org.hibernate.dialect.mysqldialect hibernate.connection.driver_class=com.mysql.jdbc.driver hibernate.connection.url=jdbc:mysql:///erp hibernate.connection.username=till hibernate.connection.password=haenisch hibernate.current_session_context_class=thread
11 Problem (?) export CLASSPATH=:/Hibernate/hibernate3.jar:/Hibernate/lib/jboss-system.jar:/Users/till/ Hibernate/hibernate-annotations GA/hibernate-annotations.jar:/Users/till/Hibernate/ persistence-api jar:/hibernate/lib/dom4j jar:/users/till/hibernate/hibernateannotations ga/lib/hibernate-commons-annotations.jar:/hibernate/lib/log4j jar:/ Hibernate/lib/commons-logging jar:/Users/till/Hibernate/mysql-connector-java bin.jar:/hibernate/lib/commons-collections jar:/hibernate/lib/jta.jar:/hibernate/lib/ cglib jar:/hibernate/lib/asm.jar:/hibernate/lib/antlr jar komplexe Konfiguration, viele Abhängigkeiten ### direct log messages to stdout ### log4j.appender.stdout=org.apache.log4j.consoleappender log4j.appender.stdout.target=system.out log4j.appender.stdout.layout=org.apache.log4j.patternlayout log4j.appender.stdout.layout.conversionpattern=%dabsolute %5p %c1:%l - %m%n ### direct messages to file hibernate.log ### #log4j.appender.file=org.apache.log4j.fileappender #log4j.appender.file.file=hibernate.log #log4j.appender.file.layout=org.apache.log4j.patternlayout #log4j.appender.file.layout.conversionpattern=%dabsolute %5p %c1:%l - %m%n ### set log levels - for more verbose logging change 'info' to 'debug' ## log4j.rootlogger=warn, stdout log4j.logger.net.sf.hibernate=info ### enable the following line if you want to track down connection ### ### leakages when using DriverManagerConnectionProvider ### #log4j.logger.net.sf.hibernate.connection.drivermanagerconnectionprovider=trace ### log JDBC bind parameters ### log4j.logger.net.sf.hibernate.type=info ### log prepared statement cache activity ### log4j.logger.net.sf.hibernate.ps.preparedstatementcache=info ruby on rails: MVC Quelle: "Convention over Configuration" "Don't repeat yourself" "Principle of least surprise"
12 mysql> describe products; Field Type Null Key Default Extra id varchar(10) NO PRI Name varchar(50) YES NULL Description varchar(255) YES NULL rows in set (0.08 sec) rails erp script/generate controller Product class ProductController < ApplicationController def index render_text "Produktverwaltung" end end development: adapter: mysql database: erp username: till password: haenisch socket: /tmp/mysql.sock script/generate model Product script/generate controller Product scaffolding: (Übersetzung etwa Gerüstbau) rails erzeugt Anwendungsgerüst, Methode list usw. class ProductController < ApplicationController scaffold :Product end fertig...
13 eigenes Layout list Methode überschreiben: class ProductController < ApplicationController scaffold :Product end def list end mit Editor
14 Template verwenden Produkte suchen: class ProductController < ApplicationController scaffold :Product end def = Product.find_all end Im Template ausgeben: <table> do product %> <tr> <td><%=product.id%> </td> <td><%=product.name%></td> <td><%=product.description%></td></tr> <% end %> </table> Ergebnis:
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)
MehrObject Relational Mapping Layer
Object Relational Mapping Layer Views Controlers Business logic GUI OO-application logic Object-relational-Mapping Relational DBMS PHP (propel) 1/18 Propel - Persistance Layer OR-Mapper für PHP Portierung
MehrRails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de
Rails Ruby on Rails Ajax on Rails Who is who? Rails Ziel: Framework für Web (2.0) Anwungen Beschleunigung der Entwicklung Konzept des Agilen Programmierens Ruby Interpretierte Sprache Rails Integrationen
MehrArbeitsgruppe Multimedia DLmeta in echten Anwendungen
Arbeitsgruppe Multimedia DLmeta in echten Anwendungen Christian Aschoff (christian.aschoff@e-technik.uni-ulm.de) Till Hänisch (till.haenisch@rz.uni-ulm.de) Janet Ferko (janet.ferko@rz.uni-ulm.de) Carola
MehrKapitel 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
MehrAnalyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz
Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java Oliver Kalz Agenda Grundlagen Objektpersistenz Objektrelationales Mapping Performance Fazit
Mehrseit Java 1.1 Bestandteil der API: packages java.sql, javax.sql
JDBC inoffizielle Abkürzung für: Java Database Connectivity seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql ist eine Menge von Klassen und Methoden, um aus Java-Programmen relationale Datenbanken
MehrDatenmanagement in Android-Apps. 16. Mai 2013
Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer
MehrRelationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL
Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene
MehrKlausur zur Einführung in die objektorientierte Programmierung mit Java
Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-
MehrApplication Frameworks
Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung
MehrORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel
ORM & OLAP Object-oriented Enterprise Application Programming Model for In-Memory Databases Sebastian Oergel Probleme 2 Datenbanken sind elementar für Business-Anwendungen Gängiges Datenbankparadigma:
MehrHibernate. Vortragender : Nabil Janah Kursleiter : Prof. Dr. Björn Dreher Lehrveranstaltung : Komponenten-Architekturen. Nabil janah 1 Hibernate
Hibernate Vortragender : Nabil Janah Kursleiter : Prof. Dr. Björn Dreher Lehrveranstaltung : Komponenten-Architekturen Nabil janah 1 Hibernate Inhalt Hibernate allgemeines Vorteile von Hibernate Hibernate-Architektur
MehrJava Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.
1 Copyright 1996-1997 by Axel T. Schreiner. All Rights Reserved. 7 Datenbankzugriff Prinzip Dieser Abschnitt beschäftigt sich mit dem Paket java.sql, das eine SQL-Schnittstelle für Java verkapselt. Java-Programme
MehrGregor Raschke 2008 HIBERNATE. Eine Einführung
1 HIBERNATE Eine Einführung Inhalt 2 Einleitung Beispielkonfiguration Die hibernate.cfg.xml Eine Beispieltransaktion Abfragemöglichkeiten JPA und Hibernate Ressourcen und Quellen Einleitung (1) - Geschichtliches
MehrDatenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin
Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,
MehrDrei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2
Universität Osnabrück 1 3 - Objektorientierte Programmierung in Java Zur Erinnerung: Aufteilung der Schichten GUI Vorlesung 17: 3-Schichten-Architektur 2 Fachkonzept Fachkonzept - Datenhaltung Datenhaltung
MehrJava Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1
Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen
MehrUNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme
UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme 8. Übung zur Vorlesung Datenbanksysteme WS 08/09 Musterlösung Aufgabe 8-1: SQLJ //
MehrGrundlagen der Web-Entwicklung
Grundlagen der Web-Entwicklung Ruby on Rails Thomas Walter 10.01.2011 Version 1.0 aktuelles aktuelle Browserstatistiken Weltweit, Quelle www.netmarketshare.com 2 aktuelles aktuelle Browserstatistiken Europaweit,
MehrObject Relational Mapping Layer
Object Relational Mapping Layer Dr. Christian Senger ORM & Vererbung 1 create table fortbildung( id number primary key, bezeichnung varchar2(40), datum date ); create table themenblock( id number primary
MehrHibernate Das Praxisbuch für Entwickler
Sebastian Hennebrüder 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Hibernate Das Praxisbuch für Entwickler Galileo
Mehr188.154 Einführung in die Programmierung für Wirtschaftsinformatik
Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger
MehrSQL structured query language
Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query
MehrAuszug aus JAX-WS Folien
Auszug aus JAXWS Folien Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen
Mehrdesk.modul : WaWi- Export
desk.modul : WaWi- Export Die Schnittstelle besteht aus einem Programm, welches die Daten aus der OfficeLine ausliest und in eine XML-Datei exportiert. Die Schnittstelle ist als ein eigenständiges Programm
MehrDATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER
DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.
MehrJava Persistence API 2.x. crud + relationships + jp-ql
Java Persistence API 2.x crud + relationships + jp-ql Grundprinzip 10.02.10 2 Problematik Man muss bei der Persistierung immer das Klassenmodell und dessen Umsetzung im Datenmodell (in der DB) berücksichtigen.
MehrReferenzielle Integrität SQL
Referenzielle Integrität in SQL aus Referential Integrity Is Important For Databases von Michael Blaha (Modelsoft Consulting Corp) VII-45 Referenzielle Integrität Definition: Referenzielle Integrität bedeutet
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrModul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007. Name: Note:
1 Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007 Name: Note: Nr. Aufgaben Max. Punkte Erreichte Punkte 1 Grundlagen ~ 10% Vgl. Hinweis unten 2 Integrität, Procedures, Triggers, Sichten ~ 20%
MehrJava Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff
Java Reflection Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Die Java Reflection API liefert per Introspection Informationen über Klassen => Meta-Daten.
MehrÜbung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
Mehr4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)
4. Objektrelationales Mapping Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung
MehrGebundene Typparameter
Gebundene Typparameter interface StringHashable { String hashcode(); class StringHashMap { public void put (Key k, Value v) { String hash = k.hashcode();...... Objektorientierte
MehrUniversität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B
MehrJDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.
JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten
MehrRails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de
Rails Ruby on Rails Ajax on Rails Who is who? Rails Framework für Web (2.0) Anwendungen Ziel: Beschleunigung der Entwicklung Konzept des Agilen Programmierens Ruby InterpreDerte Sprache Rails IntegraDonen
MehrProf. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)
Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen
MehrEine Anwendung mit InstantRails 1.7
Eine Anwung mit InstantRails 1.7 Beschrieben wird das Anlegen einer einfachen Rails-Anwung, die ohne Datenbank auskommt. Schwerpunktmäßig wird auf den Zusammenhang von Controllern, Views und der zugehörigen
MehrDjango - ein Python Web-Framework
31. Mai 2011 Inhaltsverzeichnis 1 Überblick Was ist Django Merkmale Anforderungen 2 MVC im Detail Model Controller View 3 Live-Demo 4 Wie geht es weiter? Was ist Django Was ist Django? quelloffenes Web-Framework
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
Mehr7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2
5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken
Mehrphp Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...
php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.
MehrOracle: Abstrakte Datentypen:
Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8
MehrRene 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
MehrEinführung in die Informatik II
Einführung in die Informatik II Die Structured Query Language SQL Prof. Dr. Nikolaus Wulff SQL Das E/R-Modell lässt sich eins zu eins auf ein Tabellenschema abbilden. Benötigt wird eine Syntax, um Tabellen
MehrDistributed Computing Group
JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird
MehrKlausur 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
MehrGrundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB
Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB Jörg Liedtke, Oracle Consulting Vortrag zum Praxis-Seminar B bei der KIS-Fachtagung 2007, Ludwigshafen Agenda
MehrJavakurs 2013 Objektorientierung
Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
MehrJava Database Connectivity (JDBC) zum Zugriff aus in z.b. in Java geschriebenen Applikationen
Rückblick Java Database Connectivity (JDBC) zum Zugriff aus in z.b. in Java geschriebenen Applikationen JDBC erlaubt Transaktionskontrolle, d.h. Festschreiben und Zurückrollen sowie setzten der Isolationsstufe
MehrDatenbanken für Online Untersuchungen
Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren
MehrOliver Paulus, oliver@code-project.org. 7. Februar 2006. Spring Framework Einführung. Oliver Paulus, oliver@codeproject.org. Was ist Spring?
oliver@code-project.org 7. Februar 2006 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2
MehrTag 4 Inhaltsverzeichnis
Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik
MehrDrei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI
Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer
MehrÜbungsaufgabe Transaktion als Middleware
Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung
MehrProgrammieren in Java
Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
MehrChristine Hansen, Fabrizio Fresco, Patrick Malcherek
Betrifft: PL/SQL Web-Services und der JDeveloper Teil 4 Autor: Christine Hansen, Fabrizio Fresco, Patrick Malcherek Art der Info: Technische Background Info (Oktober 2002) Quellen: http://otn.oracle.com
MehrBibliografische Informationen digitalisiert durch http://d-nb.info/995021198
Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT INTO) 95 5 Daten abfragen (SELECT) 99 6 Daten aus mehreren Tabellen abfragen (JOIN) 143 7 Unterabfragen
MehrEinführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
MehrBetreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung
SS 2011 Fakultät für Angewandte Informatik Lehrprofessur für Informatik 15.06.2011 Prof. Dr. Robert Lorenz Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung Programmieraufwand für geübte
MehrFactory Method (Virtual Constructor)
Factory Method (Virtual Constructor) Zweck: Definition einer Schnittstelle für Objekterzeugung Anwendungsgebiete: Klasse neuer Objekte bei Objekterzeugung unbekannt Unterklassen sollen Klasse neuer Objekte
MehrOR-Mapping. WS2008/2009 DBIS/Dr. Karsten Tolle
OR-Mapping Zwei Paradigmen treffen aufeinander Gegensätze OO vs. Relational: Stichwort: O/R Impedance Mismatch Person Tabellen mit Schlüssel und Fremdschlusselbeziehungen. Abt-Nr. beschäftigt Pk-Nr Name
MehrDatabase Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695
Database Exchange Manager Replication Service- schematische Darstellung Replication Service- allgemeines Replikation von Daten von bzw. in ein SAP-System und einer relationalen DMS-Datenbank Kombination
MehrMySQL Queries on "Nmap Results"
MySQL Queries on "Nmap Results" SQL Abfragen auf Nmap Ergebnisse Ivan Bütler 31. August 2009 Wer den Portscanner "NMAP" häufig benutzt weiss, dass die Auswertung von grossen Scans mit vielen C- oder sogar
MehrDie Alternative zum Web-Form Modell
Marc André Zhou Solution Architect www.dev -sky.net www.just -sp.net Die Alternative zum Web-Form Modell dotnet Cologne 03.05.2013 Agenda Web Forms vs. MVC ASP.NET MVC Features Web API ODATA Eine ASP.NET
MehrProgrammieren 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
MehrDipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009
Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger
MehrÜbungsblatt 8- Lösungsvorschlag
Universität Innsbruck - Institut für Informatik Prof. Günther Specht, R.Binna, N.Krismer, M. Tschuggnall 30. November 2012 Proseminar Datenbanksysteme Übungsblatt 8- Lösungsvorschlag Aufgabe 1 (Trigger)
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrPrakt. Datenbankprogrammierung. Sommersemester Was sind Constraints? I,11: Verwendung von Constraints. Festlegung von Constraints
Prakt. Datenbankprogrammierung Sommersemester 2005 I,11: Verwendung von Constraints Was sind Constraints? Constraints stellen Regeln auf Tabellenebene sicher. Constraints verhindern das Löschen aus einer
MehrDie Datenmanipulationssprache SQL
Die Datenmanipulationssprache SQL Daten eingeben Daten ändern Datenbank-Inhalte aus Dateien laden Seite 1 Data Manipulation Language A DML statement is executed when you Add new rows to a table Modify
MehrWorkshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk
Workshop Java Webentwicklung Einführung in Hibernate Ulrich Stärk Ablauf Montag bis Donnerstag 09:00 Uhr s.t. Beginn, bis ca. 17:00 Uhr 1 Stunde Mittagspause Donnerstag Experiment Aufzeichnung der Programmiertätigkeit
MehrEinfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrJava Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7
Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck
MehrJavadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
MehrJava-Schulung Grundlagen
Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings
MehrCLR-Integration im SQL-Server. Alexander Karl
CLR-Integration im SQL-Server Alexander Karl seit der Version SQL-Server 2005 können Programmierungen zusätzlich zum T-SQL auch mit.net-sprachen erfolgen. Data Types Stored Procedures Triggers Functions
MehrKurzanleitung zur Erweiterung der htdig
Kurzanleitung zur Erweiterung der htdig Inhaltsverzeichnis 1. Einleitung...3 2. Kompilieren des Projektes...3 3. Erweiterung der htdig...4 3.1 Erweiterung der Konfigurationsdatei htdig.conf...4 3.2 XML-Export...4
MehrPersistenz. Workplace Solutions. Persistenz. ÿ RDBMS und OO ÿ Strukturkonflikt ÿ Object-RDBMS-Mapping. Abbildung Objekte auf RDBMS
Persistenz ÿ RDBMS und OO ÿ Strukturkonflikt ÿ Object-RDBMS-Mapping APCON Abbildung Objekte auf RDBMS Der Strukturkonflikt Basisklassen und Domänen Klassen zur Kapselung der relationalen Datenbank Abbildung
MehrProzedurale Datenbank- Anwendungsprogrammierung
Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.
MehrSQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar
Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-
MehrHochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.
Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.
MehrObjektrelationale Datenbanken
Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige
MehrFachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1
Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------
MehrGroovy on Grails. Informatik-Seminar WS06/07. Alexander Treptow. Groovy on Grails Alexander Treptow (minf2622) 1
Groovy on Grails Informatik-Seminar WS06/07 Alexander Treptow Groovy on Grails Alexander Treptow (minf2622) 1 Übersicht Groovy on Grails Projektstruktur Controllers Views & Layout Dynamic Tag Libraries
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrGrails. Weiterführende Themen zu Internet- und WWW-Technologien. Matthias Springer. 06. Juni 2011
Weiterführende Themen zu Internet- und WWW-Technologien 06. Juni 2011 Übersicht 1 Was ist? 2 Übersicht über 3 MVC-Konzept 4 Groovy Beispiele 5 Tutorial: Kleiner Notizblock Web Application Framework Übersicht
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrÜbung Datenbanken in der Praxis. Datenmodifikation mit SQL
Datenmodifikation mit SQL Folie 45 SQL - Datenmodifikation Einfügen INSERT INTO Relation [(Attribut, Attribut,...)] VALUES (Wert, Wert,...) INSERT INTO Relation [(Attribut, Attribut,...)] SFW-Anfrage Ändern
MehrVerbinden von IBM Informix mit Openoffice mittels JDBC
Verbinden von IBM Informix mit Openoffice mittels JDBC Voraussetzungen Installierte und laufende IBM Informixdatenbank. Getestet wurde mit IDS 9.40 und 10.00. Sollte aber auch mit älteren Versionen funktionieren.
MehrScala kann auch faul sein
Scala kann auch faul sein Kapitel 19 des Buches 1 Faulheit Faulheit ( lazy evaluation ) ist auch in C oder Java nicht unbekannt int x=0; if(x!=0 && 10/x>3){ System.out.println("In if"); } Nutzen der Faulheit?
MehrArchitekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131
Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet
MehrFussball.de JavaScript
Fussball.de JavaScript - larsp_fussballde_js Fussball.de JavaScript Fussball.de JavaScript Extension Key: larsp_fussballde_js Language: de Keywords: Fussball.de Ergebnisse Tabelle Spielplan Bundesliga
MehrMySQL 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
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin
Mehr