Algorithmen und Datenstrukturen II

Größe: px
Ab Seite anzeigen:

Download "Algorithmen und Datenstrukturen II"

Transkript

1 Algorithmen und Datenstrukturen II Alexander Goesmann Bioinformatics Resource Facility Center for Biotechnology Universität Bielefeld Vorlesung Sommer 2010

2 Überblick Datenspeicherung in relationalen Datenbanken Persistente Datenspeicherung in Java mit JDBC ORM Objekt-relationales Mapping Datenspeicherung mit Hibernate

3 Datenspeicherung in relationalen Datenbanken Teil I

4 Relationale Datenbanken Relationale Datenbank dient zur elektronischen Datenverwaltung in Computersystemen Beruht auf relationalem Datenbankmodell von Edgar F. Codd aus dem Jahr 1970 Basiert auf Relationen und Operationen darauf (Vgl. relationale Algebra) Verwaltung der gespeicherten Daten mit relationalem Datenbankmanagementsystem (RDBMS) Abfrage und Manipulation der Daten mit Datenbanksprache SQL (Structured Query Language)

5 Grundlegende Konzepte Relationale Datenbank ist Sammlung von Tabellen (Relationen) mit gespeicherten Daten Jede Zeile (Tupel) in einer Tabelle ist ein Datensatz (record) Tupel besteht aus Reihe von Attributwerten (Attribute = Eigenschaften), den Spalten der Tabelle Relationenschema legt Anzahl und Typ der Attribute für eine Relation fest Eindeutige Identifizierung von Datensätzen über Schlüssel (key)

6 Beispiel Quelle: Wikipedia

7 Beziehungen zwischen Tabellen Redundante Speicherung von Daten vermeiden Verwendung eines eindeutigen Schlüssels pro Tabelle zur Identifizierung des Datensatzes (primary key) Verweis aus anderen Tabellen auf Daten mit Hilfe dieses Schlüssels Derartige Attribute werden als Fremdschlüssel (foreign key) bezeichnet Tabellen ohne Fremdschlüssel heißen flache Tabellen

8 Tabelle anlegen Syntax: CREATE TABLE "Tabellen_Name" " "("Spalte 1" "Datentyp_für_Spalte_1", " " "Spalte 2" "Datentyp_für_Spalte_2", " "... )" Beispiel: CREATE TABLE Nutzer (Nutzer-ID int, " " "Vorname varchar(50), " " " "Nachname varchar(50)) "

9 Daten einfügen Syntax: INSERT INTO <Tabellenname> " (<Spaltenname> [, weitere Spaltennamen]) VALUES (<Wert für die erste Spalte> [, weitere Werte])" Beispiel: INSERT INTO Nutzer (Nutzer-ID, Vorname, Nachname) " VALUES (13, 'Hans', 'Müller')"

10 Daten abfragen Syntax: SELECT... FROM... WHERE <Bedingung 1> " [<logischer Operator> <Bedingung 2>]" Beispiele: Select * FROM Nutzer" Select * FROM Nutzer WHERE Vorname = Hans " Select Autor, Titel FROM Bücher WHERE Verlagsjahr > 2000 "AND Verlag!= KVG "

11 Daten aktualisieren Syntax: UPDATE <Tabelle> SET <Name einer Spalte> = <Ausdruck aus Spalten, Konstanten, Funktionen> [, weitere Spaltennamen = Ausdruck] WHERE <Bedingung>" Beispiele: UPDATE Bücher SET Datum = " UPDATE Bücher SET Datum = Datum WHERE Datum < 20"

12 Daten löschen Syntax: DELETE FROM <Tabelle> WHERE <Bedingung>" Beispiele: DELETE FROM Nutzer" DELETE FROM Entliehen WHERE Nutzer-ID = 12"

13 Weiterführende Themen Zusammengesetzte Schlüssel Indexierung JOINs Komplexe Abfragen und Unterabfragen Normalisierung & Normalformen Optimierung Gespeicherte Funktionen und Prozeduren

14 Persistente Datenspeicherung in Java mit JDBC Teil II

15 JDBC Java Database Connectivity Einheitliche Datenbankschnittstelle zu DBMS verschiedener Hersteller Java Application JDBC Client Machine RDBMS proprietary protocol RDBMS Database Server

