IBExpert & Firebird Learning Center

Welcome to the IBExpert learning center, where we provide a range of tutorial films about Firebird and IBExpert.
You can also find all these films at YouTube.com.
If you cannot find a solution to a particular problem in these tutorials, please consult our online documentation.
If you have any comments or questions regarding any of these tutorials please mail register@ibexpert.biz.

How to start with FbNetExternalEngine (.NET), by Jiri Cincura

YouTube tutorial: Jiri provides an easy to follow guide to install the FbNetExternalEngine into Firebird and create a simple function.

IBExpert and Firebird Online Get-Togethers

During the COVID-19 pandemic in 2020 we have started to offer regular IBExpert and Firebird online get-togethers with Holger Klemt. This playlist is a collection of these unedited sessions.

You can view the entire playlist here: IBExpert Firebird Online Get-Togethers.
You can find our German-language "Online Stammtisch" sessions here: IBExpert und Firebird Online Stammtisch.

Online Get-TogetherTopics
April 6, 2020In the first of our informal online get-togethers we chat about IBExpert Firebird Performance benchmark and optimization.
- 00:01:08: IBExpert Benchmark
- 00:20:39: Reads from and writes to cache
- 00:26:08: Cache buffers
- 00:29:15: SQL Performance Analysis
- 00:33:34: Optimizing hardware
- 00:42:49: Benchmark with different Firebird versions and flavors
- 00:48:39: IBExpert Services / Database Monitoring - Transactions
- 00:52:23: Typical errors / Virtual environments / Backup & restore
- 00:55:34: Replication examples
- 01:09:40: IBExpert Developer Studio benchmark on Linux & using parameters
- 01:17:18: Benchmark modes: EXT, XXL, ASYNC
- 01:21:29: Introduction to replication
April 20, 2020In this session Holger Klemt takes a look at a basic Firebird Installation for Windows using EXE or ZIP, how to prepare a minimum install, basic firebird.conf parameters, packages, functions.
- 00:00:15: Installing Firebird 3
- 00:04:11: Firebird 3 executable installation
- 00:15:51: FB3 manual installation from a ZIP file
- 00:22:50: Firewall / IBExpert ufw
- 00:26:20: Firebird 3 essential files & which files can be deleted
- 00:53:22: Firebird instances (multiple Firebird installations)
- 00:59:40: firebird.conf
- 01:34:31: Some new features in Firebird 3
April 27, 2020This session looks at perfomance tools in Firebird and IBExpert, monitoring, trace API, understanding indices, index plan.
- 00:00:14: Preparing a sample database for testing
- 00:02:42: Page cache
- 00:06:16: Script Executive/SQL Editor Performance information
- 00:09:04: Database Properties influence on performance
- 00:14:19: IBExpert Performance Analysis
- 00:19:11: Indexed reads and non-indexed reads
- 00:23:46: Index Selectivity
- 00:35:47: RDB$DB_KEY
- 00:42:50: Database Statistics
- 00:47:20: Deactivating indices
- 00:52:30: Expression indices
- 00:55:47: Recomputing index selectivity
- 00:58:16: Database Monitoring
- 01:08:43: Trace and audit
- 01:16:06: Procedure optimization / Debug procedure
- 01:22:00: Recompile procedures and triggers
- 01:30:39: Database Monitoring
- 01:37:09: Disadvantages of too many Indices
- 01:41:49: Q & A
May 4, 2020Data import, data export, automating scripts with IBEBlock.
- 00:02:08: Simple data export
- 00:06:01: Data import / IBEBlock
- 00:13:44: ODBC
- 00:20:46: Automated import/export
- 00:23:25: Export the full database
- 00:32:03: More import/export operations
- 01:05:00: Comparing database versions
- 01:15:44: ODBC
- 01:22:37: Fast import/export using external files
- 01:35:28: IBExpert Report Manager
- 01:43:55: IBExpert Data Analysis
May 11, 2020How to develop simple Firebird-base web apps that function on and offline.
- 00:00:00: Introduction
- 00:04:26: Files needed
- 00:07:49: Demo App
- 00:10:56: The physical implementation: Apache, PHP, Firebird
- 00:24:35: What happens technically
- 00:29:57: IBExpert log table
- 00:40:35: IBExpert Trace API & Database Monitoring
- 00:45:52: Simple formatting using stored procedures
- 01:00:36: Front end using Lazarus special edition
- 01:09:05: TMS components, Pascal and Java Script
- 01:19:49: TMSWebCore
- 01:27:56: Time Tracking Demo App
- 01:41:41: Hardware: dedicated IBExpert IFS Servers
- 01:50:13: Replication solutions

