
Habr's readers know that I (Denis Simonov) have been working on a series of articles and examples for some time, which detail the features of developing applications for Firebird for popular languages and frameworks: 3 articles on
ADO.NET desktop ,
ASP.NET MVC and
Delphi , in work for PHP, Java, Android. Also, since 2014 I am the editor of Russian documentation for the Firebird language and a member of the international documentation group Firebird.
In the process of working on the examples, I came to the conclusion that you need to combine these articles and logically complement to a full-fledged book devoted to the development specifically for Firebird. Although there are a
lot of materials on development, and there is Russian documentation on the SQL language, the book, with a consistent presentation of the process of creating applications and describing the basic errors of newbies, will be useful.
You ask - actually, and here Habr?
')
And despite the fact that I plan to publish materials for the main chapters of the book on Habré. This is quite unusual - now only translated chapters from foreign books are being published, but I hope that the administration of Habr will not be against the Russian book.
Now Firebird is undeservedly considered as a DBMS for small databases, although there are examples of industrial exploitation of databases with up to 4 terabytes (in Metalinvestbank, for example) and with several thousand users, so the book will definitely have a section on the advantages of Firebird over other DBMS and big data support.
In general, I plan a rather traditional plan for the book: the focus will be on the process of developing applications using different technologies, development environments and programming languages. In addition, consider how to install Firebird on Windows, Linux, MacOS, Android and configure it.
A small chapter will be devoted to the basics of the SQL language, a small one - because you can find a complete guide to the SQL language
here . It will also cover the basics of Firebird administration, tools for tracing and monitoring, and ensuring the security of your databases. In the final part, we will talk about expanding the capabilities of the Firebird DBMS itself, writing external functions (UDF) and new external UDR modules (external procedures, functions and triggers), as well as other types of plug-ins.
In writing the book, they promised to help me with consultations Dmitry Yemanov (lead architect of Firebird), Roman Simakov (lead developer of
RedBase ), as well as Alexey Kovyazin and Dmitry Kuzmenko from
iBase.ru (which also sponsors the writing of the book).
The basis will be taken on various articles posted on the
ibase website,
Firebird DBMS SQL Language Guide ,
ReleaseNotes for different Firebird versions, and other available documentation. Some articles are also posted on Habré (
Creating applications for Firebird DBMS using various components and drivers: FireDac ,
Creating applications for Firebird DBMS using various components and drivers: ADO.NET Entity Framework 6 ).
The planned structure of the book will be as follows:
- Introduction
- Advantages of Firebird
- Installing Firebird on various operating systems (Windows, Linux)
- Configuration and hardware selection
- Introduction to architecture
- Data Types and Domains
- Database objects (metadata)
- Tables, restrictions, indexes
- SQL language
- Dialects, types of SQL language (DDL, DML, PSQL)
- DML queries (SELECT, INSERT, UPDATE, DELETE, MERGE)
- Work with transactions
- Development of PSQL modules (procedures, functions, packages, triggers)
- Security
- Administration Tools
- Various ways to backup and restore the database
- Familiarity with popular administration tools
- Tracing and Auditing
- Advanced tracing and administration tools from the HQBird suite
- Firebird programming
- Creating a database for examples
- Creating an application using Delphi (FireDac, IBX, FibPlus)
- Create Windows applications using ADO.NET and the Entity Framework
- Creating a Web Application Using ASP.NET MVC
- Creating a Java Web Application
- Creating a PHP Web Application
- Creating a mobile application for Android
- Firebird Empowerment
- UDF Writing
- Writing UDR (external CP, functions, triggers) in Delphi / C ++
- Writing a UDR in Java
- Writing other types of plugins
If someone has suggestions on the content of the book, I will be glad to take them into account.