16 JDBC Treiber Für jedes DBMS ist ein JDBC-Treiber nötig Typ 1 bildet die JDBC API auf andere native API ab Typ 2 teilweise in Java, teilweise in nativem Code geschrieben Typ 3 vollständig in Java geschrieben, kommuniziert über einen middleware-server über ein datenbankunabhängiges Protokoll Typ 4 vollständig in Java geschrieben, implementiert das jeweilige Datenbank-Protokoll

17 Verbindung herstellen Treiber laden Class.forName( com.mysql.jdbc.driver ) Treiber registriert sich beim Laden selbstständig beim DriverManager Verbindungs-URL jdbc:<treiber>:<dbname>[propertylist] z.b. jdbc:mysql:testdb DriverManager vs. DataSource

18 DriverManager Treiber registrieren sich beim DriverManager Erhält Verbindungs-URL Optional Benutzername, Passwort Löst den Treiber über Namen in URL auf Beispiele Connection con = DriverManager.getConnection ( jdbc:derby:coffees ) DriverManager.getConnection ( jdbc:derby:coffees, user, password )

19 DataSource Interface Beschreibt eine Verbindung zur Datenbank Wird häufig außerhalb der Anwendung definiert und z.b. über Java Naming and Directory Interface (JNDI) abgefragt (hängt vom verwendeten Framework ab) Beispiel InitialContext ic = new InitialContext(); DataSource ds = ic.lookup("java:comp/env/ jdbc/mydb"); Connection con = ds.getconnection();

20 Programmatische DataSource Beispiel: ClientDataSource ds = new org.apache.derby.jdbc.clientdatasource(); ds.setport(1527); ds.sethost("localhost"); ds.setuser("app") ds.setpassword("app"); Connection con = ds.getconnection();

21 Beispieltabelle COFFEES COF_NAME SUP_ID PRICE SALES TOTAL Colombian French_Roast Espresso Colombian_Decaf French_Roast_Decaf

22 Connection Connection stellt die Verbindung zur Datenbank dar Kann über Statement-Objekte SQL Code ausführen Ergebnisse der Statements werden durch ResultSets repräsentiert

23 Daten aus Tabelle lesen Statement stmt = con.createstatement(); ResultSet srs = stmt.executequery("select COF_NAME, PRICE FROM COFFEES"); ResultSet repräsentiert zurückgegebene Tabelle Methoden zum Auswählen der Zeile Methoden zum Auslesen einer Zelle zur aktuellen Zeile -> API

24 ResultSet Beispiel ResultSet srs = stmt.executequery( "SELECT COF_NAME, PRICE FROM COFFEES"); while (srs.next()) { String name = srs.getstring("cof_name"); float price = srs.getfloat("price"); System.out.println(name + " " + price); }

25 Daten in der Tabelle ändern Statement stmt = conn.createstatement(); ResultSet srs = stmt.executequery("select COF_Name from COFFEES where price = 7.99"); srs.next(); srs.updatestring("cof_name", "Foldgers"); srs.updaterow(); Änderungen werden erst mit updaterow() geschrieben Abbrechen mit cancelupdates()

26 Weitere Features Daten einfügen und löschen INSERT/DELETE Statements Transaktionen Es werden entweder alle Änderungen gemacht oder keine Stored Procedures Werden in der Datenbank ausgeführt

27 Vor- und Nachteile Vorteile: Direkter und vollständiger Zugriff auf Daten Ausführung von beliebigem (nativem) SQL-Code Geringer Overhead Nachteile: Sehr aufwändig bei großen Datenbanken Duplikation von ähnlichen SQL-Statements Gefahr von Fehlern durch copy & paste Kein direkter Bezug zu Objektmodell im Programm Kompatibilitätsprobleme bei Verwendung von RDBMS spezifischem Code

28 ORM Objekt-Relationales Mapping Teil III

29 Persistente Datenspeicherung Programme arbeiten oftmals auf großen Datenbeständen Daten werden gelesen, geändert und gespeichert Persistenz = Verwaltung und Speicherung von Daten über die Laufzeit eines Programms hinaus

30 Layerstruktur objektorientierter Applikationen

