Historisierung und Versionierung mit Oracle Workspace Manager im Einsatz bei der Deutschen Bahn AG

Größe: px
Ab Seite anzeigen:

Download "Historisierung und Versionierung mit Oracle Workspace Manager im Einsatz bei der Deutschen Bahn AG"

Transkript

1 Donnerstag, 11. November h00, Variohalle 5 Historisierung und Versionierung mit Oracle Workspace Manager im Einsatz bei der Deutschen Bahn AG Claus Holzknecht its-people Schlüsselworte: Database, 10g, Workspace Manager, Spatial Einleitung In vielen Projekten steht man vor der Herausforderung aus Gründen der Nachvollziehbarkeit die Vergangenheit also eine (Bearbeitungs) Historie der Daten abzubilden. Auch existiert häufig die Anforderung, dass Datensätze nicht sofort bei Eingabe wirksam werden sollen, sondern für sie ein gewisser Gültigkeitszeitraum definiert wird. Manchmal sollen z.b. für das Durchspielen verschiedener Planvarianten auch noch verschiedene Versionen ein und des selben Datensatzes abgelegt werden. Die Umsetzung dieser Anforderungen stellt sich als enorm komplex dar. Seit Oracle 9i hat man über das Feature Flashback Query die Möglichkeit einen Zustand aus der Vergangenheit für einzelne Datensätze wiederherzustellen. Dies ist jedoch, da es mit Hilfe der Standard Redo Funktionalität der Datenbank abgebildet wird, nur für relativ kurze Zeiträume möglich. Man benötigt alle Redo Daten der gesamten Datenbank bis zu dem gewünschten Zeitpunkt zurück. Plattenplatz ist heutzutage zwar billig, aber wer hat schon einen Undo Tablespace, der z.b. die Änderung des letzten Jahres vorhalten kann. Die Aufgabenstellung die Historien und Versionen pro Tabelle abzubilden bewältigt der Oracle Workspace Manager. Mit dem Oracle Workspace Manager steht seit Version 8i ein Feature als Bestandteil der Datenbank zur Verfügung das in den Versionen 9i R2 und 10g noch um wesentliche Funktionalität erweitert wurde. Dieses Feature ist im Umfang jeder Datenbanklizenz enthalten, so dass sich ein Einsatz auch kostengünstiger auswirkt als diese Funktionalität in Eigenentwicklung nachzubilden. Es besteht zudem auch die Möglichkeit den Workspace Manager für schon bestehende Anwendungen im nachhinein einzusetzen und

2 17.Deutsche ORACLE-Anwenderkonferenz Database somit z.b. eine Anwendung um eine Historisierung zu erweitern. Begriffsklärung Historisierung Versionierung Im folgenden werden die Begriffe Historisierung und Versionierung, wie sie in diesem Vortrag verwendet werden, definiert: Historisierung: Die Historisierung dient der Abbildung der Änderungshistorie eines Datensatzes. Ein historischer Datensatz wird jedes mal dann erzeugt, wenn eine Anpassung an einem Datensatz vorgenommen wird und der alte Zustand nicht mehr betrachtet werden soll. Versionierung: Versionierung ist die Speicherung von Daten des selben Objektes, die zu verschiedenen äußeren Randbedingungen betrachtet werden z.b. zu verschiedenen Zeiten oder in verschiedenen Planvarianten (Szenarien). Die verschiedenen Versionen der Daten werden durch weitere Merkmale die den Kontext beschreiben, unterschieden. z.b. Gültigkeitszeitraum oder Planvariante 1, Planvariante 2. Eine neue Version entsteht immer dann, wenn Daten mit einem neuen Unterscheidungsmerkmal (z.b. neuer Gültigkeitszeitraum oder Planvariante 3) parallel zu schon bestehen Daten erzeugt werden. Werden Daten einfach nur geändert, bleibt die Version gleich, der alte Zustand wird lediglich historisiert. Die im weiteren näher betrachtete zeitliche Versionierung unterscheidet die Versionen durch den Gültigkeitszeitraum der einzelnen Datensätze. Hierbei kann zu einem Zeitpunkt immer nur eine Version eines Datensatzes gültig sein. Versionierung und Historisierung ermöglichen, dass der Zeitpunkt der logischen Gültigkeit eines Datensatzes (Versionierung) vom Zeitpunkt der Erfassung/Bearbeitung (Historisierung) getrennt wird. Der Oracle Workspace Manager ist in der Lage alle obigen Fälle und auch alle Kombinationen (z.b. Verwaltung von verschiedenen Planvarianten verschiedener Benutzer für Daten mit Gültigkeitszeiträumen und zusätzlicher Bearbeitungshistorie) abzubilden.

3 Historisierung Wer vor der Aufgabe steht die Historie einer Tabelle abzubilden wird dies wahrscheinlich über die Einführung zweier Spalten z.b. Gueltig_Von und Gueltig_Bis bewerkstelligen. Diese geben den Zeitraum an in dem dieser Zustand des Datensatzes aktiv war, also z.b. vom Datum des Anlegens bis zum Datum der ersten Änderung. Die aktuellen Datensätze sind durch einen leeren Gueltig_Bis Eintrag gekennzeichnet. Empno Ename DeptNo Gueltig_Von Gueltig_Bis 7788 SCOTT JAN BOSS JAN JAN KING JAN-2004 Dieses Beispiel zeigt folgende Konstellation: der erste und dritte Datensatz wurden am angelegt. Für den zweiten Datensatz wurde am der Name von BOSS auf KING geändert. Führt man ein Update der Daten durch wird nunmehr nicht mehr ein Update Statement mit den geänderten Daten gegen die Tabelle abgesetzt sondern ein Update der oben beschriebenen Spalte Gueltig_Bis, deren Wert auf sysdate gesetzt wird. Die geänderten Daten werden dann über ein Insert Statement mit den Werten Gueltig_Von = sysdate 1 als neue Zeile eingefügt. Ein Delete der Daten führt anderseits zu einem Update der Gueltig_Bis Spalte. Ein wirkliches Delete wird in der Tabelle nie durchgeführt. An diesem Vorgehen erkennt man schon den wesentlichen Nachteil der Methode. Die Applikation muss nun nicht mehr wie gewohnt Insert, Update und Delete Statements absetzten, sondern, wie oben beschriebenen nur Insert Statements und gleichzeitig ein Update des Zeitraumes. Hat man somit eine bestehende Applikation oder verwendet eine Standardappliaktion erscheint eine nachträgliche Erweiterung dieser um eine Historisierung enorm aufwändig wenn nicht gar unmöglich. Es gibt jedoch noch eine elegantere Lösung des Problems. Basierend auf der oben genannten Tabelle kann man durch die Erstellung einer View, die genau die Spalten der nicht historisierten Ausgangstabelle enthält, der Anwendung eine unveränderte Datenbasis vorgaukeln. Diese View hat die Aufgabe die jeweils aktuellen Datensätze anzuzeigen. Durch einen Instead-of-Trigger an dieser View für Insert, Update und Delete könnte man zudem die oben beschrieben Umsetzungen der DML Statements erreichen.

