La suppression d’une table entraîne la suppression de toutes les données présentes dans la
table. Les déclencheurs et les index associés à la table sont également supprimés. Il en est de
même pour les permissions d’utilisation de la table.
61
DROP TABLE [ schema. ] nom_table ;
DROP TABLE [ schema. ] nom_table CASCADE CONSTRAINTS;
Vous devez :
• Posséder un privilège DROP ANY TABLE
• Ou être le créateur de la table
La suppression d’une table supprimera les données et les index associés. La suppression ne
sera pas possible si la table est référencée par une clé étrangère.
--Suppression de la table CHEFS
DROP TABLE CHEFS
Supprimer une base de données
Depuis la version 10G d'Oracle, il est maintenant possible de supprimer une base de données
avec une commande DROP DATABASE. Seront supprimés :
• Les DATAFILES
• Les REDO LOG FILES
• Les CONTROLFILES
• Le SPFILE
Les fichiers init.ora (PFILE) et Password File (PWDsid.ora) ne sont pas supprimés. Pour
effectuer une suppression, vous devez vous connecter avec SYSDBA. Nous effectuons les
manipulations suivantes avec SQL*Plus.
SQL> CONNECT / AS SYSDBA
Fermer la base de données.
SQL> SHUTDOWN ABORT
Monter la base de données en mode EXCLUSIVE RESTRICT.
SQL> STARTUP MOUNT EXCLUSIVE RESTRICT
Suppression de la base de données.
SQL> DROP DATABASE
Suppression de l'instance (service Oracle).
C:\ORADIM -DELETE -SID OracleServiceSID
62
Création d’une séquence (compteur)
Un compteur (séquence) est un objet Oracle permettant de générer automatiquement une
série de valeurs uniques. Cet outil est utile pour exploiter un attribut clé tel qu’un numéro
d’ordre sans risque de saisir des doublons par erreur.
La commande suivante permet de définir un compteur nommé « monCompteur » qui va
s’incrémenter de 1 par défaut et pouvant atteindre 1000 pour ensuite repartir à zéro (cycle).
CREATE SEQUENCE monCompteur
START WITH 1
MAXVALUE 1000
CYCLE;
On aurait pu ajouter l’option INCREMENT BY et spécifier le pas d’incrémentation :
CREATE SEQUENCE monCompteur
INCREMENT BY 5
START WITH 1
MAXVALUE 1000
CYCLE;
Pour accéder à votre compteur, il suffit d’utiliser la commande SELECT sur la table DUAL
gérée par Oracle.
SELECT monCompteur.nextval
FROM dual ;
Créons la table suivante :
CREATE TABLE CLIENT
(
NUMERO INTEGER not null,
NOM VARCHAR2(25) not null,
PRENOM VARCHAR2(25) not null,
constraint PK_CLIENT primary key (NUMERO)
);
Affection de la valeur du compteur lors de l’ajout d’un enregistrement dans une table :
INSERT INTO CLIENT VALUES
63
(monCompteur.nextval, 'Tartanpion', 'Toto')
Résultat :
SELECT * FROM CLIENT
Intégrité des données
On distingue 4 types d’intégrité :
· L’intégrité de domaine (ou de colonne) consiste à préciser l’ensemble des valeurs valides
dans une colonne et à indiquer si les valeurs nulles sont autorisées.
· L’intégrité d’entité (ou de table) consiste à s’assurer que toutes les lignes d’une table
possèdent un identificateur unique.
· L’intégrité référentielle garantit le maintien d’une relation existant entre une clé primaire
dans une table référencée et une clé étrangère dans chacune des tables qui la référencent.
· L’intégrité définie par l’utilisateur permet de définir de règles d’entreprise spécifiques
qui n’entrent dans aucune des autres catégories d’intégrité.