31 Objektorientierte Programmierung vs. Relationale Datenbanken Objektorientierte Programmierung fordert Einheit von Code und Daten Relationale Datenbank (RDB) beinhaltet nur Verwaltung von Daten und Aufrechterhaltung ihrer Konsistenz Relationale Datenbanken sind nicht in der Lage komplette Objekte (als Summe ihrer Attribute und Methoden) zu verwalten RDB eignet sich nur zur Speicherung der Daten eines Objektes, also des Inhalts seiner Attribute Ansatz: Mapping, also das Abbilden von Objekten und Attributen in Datenbank-Tabellen bzw. deren Spalten

32 Persistenz-Layer Aufgabe: Bereitstellen von Methoden zum Erzeugen, Abfragen, Verändern und Löschen von Objekten einer Klassenhierarchie CRUD: Create, Retrieve, Update, Delete getter/setter-methoden zur Abfrage und Veränderung einzelner Attribute Schlüssel zur Flexibilität und Geschwindigkeit ist die Art und Weise, mit der die Struktur der Objekte auf die relationale Datenbank gemappt werden Umfasst auch Information über Vererbungshierarchie

33 Identifizierung von Objekten in Datenbanken Ein Objekt existiert laut dem Paradigma der Objekt- Orientierten Programmierung (OOP) nur einmal Jede Objekt-Orientierte Programmiersprache verwendet Referenzen auf Objekte, um diese zu verwalten: Objekt wird erzeugt, eine Referenz verwaltet, weitere Referenzen angelegt, Methoden werden benutzt und das Objekt wird am Ende seiner Existenz zerstört Gleichheit von Objekten wird durch Gleichheit der Referenz ausgedrückt Inhaltliche Gleichheit durch Gleichheit der Werte von Attributen

34 Identifizierung von Objekten in Datenbanken Beim Ablegen eines Objektes in einer relationalen Datenbank muss diese Form des Selbst aufrecht erhalten werden Objekt muss eindeutig von anderen Objekten unterscheidbar und identifizierbar sein Persistenz-Layer weisen Objekten eindeutige Identifikationsnummern, genannt object ids (OID) zu Anhand dieser Nummer kann das Objekt sich selbst, seine Daten und assoziierte Objekte identifizieren

35 Identifizierung von Objekten anhand einfacher Nummern Fortlaufende Nummerierung der Objekte Datenbank-Systeme liefern hierzu geeignete Hilfsmittel, z.b. SERIAL INTEGER in PostgreSQL oder AUTOINCREMENT in MySQL Eigenhändige Lösung: Anlegen einer Datenbanktabelle für Metadaten zur Verwaltung der OIDs und anderer Daten Vorteil: Gute Übertragbarkeit auf jedes Datenbank-System Nachteil: Zusätzlicher Aufwand zur Verwaltung der Metadaten Um Eindeutigkeit der OID zu gewährleisten, muss jeder Zugriff auf die Metadaten exklusiv erfolgen Locking der Tabelle oder einzelner Spalten nicht zu umgehen Ausbremsen des Systems durch Locking, wenn viele Clients in kurzer Folge neue OIDs anfordern

36 Identifizierung von Objekten mit zusammengesetzten Nummern Um Performanz-Einbußen beim konkurrierenden Zugriff auf Metadaten zu verringern, wird OID aus zwei Komponenten zusammengesetzt (high-low-ansatz) Zwei Komponenten: Sitzungszähler wird von Datenbank verwaltet und beim Starten der Applikation durch Datenbank initialisiert Zweite Komponente wird durch Applikation selbst vergeben Beispiel: 32-bit-Integers (z.b. unterste 10 Bit aus internem Zähler, restliche Bits aus Sitzungszähler) gewährleistet Eindeutigkeit bei Verringerung der Zugriffe auf Metadaten um Faktor 2 10 = 1024 Nachteil: Verschwenderischer Umgang mit OIDs (Überlauf!)

37 Identifizierung von Objekten mit globalen OIDs Einsatz (weltweit) verteilter Datenbanken erfordert andere Mittel OID dient hier nicht nur dem Auffinden der Daten in der Datenbank, sondern muss es der Applikation auch ermöglichen, Datenbank als solche zu identifizieren Ansatz: Text-OIDs, die Hostnamen des Datenbank- Servers, Namen der Datenbank, Namen der Tabelle und numerische OID enthalten Andere Möglichkeiten: URIs und URNs

