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