GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  GRAPHVIZ::DBI (3)

.ds Aq ’

NAME

GraphViz::DBI - Graph database tables and relations

CONTENTS

VERSION

version 1.100860

SYNOPSIS



  use GraphViz::DBI;
  my $dbh = DBI->connect(..., ..., ...);
  print GraphViz::DBI->new($dbh)->graph_tables->as_png;



DESCRIPTION

This module constructs a graph for a database showing tables and connecting them if they are related. While or after constructing the object, pass an open database handle, then call graph_tables to determine database metadata and construct a GraphViz graph from the table and field information.

The methods described here are defined by this class; all other method calls are passed to the underlying GraphViz object:

METHODS

    new([$dbh])

Constructs the object; also creates a GraphViz object. The constructor accepts an optional open database handle.

    set_dbh($dbh)

Sets the database handle.

get_dbh()

Returns the database handle.

get_tables()

Returns the tables defined in the database.

    is_table($table)

Checks the database metadata whether the argument is a valid table name.

is_foreign_key($table, CW$field)

Determines whether the field belonging to the table is a foreign key into some other table. If so, it is expected to return the name of that table. If not, it is expected to return a false value.

For example, if there is a table called product and another table contains a field called product_id, then to indicate that this field is a foreign key into the product table, the method returns product. This is the logic implemented in this class. You can override this method in a subclass to suit your needs.

graph_tables()

This method goes through all tables and fields and calls appropriate methods to determine which tables and which dependencies exist, then hand the results over to GraphViz. It returns the GraphViz object.

FEATURE IDEAS

o Test with various database drivers to see whether they support the metadata interface.
o Make each table a vertical port with dependencies using those ports.
o Provide the possibility to name edges to specify the type of relationship (’has-a’, ’is-a’, etc.).

INSTALLATION

See perlmodinstall for information and options on installing Perl modules.

BUGS AND LIMITATIONS

No bugs have been reported.

Please report any bugs or feature requests through the web interface at <http://rt.cpan.org/Public/Dist/Display.html?Name=GraphViz-DBI>.

AVAILABILITY

The latest version of this module is available from the Comprehensive Perl Archive Network (CPAN). Visit <http://www.perl.com/CPAN/> to find a CPAN site near you, or see <http://search.cpan.org/dist/GraphViz-DBI/>.

The development version lives at <http://github.com/hanekomu/GraphViz-DBI/>. Instead of sending patches, please fork this project using the standard git and github infrastructure.

AUTHOR



  Marcel Gruenauer <marcel@cpan.org>



COPYRIGHT AND LICENSE

This software is copyright (c) 2001 by Marcel Gruenauer.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 GRAPHVIZ::DBI (3) 2010-03-27

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.