SQL-sous-Oracle
Tp2 : Langage de Définition des Données sous SQL (LDD)
I. Objectifs de TP
A la fin de ce TP, les étudiants auront les connaissances nécessaires pour :
Utiliser la fonction LDD (Langage de Définition des Données) de SQL : Création d’une
base de données relationnelle en SQL.
Mise à jour de la structure d’une table dans une base de données :
Ajouter des attributs aux tables d’une base de données Oracle.
Ajouter des contraintes aux tables d’une base de données Oracle.
II. Avant de commencer : SQL LDD
a) Types syntaxiques
La notion de domaine n’est pas prise en compte dans SQL_PLUS. Il nous faut donc nous
limites à la définition des types syntaxiques suivants :
VARCHAR2(n) Chaîne de caractères de longueur variable (maximum n)
CHAR(n) Chaîne de caractères de longueur fixe (n caractères)
NUMBER Nombre entier (40 chiffres maximum)
NUMBER(n,m) Nombre de longueur totale n avec m décimales
DATE Date (DD-MON_YY est le format par défaut)
LONG Flot de caractères
b) Création de table
− CREATE TABLE <nom de la table> (<nom de colonne> <type> [NOT NULL] [, <nom de
colonne> <type>]…, [<contraintes>]…);
Où <contraintes> représente la liste des contraintes d’intégrité structurelles concernant les
colonnes de la table crée. Elle s’exprime sous la forme suivante :
− CONSTRAINT <nom de contrainte> <sorte de contrainte>
Où <sorte de contrainte> est :
− PRIMARY KEY (attribut1, [attribut2…])
[Link] Page 1
− FOREIGN KEY ((attribut1, [attribut2…]) REFERENCES <nom de table associée>
attribut1, [attribut2…])
− CHECK (attribut <condition>) avec <condition> qui peut être une expression booléenne
simple » ou de la forme IN (liste de valeurs) ou BETWEEN <borne inférieure> AND <borne
supérieure>
c) Modification de la structure d’une table
Ajout de colonne :
− ALTER TABLE <nom de la table> ADD ([<nom de colonne>
<type>][,<contrainte>][,<nom de colonne>
<type>][,<contrainte>]…);
Modification de colonne :
− ALTER TABLE <nom de la table> MODIFY ([<nom de colonne> <nouveau
type>][,<nom de colonne> <nouveau type>]…);
d) Destruction de table
− DROP TABLE <nom de la table>;
e) Consultation de la structure d’une base
− DESCRIBE <nom de la table>;
III. Travail à faire :
1. Création d’une base de données
Ecrire le script relatif à la création de la base de données « Vente » suivante :
Magasin (num_m, loc)
Frs (num_f, nom, ville)
Client (num_c, nom, pays, ville)
Article (num_a, des, poids, couleur, prix_achat, num_f)
Vente (num_c, num_a, num_m, qte, prix_vente, dat)
Avec :
Les attributs num_m, loc, num_f, nom, ville, num_c, nom, pays, ville, num_a, des,
couleur sont de type chaine de caractère de longueur maximale 30.
L’attribut poids est un entier de longueur maximale 20.
[Link] Page 2
Les attributs prix_achat, qte, prix_vente sont des réels de taille 10 chiffres au total et 6
chiffres avant la virgule.
L’attribut dat est de type DATE.
2. Mise à jour de la structure d’une table
Modifier les tables crées en ajoutant les contraintes présentés dans le schéma de base de
données affichés ci-dessous :
Magasin (num_m, loc)
Frs (num_f, nom, ville)
Client (num_c, nom, pays, ville)
Article (num_a, des, poids, couleur, prix_achat, # num_f)
Vente (#num_c, #num_a, #num_m, qte, prix_vente, dat)
Avec :
Les attributs soulignés sont des clés primaires.
Les attributs précédés par le caractère « # » sont des clés étrangères.
Bon courage
[Link] Page 3