1DBIx::Class::Manual::GlUossesrarCyo(n3t)ributed Perl DocDuBmIexn:t:aCtliaosns::Manual::Glossary(3)
2
3
4

NAME

6       DBIx::Class::Manual::Glossary - Clarification of terms used.
7

INTRODUCTION

9       This document lists various terms used in DBIx::Class and attempts to
10       explain them.
11

DBIx::Class TERMS

13   DB schema
14       Refers to a single physical schema within an RDBMS. Synonymous with the
15       terms '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
18       any of the following DSN(s):
19
20         dbi:DriverName:xyz@hostname:port
21         dbi:DriverName:database=xyz;host=hostname;port=port
22
23   Inflation
24       The act of turning database row data into objects in language-space.
25       DBIx::Class result classes can be set up to inflate your data into perl
26       objects which more usefully represent their contents. For example:
27       DBIx::Class::InflateColumn::DateTime for datetime or timestamp column
28       data.
29
30       See also DBIx::Class::InflateColumn.
31
32   Deflation
33       The opposite of "Inflation". Existing perl objects that represent
34       column values can be passed to DBIx::Class methods to store into the
35       database. For example a DateTime object can be automatically deflated
36       into a datetime string for insertion.
37
38       See DBIx::Class::InflateColumn and other modules in that namespace.
39
40   ORM
41       Object-relational mapping, or Object-relationship modelling. Either way
42       it's a method of mapping the contents of database tables (rows), to
43       objects in programming-language-space. DBIx::Class is an ORM.
44
45   Relationship
46       In DBIx::Class a relationship defines the connection between exactly
47       two tables. The relationship condition lists the columns in each table
48       that contain the same values. It is used to output an SQL JOIN
49       condition between the tables.
50
51   Relationship bridge
52       A relationship bridge, such as "many_to_many" defines an accessor to
53       retrieve row contents across multiple relationships.
54
55       The difference between a bridge and a relationship is, that the bridge
56       cannot be used to "join" tables in a "search", instead its component
57       relationships must be used.
58
59   Schema
60       A Schema object represents your entire table collection, plus the
61       connection to the database. You can create one or more schema objects,
62       connected to various databases, with various users, using the same set
63       of table "Result Class" definitions.
64
65       At least one DBIx::Class::Schema class is needed per database.
66
67   Result Class
68       A Result class defines both a source of data (usually one per table),
69       and the methods that will be available in the "Result" objects created
70       using that source.
71
72       One Result class is needed per data source (table, view, query) used in
73       your application, they should inherit from DBIx::Class::Core.
74
75       See also: DBIx::Class::Manual::ResultClass
76
77   ResultSource
78       ResultSource objects represent the source of your data, these are
79       sometimes (incorrectly) called table objects.
80
81       ResultSources do not need to be directly created, a ResultSource
82       instance is created for each "Result Class" in your "Schema", by the
83       proxied methods "table" and "add_columns".
84
85       See also: "METHODS" in DBIx::Class::ResultSource
86
87   ResultSet
88       This is an object representing a set of conditions to filter data. It
89       can either be an entire table, or the results of a query. The actual
90       data is not held in the ResultSet, it is only a description of how to
91       fetch the data.
92
93       See also: "METHODS" in DBIx::Class::ResultSet
94
95   Result
96       Result objects contain your actual data. They are returned from
97       ResultSet objects.  These are sometimes (incorrectly) called row
98       objects, including older versions of the DBIC documentation.
99
100       See also: DBIx::Class::Manual::ResultClass
101
102   Row
103       See Result.
104
105   Object
106       See Result.
107
108   Record
109       See Result.
110
111   prefetch
112       Similar to a join, except the related result objects are fetched and
113       cached for future use, instead of used directly from the ResultSet.
114       This allows you to jump to different relationships within a Result
115       without worrying about generating a ton of extra SELECT statements.
116

SQL TERMS

118   CRUD
119       Create, Read, Update, Delete.  A general concept of something that can
120       do all four operations (INSERT, SELECT, UPDATE, DELETE), usually at a
121       row-level.
122
123   Join
124       This is an SQL keyword, it is used to link multiple tables in one SQL
125       statement. This enables us to fetch data from more than one table at
126       once, or filter data based on content in another table, without having
127       to issue multiple SQL queries.
128
129   Normalisation
130       A normalised database is a sane database. Each table contains only data
131       belonging to one concept, related tables refer to the key field or
132       fields of each other. Some links to webpages about normalisation can be
133       found in the FAQ.
134
135   Related data
136       In SQL, related data actually refers to data that are normalised into
137       the same table. (Yes. DBIC does mis-use this term.)
138

FURTHER QUESTIONS?

140       Check the list of additional DBIC resources.
141
143       This module is free software copyright by the DBIx::Class (DBIC)
144       authors. You can redistribute it and/or modify it under the same terms
145       as the DBIx::Class library.
146
147
148
149perl v5.38.0                      2023-07-20  DBIx::Class::Manual::Glossary(3)
Impressum