4 17.Deutsche ORACLE-Anwenderkonferenz Database Betrachtet man nun den Workspace Manager (dessen API über das Package dbms_wm aufgerufen werden kann), so lässt sich durch den Befehl execute dbms_wm.enableversioning('emp','view_wo_overwrite'); für eine Tabelle nachträglich eine Historisierung anlegen 2. Durch den zweiten Parameter, der per Default nicht gesetzt ist, gibt man an, dass die historisierten Daten nicht überschrieben werden sollen (without overwrite) 3. Der Workspace Manager erzeugt im Hintergrund genau die oben beschriebenen Objekte. Es wird: Die Tabelle umbenannt (hier in EMP_LT) Dieser neuen Tabelle neue Spalten angehängt (unter anderem Gueltig_Von, Gueltig_Bis) Eine View mit dem der ursprünglichen Struktur (identische Spalten) und dem ursprünglichen Namen der Tabelle erzeugt Für diese View Instead-Of-Trigger für Insert, Update, Delete erzeugt (falls für die Ausgangstabelle Unique-, Check- oder Foreign-Key-Constraints definiert waren wir in diesem Trigger auch Code erzeugt um die Funktionalität dieser Constraints nachzubilden) Weitere View wie z.b. EMP_HIST, EMP_LOCK werden angelegt. 1 Um zu vermeiden, dass zu einem Zeitpunkt zwei gueltige Datensätze existieren, wird angenommen, dass das Intervall Gueltig_Von, Gueltig_Bis an einer Seite offene Intervallgrenzen hat, d.h. dass entweder der Anfangs- oder der Endwert nichr mehr zum Gültigkeitsintervall dazuzählen. Alternativ kann man auch gschlossene Intervalle und Grenzen Sysdate + 1 Sekunde bzw. unter Verwendung des Timestamp Datentyps + 1 ms wählen. Aus Gründen der Übersichtlichkeit wurde die Darstellung hier auf Tage beschränkt. 2 Voraussetzung hierfür ist, dass die Tabelle einen Primary Key besitzt der für einen Datensatz im folgenden auch nicht mehr geändert werden kann. 3 Durch Setzten des zweiten Parameters auf VIEW_W_OVERWRITE besteht auch die Möglichkeit, nicht die komplette Historie der Daten zu speichern, sondern immer nur den letzten historisierten Wert eines Datensatzes.

5 Abb.2: Aktivierung des Workspace Managers für eine Tabelle Der einzige Unterschied, den der Anwender bzw. die Anwendung bemerkt, ist, dass EMP nun eine View ist und nicht mehr eine Tabelle. Ein einfaches Select Statement gegen EMP liefert weiterhin die aktuellen Datensätze zurück. Möchte man den Zustand der Daten am selektierten, kann man durch folgenden Befehl den Betrachtungszeitpunkt der aktuellen Session setzten execute dbms_wm.gotodate('01-jan-2003'); Für alle in dieser Session folgenden Statements werden die Daten selektiert, die am aktuell waren d.h. in unserem Falle würde nun das selbe Select Statement gegen EMP für die Empno 7839 nicht den aktuellen Ename KING, sondern den am 01-Jan-2003 gültigen Wert BOSS zurückliefern. Weiterhin kann man, wie bisher, Insert, Update und Delete Statements gegen EMP absetzen, die dann durch den erzeugten Instead-of-Trigger weiterverarbeitet werden.

6 17.Deutsche ORACLE-Anwenderkonferenz Database Prinzipiell bleiben bei Verwendung des Workspace Managers alle DML Statements für die Tabelle gleich. Der Zeitraum der Betrachtung wird stets durch vorheriges Setzten einer Variablen definiert. Durch die Aktivierung des Workspace Managers werden noch zusätzliche Views erzeugt, wie z.b. EMP_HIST (generell <Tabellenname>_HIST) über die sich die komplette Historie der Datensätze anzeigen lässt. Diese durchaus erstaunliche Funktionalität ist aber nicht die eigentliche Aufgabe des Workspace Manager, sondern nur ein gern gesehenes Nebenprodukt um den eigentlichen Zweck, nämlich die Unterstützung von lang laufenden Arbeitsschritten zu ermöglichen. D.h. die Eingaben eines Nutzers wird nicht schon nach dem Commit, sondern erst nach einer gezielten Veröffentlichung (Merge) für andere Benutzer sichtbar gemacht. Dies erfolgt nach einer ähnlichen Funktionsweise, wie die eines Versionierungstools. Der Benutzer arbeitet so lange autark (auch über Commits hinweg) bis er seine Änderungen in den Bestand (bzw. in einen anderen Worksspace) einspielt (merge) Der Benutzer kann als Basis seiner Arbeit einen Zustand der Daten zu einem definierten Zeitpunkt wählen oder immer mit den gerade aktuelles Daten arbeiten. Beim Einspielen der Änderungen können Aufgrund von Änderungen der Bestanddaten Konflikte beim Einspielen der Daten entstehen, die vor dem Einspielen aufgelöst werden müssen. Hierfür bietet der Workspace Manager alle benötigten Funktionen zur Verwaltung von Workspaces, deren Zugriffe und dem Lock- und Konflikt-Management. Außerdem bietet er eine effiziente Speicherung der Daten und eine Verwaltungsmöglichkeit über den Oracle Enterprise Manager.

