Themenüberblick
der Seminare:
|
Seminarcode
|
Tage
|
Thema
(Details durch Klick auf den Verweis)
|
Zielgruppe
|
Termine
|
DAT-MOD
|
3
|
Logische Datenmodellierung
unter Berücksichtigung des Relationenmodells. |
DB2-Projektleiter, alle DB2-Anwendungsentwickler.
|
auf Anfrage |
DB2-IMP
|
2
|
Implementierung des Datenmodells
unter Berücksichtigung von Performanceaspekten. |
DB2-Projektleiter, alle DB2-Anwendungsentwickler.
|
auf Anfrage |
DB2-TEMP |
2,0 |
DB2-Temporal Tables
Fachliche und technische Datenversionierung |
Alle, die erkannt haben, dass
es Zeit wird, sich mit der Zeit zu beschäftigen! |
auf Anfrage |
DB2-PROG
|
3
|
DB2 Anwendungsprogrammierung |
Programmierer und alle DB2-Anwendungsentwickler
|
auf Anfrage |
DB2-ADES
|
2,5
|
DB2 Anwendungsdesign.
Design-Apekte in Multi-User-Umgebungen |
DB2-Projektleiter, alle Anwendungsentwickler
|
auf Anfrage |
DB2-PERFSQL
|
3,0
|
DB2-SQL-Performance
mit vielen Fallbeispielen |
Datenbank-Administratoren und technisch interessierte DB2-Entwickler.
|
auf Anfrage |
DB2-ROUTRIG
|
2,0
|
Effizienz
von Routinen (User Defined Functions, Stored Procedures) und Triggern |
Alle, die an Details zu UDFs (User-defined Functions), Stored
Procedures und Triggern interessiert sind.
|
auf Anfrage |
DB2-UTILITY |
2,0 |
DB2-Online-Utilities Funktionalitäten, Parametrisierungen und Wirkungen |
Datenbank-Administratoren und alle Anwendungsentwickler |
auf Anfrage |
DB2-LOB
|
2,0
|
Large Objects |
Alle, die an Details zu Large Objects interessiert sind.
|
auf Anfrage |
DB2-ADMIN-BAS
|
5,0
|
DB2-Administration Basics mit intensivem Praktikum |
Datenbank-Administratoren und technisch interessierte DB2-Entwickler.
|
auf Anfrage
|
DB2-ADMIN-1
|
4,0
|
DB2-Administrationsworkshop Teil 1 mit intensivem Praktikum |
Datenbank-Administratoren und technisch interessierte DB2-Entwickler.
|
auf Anfrage
|
DB2-ADMIN-2
|
4,0
|
DB2-Administrationsworkshop Teil 2 mit intensivem Praktikum |
Datenbank-Administratoren und technisch interessierte DB2-Entwickler.
|
auf Anfrage
|
DB2-V11
|
2,0
|
DB2 Version 11 for z/OS |
Alle, die an Details zu DB2 Version 11 interessiert sind.
|
auf Anfrage
|
DB2-V12 |
2,0 |
DB2 Version 12 for z/OS |
Alle, die an Details zu DB2 Version 12 interessiert sind. |
auf Anfrage |
SQL-VERTIEF
|
3,0
|
SQL-Vertiefung |
Alle, die die SQL-Entwicklungen über die Versionen
hinweg erlernen wollen.
|
auf Anfrage
|
XML-GR
|
1,0
|
XML-Grundlagen |
Alle, die an einem XML-Überblick interessiert sind.
|
auf Anfrage
|
|
Detailbeschreibung der Seminare:
|
DAT-MOD
Logische Datenmodellierung
|
Zielgruppe:
- DB2-Projektleiter, alle DB2-Anwendungsentwickler.
Voraussetzungen:
- keine
Besondere Hinweise:
Es wird die systematische Vorgehensweise beim Entwurf stabiler Datenstrukturen
unter besonderer Berücksichtigung funktionaler Aspekt behandelt.
Dabei erfolgt auch eine Einordnung von 'Objektorientierung' und 'Client-Server-Architekturen'.
Kursinhalte:
Logische Daten-Modellierung
- Aufgaben und Inhalte eines Daten-Modells
- Daten abstrahieren den relevanten Realitäts-Ausschnitt
- Funktions- und Informations-Strukturen im Unternehmen
- Entwicklung von DV-Systemen: funktions- oder datenorientiert?
- Welche Komponenten enthält ein Unternehmens-Modell und wer ist zuständig?
- Welche Aufgabenstellungen und Ziele hat ein Daten-Modell?
- Die Ebenen des Daten-Modells
- Die Views auf das Daten-Modell
- Top-Down oder Bottom-up-Entwicklung des Daten-Modells?
- Der Aufbau eines unternehmensweiten Daten-Modells
- Entwicklungsgeschichte der relevanten Daten-Modell-Theorien
- Projekt-Phasen, -Lebenszyklen und die relevante Tool-Umgebung
Externes, benutzerorientiertes Daten-Modell
- Aufgaben und Inhalte des externen Daten-Modells
- Daten-Analyse
- Wie aus Daten Information und Wissen entsteht
- Die Relevanz der Daten kann ohne Wissen nicht beurteilt werden
- Kontext-Diagramm und Rolle im Unternehmens-Modell
- Einfache Modellierungs-Konstrukte
- Entity-Type und Entity: Einzel- und Gruppen-Betrachtung
- Entity, Attribut, Relationship
- EERM: Extended Entity Relationship Model
- Komplexe Modellierungs-Konstrukte: Hierarchie mit Super- und Sub-Entity
- Zulässige Darstellungsformen im externen Daten-Modell
- Die Rolle der Views im externen Daten-Modell
- Anwender- oder Benutzersicht
- Checkliste für die Modellierung des externen Daten-Modells
- Fragenkatalog für die externe Daten-Modellierung
- Entity-Analyse
- Entity-Informationen
Konzeptionelles Daten-Modell
- RM: Relationales Modell
- Einfache Modellierungs-Konstrukte
- Relation/Tabelle
- Spalten-Charakteristiken, PK, FK, Domain
- Normalisierung
- Zielsetzungen der Normalisierung
- Unnormalisierte Struktur
- Erste Normalform (1NF)
- Zweite Normalform (2NF)
- Dritte Normalform (3NF)
- Boyce-Codd Normalform (BCNF)
- Vierte Normalform (4NF)
- 5NF - Ultimative Normal Form - Project-Join-Normalform (PJ/NF)
- Problembereiche der 4NF
- Lösung der 5NF
- Wie weit ist Normalisierung sinnvoll?
- Komplexe Beziehungs-Konstrukte
- Umsetzung der ERM-Konstrukte ins Relationen-Modell
- Checkliste: Zuordnung der FKs zur Bestimmung der referenziellen Beziehungen
- Integritäts-Anforderungen
- Integritäts-Regeln von Codd
- Welche Level existieren bei der Behandlung der Integritäts-Regeln und -Maßnahmen
- Integritäts-Maßnahmen
- Das Prinzip der Über- und Unterordnung
- Referenzielle Integritäts-Maßnahmen (RI)
- RESTRICT (NO ACTION), CASCADE und SET NULL
- Beispiel für die Festlegung referenzieller Integritäts-Maßnahmen
- Zusammenfassende Definition der Integritäts-Regeln und -Aktionen
- Festlegung der logischen Trigger für die Business-Rules
- Strukturierung der Geschäfts-Regeln und -Aktionen
- Umsetzen der Geschäfts-Regeln und -Aktionen in SQL-Funktionalität
- Einbeziehung der Views
- Aufgaben der konzeptionellen Views und Abgrenzung der View-Typen
- Die funktionsbezogene Anwendungssicht
- Bilden von Schemata für spezielle Daten-Sichten
- OLAP
- Data Warehouse: Cubes und Dimensionen
- OLAP-Meta-Modell: Objekt-Typen
- Zulässige Darstellungsformen im konzeptionellen Daten-Modell
- Behandlung von Spezialfällen
- Hierarchie (Aggregation) und Netzwerk-Darstellungen
- Bei rekursiven Beziehungen ist die Über- und Unterordnung zweifelhaft
- Checklisten für die Modellierung des konzeptionellen Daten-Modells - Checkliste der Vorgehensweise
- Relevante Beziehungs-Typen
- Wo soll der FK positioniert werden und kann er NULL-Werte aufweisen?
- Welche Integritäts-Maßnahmen gelten für die einzelnen Beziehungs-Typen?
Daten unter Zeitbezug - Temporale Daten
- Einleitung, Terminologie
- Komponenten eines Modells für Daten mit Zeitbezug
- Fachliche, externe Modellsicht
- Auswirkung auf fachliche Informationen und Informations-Zusammenhänge
- Aufnahme von Zeit-Attributen und Konsequenzen
- Fachliche Funktionsauswirkungen der Zeitunterstützung
- Manipulation und Wirkung
- Entwicklung der Beispiel-Daten unter Zeitaspekten
- Konsequenzen der Zeitunterstützung für Fachbereichs-Benutzer
- Konzeptionelle Umsetzung für Zeitaspekte
- PK-Festlegung: Objekt-Identifikator plus Zeit- bzw. Versions-Bezug
- FK-Festlegung: Objekt-Identifikator mit oder ohne Zeit- bzw. Versions-Bezug
- Unser konzeptionelles Modell steckt voller Redundanzen: Wie sieht ein redundanzfreies Modell aus?
- Zeit-Leiste für jeden Attribut-Zustand
- Datenhaltung für jede Daten-Version bei veränderten Attribut-Zuständen
- Funktionale Konsequenzen für Daten mit Zeitbezug
- Manipulations-Typen
- Manipulations-Festlegungen hinsichtlich der Gültigkeitszeitleisten
- Referenzielle Regeln für Daten mit Zeitbezug (RI-Bedingungen)
- Informations-Bereitstellungs-Typen
Einordnung von Objektorientierung (OO) und Client/Server (CS)
- OO-Aufgaben und Zielsetzungen
- Der Versuch einer Definition
- Objektorientierung (OO)
- Die Sichten auf Objekte
- Objektkategorien
- Geschäfts-Objekt, Präsentations-Objekt, Verarbeitungs-Objekt, Speicher-Objekt, Zugriffs-Objekt
- Objekt-Terminologie und Komponenten
- Objekt-Meta-Beziehungen
- OOA - Analyse von Objekten
- OOD- Design von Objekten
- OO-Design-Tools, UML und Diagramm-Formen
- OOP- Programmierung von Objekten
- OODBMS - Objektorientierte Datenbanken
- Zusammenwachsen von RDBMS und OODBMS (objektrelational)
- 'Mapping' zwischen den beiden Welten
- ORDBMS (objektorientiert relational)
- Beispiel: DB2-UDB
- OO-Entwicklungs-Komponenten
- Client/Server (CS)
- Zentralisierung versus Dezentralisierung
- Vor der physischen Verteilung steht das logische globale Design
- Strategische Erkenntnisse
Workshops/Fallbeispiele:
- Praktikum 'Logische Daten-Modellierung' an Pinnwänden
und am Schreibtisch.
|
|
DB2-IMP
Implementierung des Datenmodells
|
Zielgruppe:
- DB2-Projektleiter, alle DB2-Anwendungsentwickler.
Voraussetzungen:
- Mindestens 1/2-jährige Erfahrung in der DB2-Umgebung.
- Kenntnisse lt. Kursinhalte DAT-MOD und DB2-PROG erforderlich.
- Erfahrungen im DB-Design sind hilfreich.
Besondere Hinweise:
Der Inhalt wird auf anspruchsvollem Niveau behandelt.
Kursinhalte:
Internes Daten-Modell
- Aufgaben und Inhalte des internen Daten-Modells
- Ableiten physischer Benutzerobjekte aus den logischen Relationen
- Logische Views auf die konzeptionellen Daten-Strukturen
- Logische Views sind hierarchisch und kehren die Modell-Strukturen um!
- Bedeutung des Daten-Mengengerüsts
- Benutzersicht und DB2-Zugriffspfade
- Viewbezogene Überlegungen hinsichtlich Struktur-Veränderungen
- Maßnahmen zur Steigerung der Zugriffs-Effizienz
- Konsequenzen der Struktur-Veränderungen aus physischen Gründen
- Einrichtung von Indizes
- Die physische Zugriffssicht
- Festlegung sonstiger DB2-Objekte
De-Normalisierung
- Warum überhaupt solche Gedanken?
- Die grundsätzlichen Varianten der De-Normalisierung
- Zusammenführung von Daten
- Grundsätzliche Varianten
- Beispiele von 1:1- und 1:N-Beziehungen
- Konsequenzen bei Zusammenführung von Supertypen und Sub-Typen (1:1)
- Welche Konsequenzen ergeben sich aus den Alternativen?
- Zusammenführung von Hierarchien
- Welche Konsequenzen ergeben sich aus der Zusammenlegung von Hierarchien?
- Trennung der Daten
- Horizontale und vertikale Trennung (Verteilung)
- Verteilung innerhalb und außerhalb einer DB2-Lokation
- Bilden zusätzlicher Redundanzen
- Grunds&aauml;tzliche Varianten
- Redundante Spalten
- Funktionale Ableitungen und ihre Konsequenzen
- Doppelte Zeilen als exakte Kopie
- Ab DB2-Version 9: Clone-Table
- Redundante Zeilen als Kopien, verdichtet oder abgeleitet
- System-Kategorien und Aktualität der Daten
- MQT - Materialized Query Table
- Konsequenzen der De-Normalisierung
- Welche Konsequenzen haben solche De-Normalisierungs-Maßnahmen?
- Sicht der Anwendungs-Programme auf die Daten
- Programm-Datenstrukturen können mit Normalformen verglichen werden
- Sicht auf unnormalisierte Daten
- Definition einzelner Spalten in Wiederhol-Elementen
- Variable Zeilen mit VARCHAR- oder LOB-Definitionen
- Speicherung von XML-Dokumenten
- Sicht auf Daten in normalisierter Form
- Sicht auf Daten in höheren Normalformen (2 NF, 3NF)
- Die physische Zugriffssicht
- Unterstützung der Business Rules mit Funktionen und Triggern
- De-Normalisierungs-Auswirkungen
- Ausgangssituation des logischen Modells
- Funktionale Konsequenzen bei Nicht-Nutzung von DB2-RI
- Funktionale Konsequenzen bei Struktur-De-Normalisierung
- Checklisten
- Checkliste: De-Normalisierungs-Empfehlungen zur Implementierung
Data Warehouse mit besonderen Datensicht-Anforderungen
- Multi-Dimensionale Daten
- OLAP - Online Analytic Processing
- Abgrenzung von Data Warehouse und Data Mart
- MOLAP, ROLAP und HOLAP
- ROLAP - Relational Online Analytic Approach
- Star Schema
- Snowflake Schema
- MQT - Materialized Query Table
- Basis für die automatisierte Redundanzkontrolle abgeleiteter Daten
RI - DB2 Referential Integrity
- Der DB2-Lösungsansatz
- DB2-RI-Zielsetzungen
- RI-Terminologie
- RI - Manipulations-Regeln und -Maßnahmen
- Unterstützte referenzielle Strukturen
- Mögliche Einzel-Strukturen
- Die Einbindung der Einzelstrukturen in eine 'logische referenzielle Struktur'
- Die Verarbeitungs-Konsequenzen von referenziellen Strukturen
- Logische referenzielle Struktur
- Physische referenzielle Struktur (Tablespace-Set)
- Struktur-Besonderheiten und Anomalien
- 1:1-Beziehung mit gegenseitiger Referenz
- DELETE-Abhängigkeiten
- Delete-Beziehungen über mehrfache Pfade
- Regelwerk für Delete-Beziehungen über mehrfache Pfade
- Gesamt-Überblick über die DB2-RI-Unterstützung
- Katalog-Strukturausschnitt für die RI-Unterstuützung
- Katalog-Tabellen und Spalten für die RI-Unterstützung
- Was tun, wenn DB2-RI nicht genutzt werden soll oder kann?
- Argumente für und gegen RI
DB2-Daten-Verwaltung
- Überblick
- Benutzer-orientierte und system-orientierte Objekte
- DB2-Daten-Speicherungshierarchie
- Tablespace
- Zuordnung zu DB2-Speicher-Objekten Die Page-Größe und ihre Einflussnahmen
- Tablespace-Typen
- File-Page Sets
- Linear Page Sets
- Partitioned Page Sets
- Universal Page Sets
- LOB Page Sets
- XML Page Sets
- Page Typen des File Page Sets
- Physische Charakteristiken für Tablespace und Partition
- PRIQTY
- SECQTY
- Dynamisches Partition-Konzept ab Version 8
- Erweiterung der Partition-Anzahl
- Partition-Rotation
- Partition-Rebalance
- Nachträgliche Änderungsmöglichkeiten von Tablespace-Charakteristiken
- Basis-Tabelle (Base-Table)
- Definition der Tabellen-Spalten
- Definition von Constraints
- Referential Constraint
- Check Constraint
- Vergabe einer lfd. Nummer durch DB2
- Identity-Spalten-Charakteristik oder Sequence-Objekt
- Automatische Generierung von Werten durch DB2 (GENERATED ALWAYS und GENERATED BY DEFAULT)
- Zuordnung der Table zum Tablespace
- Definition einer partitioned Table (table-kontrollierte Partitionierung)
- Änderung von Table-Charakteristiken
- Die Konsequenzen bei Änderung des Daten-Typs einer Spalte
- Definition einer Clone Table
- Index
- Index-Typen
- Definition der Index-Spalten
- Der Clustering Index organisiert die Datenfolge
- Partitioning Index und Partitioned Index
- Table-kontrollierte Partitionierung
- Index-kontrollierte Partitionierung
- Gegenüberstellung der Table- und Index-kontrollierte Partitionierung
- und nun alle Index-Typen der Table-kontrollierten Partitionierung auf einmal
- DPSI: Data Partitioned Secondary Index
- Welche Indizes eignen sich als Partitioned Index?
- Scalar Expression Index (Index on Expressions)
- Interne Organisation eines Indexes
- Zuordnung eines Indexes zum Indexspace, den Page Sets und Datasets
- Indexspace - Aufgabenstellung und relevante Zuordnungen
- B-Tree-Struktur eines Indexes
- Änderung von Index-Charakteristiken
- Löschung eines Indexes
- Welche Vorteile bietet ein Index, welche Nachteile sind zu beachten?
- Vorteile eines Indexes
- Nachteile eines Indexes
- Empfehlungen zum Index-Einsatz
DB2-Space-Management
- Überblick
- File-Page-Set
- Aufbau und Inhalte der Header Pages
- Positionierung und Verwaltungsbereich der Space Map Pages
- Aufbau und Inhalte der Space Map Pages
- Aufbau und Inhalte der Daten-Pages
- Interne Daten-Satzformate: BRF und RRF
- Index-Page-Set
- Grob-Struktur eines Index Page Sets
- Struktur der Index-Entries
- Plattenplatz-Bedarf
- Kapazitätsberechnungs-Beispiel für Daten
- Formeln für die Space-Berechnung
- Kapazitätsberechnungs-Beispiel für Index-Daten
- Formeln: Plattenplatz-Bedarf für Index
- Kompression der Daten und Index-Entries
- DB2-Bufferpool
- Übersicht über das Bufferpool-Konzept
- Lese- und Schreib-Anforderungen
- Bufferpool-Thresholds
- Mögliche Strategien bei der Bufferpool-Einrichtung und Zuordnung
- VSAM-Datasets
Tools zur Unterstützung des physischen Designs
- Die Ergebnistypen der Entwicklungs-Ebenen
- Tool-Kategorien
- TRACE
- Systembezogene DB2-Tools
- Weitere Tools in der DB2-Umgebung von IBM
- Der Katalog führt die physisch aktuellen Metadaten
- Entwicklungswerkzeuge für die PAEs (Auswahl)
- Verwaltungswerkzeuge für die DBADMs (Auswahl)
- Katalog-Abfragen
- Wesentliche Katalog-Spalten hinsichtlich der optimalen Speicherorganisation
- Reorganisationserfordernisse
- DB2-Commands
- Beispiel: DISPLAY DATABASE
- Erläuterung zum globalen Status der Database
Workshops/Fallbeispiele:
- Praktikum 'Physisches DB2-Design' mit theoretischen Übungen
am Schreibtisch.
|
|
DB2-PROG
Anwendungs- programmierung
|
Zielgruppe:
- Programmierer und alle DB2-Anwendungsentwickler.
Voraussetzungen:
- Mindestens 1/2-jährige Erfahrung in der allgemeinen Programmierung.
- Theroetische DB2-Grundkenntnisse analog DB2-GR.
Besondere Hinweise:
- Keine
Kursinhalte:
DB2-Sprachschnittstellen (Überblick)
- SQL-DDL - Data Definition Language
- SQL-DML - Data Manipulation Language
- Fortgeschrittene DML-Funktionen:
Inner Join und Outer Join, Sub-Query-Typen und ihre Verarbeitungs-Konsequenzen,
Nested Table Expression, Common Table Expression, Scalar Full-Select
- SQL-DCL - Data Control Language
- DB2-Katalog
- DB2-Commands und Utilities
DB2-Produkt
- DB2-System-Komponenten
- Die verschiedenen Rollen, in denen sich DB2 als Datenbankserver befinden kann
und die Zugriffs-Konsequenzen:
- MVS-Subsystem
- Lokation
- Member in einer Group
- DB2-Objekt-Typen
- Eigentümer und Erzeuger der Objekte (Owner, Creator und Schema)
- Objekt-Typen der Datenhaltung
- Benutzerorientierte Objekt-Typen
- Table (Base, Auxiliary, Temporary, Materialized)
- View
- Synonym und Alias
- Systeminterne Objekt-Typen
- Tablespace
- Index und Indexspace
- Database
- Storagegroup
- VSAM-Datasets
- Objekt-Typen für Funktionsunterstützung
- UDF - User-defined Functions
- STP - Stored Procedures
- Trigger (Before und After)
Programmierung unter DB2
- Programm-Entwicklung
- Entwicklungs-Komponenten und ihr Zusammenspiel
- DB2-Precompiler/Pre-Prozessor
- Die Rolle von DBRM, Package, BIND und COLLECTION
- Attachment-Facilities
- Programm-Aufbau und Inhalte
- SQL-Verarbeitungsmöglichkeiten in Programmen
- Die Überprüfung von Ausnahmebedingungen und Fehlern:
SQLCA-Inhalte, SQLCODE oder SQLSTATE?, GET DIAGNOSTICS
- Die Behandlung von Null-Werten
- Rowset-Verarbeitung
- Das Cursor-Konzept
- Materialisierte und positionierte Cursor
- Updateable und non-updateable Cursor
- Scrollable und non-scrollable Cursor
- Statische und dynamische Cursor
- Dynamisches SQL
SQL-Performance-Überblick der relevanten Komponenten
- Relevante Komponenten - Zugriffspfad-Varianten des Optimizers
- Einfache Zugriffspfade
- Komplexe Zugriffspfade
- Kontrolle der Optimizer-Zugriffspfad-Entscheidung
Workshops/Fallbeispiele:
- Besprechung diverser Fallbeispiele
- Theoretisch aufgebauter Workshop.
- Bei Inhouse-Seminaren kann eine Workshop-Umgebung eingerichtet werden.
|
|
DB2-ADES
Anwendungsdesign
|
Zielgruppe:
- DB2-Projektleiter, alle Anwendungsentwickler.
Voraussetzungen:
- Mindestens 1/2-jährige Erfahrung in der DB2-Umgebung. - Gute DB2-Kenntnisse sind empfehlenswert.
Besondere Hinweise:
- Keine
Kursinhalte:
DB2-Kommunikations-Komponenten
- DB2 z/OS
- z/OS-System-Schichten
- DB2-Subsystem / DB2-Lokation / DB2-Group und -Member
- z/OS-Adressraum-Konzept
- Adressräume für Routinen (Stored Procedures und/oder User-defined Functions)
- Dateiverarbeitungs-Möglichkeiten der Anwendungen
- Verteilung von Anwendungen: Stored Procedures
Gemeinsame Nutzung von DB2-Daten
- DB2 Data Sharing (DS)
- Überblick
- MVS-Sysplex
- Aufgaben-Abgrenzung zwischen Membern und dem Coupling Facility
- Speicher-Strukturen einer Data Sharing Group
- Coupling Facility und Group Bufferpools
Client/Server-Features
- Verteilung der Daten - Distributed Data
- Die Client-Server-Architektur von DB2 (C/S)
- Syntax-Anforderungen unterschiedlicher Systeme
- DRDA - Distributed Relational Database Architecture
- Die 4 Verteilungs-Typen von DRDA und SAA
- Die Varianten des Zugriffs aus einem Programm heraus
- Übersicht über die wesentlichen Komponenten
- Remote-Zugriff über 3-teilige Objekt-Namen/ALIAS oder nach CONNECT
- DB2-Privat-Protokoll und DRDA-Protokoll
- Multi-site update
- Stored Procedures
- Ablauf und Komponenten
- Übergabe von Query Result Sets
- Verteilte Datenbanken - Die 12 Regeln von Chris Date
Programm-Design unter DB2: Allgemeine Aspekte
- DB2 das Multi-User-System
- Batch- und Dialogabwicklung unter DB2
- Grundsätzliche Aspekte der Mengenverarbeitung
- Welche SQL-Programmier-Technik ist sinnvoll?
- Konsistenz-Bereiche der einzelnen System-Komponenten bei Dialog-Verarbeitung
- UOW und UOR
- SAVEPOINT
- Abschluss einer UOW/UOR und Wirkungen
- Konsistenz-Problemstellungen eines Parallel-Betriebs
- Konsistenzschutz der Ressourcen bei Parallelverarbeitung
- Transaction Lock
- Lock-Charakteristiken
- Welche relevanten Parameter steuern die Lock-Mechanismen?
- Lock-Niveau: Tablespace, Table, Partition, Page bzw. Row
- Lock-Modus auf Lock-Niveau: Page bzw. Row
- Deadlocks
- Erkennung von Deadlocks
- Vermeidung von Deadlocks
- Konsistenz-Koordination zwischen verschiedenen Systemen
- Allgemeine Programm-Design-überlegungen
Programm-Design: Betriebsformen und Programmtypen
- Online, Batch und Multi-User
- Dialog-Verarbeitung
- Online- und Batch-Verarbeitung; synchrone und asynchrone Abwicklung
- Betriebsformen und Windows
- Funktions-Typen und ihre Anforderungs-Profile
- Batch
- Online
- Asynchron
- Service
- Started Tasks (STC) und Message-Konzept
- Durchsatz- und Zeit-Anforderungen der Benutzer
Programm-Design: Batch-Anwendungen
- Massendaten-Verarbeitung
- Batch-Programm-Kategorien und ihre Konsequenzen
- Die Auswirkungen von Langläufern im System
- Batch-Langläufer und Commit-Einsatz
- Was spricht für und gegen den Commit-Einsatz ?
- Unterstützung von Rollback und Restart der Batch-Programme
- Welche Restart-Einrichtungen können genutzt werden?
- Besondere Problematik bei sequential Files
- Empfehlungen zum Design von Batch-Langläufern
Programm-Design: Online - Anwendungen
- Wesentliche Komponenten der Online-Verarbeitung
- Parallelupdate: Probleme und Lösungs-Ansätze
- Online-Browsing/Blättern: Probleme und Lösungs-Ansätze
- Scrollable Cursor
- Cursor-Typen
- Cursor- und FETCH-Typen und ihre Sichten auf die Daten der Result Table
- Informationsbereitstellung eines Scrollable Cursors
- Positionierung in der Result Table eines Scrollable Cursors
- Manipulationen über die Result Table eines Scrollable Cursors
- Scrollable Cursor: Positionierung mit Rowsets
- Daten-Mengen-Update im Online
Programm-Design: Multi-User-Anwendungen
- Parallel-Betrieb
- Konzeptioneller Unterschied zwischen Batch- und Multi-User-Verfahren
- Ein Wort zur 'Permanenz'
- Probleme des Multi-User-Betriebs
- Batch- und Online-Parallelität
- Mengenverarbeitung auf Realtime-Daten: das ewige Rätsel
- Programmtechnische Konsequenzen
- Bereitstellung der 'steuernden' Result Table
- Einsatz des Cursor-Konzeptes
- Konsequenzen bei Nutzung von SELECT WITH RR/RS
- Welche COMMIT-Frequenz ist sinnvoll?
- Beispiel der Ermittlung einer optimalen Commit-Frequenz
DB2-Verfahrensunabhängigkeit
- Abkopplung von Daten und Funktionen
- Sicht eines Anwendungsprogrammes auf die Daten
- Lass die Datenbank loopen!
- Objektorientierte Verwaltung der Daten
- Daten-Verwaltung immer über eine zuständige Funktion/Methode
- Einsatz von Standard-Zugriffs-Routinen
- Verlagerung von Programmlogik in den Katalog: aktive Datenbank
- Komponenten einer aktiven Datenbank
- Argumente für und wider eine "aktive Datenbank"
- DB2-View-Einsatz
- Stored Procedure, User-defined Function und Trigger
- Varianten beim Einsatz von Unterprogrammen und Stored Procedures
- Verlagerung datennaher Dienste in den DB2-Bereich
- Einsatz von Stored Procedures
- Ablauf
- Grund-Varianten der Client-Server-Verarbeitung
- Konsequenzen einer Verteilung
Workshops/Fallbeispiele:
- Es wird ein theoretischer Schreibtisch-Workshop durchgeführt:
DB2-Verfahrens-Design.
|
|
DB2-PERFSQL
DB2-SQL-Performance
|
Zielgruppe:
- Datenbank-Administratoren und technisch interessierte DB2-Entwickler.
Voraussetzungen:
- Mindestens 1-jährige Erfahrung in der DB2-Umgebung.
- Kenntnisstand von DB2-PROG, DB2-IMP und DB2-PAE erforderlich.
Besondere Hinweise:
- Der Inhalt wird auf sehr anspruchsvollem Niveau behandelt.
- Es werden tiefgehende und komplexe systemtechnische und anwendungsentwicklungsspezifische
Aspekte behandelt.
Kursinhalte:
DB2-Datenspeicherung
- Konzept der Datenpools
- DB2-Speicherungs-Hierarchie
- Physische Speicher-Struktur (Storage Structure): Page-Set-Organisation
- File-Page Sets
- Linear Page Sets
- Partitioned Page Sets
- Universal Page Sets
- LOB Page Sets - XML Page Sets - Page Typen des File Page Sets - Index-Page Sets - B-Tree-Struktur - Adressierung der Index Pages und der Daten Pages - Clustering, Clustered und Non-Clustered
- Die Performance-Faktoren der Datenspeicherungs-Hierarchie - Überblick - Kompression der Daten und Index-Entries - Parallel-Verarbeitung - Partitioned Tablespace - Partition-Unabhängigkeit
DB2-Sperrmechanismen
- Transaktions-Locks
- Lock-Charakteristiken - Lock-Niveau: Tablespace, Table, Partition, Page bzw. Row - DB2-Lock-Modus-Entscheidungen - Lock-Auswirkungen auf die DB2-System-Ressourcen - Drain Locks
- Claims und Drains - Restriktiver Space-Status von Utilities - DB2 Data Sharing - Gewährleistung der Daten-Konsistenz
DB2-Optimizer
- Viele Wege führen zur Result Table
- Die Komponenten der Daten-Beschaffung
- Aufgabenteilung von RDS, DM und BM - Die interne Struktur von RDS
- Optimizer-Auswahl-Faktoren für die Entscheidungen zum optimalen Zugriffspfad
- Übersicht
- Statistikfelder des Katalogs
- Analysemöglichkeit der Zugriffspfade
- Rahmenbedingungen
- EXPLAIN und PLAN_TABLE - EXPLAIN und DSN_STATEMNT_TABLE
- I/O-Zugriffs-Typen
- Sequential Prefetch - List Prefetch - Die Nutzung der Parallel-Verarbeitung durch DB2 - Kandidaten für Parallel-Verarbeitung - Effekte der Parallel-Verarbeitung - Voraussetzungen für die Parallel-Verarbeitung - Restriktionen bei der Nutzung der Parallel-Verarbeitung - Der Ausweis der Parallel-Verarbeitung in der PLAN_TABLE
- Einfache Zugriffspfade und ihre Bedeutung
- Tablespace Scan (File Page Set Scan) - Index-Zugriffe - Matching Index Scan - Non-Matching Index Scan - Equal Unique Index Access - IN-List Index Scan - One Fetch Access - Index-Only-Access - Multiple Index Access - Direkt-Zugriffe ohne Index-Nutzung - Direkt-Zugriff (ROWID) - Direkter Zeilen-Zugriff über die RID-Funktion
- Sort
- Komplexe Zugriffspfade und ihre Bedeutung
- Die Join-Typen - Inner Join und Outer Join - Die klassischen Join-Methoden - Überblick - Ausweis von Joins in der PLAN_TABLE - Nested Loop Join - Merge Scan Join - Optimizer-Kostenformel: Beispiel - Hybrid Join - Komplexe Query-Typen - Correlated und Non-Correlated Query-Typen - Subquery - Non-correlated Subquery - Correlated Subquery - Table Expression - Common Table Expression - Nested Table Expression - Scalar Full-Select - SELECT FROM FINAL/OLD TABLE mit Data-Change-Statement - Set-Operator
- Materialisierung
- VIEW-Materialization
- Filterung der Daten
- Der Einfluss der Query-Prädikate auf die Performance - Prädikat-Kategorien - Die Wirkung der Filterung
- Inhaltliche Verteilung von Datenwerten - Filter-Faktor (FF) - Aufgabenstellung und Wirkung
- Gleichmäßige Streuung und Verteilung der Daten
- Filter-Faktor für gleichmäßige Streuung: Einfache/Simple Prädikate
- Filter-Faktor für gleichmäßige Streuung: Interpolations-Formeln für Range-Prädikate
- Filter-Faktor für gleichmäßige Streuung: Default-Filter-Faktoren für Interpolation-Formeln (Input-Variablen)
- Filter-Faktor für ungleichmäßige Verteilung: Frequenz- (FREQVAL) und Werteverteilungs-Statistiken (KEYCARD)
für Spalten oder Spalten-Gruppen
- Filter-Faktor für ungleichmäßige Verteilung: Häufigkeitsverteilung (HISTOGRAM) für Spalten oder Spalten-Gruppen
- Stage1-, Stage2- und Indexable-Prädikate - Reihenfolge der Prädikat-Abwicklung
- Reduzierung der Kommunikations-Aufwendungen zwischen Anwendungen und DB2
- Verlagerung von Funktionen aus der Anwendung ins DB2
- Nutzung impliziter Mechanismen: RI- und CHECK-Rules und Trigger
- Nutzung explizit entwickelter Funktionen: Routinen (Stored Procedures und Funktionen)
- Nutzung der ROWSET-Funktionen beim INSERT, MERGE und mit dem Cursor-Konzept
- Lass die Datenbank loopen!
- Tricks und Kniffe
- Statement-Modifikationen durch den Optimizer - Prädikat-Modifikationen und Einfügungen - Materialisierungs-Entscheidung - Modifikationen der Join-Verarbeitung - Regeln der Transformation von Subqueries in Join - AQR - Automatic Query Re-Optimization - Analyse-Beispiel einer MQT-Nutzung - Vorgabe von Zugriffspfad-Empfehlungen für den Optimizer (OPTHINT) - Volatile Tabellen - Prädikat-Manipulation durch den Entwickler - Veränderungen von Objekt-Strukturen - Aufbau eines Extended Indexes (Index on Expression) - Manipulation der Statistiken - Umschreiben von SQL-Statements - Beeinflussung der Outer-Table-Auswahl und der Join-Methode - Die Wirkung von Host-Variablen beim BIND - OPTIMIZE FOR n ROWS - Weitere Komponenten im Performance-Umfeld
- Safe Query Optimization Technik (Index-Probing)
- Resource Limit Facility (RLF) - DB2 Governor
- IDAA: IBM DB2 Analytics Accelerator (früher: Smart Analytics Optimizer oder Accelerator Server genannt)
- Überblick der Komponenten
DB2-Performance-Kontrolle
- DB2-Tools
- Übersicht der IBM-MVS-System-Tools - Systembezogene Tools in der DB2-Umgebung diverser Software-Unternehmen - Systembezogene Tools in der DB2-Umgebung von IBM - Weitere Tools in der DB2-Umgebung von IBM - Statistik-Kategorien und Typen - Wesentliche Katalog-Spalten hinsichtlich der optimalen Speicherorganisation - Zustand der Daten - Zustand der Indizes - Welche generellen Katalog-Tatbestände führen zu einer Utility-Aktivierungs-Empfehlung?
- DB2-Commands
- Beispiel: DISPLAY DATABASE - Übersicht des Database-Status - Anzeige von Database-Locks
- Standard-Tabellen für die Unterstützung von Performance-Maßnahmen
- Komponenten-Überblick der Zugriffspfad-Analyse-Moöglichkeiten
- EXPLAIN PACKAGE - Zugriffspfad-Analyse aus vorhandenen Packages
- Beispiele
- EXPLAIN einer Package
- Stabilität des Zugriffspfads und Zugriffspfad-Repository
- Table-Strukturen für die Performance-Analyse
- PLAN_TABLE
- Struktur-Beschreibung der PLAN_TABLE
- DSN_STATEMNT_TABLE
- Struktur-Beschreibung der DSN_STATEMNT_TABLE
- DSN_STATEMENT_CACHE_TABLE
- Struktur-Beschreibung der DSN_STATEMENT_CACHE_TABLE
DB2-Tuning-Checklisten
- Tuning-Tips, Checklisten und Empfehlungen - Tuning-Summary - Systemgenerierungs- und Installations-Optionen - Objekt-Definitionen - Anwendungs-Design und -Programmierung - SQL-Query-Empfehlungen - Die wesentlichen Informationen der PLAN_TABLE - Was tun bei langlaufenden SQL-Statements? - Checkliste Test-Strategie
Workshops/Fallbeispiele:
- Es wird kein Workshop durchgeführt - nur theoretische
Wissensvermittlung z.T. anhand von Fallbeispielen.
- Bei Inhouse-Seminaren kann eine Workshop-Umgebung eingerichtet werden.
|
|
DB2-UTILITY
DB2-Online- und Standalone-Utilities
|
Überblick
- Abgrenzung IBM-DB2-Tools - DB2-Utilities
DB2 Online Utilities
- Komponenten und Phasen eines Utilities
- Ergebnis- und Status-Kontrolle eines Utility-Laufs
- RESTART (CURRENT) und RESTART (PHASE)
- Utility-Datasets
- Dataset-Disposition und Dataset-Größen
- Generelle und spezielle Utility-Control-Statements
- Utility-Control Statement: EXEC SQL, LISTDEF, TEMPLATE, OPTIONS
- Inline-Utility-Ausführungen
- Inline-Kopien mit dem LOAD-Utility und REORG-Utility
- Konsequenzen der Inline-Kopien auf andere Utilities
- Inline-Statistiken mit dem LOAD-, REORG- oder REBUILD-Utility
- Sperren und Kompatibilität der Utilities untereinander
Utilities zum Laden, Entladen und Reorganisieren von Daten und Indizes
- LOAD-Utility
- Utility-Phasen
- Offline-Load
- Laden der Daten von partitioned Tablespaces und
paralleler Aufbau der Indizes beim LOAD
- Online-Load
- Unterscheidungsmerkmale von Offline- und Online-Load
- Konsequenzen bei Einsatz des Online-Load-Utilities
- REBUILD INDEX-Utility
- Wann ist REBUILD INDEX zweckmäßig oder erforderlich?
- REORG INDEX-Utility
- Wann ist REORG INDEX zweckmäßig oder erforderlich?
- REORG TABLESPACE-Utility
- Parallele Verarbeitungsmöglichkeiten
- SHRLEVEL NONE - keine Parallelverarbeitung ab RELOAD erlaubt
- SHRLEVEL REFERENCE - lesende Parallel-Verarbeitung erlaubt
- SHRLEVEL CHANGE - Parallel-Verarbeitung erlaubt (Online-Reorg)
- Besonderheiten beim Aufbau von NPIs
- REBALANCE - Re-Balancieren ungleich großer Partitions
- Wann ist REORG TABLESPACE zweckmäßig oder erforderlich?
- UNLOAD-Utility
- Entladen von Tablespaces, Tables und Image-Copies
Utilities zum Erzeugen von Statistik-Informationen aus Daten und Indizes
- RUNSTATS-Utility
- Statistik-Kategorien
- Aktualisierung der Katalog-Statistiken
- welche Tabellen und Spalten aktualisiert RUNSTATS ?
- Exaktheit der Statistikwerte - woran erkennt man die Aktualität der Statistiken?
- Darstellung der Statistikwerte im Katalog
- Manuelle Veränderung der Statistikwerte im Katalog
- Ungleichförmige Verteilung von Datenwerten (non-uniform distribution)
- STOSPACE-Utility
Utilities zum Prüfen der Konsistenz von Daten und Indizes
- CHECK DATA-Utility
- CHECK INDEX-Utility
- CHECK LOB-Utility
Utilities zum Sichern und Wiederherstellen von Daten und Indizes
- BACKUP SYSTEM-Utility
- COPY-Utility
- Wie kann die Konsistenz der Objekte sichergestellt werden?
- Copy-Typen
- Primär- und Backup-Kopie, Kopien für das lokale und das Recovery-System
- Full Image Copy und Incremental Image Copy
- Parellele Ausführungsmöglichkeiten des Utilities
- COPYTOCOPY-Utility
- MERGECOPY-Utility
- QUIESCE-Utility
- RECOVER-Utility
- Copy-Typen
- Zurücksetzen von Datenzuständen
- RESTORE SYSTEM-Utility
Utilities zum Löschen nicht mehr benötigter System-Informationen
- MODIFY RECOVERY-Utility
- MODIFY STATISTICS-Utility
Utilities für Objekt-Informationen und zur Fehler-Unterstützung
- DIAGNOSE-Utility
- REPAIR-Utility
- REPORT-Utility
Standalone Utilities
- DSNJLOGF (Preformat Active Log)
- DSNJU003 (Change Log Inventory), DSNJU004 (Print Log Map)
- DSN1CHKR, DSN1COMP, DSN1COPY, DSN1LOGP, DSN1PRNT, DSN1SDMP
Statistiken und ihre Nutzungsmöglichkeiten
- Überblick
- Was ist der Zweck der Statistiken?
- Übersicht der relevanten Statistik-Informationen
- DB2-Statistik-Kategorien und relevante Komponenten
- Speicherung der relevanten Index-Statistik-Informationen
- Schnappschuss-Statistiken im Katalog
- Bedeutung von LEAFDIST, LEAFNEAR und LEAFFAR
- Speicherung der relevanten Daten-Statistik-Informationen
- Bedeutung von NEAROFFPOSF und FAROFFPOSF, CLUSTERRATIOF, NEARINDREF und FARINDREF
- Speicherung der relevanten LOB-Statistik-Informationen
- Bedeutung von ORGRATIO
- Automatisierung der Statistik-Analyse mit Anstoß von Utility-Läufen
- Aktuelle Statistiken: RTS - Realtime-Statistiken
- RTS-Komponenten
- Sammeln und Aktualisieren der Statistikdaten
- Ausschreiben der Statistiken in die RTS-Tabellen (Externalisierung)
- Analyse der Statistiken
- Stored Procedure DSNACCOR - Analyse Realtime Statistiken
- Schnappschuss-Statistiken
- Analyse
- Stored Procedure: DSNACCAV - Partition-Informationen
- Stored Procedure: DSNACCQC - TS- und IX-Space-Informationen
- Welche Tatbestände führen zu einer Utility-Aktivierungs-Empfehlung ?
- Historien-Statistiken
Pending Status (Advisory und Restricted Status)
Workshops/Fallbeispiele:
- Es wird kein praktischer Workshop durchgeführt -
nur theoretische Wissensvermittlung.
|
|
DB2-ROUTRIG
Effizienz von Routinen und Triggern
|
Überblick
- Komponenten einer "aktiven Datenbank"
- Terminologie
- Verlagerung sämtlicher datennaher Dienste in den DB2-Bereich
- Objekt-Hierarchie
- Identifikation von Stored Procedures, Functions und Triggern
- SQL-Pfad, Schema, Specific Name und External Name
- Function Overloading und Function Resolution
- Externe Routine und SQL-Routine
Infrastruktur
- Adressräume für Stored Procedures und/oder User-defined Functions
- SPAS oder WLM-gemanged
- Installations-Parameter
- Programm- und Adressraum-Konzept
- CAF- oder RRSAF-Attachment
- Technische Einsatzbedingungen von externen Routinen
- Charakteristiken von externen Routinen
- Starten und Stoppen von Routinen
- Zulässige und unzulässige Funktionen
- Nutzung externer Funktionen
- Behandlung von Spezialregistern
- Haupt- oder Unterprogramm
- Entwicklungs-Komponenten
- Zuordnung von Plan und Packages
- Verhalten von Dynamic SQL-Statements (Statement Behavior)
- Fehlerbedingungen
- Fehler-Behandlung und -Erkennung bei Routinen
- Inaktivierung der Routine bei Fehler
- Fehler-Behandlung und -Erkennung bei Triggern
IBM-Builtin-Functions
- Funktions-Typen
- Basis-Sprach-Elemente
UDF - User-defined Function
- Überblick
- Der Einsatz von benutzerdefinierten Funktionen
(User-defined Functions)
- Überblick der Funktions-Typen
- Nutzungsmöglichkeiten und Funktionseinsatz
- Aufruf-Varianten einer externen Funktion
- Programmtechnische Besonderheiten
- Scratchpad-Bereich
- Parallellauf-Besonderheiten
- Parameter der User-defined Function
- CALL-TYPE bei Table-Functions
- Sourced Function
- External Scalar Function
- Codier-Beispiele: Aufruf und Parameterübergabe
- External Table Function
- SQL Scalar Function
- Commands für Funktionen
STP- Stored Procedures
- Überblick
- Vorteile und Nachteile von Stored Procedures
- Vorteile einer Stored Procedure gegenüber einem
Unterprogramm
- DB2 External Stored Procedures und SQL Procedures
- System-Konzept von DB2 External Stored Procedures
- SQL-Prozeduren und Stored Procedures Builder (SPB)
- Aufruf einer remote Stored Procedure und Ablauf
- Nutzungsmöglichkeiten und Funktionseinsatz
- Varianten beim Einsatz von Unterprogrammen und Stored Procedures
- Aufruf-Varianten einer Stored Procedure
- Verbesserungen der Version 7
- Parameter der Stored Procedure
- Übergabe von Query Result Sets
- Commands für Stored Procedures
Trigger
- Überblick
- Trigger-Typen
- Before-Trigger
- Trigger zur bedingungslosen Verhinderung von Einfügungen
- Trigger zur bedingten Verhinderung von Einfügungen
- Trigger zur Einsetzung von Initialwerten bei Einfügungen
- Trigger zur Sperre von anderen Objekten
- Weitere Beispiele zulässiger Kombinationen
- Aufrufe von Routinen
- Aufruf einer Scalar-Function
- After-Trigger
- After-Row-Trigger mit Aufruf einer Stored Procedure
- After-Statement-Trigger mit Aufruf einer User-defined
External Function - Variante A
- After-Row-Trigger mit Aufruf einer User-defined
External Function - Variante B
- Cascading Effekte bei After Triggern
- Syntaktische Restriktionen
- Beispiele unzulässiger Kombinationen
- Codier-Beispiele: Aufruf Stored Procedure mit Übergabe
einer Transition-Table
Workshops/Fallbeispiele:
- Es wird kein praktischer Workshop durchgeführt:
Anhand diverser praktischer Fallbeispiele werden die Wirkungen detailliert
erläutert.
Bei Inhouse-Seminaren kann eine praktische Workshop-Umgebung eingerichtet
werden.
|
|
DB2-TEMPORAL TABLES
Daten mit Gültigkeitszeiten
|
Überblick
- Modell-Ansatz, DB2-spezifische Realisierung und Bewertung von Temporal Tables: - Fachliche Gültigkeiten (PERIOD BUSINESS_TIME) - Technische Gültigkeiten (PERIOD SYSTEM_TIME) - Bi-Temporal-Tables mit Daten-Versionierung und History-Table.
DB2-Temporal Tables - Daten mit Zeitbezug
- Einleitung, Terminologie
- Temporale Modelle: Realisierungs-Beispiele - SQL/Temporal im Rahmen von SQL3
- Daten-Modell-Konzepte - Temporal Tables und Relationen-Modell - Fachliche Zeitaspekte - Konzeptionelle Umsetzungs-Varianten für Zeitaspekte - Technische Zeitaspekte - Zusammenfassende Konsequenzen eines Zeitraumkonzeptes
- DB2-Unterstützung von Daten unter Zeitbezug und Versionierung - Temporal Table mit Perioden-Konzept: BUSINESS_TIME und SYSTEM_TIME - Konzeptioneller Überblick des Modells - Überblick der Terminologie und Komponenten - Technische Lösung - Die unterschiedlichen Modelle für Zeit-Konzepte und die DB2-Lösung - Fachliches Zeit-Konzept: BUSINESS_TIME - Konzept der Manipulation von Zeitleisten
- DB2-Temporal Tables - Application Period Temporal Table: Fachliche Gültigkeiten - PERIOD BUSINESS_TIME - Komponenten des Konzeptes - Erforderliche bzw. sinnvolle Struktur-Anpassungen für fachliche Gültigkeiten - Definition der relevanten Objekte - Beispiel DDL für CREATE Temporal Table mit fachlichen Gültigkeiten (PERIOD BUSINESS_TIME) - DB2-Temporal Tables: Katalog Metadaten für fachliche Gültigkeiten (PERIOD BUSINESS_TIME) - INSERT Daten - Beispiel-Inhalte als Ausgangsbasis für fachliche Gültigkeiten (PERIOD BUSINESS_TIME) - Einfügungsversuche von Zeitleisten, überwiegend mit Zeitüberlappungen - Manipulation von Daten mit Gültigkeitszeiten - Beispielhafte Manipulationen beginnend ab einem bestimmten fachlichen Termin mit unbegrenzter Gültigkeit - Beispielhafte Manipulationen beginnend ab einem bestimmten fachlichen Termin mit einer begrenzten Gültigkeit - Bereitstellung der Daten mit Gültigkeitszeiten - SELECT mit FOR BUSINESS-Klausel - Nachträgliches Einrichten einer Temporal Table mit fachlichen Gültigkeiten (PERIOD BUSINESS_TIME) - Beispiel DDL für ALTER Basis-Tabelle - Anzeige des Datenzustands nach ALTER Basis-Tabelle - REORG, UNLOAD und LOAD der Daten nach ALTER Basis-Tabelle - Relevante Utilities für die Verwaltung der Temporal Tables mit PERIOD BUSINESS_TIME - Entladen und Laden von Daten: UNLOAD- und LOAD-Utility - Fazit der BUSINESS_TIME-Unterstützung
- DB2-Temporal Tables: Technische Gültigkeiten - PERIOD SYSTEM_TIME - Komponenten des Konzeptes - DB2-Temporal Tables: Erforderliche bzw. sinnvolle Struktur-Anpassungen für technische Gültigkeiten - Definition der relevanten Objekte
- Beispiel DDL für CREATE Temporal Table mit technischen Gültigkeiten (PERIOD SYSTEM_TIME) - DB2-Temporal Tables: Katalog Metadaten für technische Gültigkeiten (PERIOD SYSTEM_TIME) - INSERT Daten - Beispiel-Inhalte als Ausgangsbasis für technische Gültigkeiten (PERIOD SYSTEM_TIME) - Manipulation von Daten mit impliziten technischen Gültigkeitszeiten - Beispielhafte Manipulationen - Bereitstellung der Daten mit Gültigkeitszeiten - SELECT mit FOR SYSTEM-Klausel mit implizitem Zugriff auf die Versions-Daten in der History-Table (UNION ALL) - Nachträgliches Einrichten einer Temporal Table mit fachlichen Gültigkeiten (PERIOD SYSTEM_TIME) - Beispiel DDL für ALTER Basis-Tabelle - Anzeige des Datenzustands nach ALTER Basis-Tabelle - Manipulationen der Temporalen Daten - Relevante Utilities für die Verwaltung der Temporal Tables mit PERIOD SYSTEM_TIME - Entladen und Laden von Daten: UNLOAD- und LOAD-Utility
- Bi-Temporale Tabellen mit fachlichen Gültigkeiten - PERIOD BUSINESS_TIMES und technischen Gültigkeiten - PERIOD SYSTEM_TIME - Komponenten des Konzeptes - DB2-Bi-Temporal Tables: Erforderliche bzw. sinnvolle Struktur-Anpassungen für fachliche und technische Gültigkeiten - Definition der relevanten Objekte - DB2-Temporal Tables: Beispiel DDL für Bi-Temporale Tabellen mit - fachlichen (PERIOD BUSINESS_TIME) und - technischen Gültigkeiten (PERIOD SYSTEM_TIME) - DB2-Bi-Temporal Tables: Katalog Metadaten für fachliche (PERIOD BUSINESS_TIME) und technische Gültigkeiten (PERIOD SYSTEM_TIME) - INSERT Daten - Beispiel-Inhalte als Ausgangsbasis für fachliche (PERIOD BUSINESS_TIME) und technische Gültigkeiten (PERIOD SYSTEM_TIME) - Manipulation von Daten mit expliziten fachlichen und impliziten technischen Gültigkeitszeiten - Beispielhafte Manipulationen - Informations-Bereitstellung von Daten mit technischen Gültigkeitszeiten
- Performance von Temporal Tables - Generelle Performance-Aspekte - BI-Temporal Table - Übersicht der relevanten Objekt-Struktur - Einfacher SELECT auf eine Tabelle - Joins - Join auf drei Tabellen mit PERIOD BUSINESS_TIME: Ein Objekt mit Referenzen - Zeitpunkt-Darstellung - Join auf drei Tabellen mit PERIOD BUSINESS_TIME: Ein Objekt mit Referenzen - Zeitraum-Darstellung - Join auf drei Tabellen mit PERIOD SYSTEM_TIME: Ein Objekt mit Referenzen - Zeitpunkt-Darstellung - Manipulationen
- Fazit (bei Daten-Versionierung mit Historien-Tabelle)
- DB2-Temporal Tables - Zusammenfassung - Konzepte und unterstützte Funktionalitäten - Programmtechnische Regeln für die technische Umsetzung des Zeitkonzeptes - Restriktionen - Positive Aspekte - Negative Aspekte - Fazit
Workshops/Fallbeispiele:
- Es wird kein praktischer Workshop durchgeführt:
- Bei Inhouse-Seminaren kann eine praktische Workshop-Umgebung eingerichtet
werden.
|
|
DB2-LOB
Large Objects
|
DB2-LOBs - Large Objects: Überblick
- Fakten und Objekte in Realität und IT
- Charakteristiken komplexer Objekte
- Ein komplexes Objekt ist immer ein zusammengesetztes Objekt
- Einfluss der Zeit auf komplexe Objekte
- Kategorisierung komplexer Objekte
- Grundsätzliche Behandlung komplexer Objekte
- Speicherung komplexer Objekte mit DB2: Large Objects (LOBs)
- Problematiken beim Design und der Speicherung komplexer Objekte
DB2-Objekt-Typen
- Daten-Typen für komplexe Objekte
- DB2-Objekt-Typen für die Datenhaltung von LOBs
- Übersicht
- Basis-Objekt-Struktur
- Base-Table mit LOB-Definition, ROWID und LOB-Flag
- Überblick
- Spalten-Charakteristiken der Base-Table
- Base-Tablespace
- Non-Partitioned oder Partitioned
- LOB-Objekt-Struktur
- Struktur-Varianten
- Auxiliary-Table, Auxiliary Index und LOB-Tablespace
- Spalten-Charakteristiken von Auxiliary Table und Auxiliary Index
- LOB-Tablespace (Auxiliary Tablespace)
- Page-Größe und Bufferpools bei LOB-Tablespaces
- Technische Zusammenhänge der LOB-Werte-Speicherung
- Verknüpfungen zwischen Basis-Daten und LOB-Daten
- Details zum ROWID
- Explizites und implizites Anlegen
- Die Komponenten des ROWIDs
- LOB-Pageset-Organisation
- Physische Verwaltung der Pages in Chunks
- LOB-Pagesets verfügen auch über Header- und Space-Map-Pages
- Manipulation von LOB-Werten
- Die interne Wirkung von INSERT, UPDATE und DELETE
- Explizites oder implizites Anlegen der LOB-Objekte
- Logging-Verhalten der LOB-Objekte
- Zusammenfassung der Unterschiede zwischen Basis- und LOB-Objekt-Typen
- Inline-LOBs
- Verarbeitungs-Regeln und Beispiele von Inline-LOBs
LOB-Nutzung durch Anwendungen
- Unterstützte Anwendungs-Typen
- Die Sichten auf komplexe Objekte
- Bereitstellungs-Methoden von LOB-Daten
- Materialisierung eines kompletten LOB-Wertes
- LOB-Variablen für die Materialisierung
- Schrittweise Bereitstellung von kompletten LOB-Werten durch FETCH CONTINUE
- Manipulation kompletter, materialisierter LOB-Werte
- LOB-Locator: Referenz auf einen LOB-Wert
- Manipulation über LOB-Locator
- Interne LOB-Locator-Ketten
- SQL-Funktions-Nutzung mittels LOB-Locator
- LOB-File-Referenz: Referenz auf eine externe Datei, die einen LOB-Wert enthält
- LOB-File-Referenz: Wirkung der FILE-Option
- LOB-Parameter bei Einsatz von Routinen und Triggern
- Erweiterte Struktur der SQLDA für LOB-Werte
- SQLVAR - Erweiterter-Element-Typ (Extended Set)
- Filter-Methoden von LOB-Daten
- Zusammenfassung der SQL-Funktions-Unterstützung von LOB-Daten
LOB und Utilities
- Überblick der relevanten Utilities
- Laden und Entladen von LOB-Daten
- LOAD, UNLOAD und DSNTIAUL
- Varianten zum Laden von LOB-Daten
- LOAD für Erstladen und erneutes Laden von LOB-Daten
- Parametrisierung der LOAD-Varianten
- Besonderheiten für LOB-Daten bei den LOAD-Phasen
- Logging-Aufwand beim Laden
- Varianten zum Entladen von LOB-Daten
- UNLOAD und DSNTIAUL zum Entladen von LOB-Daten
- Parametrisierung der UNLOAD-Varianten
- Ausgabe der LOB-Daten auf separate Datasets/Member
- Spanned Format für LOB und XML
- Parametrisierung von DSNTIAUL
- Zusammenfassung der Regeln für das Laden und Entladen von LOB-Daten
- Regeln für die Nutzung von LOB-File-Referenzen
- Sammeln von LOB-Statistiken
- Schnappschuss- und Realtime-Statistiken
- RUNSTATS-Utility
- Welche Funktionen lassen sich für LOBs nutzen?
- RUNSTATS-Statistik-Ergebnisse für LOBs
- Bedeutung der Statistik-Spalte ORGRATIO
- Reorganisation von LOB-Daten
- Die Wirkungen eines Reorgs von Basis- und LOB-Objekten
- REORG TABLESPACE-Utility
- Wirkung des SHRLEVELs NONE, REFERENCE und CHANGE
- Beispiele der Reorganisation von LOB-Tablespaces mit SHRLEVEL CHANGE
- REORG INDEX-Utility
- Reorganisation des Auxiliary Indexes
- REBUILD INDEX-Utility
- Neuaufbau des Auxiliary Indexes
- Sicherung und Wiederherstellung von LOB-Daten
- Logging-Aktivitäten für Basisdaten- und LOB-Manipulationen
- Grundsätzliche Sicherungs- und Logging-Szenarien
- Utilities zum Sichern und Wiederherstellen von Daten und Indizes
- COPY- und COPYTOCOPY-Utility für LOB-Daten
- QUIESCE-Utility für LOB-Daten
- RECOVER-Utility für LOB-Daten
- Überprüfung der Konsistenz zwischen Basis- und LOB-Daten
- CHECK DATA, CHECK INDEX und CHECK LOB
- CHECK-Pending-Status
- Pending-Status und 'Invalid'-Markierungen
- LOB- oder XML-Fehler-Typen: Orphan-, Missing-, Out-of-Synch- und Invalid LOBs
- Entdecker der Fehlerzustände und mögliche Ursachen
- Bereinigungs-Möglichkeiten der Fehlerzustände
- CHECK LOB-Utility
- CHECK LOB SHRLEVEL REFERENCE
- CHECK LOB SHRLEVEL CHANGE (ab DB2-Version 9)
- CHECK DATA-Utility
- CHECK DATA SHRLEVEL REFERENCE
- CHECK DATA SHRLEVEL CHANGE (ab DB2-Version 9)
- CHECK-Erweiterungen ab V10
- CHECK INDEX-Utility
- SHRLEVEL REFERENCE und CHANGE
- Bereinigung von Konsistenz-Problemen
- Erforderliche Maßnahmen
- Beispiel-Szenario
- Zur Not mit Gewalt: REPAIR-Utility
- Strategien zur Sicherung und Wiederherstellbarkeit von LOB-Daten
LOB-Performance
- Überblick
- LOBs fordern immer mehr Aufwand als strukturierte Daten - oder etwa nicht ?
- Wann ist die Speicherung von Daten in LOB-Daten-Typen sinnvoll ?
- Materialisierung und Vermeidung von Materialisierung
- Virtuelles Speicher-Management
- Die Bedeutung von LOBVALA und LOBVALS
- Bufferpools für LOB-Werte
- Threshold-Empfehlungen
- Behandlung von LOBs in Group-Bufferpools
- DRDA-LOB-Optimierung
- Small, Medium und Large LOBs und ihre Behandlung
- LOCK-Mechanismen für LOB-Werte
- SQL-DML
- SELECT LOB-Daten
- Manipulation von LOB-Daten
- Zusammenfassende Performance-Empfehlungen für den LOB-Einsatz
- LOB-Versions-Entwicklungen
- LOB-Features in den DB2-Versionen 6, 7, 8, 9, 10 und 11
Workshops/Fallbeispiele:
- Es wird kein praktischer Workshop durchgeführt:
- Bei Inhouse-Seminaren kann eine praktische Workshop-Umgebung eingerichtet
werden.
|
|
DB2-ADMIN-BAS
DB2-Administrations-Workshop Basics für Einsteiger |
Zielgruppe:
- Datenbank-Administratoren und technisch interessierte DB2-Entwickler.
Voraussetzungen:
- z/OS-Grundkenntnisse oder vergleichbares Wissen.
Kursinhalte:
z/OS-Teil
- ISPF/PDF Basics (Panels, Navigation, PF-Keys usw.)
- ISPF-ist eine Komponente von TSO (Time Sharing Option)
- Session-Manager, wie TPX, Tubes oder MAI
- 3270-Steuerungsfunktionen und Tastenbelegung
- TSO - Time Sharing Option
- LOGON und LOGOFF
- ISPF/PDF - Interactive System Productive Facility/Program Development Facility
- Primary Option Menu
- Primary Option Menu: Action Bar Choices
- Menu, Utilities, Compilers, Options, Status und Help
- Grundsätzliche Panel-Navigations-Kommandos
- Physischer Bildschirm/Screen und logische Screens
- START, SPLIT und SWAP
- SWAPBAR
- 0 - ISPF Settings
- 0 - ISPF Settings: Log- und List-Defaults
- 0 - ISPF Settings: PF-Key-Definitionen
- ISPF/PDF-Editor
- Option 1 - View/Browse
- Eingabe von Daten im View-Modus
- Browse Primary Commands
- Option 2 - Edit und Edit-Session
- Edit Entry Panel
- Edit Entry Panel Action Bar
- Editierung eines existierenden Datasets Edit Line Commands
- Edit Panel Action Bar
- Edit-Primary Commands
- Beendigung einer Edit-Session
- Steuerung und Kontrolle des Edit-Environments
- Edit-Profile (PROFILE-Command)
- Nummerierungs-Konzept (Sequences)
- Edit-Boundaries (Begrenzung des Spalten-Bereichs)
- Markierte Zeilen (Flagged Lines) Farb-Attribute und Highligting
- Daten-Management
- Labels und Inline Ranges
- CREATE und REPLACE Daten
- CREATE - neues Member oder neuen Dataset
- REPLACE - Ersetzen Daten in einem bestehenden Member oder einem bestehenden Dataset
- COPY und MOVE Daten
- COPY - Kopieren Daten aus einer anderen Quelle in das Objekt der aktuellen Edit-Session
- MOVE - Übertragen Daten aus einer anderen Quelle in das Objekt der aktuellen Edit-Session und löschen der Quelle
- FIND und CHANGE Daten
- Exkludierung von Daten
- Grund-Funktionlität
- Behandlung von exkludierten Zeilen mit FLIP und CUT sowie den Argumenten X und NX
- Verschieben der Dateninhalte (Shifting)
- Overlay Dateninhalte
- Zwischenspeichern Daten mit CUT und PASTE
- Benutzung von Tabs
- Textverarbeitung (TE , TF und TS)
- Zurücksetzen von Änderungen (UNDO)
- ISPF/PDF Utilities (Option 3)
- Überblick der ISPF-Utility-Funktionen
- Option 3.1 Library Utility - Komprimierung, Ausdrucken von Datasets; Anzeige, Ausdruck, Editieren, Löschen oder Umbenennen von PDF-Membern
- 3.1 - Option Blank: Member-Selection-List und die Optionen
- Member-Selection-List: Primary Commands
- Member-Selection-List: Line Commands
- 3.1 - Option I und S: Dataset-Informationen
- 3.1 - Option L und X: Print Dataset-Informationen
- Option 3.2 Data Set Utility - Allokation, Katalogisieren, Umbennung und Löschen von Datasets; Anzeige von Dataset-Informationen
- 3.2 Option A - Allocate New Dataset
- 3.2 Option V - VSAM Utilities
- Überblick der VSAM-IDCAMS-Funktionen
- Einrichtung einer GDG-Generation Data Group
- Option 3.3 Move/Copy Utility - Kopieren oder Übertragen von Datasets oder Membern
- Option 3.4 Data Set List Utility (DSLIST) - Anzeige einer Liste von Datasets zur Weiterverarbeitung; Anzeige und Drucken von Datasets oder VTOC-Infos
- Option 3.4 Dataset List Utility Kommandos
- Dataset List Primary-Commands
- Dataset List Line-Commands
- Option 3.4 Text-Suche in einer Liste von Datasets
- Option 3.5 Reset ISPF Statistics Utility - Zurücksetzen der Statistiken für Member von ISPF-Bibliotheken
- Option 3.6 Hardcopy Utility - Initiieren Hardcopy-Ausgabe
- Option 3.7 Download Data Set for Workstation (Transfer) - Download ISPF-Client/Server- oder Transfer-Dataset
- Option 3.8 Outlist Utility - Anzeige, Ausdruck oder Löschen von Job-Ausgaben im Haltemodus
- Option 3.9 Command Table Utility - Erzeugen und Veränderung einer Application Command Table
- Option 3.11 Format Specifications - Format-Definitionen für formatierte Editierung/Browse
- Option 3.12 SuperC Compare Utility- Vergleich von Datasets (Standard Dialog)
- Option 3.13 SuperCE Utility - Vergleich von Datasets - Extended (Erweiterter Dialog)
- SuperCE Utility Primary Commands
- Option 3.14 Search-For Utility- Durchsuchen von Datasets nach Text-Strings (Standard Dialog)
- Option 3.15 Extended Search-For Utility (Search-ForE) - Durchsuchen von Datasets nach Text-Strings - Extended (Erweiterter Dialog)
- Option 3.16 ISPF Table Utility
- Option 3.17 z/OS UNIX Directory List Utility (Udlist) - Anzeige einer Liste von z/OS-Unix-Datasets zur Weiterverarbeitung
- z/OS-Dataset-Management
- Überblick der DFSMS-Elemente
- DFSMSdfp- Data Facility Product
- Überblick der unterstützten Datei-Organisationen
- Überblick der unterstützten Zugriffs-Methoden
- VSAM-Datei-Typen
- Überblick: VSAM-Cluster, ESDS, KSDS, RRDS, AIX und Path
- Katalog-Konzept: Master- und User-Kataloge
- GDG: Generation Data Group
- Überblick der Data-Management-Utilities
- IDCAMS - Access Method Services
- Überblick
- IDCAMS-Aktivierungs-Varianten
- DFSMSdss- Data Set Services
- Überblick der unterstützten Komponenten
- DFSMShsm - Hierarchical Storage Manager
- Überblick der unterstützten Komponenten
- DFSORT - Sortieren, kopieren und Zusammenmischen von Daten
- z/OS-Job Control Language (JCL)
- Job-Disposition, -Allokation und -Ausführung
- Job-Entry-Subsystem (JES): JES2 und JES3
- JCL- und JECL-Control-Statements
- JCL-Statements
- JOB und STEP
- JOB-Statement
- Beispiel und Syntax
- EXEC-Statement
- Beispiel und Syntax
- DD-Statement
- Wirkungsweise
- Beispiel und Syntax (relevante Auswahl)
- Spezielle DD-Statements
- JCL-Prozeduren
- Symbolische Parameter
- System-Symbole und JCL-Symbole
- JECL-Statements
- JES2-Control-Statements
- JES3-Control-Statements
- Beispiel: JOB mit DB2-Precompile, Compile und Binder
- z/OS-System Display and Search Facility (SDSF)
- Monitoring, Managen und Kontrollieren des z/OS Systems (JES2 und JES3)
- Primary-Option Menu und Funktionen/Panels
- Primary Option Menu: Action Bar Choices
- ST - Status von Jobs und DA - Display Activ
- ST - Status - Ausgangspunkt für diverse Aktionen
- Input-, -Output- und Hold Output-Queues
- Input-Queues
- Output-Queues
- Hold-Output Queues
- Grundsätzliche Steuerungs-Kommandos
- WHO- und QUERY AUTH-Command
- Action Codes zur Editierung, zur Sicherung und zum Ausdrucken
- Filterung und Sortierung der Anzeige-Listen
- SET-Commands: SET DISPLAY und SET ROWNUM
- ARRANGE-Command: Spalten-Aufbau und -Positionierung spezifizieren
DB2-Teil
- Übersicht über Relationale Datenbanken
- Die relevanten Ebenen beim Entwurf von Datenstrukturen
- Was unterscheidet DB2 von klassischen Datenbanksystemen?
- Meta-Daten und Daten
- DB2 basiert auf dem Relationen-Modell von Dr. Edgar F. Codd
- Historische Entwicklung des Relationen-Modells von Codd (Relevanter Auszug)
- Entwicklung innerhalb IBM
- Entwicklung außerhalb IBM
- Die 3 Ebenen des Relationen-Modells
- Das Relationen-Modell fordert normalisierte Strukturen
- Wie weit ist Normalisierung sinnvoll?
- Die Rolle von DB2 im Rahmen der Anwendungsentwicklung
- Vorgehens-Modell beim Entwurf von DB2-Datenstrukturen
- Darstellung der Repräsentation-Ebenen von DB2-Daten
- SQL und SPUFI
- SQL-DDL, -DCL und -DML
- SQL-Statements
- SQL-Statement- und Benutzer-Kategorien
- DCL - Data Control Language
- DDL - Data Definition Language
- DML - Data Manipulation Language
- Dynamischer und statischer SQL-Einsatz
- DB2I - ISPF-Unterstützung
- SPUFI - Dialogführung
- DB2I: Masken der interaktiven DB2-Oberfläche
- Einstiegs-Menü (Primary Option Menu)
- D - DB2I-Defaults
- Default-Panel 1
- Default-Panel 2
- 1 - SPUFI: SQL Processor Using File Input
- SPUFI-Steuerungsmaske
- SPUFI-RLF-Fehler-Maske
- SPUFI-RLF-Warnungs-Maske
- SPUFI-Defaults
- Default-Panel 1
- Default-Panel 2
- SPUFI-Edit-Maske
- SPUFI-Browse-Maske
- DB2-Beispiel-Programme
- DSNTEP2, DSNTEP4 und DSNTIAUL
- Vergleich des Leistungs-Spektrums zwischen SPUFI, DSNTEP2/4 und DSNTIAD
- Db2-Objekt-Typen
- Überblick
- Storagegroup und user defined datasets
- DB2 Database
- Tablespace
- Tablespace-Typen und relevante Zuordnungen
- Universal Page Sets
- Bis zu 4096 Partitions und die Konsequenzen
- Table
- Daten-Typen und Daten-Typ-Gruppen
- Überblick: Builtin-Daten-Typen und Distinct-Daten-Type
- Builtin Daten-Typen
- Hierarchische Umwandlung von Daten-Typen (Promotion)
- Unterstützte Format-Änderungen von Builtin Daten-Typen
- Integritäts-Definition im Katalog
- Table Check Constraints und user-defined Defaults
- Referential Constraint
- SEQUENCE-Objekte: SEQUENCE und IDENTITY
- Large Object (LOBs)
- Temporary Tables
- Überblick
- CTT - Created Temporary Table und DTT - Declared Temporary Table
- Beispiel einer Declared Temporary Table
- DB2-View
- Möglichkeiten und Grenzen des Views-Konzeptes
- Synonym (deprecated) und Alias
- Index
- B-Tree
- Partitioned, Partitioning, Clustering, Secondary oder nicht - das ist hier die Frage
- Kompression der Daten und Index-Entries
- SQL -DDL zur Objekt-Verwaltung
- DB2-Objekt-Hierarchie
- CREATE - Anlegen von Meta-Daten
- DB2-Daten-Objekte - Namenskonventionen
- ALTER - Ändern von DB2-Objekten
- DROP und dessen Auswirkungen auf untergeordnete Objekte
- DB2-Katalog und Directory
- Struktur-Komponenten
- Verwalten der Katalog-Inhalte
- Gruppierung der Katalog-Tabellen nach Objekt-Typen
- Db2/zOS-Subsystem, Member und Lokation
- Db2-Produkt-Familie
- Entwicklung der IBM-Host-Speicher-Architektur zur z/OS-Architektur
- z/OS-System-Schichten
- Db2, das RDBMS
- Die Rolle als Subsystem, Lokation und Member
- Db2-Adressraum-Architektur
- Anschließbare Trägersysteme
- Integrierte System-Komponenten von DB2
- DDF- Distributed Data Facilities und Data Sharing
- Zugriff über dreiteilige Namen oder über CONNECT
- DB2-Member in einer Group: Gemeinsame Datennutzung (Data Sharing)
- DB2-Commands
- Steuerung und Kontrolle des DB2-Systems: Überblick
- Überblick der DB2-Commands
- Vorgabemöglichkeit von DB2-Commands
- Überblick sonstiger Commands für die Steuerung und Kontrolle von DB2-Ressourcn
- Liste der DB2-Commands und Command-Typen
- Zeichen mit besonderer Bedeutung
- Beispiel-Job zur Aktivierung von DB2-Commands über TSO-Batch-Job DSNTEP2/DSNTEP4
- Starten und Stoppen des DB2-Systems
-START DB2
-STOP DB2
- Programm-Präparierung unter DB2
- DB2-Unterstützung der Programm-Präparierung
- DCLGEN
- DB2-Precompiler und Statement Co-Prozessor
- Standard-SQL
- BIND-Prozess
- Ablauf und Aufgaben
- BIND- und REBIND-Typen
- Package-Verwaltung
- Package-Zuordnung zu mehreren Collections
- Die Zuordnung einer Package aus einem Programm
- Plan-Verwaltung
- Zuordnung und Verteilungsmöglichkeit von Packages
- Zuordnung Programm zu Plan
- Linkage Editor und Anbindung der Attachment-Facilities
- Db2-Utilities
- Überblick über die DB2-Utilities
- Beschreibung der DB2-Online-Utilities
- Utilities zum Laden, Entladen und Reorganisieren von Tablespaces/Indexspaces
- LOAD (Exklusiv oder Online-Load)
- Online Load und Cross Loader
- UNLOAD
- Beispiel: UNLOAD Daten und LOAD
- UNLOAD-JCL
- UNLOAD-Job-Ausführungs-Protokoll
- UNLOAD-Ausführungs-Ergebnis: Entladene Daten
- UNLOAD-Ausführungs-Ergebnis: LOAD-JCL
- LOAD-Job-Ausführungs-Protokoll mit RI-Fehler
- REORG (Exklusiv oder Online-Reorg)
- DSN1COPY
- DSNTIAUL
- RUNSTATS
- Utilities zum Wiederherstellen zerstörter Datenbestände
- COPY-Utility
- RECOVERY-Utility
- Generelle Utility-Control-Statements
- Übersicht
- TEMPLATE
- Pending Status (Auswahl)
- Wie entstehen sie und wie können sie ausgeschaltet werden?
- SQL-Performance: Grober Überblick
- Relevante Komponenten
- Einflussgrößen von anwendungsbezogenen Tuning-Maßnahmen
- Optimizer: Auswahl-Faktoren und Entscheidungen für optimalen Zugriffspfad
- Aufgabenteilung von RDS, DM und BM
- Filterung der Stage1-, Stage2- und Indexable-Prädikate
- Einfache Zugriffspfade
- Direkt-Zugriff, Index-Zugriff und Tablespace Scan
- Komplexe Zugriffspfade
- List prefetch und Multiple Index Access
- Hybrid Join
- Non-correlated und correlated Subquery
- Kontrolle der Optimizer-Zugriffspfad-Entscheidung
- Woher bezieht der Optimizer seine Informationen?
- RUNSTATS - Utility
- Filterung und Filter-Faktor
- EXPLAIN
- EXPLAIN-Beispiele
- Tablespace Scan (File Page Set Scan)
- Matching Index Scan
- Non-Matching Index Scan
- Beispiele mit Leistungsmessungen
- RLF - Resource Limit Facility
- Top-Down-Checkliste zur Analyse langlaufender SQL-Statements
- Performance-Empfehlungen
- Wichtige SQL-Performance-Faktoren
Workshops/Fallbeispiele:
- Intensiver Workshop mit vielen Referenten-Beispielen.
|
|
DB2-ADMIN-1
DB2-Administrations-Workshop Teil 1 |
Zielgruppe:
- Datenbank-Administratoren und technisch interessierte DB2-Entwickler.
Voraussetzungen:
- Gute DB2-Kenntnisse. Praktische Erfahrungen mit DB2.
Kursinhalte:
Einrichtung von DB2-Datenbanken und -Tabellen
- DB2-Entwurfsprinzipien
- Die relevanten Ebenen beim Entwurf von Datenstrukturen
- Meta-Daten und Daten
- Die 3 Ebenen des Relationen-Modells
- Das Relationen-Modell fordert normalisierte Strukturen
- Wie weit ist Normalisierung sinnvoll?
- Die Rolle von DB2 im Rahmen der Anwendungsentwicklung
- Vorgehens-Modell beim Entwurf von DB2-Datenstrukturen
- Darstellung und Ablage von DB2-Daten
- Klassifikation der DB2-Ressourcen
- Daten-orientierte Objekt-Typen
- Daten-Typen
- Benutzer-orientierte Objekt-Typen (Table, View, Synonym, Alias)
- System-interne Objekt-Typen (Tablespace, Index, Indexspace, Storagegroup, Database)
- Unterstützung von Large Objects (LOBs) und XML
- Zusammenfassung der DB2-Daten-Objekt-Typen
- Hierarchie der Daten-Objekt-Typen
- Überblick der DB2-Daten-Speicherungshierarchie mit Page Sets, VSAM-Datasets und Bufferpools
- Tablespace
- Zuordnung zu DB2-Speicher-Objekten
- Die Page-Größe und ihre Einflussnahmen
- Tablespace-Typen
- File-Page Sets
- Linear Page Sets
- Partitioned Page Sets
- Universal Page Sets
- LOB Page Sets
- XML Page Sets
- Page Typen des File Page Sets
- Physische Charakteristiken für Tablespace und Partition
- PRIQTY
- SECQTY
- Dynamisches Partition-Konzept ab Version 8
- Erweiterung der Partition-Anzahl
- Partition-Rotation
- Partition-Rebalance
- Nachträgliche Änderungsmöglichkeiten von Tablespace-Charakteristiken
- Änderungsmöglichkeit von Metadaten im lfd. Betrieb
- Überblick der unterstützten PENDING-CHANGE-Funktionen
- Basis-Tabelle (Base-Table)
- Definition der Tabellen-Spalten
- Definition von Constraints
- Referential Constraint
- Check Constraint
- Vergabe einer lfd. Nummer durch DB2
- Identity-Spalten-Charakteristik oder Sequence-Objekt
- Automatische Generierung von Werten durch DB2 (GENERATED ALWAYS und GENERATED BY DEFAULT)
- Charakteristiken IDENTITY, ROWID, ROW CHANGE TIMESTAMP, ROW BEGIN und - END, TRANSACTION START_ID und Non-Deterministic
- Wirkungen der Klausel GENERATED ALWAYS und GENERATED BY DEFAULT auf SQL-Manipulationen und LOAD
- Zuordnung der Table zum Tablespace
- Definition einer partitioned Table (table-kontrollierte Partitionierung)
- Änderung von Table-Charakteristiken
- Die Konsequenzen bei Änderung des Daten-Typs einer Spalte
- Definition einer Clone Table
- Index
- Index-Typen
- Definition der Index-Spalten
- Der Clustering Index organisiert die Datenfolge
- Partitioning Index und Partitioned Index
- Table-kontrollierte Partitionierung
- Index-kontrollierte Partitionierung
- Gegenüberstellung der Table- und Index-kontrollierten Partitionierung
- und nun alle Index-Typen der Table-kontrollierten Partitionierung auf einmal
- DPSI: Data Partitioned Secondary Index
- Welche Indizes eignen sich als Partitioned Index?
- Scalar Expression Index (Index on Expressions)
- Interne Organisation eines Indexes
- Zuordnung eines Indexes zum Indexspace, den Page Sets und Datasets
- Indexspace - Aufgabenstellung und relevante Zuordnungen
- B-Tree-Struktur eines Indexes
- Änderung von Index-Charakteristiken
- Löschung eines Indexes
- Welche Vorteile bietet ein Index, welche Nachteile sind zu beachten?
- Vorteile eines Indexes
- Nachteile eines Indexes
- Empfehlungen zum Index-Einsatz
- Speicherung von Metadaten im DB2-Katalog und im Directory
- Struktur-Komponenten
- Verwalten der Katalog-Inhalte
- Gruppierung der Katalog-Tabellen nach Objekt-Typen
- Tabellen nach Kategorien
- Katalog-Tablespaces und Indizes (Beispiel-Auszug)
- Beziehungs-Konstrukte der Katalog-Tabellen (Katalog-RI)
- Katalog-Tabellen, ihre Charakteristiken und Tablespaces
- Beispiele von Katalog-Queries
- Beispiel-SQL-Queries
- Unterstützung der Anwendungs-Entwicklung und Ressource-Kontrolle
- Relevante Katalog-Tabellen für die Programmentwicklung
RI - DB2 Referential Integrity
- Der DB2-Lösungsansatz
- DB2-RI-Zielsetzungen
- RI-Terminologie
- RI - Manipulations-Regeln und -Maßnahmen
- Unterstützte referenzielle Strukturen
- Mögliche Einzel-Strukturen
- Die Einbindung der Einzelstrukturen in eine 'logische referenzielle Struktur'
- Die Verarbeitungs-Konsequenzen von referenziellen Strukturen
- Logische referenzielle Struktur
- Physische referenzielle Struktur (Tablespace-Set)
- Struktur-Besonderheiten und Anomalien
- 1 : 1-Beziehung mit gegenseitiger Referenz
- DELETE-Abhängigkeiten
- Delete-Beziehungen über mehrfache Pfade
- Regelwerk für Delete-Beziehungen über mehrfache Pfade
- Gesamt-Überblick über die DB2-RI-Unterstützung
- Katalog-Strukturausschnitt für die RI-Unterstützung
- Katalog-Tabellen und Spalten für die RI-Unterstützung
- Was tun, wenn DB2-RI nicht genutzt werden soll oder kann?
- Argumente für und gegen RI
DB2-Commands
- Steuerung und Kontrolle des DB2-Systems: Überblick
- Überblick der DB2-Commands
- Überblick sonstiger Commands für die Steuerung und Kontrolle von DB2-Ressourcn
- Liste der DB2-Commands und Command-Typen
- Beispiel-Job zur Aktivierung von DB2-Commands über TSO-Batch-Job DSNTEP2/DSNTEP4
DB2-Utilities
- Überblick über die DB2-Utilities
- Beschreibung der DB2-Online-Utilities
- Komponenten eines Utilities
- Aktivierungs-Varianten für Utilities
- Die Ausführungs-Phasen eines Utilities
- Ergebnis- und Status-Kontrolle eines Utility-Laufs
- RESTART (CURRENT) und RESTART (PHASE)
- Utility-Datasets
- Übersicht der Datasets für Online-Utilities
- Vorgabe von Utility-Control-Statements
- CCSID-Behandlung von Utility-Control Statements
- Spezielle Utility-Control-Statements (SYSIN-DD-Statement)
- Dataset-Charakteristiken
- Generelle und spezielle Utility-Control Statements
- Überblick der generellen Control-Anweisungen
- Utility-Control Statement: EXEC SQL - Ausführung von SQL-Statements während der Utility-Ausführung
- Utility-Control Statement: LISTDEF: Definition von Objekt-Listen
- Utility-Control Statement: TEMPLATE - Standardisierung von Dataset-Namen und Charakteristiken
- Utility-Control Statement: OPTIONS - Spezifikation von Ausführungsbedingungen
- Unterstützung von FlashCopy
- FlashCopy-Datasets
- Utilities zum Laden, Entladen und Reorganisieren von Tablespaces/Indexspaces
- LOAD-Utility
- Überblick
- LOAD: Erforderliche Datasets und Objekte
- LOAD: Utility-Ausführungs-Phasen
- Offline-Load
- Online-Load
- LOAD-Beispiele
- UNLOAD-Utility
- Überblick
- UNLOAD-Komponenten
- Besonderheiten beim Entladen der Daten
- UNLOAD-Beispiele
- Reorganisation von Daten und Indizes
- Reorganisationserfordernisse und DB2-Utilities, die zur Reorganisation genutzt werden können
- Überblick der Reorganisations-Methoden und Parallverarbeitungs-Möglichkeiten
- REORG INDEX: Überblick über die Komponenten und relevante Klauseln
- REORG TABLESPACE: Überblick über die Komponenten und relevante Klauseln
- REORG TABLESPACE-Beispiele
- DB2-Statistik-Kategorien und relevante Komponenten
- Schnappschuss- Historien und Realtime-Statistiken (RTS)
- Utilities zum Erzeugen von Statistik-Informationen aus Daten und Indizes (RUNSTATS und SROSPACE)
- RUNSTATS-Utility
- Utilities zum Sichern und Wiederherstellen von Daten und Indizes
- Überblick
- COPY-Utility
- Überblick
- Ein- und Ausgabe-Datasets
- COPY-Beispiele
- RECOVERY-Utility
- RECOVER-Utility: Überblick
- Zurücksetzen von Datenzuständen auf den aktuellen oder einen früheren Zustand (PIT = point-in-time)
- Vorwärts- und Rückwärts-Recovery (forward/backward und BACKOUT YES)
- RECOVER-Utility: Komponenten
- Ein- und Ausgabe-Datasets
- RECOVER: Utility-Ausführungs-Phasen
- RECOVER-Beispiele
- Pending Status (Advisory und Restricted Status)
Programm-Präparierung und BIND
- DB2-Unterstützung der Entwicklungsschritte
- DB2I - ISPF-Unterstützung
- SPUFI-Dialogführung
- DCLGEN
- Ablauf der Programm-Entwicklung unter DB2
- DB2-Precompiler
- Standard-SQL
- BIND-Prozess
- Ablauf und Aufgaben
- BIND- und REBIND-Typen
- Binder (Linkage Editor) und Attachment-Facilities
- DB2-Beispiel-Programme DSNTEP2/DSNTEP4 und DSNTIAUL
- Checkliste Programm-Entwicklung
Sicherheitseinrichtungen im DB2 (Security)
- Überblick
- Zusammenspiel zwischen RACF/ACF2/Top Secret und DB2
- DB2-Privilegien-Struktur
- DB2 -Explizite Privilegien
- GRANT-Statement-Typen
- Zuordenbare explizite Einzel-Privilegien
- DB2 -Implizite Privilegien
- Explizite und implizite ADM-Privilegien
- Hierarchische ADM-Gruppen-Privilegien
- Implizit wirkende Einzel-Privilegien ADM-Gruppen
- Welche impliziten Rechte hat der Eigentümer (Owner) eines Objektes?
- Zusammenfassung der relevanten Privilegien
- Welche Privilegien sind zur Verwaltung der DB2-Objekte erforderlich?
- Erforderliche Privilegien eines Anwendungsentwicklers
- MLS - Multi-level Security
Serialisierung von Ressourcen
- Probleme und Lösungswege der Konkurrenzverarbeitung
- DB2 das Multi-User-System
- Konsistenz-Problemstellungen eines Parallel-Betriebs
- Abschluss einer UOW/UOR und Wirkungen
- Grundsätzliche Konsequenzen des Parallelbetriebs
- Erkennbare Anforderungen an Sperr-Techniken
- Lokale und Globale Sperr-Techniken
- Lokale Sperren in einem DB2-Subsystem
- Überblick der von DB2 genutzten Techniken
- Transaction Lock
- Zusammenfassung der DB2-Lock-Mechanismen
- Claims, Drains und Drain Lock
- Sperren von DB2-Subsystem-Objekten
- DB2-Directory, DB2-Katalog, DBD, ENV-Komponenten
- IRLM - Internal Resource Lock Manager
- Prinzipien bei der Einrichtung von Sperren
- IRLM-Aufgaben und -Komponenten
- Deadlocks und Timeouts
- Globale Sperren in einer DB2-Group mit DB2-Membern (DS - Data Sharing)
- Grundsätzliche Aufgabenstellung
- Aufgaben-Abgrenzung zwischen Membern und dem Coupling Facility
- Die Konsistenzbewahrung bei Data Sharing (DS)
- Speicher-Strukturen einer Data Sharing Group
- Überblick
- IRLM-Lock-Konzept im Data Sharing
Wie halten wir unsere Datenbanken fit?
- Kontrolle der Ressource-Zustände
- Manipulationsauswirkungen in der physischen Speicherstruktur
- Übersicht der relevanten Statistik-Informationen (Generelle Statistik-Kategorien)
- DB2-Statistik-Kategorien und Typen
- Wesentliche Katalog-Spalten hinsichtlich der optimalen Speicherorganisation
- Zustand der Daten
- Schnappschuss-Statistiken für Daten
- Zustand der Indizes
- Speicherung der relevanten LOB-Statistik-Informationen
- Welche generellen Katalog-Tatbestände führen zu einer Utility-Aktivierungs-Empfehlung?
- Aktuelle Statistiken: RTS - Realtime-Statistiken
- Überblick und Komponenten
- Verwaltung der RTS-Statistiken
Workshops/Fallbeispiele:
- Sehr intensiver Workshop mit vielen Referenten-Beispielen.
|
|
DB2-ADMIN-2
DB2-Administrations-Workshop Teil 2 |
Zielgruppe:
- Datenbank-Administratoren und technisch interessierte DB2-Entwickler.
Voraussetzungen:
- Gute DB2-Kenntnisse. Praktische Erfahrungen mit DB2.
Kursinhalte:
Online-Schema-Änderungen
- Änderungsmöglichkeiten der DB2-Objekte
- ALTER Statement - Änderung von Meta-Daten
- Übersicht der Objekt-Änderungsmöglichkeit durch die SQL-ALTER-Statements
- DB2-Objekte haben starke referenzielle Beziehungen untereinander (Beispiel Spalte)
- Direkte Änderung von Metadaten (Immediate Change) oder verzögerte, schwebende Änderung (Pending Change)
- ALTER TABLE
- Grundsätzliche Funktionalitäten
- Übersicht der Änderungs-Typen von Table-Charakteristiken
- ADD COLUMN: Hinzufügung neuer Spalten am Ende der Struktur
- ALTER COLUMN: Änderung von Spalten-Daten-Typen und -Längen
- DROP COLUMN: Löschen einer existierenden Spalte
- ALTER ... REGENERATE
- Was tun, wenn kein ALTER existiert?
- RENAME-Statement
- DROP-Statement - Löschung von Meta-Daten
- Teil 1: Sofortige Änderung (Immediate Change)
- DB2-Metadaten-Versionsführung
- Wie kann man sich eine Metadaten-Versionsführung (Struktur-Versionen) vorstellen?
- Wie muss man sich die DB2-Metadaten-Versionsführung (Struktur-Versionen) vorstellen?
- Protokollierung der DB2-Metadaten-Struktur-Versionsführung im Katalog
- Relevante Katalog-Informationen der Versionsführung
- Teil 2: Verzögerte Änderung (Pending Change)
- Übersicht der versionsbezogenen Unterstützung von Pending Changes
- Szenario einer Objekt-Änderung, die zum Pending-Change führt
- Tablespace-Änderungen
- ALTER Tablespace-Typ (Konvertierung von Tablespace-Typen)
- ALTER BUFFERPOOL (Page-Größe), ALTER DSSIZE und ALTER SEGSIZE
- DDL_MATERIALIZATION-Einflussnahme auf sofortigen Vollzug der Änderung oder Pending-Status (nur für Änderungen von Spalten-Charakteristiken)
UDF - User-defined Function
- Überblick
- Der Einsatz von benutzerdefinierten Funktionen (User-defined Functions)
- Definition und Nutzungsbeispiele der Funktions-Typen
- Funktions-Aufruf und - Ergebnis-Typen
- Unterschiede zwischen Externen- und SQL-Funktionen
- Identifikation von User-defined Functions
- SQL-Pfad, Schema, Specific Name und External Name
- Qualifizierung von Daten-Typen und Routinen
- Function Overloading und Function Resolution
- CREATE FUNCTION - Varianten
- Entwicklung einer User-defined Function
- Relevante DB2-Komponenten
- Definitions-Beispiele und Aufruf-Varianten einer Funktion
- Programmtechnische Besonderheiten
- Interne-Aufruf-Varianten und Scratchpad-Bereich
- Parameter der User-defined Function
- PL- Procedure Language
- Überblick
- SQL-Terminator und --#SET TERMINATOR
- SQL-Control-Statements
- Compound-Statement (SQL-Control-Statement)
- Beispiele
- Einfache SQL Scalar Function
- Einfache External Scalar Function (ohne SQL-Zugriffe) und einem externen COBOL-Modul
- External Scalar Function (mit SQL-Zugriffen) und einem externen COBOL-Modul
- External Table Function (mit SQL-Zugriffen) und einem externen COBOL-Modul
- Beispiel der Parameterübergabe zwischen COBOL und PL/I
Automatische Archivierung von Tabellendaten
- Überblick
- Konzept
- Komponenten
- Die Rolle der Globalen Variablen SYSIBMADM.GET_ARCHIVE und SYSIBMADM.MOVE_TO_ARCHIVE
- Daten-Bereitstellungs-Wirkungen aufgrund der Globalen Variablen SYSIBMADM.GET_ARCHIVE
- Archivierungs-Wirkungen aufgrund der Globalen Variablen SYSIBMADM.MOVE_TO_ARCHIVE
- Können auch LOB- und XML-Werte archiviert werden?
- Vor-, Nachteile des Konzeptes und Restriktionen
- Vorteile des Konzeptes
- Nachteile des Konzeptes
- Restriktionen
Temporal Tables- Daten unter Zeitbezug
- Zeitpunkte und Zeiträume
- Temporal-Table-Typen
- Überblick und Terminologie
- System-Period-Temporal Table - SYSTEM_TIME
- Überblick
- System-Period-Temporal Table - SYSTEM_TIME - ohne Versionierung
- Komponenten
- Beispiel-Szenario
- System-Period-Temporal Table - SYSTEM_TIME - mit Versionierung
- Komponenten
- Konzept der Historisierung der Daten
- Beispiel-Szenario
- Utility-Auswirkungen der System Temporal Table mit Versionierung
- Application/Business-Period-Temporal Table - BUSINESS_TIME (BI-Temporale Tabelle mit Versionierung)
- Komponenten
- Beispiel-Szenario
- Erweiterungen der DB2-Versionen
- DB2-Version 11
- Ausgabe von History-Zusatzinformationen (Audit-Informationen)
- Spezialregister: CURRENT TEMPORAL BUSINESS_TIME und CURRENT TEMPORAL SYSTEM_TIME und BIND-Optionen
- DB2-Version 12
- Mehr Flexibilität bei der Definition von BUSINESS_TIME-Perioden (inklusiv-inklusiv)
- Temporal Referential Integrity: Unterstützung der Referential Integrity durch Referential Constraints
- Zusammenfassung Temporal Tables
- Technische Komponenten der Datenhaltung
- Katalog-Metadaten für Temporal Tables
- Zusammenfassung der Konzepte und unterstützte Funktionalitäten
Partition Management und Dynamische Partitions
- Überblick
- Dynamische Partitions
- Hinzufügen einer neuen Partition
- Einfügen einer neuen Partition am Ende des Tablespaces
- Einfügen einer neuen Partition an jeder beliebigen Stelle
- Online-Alter-Limit-Key: Online-Änderung der Partition-Grenzwerte (Limitkeys)
- Dynamische Partitions: Rotation
- Beispiel-Szenario
- Dynamische Partitions: Partition-Werte balancieren (REBALANCE)
- Beispiel-Szenario
- UTS-PBR - Neues Page-Nummerierungskonzept mit Erhöhung der Partition-Größen und Verbesserung der Flexibilität
- APN - Absolute Page-Nummerierung und RPN- Relative Page-Nummerierung
- Beispiel-Szenario - Umstellung APN auf RPN
STP - Stored Procedures
- Routinen-Typen
- Grobe Zielsetzung einer Stored Procedure
- Aufruf einer remote Stored Procedure und Ablauf
- Prozedur-Typen
- DB2 External Stored Procedures und SQL Procedures
- Unterschiede zwischen Externen Routinen und SQL Routinen
- Relevante DB2-Komponenten einer Stored Procedure
- Kommunikations-Parameter einer Routine
- Parameter einer Stored Procedure
- Übergabe der Parameterwerte
- Parameter-Stil bei externen Prozeduren (Übergabe-Konventionen)
- Beispiel: Aufruf einer Stored Procedure über Trigger mit Parameter-Übergabe
- Unterstützung von nicht-strukturierten Spalten-Typen
- Unterstützung von LOB-Spalten und -Werten
- Unterstützung von XML-Spalten und -Werten
- Rückgabe einer Ergebnismenge (Query Result Set)
- Beispiel: Stored Procedure mit Query-Result-Set-Übergabe
- SQL-Prozeduren
- Überblick: External und Native
- Unterstützte Programmiersprachen und Sprachmittel
- External SQL Procedure
- Entwicklung einer externen SQL Procedure
- Native SQL Procedure
- Entwicklung einer Native SQL Procedure
- Unterstützung von Nested Compound SQL-Statements
- Argument-Typen bei der Definition einer SQL-Routine
- Versions-Konzept einer SQL Native Procedure
- Gemeinsame Konzepte für External und SQL-Prozeduren
- Level-Konzept (Nested Routines)
- Überblick
- Behandlung von Spezialregistern beim Aufruf von Routinen
- Fehlerbehandlung in Routinen
- DETERMINISTIC oder NOT DETERMINISTIC - das ist hier die Frage
- Übersicht der nutzbaren SQL-Statements in Routinen und Triggern
- Verhalten von Dynamic SQL-Statements (Statement Behavior)
- Package- und Plan-Behandlung
- Behandlung der externen Module
- Wechsel der Package
- Nutzung verschiedener Programm-Versionen
- Erforderliche Privilegien
- Bewahrung der Daten-Integrität (COMMIT und ROLLBACK)
- Autonome Stored Procedure mit eigener UOW/UOR
- Konzept
- Ausführungsumgebung von Routinen
- Relevante Komponenten
- z/OS-Ausführungs-Umgebung von externen Routinen
- Überblick
- Adressräume für Stored Procedures und/oder User-defined Functions
- WLM-gemanaged
- WLM-Adressraum-Installation
- DB2-Installations-Parameter für WLM
- WLM-JCL-Beispiel
- Steuerung des WLM-Adressraums
- Kontrolle und Abbruch aktiver Routinen
- RRSAF-Attachment: Statisches oder dynamisches Laden
- Starten und Stoppen von Routinen
- Testmöglichkeiten in der WLM-Umgebung
- Test-Tools (Debugger)
- Allgemeine Problematik
- Test-Tools (Debugger)
- Besonderheiten beim Test
- Routinen-Versionen einer SQL Native Procedure
- Monitoring der Routinen, ihre Aufrufe und Aufwendungen
- -DISPLAY-Command
- Monitor für Accounting-, Statistik- und Performance-Daten
- Beispiel: OMEGAMON
- Ausführungs-Steuerung (Optionen) von Routinen
- Übersicht der Options-Argumente und Zuordnungen zu den Routinen-Typen
- Options-Übersicht der Argumente in der "option-list" für Routinen und Trigger
- Vor- und Nachteile
- Vorteile von Stored Procedures
- Nachteile von Stored Procedures
- Vorteile einer Stored Procedure gegenüber einem Unterprogramm
Trigger
- Komponenten einer "aktiven Datenbank"
- Effizienzverbesserung bei der Integritätsbewahrung
- Trigger-Typen und ihre Aufgabenstellung
- Trigger-Events
- Trigger-Terminologie
- Beispiel eines Triggers
- Trigger-Charakteristiken
- DB2-Komponenten eines Triggers
- Basic- und Advanced Trigger
- Charakteristiken der beiden Trigger-Typen
- Gegenüberstellendes Beispiel eines Basic- und eines Advanced Triggers
- Dokumentation von Basic- und Advanced Trigger im Katalog
- Änderungs-Möglichkeiten und der Varianten von Triggern
- Aktivierungszeit: BEFORE
- Trigger-Beispiele
- Trigger mit Abweisung ungültiger Referenzen (RI-Erweiterung)
- Trigger zur Einsetzung von Initialwerten bei Einfügungen
- Trigger mit Übernahme redundanter Daten
- Trigger mit Aufruf einer Funktion
- Aktivierungszeit: AFTER
- Trigger-Beispiele
- Verwaltung von Redundanzen
- Trigger mit Übergabe einer Transition-Table an eine Funktion
- Trigger mit Übergabe von Transition-Variablen an eine Funktion
- Aktivierungszeit: INSTEAD OF
- Ablauf der Verarbeitung bei Einsatz eines Triggers
- Result Table des Triggers
- Transition-Variablen
- Transition-Tables
- Aufruf von Routinen aus einem Trigger heraus
- Aufruf-Techniken
- Fehler-Behandlung
- Fehler-Erkennung und -Signalisierung
- Fehler bei der Ausführung der Trigger-Statements
- Trigger-Package
- Erzeugen und Löschung einer Trigger-Package
- Abhängigkeiten einer Trigger-Package
- Trigger-Package für einen Basic Trigger
- Trigger-Package für einen Advanced Trigger
- Trigger-Restriktionen
- Vor- und Nachteile von Triggern
Workshops/Fallbeispiele:
- Sehr intensiver Workshop mit vielen Referenten-Beispielen.
|
|
DB2-V11
DB2-Version 11 for z/OS |
Zielgruppe:
- Alle, die an DB2-Versions-Details interessiert sind.
Voraussetzungen:
- Gute DB2-Kenntnisse.
Kursinhalte:
DB2-Version 11 for z/OS
DB2-Entwicklungsgeschichte
DB2 Version 11: Systemtechnische Erweiterungen und Verbesserungen
Die DB2-Produkt-Familie: Grob-Überblick
Bufferpool-Erweiterungen
Erweiterung der LOG-RBA bzw LRSN vom Basis-Format auf ein erweitertes Adressierungs-Format (extended log record format) - 6-Byte Basic Format und 10-Byte Extended Format - Betroffene Komponenten - Komponenten der Format-Erweiterung - Beispiel-Szenario einer Partition-Umstellung - REORG partitionweise - Kontrolle des Effekts im Katalog - Kontrolle der Umstellung in einem Header-Page-Dump
Erweiterungen für Temporal Tables - Überblick der Erweiterungen und Veränderungen in Version 11 - Spezialregister: CURRENT TEMPORAL BUSINESS_TIME und CURRENT TEMPORAL SYSTEM_TIME und BIND-Optionen - Überblick - Beteiligte Komponenten - Zusammenfassende Manipulations-Regeln für temporale SQL-Statements, wenn die temporalen Spezialregister zu berücksichtigen sind - Test-Beispiel - Der problematische Einsatz dieses Spezialregisters - Detail-Erläuterung und Beispiele - Beispiele mit unterschiedlicher Belegung der Spezialregister-Inhalte - Unterstützung von DB2-Views - Keine Unterstützung mehr für SQL-Table-Funktionen und MQTs
Automatische Archivierung von Tabellendaten - Komponenten - Restriktionen
SQL-Versions-/Release-Kompatibilität - Spezialregister: CURRENT APPLICATION COMPATIBILITY - Schemata zur Bewahrung der Versions-Unterschiede für SQL-Funktionalitäten
Online-Schema-Erweiterungen mittels "Pending Changes" - Überblick der V11-Erweiterungen - ALTER TABLE DROP COLUMN - ALTER TABLE DROP COLUMN-Szenario-mit Auslagerung einer Tabellen-Spalte in eine andere Tabelle und anschließendem DROP COLUMN - Online-Alter-Limit-Key: Online-Änderung der Partition-Grenzwerte (Limitkeys)
- DDL-Verwaltungs-Restriktionen bei Objekten mit "Pending Changes"
Sonstige SQL-DDL-Erweiterungen und Verbesserungen
Security-Verbesserungen - Engere Anbindung von RACF als ESM - Programm-Autorisierung (program authorization)
Verbesserungen für Threads mit BIND-Option RELEASE (DEALLOCATE)
Erweiterung, Verbesserungen der DB2-Utilities - Überblick der Erweiterungen für die Daten-Management-Utilities - Globale Steuerungs-Einflussnahmemöglichkeit auf die Parallelverarbeitung relevanter Utilities - LOAD-Utility - Verbesserungen beim Parallel-Laden mit neuer Option PARALLEL - REORG-Utility - Diverse neue Optionen für die Reorganisation - Erweiterte Beeinflussungsmöglichkeit der Sortier-Aktivitäten beim REORG TABLESPACE-Utility - Beeinflussung des Parallel-Verarbeitungs-Grad beim REORG-Utility mit neuer Option LISTPARTS und Automatismen - Beispiele mit unterschiedlicher Parametrisierung - Explizites und implizites Aktivieren der Parallel-Verarbeitung - Aussetzen der Parallel-Verarbeitung bzw. zumindest der Versuch - REORG-Beispiele mit einem Partitioned Tablespace mit 1 Mio Daten und 5 Indizes - SORTNPSI - Sollen NPI-Index-Daten komplett entladen werden oder nicht? - Beispiel SORTNPSI YES - Implizites Erzeugen der Mapping-Tables und -Indizes beim Online-REORG mit SHRLEVEL CHANGE - Unterstützung der REBALANCE-Option beim Online-REORG mit SHRLEVEL CHANGE - Verbesserungen in der SWITCH-Phase - Physisches Löschen leerer UTS-PBG-Partitions und Behandlung des Freiplatzes beim REORG - Inline-Kopien können beim REORG partitionweise erzeugt werden (partition-level inline image copy) - RUNSTATS-Utility - Nutzung von Default-Profilen bei LISTDEF-Objektvorgaben - Zurücksetzen des kompletten Statistik-Stands auf den Initialisierungszustand (RESET ACCESSPATH) - Effizienzverbesserung beim RECOVER von Katalog- oder Directory-Objekten - Zusammenfassung der Utility-Erweiterungen
Automatisches Recovery von Indizes im Data Sharing mit GRECP- bzw. LPL-Status - Index-Verfügbarkeit sofort nach GRECP- bzw. LPL-Recovery
Erweiterungen und Änderungen der Installations-Parameter (ZPARMS) - Neue Installations-Parameter - Geänderte Installations-Parameter - Nicht mehr verfügbare Installations-Parameter
DB2-Directory und DB2-Katalog - Zusammenfassung der Katalog-Veränderungen - Versionsbezogene Entwicklung des Katalogs - Neue Katalog-Tabellen - Erweiterte Katalog-Tabellen - Katalog-nahe Tabellen - Übersicht der Tables und Tablespaces in Version 11 - V11-Katalog-Tabellen-Änderungen - Spalten-Übersicht der Directory-Tabellen aus dem Katalog
Zusammenfassung der Sprach-Erweiterungen - Neue allgemeine Sprachmittel - Funktionen (Scalar, Row und Table) - Neue oder veränderte Spezialregister - Neue oder veränderte Builtin-Globale Variablen - Neue oder veränderte DB2-Commands - Erweiterungen der DB2-Utilities - Online-Utilities - Neue und veränderte SQL-Statements - Neue SQL-Statements - Veränderte/erweiterte SQL-Statements Sonstige Erweiterungen
Offene, zu klärende Punkte
Erweiterte zIIP-Nutzung
Einstellung der Funktions-Unterstützung
Migration von DB2-Version 10 zur DB2-Version 11
DB2-V11 - Verbesserungen. Erweiterungen der Anwendungsentwicklungs-Komponenten
Überblick
Erweiterung des User-defined (Daten-) Typen-Konzeptes um ARRAYs - Typologie - Einfacher/Ordinary Array und Assoziativer Array - Vergleich von Einfachem/Ordinary Array und Assoziativen Array - Komponenten - Funktions-Überblick - Weitere Detail-Beispiele - Darstellung der Testumgebung - Ordinary Array - ARRAY-Expression, ARRAY-Element-Spezifikation und ARRAY-Konstruktor - ARRAY_EXISTS-Prädikat - UNNEST-Spezifikation
Erweiterung des Variablen-Konzeptes um Benutzer-definierte Globale Variablen - Überblick der Variablen-Typen - System-definierte Globale Variablen - Überblick - Komponenten der Benutzer-definierten Globalen Variablen - Überblick - Nutzungs-Beispiel - Nutzungs-Möglichkeiten, Besonderheiten und Restriktionen - Die Bedeutung von Schema und SQL-Pfad
Generische Table-Funktion - Überblick der Komponenten
SQL-DML-Erweiterungen - Unterstützung von Grouping-Sets und Super-Groups (ROLLUP und CUBE) im GROUP BY - Grundsätzliche Verarbeitungs-Regeln für Grouping-Sets und Super-Groups im GROUP BY - Beispiele einer kompletten Verdichtung aller Kombinationen
Autonome UOW/UOR einer Stored Procedure - Konzept - Beispiel-Szenario mit möglichem Ressource-Konflikt
Sonstige Erweiterungen
DB2 V11 - Performance-VerbesserungenÜberblick
Index-Verbesserungen - Ausschluss von NULL-Werten aus dem Index (EXCLUDE NULL KEYS) - Index-Cleanup: Steuerung der automatisierten Bereinigung von Pseudo-Delete-Index-Einträgen
Dokumentieren und Ausschreiben fehlender oder kritischer Statistiken durch den Optimizer - Beispiel-Szenario
Extended Optimization: Beeinflussung der Selektivitäts-Statistiken (Statement-level selectivity overrides) - Überblick - Überschreiben der DB2-Selektivitäts-Statistiken (overriding selectivities) - BIND QUERY-Funktionen - Komponenten zum Überschreiben der DB2-Selektivitäts-Statistiken (overriding selectivities) - Zusammenfassung der Komponenten zum Überschreiben der DB2-Selektivitäts-Statistiken - Beispiel-Szenario
Zugriffspfad-Analyse - Und ständig werden es mehr und mehr EXPLAIN-Tables - Wirkungsweise der Block Fetch-Verfahren
Verteilte Anwendungen (Distributed Applications) - Package-basierender Continuous-Block-Fetch für DDF-Anwendungen
Verbesserungen bei den Optimizer-Regeln - Prädikat-Modifikationen und Indexable-Einstufung bestimmter Funktionen - Entfernen von Prädikaten, die immer 'wahr' oder immer 'falsch' sind
Performance-Verbesserungen im Data Sharing - Reduktion der Group-Bufferpool-Nutzung bei intensiven Write-Aktivitäten von Threads (group-bufferpool-write-around-protocol)
Signalisierung von überhöhten Workfile-Nutzungen
Sonstige Verbesserungen bzw. Erweiterungen
Workshops/Fallbeispiele:
- Es wird kein praktischer Workshop durchgeführt.
- Bei Inhouse-Seminaren kann eine praktische Workshop-Umgebung eingerichtet werden.
|
|
DB2-V12
DB2-Version 12 for z/OS |
Zielgruppe:
- Alle, die an DB2-Versions-Details interessiert sind.
Voraussetzungen:
- Gute DB2-Kenntnisse.
Kursinhalte:
DB2-Version 12 for z/OS
DB2-Entwicklungsgeschichte
DB2 Version 12: Systemtechnische Erweiterungen und Verbesserungen
Die DB2-Produkt-Familie: Grob-Überblick
Migration von DB2-Version 11 zur DB2-Version 12
- Single Phase-Migration - Code Level, Catalog Level, Function Level und Application Compatibility Level - Level-Nutzung und -Bereitstellung in Spezialregistern und Globalen Variablen - Function Level: Verfügbarkeit der V12-Funktionalitäten
- Application compatibility (APPLCOMPAT) und Fallback auf einen Star Function Level Neues Page-Nummerierungskonzept mit Erhöhung der Partition-Größen und Verbesserung der Flexibilität - APN- Absolute Page-Nummerierung und RPN- Relative Page-Nummerierung
- Record-Identifier (RID) - Erweiterung Trigger-Erweiterungen - Basic- und Advanced Triggers - CREATE TRIGGER (Advanced): Syntax-Diagramm Von nun an wird eingepackt (Obfuscated Source Code - WRAP) - Komponenten Temporal-Table-Erweiterungen - Mehr Flexibilität bei der Definition von BUSINESS_TIME-Perioden (inklusiv-inklusiv) - BUSINESS_TIME Period - Verhalten der Daten beim UPDATE - Unterstützung der Referential Integrity durch Referential Constraints - Beteiligte Komponenten - Beispiel- Szenarien - Syntax-Beispiele - Unterstützung von Temporal Logical Transactions für System-Period Temporal Tables (STT) - Beteiligte Komponenten - Spezifikation von logischen und physischen Transaktionsbereichen - System-maintained Temporal Table-Konzept für Katalog-Tabellen - Beteiligte Komponenten Online-Schema-Erweiterungen - Überblick der unterstützten PENDING-CHANGE-Funktionen - DDL_MATERIALIZATION-Ein ussnahme auf sofortigen Vollzug der Änderung oder Pending-Status (nur für Änderungen von Spalten-Charakteristiken) - Aspekte des sofortigen Vollzug der Änderung oder des Setzen eines Pending-Status (bei änderungen von Spalten-Charakteristiken) - Einfügen einer neuen Partition an jeder beliebigen Stelle - Zusätzliche Reorganisations-Infos in SYSPENDINGDDL
Übertragung der Eigentümerschaft eines DB2-Objektes (TRANSFER OWNERSHIP)
Utility-Erweiterungen und Verbesserungen - LOAD-Utility - DRDA Fast Load - UNLOAD-Utility - REORG-Utility - Überblick der Erweiterungen - UTS-PBG-Erweiterungen - RUNSTATS-Utility - Überblick der Erweiterungen - MODIFY RECOVERY-Utility überblick der Erweiterungen - Sonstige Utility-Erweiterungen
Speicherung von Session-Daten im z/OS-Server (session token support)
DB2 und der Rest der Welt
Sonstiges
Inkompatibilitäten und Besonderheiten der Version 12 - Veraltete Funktionalitäten (deprecated)
Erweiterungen/PTFs seit der Auslieferung der Basis-Version 12
DB2-V12 - Verbesserungen. Erweiterungen der Anwendungsentwicklungs-Komponenten
Überblick Neue Builtin-Funktionen - Aggregations-Funktionen - LISTAGG - MEDIAN - PERCENTILE_CONT - PERCENTILE_DISC - Skalare Funktionen - HASH_CRC32, HASH_MD5, HASH_SHA1 und HASH_SHA256 Ermitteln Streuwert (Hash-Value) mittels Hash-Algorithmus - WRAP - Lesbare Daten in unkenntliche bzw. schwer lesbare Daten kodieren (Obfuskation/obfuscate) Erweiterungen beim MERGE-Statement - MERGE: Syntax-Diagramm Gesamt-Überblick Verarbeitungsmöglichkeit von Teilmengen der Result Table - Blätter-Funktionalität/Aufsetzen auf Teilmenge (SQL Pagination Support) - Basis-Prädikat und Row-Value-Expression mit Range-Operatoren - SELECT: Sub-Select: Offset-Klausel: Überspringen von Ergebniszeilen der Result Table - Anwendungsbeispiele (relevante Auszüge) - DELETE von Teilmengen der Result Table - FETCH-Klausel ARRAY-Erweiterungen Sonstige Erweiterungen
DB2 V12 - Performance-Verbesserungen
Überblick
Fast Un-clustered INSERT - Insert-Algorithmen Index-Erweiterungen und Verbesserungen - Fast Index Traversal (in-memory index optimization) - Adaptiver Index zur Ausführungszeit (Execution time adaptive index) Prädikat-Verarbeitung - RUNSTATS für XML-Objekte, Frequency- und Histogramm-Statistiken für XML-Indizes sowie Filter Faktor-Kalkulation für das XMLEXISTS -Prädikat Verbesserung beim Sort - Vermeidung von Sort-Aufwendungen in Verbindung mit der FETCH FIRST-Klausel - Vermeidung von Sort-Aufwendungen für OLAP-Funktionen mit der PARTITION BY- und ORDER BY-Klausel - Reduzierung von Sort-Aufwendungen durch Verkürzung der Sort-Keys - Sonstige Sort-Erweiterungen
Einfügung von Prädikaten in innere Queries (pushdown) und Eliminierung nicht benötigter Spalten (pruning unused columns) - Verbesserungen für Outer Joins und UNION ALL - Verbesserungen für Views und Table Expressions Static Plan Stability- Erweiterungen - Überblick der Komponenten - REBIND PACKAGE: APREUSESOURCE(PREVIOUS) oder APREUSESOURCE(ORIGINAL) - FREE PACKAGE command PLANMGMTSCOPE (INACTIVE, ORIGINAL oder ALL) sowie INVALIDONLY (YES oder NO) - Erweiterte BIND-Information für APCOMPARE und APREUSE in der Tabelle DSN_STATEMNT_TABLE Dynamic SQL Plan Stability - Grundsätzliche Aspekte bei der Abwicklung von dynamischen SQL-Statements - Effizienz-Level für dynamische SQL-Statements bei erneuter Nutzung - Stabilisierung von dynamischen SQL-Statements im Katalog - Beteiligte Komponenten - Stabilisierungs-Methoden - Installationsparameter CACHEDYN_STABILIZATION und seine Wirkung - -START DYNQUERYCAPTURE und die möglichen Optionen - Identifizierung von Kandidaten für die Statement-Stabilisierung - Invalidierung von Stabilisierten Dynamischen SQL-Statements - EXPLAIN-Analyse von Stabilisierten Dynamischen SQL-Statements Invalidierung von Dynamic SQL-Statements im Dynamic Statement Cache (DSC) Automatische Aktualisierung von Statistik-Profilen Resource Limit Facility (RLF) für Static SQL - Überblick - RLF-Installations-Parameter - RLF-Tabellen - RLMT - Resource Limit Table - RLST - Resource Limit Specification Table
Sonstige Erweiterungen
Zusammenfassung der Versionsänderungen
Erweiterungen und Änderungen der Installations-Parameter (ZPARMS) - Neue Installations-Parameter - Geänderte Installations-Parameter - Nicht mehr verfügbare Installations-Parameter DB2-Katalog - Neue Katalog-Tabellen - History-Tabellen im Katalog als System-maintained Temporal Tables Erweiterungen und Änderungen der DB2-Commands - Neue DB2-Commands - Erweiterungen der Optionen von DB2-Commands Erweiterungen der DB2-Utilities - Online-Utilities Neue und veränderte SQL-Statements - Neue SQL-Statements - Veränderte/erweiterte SQL-Statements
Workshops/Fallbeispiele:
- Es wird kein praktischer Workshop durchgeführt.
- Bei Inhouse-Seminaren kann eine praktische Workshop-Umgebung eingerichtet werden.
|
|
XML-GR
XML-Grundlagen
|
Zielgruppe:
Alle, die an XML-Grundlagen interessiert sind.
Voraussetzungen:
- keine
Kursinhalte:
XML - Extensible Markup Language
Einführung
- Die Rolle von Metadaten und Daten
- Trennung von Metadaten und Daten unter XML durch Marken ('Tags') - (Un)Verbindliche theoretische Grundlagen und Quellen von XML - Die Empfehlungen des Worldwibe Web Consortiums (W3C) - XML-Versionen 1.0 und 1.1 - XML-Basis-Terminologie - Was heißt und bedeutet 'XML' - Zielsetzung und Aufgabenstellung von XML - Kurze historische Entwicklungsgeschichte von XML - XML-Familie - Modell- und Schema-Komponenten - Auf XML basierende Weiterentwicklungen - XML-Dokument (XML-Dokument-Instanz) - Der Aufbau eines XML-Dokuments - Daten-orientiertes XML-Dokument - Dokument-orientiertes XML-Dokument - Das hierarchische Konzept von XML - Das XML-Dokument reicht vom Einzeiler bis zur Abbildung komplexer Strukturen
XML-Metadaten-Überblick - Ein XML-Dokument muss korrekt sein - Mindest-Anforderung: wohlgeformt (well-formed) - XML ist case-sensitiv, SQL aber nicht! - Erweiterte wichtige Anforderung: gültig (validate) - Gültiges XML-Dokument mit DTD-Definition - Gültiges XML-Dokument mit XML-Schema-Definition - Metadaten-Kategorien - Information-Set eines XML-Dokuments - Element und Attribut - Element - Attribut - Normalisierung der Element- bzw. Attribut-Werte
XML-Metadaten: DTD - Document Type Definition - Einfaches Beispiel für Elemente und Attribute - DTD-Schlüsselworte - XML-Deklaration und DOCTYPE (<!DOCTYPE..>)
- ELEMENT-Typ (<!ELEMENT ... >) - Beispiel-DTD mit Element-Typen - Attribut-Typ (<!ATTLIST ... >) - Beispiel-DTD mit Element- und Attribut-Typen
XML-Metadaten: XML-Schema - XML-Schema-Dokument und XML-Instanzen-Dokument - Daten-Typen des XML-Schemas - Einschränkende Fassetten der Daten-Typen des XML-Schemas - Struktur-Typen des XML-Schemas - Schema-Komponenten - Grober Überblick - Komponenten-Typen, Typ-Deklarationen und -Definition - Globale und lokale Komponenten - Beziehungs-Diagramm der XML-Schema-Komponenten - Design-Methoden des XML-Schemas - Grundsätzliche Überlegungen - Matroschka-Design: Individuelles Schema mit lokalen Elementen - Salami-Design: Globales Schema mit ausschließlich globalen Elementen - Jalousie-Design: Globales Schema mit Typen - Umsetzung methodischer Prinzipien mit dem XML-Schema - Generalisierung, Aggregation/Komposition und Spezialisierung - Umsetzung der DTD-Komponenten in das XML-Schema - Namensraum/Namespace-Konzept - Der Zwang zu eindeutigen Namen - Konzepte für Namenskonventionen mit eindeutigen Namen - Der eindeutige Namensraum-Name ist ein URI - Definition eines Namensraums mit dem Spezial-Attribut 'xmlns' - Varianten der Namensraum-Nutzung - Impliziter Namensraum mit Ziel-Namensraum - Expliziter Namensraum mit Ziel-Namensraum - Zusammenwirken mehrerer Namensräume: Heterogenes Design - Schema-Bausteine mit gemeinsamem Namensraum (Chameleon-Effekt)
XPath-Sprachkomponenten - Basis für XPath ist eine XML-Daten-Modell-Instanz - Serialisierung, Sequenz und Atomisierung - Generierung eines XML-Daten-Modells - Beispielhafte XML-Dokument-Instanz - Beispielhaftes XML-Daten-Modell - Beispielhafte XML-Daten-Modell-Instanz - Hierarchie-Regeln und -Funktionen des XML-Daten-Modells - Test des Knoten-Typs (Kind-Test des Node-Types) - Kontext-Knoten (Context Node) - Achsen-Funktionalitäten: Vorwärts- und Rückwärts-Bewegungen - Beispiele der Achsen-Funktionalitäten - XPath-Ausdruck (XPath-Expression) - Syntax-Struktur-Komponenten - XPath-Funktionen - Überblick der XPath-Funktionen - Namensraum-Kürzel für XPath-Funktionen
XQuery-Sprachkomponenten - XQuery-Beispiele
- XQuery-Ausdruck (XQuery-Expression) - Syntax-Struktur-Komponenten
XML-Schema- und XML-Daten-Verwaltung unter DB2 - Beispiel-Schema - Beispiel-XML-Dokument - Überblick der beteiligten Komponenten - Übersicht der XML-Speicherstruktur - Manipulation der XML-Dokumente - DB2-Schema-Verwaltung - Einstellung von gültigen XML-Daten - Komposition und Dekomposition eines XML-Dokuments - Überblick - Komposition eines XML-Dokuments - Beispiel von Kompositionen mit SQL-Funktionen - XML-Wert als DB2-Datent-Typ konvertieren - XML-Wert aus DB2-Datentypen erzeugen - Dekomposition von XML-Daten (Shredding) - XML-Schema für Annotationen - Beispiel einer De-Kompositionen mit der SQL-XMLTABLE-Funktion - XML-Wert als DB2-Datent-Typ konvertieren.
Workshops/Fallbeispiele:
- Es wird kein Workshop durchgeführt - nur theoretische
Wissensvermittlung.
|
|
SQL-VERTIEF
SQL-Vertiefung
|
Zielgruppe:
Alle, die die SQL-Entwicklungen über die Versionen hinweg erlernen
wollen.
Voraussetzungen:
- Gute DB2-Kenntnisse
Kursinhalte:
SQL-Sprach-Grundlagen
- Grober Überblick der Basis-Sprach-Elemente
- Detail-Darstellung der Basis-Sprach-Elemente - Expression
- Operator - Labeled Duration und DateTime-Arithmetik - Row-Value-Expression (Row Expression)
- Predicate / Prädikat
- Search Condition / Such-Bedingung - Function / Funktion
- Funktions-Typen
- Builtin Functions
- Aggregate Function (vor V8: Column Function)
- Skalare Funktionen / Scalar Functions
- Table Functions
- OLAP-Spezifikation - Syntax der OLAP-Spezifikation - Beispiele der OLAP-Aggregations-Funktionen
SELECT-Statement
- Grund-Funktionalität - Die wesentlichen Klauseln des SELECT-Statements - SELECT-Klausel - Bereitstellung von Daten aus einer einzelnen Tabelle
- Bereitstellung von Daten aus mehreren Tabellen (Join)
- Verdichtung der Result Table (DISTINCT) - FROM-Klausel - Bereitstellung von Daten aus Basis-Tabellen bzw. Views - WHERE-Klausel - Einfache Vergleichsoperatoren - Subquery - ORDER BY-Klausel - GROUP BY-Klausel - SELECT-Statement: Zusammenfassung - SELECT-Komponenten - SELECT-Statement-Typen und Syntax-Einordung
- SELECT-Klauseln: V8 und V9 - Join-Typen und deren Ergebnisse - Inner Join - Outer Join - Left Outer Join - Right Outer Join - Full Outer Join - Die Wirkung der ON-Klausel - Verknüpfung mehrerer Join-Typen - Table Expression - Überblick - Nested Table Expression - Nested Table Expression mit CASE-Beispiel - Common Table Expression (ab DB2-Version 8) - Beispiel: Aggregate Funktionen schachteln - Rekursives SQL - Scalar Fullselect (ab DB2-Version 8) - Beispiele
- Scalar Full-Select in der WHERE-Bedingung - Scalar Full-Select in der CASE-Expression - Möglichkeiten und Risiken
- Subquery - Einsatzformen - Non-Correlated und Correlated Subquery - Vereinigung von Daten zweier Result Tables - Überblick Set-Operatoren - UNION - INTERSECT (ab DB2-Version 9) - EXCEPT (ab DB2-Version 9) - Zusammenführen der Daten mehrerer Tabellen - Abgrenzung eines Joins zum Set-Operator - Spezialregister - Session-Variablen (ab DB2-Version 8, erweitert in DB2-Version 9) - Sonstige SQL-Erweiterungen der DB2-Version 8
DML-Manipulations-Statements
- Funktionalität - Varianten der Manipulations-Statements - Rowset-Verarbeitungs-Modus (ab DB2-Version 8) - Host-Variablen-Array und FOR n ROWS-Klausel - Multi-row INSERT - GET DIAGNOSTICS-Statement (ab DB2-Version 8) - MERGE-Statement (ab DB2-Version 9) - TRUNCATE-Statement (ab DB2-Version 9) - SELECT der Result Table einer Data Manipulation - SELECT FROM FINAL TABLE (INSERT) - ab DB2-Version 8 - SELECT FROM OLD und FINAL TABLE (UPDATE, DELETE, MERGE) - ab DB2-Version 9
Cursor-Konzept
- SQL-Verarbeitungstypen in Programmen - Cursor-Typen - Ist die Result Table des Cursors read-only oder updateable? - Scrollable Cursor - Scrollable Cursor-Typen und ihre Result-Table-Modelle - Static Scrollable Cursor - Positionierungs-Möglichkeiten in der Result Table - Manipulationen über die Result Table eines Static Scrollable Cursors - Dynamic Scrollable Cursor (ab DB2-Version 8) - Positionierungs-Möglichkeiten in der Result Table - Manipulationen über die Result Table eines Dynamic Scrollable Cursors - Rowset-Verarbeitung (ab DB2-Version 8) - Übersicht - Host-Variablen-Array - Scrollable Cursor: Positionierung mit Rowsets - Analyse der Rowset-Verarbeitungs-Ergebnisse mit GET DIAGNOSTICS
Funktionen, die DDL-Definitionen fordern
- Vergabe einer lfd. Nr. durch DB2 - IDENTITY-Charakteristik und SEQUENCE-Objekt (ab DB2-Version 8) - Einsatz-Möglichkeit - Vergleich der Verfahren - Automatische Vergabe eines Änderungs-Zeitstempel durch DB2 - ROW-CHANGE-Expression (ab DB2-Version 9) - Optimistic Locking - Native SQL-Prozeduren (ab DB2-Version 9) - Aufgabenstellung und Funktionsumfang - Unterstützung von Nested Compound SQL-Statements - Instead-of-Trigger (ab DB2-Version 9) - Aufgabenstellung und Funktionsumfang - Nutzungs-Beispiel
LOB- und XML-Werte
- Verarbeitung von LOB-Daten - Behandlung komplexer Objekte im DB2 - Bereitstellungs-Methoden von LOB-Daten - Schrittweise Bereitstellung kompletter LOB-Werte durch FETCH CONTINUE (ab DB2-Version 9)
- LOB-File-Referenz: Referenz auf eine externe Datei, die einen LOB-Wert enthält - Verarbeitung von XML-Dokumenten (ab DB2-Version 9) - XML-Daten: Bereitstellungs-Techniken - Manipulation von XML-Dokumenten - Manipulation kompletter XML-Dokumente - Manipulation von Knoten innerhalb eines XML-Dokuments - SQL-XML-Funktionen: Beispiele für Komposition und De-Komposition - XML-Objekte: XML Table, DocID- und NodeID-Index, XML-Index und XML-Tablespace
Workshops/Fallbeispiele:
- Es wird ein Workshop durchgeführt. Die Teilnehmer
können die Workshop-Inhalte beeinflussen. Der Workshop kann unter
z/OS oder Windows durchgeführt werden (unter Windows ohne Programmier-Beispiele).
|
|
D-65201 Wiesbaden-Frauenstein -- Im Weingarten 47 -- Tel: +49 611 72 47 66 50 -- e-mail:info@dgd-ub.de