Schulungs-Zertifikat u ber das F&C-Training On The Job Sybase SQL Anywhere Advanced Database Developer ausgestellt fu r <Teilnehmer> <Firma> <Teilnehmer> hat das Training im Umfang von 80 Stunden mit dem umseitig aufgefu hrten Curriculum erfolgreich abgeschlossen und seine Kenntnisse gegenu ber dem F&C-Trainer <Trainer> im Praxisaudit bewiesen. Dortmund, den <Datum>, n FISCHER & CONSULTANTS GESELLSCHAFT FU R UNTERNEHMENSBERATUNG UND SOFTWAREENTWICKLUNG MBH MARTINSTRASSE 1 44137 DORTMUND TEL 0231 14 36 34 FAX 0231 14 36 46 [email protected] Sybase SQL Anywhere Advanced Database Developer Curriculum Grundbegriffe: Client/Server- und Mehrschichten-Architekturen 䛈 Funktionale Datenzugriffs-APIs (ODBC) und objektorientierte APIs (ADO und JDBC) 䛈 Datenbank-Objekte (Tabellen, Spalten, Indizes, Constraints, Trigger, Prozeduren, Views, Klassen) 䛈 Metadaten und Systemtabellen 䛈 Administratorwerkzeuge Sybase Central, ISQL und Debugger 䛈 Case-Tools 䛈 Grundzu ge von SQL: Data Definition Language (DDL) und Data Manipulation Language (DML). Database Design/Creation: Einfu hrung Sybase PowerDesigner 䛈 Grundlagen konzeptioneller E/R-Modelle (CDM) 䛈 Entities, Attributes, Primary Keys, Alternate Keys, Domains, Constraints und Checks 䛈 SQL Datentypen 䛈 Relationen (1:1, 1:n, n:m) und Foreign Keys 䛈 Dependend Relations, attributierte und nicht-attributierte n:m-Relationen 䛈 Vererbte Tabellen 䛈 Grundlagen physischer E/R-Modelle (PDM) 䛈 Owner und Tablespaces 䛈 Indexdefinition 䛈 Regeln der deklarativen referentiellen Integritat: Restrict, Cascade, Set Null, Set Default bei Updated und Delete 䛈 Script-Generierung aus dem E/R-Modell und DDL 䛈 Datenbank-Initialisierung und wichtige DatenbankParameter 䛈 Einspielen des Datenmodells per ISQL 䛈 Change-Management mit Hilfe von CASE-Tools. Data Manipulation Language: Einfache SELECTs 䛈 Spaltenauswahl und Virtuelle Spalten 䛈 Casting und Formatierung 䛈 Skalare Funktionen (Length, Left, Right, Case etc.) 䛈 Rechengenauigkeit bei numerischen Spalten 䛈 Grundlagen des Filterns mit WHERE 䛈 Fortgeschrittene Filter und Subselects mit IN, EXISTS und ANY 䛈 Sortieren mit ORDER BY 䛈 Aggregatfunktionen, GROUP BY und HAVING 䛈 Verknu pfungen und kartesisches Produkt 䛈 JOINs und OUTER JOINs 䛈 Subselects als Alternative zu JOINs 䛈 Kontrolle des Query Optimizers mit grafischen Access Plans 䛈 VIEWs 䛈 Grundlagen von INSERT, UPDATE und DELETE 䛈 INSERT auf Basis von SELECT 䛈 UPDATE und DELETE u ber JOINs 䛈 Transaktionen, COMMIT und ROLLBACK 䛈 Isolation Level und Locking. SQL-Programmierung: Uberblick: Funktionen, Prozeduren und Trigger 䛈 Parameteru bergabe in Funktionen und Prozeduren 䛈 Variablen in SQL 䛈 Ru ckgabewerte von Funktionen und Prozeduren 䛈 Kontroll-Statements (IF, CASE, LOOP, WHILE) 䛈 CursorProgrammierung und Cursor-Typen 䛈 Exception-Handling und User-Defined-Errors 䛈 Prozeduren mit Result-Sets 䛈 Trigger-Typen, -Zeitpunkte und Row-Aliase 䛈 Fehlen des Mutating Table Syndroms bei Sybase T-SQL geg. PL/SQL 䛈 Verfahren zur Primary-KeyGenerierung 䛈 Extended Procedures fu r Programmaufrufe, Loggen von WindowsEreignissen und Email aus SQL 䛈 SQL-Entwicklungs-Zyklus, Debugging und Remote Debugging. Client-Programmierung: Vergleich ODBC, ADO und JDBC 䛈 Objektmodell von ADO im Uberblick (Connection, Command, Parameter, Recordset, Field, Error) 䛈 Connection Strings fu r den Anywhere OLEDB-Provider 䛈 Ausfu hren von Commands und Verwendung von Parametern 䛈 Arbeiten mit Recordsets, Cursortypen und Lockings 䛈 Exception-Handling und die Error-Klasse 䛈 Transaktions-Programmierung 䛈 Objektmodell von JDBC im Uberblick (DriverManager & Connection, Statement, ResultSet) 䛈 Registrierung des Sybase Drivers und Connection URLs fu r Anywhere 䛈 Statements und die Verwendung von IN-, OUT- und Stream-Parametern 䛈 Arbeiten mit ResultSets und Datentypen 䛈 SQLException und SQLWarning 䛈 Transaktions-Programmierung. Java in the Database (JitD): Uberblick: Datenbank als JVM 䛈 Aufruf von JavaKlassen aus SQL-Statements 䛈 Laden eigener Klassen und Packages in die Datenbank 䛈 SQL-Zugriff aus JitD-Methoden (JDBC und Internal Connections) 䛈 Wrappen von JitD-Static Methods durch SQL Stored Procedures (Signaturen von Wrapper-Prozeduren) 䛈 Typischer Entwicklungszyklus von JitD-Code (Entwicklung au erhalb der Datenbank, Final Testing als JitD) 䛈 Tuning-Tips: Caching der Default-Connection, Collections im Java-Heap als intelligenter Cache.