Database Visualizer (dbViZ)

Vision

 

Version 1.2

 

 


Revision History

Date

Version

Description

Author

October 22, 2002

1.0

Initial Version

Abhay Sathe

November 3, 2002

1.1

Informal review with David Hampshire

Abhay Sathe

December 9, 2002

1.2

Informal review with Brian Sidharta

Abhay Sathe

 

 

 

 

 


Table of Contents

1.     Introduction  4

2.     Positioning  4

2.1      Business Opportunity  4

2.2      References  4

2.3      Problem Statement 5

2.4      Product Position Statement 5

3.     Stakeholder and User Descriptions  6

3.1      Market Demographics  6

3.2      Stakeholder Summary  6

3.3      User Summary  6

3.4      User Environment 6

3.5      Summary of Key Stakeholder or User Needs  7

3.6      Alternatives and Competition  7

4.     Product Overview   8

4.1      Product Perspective  8

4.2      Assumptions and Dependencies  8

5.     Product Features  8


Vision - Database visualizer (dbViZ)

1.                  Introduction

The purpose of this document is to collect, analyze and define high-level features of the 'Database Visualizer' tool (Henceforth called dbViZ). It focuses on the capabilities needed by the stakeholders, and the target users and why these needs exist. The details of how the dbViZ fulfills these needs are detailed in the use case and supplementary specifications.

2.                  Positioning

2.1               Business Opportunity

Developers that must write applications for preexisting database schemas face a void in their selection of tools for exploring the schema. At the abstract level, the Entity-Relationship (ER) Diagram model is suitable for describing how different types of data fits together. However, the ER diagram does not describe the implementation details. At the lowest level are database table display tools that, although are "graphical", still retain many of their ties to their ancestral text-based interfaces: they offer lists of the tables in the database, and to display the information on a table, they list all the columns and their types.

 

For projects where the Database size is small, with less than 10 tables with foreign key relationships, the conventional methods described above are adequate. Also, having contact with the original database creator helps in reducing the time required for understanding the database structure. However, for the situations described below, the methods described above are not suitable for rapid development.

The dbViZ project envisions a tool that bridges the ER-diagram realm with the concrete implementation level. This Database Visualizer will present the Database Tables in a form very similar to ER Diagrams, or UML Diagrams. It will analyze the meta-data of an existing database schema, allow the user to choose a set of tables they want to view, and it will automatically retrieve the meta-data for those tables, determine how they link together (assuming they have foreign key relationships), lay out the tables in the diagram and plot lines between the linked items. This allows developers to spend time learning how the tables connect rather than wasting time manually drawing up the links between the tables they’re interested in.

An additional ability is to allow users to create SQL queries by selecting parts of their diagram that would be joined together. This saves us from having to manually write complex join statements. With the diagram as a foundation, constructing queries by picking parts of the diagram is only natural!

The Database Visualizer will fill the hole in the documentation sequence of database schema—one that’s very important to developers that must use existing databases: visualizing the tables!

 

2.2               References

None

2.3               Problem Statement

The problem of

Visualizing the Inter relationships in pre-existing database tables

Affects

Developers that must write applications for pre-existing database schemas, particularly while dealing with large Databases containing 50+ tables

The impact of which is

That they either spend a significant amount of time going through lists of tables, and lists of columns and their types, to mentally ‘draw’ the Entity-Relationship diagrams, or the corporations interested in developing those schemas must invest in proprietary, database specific tools.

 

A successful solution would be

An open source and fairly easy to use tool, which would work with any database that bridges the ER-diagram realm with the concrete implementation level. It will analyze the meta-data of an existing database schema, allow the user to choose a set of tables they want to view, and it will automatically retrieve the meta-data for those tables, determine how they link together (assuming they have foreign key relationships), layout the tables in the diagram and plot lines between the linked items.

Additionally, it would also allow users to create SQL queries by selecting parts of their diagram that would be joined together

 

2.4               Product Position Statement

 

For

Database Designers

 

Who

Want to develop applications for existing databases.

 

The (dbViZ)

Is a software package

 

That

Provides a tool that’s very important to developers that must create applications for existing databases: visualizing the tables, and creating queries visually

Unlike

The existing proprietary and Database-specific tools

 

Our product

Is open source and Database-neutral

 

3.                  Stakeholder and User Descriptions

