| 1 |
<!-- |
|---|
| 2 |
$Header: /var/lib/cvs/pgsql-fr/sgml/ref/create_schema.sgml,v 1.7.2.1 2005/03/14 06:03:02 guillaume Exp $ |
|---|
| 3 |
PostgreSQL documentation |
|---|
| 4 |
--> |
|---|
| 5 |
|
|---|
| 6 |
<refentry id="SQL-CREATESCHEMA"> |
|---|
| 7 |
<refmeta> |
|---|
| 8 |
<refentrytitle id="sql-createschema-title">CREATE SCHEMA</refentrytitle> |
|---|
| 9 |
<refmiscinfo>SQL - Instructions du langage</refmiscinfo> |
|---|
| 10 |
</refmeta> |
|---|
| 11 |
|
|---|
| 12 |
<refnamediv> |
|---|
| 13 |
<refname>CREATE SCHEMA</refname> |
|---|
| 14 |
<refpurpose>définit un nouveau schéma</refpurpose> |
|---|
| 15 |
</refnamediv> |
|---|
| 16 |
|
|---|
| 17 |
<indexterm zone="sql-createschema"> |
|---|
| 18 |
<primary>CREATE SCHEMA</primary> |
|---|
| 19 |
</indexterm> |
|---|
| 20 |
|
|---|
| 21 |
<refsynopsisdiv> |
|---|
| 22 |
<synopsis> |
|---|
| 23 |
CREATE SCHEMA <replaceable class="parameter">nom_schéma</replaceable> [ AUTHORIZATION <replaceable class="parameter">nom_utilisateur</replaceable> ] [ <replaceable class="parameter">élément_schéma</replaceable> [ ... ] ] |
|---|
| 24 |
CREATE SCHEMA AUTHORIZATION <replaceable class="parameter">nom_utilisateur</replaceable> [ <replaceable class="parameter">élément_schéma</replaceable> [ ... ] ] |
|---|
| 25 |
</synopsis> |
|---|
| 26 |
</refsynopsisdiv> |
|---|
| 27 |
|
|---|
| 28 |
<refsect1> |
|---|
| 29 |
<title>Description</title> |
|---|
| 30 |
|
|---|
| 31 |
<para> |
|---|
| 32 |
<command>CREATE SCHEMA</command> crée un nouveau schéma dans la base de |
|---|
| 33 |
données en cours. Le nom du schéma doit être distinct du nom des différents |
|---|
| 34 |
schémas existants dans la base de données en cours. |
|---|
| 35 |
</para> |
|---|
| 36 |
|
|---|
| 37 |
<para> |
|---|
| 38 |
Un schéma est essentiellement un espace logique : il contient des |
|---|
| 39 |
objets nommés (tables, types de données, fonctions et opérateurs) dont les |
|---|
| 40 |
noms pourraient être ceux d'autres objets existants dans d'autres schémas. |
|---|
| 41 |
Les noms d'objets sont accessible soit en <quote>qualifiant</> leur noms avec |
|---|
| 42 |
le nom du schéma en préfixe ou en configurant un chemin de recherche qui |
|---|
| 43 |
inclut le(s) schéma(s) désiré(s). Les objets non qualifiés sont créés dans le |
|---|
| 44 |
schéma actuel (celui qui se trouve au début du chemin de rechercher, qui peut |
|---|
| 45 |
être déterminé avec la fonction <function>current_schema</function>). |
|---|
| 46 |
</para> |
|---|
| 47 |
|
|---|
| 48 |
<para> |
|---|
| 49 |
De façon optionnelle, <command>CREATE SCHEMA</command> peut inclure des |
|---|
| 50 |
sous-commandes pour créer des objets à l'intérieur du nouveau schéma. |
|---|
| 51 |
Les sous-commandes sont traitées essentiellement comme des commandes |
|---|
| 52 |
séparées lancées après la création du schéma, sauf que, si la clause |
|---|
| 53 |
<literal>AUTHORIZATION</> est utilisée, tous les objets créés seront possédés |
|---|
| 54 |
par cet utilisateur. |
|---|
| 55 |
</para> |
|---|
| 56 |
</refsect1> |
|---|
| 57 |
|
|---|
| 58 |
<refsect1> |
|---|
| 59 |
<title>Paramètres</title> |
|---|
| 60 |
|
|---|
| 61 |
<variablelist> |
|---|
| 62 |
<varlistentry> |
|---|
| 63 |
<term><replaceable class="parameter">nom_schéma</replaceable></term> |
|---|
| 64 |
<listitem> |
|---|
| 65 |
<para> |
|---|
| 66 |
Le nom d'un schéma à créer. Si il est oublié, le nom de l'utilisateur |
|---|
| 67 |
est utilisé comme nom de schéma. |
|---|
| 68 |
</para> |
|---|
| 69 |
</listitem> |
|---|
| 70 |
</varlistentry> |
|---|
| 71 |
|
|---|
| 72 |
<varlistentry> |
|---|
| 73 |
<term><replaceable class="parameter">nom_utilisateur</replaceable></term> |
|---|
| 74 |
<listitem> |
|---|
| 75 |
<para> |
|---|
| 76 |
Le nom de l'utilisateur qui possédera le schéma. Si oublié, récupère |
|---|
| 77 |
par défaut l'utilisateur exécutant la commande. Seuls les |
|---|
| 78 |
superutilisateurs peuvent créer des schémas possédés par d'autres |
|---|
| 79 |
utilisateurs qu'eux-mêmes. |
|---|
| 80 |
</para> |
|---|
| 81 |
</listitem> |
|---|
| 82 |
</varlistentry> |
|---|
| 83 |
|
|---|
| 84 |
<varlistentry> |
|---|
| 85 |
<term><replaceable class="parameter">élément_schéma</replaceable></term> |
|---|
| 86 |
<listitem> |
|---|
| 87 |
<para> |
|---|
| 88 |
Une instruction SQL définissant un objet à créer à l'intérieur du |
|---|
| 89 |
schéma. Actuellement, seules <command>CREATE TABLE</>, <command>CREATE |
|---|
| 90 |
VIEW</> et <command>GRANT</> sont acceptées comme clauses à l'intérieur |
|---|
| 91 |
de <command>CREATE SCHEMA</>. D'autres types d'objets peuvent être |
|---|
| 92 |
créés dans des commandes séparées une fois le schéma créé. |
|---|
| 93 |
</para> |
|---|
| 94 |
</listitem> |
|---|
| 95 |
</varlistentry> |
|---|
| 96 |
</variablelist> |
|---|
| 97 |
</refsect1> |
|---|
| 98 |
|
|---|
| 99 |
<refsect1> |
|---|
| 100 |
<title>Notes</title> |
|---|
| 101 |
|
|---|
| 102 |
<para> |
|---|
| 103 |
Pour créer un schéma, l'utilisateur appelant doit avoir le droit |
|---|
| 104 |
<literal>CREATE</> sur la base de données actuelle. (Bien sûr, les |
|---|
| 105 |
superutilisateurs n'ont pas besoin de cette vérification.) |
|---|
| 106 |
</para> |
|---|
| 107 |
</refsect1> |
|---|
| 108 |
|
|---|
| 109 |
<refsect1> |
|---|
| 110 |
<title>Exemples</title> |
|---|
| 111 |
|
|---|
| 112 |
<para> |
|---|
| 113 |
Créer un schéma : |
|---|
| 114 |
<programlisting> |
|---|
| 115 |
CREATE SCHEMA mon_schema; |
|---|
| 116 |
</programlisting> |
|---|
| 117 |
</para> |
|---|
| 118 |
|
|---|
| 119 |
<para> |
|---|
| 120 |
Créer un schéma pour l'utilisateur <literal>joe</> ; le schéma sera |
|---|
| 121 |
aussi nommé <literal>joe</> : |
|---|
| 122 |
<programlisting> |
|---|
| 123 |
CREATE SCHEMA AUTHORIZATION joe; |
|---|
| 124 |
</programlisting> |
|---|
| 125 |
</para> |
|---|
| 126 |
|
|---|
| 127 |
<para> |
|---|
| 128 |
Créer un schéma et lui ajouter une table et une vue : |
|---|
| 129 |
<programlisting> |
|---|
| 130 |
CREATE SCHEMA hollywood |
|---|
| 131 |
CREATE TABLE films (titre text, sortie date, recompenses text[]) |
|---|
| 132 |
CREATE VIEW gagnants AS |
|---|
| 133 |
SELECT titre, sortie FROM films WHERE recompenses IS NOT NULL; |
|---|
| 134 |
</programlisting> |
|---|
| 135 |
Notez que les sous-commandes individuelles ne se terminent pas avec des |
|---|
| 136 |
points-virgules. |
|---|
| 137 |
</para> |
|---|
| 138 |
|
|---|
| 139 |
<para> |
|---|
| 140 |
Ce qui suit est une façon équivalente d'accomplir la même chose : |
|---|
| 141 |
<programlisting> |
|---|
| 142 |
CREATE SCHEMA hollywood; |
|---|
| 143 |
CREATE TABLE hollywood.films (titre text, sortie date, recompenses text[]); |
|---|
| 144 |
CREATE VIEW hollywood.gagnants AS |
|---|
| 145 |
SELECT titre, sortie FROM hollywood.films WHERE recompenses IS NOT NULL; |
|---|
| 146 |
</programlisting> |
|---|
| 147 |
</para> |
|---|
| 148 |
</refsect1> |
|---|
| 149 |
|
|---|
| 150 |
<refsect1> |
|---|
| 151 |
<title>Compatibilité</title> |
|---|
| 152 |
|
|---|
| 153 |
<para> |
|---|
| 154 |
Le standard SQL autorise une clause <literal>DEFAULT CHARACTER SET</> dans |
|---|
| 155 |
<command>CREATE SCHEMA</command>, ainsi que plus de types de sous-commandes |
|---|
| 156 |
qui ce qui est actuellement accepté par |
|---|
| 157 |
<productname>PostgreSQL</productname>. |
|---|
| 158 |
</para> |
|---|
| 159 |
|
|---|
| 160 |
<para> |
|---|
| 161 |
Le standard SQL spécifie que les sous-commandes dans <command>CREATE |
|---|
| 162 |
SCHEMA</command> peuvent apparaître dans n'importe quel ordre. |
|---|
| 163 |
L'implémentation actuelle de <productname>PostgreSQL</productname> ne gère |
|---|
| 164 |
pas tous les cas de références dans les sous-commandes ; il pourrait |
|---|
| 165 |
être nécessaire de réordonner les sous-commandes pour éviter certaines |
|---|
| 166 |
références. |
|---|
| 167 |
</para> |
|---|
| 168 |
|
|---|
| 169 |
<para> |
|---|
| 170 |
Suivant le standard SQL, le propriétaire d'un schéma possède toujours des |
|---|
| 171 |
objets. <productname>PostgreSQL</productname> permet aux schémas de contenir |
|---|
| 172 |
des objets possédés par d'autres utilisateurs que le propriétaire du schéma. |
|---|
| 173 |
Ceci peut arriver seulement si le propriétaire du schéma donne le privilège |
|---|
| 174 |
<literal>CREATE</> de son schéma à d'autres personnes. |
|---|
| 175 |
</para> |
|---|
| 176 |
</refsect1> |
|---|
| 177 |
|
|---|
| 178 |
<refsect1> |
|---|
| 179 |
<title>Voir aussi</title> |
|---|
| 180 |
|
|---|
| 181 |
<simplelist type="inline"> |
|---|
| 182 |
<member><xref linkend="sql-alterschema" endterm="sql-alterschema-title"></member> |
|---|
| 183 |
<member><xref linkend="sql-dropschema" endterm="sql-dropschema-title"></member> |
|---|
| 184 |
</simplelist> |
|---|
| 185 |
</refsect1> |
|---|
| 186 |
|
|---|
| 187 |
</refentry> |
|---|
| 188 |
|
|---|
| 189 |
<!-- Keep this comment at the end of the file |
|---|
| 190 |
Local variables: |
|---|
| 191 |
mode: sgml |
|---|
| 192 |
sgml-omittag:nil |
|---|
| 193 |
sgml-shorttag:t |
|---|
| 194 |
sgml-minimize-attributes:nil |
|---|
| 195 |
sgml-always-quote-attributes:t |
|---|
| 196 |
sgml-indent-step:1 |
|---|
| 197 |
sgml-indent-data:t |
|---|
| 198 |
sgml-parent-document:nil |
|---|
| 199 |
sgml-default-dtd-file:"../reference.ced" |
|---|
| 200 |
sgml-exposed-tags:nil |
|---|
| 201 |
sgml-local-catalogs:"/usr/lib/sgml/catalog" |
|---|
| 202 |
sgml-local-ecat-files:nil |
|---|
| 203 |
End: |
|---|
| 204 |
--> |
|---|