Picture of Markus Winand

The quality of online trainings suffers enormously with too many participants.

That’s why my online trainings are always one-on-one courses.

Personal Contact Makes the Difference

To move experienced developers forward, it is not enough just to teach them new features. Is is also important to address topics that have become outdated. This requires the kind of dialogue that cannot be realized between the trainer and multiple participants in the same online training. The reflective facial expressions of individual course participants cannot be seen, so the coach cannot react.

The solution is simple: online trainings need to be limited to a single participant. As a side effect such training also offers maximum flexibility, as the dates of the two-hour training sessions are schedules individually for each participant. The interval can be chosen by each participant to meet individual needs and time constraints. Short-term schedule changes are possible at any time. This allows you to take maximum advantage of the online medium.

Training Catalogue

These two trainings form the standard training program of Markus Winand, they can be carried out on short notice. They are delivered in six two-hour sessions. Of course Markus can extend these trainings by incorporating further topics and adjust the content to your particular situation. Please contact Markus Winand to get started.

SQL-Performance Kick-Start

In this training, developers learn how to resolve the most common cause of SQL performance issues: the index/query mismatch. After this training, developers can do more than just solve performance problems—they can proactively avoid them during their everyday work.

Topics:

  • How does an index work?

  • Multi-column, partial and function-based indexes

  • Execution plans

  • Join algorithms

  • Building and using data clusters

  • Indexing sort and grouping operations

  • Optimizing top-n and pagination queries

  • Drawbacks of indexes

SQL Reloaded

This training clarifies the most common uncertainties developers have when working with SQL, and it teaches them to find the right solution more quickly. This training also introduces some less well-known design principles that have nevertheless proven themselves over the past decade.

Topics:

  • Syntactic components: keywords, names, values

  • Type safety and the predefined data types

  • NULL and the three-valued logic of SQL

  • Queries: structure and logical order of execution

  • Joins

  • The modern interpretation of the relational model

  • Storing versioned (historic) data in SQL databases

  • Immutable facts as a design principle

Further Topics

Here are some of the topics Markus Winand has done customized trainings in the past. Depending on the database brand you are using Markus might need a lead time to prepare the material for your scenario.

Of course you can also ask about other topics.

Data Consistency

In this module developers learn how to protect the consistency of the data—and thus all also maintain the correctness of decisions based on the data.

Topics:

  • Data types, constraints and domains

  • Deferrable constraints

  • Transactions in the context of write operations

  • Transactions in the context of read operations

  • Transaction isolation and concurrency

Analysis and Aggregation

Online analytical processing (OLAP) can simplify and accelerate many applications—also those processing transactions. Using these features not only reduces development time, it also improves the performance of the application.

Topics:

  • Avoiding self-joins

  • Multiple groupings

  • Window functions

  • Ranking

  • Grouping consecutive events

Recursive Queries

Modern SQL can process hierarchies and graphs directly in the database. This often means that you can avoid the need to cross a technology border, thus reducing the complexity and error-proneness of the application.

Topics:

  • The WITH clause (non-recursive)

  • The WITH RECURSIVE clause

  • Use cases and examples

Row pattern matching (only Oracle database)

SQL row pattern matching provides previously unimaginable possibilities when it comes to recognizing patterns in time series. This feature is also useful beyond pattern matching, it is therefore relevant for all users of the Oracle 12c database.

Topics:

  • The MATCH_RECOGNIZE clause

  • The supported regular expression dialect

  • Performing aggregations

  • Dynamic abort conditions

  • Use cases and examples

Extended Optimizer Statistics

This extension module for the “SQL Performance Kick-Start” training teaches developers to provide the required metadata for the database so that it can make better decisions and yield more rapid execution.

Topics:

  • Object statistics

  • Cross-column correlation

  • Function-based statistics

  • Reactive optimization methods of databases

The topics vary for each database brand.

Security 1x1

In spite of the General Data Protection Regulation IT security moved into the focus of the managing directors again. The security model of SQL can help improving your security. Beyond that, most database vendors offer advanced means for fine grained access control to further reduce the risk of data leaks.

Topics:

  • SQL injection

  • Access rights on object

  • Row-level security

The topics vary for each database brand.

Configure your Training

Privacy: The provided data is solely used to make you an offer and subsequent invoicing.

Prerequisites

The training takes place online. The preferred technology is currently Google Hangouts. A different technology can be used upon request if the participant provides the required licenses.

The suitability of your infrastructure can be tested before booking (please put a note in the form above).

Availability

July 2018

Mon.Tue.Wed.Thu.Fri.
23456
910111213
1617 18 1920
2324252627
 30 31

August 2018

Mon.Tue.Wed.Thu.Fri.
123
678910
1314151617
2021222324
2728293031

Connect with Markus Winand

Markus Winand on LinkedInMarkus Winand on XINGMarkus Winand on Twitter