Alzabo (version 0.64) - Alzabo::Create::ForeignKey

Index



NAME

Alzabo::Create::ForeignKey - Foreign key objects for schema creation.


SYNOPSIS

  use Alzabo::Create::ForeignKey;


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.


INHERITS FROM

Alzabo::ForeignKey

Note: all relevant documentation from the superclass has been merged into this document.


METHODS

new

Parameters:

Returns

A new Alzabo::Create::ForeignKey object.

table_from

table_to

Returns

The relevant Alzabo::Create::Table object.

columns_from

columns_to

Returns

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

column_pairs

Returns

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

set_columns_from (Alzabo::Create::Column object(s))

Set the column(s) that the relation is from. This can be either a single a column object or a reference to an array of column objects.

set_columns_to (Alzabo::Create::Column object(s))

Set the column(s) that the relation is to. This can be either a single a column object or a reference to an array of column objects.

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.

set_cardinality (\@cardinality) see above for details

Sets the cardinality value of the relation.

set_from_is_dependent ($boolean)

Indicates whether or not the first table in the relationship is dependent on the other (i.e. whether the 'from' table is dependent on the 'to' table).

set_to_is_dependent ($boolean)

Indicates whether or not the second table in the relationship is dependent on the other (i.e. whether the 'to' table is dependent on the 'from' table).


AUTHOR

Dave Rolsky, <autarch@urth.org>