38 Mapping: Eine Tabelle pro Hierarchie Alle Klassen einer Hierarchie sowie ihre Attribute werden in eine einzige Tabelle gemappt Vorteile: Hohe Performanz (nur eine Tabelle pro Anfrage) Einfache Implementierung Einfache Abfrage der Daten Nachträgliches Verändern der Klassen sowie polymorphe Abfragen von Objekten ebenfalls einfach Nachteile: Je nach verwendeter Klassenstruktur hoher Speicherverbrauch, da unnötig viele Spalten pro Klasse existieren Viele leere Datenbankfelder

39 Mapping: Eine Tabelle pro konkreter Klasse Pro Klasse eine Tabelle, die die kompletten Attribute dieser Klasse (inklusive der Attribute evtl. vorhandener abstrakter Oberklassen) enthält Vorteile: einfache Implementierung Speicherbedarf hält sich in Grenzen Nachteile: Polymorphe Abfragen von Objekten, besonders auf höherer Ebene der Klassenhierarchie, sind schwierig, da mehrere Tabellen nacheinander abgefragt werden müssen Veränderung von Attributen (Hinzufügen, Löschen) ist um so aufwändiger, je höher die Klasse in der Hierarchie angesiedelt ist

40 Mapping: Eine Tabelle pro Klasse Pro Klasse wird eine Tabelle erzeugt, die jedoch nur die in dieser Klasse definierten Attribute enthält, sowie die OID des Objektes Verknüpfung von Tabellen mit Hilfe der OID um die Gesamtdaten der Attribute eines Objektes zu erhalten Vorteile: Beste Unterstützung für polymorphe Abfragen Nachteile: Höchste Anforderungen an Implementierung Performanz kann je nach verwendeter Datenbank geringer als bei anderen Methoden sein, da die Verknüpfung evtl. mehrerer Tabellen einen hohen Verarbeitungsaufwand erzeugt

41 Mapping: Ein einfaches Beispiel

42 Vor- und Nachteile der Mapping- Verfahren Methode Geschwindigkeit Polymorphismus Speicherbedarf Hierarchie Konkrete Klasse Klasse - + +

43 Datenspeicherung mit Hibernate Teil IV

44 Was ist Hibernate? Englisch für Winterschlaf halten Persistenz- und Objekt-Relationales Mapping-Framework für Java (mittlerweile auch für.net) Speicherung von Objekten mit Attributen und Methoden in relationalen Datenbanken Zugriff auf Daten mit eigener Abfragesprache (HQL) Dadurch: Unabhängig von gewählter Datenbank (z.b. MySQL) Kompatibel zur Java Persistence API (JPA) Open-Source

45 Verbreitung und Verwendung Hibernate findet Verwendung in zehntausenden Java- Projekten weltweit Etwa angemeldete Entwickler in den Hibernate-Foren Anzahl täglicher Download: ca (Quelle: Wikipedia 2010, Hibernate Framework)

46 POJO Plain old Java Object = ein ganz normales Objekt Beispiel Die Klasse / das POJO Region : public class Region() { private String name; private int start; private int stop; } public int getstart () { return start; } public int getstop () { return stop; } public String getname () { return name; }

47 Primärschlüssel Jedes Objekt benötigt zur eindeutigen Identifikation in der Datenbank einen eindeutigen Primärschlüssel Beispiel Erweiterung der Klasse Region um ein neues Attribut _id public class Region() { private Long _id; } public long get_id() { return _id; } Alternativ hätte auch das Attribut name verwendet werden können Dann müsste Eindeutigkeit aber sichergestellt sein!

48 Datenbanktabelle Beispiel: Region Feld _id name start stop Typ int(11) char(255) int(8) int(8) 1 cg cg

49 Objekt-Relationales Mapping Erlaubt Abbildung der Objekt/Klassenstruktur auf ein relationales Datenbankschema Grundgerüst des Mappings in Hibernate mittels XML: <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" " <hibernate-mapping>... </hibernate-mapping> Alternativ möglich: Beschreibung des Mappings mit Hilfe von Annotationen

