root/traduc/branches/bv747/manuel/ref/create_domain.sgml

Revision 32, 6.3 kB (checked in by gleu, 3 years ago)

Relecture IX de Thomas Silvi.

Line 
1 <!--
2 $Header: /var/lib/cvs/pgsql-fr/sgml/ref/create_domain.sgml,v 1.7.2.2 2005/07/15 06:33:53 guillaume Exp $
3 PostgreSQL documentation
4 -->
5
6 <refentry id="SQL-CREATEDOMAIN">
7  <refmeta>
8   <refentrytitle id="sql-createdomain-title">CREATE DOMAIN</refentrytitle>
9   <refmiscinfo>SQL - Instructions du langage</refmiscinfo>
10  </refmeta>
11
12  <refnamediv>
13   <refname>CREATE DOMAIN</refname>
14   <refpurpose>définit un nouveau domaine</refpurpose>
15  </refnamediv>
16
17  <indexterm zone="sql-createdomain">
18   <primary>CREATE DOMAIN</primary>
19  </indexterm>
20
21  <refsynopsisdiv>
22 <synopsis>
23 CREATE DOMAIN <replaceable class="parameter">nom</replaceable> [AS] <replaceable
24 class="parameter">type_donnee</replaceable>
25     [ DEFAULT <replaceable>expression</> ]
26     [ <replaceable class="PARAMETER">contrainte</replaceable> [ ... ] ]
27
28 où <replaceable class="PARAMETER">contrainte</replaceable> est&nbsp;:
29
30 [ CONSTRAINT <replaceable class="PARAMETER">nom_contrainte</replaceable> ]
31 { NOT NULL | NULL | CHECK (<replaceable class="PARAMETER">expression</replaceable>) }
32 </synopsis>
33  </refsynopsisdiv>
34
35  <refsect1>
36   <title>Description</title>
37
38   <para>
39    <command>CREATE DOMAIN</command> crée un nouveau domaine de données.
40    L'utilisateur définissant un domaine devient son propriétaire.
41   </para>
42
43   <para>
44    Si un nom de schéma est donné (par exemple, <literal>CREATE DOMAIN
45    monschema.mondomaine ...</>), alors le domaine est créé dans le schéma
46    spécifié. Sinon, il est créé dans le schéma actuel. Le nom du domaine doit
47    être unique parmi les types et domaines existant dans son schéma.
48   </para>
49
50   <para>
51    Les domaines sont utiles pour faire une abstraction des champs communs
52    entre deux tables en un seul emplacement. Par exemple, une colonne d'adresse
53    de courrier électronique utilisé dans plusieurs tables, toutes avec les mêmes
54    propriétés. Définissez un domaine et utilisez-le plutôt que de configurer les
55    contraintes de chaque table individuellement.
56   </para>
57  </refsect1>
58
59  <refsect1>
60   <title>Paramètres</title>
61
62     <variablelist>
63      <varlistentry>
64       <term><replaceable class="parameter">nom</replaceable></term>
65       <listitem>
66        <para>
67         Le nom d'un domaine à créer (pouvant être qualifié du nom du schéma).
68        </para>
69       </listitem>
70      </varlistentry>
71
72      <varlistentry>
73       <term><replaceable class="PARAMETER">type_donnees</replaceable></term>
74       <listitem>
75        <para>
76         Le type de données sous-jacent du domaine. Il peut contenir des
77         spécifications de tableau.
78        </para>
79       </listitem>
80      </varlistentry>
81
82      <varlistentry>
83       <term><literal>DEFAULT <replaceable>expression</replaceable></literal></term>
84
85       <listitem>
86        <para>
87         La clause <literal>DEFAULT</> définit une valeur par défaut pour les
88         colonnes d'un type de données domaine. La valeur correspond à toute
89         expression de variable (mais les sous-requêtes ne sont pas autorisées).
90         Le type de données de l'expression par défaut doit correspondre au type
91         de données du domaine. Si la valeur par défaut n'est pas indiquée, alors
92         il s'agit de la valeur NULL.
93        </para>
94
95        <para>
96         L'expression par défaut sera utilisée dans toute opération
97         d'insertion qui ne spécifierait pas de valeur pour cette colonne. Si une
98         valeur par défaut est définie pour une colonne particulière, elle
99         surcharge toute valeur par défaut associée avec le domaine. En retour,
100         la valeur par défaut surcharge tout valeur par défaut associée avec le
101         type de données sous-jacent.
102        </para>
103       </listitem>
104      </varlistentry>
105
106      <varlistentry>
107       <term><literal>CONSTRAINT <replaceable
108        class="PARAMETER">nom_contrainte</replaceable></literal></term>
109       <listitem>
110        <para>
111         Un nom optionnel pour une contrainte. Si non spécifié, le système en
112         génère un.
113        </para>
114       </listitem>
115      </varlistentry>
116
117      <varlistentry>
118       <term><literal>NOT NULL</></term>
119       <listitem>
120        <para>
121         Les valeurs de ce domaine n'ont pas le droit d'être NULL.
122        </para>
123       </listitem>
124      </varlistentry>
125
126      <varlistentry>
127       <term><literal>NULL</></term>
128       <listitem>
129        <para>
130         Les valeurs de ce domaine peuvent être NULL. C'est la valeur par défaut.
131        </para>
132
133        <para>
134         Cette clause a seulement pour but la compatibilité avec les bases de
135         données SQL non standard. Son utilisation n'est pas encouragée dans les
136         nouvelles applications.
137        </para>
138       </listitem>
139      </varlistentry>
140
141    <varlistentry>
142     <term><literal>CHECK (<replaceable class="PARAMETER">expression</replaceable>)</literal></term>
143     <listitem>
144      <para>
145       Les clauses <literal>CHECK</> spécifient des contraintes d'intégrité ou
146       des tests que les valeurs du domaine doivent satisfaire. Chaque
147       contrainte doit être une expression produisant un résultat booléen. Elle
148       devrait utiliser le nom <literal>VALUE</> pour se référer à la valeur en
149       cours de tests.
150      </para>
151
152      <para>
153       Actuellement, les expressions <literal>CHECK</literal> ne peuvent ni
154       contenir de sous-requêtes ni se référer à des variables autres que
155       <literal>VALUE</>.
156      </para>
157     </listitem>
158    </varlistentry>
159   </variablelist>
160  </refsect1>
161
162  <refsect1>
163   <title>Exemples</title>
164
165   <para>
166    Cet exemple crée le type de données <type>code_pays</type> puis l'utilise
167    dans la définition d'une table&nbsp;:
168 <programlisting>
169 CREATE DOMAIN code_pays char(2) NOT NULL;
170 CREATE TABLE listepays (id integer, pays code_pays);
171 </programlisting>
172   </para>
173  </refsect1>
174
175  <refsect1 id="SQL-CREATEDOMAIN-compatibility">
176   <title>Compatibilité</title>
177
178   <para>
179    La commande <command>CREATE DOMAIN</command> est conforme au standard SQL.
180   </para>
181  </refsect1>
182
183  <refsect1 id="SQL-CREATEDOMAIN-see-also">
184   <title>Voir aussi</title>
185
186   <simplelist type="inline">
187    <member><xref linkend="sql-dropdomain" endterm="sql-dropdomain-title"></member>
188   </simplelist>
189  </refsect1>
190
191 </refentry>
192
193
194 <!-- Keep this comment at the end of the file
195 Local variables:
196 mode: sgml
197 sgml-omittag:nil
198 sgml-shorttag:t
199 sgml-minimize-attributes:nil
200 sgml-always-quote-attributes:t
201 sgml-indent-step:1
202 sgml-indent-data:t
203 sgml-parent-document:nil
204 sgml-default-dtd-file:"../reference.ced"
205 sgml-exposed-tags:nil
206 sgml-local-catalogs:"/usr/lib/sgml/catalog"
207 sgml-local-ecat-files:nil
208 End:
209 -->
Note: See TracBrowser for help on using the browser.