Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

6314fe0967807 - Enoncé-STI-Base de Données

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 5

STI

4ème année Sciences de l’informatique


: Base de Données

Mr Ladhari Tijani

Sousse (Khezama - Sahloul) Nabeul / Sfax / Bardo / Menzah El Aouina /


Ezzahra / CUN / Bizerte / Gafsa / Kairouan / Medenine / Kébili / Monastir /
Gabes / Djerba

www.takiacademy.com 73.832.000
Informatique

➢ Création et modification de la structure d’une Base de Données


en mode commande (Les commandes LDD )

1. Introduction :
Il existe deux modes de création des éléments d’une base de données.
- Le mode assisté en utilisant les interfaces graphiques d’un SGBD.
- Le mode commande en utilisant le langage SQL (LDD : Langage de Définition des Données).

2. Création d’une table en mode commande


La forme générale de la commande qui permet la création d’une table est définit comme suit :

CREATE TABLE nom_table


(nom_colonne1 type [[NOT] NULL] [DEFAULT valeur] [contrainte_colonne],
nom_colonne2 type [[NOT] NULL] [DEFAULT valeur] [contrainte_colonne], …) ;

Les types de données sont :


• INT(n) : numérique de n chiffres.
• DECIMAL (n, m) : numérique de n chiffres dont m décimales.
• VARCHAR(n) : chaîne de caractères de longueur variable dont la taille maximale est n.
• DATE : date et/ou heure.
- L’option NULL permet de dire que la colonne n’est pas obligatoire. L’option NOT NULL permet de
dire que la colonne est obligatoire.
- L’option DEFAULT permet de donner une valeur par défaut à la colonne.
- L’option contrainte_colonne permet de donner une contrainte d’intégrité à la colonne. Elle est
définie comme suit :
[CONSTRAINT contrainte]
{PRIMARY KEY
| REFERENCES nom_table[(nom_colonne)] [ON DELETE CASCADE]
| CHECK (condition)}
- Le mot clé CONSTRAINT est optionnel, il permet de donner un nom à la contrainte.
- PRIMARY KEY indique que la colonne est une clé primaire.
- REFERENCES indique que la colonne est une clé étrangère, nom_table est la table mère et
nom_colonne est la clé primaire de la table mère et il est donné lorsque le nom de la clé primaire de
la table mère est différent du nom de la clé étrangère.
- ON DELETE CASCADE permet de supprimer automatiquement les lignes dans la table fille
correspondant à une ligne supprimée de la table mère.
- CHECK permet de préciser des valeurs autorisées pour la colonne.
Exemples :
Soit le modèle suivant :
Fournisseur(NumFrs, NomFrs, AdresseFrs)
Produit(NumP, NomP, PrixP, NumFrs #)

-Page -2
Informatique

3. Modification de la structure d’une BD en mode commande :


a. Modification de la structure d’une table :
La forme générale de la commande qui permet la modification de la structure d’une table est définit
comme suit : ALTER TABLE nom_table
[ADD COLUMN définition_colonne]
[ADD CONSTRAINT définition_contrainte]
[MODIFY définition_colonne]
[DROP COLUMN nom_colonne]
[DROP CONSTRAINT nom_contrainte]
[ENABLE | DISABLE CONSTRAINT nom_contrainte]

- L’option ADD COLUMN permet d’ajouter des colonnes.


Exemple : Ajouter la colonne Tel (chaîne de 10) à la table Fournisseur
…………………………………………………………………………………………………………
………………………………………………………………………………………………………..
- L’option ADD CONSTRAINT permet d’ajouter une contrainte.
Exemple : Supposant qu’on a oublié la contrainte (PrixP>=0).
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
- L’option MODIFY permet de modifier les caractéristiques d’une colonne.
Exemple : Modifier la taille de la colonne NomP.
…………………………………………………………………………………………………………
………………………………………………………………………………………………………….
- L’option DROP COLUMN permet de supprimer une colonne de la table.
Exemple : Supprimer la colonne Tel de la table Fournisseur.
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
- L’option DROP CONSTRAINT permet de supprimer une contrainte de la table.
Exemple : On veut annuler la clé primaire de la table Fournisseur.
…………………………………………………………………………………………………………
………………………………………………………………………………………………………..
- L’option DISABLE CONSTRAINT permet de désactiver provisoirement une contrainte d’intégrité.
Exemple : On veut annuler provisoirement la clé primaire de la table Fournisseur.
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
- L’option ENABLE CONSTRAINT permet de réactiver une contrainte d’intégrité.
Exemple : On veut activer la clé primaire de la table Fournisseur.
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
b. Suppression d’une table :
La forme générale de la commande qui permet de supprimer le contenu et la structure d’une table
est définit comme suit :
DROP TABLE nom_table ;
………………………………………………........…………………………………………………….

-Page -3
Informatique

Exercice 1 20 min 10 pt
On considère la création des tables suivantes :
Table client :
Nom colonne Type Taille Contrainte
Codeclt Numérique 4 Clé primaire
Nom Chaine 20 Non nulle
Prenom Chaine 20 Non nulle
Adresse Chaine 50 Nulle
Chiffre_affaire Numérique 10,3 >=0

Table commande :
Nom colonne Type Taille Contrainte
Code_com Numérique 2 Clé primaire
Date_com Date - Non nulle
Codeclt Numérique 4 Clé étrangère
Question :
1. Créer les tables suivantes en langage SQL.
2. Ecrire les commandes SQL suivantes :
a) Ajouter la colonne Tel_clt (numérique 13) à la table client.
b) Supprimer la colonne Adresse de la table client.
c) Supprimer la clé primaire de la table client.
d) Désactiver la clé primaire de la table commande.
e) Supprimer la table client.

-Page -4
Informatique

Exercice 2 20 min 10 pt

Soit la représentation textuelle de la base de données « inscription-vaccins » pour la


catégorie (18-39 ans):

• citoyen(cin, nom_prenom, dt_nais ,tel, adresse)


• vaccin( id_vaccin, nom_vaccin, nbr_doses)
• inscription(cin#, id_vaccin#, date_v, num_dose, présent)
Voici un descriptif des champs:

Nom du champ Type du champ Contraintes


cin texte(8) clé primaire

Nom_prenom texte(40) non nul

dt_nais date entre 01/01/1989 et 01/01/2003

tel texte(8)

adresse texte(50)

id_vaccin texte(4) clé primaire

nom_vaccin texte(20)

nbr_doses entier ne peut prendre que les valeurs suivantes (1,2 ou 3)

date_v, date

num_dose entier ne peut prendre que les valeurs suivantes (1,2 ou 3)

présent texte(4) ne peut prendre que les valeurs suivantes (oui, non)

1) Transformer cette représentation en une représentation graphique.


2) Donner les requêtes de création de différentes tables en respectant les différentes
contraintes.
3) Insérer le champ “email” dans la table citoyen (texte(20)).
4) Ajouter la contrainte suivante (le champ email doit contenir le caractère”@”).

-Page -5

Vous aimerez peut-être aussi