If you want to download the files mentioned in the video, please write to sales@ibexpert.biz.
May 18, 2020Setting up and managing a multi-database Blob Archive system, various inter-database operations.
- 00:00:00: Introduction
- 00:03:16: Create and register a new database
- 00:06:09: Create a blob table and fill with data
- 00:18:51: The hash function
- 00:27:06: Storing large blob data in a separate database
- 00:39:18: Dearchive the archived blob data
- 00:45:23: Viewing and accessing blob data
- 00:52:44: Accessing blob data in multiple read-only archive databases
- 00:57:07: More operations
- 01:01:25: Internal functions
- 01:07:34: Archiving to and retrieving from external servers
- 01:18:16: RAND function
- 01:19:49: Execute statement on external and with autonomous transaction
- 01:23:25: Different ways to transfer data between databases
June 8, 2020Internal structure of a database, data types, data model and physical effects of blobs/CHAR/VARCHAR on the network
- 00:00:00: Introduction
- 00:01:25: Preparing simple sample data
- 00:04:00: What happens over the network – IBExpert TCPipe
- 00:18:36: Effects of char and varchar over the network
- 00:41:12: Making blobs more efficient across the network using the list operator
- 00:46:43: Execute and fetch all
- 00:49:34: Multi-generational architecture / Transactions
- 00:57:43: IBExpert Database Statistics
- 01:20:45: Deleted record versions, database sweep, garbage collection
- 01:27:16: 253 changes of table left, IBExpert Database Inside, RDB$RELATIONS
- 01:37:37: RDB$FORMAT
- 01:45:35: Disadvantage of large varchars
June 15, 2020Advanced IBExpert IDE and scripting with IBExpert's own scripting language IBEBlock and automating and integrating IBExpert functions into your own application
- 00:00:00: IBExpert scripting language IBEBlock
- 00:08:30: Automating script execution
- 00:09:58: IBEScript parameters and encryption
- 00:14:51: Integrating scripts in your application with IBEScript.dll
- 00:21:03: Fast data exchange
- 00:32:09: Deactivate and reactivate all triggers
- 00:42:22: An overview of all IBEBlock functions
- 01:24:14: Converting a database character set from NONE to UTF8 using IBExpert’s Extract Metadata
- 01:41:49: Why is the correct character set important?
- 01:50:32: Extracting only data or only triggers with IBExpert’s Extract Metadata
June 29, 2020This session covers basic knowledge of views, stored procedures, triggers, functions, packages; updatable and materialized views; exception handling.
- 00:00:56: Materialized views
- 00:10:34: Procedures, exception handling, avoiding deadlocks
- 00:24:31: Database Monitoring, Trace API
- 00:38:46: Prepare query, dependencies
- 00:44:59: Replacing foreign keys with triggers
- 00:46:30: Using triggers and procedures in updateable views
- 00:57:18: Creating an updatable view in IBExpert
- 01:01:13: Firebird 3 internal functions for row-based and column-based limitation of data records fetched
- 01:15:43: Managing user permissions to limit data view and access
- 01:27:24: Updateable views

Firebird 3.0

Here we present some of the new Firebird 3.0 features.

01Firebird 3.0 stored functionsclick to view
02Firebird 3.0 packagesclick to view

The Firebird 3.0 series is an ongoing project. More topics to follow soon.

IBExpert Quick Tips

Not just for beginners or those new to IBExpert, these short tutorials offer many tips and tricks to speed up and simplify your work with Firebird/InterBase® and IBExpert.

02IBExpert user interface: MDI or SDIclick to view
03Change the IBExpert interface languageclick to view
04Set up the IBExpert User Databaseclick to view
05Using keyboard templatesclick to view
06Using general templatesclick to view
07Code formatting optionsclick to view
08Lazy Modeclick to view

Working with IBExpert

This series of tutorials covers the majority of the main basic subjects when starting your work with Firebird/InterBase® and IBExpert.

TutorialSubjectClick to view film
1Firebird installations for professionalspart 1part 2part 3
3Register Databasepart 1part 2 
4IBExpert Database Objectspart 1part 2 
5Firebird Database Filesclick to view  
6IBExpert Database Comparerclick to view  
7IBExpert Table Data Comparerclick to view  
8IBExpert User and Grant Managersclick to view  
9SQL code editorsclick to view
10IBExpert Extract Metadatapart 1part 2part 3
11Firebird for Professionals: IBExpert Benchmarkclick to view  
12IBExpert Database Designerclick to view  

IBExpert in depth

Here you can learn how to utilize the full functionalities of IBExpert.

TutorialSubjectClick to view film
11IBExpert Data Analysisclick to view
12Firebird turbo backup using shadows and IBExpertclick to view
13How to retrieve a corrupt Firebird/InterBase® database using IBExpert Database Insideclick to view

The IBExpert in depth series is an ongoing project. More topics to follow soon.

Firebird Developer Training

Based on the Firebird School which was held at the International Firebird Conference 2007 in Hamburg, Germany by Holger Klemt and Jason Chapman.

TutorialSubjectClick to view film
01Installing the sample databasepart 1  
02-04SQL Basicspart 1part 2part 3
05-06Creating your first Firebird databasepart 1part 2 
07-08Database design & modellingpart 1part 2 
09-10Writing stored procedures and triggerspart 1part 2 
11-12Debugging & Optimizationpart 1part 2 

Firebird DB Admin Training

Based on the Firebird School which was held at the International Firebird Conference 2007 in Hamburg, Germany by Holger Klemt and Jason Chapman.