7 Abb.2: Workspace Manager Komponenten Versionierung Als neuen Feature in Oracle 10g (und auch schon ab Patch für Oracle 9i) wurde der Valid Time Support des Workspace Managers eingeführt, um Gültigkeitszeiträume von Daten abzubilden z.b. ab 01-JAN-2005 wird BLAKE bis auf weiteres in der Abteilung 100 tätig sein. Empno Ename DeptNo Vers_Gueltig_Von Vers_Gueltig_Bis 7698 BLAKE JAN JAN BLAKE JAN-2005 Bei den beiden Datumsspalten handelt es sich nun nicht mehr um die obigen Spalten zur Speicherung der Bearbeitungshistorie, sondern um den Gültigkeitszeitraum bzw. den Aktivierungszeitpunkt eines Datensatzes. Die oben betrachteten Datumsspalten zur Verwaltung der Bearbeitungshistorie würden noch zusätzlich benötigt. Auf diese wird aus Gründen der Übersichtlichkeit ab nun verzichtet. Mit dem Workspace Manager kann man durch eine weitere Option beim oben erwähnten Befehl die Unterstützung von Gültigkeitszeiträumen (Valid Time Support) für eine Tabelle aktivieren: execute dbms_wm.enableversioning('emp', 'VIEW_WO_OVERWRITE', FALSE, TRUE);

8 17.Deutsche ORACLE-Anwenderkonferenz Database Der dritte Parameter gibt an, ob es sich bei der Tabelle um eine Oracle Spatial Topology handelt. Dies ist für unsere Betrachtung unerheblich. Durch Setzten des vierten Parameters wird der Valid Time Support aktiviert. Hierdurch erhält die Tabelle eine zusätzliche Spalte WM_VALID zur Speicherung des Gültigkeitszeitraums jedes einzelnen Datensatzes: SQL> desc emp Name Null? Type EMPNO NUMBER(4) ENAME VARCHAR2(10) DEPTNO NUMBER(2) WM_VALID WMSYS.WM_PERIOD Der Datentyp dieser Spalte 4 ist zusammengesetzt aus zwei Feldern, die den Gültigkeitszeitraum als Timestamp mit Zeitzone und somit mit einer Genauigkeit bis zu einer Millisekunde abspeichern. SQL> desc wmsys.wm_period Name Null? Type VALIDFROM TIMESTAMP(6) WITH TIME ZONE VALIDTILL TIMESTAMP(6) WITH TIME ZONE Ein Select der Tabelle liefert: EMPNO ENAME DEPTNO WM_VALID(VALIDFROM, VALIDTILL) BLAKE 20 WM_PERIOD( '01-JAN AM +02:00', '01-JAN AM +02:00' ) 7698 BLAKE 100 WM_PERIOD( '01-JAN AM +02:00', NULL ) 4 WMSYS ist der Metadatenuser zur Verwaltung aller Workspace Manager Informationen und Objekte 5 Der Wert NULL in der ValidTill Spalte gibt an, dass der Wert bis auf weiteres gültig ist, bis er von einem zukünftigen Wert überschrieben wird

9 Beim Einfügen von Datensätzen muss man nun den jeweiligen Gültigkeitszeitraum berücksichtigen. Ein einfaches Insert wird damit zu: INSERT INTO EMP VALUES (7839, 'KING', 10, WM_PERIOD(to_date('01-JAN-2010','DD-MON-YYYY'), to_date('01-jan-2020','dd-mon-yyyy') ) ); Das Insert ist nur dann erfolgreich, wenn in der Tabelle selbst und auch in anderen Tabellen, die über Foreign-Key Beziehungen in Abhängigkeit stehen, kein Konflikt der Gültigkeitszeiträume entsteht. Der Workspace Manager stellt also sicher, dass es nicht zwei Versionen der selben EMPNO zu einem Zeitpunkt gibt und auch, dass z.b. in eine Mastertabelle DEPT die entsprechenden Einträge für DEPTNO zu dem Gültigkeitszeitraum existieren. Durch den Befehl: execute dbms_wm.setvalidtime( TO_DATE('01-JAN-2005', 'DD-MON-YYYY') ); kann man nun den gewünschten Zeitraum auswählen und sich so z.b. die Daten auswählen die ab gültig sind. Wie schon oben im Falle der Historisierung, würde ein einfaches Select auf die Tabelle nun nur die dann gültigen Datensätze zurückliefern. Man kann die im ersten Teil besprochene Historisierung und die Versionierung kombinieren und somit auch Fragen der Art beantworten: Wie war der Planungszustand für X am letzten Freitag. Workspaces Um nun verschiedene Planungsvarianten (Szenarien) parallel abzulegen und diese autark zu bearbeiten kann man diese in unterschiedlichen Workspaces verwalten z.b. Planvariante A in Workspace A und Planvariante B in Workspace B. Man muss zur Bearbeitung der einzelnen Varianten nun vorher den entsprechenden Workspace auswählen: execute dbms_wm.gotoworkspace('a'); Man kann jedoch auch hier über eine spezielle View die Daten aus anderen Workspaces einsehen und somit einen Überblick über alle Versionen eines Datensatzes erhalten.

10 17.Deutsche ORACLE-Anwenderkonferenz Database Empno Ename DeptNo Vers_Gueltig_Von Vers_Gueltig_Bis Workspace 7698 BLAKE JAN JAN BLAKE JAN-2005 NULL A 7698 BLAKE JAN-2005 NULL B Es existiert ein besonderer Workspace ( LIVE ) der den aktuell zusammengeführten, konfliktfreien Zustand der Daten darstellt. Im obigen Beispiel müsste man sich irgendwann entscheiden welcher der Planvarianten, A oder B, zum Zuge kommt und entsprechend die Inhalte dieses Workspaces in den Workspace LIVE überführen (Merge). Falls hierbei Konflikte auftreten, z.b. dass schon ein Eintrag für die EMPNO zum selben Zeitpunkt vorhanden ist, muss dies beim überführen vom Anwender aufgelöst werden. STREDA.X Im geographischen Auskunftssystem STREDA.X der DB Netz AG wird die heutige Ausstattung des Streckennetzes der Deutschen Bahn mit Elektronischen Stellwerken abgebildet. Zusätzlich werden dort die Planungszustände d.h. die mittelfristige und langfristige strategische Abdeckung des Streckennetzes mit Elektronischen Stellwerken definiert. Der Workspace Manager mit der Funktionalität Valid Time Support wird sowohl bei der Verwaltung des Streckennetzes, als auch bei der Definition der Wirkbereiche der Stellwerke verwendet. Zum Beispiel erscheint eine Neubaustrecke im System erst ab dem Zeitpunkt zu dem sie in Betrieb geht. Im umgekehrten Fall wird eine in Zukunft rückgebaute Strecke für zukünftige Planungen nicht mehr angezeigt. Des weiteren wird die Erstellung der Stellwerke und die Ausdehnung ihrer Wirkbereiche in der Anwendung zeitbezogen erfasst. Somit können in STREDA.X auch zeitbezogene Auswertungen vorgenommen werden, wie z.b. eine geographische Auswertung zum Stand des Ausbaus im Jahre Randbedingungen Natürlich gibt es einige Randbedingungen, die durch den Einsatz von Views mit Instead-of-Trigger einhergehen. Die Verwendung mancher Befehle wie z.b. truncate table emp; führt natürlich bei der Verwendung einer View emp zu einem Fehler. Es gibt einige weitere Befehle und Features, die bei genauerer Betrachtung nicht mit Views, bzw. nicht mit nicht updateable Views funktionieren: Returning Clause für DML Operationen Select der Rowid Merge Statement Wer in seiner Anwendung solche Befehle verwendet, muss mit Anpassungen der Anwendungen rechnen.

