Alzabo::ForeignKey - Foreign key objects |
Alzabo::ForeignKey - Foreign key (relation) objects
use Alzabo::ForeignKey;
foreach my $fk ($table->foreign_keys) { print $fk->cardinality; }
A foreign key is an object defined by several properties. It represents a relationship from a column in one table to a column in another table. This relationship can be described in this manner:
There is a relationship from column BAZ in table foo to column BOZ in table bar. For every entry in column BAZ, there must X..Y corresponding entries in column BOZ. For every entry in column BOZ, there must be Y..Z corresponding entries in column BAZ. X, Y, and Z are 0, 1, or n, and must form one of these pairs: 0..1, 0..n, 1..1, 1..n.
The properties that make up a foreign key are:
Cardinality is generated from the two min_max values. This is the max from to the max to. If min_max_from was 0..1 and min_max_to was 1..n then the cardinality of the relationship would be 1..n.
The relevant Alzabo::Table
object.
The relevant Alzabo::Column
object(s)
for the
property.
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.
This will be either 1..1 or 1..n.
A two element array containing the two portions of the cardinality of the relationship.
A boolean value indicating whether there is a dependency from one table to the other.
A boolean value indicating what kind of relationship the object represents.
Dave Rolsky, <autarch@urth.org>
Alzabo::ForeignKey - Foreign key objects |