The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Alzabo::ForeignKey - Foreign key (relation) objects

SYNOPSIS

  use Alzabo::ForeignKey;

  foreach my $fk ($table->foreign_keys)
  {
      print $fk->cardinality;
  }

DESCRIPTION

A foreign key is an object defined by several properties. It represents a relationship from a column or columns in one table to a column or columns in another table.

This relationship is defined by its cardinality (one to one, one to many, or many to one) and its dependencies (whether or not table X is dependent on table Y, and vice versa).

Many to many relationships are not allowed. However, you may indicate such a relationship when using the Alzabo::Create::Schema->add_relation method method, and it will create the necessary intermediate linking table for you.

METHODS

table_from

table_to

Returns

The relevant Alzabo::Table object.

columns_from

columns_to

Returns

The relevant Alzabo::Column object(s) for the property.

column_pairs

Returns

An array of array references. The references are to two column array of Alzabo::Column objects. These two columns correspond in the tables being linked together.

cardinality

Returns

A two element array containing the two portions of the cardinality of the relationship. Each portion will be either '1' or 'n'.

from_is_dependent

to_is_dependent

Returns

A boolean value indicating whether there is a dependency from one table to the other.

is_one_to_one

is_one_to_many

is_many_to_one

Returns

A boolean value indicating what kind of relationship the object represents.

AUTHOR

Dave Rolsky, <autarch@urth.org>