11 Fazit Der Workspace Manager enthält alle benötigten Funktionalitäten, um die Historisierung und die Versionierung von Daten abzubilden. Er ist als PL/SQL Packages und Triggern tief im Datenbankkern verankert und ist im Umfang der Datenbanklizenz enthalten und steht somit jedermann zur Verfügung. Da sich eine Historisierung mit Hilfe des Oracle Workspace Managers sehr einfach auch nachträglich aktivieren und deaktivieren lässt und keinerlei Änderung der SQL Statements erfordert, kann jeder durch einen Aktivierungsbefehl (Enable_Versioning) testen, ob der Einsatz für die konkrete Anwendung in Frage kommt. Da sich, wie oben beschrieben, auch Konstellationen ergeben, die die Verwendung des Workspace Managers erschweren, sollte der Einsatz trotzdem so früh wie möglich und am besten schon im Design mitberücksichtigt werden. Die Versionierung mittels des Valid Time Supports des Workspace Managers lässt sich zwar genauso problemlos nachträglich einführen, wird aber, da hierfür Eingaben der Benutzer nötig sind, nicht ohne weitere Änderungen auf Anwendungsseite vonstatten gehen können. Desweiteren hat die Einführung von getrennten Workspaces noch komplexere Auswirkungen auf die Anwendung, so dass eine Erweiterung um eine Versionierung und um isolierte Arbeitsbereiche und besonders um die Konfliktauflösung beim Zusammenführen der Arbeitsbereiche nicht einfach nachträglich möglich ist, sondern zunächst ein Redesign der Anwendung erfordert. Referenzen Oracle Database Documentation, Application Developer s Guide Workspace Manager 10g Release 1 (10.1) Part No. B DOAG 2002 Vortrag, Versionierung von Datensätzen mittels Oracle Workspace Manager, Hans Viehmann, ORACLE Deutschland GmbH Kontaktadresse: Claus Holzknecht its-people Hochtaunus GmbH Nassauer Str. 60 D Oberursel Telefon: +49(0) claus.holzknecht@its-people.de Internet:

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement SQL Datenmanipulation Datenmanipulationssprache Ein DML Statement wird ausgeführt wenn: neue Tupel eingefügt werden existierende Tupel geändert werden existierende Tupel aus der Tabelle gelöscht werden

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

Prakt. Datenbankprogrammierung. Sommersemester I,9: Datenmanipulation. Daten-Manipulations-Sprache. Das INSERT-Statement

Prakt. Datenbankprogrammierung. Sommersemester I,9: Datenmanipulation. Daten-Manipulations-Sprache. Das INSERT-Statement Prakt. Datenbankprogrammierung Sommersemester 2005 I,9: Datenmanipulation Daten-Manipulations-Sprache DML-Statements werden ausgeführt bei: Hinzufügen von Datensätzen Modifizieren von Datensätzen Löschen

Mehr

15 Bilder und Dateien im SQL Server

15 Bilder und Dateien im SQL Server Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen 15 Bilder und Dateien im SQL Server Eines der großen Probleme von Access-Datenbanken ist der vergleichsweise geringe Speicher platz. Sicher,

Mehr

Die Datenmanipulationssprache SQL

Die 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

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

Oracle 10g Flashback. Andrea Held

Oracle 10g Flashback. Andrea Held Oracle 10g Flashback Andrea Held Seite 1-1 Agenda Flashback Technologien Architektur Anwendung Probleme Bewertung: Möglichkeiten und Grenzen Seite 1-2 Flashback Level Flashback Query Flashback Table Flashback

Mehr

Dokumentation QuickHMI-Schnittstelle für Oracle Datenbanken

Dokumentation QuickHMI-Schnittstelle für Oracle Datenbanken Dokumentation QuickHMI-Schnittstelle für Oracle Datenbanken Version 2.0 D-28359 Bremen info@indi-systems.de Tel + 49 421-989703-30 Fax + 49 421-989703-39 Inhaltsverzeichnis Was ist die QuickHMI-Schnittstelle

