Alzabo (version 0.92)

Doc index

TOC | Top

NAME

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

TOC | Top

SYNOPSIS

  use Alzabo::Create::ForeignKey;
TOC | Top

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.

TOC | Top

INHERITS FROM

Alzabo::ForeignKey

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

TOC | Top

METHODS

new

The constructor takes the following parameters:

It returns a new Alzabo::Create::ForeignKey object.

Throws: Alzabo::Exception::Params

TOC | Top

table_from

table_to

Returns the relevant Alzabo::Create::Table object.

TOC | Top

columns_from

columns_to

Returns the relevant Alzabo::Create::Column object(s) for the property as an array.

TOC | Top

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.

TOC | Top

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

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

Throws: Alzabo::Exception::Params

TOC | Top

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

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

Throws: Alzabo::Exception::Params

TOC | Top

cardinality

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

TOC | Top

from_is_dependent

to_is_dependent

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

TOC | Top

is_one_to_one

is_one_to_many

is_many_to_one

Returns a boolean value indicating what kind of relationship the object represents.

TOC | Top

set_cardinality (\@cardinality) see above for details

Sets the cardinality of the foreign key.

Throws: Alzabo::Exception::Params

TOC | Top

set_from_is_dependent ($boolean)

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

TOC | Top

set_to_is_dependent ($boolean)

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

TOC | Top

id

Returns a string uniquely identifying the foreign key.

TOC | Top

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.

TOC | Top

comment

Returns the comment associated with the foreign key object, if any.

TOC | Top

set_comment ($comment)

Sets the comment for the foreign key object.

TOC | Top

AUTHOR

Dave Rolsky, <autarch@urth.org>


Table of Contents

- NAME
- SYNOPSIS
- DESCRIPTION
- INHERITS FROM
- METHODS
      - new
                  - columns_from => Alzabo::Create::Column object(s)
                  - columns_to => Alzabo::Create::Column object(s)
                  - cardinality => [1, 1], [1, 'n'], or ['n', 1]
                  - from_is_dependent => $boolean
                  - to_is_dependent => $boolean
                  - comment => $comment
      - table_from
      - table_to
      - columns_from
      - columns_to
      - column_pairs
      - set_columns_from (Alzabo::Create::Column object(s))
      - set_columns_to (Alzabo::Create::Column object(s))
      - cardinality
      - from_is_dependent
      - to_is_dependent
      - is_one_to_one
      - is_one_to_many
      - is_many_to_one
      - set_cardinality (\@cardinality) see above for details
      - set_from_is_dependent ($boolean)
      - set_to_is_dependent ($boolean)
      - id
      - is_same_relationship_as ($fk)
      - comment
      - set_comment ($comment)
- AUTHOR