01Introduction to admin tasksclick to view
02Installing the Firebird serverclick to view
03Firebird server versions and differencesclick to view
04Firebird database aliasesclick to view
05Firebird configuration file parametersclick to view
06Multi-generational architecture & database statisticsclick to view
07Firebird database pagesclick to view
08Maintenance operationsclick to view
09Protocols, ODBC import & exportclick to view
10Automating the database backup & restoreclick to view
11Database corruption and database repair using gfixclick to view
12Alternative database repair methodsclick to view
13Typical causes of server problemsclick to view
14Detect and avoid server problemsclick to view
15Log files and temp filesclick to view
16Firebird memory configurationclick to view
17Hardware, operating systems and benchmark testingclick to view
18Understanding Firebird indices & index statisticsclick to view
19Optimizing SQL commandsclick to view
20Optimizing the database & database performanceclick to view

FBCon 10 Session Videos

Here you will find all FBCon 10 conference recorded sessions. All films have been edited to condense long upload times and speed up live demonstrations, so that many are shorter than the original session length. No important information has been deleted!

A01Opening sessionHolger Klemt
A02New features in SQL language *Vlad Khorsun
A03Database conversions: UTF8 and other character set targetsHolger Klemt
A04Managing recursive, tree-like data structures with Firebird IFrank Ingermann
A05Managing recursive, tree-like data structures with Firebird IIFrank Ingermann
A06Writing 32 + 64-bit UDFs for Firebird using Pascal language with Lazarus and Freepascal, native multi-platform development for Windows, Linux, Mac, 32 and 64 bitHolger Klemt
A12ODS related optimizations in Firebird 3***Vlad Khorsun
A12aIBExpert registration & integrationHolger Klemt
A13Turbo Firebird: A Firebird performance comparison: 32/64 bit, virtual machines, multicore, ramdisk, harddisk, Linux, Windows, monitoring, etc.Holger Klemt
A14Open Source OLAP Environment with FirebirdThomas Steinmaurer
A15Using Open-Source BI Tools with FirebirdRoman Rokytskyy
A16Firebird 2.5 architectures comparisonThomas Steinmaurer
A22Firebird 3. Initial review By Dmitry YemanovVlad Khorsun
A22aTrace API technology and toolsThomas Steinmaurer
A23Developing modern Rich Internet Applications with Java and FirebirdRoman Rokytskyy
A24IBEBlock scripting LanguageIBExpert
A25Firebird, Apache and PHP-based web application: basic technology for mobile browser access, including iPad, iPhone and AndroidHolger Klemt
B04New features in .NET provider for Firebird**Jiri Cincura
B05How to replace InterBase with Firebird?better office
B13Transparent JDBC replication with Firebird *Roman Rokytskyy
B15Connecting to Firebird using .NET provider from various devices - iPad, iPhone, Android, Windows Phone, ... *** (audio improves after 09:23:00)Jiri Cincura
B23Part-time foreign keys using flexible triggers to replace declarative foreign keys. ***Holger Klemt
B24Server-side programming techniques ***Thomas Steinmaurer
B25Creating services for Rich Internet Applications***Jiri Cincura

* This session was unfortunately not recorded; please refer to Vlad's PPT presentation.
** Unfortunately there were problems with the microphone during this session. We've left the sound in where it was comprehensible, and just run the screen show where not.
*** Unfortunately poor sound quality.

Firebird & IBExpert Power Workshops

The following is an English translation (with subtitles) of a live recording of the IBExpert Power Workshop: Optimizing Database Performance held by Holger Klemt in 2013.

If you're interested in participating in our Power Workshop series, you can find the upcoming dates on our home page.

01Firebird turbo backup using shadows and IBExpertFree English-language excerpt (with subtitles), taken from a live recording of a power workshop held by Holger Klemt in 2013.

Any comments? Send an email to register@ibexpert.biz
COPYRIGHT © 2002-2024 HK-Software, IBExpert Ltd. All rights reserved.
All IBExpert brand and product names are trademarks or registered trademarks of IBExpert Ltd in Malta and other countries. InterBase, Delphi, CodeGear, C++Builder, Delphi/400, Delphi for PHP and JBuilder are trademarks or registered trademarks of Embarcadero Technologies Inc. in the United States and other countries. Firebird is a registered trademark of the FirebirdSQL Foundation. Turbo Pascal is a registered trademark of Borland International, Inc. Sun, Java, JavaScript and Solaris are trademarks or registered trademarks of Sun Microsystems, Inc. or its subsidiaries in the United States and other countries. UNIX is a registered trademark in the United States and other countries, exclusively licensed through “The Open Group”. Oracle is a registered trademark of Oracle Corporation in the United States and other countries. All Microsoft brand and product names are trademarks or registered trademarks of Microsoft Corporation in the United States and other countries. AS/400, DB2, IBM, Informix and iSeries are trademarks or registered trademarks of IBM Corporation in the United States and other countries. Linux is a registered trademark of Linux Torvalds. dBASE is a trademark of dataBased Intelligence, Inc. Skype is a registered trademark of Skype Ltd., in the United States and other countries. All other product names mentioned herein and throughout the entire web site are trademarks of their respective owners.