Mehr

Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement

Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement Funktion definieren Gibt Summe der Gehälter zurück Aufruf in einem SQL-Statement Dr. Christian Senger Einführung PL/SQL 1 Procedures & Transaktionen CREATE OR REPLACE PROCEDURE write_log ( log_code IN

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

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

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

Oracle Datenbankprogrammierung mit PL/SQL Grundlagen

Oracle Datenbankprogrammierung mit PL/SQL Grundlagen Oracle Datenbankprogrammierung mit PL/SQL Grundlagen Seminarunterlage Version: 12.05 Version 12.05 vom 29. Januar 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt-

Mehr

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Ü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

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views in SQL. 2 Anlegen und Verwenden von Views 2 Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig

Mehr

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

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #5. SQL (Teil 3) Vorlesung #5 SQL (Teil 3) Fahrplan Besprechung der Übungsaufgaben Rekursion Rekursion in SQL-92 Rekursion in DBMS- Dialekten (Oracle und DB2) Views (Sichten) - gespeicherte Abfragen Gewährleistung der

Mehr

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

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

Mehr

XML in der Oracle Datenbank

XML in der Oracle Datenbank XML in der Oracle Datenbank Oracle XML DB Eine kurze Einführung Gruppe A Michaela Geierhos Galina Hinova Maximilian Schöfmann AGENDA Warum XML in einer Datenbank? Was bietet die Oracle XML DB? Unterschiedliche

Mehr

Views erzeugen. Datenbank - Objekte. Wozu braucht man Views? Was ist eine View?

Views erzeugen. Datenbank - Objekte. Wozu braucht man Views? Was ist eine View? Datenbank - Objekte Views erzeugen Objekt Tabelle View Sequence Index Synonym Objekt Beschreibung Basiseinheit zum Speichern; besteht aus Zeilen und Spalten; Logische Repräsentation; kann Teilmengen von

Mehr

SQL-Loader. Prof. Dr. Waldemar Rohde Dipl.-Ing. Jörg Höppner 05.05.2006 1

SQL-Loader. Prof. Dr. Waldemar Rohde Dipl.-Ing. Jörg Höppner 05.05.2006 1 SQL-Loader Prof. Dr. Waldemar Rohde Dipl.-Ing. Jörg Höppner 05.05.2006 1 Beschreibung Definition transferiert Daten aus einer oder mehreren externen Dateien in eine oder mehrere Tabellen einer Oracle-Datenbank.

Mehr

Kapitel 7: Referentielle Integrität

Kapitel 7: Referentielle Integrität Kapitel 7: Referentielle Integrität Im Allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen (IB) erfüllen. Integritätsbedingungen

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

Flashback Früher war alles besser Marion Mahr Daniel Schulz Flashback Früher war alles besser

Flashback Früher war alles besser Marion Mahr Daniel Schulz Flashback Früher war alles besser Flashback Früher war alles besser Marion Mahr Senior Consultant Daniel Schulz Solution Architect OPITZ CONSULTING GmbH München, 14.09.2012 OPITZ CONSULTING GmbH 2012 Seite 1 Mission Wir entwickeln gemeinsam

Mehr

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

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

Mehr

Dokumentation zur Anlage eines JDBC Senders

Dokumentation zur Anlage eines JDBC Senders Dokumentation zur Anlage eines JDBC Senders Mithilfe des JDBC Senders ist es möglich auf eine Datenbank zuzugreifen und mit reiner Query Datensätze auszulesen. Diese können anschließend beispielsweise

Mehr

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme Handout zur Unit Web-Technologien SQL 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme Raum: 17-0.10 Tel.: 0451 300 5549 Email: nane.kratzke@fh-luebeck.de (Praktische

Mehr

select DISTINCT Name, ort From Verkauf; selektiert Name und Ort von Tabelle Verkauf - DISTINCT steht dass keine Zeile mehrfach vorkommt

select DISTINCT Name, ort From Verkauf; selektiert Name und Ort von Tabelle Verkauf - DISTINCT steht dass keine Zeile mehrfach vorkommt Some SQL Queries % you can use them with the project Buch/Verlag select Name, ort From Verkauf; selektiert Name und Ort von Tabelle Verkauf select DISTINCT Name, ort From Verkauf; selektiert Name und Ort

Mehr

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

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

Mehr

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

4. Datenbanksprache SQL

4. Datenbanksprache SQL 4. Datenbanksprache SQL Standard-Sprache für das Arbeiten mit relationalen Datenbanken: Structured Query Language Datendefinition: Anlegen, Ändern und Löschen von Datenbankstrukturen Datenmanipulation:

Mehr

SQL Server 2016: Temporal Tables

SQL Server 2016: Temporal Tables SQL Server 2016: Temporal Tables Uwe Ricken Agenda Definition einer System Versioned Temporal Table System Versioned Temporal Tables in SQL Server 2016 Umbenennen von Objekten / Attributen, wenn Temporal

Mehr

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

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

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

Grundlagen der Informatik III ERM-Modell Thema: Grundlagen der Datenbanken

Grundlagen der Informatik III ERM-Modell Thema: Grundlagen der Datenbanken Hochschule Harz FB Automatisierung und Informatik Versuch: Grundlagen der Informatik III ERM-Modell Thema: Grundlagen der Datenbanken Versuchsziele Vertiefung in der ERM-Modellierung. Benutzen eines Designers.

Mehr

Aufgabenstellung. Bekannte Lösungsansätze. Die Idee. Native Informix Architektur

Aufgabenstellung. Bekannte Lösungsansätze. Die Idee. Native Informix Architektur Herbert Birkenbach 28.03.2000 CSS Open Database Architecture CSS Open Database Architecture Die Firma CSS GmbH erstellt und vertreibt kaufmännische Standard-Software. Die Entwicklung basierte datenbankseitig

Mehr

Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs])

Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs]) Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs]) Hochschule für Technik, Wirtschaft und Kultur Leipzig 06.06.2008 Datenbanken II,Speicherung und Verarbeitung großer Objekte

Mehr

DOAG München 2011. Die etwas anderen Oracle Performance-Tipps. Marco Patzwahl

DOAG München 2011. Die etwas anderen Oracle Performance-Tipps. Marco Patzwahl DOAG München 2011 Die etwas anderen Oracle Performance-Tipps Marco Patzwahl MuniQSoft GmbH Gegründet 1998 Tätigkeitsbereiche: Oracle Support (Mo-Fr 7.00 22.00, Sa+So ab Mai 2011) Oracle IT Consulting &

Mehr

5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten

5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten 5. SQL: Erstellen von Tabellen Erzeugen und Löschen von Tabellen Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten 106 SQL Structured Query Language Historie: Anfänge ca. 1974 als SEQUEL

Mehr

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel 4.14.3 Bedingungen über Werte 4.14.4 Statische Integrität Zu jeder Tabelle werden typischerweise ein Primärschlüssel und möglicherweise weitere Schlüssel festgelegt (UNIQUE-Klausel). In jeder Instanz zu

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

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198

Bibliografische 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

Mehr

Einstellungen zur Verwendung von Flashback-Abfragen

Einstellungen zur Verwendung von Flashback-Abfragen Thema Autor REISE IN DIE VERGANGENHEIT Kamel Bouzenad (kamel.bouzenad@trivadis.com) Art der Info Infos für Entwickler und DBAs (April 2002) Quelle Oracle-Dokumentation sowie beratende Aktivitäten Überblick

