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 as an
array.
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.
is_same_relationship_as ($fk)¶
Given a foreign key object, this returns true if the two objects represent the
same relationship. However, the two objects may represent the same
relationship from different table's points of view.
Returns a string uniquely identifying the foreign key.
Returns the comment associated with the foreign key object, if any.
AUTHOR¶
Dave Rolsky, <autarch@urth.org>