NAME
DBIx::Class::Manual::Glossary - Clarification of terms used.
INTRODUCTION
This document lists various terms used in DBIx::Class and attempts to explain them.
TERMS
DB schema
Refers to a single physical schema within an RDBMS. Synonymous with the terms 'database', for MySQL; and 'schema', for most other RDBMS(s).
In other words, it's the 'xyz' _thing_ you're connecting to when using any of the following DSN(s):
dbi:DriverName:xyz@hostname:port
dbi:DriverName:database=xyz;host=hostname;port=port
Inflation
The act of turning database row data into objects in language-space. DBIx::Class further allows you to inflate your data into perl objects which more usefully represent their contents. For example: DBIx::Class::InflateColumn::DateTime for datetime or timestamp column data.
Join
This is an SQL keyword that gets mentioned a lot. It is used to fetch data from more than one table at once, by join
ing the tables on fields where they have common data.
Normalisation
A normalised database is a sane database. Each table contains only data belonging to one concept, related tables refer to the key field or fields of each other. Some links to webpages about normalisation can be found in DBIx::Class::Manual::FAQ.
ORM
Object-relational mapping, or Object-relationship modelling. Either way it's a method of mapping the contents of database tables (rows), to objects in programming-language-space. DBIx::Class is an ORM.
Relationship
In DBIx::Class a relationship defines the connection between exactly two tables. The relationship condition lists the columns in each table that contain the same values. It is used to output an SQL JOIN condition between the tables.
Relationship bridge
A relationship bridge, such as many_to_many
defines an accessor to retrieve row contents across multiple relationships.
ResultSet
This is an object representing a set of data. It can either be an entire table, or the results of a query. The actual data is not held in the ResultSet, it is only a description of how to fetch the data.
See also: "METHODS" in DBIx::Class::ResultSet
ResultSource
ResultSource objects represent the source of your data, they are also known as a table objects.
See also: "METHODS" in DBIx::Class::ResultSource
Record
See Row.
Row
Row objects contain your actual data. They are returned from ResultSet objects.
Object
See Row.
Schema
A Schema object represents your entire table collection, plus the connection to the database. You can create one or more schema objects, connected to various databases, with various users, using the same set of table (ResultSource) definitions.