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 )