Mehr

S W I S S O R A C L E U S E R G R O U P. N e w s l e t t e r 2 / 2 0 1 1 A p r i l 2 0 1 1. Oracle 11g

S W I S S O R A C L E U S E R G R O U P. N e w s l e t t e r 2 / 2 0 1 1 A p r i l 2 0 1 1. Oracle 11g S W I S S O R A C L E U S E R G R O U P www.soug.ch N e w s l e t t e r 2 / 2 0 1 1 A p r i l 2 0 1 1 Edition Based Redefinition Erfolgreicher Datenschutz Hybrid Columnar Compression Archive Log Maintenance

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

ORA.LogMiner. Nach Bestelleingang erhalten Sie eine Rechnung mit ausgewiesener Mehrwertsteuer und Informationen über die Zahlungsweise.

ORA.LogMiner. Nach Bestelleingang erhalten Sie eine Rechnung mit ausgewiesener Mehrwertsteuer und Informationen über die Zahlungsweise. ORA.LogMiner ORA.LogMiner kann die Inhalte von archivierten Redo-Log-Files im Klartext darstellen. Jedes gegen die Oracle-Datenbank abgesetzte SQL ob Insert, Delete, Update oder DDL wir als wieder verwendbares

Mehr

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,

Mehr

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Schlagworte Autor: Klaus Friemelt, MT AG dynamisches BULK SQL, VARCHAR2-indizierte PL/SQL-Tabellen Einleitung Mit den letzten

Mehr

Änderungen erkennen Schneller handeln Stefan Panek. Senior Consultant Christoph Jansen. Consultant 23.10.2008

Änderungen erkennen Schneller handeln Stefan Panek. Senior Consultant Christoph Jansen. Consultant 23.10.2008 Änderungen erkennen Schneller handeln Stefan Panek. Senior Consultant Christoph Jansen. Consultant 23.10.2008 Seit der Datenbankversion 9i bietet Oracle das Feature Change Data Capture an. Aber was genau

Mehr

DB2 SQL, der Systemkatalog & Aktive Datenbanken

DB2 SQL, der Systemkatalog & Aktive Datenbanken DB2 SQL, der Systemkatalog & Aktive Datenbanken Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Auf DB2 Datenbanken zugreifen DB2 Datenbanken benutzen Abfragen ausführen Den Systemkatalog

Mehr

UEB. Übungen zum Seminar 4053

UEB. Übungen zum Seminar 4053 Übungen zum Seminar 4053 1.1 Aufgaben zu Kapitel 1... 2 1.2 Aufgaben zu Kapitel 2... 3 1.3 Aufgaben zu Kapitel 3... 6 1.4 Aufgaben zu Kapitel 4... 8 1.5 Aufgaben zu Kapitel 5... 9 1.6 Aufgaben zu Kapitel

Mehr

Art der Info: Technische Background Info Teil 1 (April 2002)

Art der Info: Technische Background Info Teil 1 (April 2002) Betrifft: Autor: Oracle 9i New Features SQL und PL/SQL Christine Hansen (christine.hansen@trivadis.com) Art der Info: Technische Background Info Teil 1 (April 2002) Quelle: Aus dem NF9i-Kurs und NF9i-Techno-Circle

Mehr

XML - Extensible Markup Language. Agenda - Oracle XML DB

XML - Extensible Markup Language. Agenda - Oracle XML DB Architektur und Funktionalitäten der Oracle XML DB - ein Überblick mit ausgewählten praktischen Beispielen - im Rahmen des 17. Workshop Grundlagen von Datenbanken 2005 in Wörlitz Annegret Warnecke Senior

Mehr

Multi-temporale Datenbank Features in Oracle 12c Philipp Salvisberg

Multi-temporale Datenbank Features in Oracle 12c Philipp Salvisberg Multi-temporale Datenbank Features in Oracle 12c Philipp Salvisberg Senior Principal Consultant November 2013 Oracle 12c hat ein neues Feature namens "Temporal Validity". Mit Temporal Validity können eine

Mehr

SQL-Anweisungen. SELECT (SQL Data Query Language)

SQL-Anweisungen. SELECT (SQL Data Query Language) SQL-Anweisungen SELECT (SQL Data Query Language) SELECT * SELECT * FROM "meine Tabelle"; SELECT feldname1, feldname2 SELECT feldname1, feldname2 FROM meinetabelle ORDER BY feldname2, feldname1 DESC; WHERE

Mehr

Marcus Throll, Oliver Bartosch. Einstieg in SQL. Verstehen, einsetzen, nachschlagen. Galileo Press

Marcus Throll, Oliver Bartosch. Einstieg in SQL. Verstehen, einsetzen, nachschlagen. Galileo Press Marcus Throll, Oliver Bartosch Einstieg in SQL Verstehen, einsetzen, nachschlagen Galileo Press Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT

Mehr

A Datenbanken. A.1 Firebird. A.1.1 Installation des Servers. A.1.2 Installation der Beispieldatenbanken. Datenbanken 1

A Datenbanken. A.1 Firebird. A.1.1 Installation des Servers. A.1.2 Installation der Beispieldatenbanken. Datenbanken 1 Datenbanken 1 A Datenbanken A.1 Firebird Firebird ist als Datenbank konzipiert, die hauptsächlich in andere Anwendungsprogramme integriert wird. Die hier verwendete Oberfläche ist also eher untypisch für

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

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:

Mehr

Parallele Programmierung in SQL und PL/SQL. Peter Bekiesch Dierk Lenz DOAG 2011 Konferenz und Ausstellung 17. November 2011

Parallele Programmierung in SQL und PL/SQL. Peter Bekiesch Dierk Lenz DOAG 2011 Konferenz und Ausstellung 17. November 2011 Parallele Programmierung in SQL und PL/SQL Peter Bekiesch Dierk Lenz DOAG 2011 Konferenz und Ausstellung 17. November 2011 Herrmann & Lenz Services GmbH Herrmann & Lenz Solutions GmbH Erfolgreich seit

Mehr

CARL HANSER VERLAG. Christopher Allen. Oracle PL/SQL für Einsteiger Der Einsatz von SQL und PL/SQL in der Oracle-Datenbank 3-446-21801-7

