How to create a Framework
|
|
- Otto Tobias Schäfer
- vor 7 Jahren
- Abrufe
Transkript
1 How to create a Framework Gerd Volberg OPITZ CONSULTING Deutschland GmbH Nürnberg, 18. November 2014 OPITZ CONSULTING GmbH Seite 1
2 Agenda 1. Wofür braucht man ein Framework? 2. Style Guide 3. Programmiervorschriften 4. Layout-Vorschriften 5. Namenskonventionen 6. Templates + Vererbungsstrategien 7. Demos OPITZ CONSULTING GmbH Seite 2
3 Wofür braucht man ein Framework? 1. Corporate Design durch einheitliches Look&Feel 2. Programmier-Vorgaben für das Entwickler-Team Programmiervorschriften Layout-Konventionen Namenskonventionen Interaktion mit der Datenbank (Surrogate Keys, API s, ) 3. Templates und Libraries vereinfachen und verkürzen die Entwicklungsphase 4. Bessere Wartbarkeit der Applikation OPITZ CONSULTING GmbH Seite 3
4 Style Guide OPITZ CONSULTING GmbH Seite 4
5 Style Guide 1. Der eigene, firmenweit gültige Style Guide ist die Bibel einer unternehmensweiten Softwareentwicklung. 2. Im Style Guide werden alle Themen beschrieben, die während des Software-Erstellungsprozesses und darüber hinaus in der Wartungsphase relevant sind. OPITZ CONSULTING GmbH Seite 5
6 Style Guide Primary Keys 1. Tabellen in einer relationalen DB benötigen Primary Keys. Diese sollten immer mit der gleichen Technik erzeugt und eingesetzt werden: 2. Sprechende Schlüssel Sind meistens abgeleitet aus den eindeutigen Attributen einer Tabelle. Bestehen oft aus mehreren Attributen (Verbundschlüssel). Vorteile: Gut lesbar, da sie aus relevanten Tabellendaten bestehen. 3. Surrogate Keys Der Primary Key besteht aus einer Spalte (Sequenzen befüllen ihn). Der PK hat keinen Bezug zu den Daten seiner Tabelle. Vorteile: Der PK ist nicht änderbar, hat eine optimale Indizierung und ist sehr einfach nutz- und referenzierbar OPITZ CONSULTING GmbH Seite 6
7 Style Guide Surrogate Keys Surrogat-Key Jede Tabelle bekommt einen festen ALIAS aus 4 Buchstaben Primary Key => ALIAS + "_ID" Foreign Key => Primary Key der Fremdtabelle OPITZ CONSULTING GmbH Seite 7
8 Programmiervorschriften OPITZ CONSULTING GmbH Seite 8
9 Programmiervorschriften (1) Alle Regeln, die im Team gelten sollen, müssen definiert werden und sollten niemals verletzt werden. Z.B. GOTO verboten - Wer trotzdem mit GOTO arbeiten möchte, kann ja in BASIC weiterarbeiten LABEL verboten (wenn sie als Sprungmarke genutzt werden) RETURN nur in Funktionen erlaubt EXIT in Loops verboten - Loops schreibt man besser immer mit einem beginnenden FOR oder WHILE TAB verboten. Zur Einrückung immer 2 Leerzeichen pro Ebene OPITZ CONSULTING GmbH Seite 9
10 Programmiervorschriften (2) Web-Regeln Keine ActiveX, OCX, OLE, VBX einsetzen (Stattdessen Java-Beans) Keine WHEN-MOUSE-ENTER/LEAVE/MOVE Trigger Richtlinien Hochfrequente Timer sollten nicht verwendet werden Die Netzwerkverbindungen sollten optimiert werden Datenbankabfragen sollten so effizient wie möglich formuliert werden und optimalerweise in einem API in der Datenbank liegen OPITZ CONSULTING GmbH Seite 10
11 Layout-Vorschriften OPITZ CONSULTING GmbH Seite 11
12 Layout-Vorschriften (1) 1. Hierunter fallen zum Beispiel die Definition einer Standard- Grösse für alle Formsmasken. Z.B. 1280*1024, 1680* Neben den Runtime-Einstellungen sollten auch die Designtime-Einstellungen verbindlich definiert werden. Ruler-Settings OPITZ CONSULTING GmbH Seite 12
13 Layout-Vorschriften (2) Grid einschalten, Show Canvas ausschalten Dadurch wird der Layout Editor optimal benutzbar: Standardabstände X-Richtung: 6 Y-Richtung: 18 OPITZ CONSULTING GmbH Seite 13
14 Namenskonventionen OPITZ CONSULTING GmbH Seite 14
15 Namenskonventionen (DB) Benamung von Objekten in der Datenbank ist sehr wichtig. Hier sollten strengste Konventionen gelten. Objekt Notation Tabelle <28 Zeichen> Sprechender Name. Tabellennamen immer Plural. Primary Key <TabellenAlias> _ID Vierstelliger eindeutiger Alias des Tabellennamens. Foreign Key (1) <ReferenzAlias> _ID <ReferenzAlias> ist der Alias der Referenz-Tabelle. Foreign Key (2) <ReferenzAlias> "_ Mehrfachreferenz auf die gleiche Tabelle. <22 Zeichen> _ID Foreign Key (3) <TabellenAlias> "_ Selbstreferenz auf die eigene Tabelle. <Primary Key> Tabellen-Spalte <25 Zeichen> Sprechender Name, 25 Zeichen max. wg View-Spalten innerhalb einer Tabelle. View <TabellenName> _V View, die auf einer Tabelle aufbaut (Standard-View). View <TabellenName>[x] _V Mehrere Views auf der gleichen Tabelle. View <28 Zeichen> _V Der Name der View beinhaltet mindestens den Namen der wichtigsten Tabellen, die benutzt werden. View <27 Zeichen>[x] _V Bei mehreren Views, die auf die gleichen Tabellen schauen. View-Spalte <TabellenAlias> "_" <Tabellen-Spalte> Der Name einer View-Spalte setzt sich aus dem Alias der zugehörigen Tabelle und dem Originalnamen der Spalte in dieser Tabelle zusammen. Damit sind die Spalten der View immer eindeutig. Sequence <TabellenAlias> _SEQ Die Standard-Sequence jeder Tabelle setzt sich aus dem Tabellen-Alias und "_SEQ" zusammen OPITZ CONSULTING GmbH Seite 15
16 Namenskonventionen Am Beispiel einer Auftrags- und Positionentabelle wird hier nun exemplarisch gezeigt, wie Namenskonventionen aussehen könnten Alle Themenbereiche, in denen Konventionen benötigt werden, kommen auf den nächsten Seiten OPITZ CONSULTING GmbH Seite 16
17 Namenskonventionen (DB) Interne Benamungen in der DB Objekt Notation Tabellen-Alias <4 Zeichen> Abkürzung der Tabelle (Unique über alle Projekte) Primary Key <Alias> _PK Foreign Key <Alias_von>_<Alias_nach> _FK Foreign Key <Alias_von>_<Alias_nach> _ [x] _FK Falls mehrere benötigt werden => durchnummerieren Unique Key <Alias> _UK Bei einem Unique-Key Unique Key <Alias> _ [x] _UK Falls mehrere benötigt werden => durchnummerieren Check Constraint <Alias> _CHK Bei einem Check Constraint Check Constraint <Alias> _ [x] _CHK Bei mehreren Index <Alias> _I Bei einem Index Index <Alias> _ [x] _I Falls mehrere benötigt werden => durchnummerieren DB-Trigger <Alias> _[A B] [R S] [<I> <U> <D>] A After; B Before R Row; S Statement I Insert; U Update; D Delete OPITZ CONSULTING GmbH Seite 17
18 Namenskonventionen (Forms) Forms-Objekte Objekt Blöcke Alert Canvas Editor Frame LOV Object Group Parameter Popup Menu Property Class Record Group Visual Attribute (Common) Visual Attribute (Prompt) Visual Attribute (Title) Window User Named Trigger Präfix Kein Präfix, sprechender Name AL_ CN_ ED_ FR_ LV_ OG_ PA_ PM_ PC_ RG_ VA_ VP_ VT_ WN_ UN_ OPITZ CONSULTING GmbH Seite 18
19 Namenskonventionen (Forms) Item-Typen Bean Area Button Button-LOV Checkbox Chart Item Display Item Hierarchical Tree Image List Item OLE-Container Radio Group Radio Button Sound Text Item User Area Objekt BA_ BT_ BT_LV_ CB_ CI_ DI_ HT_ IM_ LI_ OC_ RA_ RB_ SO_ TI_ UA_ Präfix OPITZ CONSULTING GmbH Seite 19
20 Namenskonventionen (PL/SQL) PL/SQL-Präfixe Objekt Notation Constant Variable Cursor Parameter Recordvariable Typ Variable C_ Cur_ P_ R_ T_ V_ OPITZ CONSULTING GmbH Seite 20
21 Sourcecode-Layout 1. Einrückung z.b. 2 Leerzeichen pro Ebene und niemals Tabs 2. Groß / Kleinschreibung Reservierte Worte werden groß geschrieben, alle anderen Worte Initcap 3. Leerzeichen bei Parameterübergabe Vor jeder Klammer und hinter jedem Komma ein Leerzeichen Vor und hinter jeder Zuweisung ein Leerzeichen 4. Aliasnutzung beim Select auf mehrere Tabellen Wenn in einem Select die FROM-Clause mehr als eine Tabelle benutzt, sollte jede Tabelle mit einem Alias versehen werden. Aliase wie im Kapitel Interne Benamungen in der DB 5. OPITZ CONSULTING GmbH Seite 21
22 Sourcecode-Formatierung Alle relevanten Strukturen in PL/SQL sollten definiert werden SELECT Auftrag_Nr, Datum FROM Auftraege WHERE Auftrag_ID = V_Auftrag_ID AND Datum > SYSDATE 10 ORDER BY Auftrag_Nr; UPDATE Auftraege SET Kunden_Name = 'Müller' WHERE AUFT_ID = V_AUFT_ID; DELETE FROM Positionen WHERE Datum < Sysdate 180; INSERT INTO Positionen (POSI_ID, AUFT_ID, Position_Nr, Datum, Anzahl, Wert) VALUES (V_POSI_ID, V_AUFT_ID, 1, SYSDATE, 17, 12.50); OPITZ CONSULTING GmbH Seite 22
23 Exception-Handling In jeder Routine muss am Ende ein Exception-Handling geschrieben werden. Beispiel: EXCEPTION WHEN <Exception> THEN Statement1; END; WHEN OTHERS THEN Statement2; OPITZ CONSULTING GmbH Seite 23
24 Kommentare (1) 1. Ein effektiver Code-Stil hat zum Ziel, verständlichen, produktiven und wartbaren Code zu erzeugen. Die meisten Programme profitieren von den im Programm dokumentierten Kommentaren und Erklärungen. 2. Diese Kommentare erhöhen die Lesbarkeit des Source- Codes enorm. Entwickler, die den Source-Code in der Wartungsphase das erste Mal zu sehen bekommen, haben meist keine Chance, den Code zu verstehen, ohne eine gute Inline-Dokumentation. OPITZ CONSULTING GmbH Seite 24
25 Kommentare (2) 1. Tipps zum Schreiben von Kommentaren Schreibe Source-Code geradeaus und ohne Tricks und Kniffe (egal, wie gut diese dokumentiert sind) Variablen, Module und andere Namen bekommen sprechende Namen (egal, wie lang sie sind) Nutze immer Konstanten statt Literale (sowohl als Übergabewerte, wie auch als Vergleichswerte oder an anderen Stellen) Arbeite immer mit den gleichen, sauberen und durchgängigen Sourcecode- Layout-Regeln Kommentiere den Source-Code während Du ihn schreibst. OPITZ CONSULTING GmbH Seite 25
26 Templates + Vererbungsstrategien OPITZ CONSULTING GmbH Seite 26
27 Templates frw_ref frw_lib frw_template Applikation OPITZ CONSULTING GmbH Seite 27
28 Templates kontinuierlich weiterentwickeln Templates sind in Funktion und Anzahl nicht begrenzt Im Projektverlauf macht es Sinn kontinuierlich weitere Templates zu erzeugen, die vielleicht erst später benötigt werden Tree-Templates Shuttle-Templates OPITZ CONSULTING GmbH Seite 28
29 Vererbungsstrategie Beispiel eines Referenz- Templates mit den wichtigsten Property- Klassen, Visual Attributes uvm. OPITZ CONSULTING GmbH Seite 29
30 Library Integration und PLL- vs. PLX-Nutzung Reihenfolge, in der Forms seine Libraries nutzt: frw_lib.plx im Arbeitsverzeichnis frw_lib.plx im FORMS_PATH frw_lib.pll im Arbeitsverzeichnis frw_lib.pll im FORMS_PATH Ansonsten Fehlermeldung Gleiches gilt für Forms und Menüs OPITZ CONSULTING GmbH Seite 30
31 Konstantenpackages Zentrales Konstantenpackage PACKAGE Const Lokales Konstantenpackage PACKAGE Const_local OPITZ CONSULTING GmbH Seite 31
32 Konstantenpackage Const PACKAGE Const IS -- Alerts alr_error CONSTANT VARCHAR2 (30) := 'AL_ERROR'; alr_info CONSTANT VARCHAR2 (30) := 'AL_INFO'; alr_warning CONSTANT VARCHAR2 (30) := 'AL_WARNING'; -- Block, Record and Form-Status sta_changed CONSTANT VARCHAR2 (10) := 'CHANGED'; sta_insert CONSTANT VARCHAR2 (10) := 'INSERT'; sta_new CONSTANT VARCHAR2 (10) := 'NEW'; sta_query CONSTANT VARCHAR2 (10) := 'QUERY'; -- Other CR CONSTANT VARCHAR2 (1) := CHR (10); Tab CONSTANT VARCHAR2 (1) := CHR (9); TRUE CONSTANT VARCHAR2 (10) := 'TRUE'; FALSE CONSTANT VARCHAR2 (10) := 'FALSE'; END Const; OPITZ CONSULTING GmbH Seite 32
33 Hilfsfunktionen (1) Nachricht als Alert ausgeben PROCEDURE Info Parameter: P_Text IN VARCHAR2 Nachricht + Raise Form_Trigger_Failure PROCEDURE Raise_Info Parameter: P_Text IN VARCHAR2 OPITZ CONSULTING GmbH Seite 33
34 Hilfsfunktionen (2) Rückfrage stellen FUNCTION Question Parameter: P_Text IN VARCHAR2 Rückgabewert: NUMBER OPITZ CONSULTING GmbH Seite 34
35 Hilfsfunktionen (3) Deutscher Wochentag ermitteln FUNCTION German_Weekday Parameter: P_Date IN DATE Rückgabewert: NUMBER OPITZ CONSULTING GmbH Seite 35
36 Demos OPITZ CONSULTING GmbH Seite 36
37 One Time Timer OPITZ CONSULTING GmbH Seite 37
38 Undo OPITZ CONSULTING GmbH Seite 38
39 Multi LOV OPITZ CONSULTING GmbH Seite 39
40 Generische List-Items OPITZ CONSULTING GmbH Seite 40
41 LOV's mit gruppierten Daten OPITZ CONSULTING GmbH Seite 41
42 BI Beans OPITZ CONSULTING GmbH Seite 42
43 Ihr Ansprechpartner Gerd Volberg Solution Architect OPITZ CONSULTING Deutschland GmbH Kirchstr. 6, Gummersbach Tel. +49 (2261) talk2gerd.blogspot.com OPITZ CONSULTING GmbH Seite 43
Oracle Forms: How to create a Framework
Oracle Forms: How to create a Framework Gerd Volberg OPITZ CONSULTING Deutschland GmbH Gummersbach Keywords: Oracle Forms, PL/SQL, Datenbank-API, Framework, Standards, GUI, Style Guide, Versionierung,
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
MehrOracle9i Designer. Rainer Willems. Page 1. Leitender Systemberater Server Technology Competence Center Frankfurt Oracle Deutschland GmbH
Oracle9i Designer Rainer Willems Leitender Systemberater Server Technology Competence Center Frankfurt Oracle Deutschland GmbH Page 1 1 Agenda 9i Designer & 9i SCM in 9i DS Design Server Generierung &
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
MehrOracle Forms und APEX
überraschend mehr Möglichkeiten! Oracle Forms und APEX Gerd Volberg + Jan Winkels OPITZ CONSULTING Deutschland GmbH OPITZ CONSULTING 2016 Agenda 1 2 3 4 5 Oracle Forms APEX Live-Demos Known Problems Resümee
MehrDOAG HC ApEx Workshop. OPITZ CONSULTING GmbH 2009 Seite 1
OPITZ CONSULTING GmbH 2009 Seite 1 Ein Kurzeinstieg in Oracle Application Express Enno Schulte, Werksstudent OPITZ CONSULTING Gummersbach GmbH Fachhochschule Gummersbach, 07.10.2009 OPITZ CONSULTING GmbH
MehrOracle Designer vs. SQL Developer Data Modeler
Oracle Designer vs. SQL Developer Data Modeler Gerd Volberg OPITZ CONSULTING GmbH Gummersbach Schlüsselworte: ERD, ER-Modell, Datenmodell, Oracle Designer, SQL Developer, Data Modeler Einleitung In diesem
MehrModernizing Oracle Forms. Gerd Volberg OPITZ CONSULTING Deutschland GmbH
Gerd Volberg OPITZ CONSULTING Deutschland GmbH Nürnberg, 21. November 2012 OPITZ CONSULTING GmbH Seite 1 Agenda 1. : Why? 2. Projekt Look and Feel Grundlagen 1 Installation Features 3. Projekt OraFormsFaces
MehrPrakt. Datenbankprogrammierung. Sommersemester 2005
Prakt. Datenbankprogrammierung Sommersemester 2005 II,2: Schreiben von ausführbaren Statements Martin-Luther-Universität Halle, Institut für Informatik, Datenbanken Christian Goldberg PL/SQL-Block-Syntax
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
MehrAufbau und Bestandteile von Formularen. Oracle Forms. Erstellen eines neuen Blocks (1) Starten von Oracle Forms
Oracle Forms Oracle Forms ist eine Applikation für den Entwurf und die Erstellung Forms-basierender Anwendungen. Diese Forms umfassen Dateneingabe-Formulare Datenabfrage-Formulare Browser-Formulare Oracle
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
MehrModernisierung von Forms durch neues Look&Feel
Modernisierung von Forms durch neues Look&Feel Dr. Gudrun Pabst gudrun.pabst@trivadis.com Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München Stuttgart Agenda Definition
MehrDatenbank und Tabelle mit SQL erstellen
Datenbank und Tabelle mit SQL erstellen 1) Übung stat Mit dem folgenden Befehlen legt man die Datenbank stat an und in dieser die Tabelle data1 : CREATE DATABASE stat; USE stat; CREATE TABLE data1 ( `id`
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
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
MehrDieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.
Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,
MehrArbeit mit zusammengesetzten Datentypen
Arbeit mit zusammengesetzten Datentypen Zusammengesetzte Datentypen Typen: PL/SQL RECORDS PL/SQL TABELLEN Enthalten interne Komponenten Sind wiederverwendbar Copyright Oracle Corporation, 1998. All rights
MehrRelationales Datenbanksystem Oracle
Relationales Datenbanksystem Oracle 1 Relationales Modell Im relationalen Modell wird ein relationales Datenbankschema wie folgt beschrieben: RS = R 1 X 1 SC 1... R n X n SC n SC a a : i=1...n X i B Information
MehrGrundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich
Grundlagen von SQL Informatik 2, FS18 Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Markus Dahinden 13.05.18 1 Grundlagen von SQL (Structured Query Language)
MehrApEx effektiv. Lösungen für Standardanforderungen. Stephan Engel OPITZ CONSULTING Bad Homburg GmbH. Nürnberg,
Lösungen für Standardanforderungen mit Köpfchen Stephan Engel OPITZ CONSULTING Bad Homburg GmbH Nürnberg, 17.11.2010 OPITZ CONSULTING GmbH 2009 Seite 1 Vorgestellte Lösungen Fachliche Fehlermeldungen aus
Mehrjavascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline.
javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline. Inhalts-Verzeichnis 1. Allgemeine Richtlinien...1 1.1 Anzahl
Mehr5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp
5/14/18 Grundlagen von SQL (Structured Query Language) Datenbanksprache Befehle Datenbanken und Tabellen erstellen/verändern Daten manipulieren (eingeben, ändern, löschen) Datenbank durchsuchen (Queries
MehrDesigner Development Kit (DDK)
Designer Development Kit (DDK) Eigene Code-Generatoren im Designer Dr. Gudrun Pabst Trivadis GmbH Dr. Jürgen Menge Oracle GmbH Inhalt > Agenda Für besseren Durchblick. Zum Hintergrund... Installation,
MehrForms 11g meets BI. Gerd Volberg OPITZ CONSULTING GmbH
Gerd Volberg OPITZ CONSULTING GmbH Nürnberg, 15. November 2011 OPITZ CONSULTING GmbH 2011 Seite 1 Ihr ORACLE Center of Excellence Leistungsangebot Java SOA/BPM ORACLE BI/DWH Outtasking Exadata Exalogic
MehrOO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle
OO Programmiersprache vs relationales Model Vorgehen bisher Erstellen eines ER-Diagramms Übersetzen in das relationale Datenmodell Zugriff auf das relationale Datenmodell aus z.b. Java ER rel. Modell OO
MehrSIG Development. 100%ige Generierung von Formsmasken mit Designer 6i. Gabriele Friedel. Dr. Peter Koch
SIG Development 100%ige Generierung von Formsmasken mit Designer 6i Dr. Peter Koch Gabriele Friedel Nordrheinische Ärzteversorgung Tersteegenstr. 9 40474 Düsseldorf 21. Februar 2008 1 Agenda Vorstellung
MehrFakultät für Informatik & Wirtschaftsinformatik DB & IS II - WS Metadaten. Andreas Schmidt Metadaten 1/17
Metadaten Andreas Schmidt Metadaten 1/17 Metadaten Metadaten sind Daten über Daten Data-Dictionary speichert Informationen über die Struktur der Daten, z.b.: Tabellen, Spalten, Datentypen Primär- und Fremdschlüssel,
MehrGruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.
Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS 21.06.2018 DATENMODELLIERUNG 2 (184.790) DATENBANKSYSTEME (184.686) GRUPPE
MehrFakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. Metadaten
Fakultät für Informatik & Wirtschaftsinformatik Metadaten Metadaten sind Daten über Daten Data-Dictionary speichert Informationen über die Struktur der Daten, z.b.: Tabellen, Spalten, Datentypen Primär-
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
MehrDatenbanksysteme 2013
Datenbanksysteme 2013 Kapitel 8: Datenintegrität Vorlesung vom 14.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Datenintegrität Statische Bedingung (jeder Zustand) Dynamische
MehrErzeugen von Constraints
Erzeugen von Constraints Was sind Constraints? Durch Constraints werden Regeln auf einem bestimmtem Tabellen-Level erzwungen. Die folgenden Constraint-Typen sind in Oracle integriert: NOT NULL UNIQUE Key
MehrDatenmanagement I SoSe 2006 Aufgabenblatt 4
Datenmanagement I SoSe 2006 Aufgabenblatt 4 June 11, 2009 Versuchen Sie, einige der Anfragen zu formulieren (ab Punkt 6), die im Tutorium stehen, das hier zu finden ist: http://wwwiti.cs.uni-magdeburg.de/iti_db/lehre/dm/tut/tutorium.html.
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
MehrOracle Forms und APEX
Oracle Forms und APEX Gerd Volberg + Jan Winkels OPITZ CONSULTING Deutschland GmbH Gummersbach Schlüsselworte Oracle Forms, Oracle Application Express, APEX, PL/SQL, JavaScript-API Einleitung APEX wird
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
MehrNoSQL mit Postgres 15. Juni 2015
Tag der Datenbanken 15. Juni 2015 Dipl.-Wirt.-Inform. Agenda l Vorstellung l Marktübersicht l Warum PostgreSQL? l Warum NoSQL? l Beispielanwendung Seite: 2 Vorstellung Dipl.-Wirt.-Inform. [1990] Erste
MehrBibliografische Informationen digitalisiert durch http://d-nb.info/995021198
Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT INTO) 95 5 Daten abfragen (SELECT) 99 6 Daten aus mehreren Tabellen abfragen (JOIN) 143 7 Unterabfragen
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
MehrDaniela Reiner. Stuttgart,
Data driven documentation für PL/SQL Daniela Reiner Consultant daniela.reiner@trivadis.com Stuttgart, 14.05.2009 Basel Baden Bern Brugg Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München
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
MehrISU 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
MehrDatenbanken. Zusammenfassung. Datenbanksysteme
Zusammenfassung Datenbanksysteme Christian Moser Seite 1 vom 7 12.09.2002 Wichtige Begriffe Attribut Assoziation API Atomares Attribut Datenbasis DBMS Datenunabhängigkeit Datenbankmodell DDL DML DCL ER-Diagramm
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
MehrValidierungstrigger können navigieren. Gerd Volberg OPITZ CONSULTING Deutschland GmbH
Validierungstrigger können navigieren Gerd Volberg OPITZ CONSULTING Deutschland GmbH Essen, 21. Oktober 2014 OPITZ CONSULTING GmbH Seite 1 Einleitung 1. Validierungstrigger in Oracle Forms erlauben nur
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White
MehrErweiterte Interaktion mit Trees und Charts in APEX
Erweiterte Interaktion mit Trees und Charts in APEX Dr. Gudrun Pabst Trivadis Gmbh Lehrer-Wirth-Straße 4 81829 München gudrun.pabst@trivadis.com BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG
MehrFunktion 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[ SQL] Wissen, das sich auszahlt
[www.teia.de SQL] Wissen, das sich auszahlt INHALT SEITE 12 [I] 1] Einführung in SQL und relationale Datenbanken 12 14 16 18 11 1.1 1.2 Einführung Die Structured Query Language (SQL) Tabellen Mehrere Tabellen
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrContinuous Delivery mit Orcas
Deployment von Oracle- Datenbanken in agilen Projekten Dr. Olaf Jessensky Senior Consultant OPITZ CONSULTING Deutschland GmbH DOAG Regionaltreffen Südbayern, München, 03.12.2015 OPITZ CONSULTING Deutschland
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
MehrCreate-Table-Befehl. CREATE TABLE Tabellenname ( { Spalte { Datentyp Gebietsname } [ Spaltenbedingung [ ] ] Tabellenbedingung }
Create-Table-Befehl CREATE TABLE Tabellenname ( { Spalte { Datentyp Gebietsname } [ Spaltenbedingung [ ] ] Tabellenbedingung } [, ] ) Liste der wichtigsten Datentypen in SQL INTEGER INT SMALLINT NUMERIC(x,y)
MehrÜbung Datenbanken in der Praxis. Datenmodifikation mit SQL
Datenmodifikation mit SQL Folie 45 SQL - Datenmodifikation Einfügen INSERT INTO Relation [(Attribut, Attribut,...)] VALUES (Wert, Wert,...) INSERT INTO Relation [(Attribut, Attribut,...)] SFW-Anfrage Ändern
MehrXML 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
MehrAnwendungsentwicklung Datenbanken SQL. Stefan Goebel
Anwendungsentwicklung Datenbanken SQL Stefan Goebel SQL Structured Query Language strukturierte Abfragesprache von ANSI und ISO standardisiert deklarativ bedeutet was statt wie SQL beschreibt, welche Daten
MehrSQL Data Manipulation Language (DML) und Query Language (QL)
Innsbruck Information System University of Innsbruck School of Management Information Systems Universitätsstraße 15 6020 Innsbruck SQL Data Manipulation Language (DML) und Query Language (QL) Universität
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,
MehrPrakt. Datenbankprogrammierung. Sommersemester Was sind Constraints? I,11: Verwendung von Constraints. Festlegung von Constraints
Prakt. Datenbankprogrammierung Sommersemester 2005 I,11: Verwendung von Constraints Was sind Constraints? Constraints stellen Regeln auf Tabellenebene sicher. Constraints verhindern das Löschen aus einer
MehrFehlertoleranz und Robustheit von ETL-Prozessen Wie gestalten wir Abläufe möglichst widerstandsfähig. Christian Borghardt I BI Consultant
Fehlertoleranz und Robustheit von ETL-Prozessen Wie gestalten wir Abläufe möglichst widerstandsfähig Christian Borghardt I BI Consultant Über uns areto consulting gmbh Echter Business Intelligence Spezialist
MehrForms Optimizer Herbstroadshow 2016: Oracle Forms zum Anfassen und fürs Auge
Forms Optimizer Herbstroadshow 2016: Oracle Forms zum Anfassen und fürs Auge 10.11.2016 Version 0.6 Agenda Herausforderungen Was ist der Forms Optimizer Motivation Technischer Überblick Hauptkomponenten
MehrNeue Wege zur Oracle-Migration
Neue Wege zur Oracle-Migration Laurenz Albe laurenz.albe@cybertec.at Cybertec Swiss PGDay 2018 Die Problemstellung DB-Migration besteht aus mehreren Teilen: Objektdefinitionen migrieren (CREATE TABLE,
MehrPraktische Anwendungsentwicklung mit Oracle Forms
Praktische Anwendungsentwicklung mit Oracle Forms von Perry Pakull, Stefan Jüssen, Walter H. Müller 1. Auflage Hanser München 2007 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 41098 5 Zu Leseprobe
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
MehrÜbung Datenbanksysteme Updates, Integritätsbedingungen, funktionale Abhängigkeiten
Übung Datenbanksysteme Updates, Integritätsbedingungen, funktionale Abhängigkeiten 12.1.2004 Änderungsoperationen bei SQL (Daten) Einfügen neuer Tupel (schon bekannt) INSERT INTO Table (Spalte1, Spalte2)
Mehr<Insert Picture Here> Generierung von ADF-Applikationen aus Metadaten des Oracle Designer
Generierung von ADF-Applikationen aus Metadaten des Oracle Designer Jürgen Menge Oracle Deutschland Oracle Designer - Metadaten Investment vieler Anwender liegt in den Metadaten des
MehrOR-Mapping. WS2008/2009 DBIS/Dr. Karsten Tolle
OR-Mapping Zwei Paradigmen treffen aufeinander Gegensätze OO vs. Relational: Stichwort: O/R Impedance Mismatch Person Tabellen mit Schlüssel und Fremdschlusselbeziehungen. Abt-Nr. beschäftigt Pk-Nr Name
MehrDie Anweisung create table
SQL-Datendefinition Die Anweisung create table create table basisrelationenname ( spaltenname 1 wertebereich 1 [not null],... spaltenname k wertebereich k [not null]) Wirkung dieses Kommandos ist sowohl
Mehr3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7
1 Data Definition Language (DDL)... 2 1.1 Tabellen erstellen... 2 1.1.1 Datentyp...... 2 1.1.2 Zusätze.... 2 1.2 Tabellen löschen... 2 1.3 Tabellen ändern (Spalten hinzufügen)... 2 1.4 Tabellen ändern
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
MehrDipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009
Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger
MehrOracle native json Support. Erste Schritte
Oracle native json Support Erste Schritte 1 Ausgangslage Als erster Schritt erstellen wir eine Tabelle, die wir für den weiteren Verlauf brauchen werden. Die Felder Id, Created und Username sind normale
MehrKapitel 14. Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) Prof. Dr. Wolfgang Weber Vorlesung Datenbanken
Kapitel 14 Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) 1 Wozu Objekt-relationales Mapping? - Problematik - Business-Schicht OO-Klassen Unvereinbarkeit der Paradigmen
MehrSchnellübersichten. SQL Grundlagen und Datenbankdesign
Schnellübersichten SQL Grundlagen und Datenbankdesign 5 Datenbanken 2 6 Tabellen erstellen und verwalten 3 7 Daten einfügen, aktualisieren, löschen 4 8 Einfache Datenabfragen 5 9 Schlüsselfelder und Indizes
MehrCustomizing ENOVIA V6 : Create a Dictionary
Teil 2 : Erstellen einer eigenen 'Neuer Wörterbucheintrag' Webseite Inhalt in diesem Kapitel Hinzufügen einer neuen Web-Form zum Erzeugen eines Wörterbucheintrages Hinzufügen eines neuen Kommandos zur
MehrDatenbanksysteme I WS 18/19 Teillösung Übungsblatt 4-6
Datenbanksysteme I WS 18/19 Teillösung Übungsblatt 4-6 Universität Leipzig, Institut für Informatik Abteilung Datenbanken Prof. Dr. E. Rahm, V. Christen, M. Franke DBS1 Blatt 4 Mitschreibbar 2 Welche Autoren
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
MehrKlausur PI Datenbanken II vom Name: Praktische Informatik (Krägeloh)
Versehen Sie jedes Aufgabenblatt/-blätter mit Ihrem Namen und geben es mit ab! Seite 1 Aufgabe 1: ( 30 Punkte) 1) Ein Entity-Set E1 wird in die Subklassen S1 und S2 spezialisiert. Was bedeutet die Aussage:
MehrEs gibt immer einen Schlüssel und einen zugehörigen Wert,
JSON JavaScript Object Notation Im Unternehmenskontext spielt der Austausch von Daten zwischen unterschiedlichen Systemen eine große Rolle. Dabei müssen oft Technologie und Zuständigkeitsgrenzen überwunden
MehrDaten Bank. 6. Vorlesung
Daten Bank 6. Vorlesung Repetitorium: Wer: Tung Le Trong Wann: 24.7.2018 (Dienstag) Genauer wann : von 10-18 Uhr Wo: H IV Dr. Karsten Tolle PRG2 SS 2018 2 Geonames select count(*) from geoname; 180554
MehrForms 12c und der Oracle SB
Forms 12c und der Oracle SB Gerd Volberg OPITZ CONSULTING Deutschland GmbH Nürnberg, 19. November 2015 OPITZ CONSULTING Deutschland GmbH Seite 1 Agenda 1. Oracle Service Bus 2. Installation Pre-built Virtual
MehrÜbungsblatt 8- Lösungsvorschlag
Universität Innsbruck - Institut für Informatik Prof. Günther Specht, R.Binna, N.Krismer, M. Tschuggnall 30. November 2012 Proseminar Datenbanksysteme Übungsblatt 8- Lösungsvorschlag Aufgabe 1 (Trigger)
MehrSeminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.
Seminar 2 SQL - DML(Data Manipulation Language) und DDL(Data Definition Language) Befehle. DML Befehle Aggregatfunktionen - werden auf eine Menge von Tupeln angewendet - Verdichtung einzelner Tupeln yu
MehrDatenbanken im WI-Unterricht mit
Datenbanken im WI-Unterricht mit Inhaltsverzeichnis 1 ER-Modell - Entity Relationship Modell 1 1.1 Entitäten................................................. 2 1.2 Relationen................................................
MehrVorteile einer Tool gestützten Modernisierung von Forms und Reports
Vorteile einer Tool gestützten Modernisierung von Forms und Reports Schlüsselworte Forms, Reports, Modernisierung, Tools, Weblogic Einleitung Jan-Peter Timmermann Pitss GmbH Stuttgart Mit diesem Vortrag
MehrMigration Assistent Forms nach APEX
Migration Assistent Forms nach APEX Dr. Gudrun Pabst Trivadis GmbH München Schlüsselworte: Forms, APEX, Migration Einleitung Vielfach wird die Frage gestellt, welche Alternativen es zu Forms gibt. Mit
MehrDatenbanken und Informationssysteme II
Datenbanken und Informationssysteme II Szenario: Mondial (zugehöriges DDL-Schema in Anhang A) Es gibt Länder, Provinzen, Städte und Grenzen. Aufgabe 1 (Trigger) [23 + 5] a) Analysiere das relationale Schema
MehrProbeklausur Datenbanken und Informationssysteme II
Hochschule Karlsruhe Technik und Wirtschaft- 26.6.2014 Fakultät für Informatik und Wirtschaftsinformatik Probeklausur Datenbanken und Informationssysteme II Szenario: Poolräume, Softwareverteilung Aufgabe
MehrUniversität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7 Aufgabe 2 + 3: Datenbanksysteme I import java.sql.*; import oracle.jdbc.driver.*;
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
MehrProgrammierpraktikum Java Entdecken Merkblatt 2
Technische Universität München Fakultät für Informatik Prof. Dr. Helmut Seidl Michael Petter Melanie Dietz Raphael Geissler Programmierpraktikum Java Entdecken Merkblatt 2 SS 2005 1 Einleitung 1.1 Was
MehrSQL,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
MehrSun s Java Code Conventions
Tutorium Praktische Informatik 2 Sun s Java Code Conventions Folie 1 / 32 Sun s Java Code Conventions 18.04.2002 Quelle: http://java.sun.com/docs/codeconv/ Convention is the ruler of all. (Pindar) Tutorium
MehrTypo3 & QFQ. Carsten Rose, I-MATH, University of Zurich, 2017
Typo3 & QFQ Carsten Rose, I-MATH, University of Zurich, 2017 Praktisches Beispiel Formulareditor Report 2 QFQ Offiziell noch 'Alpha' weil wir noch nicht alle Konzepte implementiert haben (Aenderungen moeglich).
Mehr