50 Objekt-Relationales Mapping Mapping für die Klasse Region auf die entsprechende Datenbanktabelle: <hibernate-mapping> <class name="de.cebitec.region" table="region">... </class> </hibernate-mapping>

51 Objekt-Relationales Mapping Mapping für die Klasse Region auf die entsprechende Datenbanktabelle: <hibernate-mapping> <class name="de.cebitec.region" table="region"> <property name="start" column="start"/> <property name="stop" column="stop"/> <property name="name" column="name"/> </class> </hibernate-mapping>

52 Objekt-Relationales Mapping Wichtig: Definition des Primärschlüssels mit der Anweisung diesen bei jedem neuen Objekt automatisch zu erhöhen <hibernate-mapping> <class name="de.cebitec.region" table="region"> <property name="start" column="start"/> <property name="stop" column="stop"/> <property name="name" column="name"/> <id column="_id" name="_id"> <generator class="increment"/> </id> </class> </hibernate-mapping>

53 Erweiterung der Klasse Region Jede Region kann in einer Art Eltern-Kind -Relation zu einer anderen Region stehen: public class Region() {... private Region parentregion;... public Region getparentregion () { return parentregion; } }

54 Datenbanktabelle Beispiel: Region erweitert um Eltern (Parent) - Region Benötigt zusätzliche Spalte mit Fremdschlüssel Feld _id name start stop parent_region_id Typ int(11) char(255) int(8) int(8) int(11) 1 cg cg null

55 Objekt-Relationales Mapping Fremdschlüssel zeigt auf Parent -Region <hibernate-mapping> <class name="abc.region" table="region"> <id column="_id" name="_id"> <generator class="native"/> </id> <property name="start" column="start"/> <property name="stop" column="stop"/> <property name="name" column="name"/> <many-to-one class="de.cebitec.region" column="parent_region_id" name="parent_region"/> </class> </hibernate-mapping>

56 Datenspeicherung und Abfrage Transaktionen Ausführung einer oder mehrerer Operationen (z.b. Holen und Änderung von Region-Objekten) innerhalb einer Transaktion ACID Eigenschaften von Transaktionen: Atomarität: Ganz oder gar nicht Konsistenz: konsistenter Datenzustand (z.b. Abbuchung von Konto und Einzahlung auf einem anderen) Isolation: Keine gegenseitige Beeinflussung von Transaktionen (z.b. Reisebuchung Sperrung eines Flugs während Auswahl des Hotels) Dauerhaftigkeit: Änderungen einer erfolgreich abgeschlossenen Transaktion sind dauerhaft (persistent)

57 Datenspeicherung und Abfrage Komponenten/Architektur von Hibernate: Session Repräsentiert Konversation zwischen Anwender (Anwendung) und Datenbank Kapselt Verbindung zur Datenbank (JDBC-Connection) SessionFactory Kennt alle Mappings für eine Datenbank Dient als Factory für Session-Objekte Optional: Zwischenspeicher für abgerufene Datenbankobjekte zur Steigerung der Performance (Caching)

58 Hibernate Konfiguration XML-Konfiguration einer SessionFactory <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" " <hibernate-configuration> <session-factory> <property name="connection.driver_class"> com.mysql.jdbc.driver </property> <property name="dialect"> org.hibernate.dialect.mysqldialect </property>... <mapping resource="de/cebitec/region.hbm.xml"/> </session-factory> </hibernate-configuration>

59 Beispiel: Ablauf einer Datenbankabfrage Erstellung der Verbindung zur Datenbank (Initialisierung der SessionFactory mit Hibernate Konfiguration) Öffnen einer Session über die SessionFactory Beginn einer Transaktion Abfrage/Speicherung von Objekten Commit der Transaktion (Erst jetzt werden Änderung/ Objekte persistent!) Schließen der Session Später eventuell: Öffnen einer weiteren Session...

