Wednesday, November 18, 2009

Reading "Inside Guantanamo Bay" by Waim Sheikh

Guantanamo Bay -- the world's most corrupt jail where around 600 detainees are detained by Americans army !!


Friday, November 6, 2009

DBDesigner 4 (ERD Generation Tools)

I have used DBDesigner-4 to model my ERD diagram on a Linux operating system. The good thing about DBDesigner is that it is opensource and can be used on both Windows and Linux platforms.

DBDesigner 4 is a visual database design system that integrates database design, modeling, creation and maintenance into a single, seamless environment. It combines professional features and a clear and simple user interface to offer the most efficient way to handle your databases. DBDesigner 4 is developed and optimized for the open source MySQL-Database to support MySQL users with a powerful and free available design tool. All MySQL specific features have been built in to offer the most convenient way to design and keep control of your MySQL-Databases.

DBDesigner provides number of features while modeling an ERD including:
  • drop drag foreign key field creation,
  • "regions" to group similar tables,
  • exporting ERD in image format,
  • generate SQL scripts,
  • connect and open tables directly from database (i cannot able to perform that one),
  • view ERD in query mode etc..

After designing full fledged ERD, I have also come up with some cons and limitations of this tool. Some of them are as follows:
  • one of the biggest limitation is that it is developed specifincally for MySQL database. Which means that you cannot switch between databases by only using this tool.
  • i haven't found in the whole tool that 'How to add a CONSTRAINT on any table ;('. I have to add all the constraints manually (in the script) at the end of ERD.
  • why can,t I change the name of the foreign key in any table ;-?. The name of foreign is fixed (i.e. tablename_id) and cannot be edited.
  • no type of comparisons at any level.
Overall a mediocre tool for MySQL based ERD modeling. I will recommend to use this tool if you are using myslq and your application scope is also not huge.