Geschäftslogik in die Datenbank Umstellung eines Kernbanksystems
|
|
- Frida Schenck
- vor 5 Jahren
- Abrufe
Transkript
1 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, komponentenbasierte Programmierung Einleitung Im Rahmen eines mehrjährigen Projektes wird ein komplettes Kernbankapplikation von einer cobolbasierten Lösung auf PL/SQL ungestellt. Die gesamte Geschäftslogik wird unmittelbar in der Datenbank abgebildet. Es entstanden/entstehen viele zentrale Komponenten, die einmal entwickelt werden und in vielen Sachgebieten Anwendung finden. Hierbei kommen diverse Oracle Techniken zu Einsatz (Oracle Types, Streams, XML). Gezeigt werden Beispiele, wie diese Techniken in der Praxis angewendet werden, wo sie sinnvoll nutzbar sind und wo nicht. Nach einer Vorstellung der Grundideen des Systems, wird die Umsetzung an Best Practice-Fällen erläutert. Abschließend wird kurz auf die Problematik der Bereitstellung von Entwicklungs- und Testdatenbanken bzgl. Datenanonymisierung eingegangen. Geschäftslogik in der Datenbank Häufig werden Datenbanken als reiner Ablage- oder Speicherort benutzt. Datenbanken stellen dem Entwickler heutzutage aber deutlich mehr Funktionalität zur Verfügung. In SQL/PLSQL können komplexe Logiken direkt in der Datenbank programmiert werden. Daten müssen damit nicht von einem anderen Layer (Tier) geladen, dort verarbeitet und dann wieder zurück geschrieben werden. Alles kann in unmittelbarer Nähe der Daten stattfinden. Weiterhin bietet die Datenbank zahlreiche Packages, die Basisfunktionalitäten bereitstellen (Mailversand, Dateihandling,...).
2 Abb. 1: Die Datenbank als Zentrale für Daten und Geschäftslogik Objektorientierte Entwicklung Oracle Types Oracle Types stellen Aspekte der objektorientierten Programmierung in PLSQL bereit. Sie verfügen über Attribute und Methoden und können in Tabellen persisiert werden. Es existiert ein Vererbungsmechanismus und Methoden können polymorph sein. Wir setzen einen Codegenerator ein, der pro Tabelle aus den Metadaten einen Oracle Type erzeugt. Für eine einfache Domaintabelle entsteht z. B. folgender Code (hier nur der Typeheader): CREATE OR REPLACE TYPE ROW_DH_MAKLER UNDER GLOBAL.TYPE_OBJECT ( -- object oriented ROWTYPE for DH_MAKLER table -- $Revision: $ -- attributes DH_MAKLER_ID NUMBER(12), SCHLUESSEL VARCHAR2(10), BESCHREIBUNG VARCHAR2(4000), ERSTELLT_ID NUMBER(12), ERSTELLT_ZST DATE, GEAENDERT_ID NUMBER(12), GEAENDERT_ZST DATE, GEAENDERT_ZAEHLER NUMBER(12), GELOESCHT_ZST DATE
3 -- define constructors, CONSTRUCTOR FUNCTION ROW_DH_MAKLER, CONSTRUCTOR FUNCTION ROW_DH_MAKLER(DH_MAKLER_ID NUMBER, SCHLUESSEL VARCHAR2, BESCHREIBUNG VARCHAR2, ERSTELLT_ID NUMBER, ERSTELLT_ZST DATE, GEAENDERT_ID NUMBER, GEAENDERT_ZST DATE, GEAENDERT_ZAEHLER NUMBER, GELOESCHT_ZST DATE), CONSTRUCTOR FUNCTION ROW_DH_MAKLER(IN_DH_MAKLER_ID NUMBER), CONSTRUCTOR FUNCTION ROW_DH_MAKLER(IN_SCHLUESSEL VARCHAR2, IN_GELOESCHT_ZST DATE), CONSTRUCTOR FUNCTION ROW_DH_MAKLER(IN_SCHLUESSEL VARCHAR2) -- define member functions, MEMBER FUNCTION ROW_EXISTS(IN_DH_MAKLER_ID NUMBER) RETURN BOOLEAN, MEMBER FUNCTION ROW_EXISTS(IN_SCHLUESSEL VARCHAR2, IN_GELOESCHT_ZST DATE) RETURN BOOLEAN, MEMBER FUNCTION ROW_EXISTS(IN_SCHLUESSEL VARCHAR2) RETURN BOOLEAN, OVERRIDING MEMBER FUNCTION compare(in_type1 GLOBAL.TYPE_OBJECT,in_type2 GLOBAL.TYPE_OBJECT) RETURN INTEGER -- define member procedures, MEMBER PROCEDURE ROW_INSERT, MEMBER PROCEDURE ROW_UPDATE, MEMBER PROCEDURE ROW_MERGE, MEMBER PROCEDURE ROW_SAVE, MEMBER PROCEDURE ROW_DELETE, MEMBER PROCEDURE ROW_SELECT(IN_DH_MAKLER_ID NUMBER), MEMBER PROCEDURE ROW_SELECT(IN_SCHLUESSEL VARCHAR2, IN_GELOESCHT_ZST DATE), MEMBER PROCEDURE ROW_SELECT(IN_SCHLUESSEL VARCHAR2), MEMBER PROCEDURE ROW_DEFAULT, MEMBER PROCEDURE ROW_LOCK, MEMBER PROCEDURE ROW_LOCK(IN_DH_MAKLER_ID NUMBER), MEMBER PROCEDURE ROW_LOCK(IN_SCHLUESSEL VARCHAR2, IN_GELOESCHT_ZST DATE), MEMBER PROCEDURE ROW_LOCK(IN_SCHLUESSEL VARCHAR2) ) NOT FINAL Der ROW-Type wird bereits von einem allgemeinen Type (GLOBAL.TYPE_OBJECT) abgeleitet, der Standardroutinen z. B. zur Ausgabe oder zum Vergleich eines Objektes definiert. Direkte DML- Befehle im PLSQL-Programmcode werden mit der Verfügbarkeit solcher ROW-Types in den meisten Fällen überflüssig. Die Änderung eines Attributes wird mit folgendem Code erledigt: declare r_dh bbs.row_dh_makler; r_dh := bbs.row_dh_makler(1); r_dh.beschreibung := 'geänderte Beschreibung'; r_dh.row_save();
4 Businesstypes nutzen typischerweise diverse ROW-Types und andere Businesstypes und stellen darüber komplexe Geschäftslogik bereit. So verbindet der TYPE_KUNDE alle Depots und Konten eines Kunden: CREATE OR REPLACE TYPE TYPE_KUNDE UNDER BBS.ROW_KUNDE ( -- %Version $Revision: $ -- attributes DEPOT BBS.TABLE_DEPOT, KONTEN_BBS BBS.TABLE_KONTO_BBS, -- define constructors, CONSTRUCTOR FUNCTION TYPE_KUNDE, CONSTRUCTOR FUNCTION TYPE_KUNDE(IN_STAMMNR VARCHAR2) -- define member procedures, MEMBER FUNCTION is_bank RETURN BOOLEAN ) NOT FINAL Der hier enthalte Type BBS.TABLE_KONTO_BBS enthält wiederum Types für die Darstellung der Konditionen und Gebühren: CREATE OR REPLACE TYPE TYPE_KONTO_BBS UNDER BBS.ROW_KONTO_BBS ( -- %Version $Revision: $ t_konditionen BBS.TYPE_KONTO_BBS_KONDITIONEN, tab_gebuehrbetrag BBS.TABLE_GEBUEHRBETRAG, -- Constructor CONSTRUCTOR FUNCTION TYPE_KONTO_BBS(IN_KONTO_BBS_ID IN NUMBER), CONSTRUCTOR FUNCTION type_konto_bbs(in_kontonummer IN VARCHAR2), ) NOT FINAL Wird z. B. die Rechtsform eines Kunden geändert, erfolgt dies im Prinzip über den folgenden Code: declare t_kunde bbs.type_kunde; t_kunde := bbs.type_kunde(' '); t_kunde.rechtsformid := 52; t_kunde.row_save(); Der bei Nutzung der Types entstehende Programmcode ist u. E. leichter les- und wartbar als traditionelle DML-Anweisungen. Geeignet ist diese Vorgehen für eher einzelsatzorientierte Programme Massendatenupdates sollten über normale DML-Anweisungen erfolgen. Nachteilig bei dem Verfahren ist, dass bei UPDATEs immer alle Spalten einer Zeile aktualisiert werden.
5 Data-Masking für Entwicklungsdatenbanken Für Entwicklungs- und Testzwecke müssen realistische Datenkonstellationen und -mengen zur Verfügung stehen, so dass man schnell auf die Idee kommt, dafür Kopien der Produktionsdatenbank zu nutzen. Diese enthalten aber schützenswerte Daten (Kundennamen, Adressen, Umsatzdaten), die für einen Entwickler nicht zugänglich sein dürfen. Das Oracle-Data-Masking-Pack (Option!) erzeugt PLSQL-Code für eine solche Anonymisierung (Masking genannt). Dafür werden die sensitiven Tabellenspalten identifiziert und deren Inhalte dann während eines Maskierungslaufes anonymisiert. Es stehen diverse Anonymisierungsalgorithmen bereit (Zufallswerte, Shuffle, Substring, User Defined Function,...). Die referenzielle Integrität der Daten bleibt erhalten. Nach anfänglichen Problemen läuft das Data-Masking bei uns inzwischen recht problemlos. Die Laufzeit für etwa 60 Tabellen mit ca. 250 anonymisierten Spalten beträgt etwa 2 Stunden. Sichtbarkeiten mit Virtual Private Database (Column-Level-Security) Teilweise ist es erforderlich, dass Entwickler lesenden Zugriff auf Produktionsdatenbanken erhalten, um Fehlersituationen analysieren zu können. Hier kann das Column-Level-Security -Feature der VPD helfen. Dabei werden alle Zeilen einer Tabelle gezeigt, aber es werden statt der echten Inhalte der zu schützenden Spalten NULL-Werte angezeigt. In aller Regel sind die schützenswerten Spalten einer Tabelle für die Analyse von Fehlersituationen nicht wichtig. Zur Aktivierung der Column-Level-Security sind zunächst wiederum die sensitiven Tabellenspalten zu identifizieren und für diese dann eine Policy anzulegen: DBMS_RLS.ADD_POLICY (object_schema=>'bbs', object_name=>'kunde', policy_name=>'bbs_kunde', function_schema=>'bv', policy_function=>'pa_vpd_reader.fu_policy', sec_relevant_cols=>'vorname,nachname', sec_relevant_cols_opt=>dbms_rls.all_rows); / Entfernen einer Policy: DBMS_RLS.DROP_POLICY ('BBS', 'KUNDE', 'BBS_KUNDE'); / In der Policyfunktion selbst wird für den festen Anmeldeuser (bei uns READER ), der die Problemanalyse durchführt, ein Wert, der zu FALSE evaluiert wird zurückgegeben. Alle anderen User erhalten hier ein TRUE, damit sie die Spalteninhalte weiterhin sehen können. FUNCTION fu_policy( obj_schema VARCHAR2, obj_name VARCHAR2 ) RETURN VARCHAR2 IS
6 BEGIN v_retval := '0=0'; IF USER = 'READER' THEN v_retval := '1=0'; END IF; RETURN v_retval; END; Ein: SELECT VORNAME, NACHNAME FROM KUNDE; liefert dann für den READER-User: Der Einsatz dieser Technik für etwa 60 Tabellen mit ca. 250 relevanten Spalten zeigt keine spürbaren Performancebeeinträchtigungen Kontaktadresse: Michael Meyer Berenberg Bank Joh. Berenberg, Gossler & Co. KG Neuer Jungfernstieg Hamburg Telefon: +49 (40) Telefax + 49 (40) Michael.Meyer@berenberg.de Internet.
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,
MehrOracle Data Masking in der Praxis
Oracle Data Masking in der Praxis Frank Hilgendorf Berenberg Hamburg Schlüsselworte Datenbanken, Data Masking, Testdatenmanagement, Anonymisierung, Enterprise Manager, Oracle Data Masking Pack, emcli Einleitung
MehrObjektorientierte PL/SQL- Programmierung
Objektorientierte PL/SQL- Programmierung Autoren: Andriy Terletskyy und Michael Meyer DOAGNews Q3_2004 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung,
MehrObjektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern
Thema Objektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern Referent: Frank Sanders Seite 1 Inhalt Der Vortrag hat einen sehr kurzen Einleitungsteil der sich mit Objektorientierung
Mehr<Insert Picture Here> Security-Basics. Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update. Carsten Czarski, ORACLE Deutschland B.V. Co.
Security-Basics Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update Carsten Czarski, ORACLE Deutschland B.V. Co. KG Themen Rechte, Rollen und PL/SQL: Grundsätzliches Invokers vs.
MehrObjektorientierung unter Oracle richtet sich einerseits nach objekt-orientierten Programmiersprachen wie Java,
Tipps & Tricks: Objektorientierung Bereich: PLSQL Erstellung: 032001 HA Versionsinfo: 9.2, 10.2, 11.1 Letzte Überarbeitung: 062009 HA Objektorientierung unter Oracle Objektorientierung unter Oracle richtet
MehrObjektorientierte PL/SQL-Programmierung für RDBMS
Willkommen Objektorientierte PL/SQL-Programmierung für RDBMS Andriy Terletskyy Berenberg Bank Neuer Jungfernstieg 20 20354 Hamburg Berenberg stellt sich vor MDV/EDV- Erfahrung Zeitraum Hardware Datenbank
MehrObjekt-relationales Datenbanksystem Oracle
Objekt-relationales Datenbanksystem Oracle 1 Benutzerdefinierte Datentypen 1.1 Unvollständige Typen create-incomplete-type OR 1.2 Kollektionstypen REPLACE TYPE type-name create-varray-type OR TYPE type-name
MehrOracle Virtual Private Database
Oracle Virtual Private Database Rolf Wesp Consultant Application Development Rolf.Wesp@trivadis.com Düsseldorf, September 2008 Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg
MehrHochschule Karlsruhe Technik und Wirtschaft Fakultät für Informatik und Wirtschaftsinformatik
1. Aufgabe (Normalisierung, 28 Punkte) Das Maklerbüro Foldur-Estate beschäftigt mehrere Makler, die jeweils unterschiedliche Mietwohnungen im Angebot haben. Jede Wohnung hat einen Vermieter, Vermieter
MehrBei Kaum noch wartbar -> shortcut badview. Bei Ausführungspläne kippen -> shortcut badviewplan
1 2 Bei Kaum noch wartbar -> shortcut badview Bei Ausführungspläne kippen -> shortcut badviewplan 3 4 Straight forward shortcuts: 0010 einfaches Object 0020 Verwendung 0030 mehr Attribute 0040 Verwendung
MehrProzedurale Datenbank- Anwendungsprogrammierung
Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.
MehrPowerful PL/SQL: Collections indizieren mit VARCHAR2-Indizes
Powerful PL/SQL: Collections indizieren mit VARCHAR2-Indizes Autor: Klaus Friemelt, MT AG DOAGNews Q1_2005 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der
MehrHochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.
Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.
MehrObjektorientierte PL/SQL-Programmierung
17.Deutsche ORACLE-Anwenderkonferenz Database Mittwoch, 10. November 2004 15h00, Variohalle 6 Objektorientierte PLSQL-Programmierung Andriy Terletskyy Berenberg Bank, Hamburg Schlüsselworte: Aufbau eines
MehrFunktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion
Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert
MehrGeschäftslogik in der Datenbank
Geschäftslogik in der Datenbank Umstellung eines Kernbanksystems Michael Meyer Lead Database Architect November 2010 DOAG-Konferenz 2010, Nürnberg Geschäftslogik in der Datenbank Umstellung eines Kernbanksystems
MehrGeschäftslogik in der Datenbank
Geschäftslogik in der Datenbank Architektur und Objektorientierte PL/SQL-Programmierung Andriy Terletskyy Lead Database Architect Hamburg, 17.06.2010 Geschäftslogik Geschäftslogik (engl. Business Logic,
MehrLogging und Debugging. Gerd Volberg OPITZ CONSULTING Deutschland GmbH
Logging und Debugging Gerd Volberg OPITZ CONSULTING Deutschland GmbH Bochum, 20. Februar 2014 OPITZ CONSULTING GmbH Seite 1 Agenda 1. Logging Datenmodell Tabellen Views 2. Debugging Debug-Package Funktionen
MehrObjektorientierte PL/SQL-Programmierung
Objektorientierte PLSQL-Programmierung Andriy Terletskyy Berenberg Bank Hamburg Schlüsselworte: Aufbau eines virtuellen ODBMS auf der Basis einer RDBMS, Objektorientierter ROWTYPE, Typehierarchie Zusammenfassung
MehrNeuerungen in Marco Patzwahl MuniQSoft GmbH Unterhaching
Neuerungen in 12.2 Marco Patzwahl MuniQSoft GmbH Unterhaching Schlüsselworte Neuerungen in 12.2, DBA Einleitung Jede neue Datenbankversion bringt diverse Neuerungen mit. Nur welche sind wichtig und welche
MehrÜbung PL/SQL Trigger Lösungen
Übung PL/SQL Trigger Lösungen 1) Gebe das aktuelle Datum aus. Wofür steht dual? Ändere das Datum für Deine aktuelle Session auf das Format Jahr (4 Stellen) Monat (2 Stellen) Tag (2 Stellen)[Leerzeichen]Stunde
MehrGrundlagen der Informatik
Grundlagen der Informatik Vorlesungsprüfung vom 13.06.2008 Gruppe B Lösung Name: Matrikelnummer: Zuerst bitte Name und Matrikelnummer auf das Titelblatt schreiben. Es sind keine Unterlagen und keine Teamarbeit
MehrEigene Funktionen innerhalb von pgsql
Eigene Funktionen innerhalb von pgsql Michael Dienert 25. November 2015 1 Warum noch eine Programmiersprache? SQL ist ein Standard, der von praktisch allen relationalen Datenbank-Servern als Abfragesprache
MehrDBMS_RLS Package Es besteht die Möglichkeit, auf Views oder Tables eine Funktion zu legen, die abhängig von bestimmten Faktoren
Tipps & Tricks: Row Level Security Bereich: DBA Erstellung: 092008 MP Versionsinfo: 10.1, 10.2, 11.1 Letzte Überarbeitung: 072009 MP Row Level Security DBMS_RLS Package Es besteht die Möglichkeit, auf
MehrUML/OCL für die Integritätssicherung in Datenbankanwendungen
UML/OCL für die Integritätssicherung in Datenbankanwendungen Zwischenbericht Diplom Inhalt des Vortrages Motivation der Arbeit Konzept für die Integritätssicherung Musterkatalog Å Probleme/Lösungen Tool-Gesamtkonzept
MehrData Masking in der Praxis Frank Hilgendorf, Berenberg
Data Masking in der Praxis Frank Hilgendorf, Berenberg Agenda Vorstellung Berenberg Was ist Data Masking? Oracle Data Masking Pack Data Masking bei Berenberg Fazit Berenberg At a Glance Berenberg wurde
MehrMandantenfähigkeit von Daten mit Oracle FGAC Axel Kraft
Mandantenfähigkeit von Daten mit Oracle FGAC Axel Kraft BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN STUTTGART WIEN ZÜRICH Unser Unternehmen. Trivadis
MehrDatenbanken 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
MehrDOAG 2015 Oracle Probleme & Lösungen
DOAG 2015 Oracle Probleme & Lösungen DOAG 2015 Oracle Probleme & Lösungen DOAG 2015 Oracle Probleme & Lösungen Stichwörter: STD; nicht möglich STD 2-4 Stichwörter: STD; nicht möglich STD 2-5 Stichwörter:
MehrStrukturierte Objekttypen
Strukturierte Objekttypen Der Typ t approxmatch row des letzten Beispiels ist ein sogenannter Objekttyp. Definition: Ein Objekttyp ist ein Datentyp, bei dem (u.u. verschiedene) bekannte Datentypen zu einem
MehrGruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis
Gruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENBANKSYSTEME VU 184.686 11. 3. 2014 Kennnr. Matrikelnr.
MehrPowerful 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
MehrHistorisierung und Versionierung
DOAG NRW-Regionaltreffen 7. Juli 2005, Aachen Historisierung und Versionierung für ein bestehendes Datenmodell ohne Änderung der Anwendung Martin Friemel, Martin Kubitza Enterprise Web AG, Duisburg fon
MehrKapitel 4 Dynamisches SQL
Kapitel 4 Dynamisches SQL Flien zum Datenbankpraktikum Wintersemester 2012/13 LMU München 2008 Thmas Bernecker, Tbias Emrich 2010 Tbias Emrich, Erich Schubert unter Verwendung der Flien des Datenbankpraktikums
MehrÜbersicht der wichtigsten MySQL-Befehle
Übersicht der wichtigsten MySQL-Befehle 1. Arbeiten mit Datenbanken 1.1 Datenbank anlegen Eine Datenbank kann man wie folgt erstellen. CREATE DATABASE db_namen; 1.2 Existierende Datenbanken anzeigen Mit
MehrOracle 12c: Neuerungen in PL/SQL. Roman Pyro DOAG 2014 Konferenz
Oracle 12c: Neuerungen in PL/SQL Roman Pyro DOAG 2014 Konferenz Herrmann & Lenz Services GmbH Herrmann & Lenz Solutions GmbH Erfolgreich seit 1996 am Markt Firmensitz: Burscheid (bei Leverkusen) Beratung,
MehrDatenbanken und Informationssysteme II
Fakultät für Informatik und Wirtschaftsinformatik WS 2011 Datenbanken und Informationssysteme II Szenario: Es soll eine Datenbank für eine Online Auktionsplattform entworfen werden. Das relationale Schema
MehrAsynchrone Replikation Projekt oder Produkt. Lukas Grützmacher (AIS Automation Dresden GmbH)
Asynchrone Replikation Projekt oder Produkt Lukas Grützmacher (AIS Automation Dresden GmbH) 16.11.2016 Über mich Lukas Grützmacher Jahrgang 1975 Studium der Informatik an der TU Dresden Dipl. Inf. im Jahr
MehrEntwicklungsumgebung für die Laborübung
Entwicklungsumgebung für die Laborübung VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Gliederung
MehrModerne Datenbankkonzepte
Verteilte Datenbanken Moderne Datenbankkonzepte Wünschenswert, aber extrem aufwändig ( Zweiphasen Commit) Objektrelationale Datenbanken Kompromiss zwischen relational und rein objektorientiert seit 1999
MehrMySQL-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
MehrPL/SQL-Code mit APEX generieren
PL/SQL-Code mit APEX generieren DOAG-Webinar am 13.06.2013 Andreas Wismann WHEN OTHERS Beratung Programmierung Coaching rund um Oracle Application Express wismann@when-others.com http://when-others.com
MehrKapitel 4 Dynamisches SQL
Kapitel 4 Dynamisches SQL Flien zum Datenbankpraktikum Wintersemester 2010/11 LMU München 2008 Thmas Bernecker, Tbias Emrich unter Verwendung der Flien des Datenbankpraktikums aus dem Wintersemester 2007/08
MehrAufbau eines dynamischen ETL Frameworks auf Basis eines PL/SQL Codegenerators
Aufbau eines dynamischen ETL Frameworks auf Basis eines PL/SQL Codegenerators München, 21. Nowember 2007 Nicola Marangoni & Jörg Westermayer Nicola.Marangoni@SHS-VIVEON.com Joerg.Westermayer@SHS-VIVEON.com
MehrMatrix Reports mit Apex
Matrix Reports mit Apex Thomas Hernando Gotthardt syntegris information solutions GmbH Neu-Isenburg Schlüsselworte: Matrix, Kreuztabellen, Reports, Apex, SQL, PL/SQL, Packages, JavaScript, HTML, Pivot-Klausel,
MehrPraktische SQL-Befehle 2
Praktische SQL-Befehle 2 Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Functions Views Triggers Voraussetzung: Laptop + MySQL/ MariaDB + Workbench! DB1 WS2018 2 Airport
MehrSQL (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
MehrOracle Database Vault Beispiele zur Benutzung
Oracle Database Vault Beispiele zur Benutzung Grundsätzliches: Beispiel für Trennung der Verantwortlichkeiten in unserer Umgebung: wichtige RollenAufgaben: DB-Benutzer Rolle Aufgabe SYS SYSDBA Verwalter
MehrObjektorientierung in Oracle
Seminarunterlage Version: 11.10 Version 11.10 vom 12. September 2013 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen
MehrProzedurale SQL-Erweiterungen
Prozedurale SQL-Erweiterungen Prozedurale SQL-Erweiterungen unterscheiden sich typischerweise durch die folgenden Punkte von dem Ansatz der Einbettung: Neue dedizierte Sprache mit direkter Integration
MehrMetadaten oder Metainformationen sind Daten, die Informationen über Merkmale anderer Daten enthalten, aber nicht diese Daten selbst (Wikipedia)
Metadaten oder Metainformationen sind Daten, die Informationen über Merkmale anderer Daten enthalten, aber nicht diese Daten selbst (Wikipedia) Dr. Christian Senger Metadaten 1 Vorgehen bei ER Modellierung
MehrObjektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein
Objektorientierung Klassen und Objekte Dr. Beatrice Amrhein Überblick Konzepte der Objektorientierten Programmierung Klassen und Objekte o Implementierung von Klassen o Verwendung von Objekten 2 Konzepte
MehrEffizienzsteigerung durch OO-Programmierung
Schlüsselworte Effizienzsteigerung durch OO-Programmierung Thomas Geisel SYMAX Business Software AG D-Wiesbaden PL/SQL, Objektorientierung, komplexe Abfragen, bessere Wartbarkeit, bessere Performance,
MehrFakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. XMLType. Christian Senger/Andreas Schmidt XMLType 1/32
XMLType Christian Senger/Andreas Schmidt XMLType 1/32 XMLType von Oracle vordefinierter Typ zur Speicherung von nativen XML-Dokumenten unterstützt verschiedene Speichermodelle für XML structured storage
MehrParallele 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
MehrWS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)
Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)
MehrExplizite Cursor. Cursor. Steuerung des expliziten Cursors. Explizite Cursor Funktionen
Explizite Jedes SQL Statement, das der Oracle Server ausführt, hat einen individuellen, der verbunden ist mit: Implizitem : Declariert für alle DML-Statements und PL/SQL SELECT Statements. Explizitem :
MehrXML in Oracle 12c. Wolfgang Nast
XML in Oracle 12c Wolfgang Nast Agenda Vorstellung der Möglichkeiten Klassisch XDB Beispiel XML Schema Umsetzung klassisch Umsetzung XDB Zusammenfassung 2 XML in Oracle 12c Im Überblick Technologie-orientiert
MehrOBJEKTORIENTIERTE ENTWICKLUNG IN DER DATENBANK. Anja Hildebrandt buw Unternehmensgruppe
OBJEKTORIENTIERTE ENTWICKLUNG IN DER DATENBANK Anja Hildebrandt buw Unternehmensgruppe Berlin, 26. April 2016 ÜBER MICH > 1998 2005 Informatik-Studium Otto-von-Guericke Universität Magdeburg > Seit 1999
Mehr4. Objektrelationales Typsystem Kollektionstypen. Nested Table
Nested Table Bei einer Nested Table handelt es sich um eine Tabelle als Attributwert. Im Gegensatz zu Varray gibt es keine Beschränkung bei der Größe. Definition erfolgt auf einem Basistyp, als Basistypen
MehrÜben von DDL und DML. Ergebnis:
SQL DDL Üben von DDL und DML https://www.jdoodle.com/execute-sql-online Ergebnis: Befehlsgruppen in SQL DDL Data Definition Language DML Data Manipulation Language CREATE: Tabellen anlegen DROP: Tabellen
MehrOracle Database 12c Was Sie immer schon über Indexe wissen wollten
Oracle Database 12c Was Sie immer schon über Indexe wissen wollten Marco Mischke, 08.09.2015 DOAG Regionaltreffen B* Indexe - Aufbau 0-Level Index A-F G-Z 1-Level Index A-F G-Z 2-Level Index A-F G-M N-Z
MehrDatenanonymisierung und darüber hinaus Miroslav Jakovljevic Libelle AG Stuttgart Schlüsselworte Datenanonymisierung. Datenmaskierung. Oracle & SAP.
Datenanonymisierung und darüber hinaus Miroslav Jakovljevic Libelle AG Stuttgart Schlüsselworte Datenanonymisierung. Datenmaskierung. Oracle & SAP. Einleitung Echtdaten zu anonymisieren und dabei realistische
MehrStrukturiertes Vorgehen zur Entwicklung von APEX-Anwendungen
Strukturiertes Vorgehen zur Entwicklung von APEX-Anwendungen Dr. Gudrun Pabst Trivadis GmbH München Schlüsselworte: APEX, Projekt, Vorgehensmodell Einleitung Mit APEX können Anwendungen auch ohne Konzeptphase
MehrWS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4)
Vorlesung #6 SQL (Teil 4) Fahrplan Besprechung der Übungsaufgaben Einschub: Self Joins (relevant fürs Praktikum) Dynamische Intergritätsbedingungen, das Trigger - Konzept von Oracle Prozedurale Erweiterungen,
MehrBerechnung von Kennzahlen mit der SQL Model Clause
Berechnung von Kennzahlen mit der Thomas Mauch 12.07.2018 DOAG BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN 1 AGENDA 1. Einführung 2. Syntax 3. Performance
MehrDATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER
DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.
MehrAufbau eines Verlaufsdatenmodells unter PL/SQL
Aufbau eines Verlaufsdatenmodells unter PL/SQL Dipl.-Math. Hans Pfeiffer debitel AG Niederlassung Elmshorn 20081020_TRISTAR-IT_PROGRAMM_LK 18_V11.PPT Agenda Verlaufsdatenmodell Anforderungen für den Aufbau
MehrIm Folgenden möchten wir Ihnen einige Beispiele aufzeigen, wie ALTER TABLE gemäß SQL92 verwendet wird:
ALTER TABLE BEFEHLE Im Folgenden möchten wir Ihnen einige Beispiele aufzeigen, wie ALTER TABLE gemäß SQL92 verwendet wird: Fügt die Spalte Adresse zur Tabelle Kunden hinzu: ALTER TABLE Kunden ADD COLUMN
MehrObjekt-Relationale (OR) Datenbanken
Objekt-Relationale (OR) Datenbanken Übersicht: Einführung: Objekt-relationale Erweiterungen von SQL (ORSQL) Objekte und Tabellen OR-Create, -Insert, -Update, -Select User-Defined Functions (UDFs) und Methoden
MehrAPEX - OUD - VPD. Steffi Geiser-Metz & Mathias Weber & Björn Hötschl & Markus Geis CAMPUS INNENSTADT
CAMPUS INNENSTADT APEX - OUD - VPD Steffi Geiser-Metz & Mathias Weber & Björn Hötschl & Markus Geis APEX-OUD-VPD > INM AGENDA Institut für Notfallmedizin und Medizinmanagement - INM Oracle Unified Directory
MehrAutomatisierung von Schritten in Geschäftsprozessen als Einstieg in SOA
Automatisierung von Schritten in Geschäftsprozessen als Einstieg in SOA Ein datengesteuerter E-Mail-Service Vorstellung Der Anstoß Der Geschäftsprozeß Das (Grob-)Konzept Agenda Datengesteuerter E-Mail-Service
MehrOracle und LDAP. Zugriff auf LDAP-Daten aus einer Oracle-DB. Martin Busik busik@wlp-systems.de
Oracle und LDAP Zugriff auf LDAP-Daten aus einer Oracle-DB Martin Busik busik@wlp-systems.de Lightweight Directory LDAP Access Protocol LDAP dc=de dc=wlp Systems dc=drucker cn=lj4100d cn=canon photo ou=mitarbeiter
MehrObject Relational Mapping Layer
Object Relational Mapping Layer Dr. Christian Senger ORM & Vererbung 1 create table fortbildung( id number primary key, bezeichnung varchar2(40), datum date ); create table themenblock( id number primary
MehrCADSTAR MRP-Link. MRP-Link ist erstellt von:
CADSTAR MRP-Link MRP-Link ist erstellt von: CSK CAD Systeme Kluwetasch Zip: 2161 Town: Altenholz Street: Struckbrook 9 Tel: +9-31-32917-0 Fax: +9-31-32917-26 Web: http://www.cskl.de E-Mail: Kluwetasch@cskl.de
MehrDOAG 2016 Oracle APEX Security
Für die Restricted Einstellung sind nur folgende Items vorgesehen: Display as Text (escape special characters, does not save state) Display as Text (does not save state) Display as Text (based on LOV,
MehrPL/pgSQL. VL Datenbanksysteme. Ingo Feinerer
PL/pgSQL VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Gliederung Einführung PL/pgSQL-Programmteile
MehrVorbereitungen zum 3. Praktikum (PL/SQL):
Vorbereitungen zum 3. Praktikum (PLSQL): SQL ist eine nicht-prozedurale Sprache der 4. Generation, die es nicht erlaubt, Elemente von 3.-Generation-Sprachen (Schleifen, Verzweigungen, etc.) zu benutzen.
MehrDatenmodelle und Datenbanken 2
Datenmodelle und Datenbanken 2 Prof. N. Fuhr Institut für Informatik und Interaktive Systeme Arbeitsgruppe Informationssysteme 24. Februar 2005 Hinweise zur Bearbeitung Die Zeit läuft erst, wenn Sie alle
MehrObjektrelationale, erweiterbare Datenbanken WS 04/05
Eidgenössische Technische Hochschule Zürich Swiss Federal Institute of Technology Zurich Institut für Informationssysteme Dr.C.Türker Objektrelationale, erweiterbare Datenbanken WS 0405 Übung 8 Aufgabe
MehrInhalt. 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,
MehrMails direkt aus Oracle versenden komfortabel und mit Umlauten
Mails direkt aus Oracle versenden komfortabel und mit Umlauten Autor: Jochen Kutscheruk, merlin.zwo InfoDesign GmbH & Co. KG, Karlsruhe DOAGNews Q1_2005 Dieses Werk ist urheberrechtlich geschützt. Die
MehrObjektrelationale Datenbanken. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 6 Objektrelationale Datenbanken Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem
MehrKomplexe XML-Dokumente über XSU und Objekt-Typen aus der Datenbank generieren
Komplexe XML-Dokumente über XSU und Objekt-Typen aus der Datenbank generieren Autor: Norbert Bahn, Opitz Consulting DOAGNews Q3_2005 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten
MehrDatenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin
Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,
MehrOracle DB 12c: Die In-Memory-Option Oliver Zandner System-Berater für Oracle-DB-Technologien Oracle Hannover. Available July 2014
Oracle DB 12c: Die In-Memory-Option Oliver Zandner System-Berater für Oracle-DB-Technologien Oracle Hannover Available July 2014 Worum geht es bei In-Memory? Option zur Oracle DB Enterprise Edition ab
MehrOracle 10g Einführung
Kurs Oracle 10g Einführung Teil 5 Einführung Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 16 Seite 1 von 16 Agenda 1 Tabellen und Views erstellen 2 Indizes
MehrOracle Database 12c Release 2 - Application Container Mandantenfähigkeit für Applikationen
Oracle Database 12c Release 2 - Application Container Mandantenfähigkeit für Applikationen Schlüsselworte Markus Flechtner Trivadis GmbH Düsseldorf Oracle 12.2, Multitenant, Application Container, SaaS
MehrHousekeeping -2
Housekeeping -1 Housekeeping -2 Housekeeping -3 Housekeeping -4 Housekeeping -5 Housekeeping -6 Stichwörter: Aufräumen im Dateisystem Housekeeping -7 Stichwörter: Aufräumen im Dateisystem Housekeeping
MehrGrundlagen 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
MehrDynamisches 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
MehrNested Tables Types als Ergänzung zu Pivot XML
Nested Tables Types als Ergänzung zu Pivot XML Thomas Strub Logica Deutschland GmbH & Co. KG Frankfurt Schlüsselworte Nested Tables, pivot, pivot xml, unpivot, collect, PL/SQL Einleitung Die Verknüpfung
MehrObjektrelationale Datenbanken
Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige
MehrZusammengesetzte Datentypen
Zusammengesetzte Datentypen.1 Records... -4.1.1 Implizite Typdeklaration mit %ROWTYPE... -6.1.2 Referenzierung eines Records... -6.2 PL/SQL Tables... -8.2.1 Deklaration einer PL/SQL Table... -8.3 Referenzierung
MehrSODA Die Datenbank als Document Store Rainer Willems Oracle Deutschland B.V. & Co. KG Dreieich Schlüsselworte
SODA Die Datenbank als Document Store Rainer Willems Oracle Deutschland B.V. & Co. KG Dreieich Schlüsselworte SODA, Simple Oracle Document Access, Document Store, Schemaless, JSON, Collections Einleitung
MehrOracle 9i Einführung Performance Tuning
Kurs Oracle 9i Einführung Performance Tuning Teil 14 Index-Organized Tables Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 13 Seite 1 von 13 1. Anordnung von Zeilen in einer Tabelle 2. Einführung 3.
Mehr