Changeset 637
- Timestamp:
- 04/25/07 09:58:22 (2 years ago)
- Files:
-
- traduc/trunk/manuel/ddl.xml (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
traduc/trunk/manuel/ddl.xml
r635 r637 1429 1429 Une base de données contient un ou plusieurs <firstterm>schémas</firstterm> 1430 1430 nommés qui, eux, contiennent des tables. Les schémas contiennent aussi d'autres 1431 types d'objets nommés, y compris des types de données, fonctions et opérateurs. 1432 Seul le nom d'objet peut être utilisé sans conflit ; par exemple, 1431 types d'objets nommés (types de données, fonctions et opérateurs, par 1432 exemple). 1433 Le même nom d'objet peut être utilisé dans différents schémas sans conflit ; par exemple, 1433 1434 <literal>schema1</literal> et <literal>mon_schema</literal> peuvent tous les deux 1434 contenir une table nommée <literal>ma_table</literal>. Contrairement aux1435 contenir une table nommée <literal>ma_table</literal>. À la différence des 1435 1436 bases de données, les schémas ne sont pas séparés de manière rigide : 1436 1437 un utilisateur peut accéder aux objets de n'importe quel schéma de la 1437 base de données à laquelle il se connecte s'il a les droits pour le faire.1438 </para>1439 1440 <para> 1441 Il existe plusieurs raisons pour lesquelles quelqu'un voudrait utiliser les1442 schémas :1438 base de données à laquelle il est connecté, sous réserve qu'il en ait le 1439 droit. 1440 </para> 1441 1442 <para> 1443 Il existe plusieurs raisons d'utiliser les schémas : 1443 1444 1444 1445 <itemizedlist> 1445 1446 <listitem> 1446 1447 <para> 1447 Pour autoriser beaucoup d'utilisateurs à utiliser une base de données sans se gêner1448 les uns les autres.1448 pour autoriser de nombreux utilisateurs à utiliser une base de données 1449 sans interférences entre eux ; 1449 1450 </para> 1450 1451 </listitem> … … 1452 1453 <listitem> 1453 1454 <para> 1454 Pour organiser des objets de basesde données en groupes logiques afin de faciliter1455 leur gestion .1455 pour organiser les objets de la base de données en groupes logiques afin de faciliter 1456 leur gestion ; 1456 1457 </para> 1457 1458 </listitem> … … 1459 1460 <listitem> 1460 1461 <para> 1461 Les applications tierces peuvent être mises dans des schémas séparés pour qu'il n'y1462 ait pas de collisionavec les noms d'autres objets.1462 les applications tiers peuvent être placées dans des schémas séparés 1463 pour éviter les collisions avec les noms d'autres objets. 1463 1464 </para> 1464 1465 </listitem> 1465 1466 </itemizedlist> 1466 1467 1467 Les schémas sont comparables aux répertoires au niveau du système d'exploitation1468 sauf que les schémas ne peuvent pas être imbriqués.1468 Les schémas sont comparables aux répertoires du système d'exploitation, à 1469 ceci près qu'ils ne peuvent pas être imbriqués. 1469 1470 </para> 1470 1471 … … 1478 1479 1479 1480 <para> 1480 Pour créer un schéma, utilisez la commande <xref linkend="sql-createschema"1481 endterm="sql-createschema-title"/>. Donnez au schéma un nom de votre choix. Par1482 exemple :1481 Pour créer un schéma, on utilise la commande 1482 <xref linkend="sql-createschema" endterm="sql-createschema-title"/>. 1483 Le nom du schéma est libre. Par exemple : 1483 1484 <programlisting>CREATE SCHEMA mon_schema;</programlisting> 1484 1485 </para> … … 1494 1495 1495 1496 <para> 1496 Pour créer ou accéder aux objets d ans un schéma, écrivezun1497 <firstterm>nom qualifié</firstterm> qui consiste en lenom du schéma et1498 lenom de la table séparés par un point :1497 Pour créer ou accéder aux objets d'un schéma, on écrit un 1498 <firstterm>nom qualifié</firstterm> constitué du nom du schéma et 1499 du nom de la table séparés par un point : 1499 1500 <synopsis><replaceable>schema</replaceable><literal>.</literal><replaceable>table</replaceable></synopsis> 1500 Ce ci fonctionne partout où un nom de table est attendu, donc en incluantles1501 Cela fonctionne partout où un nom de table est attendu, ce qui inclue les 1501 1502 commandes de modification de la table et les commandes d'accès aux données 1502 discutées dans les chapitres suivants (nous parlons uniquement 1503 des tables mais les mêmes idées s'appliquent aux autres genres d'objets 1504 nommés, comme les types et les fonctions). 1503 discutées dans les chapitres suivants. (Pour des raisons de 1504 simplification, il n'est question que de tables, mais les mêmes principes 1505 s'appliquent à d'autres types d'objets nommés, comme les types et les 1506 fonctions.) 1505 1507 </para> 1506 1508 1507 1509 <para> 1508 1510 En fait, la syntaxe encore plus générale 1509 <synopsis><replaceable>basededonnees</replaceable><literal>.</literal><replaceable>schema</replaceable><literal>.</literal><replaceable>table</replaceable></synopsis> 1510 peut être utilisé aussi mais, pour le moment, ceci n'existe que pour 1511 être conforme au standard SQL. Si vous écrivez un nom de base de 1512 données, il devrait être celui de la base auquel vous êtes connecté. 1513 </para> 1514 1515 <para> 1516 Donc, pour créer une table dans le nouveau schéma, utilisez 1511 <synopsis><replaceable>base</replaceable><literal>.</literal><replaceable>schema</replaceable><literal>.</literal><replaceable>table</replaceable></synopsis> 1512 peut aussi être utilisée, mais à l'heure actuelle, cette syntaxe n'existe 1513 que pour des raisons de conformité avec le standard SQL. Si un nom de base de 1514 données est précisé, ce doit être celui de la base à laquelle 1515 l'utilisateur est connecté. 1516 </para> 1517 1518 <para> 1519 Pour créer une table dans le nouveau schéma, on utilise 1517 1520 <programlisting>CREATE TABLE mon_schema.ma_table ( 1518 1521 ... … … 1527 1530 <para> 1528 1531 Pour effacer un schéma vide (tous les objets qu'il contient ont été 1529 supprimés), utilisez1532 supprimés), on utilise 1530 1533 <programlisting>DROP SCHEMA mon_schema;</programlisting> 1531 Pour effacer un schéma avec les objets qu'il contient, utilisez1534 Pour effacer un schéma et les objets qu'il contient, on utilise 1532 1535 <programlisting>DROP SCHEMA mon_schema CASCADE;</programlisting> 1533 Lisez la <xref linkend="ddl-depend"/> pour une description du mécanisme 1534 général derrière tout ceci. 1535 </para> 1536 1537 <para> 1538 Souvent, vous voudrez modifier le schéma utilisé par quelqu'un 1539 d'autre (puisque c'est l'une des méthodes par lesquelles on peut 1540 restreindre l'activité de vos utilisateurs à des espaces de nom 1541 définis). La syntaxe pour ceci est : 1536 La <xref linkend="ddl-depend"/> décrit le mécanisme général sous-jacent. 1537 </para> 1538 1539 <para> 1540 Il n'est pas rare de vouloir créer un schéma dont un autre utilisateur est 1541 propriétaire (puisque c'est l'une des méthodes de restriction de l'activité des 1542 utilisateurs à des <foreignphrase>namespaces</foreignphrase> pré-définis). 1543 La syntaxe en est : 1542 1544 <programlisting>CREATE SCHEMA <replaceable>nom_schema</replaceable> AUTHORIZATION <replaceable>nom_utilisateur</replaceable>;</programlisting> 1543 Vous pouvez même omettre le nom du schéma auquel cas, le nom du schéma1544 sera le même que le nom d'utilisateur. Voir la <xref1545 l inkend="ddl-schemas-patterns"/> pour voir comment cela peut être utilisé.1545 Le nom du schéma peut être omis, auquel cas le nom de l'utilisateur est 1546 utilisé. Voir la <xref linkend="ddl-schemas-patterns"/> pour en connaître 1547 l'utilité. 1546 1548 </para> 1547 1549 1548 1550 <para> 1549 1551 Les noms de schéma commençant par <literal>pg_</literal> sont réservés pour 1550 les besoins du système et les schémas commençant ainsi ne peuvent pas être 1551 créés par les utilisateurs. 1552 les besoins du système et ne peuvent être créés par les utilisateurs. 1552 1553 </para> 1553 1554 </sect2> … … 1562 1563 1563 1564 <para> 1564 Dans les sections précédentes, on créait des tables sans spécifier un1565 nom de schéma. Par défaut, ces tables (etautres objets) sont1565 Dans les sections précédentes, les tables sont créées sans qu'un nom de 1566 schéma soit indiqué. Par défaut, ces tables (et les autres objets) sont 1566 1567 automatiquement placées dans un schéma nommé <quote>public</quote>. Toute 1567 nouvelle base de données contient un tel schéma. Donc, ces instructions1568 s ontéquivalentes :1568 nouvelle base de données contient un tel schéma. Les instructions 1569 suivantes sont donc équivalentes : 1569 1570 <programlisting>CREATE TABLE produits ( ... );</programlisting> 1570 1571 et … … 1573 1574 </sect2> 1574 1575 1576 <!-- ICI --> 1575 1577 <sect2 id="ddl-schemas-path"> 1576 <title>Chemin de recherche de schéma</title>1578 <title>Chemin de parcours des schémas</title> 1577 1579 1578 1580 <indexterm>

