Main description
Database Organizer is an web-oriented application for editing and analyzing database schemas. A database schema is based on tables, records, indexes, references and constraints. The advantages offered by this application are:
  • is web-oriented, giving access to information to more than one people. This is an advantage for teams.
  • schema can be readed from a database ( any of them - Oracle, Sybase, Postgres, etc. )
  • is a powerful schema editor, with facilities in analyzing a schema
  • is easy to install and mantain. All the informations are stored in xml files, no repository is needed.
  • offers useful functionality for developers
    You can download the application from SOURCEFORGE. The default application login user is 'admin' with password 'admin'.



    Requirements
    A java enabled web server ( like tomcat or resin ) and a web browser. Because the .png image format is used, the browser has to have the capability to display png images. Also should be allowed to execute java scripts in the web browser. In case of resin, please use at least version 1.2.10.
    Notes
  • For the linux users, if your linux installation does not include a X11 interface, please use at least jdk1.4 and set the environment DISPLAY variable to an host were the X11 is available ( ex: export DISPLAY=192.168.10.10:0.0 )
  • The schema upload from an older than 7.0 version of a postgres database is a slow operation. With the newer versions is much better.

    Installation procedure
    To run this application you need a java based web server, like resin or tomcat. Install this server, and than copy the application ( supplied as a .war file ) into the application directory of the web server.
  • For tomcat copy dborg.war file into tomcat's webapps directory and than start tomcat.
  • For resin copy this file under the resin's doc directory and rename it in dborg.zip. Here create a dborg directory and unzip dborg.zip into it. Edit than the conf/resin.conf file and add a record:
    <web-app id='dborg'/>
    This two installation types are the most common one. From a web browser ( IExplorer, Netscape, Opera ) try to access the application:
    http://myserver/dborg Please use a browser with javascripting capabilities, and check to have this functionality enabled.
    The first login page should appear. In case of problems, please check the server configuration. You can also check the application log file, which is /dborg/WEB-INF/dborg.log In case of errors or application bugs you please send the problem details to dragospruteanu@yahoo.com

    Application description
    The first page you will get is the login page. The preseted user is admin with the password admin. Directly on this page you can change the its password by pressing 'change password'. The page you will get than is the main page of the application

    Schema editor
    Select the sample schema and press load. You will get to the schema editor.

    In the left panel you have a menu, and in the right one you have the graphical representation of the schema. The graphical representation includes the tables, their records, types ( N-number, V-varchar, C-char, T- time/date ) and length. There are also represented the relations between the tables.
    The first buttons are the zoom onece:
    Using the move functionality you can move one table on the layout. Click on one table and than click on the position where you want to move it. ATTENTION! This is a click-and-click based functionality, not drag-and-drop, so please click on a table and than release the mouse button. The cursor should change after the first click. After you click the second time on the place where to leave the table, the layout will refresh.

    The next button allows you to change the colors of a table. Click a color and than click a table. The layout will refresh.

    Using the find functionality you can search for a table. The table will be red-marked.
    If you delete a record from a table all referencing foreign key constraints referencing the table, with 'delete cascade' will fire. You can visualise this reference constrainst by choosing and clicking the table for which you want to see this.

    The table editor allows you to create and edit a table. Select this and click a table. Than you can see the table details and edit them. If you click on a empty layout position, you can create a new table.
    Columns, indexes, reference constraints and table constraints are displayed. For each of them clicking
    you can edit them. Click create new and you can create a new column, index, reference or constraint. Column constraints are constraints which will be added for an individual column, like
    ... id number constraint ck1 check id>2,...
    while table constraints are at the table level, like
    ... constraint ck2 unique(id,name)

    The relation-index view shows the columns for which the foreing key applies and the indexes columns.

    The sql builder is useful in writing and running sql phrases. Select opens the sql builder window. Click than the checkboxes for the tables you want to select, and select the columns. Here you can also to hide a table in the layout, by clicking indexes columns.

    Next, click build_sql in the bottom of the page. In the next window modify the sql, enter the database user and password and click Execute

    The toolbox functionality contains:
  • A inherit details functionality. If the development team has released a new version of the schema, than you can upload this new schema and inherit the comments from the schema you allready have. This is useful for versioned schemas.
  • A xml report generator, generates the schema as xml.
  • A sql report generator, generates the schema in sql compatible format.
  • A differences report, generates the differences between 2 schemas. This is also useful for versioned schemas.


    Schema manager
    Schema manager allows you to create/edit/delete a schema.

    Choosing get schema from database will display a page where you can upload the schema as a representation of a existing schema into one database.

    Fist of all you have to be sure about the existance of the needed driver. The driver has also to be version-compatible with the database you are connecting to. If this does not fit, add the driver into the dborg/WEB-INF/lib directory. If the existing driver is to old, replace it in the same directory. Than select add more... into the web page and add the new driver.
    A typical operation for uploading a schema would be:
  • select the schema name, like 'test'
  • select the corresponding driver name, like 'oracle.jdbc.driver.OracleDriver' for Oracle
  • edit the connect string 'jdbc:oracle:thin:@HOST:PORT:INSTANCE' replacing the host with the database server name or ip, port with the server connection port and instance with the instance name. Ex. 'jdbc:oracle:thin:@192.168.5.5:1521:orcl'
  • specify the database username and password.
    Click than import schema and than wait. This operation could take some time.
    Important to know: The jdbc drivers calls the 'analyze table ... estimate statistics ' when reading the schema information. This could lock the activity on the tables, one by one, for short time, influencing the system activity. Just take care if the system is a production one! If the tables are big, this could take longer.


    User manager Here you can edit the application users. More than one users can be created, with one of 'admin' or 'user' roles. The editing of the schema can be done only by admins, the users can only view it.

    For any problems or suggestions please contact me on dragospruteanu@yahoo.com
    I wish you to enjoy the application!

    Dragos Pruteanu
  •