1. A method for identifying relationships between tables in a database, comprising: receiving user input selecting a plurality of tables from the database; in response to the user input selecting the plurality of tables, displaying in a graphical user interface a selection area containing graphical representations of each column of the plurality of tables; in response to user input, organizing the plurality of tables into a logical island defining a logical unit related to a particular logical entity; wherein organizing comprises creating, in the graphical user interface, a graphical visual aid that identifies the plurality of tables as defining the logical island; receiving user input selecting, for each of the plurality of tables, a table column containing information that identifies the particular logical entity in the table, whereby the selected table columns of different tables define logical relationships between the different tables in the logical island; in response to receiving user input selecting the table columns, visually differentiating the graphical representations of each selected column from unselected columns in the selection area; and programmatically generating relations specifications describing the logical relationships between the different tables in the logical island on the basis of the identified table columns.