Extra FAQ entry
[dbsrgits/DBIx-Class-Historic.git] / lib / DBIx / Class / Manual / Glossary.pod
CommitLineData
24105556 1=head1 NAME
2
880a1a0c 3DBIx::Class::Manual::Glossary - Clarification of terms used.
24105556 4
5=head1 INTRODUCTION
6
9e7b9292 7This document lists various terms used in DBIx::Class and attempts to
8explain them.
24105556 9
10=head1 TERMS
11
db2b2eb6 12=head2 DB schema
13
14Refers to a single physical schema within an RDBMS. Synonymous with the terms
15'database', for MySQL; and 'schema', for most other RDBMS(s).
16
17In other words, it's the 'xyz' _thing_ you're connecting to when using any of
18the following L<DSN|DBI/connect>(s):
19
20 dbi:DriverName:xyz@hostname:port
21 dbi:DriverName:database=xyz;host=hostname;port=port
22
9e7b9292 23=head2 Inflation
24
25The act of turning database row data into objects in
26language-space. DBIx::Class further allows you to inflate your data
27into perl objects which more usefully represent their contents. For
28example: L<DBIx::Class::InflateColumn::DateTime> for datetime or
29timestamp column data.
30
31=head2 Join
32
33This is an SQL keyword that gets mentioned a lot. It is used to fetch
34data from more than one table at once, by C<join>ing the tables on
35fields where they have common data.
36
37=head2 Normalisation
38
39A normalised database is a sane database. Each table contains only
40data belonging to one concept, related tables refer to the key field
41or fields of each other. Some links to webpages about normalisation
42can be found in L<DBIx::Class::Manual::FAQ|the FAQ>.
43
24105556 44=head2 ORM
45
9e7b9292 46Object-relational mapping, or Object-relationship modelling. Either
47way it's a method of mapping the contents of database tables (rows),
48to objects in programming-language-space. DBIx::Class is an ORM.
49
7cf4ae7a 50=head2 Relationship
51
52In DBIx::Class a relationship defines the connection between exactly
53two tables. The relationship condition lists the columns in each table
54that contain the same values. It is used to output an SQL JOIN
55condition between the tables.
56
57=head2 Relationship bridge
58
59A relationship bridge, such as C<many_to_many> defines an accessor to
60retrieve row contents across multiple relationships.
61
24105556 62=head2 ResultSet
63
64This is an object representing a set of data. It can either be an
65entire table, or the results of a query. The actual data is not held
66in the ResultSet, it is only a description of how to fetch the data.
67
68See also: L<DBIx::Class::ResultSet/METHODS>
69
70=head2 ResultSource
71
72ResultSource objects represent the source of your data, they are also known as
73a table objects.
74
75See also: L<DBIx::Class::ResultSource/METHODS>
76
77=head2 Record
78
79See Row.
80
81=head2 Row
82
83Row objects contain your actual data. They are returned from ResultSet objects.
84
85=head2 Object
86
87See Row.
88
89=head2 Schema
90
91A Schema object represents your entire table collection, plus the
92connection to the database. You can create one or more schema objects,
93connected to various databases, with various users, using the same set
94of table (ResultSource) definitions.