3.1               Market Demographics

The Target market for this tool is the Database Developers and consultants who have to quickly produce applications for existing databases. They want to reduce the tedium involved in discovering structure of database tables and their relationships.   At the same time they (or their employers) do not want to spend the money for proprietary database tools. They are looking for a tool that is widely accepted in the developer community and is freely available everywhere, and works with most of the popular databases.

3.2               Stakeholder Summary

Name

Description

Responsibilities

Company

The corporation who owns the database and employs the developer to develop applications for existing databases

Provide resources for DbViZ Development with goal of creating a tool that the Database Application developers can use on many popular Databases

Developer

The Database developer who wants to develop applications for existing databases

Use the DbViZ to gain insight into existing databases an provide tangible productivity gain by delivering to tighter schedules

Open source community

The software engineers who contribute to open source software development regularly on public forums such as the Sorceforge net

Contribute to the rapid development of this very useful tool by extending its use to more databases, or add features to make the tool more useful

Professor and TA

UIUC CS 327 Staff

Examine if the dbViZ developers  (students) used RUP process correctly and executed the phases as planned.

3.3               User Summary

Name

Description

Responsibilities

Stakeholder

 

Developer

The Database developer who wants to develop applications for existing databases

Load Database

Add/remove tables from the diagram

Create queries from the displayed table information

 

Self Represented

Database Administrator

Manages the Databases the Developer will develop applications for

Create user accounts for the Designer

Manage designer’s access to the database

Maintain security of the Information

Represents the company’s interests in maintaining the integrity and security of Data in the Database.

 

3.4               User Environment

The developers will contact the Database Administrator to gain access to accounts with sufficient privilege that allows views of schema for tables. 

The developer is the expected to start the DbViZ and connect to the database by specifying appropriate path and driver to be used for database specific connectivity. The use cycle lasts as long as the developer needs.

DbViZ is written in java and can run on any platform that supports Java.

The tool is targeted for the individual Database application developer; however, it can very easily be adopted for presentations to a group of developers, as a maintenance tool by the Administrator or as a reporting tool.

3.5               Summary of Key Stakeholder or User Needs

Need

Priority

Concerns

Current Solution

Proposed Solutions

Visualize the Schema of an existing database

High

Require level of information must be conveyed

Do it by hand

Team based approach to GUI design and feedback from the users captures  the GUI functionality

Create queries visually

High

Adequate control of the visual medium

Must use Db specific tools

The conceptual view shown by ER diagrams allows query creation for any Db

Connect to most poplar databases

High

Must not become too specific to any Db

Use different tools for different databases

Provide a Database abstraction layer to allow a design that works for any Db.

Print the created views

Medium

None

Capture screens

Use the awt.print classes to provide uniform printing interface

Work on multiple operating systems

Medium

None

None

The Java platform is a natural choice for multi-platform operation.

Install/uninstall easily

Medium

None

Proprietary tools

Use java ‘installers’

 

3.6               Alternatives and Competition

1.       DbVisualizer from Minq software: http://www.minq.se/products/dbvis/index.html . This tool has features and functionality described in the vision document. However, the product is closed source and therefore does not fit the criteria described in positioning for our target market.

2.       Other Existing commercial visualization tools: A few of these tools offer Data Modeling and enhanced Query building functionality. Examples are the Erwin data modeling suite from All Fusion, SQL Navigator and Toad from Quest Software, and the Oracle Enterprise Manager. These are all proprietary tools.

3.       Invest in a closed source or internal development: Although a company ‘proprietary’ tool could be build without the involvement of the open source community, such a tool would have higher support and enhancement costs.

4.       Wait for the open source community to produce such a tool: This would save the time and effort required for the development. But this option must be weighed against the incurring costs in designer time in the absence of such a tool.

4.                  Product Overview

4.1               Product Perspective

The product is a stand-alone system. It integrates with Databases on one end, and interfaces with a GUI package to provide the visual content. This is shown in the diagram below:

 

 

 

dbViZ Block Diagram 

 

 

 

 

 

 

 

 

 

 


4.2               Assumptions and Dependencies

1.        A Java package to create visualizations of the ER Diagrams

2.        JDBC drivers for the initially supported Databases

5.                  Product Features

A Sketch of the GUI showing the operation of dbViZ is shown below