60 Beispiel: Holen aller Regions // Initialisierung der SessionFactory (hier nicht gezeigt) private static SessionFacotory sessionfactory =... // Methode zum Holen aller Region-Objekte (Wo ist hier die Transaktion?) public List<Region> getregions() { List<Region> regions = null; Session session = sessionfactory.opensession(); try { regions = session.createquery( "select region from Region as region" ).list(); } catch (Exception ex) { // Fehlerbehandlung } finally { session.close(); } return regions; }

61 Beispiel: Speicherung einer Region // Methode zur Erstellung und Speicherung eines Region-Objekts public Region createnewregion(string name, int start, int stop) { Region region = new Region(); region.setname(name); region.setstart(start); region.setstop(stop); } Session session = sessionfactory.opensession(); Transaction tx = null; try { tx = session.begintransaction(); session.save(region); tx.commit(); } catch (Exception ex) { tx.rollback(); // Rollback aller Änderungen! return null; // besser: Ausnahme werfen! } finally { session.close(); } return region;

62 Literatur C. J. Date und H. Darwen SQL - Der Standard. Addison-Wesley, 1997 S.W. Ambler The Design of a Robust Persistence Layer for Relational Databases. S.W. Ambler Mapping Objects to Relational Databases. S.W. Ambler Building Object Applications that work. Cambridge University Press, C. Bauer, G. King (2005) Hibernate in Action. Manning Publications Co. Hibernate - JBoss Community (2010)

63 Vielen Dank für Eure Aufmerksamkeit

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Datenbanken. Ein DBS besteht aus zwei Teilen:

Datenbanken. Ein DBS besteht aus zwei Teilen: Datenbanken Wikipedia gibt unter http://de.wikipedia.org/wiki/datenbank einen kompakten Einblick in die Welt der Datenbanken, Datenbanksysteme, Datenbankmanagementsysteme & Co: Ein Datenbanksystem (DBS)

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

JDBC. Allgemeines ODBC. java.sql. Beispiele

JDBC. Allgemeines ODBC. java.sql. Beispiele JDBC Java Data Base Connectivity Programmierschnittstelle für relationale Datenbanken Sammlung von Klassen, welche zum Aufbau einer Verbindung zwischen einem Java-Programm und einer Datenbank dienen Verwendet

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

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

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

SQL structured query language

SQL 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

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

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Referenzielle Integrität SQL

Referenzielle 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

Mehr

Tag 4 Inhaltsverzeichnis

Tag 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

Mehr

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

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

Tag 4 Inhaltsverzeichnis

Tag 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

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

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

Prozedurale Datenbank- Anwendungsprogrammierung

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

Mehr

Webbasierte Informationssysteme

Webbasierte Informationssysteme SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)

Mehr

Arbeiten mit einem lokalen PostgreSQL-Server

Arbeiten mit einem lokalen PostgreSQL-Server Arbeiten mit einem lokalen PostgreSQL-Server Download für das Betriebssystem Windows PostgreSQL-Server und pgadmin: http://www.enterprisedb.com/products-servicestraining/pgdownload#windows pgadmin: http://www.pgadmin.org/download/windows.php

Mehr

Datenbankentwurf & Datenbankzugriff mit JDBC. Georg Köster Sven Wagner-Boysen

Datenbankentwurf & Datenbankzugriff mit JDBC. Georg Köster Sven Wagner-Boysen Datenbankentwurf & Datenbankzugriff mit JDBC Georg Köster Sven Wagner-Boysen 6. November 2007 Gliederung 2 Datenbankentwurf für ProminentPeople.info ER-Modell Relationaler Entwurf Normalisierung Datenbankzugriff

Mehr

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

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

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

