I hate you all.
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Manual / Glossary.pod
1 =head1 NAME
2
3 DBIx::Class::Manual::Glossary - Clarification of terms used.
4
5 =head1 INTRODUCTION
6
7 This document lists various terms used in DBIx::Class and attempts to
8 explain them.
9
10 =head1 TERMS
11
12 =head2 Inflation
13
14 The act of turning database row data into objects in
15 language-space. DBIx::Class further allows you to inflate your data
16 into perl objects which more usefully represent their contents. For
17 example: L<DBIx::Class::InflateColumn::DateTime> for datetime or
18 timestamp column data.
19
20 =head2 Join
21
22 This is an SQL keyword that gets mentioned a lot. It is used to fetch
23 data from more than one table at once, by C<join>ing the tables on
24 fields where they have common data.
25
26 =head2 Normalisation
27
28 A normalised database is a sane database. Each table contains only
29 data belonging to one concept, related tables refer to the key field
30 or fields of each other. Some links to webpages about normalisation
31 can be found in L<DBIx::Class::Manual::FAQ|the FAQ>.
32
33 =head2 ORM
34
35 Object-relational mapping, or Object-relationship modelling. Either
36 way it's a method of mapping the contents of database tables (rows),
37 to objects in programming-language-space. DBIx::Class is an ORM.
38
39 =head2 ResultSet
40
41 This is an object representing a set of data. It can either be an
42 entire table, or the results of a query. The actual data is not held
43 in the ResultSet, it is only a description of how to fetch the data.
44
45 See also: L<DBIx::Class::ResultSet/METHODS>
46
47 =head2 ResultSource
48
49 ResultSource objects represent the source of your data, they are also known as
50 a table objects. 
51
52 See also: L<DBIx::Class::ResultSource/METHODS>
53
54 =head2 Record
55
56 See Row.
57
58 =head2 Row
59
60 Row objects contain your actual data. They are returned from ResultSet objects.
61
62 =head2 Object
63
64 See Row.
65
66 =head2 Schema
67
68 A Schema object represents your entire table collection, plus the
69 connection to the database. You can create one or more schema objects,
70 connected to various databases, with various users, using the same set
71 of table (ResultSource) definitions.