Modification des tables d'objets Oracle9i et types d'objets

Ici vous avez un problème intéressant. Lorsque vous effectuez une table d'objet, vous identifiez ce type d'objet doit être utilisé pour chaque ligne de la table de l'objet. Les attributs que vous voyez quand vous regardez à la table dans le schéma directeur sont effectivement les attributs du type d'objet.

Sommaire

Vous pouvez modifier quelques caractéristiques de la table de l'objet, comme indiqué dans la section suivante. Ajout ou suppression d'attributs dans une table d'objet, cependant, doit être effectuée en modifiant le type d'objet sous-jacente, qui est discuté dans la deuxième section.

Modification des tables d'objets

Les seules modifications apportées aux attributs que vous pouvez faire à la table de l'objet sont

  • Changeant NUL à NOT NULL
  • Ajout d'une valeur par défaut
  • Ajout de contraintes, comme clé primaire ou contraintes de vérification

Vous gérez ces changements de la même façon que vous le faites avec des tables relationnelles.

Modification des types d'objets

Lorsque vous modifiez un type d'objet, les changements sont hérités par tous les tableaux d'objets et tous les types d'objets qui utilisent le type d'objet modifié.

Si vous n'êtes pas sûr de type d'objet a été utilisé pour créer une table d'objet, vous pouvez obtenir de l'aide de la fenêtre des propriétés de la table dans le Gestionnaire de schéma. Pour afficher cette fenêtre, suivez ces étapes:




1. Démarrez la console, comme décrit précédemment dans le chapitre.

2. Cliquez sur la table d'objet qui vous intéresse.

Une fenêtre des propriétés de la table apparaît dans la fenêtre de droite. Pour cet exemple, sélectionnez la table BREAD_OBJ dans le schéma de la boulangerie. La figure 1 montre la fenêtre des propriétés. Notez que si vous scrutez attentivement à la fenêtre, vous pouvez juste faire le type d'objet qui définit les lignes de la table de l'objet.

Modification des tables d'objets Oracle9i et types d'objets

Figure 1: Faire tous les ajustements que vous devez à vos définitions de colonne.

Pour modifier un type d'objet, utiliser SQL * Plus. Vous pouvez ajouter, modifier ou supprimer un attribut dans un type d'objet. Voici la syntaxe pour ajouter un attribut à un type d'objet:

ALTER TYPE nomtype
Ajouter un attribut (attributename type de données)
CASCADE;

Remplacer typename, attributename, et Type de données avec les noms et les types de données. La CASCADE paramètre indique Oracle9i pour faire le changement à tous les objets dépendants et les types d'objets.

Par exemple, pour ajouter un nouvel attribut appelé FABRICANT au INGREDIENT_TYPE type d'objet appartenant à BOULANGERIE, utiliser cette commande SQL:

-- 18_addattribute
ALTER INGREDIENT_TYPE
Ajouter un attribut (FABRICANT VARCHAR2 (40))
CASCADE;

Modification d'un attribut utilise la même syntaxe que l'ajout, sauf que vous remplacez AJOUTER avec MODIFIER.

Par exemple, pour modifier la FABRICANT attribut à 60 caractères de long, utilisez cette commande:

-- 19_changeattribute
ALTER INGREDIENT_TYPE
MODIFIER ATTRIBUT (FABRICANT VARCHAR2 (60))
CASCADE;

Lors de la suppression d'un attribut, utilisez la syntaxe suivante:

ALTER TYPE nomtype
Ajouter un attribut (attributename)
CASCADE;

Remplacer typename et attributename avec les noms réels. La CASCADE paramètre indique Oracle9i pour faire le changement à tous les objets dépendants et les types d'objets. Par exemple, pour supprimer le FABRICANT attribuer à partir de la INGREDIENT_TYPE type d'objet appartenant à BOULANGERIE, utiliser cette commande SQL:

-- 20_dropdattribute
ALTER INGREDIENT_TYPE
DROP ATTRIBUTE (fabricant)
CASCADE;


» » » Modification des tables d'objets Oracle9i et types d'objets