CARL HANSER VERLAG. Christopher Allen. Oracle PL/SQL für Einsteiger Der Einsatz von SQL und PL/SQL in der Oracle-Datenbank 3-446-21801-7 CARL HANSER VERLAG Christopher Allen Oracle PL/SQL für Einsteiger Der Einsatz von SQL und PL/SQL in der Oracle-Datenbank 3-446-21801-7 www.hanser.de Inhaltsverzeichnis Danksagung...XI Einleitung...XIII

Mehr

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.

Java 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

Mehr

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten. Lehrstuhl für Datenbanken und Informationssysteme Wintersemester 1999/2000 Universität Augsburg, Institut für Informatik 25. Februar 2000 Prof. Dr. Werner Kießling A. Leubner, M. Wagner Datenbanksysteme

Mehr

Oracle Flashback DOAG K onferenz Nürnberg 2009 Marco P atzwahl Patzwahl

Oracle Flashback DOAG K onferenz Nürnberg 2009 Marco P atzwahl Patzwahl Oracle Flashback DOAG Konferenz Nürnberg 2009 Marco Patzwahl MuniQSoft GmbH Gegründet 1998 Tätigkeitsbereiche: Oracle IT Consulting & Services Oracle Schulungen (SQL, PL/SQL, DBA, APEX, B&R, ) Software-Lösungen

Mehr

Geschäftslogik in die Datenbank Umstellung eines Kernbanksystems

Geschäftslogik in die Datenbank Umstellung eines Kernbanksystems Geschäftslogik in die Datenbank Umstellung eines Kernbanksystems Michael Meyer Berenberg Bank Hamburg Schlüsselworte: PL/SQL, Objektorientierung, Oracle Types, XML, Zentralisierung der Geschäftslogik,

Mehr

Dipl.-Hdl., Dipl.-Kfm. ACCESS 2007

Dipl.-Hdl., Dipl.-Kfm. ACCESS 2007 Dipl.-Hdl., Dipl.-Kfm. Werner Geers Arbeiten mit ACCESS 2007 Datenbanken mit Datenmodellierung Tabellen, Abfragen, Formularen und Berichten Beziehungen Makros Datenaustausch SQL Structured Query Language

Mehr

www.informatik-aktuell.de

www.informatik-aktuell.de www.informatik-aktuell.de Flashback Reise in die Vergangenheit einfach. gut. beraten. Warum Oracle Zeitreisen anbieten kann, der Microsoft SQL Server aber leider nicht. IT-Tage Datenbanken 18.12.2015,

Mehr

Oracle 10g Flashback. Andrea Held Business Management Systeme Deutsche Post ITSolutions. Deutsche Post ITSolutions GmbH

Oracle 10g Flashback. Andrea Held Business Management Systeme Deutsche Post ITSolutions. Deutsche Post ITSolutions GmbH Oracle 10g Flashback Andrea Held Business Management Systeme Deutsche Post ITSolutions Deutsche Post ITSolutions GmbH Agenda Flashback Technologien Architektur Anwendung Probleme Bewertung: Möglichkeiten

Mehr

Oracle Database 11g: Professioneller Einstieg in SQL Release 2 (Deutsch)

Oracle Database 11g: Professioneller Einstieg in SQL Release 2 (Deutsch) Oracle University Kontakt: 0180-2000-526 / +49 89-14301200 Oracle Database 11g: Professioneller Einstieg in SQL Release 2 (Deutsch) Dauer: 5 Tage Lerninhalte Die Teilnehmer lernen die relationalen Datenbankkonzepte

Mehr

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

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

Mehr

Automatisierte Datenmigration mit dynamischen SQL

Automatisierte Datenmigration mit dynamischen SQL Automatisierte Datenmigration mit dynamischen SQL Rolf Wesp Consultant Rolf.Wesp@trivadis.com Düsseldorf, 27. Oktober 2009 Baden Basel Bern Brugg Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br.

Mehr

Cassandra Query Language (CQL)

Cassandra Query Language (CQL) Cassandra Query Language (CQL) Seminar: NoSQL Wintersemester 2013/2014 Cassandra Zwischenpräsentation 1 Gliederung Basic facts Datentypen DDL/DML ähnlich zu SQL Besonderheiten Basic facts CQL kurz für

Mehr

7. Serienbriefe erstellen Das Prinzip des Seriendrucks MICROSOFT WORD Elemente des Seriendrucks

7. Serienbriefe erstellen Das Prinzip des Seriendrucks MICROSOFT WORD Elemente des Seriendrucks 7. Serienbriefe erstellen 7.1. Das Prinzip des Seriendrucks Elemente des Seriendrucks Zur Erstellung eines Serienbriefs sind zwei Elemente notwendig: Hauptdokument mit gleichbleibendem Text und den sog.

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

Java Database Connectivity-API (JDBC)

Java Database Connectivity-API (JDBC) Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist herstellerabhängig

Mehr

Übung 1: Ein Website News-System mit MySQL

Übung 1: Ein Website News-System mit MySQL Übung 1: Ein Website News-System mit MySQL In der Vorübung haben wir bereits mit Hilfe eines ERMs den Datenbankentwurf erstellt und daraus die folgenden Tabellen abgeleitet: Nun muss diese Datenbank in

Mehr

Fortgeschrittene SQL-Techniken für APEX-Formulare und Reports

Fortgeschrittene SQL-Techniken für APEX-Formulare und Reports Fortgeschrittene SQL-Techniken für APEX-Formulare und Reports Andreas Wismann WHEN OTHERS Beratung Projektmanagement Coaching rund um Oracle Application Express rund um Application Express Beratung Projektmanagement

Mehr

Multimedia im Netz Wintersemester 2013/14. Übung 03 (Nebenfach)

Multimedia im Netz Wintersemester 2013/14. Übung 03 (Nebenfach) Multimedia im Netz Wintersemester 2013/14 Übung 03 (Nebenfach) Ludwig-Maximilians-Universität München Multimedia im Netz WS 2013/14 - Übung 3-1 Datenbanken und SQL Mit Hilfe von Datenbanken kann man Daten

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale

Mehr

SQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP

SQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP SQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP W. Spiegel Übersicht DDL & DML Relationen definieren: CREATE Primärschlüssel setzen mit primary key Tabellen löschen: DROP Daten speichern: INSERT Daten

Mehr

SCHULSPEZIFISCHEN ROLLENRECHTE

