Vous êtes sur la page 1sur 4

TP1 INGENIERIE DES BASES DE DONNEES

Langage SQL (Rappel)

Objectifs
Créer une base de données à partir d’un schéma relationnel
Modifier la structure d’une base de données
Supprimer une table d’une base de données
Définir les contraintes sur les tables d’une base de données
Insérer des données dans une table à partir du clavier
Mise à jour des données dans une table
Supprimer les données d’une table

Description de la base de données pour la gestion des livres

Schéma entité-association
Dans ce TP, nous allons créer une base de données pour une gestion simple des livres. L’analyse
des besoins a mené au schéma entité-association suivant.

RAFIK ABBES 1
TP1 INGENIERIE DES BASES DE DONNEES

Schéma relationnel
Ce schéma conceptuel a permis de construire le schéma relationnel composé des tables
suivantes :
• CATEGORIES (id_categ, lib_categ)
• LIVRES (id_livre, titre_livre, annee_livre, nbpages_livre, #id_categ)
• AUTEURS (id_aut, nom_aut, prenom_aut, dateNaiss_aut)
• REDACTIONS (#id_aut, #id_livre)

Description des attributs

TABLE CATEGORIES
Colonne Type Taille NOT NULL
id_categ NUMBER 4 (préc. 0) Oui
lib_categ VARCHAR2 20 Non

TABLE LIVRES
Colonne Type Taille NOT NULL
id_livre NUMBER 5 (préc. 0) Oui
titre_livre VARCHAR2 45 Non
annee_livre VARCHAR2 4 (préc. 0) Non
nbpages_livre NUMBER 4 (préc. 0) Non
id_categ NUMBER 4 (préc. 0) Non

TABLE AUTEURS
Colonne Type Taille NOT NULL
id_aut NUMBER 4 (préc. 0) Oui
nom_aut VARCHAR2 24 Oui
prenom_aut VARCHAR2 24 Oui
dateNaiss_aut DATE 4 (préc. 0) Non

TABLE REDACTIONS
Colonne Type Taille NOT NULL
id_aut NUMBER 5 (préc. 0) Oui
id_livre NUMBER 5 (préc. 0) Non

RAFIK ABBES 2
TP1 INGENIERIE DES BASES DE DONNEES

Langage de définition de données :


• Le langage de définition de données (LDD) permet de définir des objets d’une BD.
• Les commandes du LDD sont :
– CREATE : création d’objets
– ALTER : modification des structures d’objets
– DROP : suppression d’objets
Création des tables
1. Discuter l’ordre de création des tables
2. Créer la table CATEGORIES, avec la contrainte de clé-primaire portant sur le champ
id_categ (contrainte en ligne)
3. Créer la table LIVRES en définissant id_livre comme clé primaire, et
id_categorie comme clé étrangère référençant le champ id_categ de la table
CATEGORIES.
4. Créer la table AUTEURS en définissant id_aut comme clé primaire. Appliquer la
contrainte NOT NULL sur les champs nom_aut et prenom_aut
5. Créer la table REDACTIONS. Peut-on appliquer une contrainte en ligne pour définir la
clé primaire de cette table ? Sinon, comment peut-on la définir ? N’oublier pas de définir
les deux contraintes des clés étrangères.
6. Créer une table « temporaire », create table TMP (idTemp number);

Modification des tables


7. Ajouter la contrainte permettant vérifier que l’année de parution d’un livre doit être
supérieure à 1900.
8. Ajouter la contrainte permettant d’exiger une catégorie lors de l’insertion d’un nouveau
livre.
9. Supprimer la colonne nbpages_livre de la table LIVRES
10. Modifier la table AUTEURS pour augmenter la taille du champ id_aut pour qu’il
puisse accepter un numéro de 5 chiffres.

Suppression de tables
11. Supprimer la table TMP

Langage de manipulation de données :


Le Langage de Manipulation de Données (LMD) permet la recherche, l'insertion, la mise à jour
et la suppression de données. Les commandes du LMD sont INSERT, UPDATE, DELETE et
SELECT.

RAFIK ABBES 3
TP1 INGENIERIE DES BASES DE DONNEES

Insertion des données


12. Insérer les catégories suivantes
ID_CATEG LIB_CATEG

1 Informatique

2 Mathématiques

3 Langues

13. Insérer les livres suivants


ID_LIVRE TITRE_LIVRE ANNEE_LIVRE ID_CATEG

100 SQL pour les nuls 1995 1

101 Oracle PL/SQL programming 1995 1

102 Oracle PL-SQL Programming, 6th Edition 2014 1

103 Oracle Database 10g PL/SQL Programming 2004 1

200 17 équations qui ont changé le monde 2012 2

300 Learning English as a Foreign Language For Dummies 2009 3

301 Grammaire 1995 3

14. Insérer les auteurs suivants


ID_AUT NOM_AUT PRENOM_AUT DATENAISS_AUT PAYS_AUT

1 G. Taylor Allen 30-SEP-45 Angleterre

2 Urman Scott - -

3 Feuerstein Steven 01-SEP-58 Etat-Unis

4 Hardman Ron - -

5 McLaughlin Michael - -

6 Stewart Lan 24-SEP-45 Angleterre

7 Dudeney Gavin - -

8 Dubois Jean 17-AUG-20 France

15. Chercher sur internet ces livres et alimenter la table REDACTIONS

Mise à jour et suppression des données


16. Renommer le livre 101, « Oracle PL/SQL programming, 1st Edition »
17. Mettre tous les noms des auteurs en majuscules. (Utiliser la fonction oracle UPPER)
18. Supprimer les livres de « langues » parus avant l’année 2000.

Interrogation des données


19. Afficher le nombre de livres par auteur
20. Afficher le nom et prénom de l’auteur qui a écrit plus de livres.
21. Trouver les livres dont le titre contient le terme SQL

RAFIK ABBES 4

Vous aimerez peut-être aussi