DBIx-DataModel

 view release on metacpan or  search on metacpan

lib/DBIx/DataModel/Doc/Glossary.pod  view on Meta::CPAN

=over

=item anonymous role

An empty L</"role name"> in an L</association> declaration, expressed
by characters C<--> or by the word C<'none'>. This tells
C<DBIx::DataModel> that no L</"path method"> should be generated
for this side of the association.


=item API

Application Programming Interface, the set of public attributes,
methods, arguments, return values for interacting with a software 
component.

=item association

Relationship between tables. 
In L</UML>, an association declaration states what are the 
participating tables, what are the L<multiplicities|/multiplicity>,
and optionally gives names to the association itself and to the
roles of the participating tables.
An association declaration in C<DBIx::DataModel> involves similar 
information, except that no more than two tables can participate,
and at least one role name is mandatory.

=item association end

A term sometimes used in UML literature as synonym to
L</"role name">.

=back

=head2 C

=over

=item component

The second participant in a L</composition> relationship, i.e.
some object which "is part of" another object. A component object
cannot live outside of its composite object.

=item compatibility layer

A module, loaded on demand, that emulates the API of former versions 
of C<DBIx::DataModel>.

=item composite

The first participant in a L</composition> relationship, i.e.
some object which "contains" another object. If the composite
object is deleted, all its components are also deleted.

=item composition

An L</association> which additionally states that records of one
table (components) cannot exist outside of their composite class;
therefore when the composite is destroyed, the components must
be destroyed as well (cascaded delete).

=item column

Within a L</row>, a column is a scalar value 
corresponding to a given column name. 
Within a L</table> or L</view>, a column is a 
a list of scalar values obtained by selecting the
same column name in every row of the data source.
Unlike most other Perl L<ORMs|/ORM>, 
C<DBIx::DataModel> has no class for
representing a column: since a row is just 
a blessed hashref, a column is just a value in that hashref.
As a matter of fact, most columns are unknown to
the C<DBIx::DataModel> layer; they are just 
passthrough information, directly propagated from the 
L<DBI|DBI> layer to the application layer.

=item column type

A collection of callback functions or I<handlers>, 
declared in a L</schema> through the 
L<Type()|DBIx::DataModel::Doc::Reference/"Type()">
method. This column type can then be associated with
various column names in various tables; as a result, 
the C<from_DB> and C<to_DB> handlers will be called 
automatically, respectively  after reading a value
from the database or before writing a value to the database.

=item compile time

Strictly speaking, Perl is not a compiled language; 
but liberally speaking, the code that runs in the initial
phases of a perl program (BEGIN, CHECK, INIT) can be named
"compile time". 

Within C<DBIx::DataModel>, we speak of "compile-time methods"
for declarations like C<Schema(...)>, C<Table(...)>, 
C<Association(...)>, because these declarations
usually belong to a module that will be
loaded through L<use|perlfunc/use>, and therefore will be 
executed at compile-time. 

=back

=head2 D

=over

=item database schema

A container within the database management system for holding tables
and other database objects.  By default, table names are looked up
within the default schema of the current database session; but if
multiple schemata are supported, table names may be prefixed by the name
of another schema :  C<SELECT * FROM FOREIGN_SCHEMA.TABLE_NAME WHERE ...>.

Not to be confounded with a L</schema> at the C<DBIx::DataModel> level.

=item database view



( run in 0.821 second using v1.01-cache-2.11-cpan-39bf76dae61 )