SCHULSPEZIFISCHEN ROLLENRECHTE Bei BASISDATEN > ADMINISTRATION organisieren Sie, wer SOKRATES an Ihrer Schule mit welchen Rechten nutzen kann. Außerdem können unter ADMINISTRATION mit SOKRATES intern Texte an andere Schulen geschickt

Mehr

Regionaltreffen Rhein Main 26. März 2007

Regionaltreffen Rhein Main 26. März 2007 Regionaltreffen Rhein Main 26. März 2007 SWE Jens Fudickar / OraTool pro Softwareentwicklung Jens Fudickar ist ein kleines Softwarehaus, dessen Hauptprodukt das OraTool ist. Darüber hinaus sind wir in

Mehr

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert. Betrifft Autor FIRST, LAST Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem NF9i-Kurs, NF9i-Techno-Circle der Trivadis und Oracle9i Data Warehousing

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

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs Datenbanken SQL Insert, Update, Delete, Drop Krebs Inhalt 1. Datensätze einfügen: INSERT 2. Datensätze verändern: UPDATE 3. Datensätze löschen: DROP vs. DELETE Beispiel Datenbank Schule Klasse P_Klasse

Mehr

Inhaltsverzeichnis. jetzt lerne ich

Inhaltsverzeichnis. jetzt lerne ich Inhaltsverzeichnis jetzt lerne ich Einführung 15 1 Erste Schritte 21 1.1 Datenbanken und Datenbank-Managementsysteme 21 1.2 Zugriff auf Datenbanken 22 1.3 Was der Großvater noch wusste... 22 1.4 Einordnung

Mehr

10. Datenbank Design 1

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

Mehr

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

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

Mehr

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

Art der Info: Technische Background Info Teil 2 (April 2002)

Art der Info: Technische Background Info Teil 2 (April 2002) Betrifft: Autor: Oracle 9i New Features SQL und PL/SQL Christine Hansen (christine.hansen@trivadis.com) Art der Info: Technische Background Info Teil 2 (April 2002) Quelle: Aus dem NF9i-Kurs und NF9i-Techno-Circle

Mehr

Kuriositäten in der Oracle-Datenbank

Kuriositäten in der Oracle-Datenbank Kuriositäten in der Oracle-Datenbank 19. Deutsche ORACLE-Anwenderkonferenz Do. 16.11., 14.00 Uhr, Variohalle 1 Dr. Peter Alteheld, Systemberater MT AG, Bereich Solutions Development, FB Plattform Services

Mehr

3.17 Zugriffskontrolle

3.17 Zugriffskontrolle 3. Der SQL-Standard 3.17. Zugriffskontrolle Seite 1 3.17 Zugriffskontrolle Datenbanken enthalten häufig vertrauliche Informationen, die nicht jedem Anwender zur Verfügung stehen dürfen. Außerdem wird man

Mehr

Dirk Nachbar (dirk.nachbar@trivadis.com)

Dirk Nachbar (dirk.nachbar@trivadis.com) Betrifft: Autor: Art der Info: Quelle: XSQL Servlet und FOP Dirk Nachbar (dirk.nachbar@trivadis.com) Technische Background Info Aus unserer Projekt- und Schulungserfahrung http://xml.apache.org/fop, http://www.xml.com,

Mehr

Einleitung. ROLLUP, CUBE und GROUPING. Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002)

Einleitung. ROLLUP, CUBE und GROUPING. Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Betrifft Autör: GROUPING_ID Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem Oracle9i Data Warehousing Guide und den Kursen New Features Oracle9i

Mehr

Erweiterung der Selektionen

Erweiterung der Selektionen Erweiterung der Selektionen 1. Freie Sortierungsdefinition mit bis zu drei Feldern für Selektionen 2. Freie 50 Artikel- und Adresselektionen 3. Selektionsfelder gruppieren 4. Erweiterte Feldtypen für Selektionsfelder

Mehr

5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85

5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85 Projekte per DOM bearbeiten KAPITEL 5 5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85 Bisher haben wir uns angesehen, wie List & Label mit Ihren Daten bekannt gemacht werden kann und

Mehr

Access 2000 und MS SQL Server im Teamwork

Access 2000 und MS SQL Server im Teamwork Access 2000 und MS SQL Server im Teamwork von Irene Bauder, Jürgen Bär 1. Auflage Hanser München 2000 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 21473 6 Zu Inhaltsverzeichnis schnell und

Mehr

Access 2010. für Windows. Andrea Weikert 1. Ausgabe, 4. Aktualisierung, Juni 2012. Grundlagen für Anwender

Access 2010. für Windows. Andrea Weikert 1. Ausgabe, 4. Aktualisierung, Juni 2012. Grundlagen für Anwender Andrea Weikert 1. Ausgabe, 4. Aktualisierung, Juni 2012 Access 2010 für Windows Grundlagen für Anwender ACC2010 2 Access 2010 - Grundlagen für Anwender 2 Mit Datenbanken arbeiten In diesem Kapitel erfahren

Mehr

APEX 5.0 DOAG Mai 2014

APEX 5.0 DOAG Mai 2014 APEX 5.0 DOAG Mai 2014 APEX 5.0 16 Jahre MuniQSoft GmbH Tätigkeitsbereiche: Oracle Support Hotline: Mo-Fr 8.00 18.00 Uhr Erweiterung um Rufbereitschaft auch am Wochenende möglich Oracle IT-Consulting &

Mehr

DBSP. Vorlesung. Prof. Dr. rer. nat. Nane Kratzke. Unit. Praktische Informatik und betriebliche Informationssysteme

DBSP. Vorlesung. Prof. Dr. rer. nat. Nane Kratzke. Unit. Praktische Informatik und betriebliche Informationssysteme Handout zur Vorlesung Vorlesung DBSP Unit Datenbanken SQL 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme Raum: 17-0.10 Tel.: 0451 300 5549 Email: kratzke@fh-luebeck.de

Mehr

Der Neue Weg zur Verschlüsselung von Datenbankinhalten

Der Neue Weg zur Verschlüsselung von Datenbankinhalten Der Neue Weg zur Verschlüsselung von Datenbankinhalten Da Häufigkeit und Schwere von Datendiebstahl zunehmen, ist es immens wichtig, dass Unternehmen vertrauliche und sensible Daten zusätzlich durch Verschlüsselung

Mehr