Table (catégorie de SGBD)

La catégorie Table est située dans la catégorie Racine > Script > Objects, et peut contenir les éléments suivants qui définissent la façon dont les tables sont modélisées pour votre SGBD.

Elément

Description

[Eléments communs]

Les éléments suivants communs aux différents objets peuvent être définis pour des tables :

  • AfterCreate, AfterDrop, AfterModify

  • BeforeCreate, BeforeDrop, BeforeModify

  • ConstName

  • Create, Drop

  • Enable, EnableSynonym

  • Header, Footer

  • Maxlen, MaxConstLen

  • ModifiableAttributes

  • Options, DefOptions

  • Permission

  • ReversedQueries, ReversedStatements

  • SqlAttrQuery, SqlListQuery, SqlOptsQuery, SqlPermQuery

Pour obtenir une description de chacun de ces éléments communs, voir Eléments communs aux différents objets.

AddTableCheck

Spécifie une instruction permettant de personnaliser le script pour modifier les contraintes de table au sein d'une instruction alter table.

Exemple (SQL Anywhere 10) :

alter table [%QUALIFIER%]%TABLE%
  add [constraint %CONSTNAME% ]check (%.A:CONSTRAINT%)

AllowedADT

Spécifie une liste de types de données abstraits sur lesquels une table peut être basée. Cette liste remplit la zone Basé sur de la feuille de propriétés de table.

Vous pouvez affecter des types de données abstraits objet aux tables. La table utilise les propriétés du type de données abstrait et les attributs du type de données abstrait deviennent des colonnes de la table.

Exemple (Oracle 10g) :

OBJECT

AlterTable Footer

Spécifie une instruction à placer après les instructions alter table (et avant le caractère de fin).

Exemple :

AlterTableFooter = /* End of alter statement */

AlterTable Header

Spécifie une instruction à placer avant les instructions alter table. Vous pouvez placer un en-tête alter table dans vos scripts pour les documenter ou dans le cadre d'une logique d'initialisation.

Exemple :

AlterTableHeader = /* Table name: %TABLE% */

DefineTable Check

Spécifie une instruction permettant de personnaliser le script des contraintes de table (vérifications) au sein d'une instruction create table.

Exemple :

check (%CONSTRAINT%)

DropTable Check

Spécifie une instruction permettant de supprimer une vérification de table dans une instruction alter table.

Exemple :

alter table [%QUALIFIER%]%TABLE%
  delete check

InsertIdentityOff

Spécifie une instruction permettant d'activer l'insertion de données dans une table contenant une colonne d'identité.

Exemple (ASE 15) :

set identity_insert [%QUALIFIER%]%@OBJTCODE% off

InsertIdentityOn

Spécifie une instruction permettant de désactiver l'insertion de données dans une table contenant une colonne d'identité.

Exemple (ASE 15) :

set identity_insert [%QUALIFIER%]%@OBJTCODE% on

Rename

[modification] Spécifie une instruction permettant de renommer une table. Si cet élément n'est pas spécifié, le processus de modification de base de données supprime les contraintes de clé étrangère, crée une nouvelle table avec le nouveau nom, insère les lignes de l'ancienne table dans la nouvelle table, et crée les index et contraintes sur la nouvelle table à l'aide de tables temporaires.

Exemple (Oracle 10g) :

rename %OLDTABL% to %NEWTABL%

La variable %OLDTABL% est le code de la table avant qu'elle ne soit renommée. La variable %NEWTABL% est le nouveau code de la table.

SqlChckQuery

Spécifie une requête SQL Query permettant de procéder au reverse engineering des vérifications de table.

Exemple (SQL Anywhere 10) :

{OWNER, TABLE, CONSTNAME, CONSTRAINT}
select u.user_name, t.table_name,
 k.constraint_name,
 case(lcase(left(h.check_defn, 5))) when 'check' then substring(h.check_defn, 6) else h.check_defn end
from sys.sysconstraint k
 join sys.syscheck h on (h.check_id = k.constraint_id)
 join sys.systab t on (t.object_id = k.table_object_id)
 join sys.sysuserperms u on (u.user_id = t.creator)
where k.constraint_type = 'T'
 and t.table_type in (1, 3, 4)
[  and u.user_name = %.q:OWNER%]
[  and t.table_name = %.q:TABLE%]
order by 1, 2, 3

SqlListRefr Tables

Spécifie une requête SQL utilisée pour répertorier les tables référencées par une table.

Exemple (Oracle 10g) :

{OWNER, TABLE, POWNER, PARENT}
select c.owner, c.table_name, r.owner,
 r.table_name
from sys.all_constraints c,
 sys.all_constraints r
where (c.constraint_type = 'R' and c.r_constraint_name = r.constraint_name and c.r_owner = r.owner)
[ and c.owner = %.q:SCHEMA%]
[ and c.table_name = %.q:TABLE%]
union select c.owner, c.table_name,
 r.owner, r.table_name
from sys.all_constraints c,
 sys.all_constraints r
where (r.constraint_type = 'R' and r.r_constraint_name = c.constraint_name and r.r_owner = c.owner)
[ and c.owner = %.q:SCHEMA%]
[ and c.table_name = %.q:TABLE%]

SqlListSchema

Spécifie une requête utilisée pour extraire un schéma enregistré dans la base de données. Cet élément est utilisé avec les tables de type XML (une référence à un document XML stocké dans la base de données).

Lorsque vous définissez une table XML, vous devez extraire les documents XML enregistrés dans la base de données afin d'affecter un document à la table, ce qui se fait à l'aide de la requête SqlListSchema.

Exemple (Oracle 10g) :

SELECT schema_url FROM dba_xml_schemas

SqlStatistics

Spécifie une requête SQL utilisée pour procéder au reverse engineering des statistiques de colonne et de table. Voir SqlStatistics dans Column (catégorie de SGBD).

SqlXMLTable

Spécifie une sous-requête utilisée pour améliorer les performances de SqlAttrQuery (voir Eléments communs aux différents objets).

TableComment

[génération et reverse engineering] Spécifie une instruction permettant d'ajouter un commentaire de table. Si cet élément n'est pas spécifié, la case à cocher Commentaire sur les sous-onglets Tables et Vues de la boîte de dialogue de génération de base de données n'est pas disponible.

Exemple (Oracle 10g) :

comment on table [%QUALIFIER%]%TABLE% is
%.q:COMMENT%

La variable %TABLE% représente le nom de la table tel que défini dans la boîte de dialogue Liste des tables, ou dans la feuille de propriétés de table. La variable %COMMENT% représente le commentaire défini dans la zone Commentaire de la feuille de propriétés de table.

TypeList

Spécifie une liste de types (par exemple, SGBD : relationnel, objet, XML) pour les tables. Cette liste remplit la liste Type dans la feuille de propriétés de table.

Le type XML doit être utilisé avec l'élément SqlListSchema.

UniqConstraint Name

Spécifie si l'utilisation du même nom pour un index et une contrainte sur une même table est possible. Les valeurs possibles sont les suivantes :

  • Yes – Le nom de contrainte et le nom d'index de la table doivent être différents, ce qui sera contrôlé pendant la vérification du modèle

  • No - Le nom de contrainte et le nom d'index de la table peuvent être identiques