How to design, create, develop and use database and database applications on Windows or Linux?
E/R modelling
The first stage of designing a database is - unless you plan to create a very simple database made of a few tables - to use a E/R (Entity Relationship) modelling tool. The commercial products to do so are awfully expensive (Powerdesigner, ER Studio, ERwin), the best one for my taste being Embarcadero ER Studio, which probably costs around 2000 usd.
There are a few free or cheap ER tools. That is typically the kind of specific tools that didn't appear quickly in the free or open source space. Some features like schema integrity checking, reverse-engineering of databases for multiple RDBMS or Logical and Physical model integration are considered as high value added functionality.
Fortunately, there are been lately some very interesting tools coming out. For windows and Linux (using Borland Kylix), as an open source project, DBDesigner from FabFORCE is remarkable. It is specifically geared towards MySQL, but handles Oracle or MSSQL also. It is for now a bit more painful to use it for MSSQL, probably mostly because it is using the DBExpress components, that don't look very mature for MSSQL. I have so far difficulties to reuse the same connections, annoyances like that. But it definitely works very well for reverse engineer a database, and it looks very professional and feature-rich. Probably the printing could be better, but as we have the full Delphi sources, what prevent us to improve it, especially when Delphi is such a pleasant language to use.
Another interesting project is Data Architect from The Kompany. This one is commercial (around 60 usd at the time of writing) and is - like all other products from The Kompany - a multiplatfom app designed with Qt. I haven't used it yet, but it looks impressive, and full of features. For the price (and how the money will be used : in open source projects), it is definitely worth attention. Another all purpose tool that could be used for very high-level ER modelling - and without any database feature like code generation or reverse engineering - is Dia, a very good diagramming software for Linux and Windows (using GTK).
Desktop database tools
For rapid and small database needs, like simple bibliographic, records, recipes, etc. management, there's mainly Microsoft Access in the commercial world. Like E/R modelling, it was difficult to find free softwares alike. It is getting better and some tools are rather impressive.
For Windows, I installed Suneido. I didn't play much with it yet. The concept is interesting and it looks rather complete and usable. It integrates a OO language, a database server, and is kind page-based. It is an interesting concept and certainly very useful to design quickly database driven application. An accounting software done in Suneido can be downloaded as an example. MySQL can also be used as database engine.
For Linux, integrated into the KOffice project, Kexi is an Access-like database desktop for KDE. But a bit more clever: it uses as its database engine SQLLite, or MySQL, or Firebird… It is for now in a usable 0.1 version and works better with SQLLite. You have mostly the same functionalities as you can find in Access, reporting included, that you can handle with Kugar.
The project is “ported” to Windows by using a interesting KDE wrapper named QKW