Carl-Engler-Schule Karlsruhe Datenbank 1 (5)

Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Informationen zur Datenbank 1. Definition 1.1 Datenbank-Basis Eine Datenbank-Basis ist eine Sammlung von Informationen über Objekte (z.b Musikstücke, Einwohner,

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

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

Relationale Datenbanken in der Praxis

Relationale Datenbanken in der Praxis Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5

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

Übersicht über Datenbanken

Übersicht über Datenbanken Übersicht über Datenbanken Vergleich zwischen normaler Datenorganisation und Datenbanken Definition einer Datenbank Beispiel (inkl. Zugriff) Der Datenbankadministrator Relationale Datenbanken Transaktionen

Mehr

LINQ to SQL. Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel. Institut für Informatik Software & Systems Engineering

LINQ to SQL. Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel. Institut für Informatik Software & Systems Engineering LINQ to SQL Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel Institut für Informatik Software & Systems Engineering Agenda 1. LINQ allgemein Vorteile Bausteine und Varianten

Mehr

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

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

Datenbanken für Online Untersuchungen

Datenbanken 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

Mehr

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, enthält mindestens Jahr, Monat, Tag Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice

Mehr

Themen. M. Duffner: Datenbanksysteme

Themen. M. Duffner: Datenbanksysteme Datenbanksysteme Themen Theorie Einführung Datenbank, Datenbankmanagementsystem (DBMS), Aufgaben eines DBMS Relationale Datenbanken Daten als Tabellen Datenbankentwurf im Entity-Relationship-Modell Abfragesprache

Mehr

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung

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

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

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

Datenbanken: Datenintegrität. www.informatikzentrale.de

Datenbanken: Datenintegrität. www.informatikzentrale.de Datenbanken: Datenintegrität Definition "Datenkonsistenz" "in der Datenbankorganisation (...) die Korrektheit der gespeicherten Daten im Sinn einer widerspruchsfreien und vollständigen Abbildung der relevanten

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

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 29. April 2013 - MySQL 2 Sebastian Cuy sebastian.cuy@uni-koeln.de Aufgaben Anmerkungen Best practice: SQL Befehle

Mehr

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken Betriebliche Datenverarbeitung Wirtschaftswissenschaften AnleitungzurEinrichtungeinerODBC VerbindungzudenÜbungsdatenbanken 0.Voraussetzung Diese Anleitung beschreibt das Vorgehen für alle gängigen Windows

Mehr

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 22. April 2013 - MySQL Sebastian Cuy sebastian.cuy@uni-koeln.de Datenbanken Was sind eigentlich Datenbanken? Eine

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

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

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL Betreuer: Sascha Kriewel, Tobias Tuttas Raum: LF 230 Bearbeitung: 26., 27. und 29. Juni 2006 Datum Team (Account) Vorbereitung Präsenz Aktuelle Informationen, Ansprechpartner und Material unter: http://www.is.inf.uni-due.de/courses/dbp_ss07/index.html

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

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

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

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung...Seite 03 2. Zugriff auf Cloud Object Storage mit Cyberduck...Seite 04 3. Neuen Container

Mehr

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 1 Allgemeine Beschreibung "Was war geplant, wo stehen Sie jetzt und wie könnte es noch werden?" Das sind die typischen Fragen, mit denen viele Unternehmer

Mehr

105.3 SQL-Datenverwaltung

105.3 SQL-Datenverwaltung LPI-Zertifizierung 105.3 SQL-Datenverwaltung Copyright ( ) 2009 by Dr. W. Kicherer. This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License. To view a

Mehr

3 Richtlinienbasierte Verwaltung und Multi-Server- Administration

3 Richtlinienbasierte Verwaltung und Multi-Server- Administration Richtlinienbasierte Verwaltung und Multi-Server-Administration 3 Richtlinienbasierte Verwaltung und Multi-Server- Administration SQL Server Management Studio bietet eine Reihe von Unterstützungsmöglichkeiten,

Mehr

KURZANLEITUNG CLOUD OBJECT STORAGE

KURZANLEITUNG CLOUD OBJECT STORAGE KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05

Mehr

Software-Engineering Einführung

Software-Engineering Einführung Software-Engineering Einführung 7. Übung (04.12.2014) Dr. Gergely Varró, gergely.varro@es.tu-darmstadt.de Erhan Leblebici, erhan.leblebici@es.tu-darmstadt.de Tel.+49 6151 16 4388 ES Real-Time Systems Lab

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

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

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

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

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

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de EJB Beispiel JEE Vorlesung 10 Ralf Gitzel ralf_gitzel@hotmail.de 1 Stundenkonzept Gemeinsame Übung Stoff der letzten Stunde wird gemeinsam in einem Beispiel umgesetzt Details werden nochmals erklärt bzw.

Mehr

Verbinden von IBM Informix mit Openoffice mittels JDBC

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

Mehr

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: 24.11.2014. Übung WS 2014/2015

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: 24.11.2014. Übung WS 2014/2015 Übung WS 2014/2015 E-Commerce: IT-Werkzeuge Web-Programmierung Kapitel 6: Datenbankabfragen mit SQL und PHP Stand: 24.11.2014 Benedikt Schumm M.Sc. Lehrstuhl für ABWL und Wirtschaftsinformatik Katholische

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

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger Grundlegendes Oracle9i PostgreSQL Prevayler Memory mywms bietet umfangreiche Konfigurationsmöglichkeiten um die Daten dauerhaft zu speichern.

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

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

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Client-Server-Beziehungen

Client-Server-Beziehungen Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server

Mehr

Transaktionsverwaltung

Transaktionsverwaltung Transaktionsverwaltung VU Datenbanksysteme vom 21.10. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung

Mehr

SQL-Injection. Seite 1 / 16

SQL-Injection. Seite 1 / 16 SQL-Injection Seite 1 / 16 Allgemein: SQL (Structured Query Language) Datenbanksprache zur Definition von Datenstrukturen in Datenbanken Bearbeiten und Abfragen von Datensätzen Definition: SQL-Injection

Mehr

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Bedienungsanleitung für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Matthias Haasler Version 0.4 Webadministrator, email: webadmin@rundkirche.de Inhaltsverzeichnis 1 Einführung

Mehr

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

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

Mehr

5.3 Datenänderung/-zugriff mit SQL (DML)

5.3 Datenänderung/-zugriff mit SQL (DML) 5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und

Mehr

Allgemeines zu Datenbanken

Allgemeines zu Datenbanken Allgemeines zu Datenbanken Was ist eine Datenbank? Datensatz Zusammenfassung von Datenelementen mit fester Struktur Z.B.: Kunde Alois Müller, Hegenheimerstr. 28, Basel Datenbank Sammlung von strukturierten,

Mehr

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze Ihre Interessentendatensätze bei inobroker Wenn Sie oder Ihre Kunden die Prozesse von inobroker nutzen, werden Interessentendatensätze erzeugt. Diese können Sie direkt über inobroker bearbeiten oder mit

Mehr

Hibernate Das Praxisbuch für Entwickler

Hibernate Das Praxisbuch für Entwickler Sebastian Hennebrüder 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Hibernate Das Praxisbuch für Entwickler Galileo

Mehr

Persistenz. Workplace Solutions. Persistenz. ÿ RDBMS und OO ÿ Strukturkonflikt ÿ Object-RDBMS-Mapping. Abbildung Objekte auf RDBMS

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

Mehr

Verteidigung gegen SQL Injection Attacks

Verteidigung gegen SQL Injection Attacks Verteidigung gegen SQL Injection Attacks Semesterarbeit SS 2003 Daniel Lutz danlutz@watz.ch 1 Inhalt Motivation Demo-Applikation Beispiele von Attacken Massnahmen zur Verteidigung Schlussfolgerungen 2

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de Innovator 11 excellence DDL importieren Data-Definition-Language-Dateien in Datenbankschema importieren HowTo www.mid.de Zweck In Innovator Data excellence können Sie mit dem DDL-Import Ihr physisches

Mehr

Programmieren II. Beispiele für RDBMS. Relationale Datenbanken. Datenbanken SQL. Dr. Klaus Höppner JDBC. Hochschule Darmstadt SS 2008

Programmieren II. Beispiele für RDBMS. Relationale Datenbanken. Datenbanken SQL. Dr. Klaus Höppner JDBC. Hochschule Darmstadt SS 2008 Programmieren II Datenbanken Dr. Klaus Höppner SQL Hochschule Darmstadt SS 2008 JDBC 1 / 20 2 / 20 Relationale Datenbanken Beispiele für RDBMS Ein Datenbanksystem ist ein System zur Speicherung von (großen)

Mehr

IAWWeb PDFManager. - Kurzanleitung -

IAWWeb PDFManager. - Kurzanleitung - IAWWeb PDFManager - Kurzanleitung - 1. Einleitung Dieses Dokument beschreibt kurz die grundlegenden Funktionen des PDFManager. Der PDF Manager dient zur Pflege des Dokumentenbestandes. Er kann über die

Mehr