Subject Re: [firebird-support] Book on T-SQL
Author
I just wanted to follow up on this thread about learning Firebird-SQL since I have extensive experience with using SQL with a variety of database engines over a very long career.

That being said, the gentleman who stated that you cannot use T-SQL with Firebird is primarily correct and learning T-SQL in of itself would hinder one trying to convert their knowledge to Firebird-SQL.

Both T-SQL and Firebird-SQL support the SQL-92 Standard.  However, T-SQL, like SQL from other major database vendors add so much to their SQL dialects that it is difficult to determine where the SQL-92 Standard begins and where it ends.

Firebird's implementation of SQL is a very strict implementation of the SQL-92 Standard.  As a result, this makes Firebird-SQL not only very limited in what it can do when compared to other SQL dialects but extremely frustrating to those who come to use Firebird with the expectation that their current knowledge of SQL will suffice.

Since I retired in 2014 and began development on projects that did not use SQL as heavily as I was used to, I became somewhat rusty in my knowledge of the more advanced techniques with SQL.  As a result, to learn Firebird, I decided to base my initial referencing on the Firebird SQL Language Reference PDF.  For the most part, it is a superb guide but somewhat lacking in more extensive examples demonstrating some of the more advanced techniques in certain areas.  Such discrepancies for example, can be found in the use of string and date-time functions.

However, this should not deter anyone from basing their learning or referencing from this manual.

Ms. Helen Borrie, one of the co-development leads on the Firebird Database Engine project, also has a multi-volume set of books available for purchase, which detail all of the necessary details one would need for learning to work with Firebird's implementation of SQL.  However, her books are a little pricey, probably the result of the lower distribution capabilities when compared to the other database engines.

An excellent learning guide and refresher book is "Learning SQL" by Alan Beaulieu from O'Reilly Books.  Mr Beauleu provides a very good insight into using SQL based upon various implementations for SQL Server, MySQL, and Oracle with an emphasis on MySQL.  As a result, I would recommend anyone wanting to learn Firebird-SQL to obtain this book and use it as an additional reference when working with the Firebird SQL Language Reference Guide.  Such use will allow the developer to ascertain what Firebird supports and what it doesn't simply by making comparisons between the two against the SQL code that the developer is attempting too create.

To aid in this area, I am also developing an entire set of SQL code in stored procedure format that I will eventually post on my own technical blog for anyone that wants example scripts to go by.

Finally, whether you have experience with databases or not, approach the learning of Firebird-SQl with an open mind.  It's strict adherence to the SQL-92 standard can become very frustrating to work with; especially for those who have prior database experience.  But stick with it and you will master the necessary essentials.

PostgreSQL has similar issues with its SQL implementation but due to the extensive and in-depth manual that comes with it, one is more easily able to adjust to this powerful database's SQL implementation.  If Firebird were to become more popularized, I am quite sure that the development team would accommodate such increased interest by providing more in-depth written material.

And surprisingly, in a recent poll for the rankings of database usage around the world, the European use of Firebird has actually pushed this excellent database up a notch in the rankings from #30 to #29.  As a result, Firebird appears to be looking at becoming a mainstay database engine if the trend continues as slow as it may be...

Steve Naidamast
Sr. Software Engineer