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

Reply via email to