SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Base de
Données

Classe : 4ème SI
Année scolaire : 2010-2011

Résumé
Devoirs de contrôles et de synthèses corrigés


*****Bonne révision*****
Enseignant : Ismail wael                                                                                     4ème SI


                                  Résumé Base de Données
       Définitions :
Une donnée : est une information        Une information : c’est une             Entité : c’est la représentation d’un
qui peut effectuer des traitements      donnée regroupée avec d’autres          objet du monde réel ayant une
                                        liées à un contexte donnée.             existence propre. (Exp : Etudiant,
                                                                                Livre, classe…)
Propriété (attribut) : représente les   Association : c’est un outil            Base de Données : est un
caractéristiques les propriétés de      permettant de représenter les liens     ensemble de données non
l’entité.                               entre les entités.                      redondantes, structurées et
                                                                                persistantes (non volatiles)
                                                                                relatives à un ou plusieurs
                                                                                domaines du monde réel.
Intérêts de l’utilisation d’une         Intégrité de données : Ensemble         Modèles de BD :
BD :                                    de règles appelées contraintes          -Hiérarchique
-Centralisation                         d’intégrité qui décrivent les           -Réseau
-Indépendance entre données et          propriétés qui doivent être vérifié     -Modèle Relationnel : le principe
programme                               par les données pour être               consiste à représenter aussi bien les
-Intégrité de données                   enregistrées. Elle permet d’assurer     objets que les liens à l’aide d’une
-Partage de données (concurrence        la cohérence des données.               structure appelée table.
d’accès)
Système de Gestion de Base de           Les fonctions de bases d’un             Table : une table est un ensemble
Données(SGBD) : c’est un logiciel       SGBD :                                  de données relatives à un même
qui permet de créer, de gérer et        -Définition des données                 sujet(ou entité) et structurées sous
d’interroger efficacement une BD.       -Manipulation des données               forme de tableau.
(Pour dialoguer avec le SGBD il         -Intégrité des données                  Colonne(ou champ ou propriété) :
faut utiliser le langage                -la gestion des accès concurrents       Dans une table une colonne est une
SQL(Structured Query Language))         -la confidentialité                     propriété élémentaire de l’objet
                                        -la sécurité de fonctionnement          décrit par cette table.
                                                                                Ligne (n-uplet ou enregistrement) :
                                                                                Une ligne correspond à un objet
                                                                                représenté par la table.

Clé primaire (identifiant=primary       Clé étrangère =référence                Contraintes d’intégrité :
key) : c’est un identificateur unique   =contrainte d’intégrité référentielle   Ensemble de règles appliquées à
pour la table qui correspond à une      = foreign key                           une colonne ou une table et qui
colonne ou un ensemble de               Un lien entre deux tables A et B est    doit être toujours vérifiée.
colonnes.                               représenté par l’ajout dans la table
                                        B d’une nouvelle colonne                (les principales contraintes
                                        correspondant à la clé primaire de      d’intégrité sont : contraintes de
                                        la table A. cette nouvelle colonne      domaines, contraintes d’intégrité
                                        est appelée Clé étrangère.              de table et contrainte d’intégrité
                                                                                référentielle)
Démarche de détermination de la structure d’une BD :
- Délimiter le domaine
- Déterminer les colonnes




                                              Base De Données 
Enseignant : Ismail wael                                                 4ème SI


                                              Liste des colonnes


                                                Nom Colonne
 Description
 Types de données
                                                   Taille
                                                Obligatoire
                                              Valeur par défaut
                                               Valeur autorisé
 Sujet


                                                   …..
                                                  ……….
                                                   ……
                                                   …..
                                                  ……..
                                                  ………
                                                   ……
                                                  ……..




                                                                     -
Déterminer les tables
                Liste des tables



 Nom table
 Description
 Sujet




- Affecter les colonnes aux tables
- Déterminer les clés primaires
- Déterminer les liens entre les tables
- Analyser et affiner la structure de la BD



                                                Base De Données 
Enseignant : Ismail wael                                                                                   4ème SI


Mode assisté : permet de créer les      Formulaire : permet aux                les Etats : ils permettent aux
éléments de la BD à travers des         utilisateurs d’interagir avec          utilisateurs d’obtenir des données
assistants graphiques                   l’application à travers des champs     afin de les imprimer ou les stocker
                                        de type texte, liste..plusieurs        sous une forme quelconque
                                        opérations offertes par le
                                        formulaire: constatation, insertion,
                                        modification et suppression des
                                        données
Mécanismes de sécurité :
-L’authentification
-Les droits et les privilèges
-Les logs ou traces
-Tolérance aux pannes
-Sauvegarde et restauration
-Mécanisme transactionnels


       NB :
    Exemples pour les relations :

         •     Relation un à plusieurs

Un élève appartient à une seule classe. Dans une classe on trouve plusieurs élèves

                            ELEVE ∞                            1 CLASSE

 Donc CLASSE table mère et ELEVE table fille. Comme CLASSE est mère alors sa clé primaire
migre à la table fille qui est ELEVE et sera une clé étrangère
             Description textuelle :

         ELEVE (num_inscription, nom, prenom, date_naissance, adresse, id_classe#)
          CLASSE(id_classe, nom_classe)

              Description graphique :




         •     Relation plusieurs à plusieurs

Un athlète peut participer à plusieurs courses. Dans une course on trouve plusieurs athlètes.

Dans ce cas la relation participer se transforme en un table identifié par deux clés primaires qui sont
les clés primaires de la table athlète et la table Courses( les deux clés seront primaires et étrangères au
même temps dans la nouvelle table)

             Description textuelle :

             athlete (anum,anom,aage)


                                              Base De Données 
Enseignant : Ismail wael                                                                4ème SI


            participation (cnum#,anum #)

            course (cnum,cnom)

            Description graphique :




    Création des tables en mode commande (SQL)
Exemple :


                                                   CREATE TABLE Film(
         On va créer les tables décrites par la    id_fim INT(3) PRIMARY KEY,
description textuelle ci-dessous, sachant que le   titre VARCHAR(10) NOT NULL,);
titre et la date fin d’abonnement sont
obligatoires et que le nombre maximal              CREATE TABLE Client(
d’emprunt doit être ≥0.                            id_client INT(3) PRIMARY KEY ,
Film(id_film, titre)                               nom VARCHAR(10) NOT NULL ,
Client(id_client, nom, date_fin_abonnement,        date_fin_abonnement date NOT NULL ,
nbmaxemprunt)                                      nbmaxemprunt CHECK(nbmaxemprunt >=0)) ;
Cassette(id_cassette, id_film #)
Emprunt (id_client #, id_cassette #,               CREATE TABLE Cassette (
date_emprunt)                                      id_cassette INT(3) ON DELETE CASCADE,
                                                   id_client INT(3) ON DELETE CASCADE,
                                                   date_emprunt date,
                                                   CONSTRAINT pk PRIMARY KEY(id_cassette,
                                                   id_client),
                                                   CONSTRAINT fk_cas FOREIGN KEY(id_cassette)
                                                   REFERENCES Cassette ,
                                                   CONSTRAINT fk_cl FOREIGN KEY(id_client)
                                                   REFERENCES Client ) ;




      Modifier la structure d’une table en mode commande (SQL)
       Rôle                                Commande                                Exemple

   Ajout d’une        ALTER TABLE nom_table ADD COLUMN                   ALTER TABLE client ADD
colonne à la table    définition_colonne ;                               COLUMN email VARCHAR(80);

   Ajout d’une        ALTER TABLE nom_table ADD CONSTRAINT               ALTER TABLE article ADD
  contrainte à la     définition_contrainte ;                            CONSTRAINT PRIMARY KEY



                                         Base De Données 
Enseignant : Ismail wael                                                                           4ème SI


       table                                                                  (code_article);

Modification des    ALTER TABLE nom_table Modify                              On veut élargir la taille de la colonne
propriétés d’une    définition_colonne ;                                      « email » :
    colonne                                                                   ALTER TABLE client MODIFY
                                                                              email VARCHAR(100);


  Suppression       ALTER TABLE nom_table DROP COLUMN                         ALTER TABLE client DROP
d’une colonne de    nom_colonne ;                                             COLUMN email;
    la table
  Suppression       ALTER TABLE nom_table DROP CONSTRAINT                     Supprimer la clé primaire de la table
d’une contrainte    nom_contrainte ;                                          article :
   de la table
                                                                              ALTER TABLE article DROP
                                                                              CONSTRAINTE PRIMARY KEY;

 Désactiver une     ALTER TABLE nom_table DISABLE                             ALTER TABLE article DISABLE
   contrainte       nom_contraint ;                                           CONSTRAINT PRIMARY KEY;

  Réactiver une     ALTER TABLE nom_table ENABLE                              ALTER TABLE article ENABLE
   contrainte       nom_contrainte ;                                          CONSTRAINT PRIMARY KEY;



      Suppression d’une table en mode commande (SQL)
                           DROP TABLE nom_table;

Manipulation des données en mode commande
    Mise à jour de données
       Insertion des lignes              Suppression des lignes         Modification des lignes

       INSERT INTO                       DELETE FROM                    UPDATE nom_table SET
       nom_table(liste_nomcolonne)       nom_table                      nom_colonne1=expression1,
       VALUES(liste_valeurs) ;           WHERE condition ;              nom_colonne2=expression2,…
       Exp :                             Exp :                          WHERE condition ;
       INSERT INTO Athlete               DELETE FROM Athlete            Exp :
       (num,nom,age) VALUES              WHERE age>50 ;                 UPDATE Athlete SET age=32
       (123, ‘GUAMOUDI’,45) ;                                           WHERE num=100 ;
      Recherche des données (requêtes)
           •   Recherche de colonne à partir d’une table (projection)

               SELECT liste_nom_colonne From nom_table ;

               SELECT * from nom_table ;

               SELECT DISTINCT(nom_colonne) From nom_table ;




                                        Base De Données 
Enseignant : Ismail wael                                                                                   4ème SI


RQ : Par défaut les colonnes de la table résultat portent les mêmes noms que ceux de la table de départ ; il est
possible de donner aux colonnes de la table résultat des noms différents de ceux de la table d’origine. On doit
dans ce cas donner un entête de colonne juste après son nom donné par le paramètre liste_nom_colonne. Cette
entête est appelé Alias.

            •    Recherche de ligne à partir d’une table : sélection

            SELECT */liste_nom_colonne FROM nom_table WHERE condition ;

            Dans la condition on peut utiliser :

            Les opérateurs de comparaison (=,>, <,>=, <=, et <>), l’opérateur BETWEEN, l’opérateur
            IN, l’opérateur IS NULL, l’opérateur IS NOT NULL, l’opérateur LIKE et les opérateurs
            logiques AND, OR et NOT.

            •    Recherche de données à partir du plusieurs tables : jointure

On parle de jointure si la recherche est relative à deux tables ayant au moins une colonne en
commun.la condition de jointure doit porter sur ces colonnes communes. .

            •    Recherche de données avec tri

SELECT liste_nom_colonne FROM nom table ORDER BY nom_colonne ASC/DESC ;
ASC : Dans l’ordre ascendant.
DESC : Dans l’ordre descendant.
Par défaut le tri est ascendant.
            • Utilisation des fonctions de calculs dans les opération de recherche (fonctions Agrégat)

                           COU      Compter le nombre de lignes du résultat obtenu par
                    NT              la commande SELECT

                              SU    Faire la somme des valeurs d’une colonne dont le
                          M         type est numérique

                        MIN         Déterminer la valeur minimale d’une colonne

                        MAX         Déterminer la valeur maximale d’une colonne

                              AV    Déterminer la moyenne des valeurs numériques
                          G         d’une colonne



Exercice:
Soit la description textuelle suivante :

 Client(numcli, nom, prenom, adresse,code_post, ville, tel)

 Produit(numprod, designation, prix_unit, qte_stock)

 Commande(numcom, numcli#, idvendeur#, date_com, qte, numprod#)

 Vendeur(idvendeur, nomvendeur, qualite ,salaire)



                                             Base De Données 
Enseignant : Ismail wael                                                                       4ème SI


   1- Donner la liste des prix TTC des produit, sachant que prix TTc= prix unitaire +0.1 *prix
      unitaire.

   SELECT prix_unit+prix_unit*0.1 ‘Prix TTC’ FROM Produit ;

   2- Donner la liste des noms et prénoms des clients

   SELECT nom, prenom FROM Client ;

   3- Donner la liste des clients habitant à Tunis

   SELECT * FROM Client WHERE ville=’Tunis’ ;

   4-    Donner les numéros, noms et prénoms de tous les clients. Au moment de l’affichage les
        entêtes des colonnes doivent être respectivement ‘ Numéro du client’, ‘Nom du client’ et
        ‘Prénom du client’

   SELECT numcli ‘Numéro du client’, nom ‘Nom du client’, prenom ‘Prénom du client’

   FROM client ;

   5-   Donner la liste des commandes qui ont des quantités au moins égale à trois

   SELECT * FROM Commande WHERE qte>=3 ;

   6- Donner les désignations des produits qui ont un prix comprix entre 1500 et 3500

   SELECT designation FROM Produit WHERE prix_unit BETWEEN 1500 AND 3500 ;

   7- Donner les numéros des commandes qui ont des quantités indéterminées

   SELECT numcom FROM Commande WHERE qte IS NULL ;

   8-    Donner La liste des noms et prénoms des clients qui habitent une ville dont Le nom se
        termine par AA.

   SELECT nom, prenom FROM Client WHERE ville LIKE ’%AA’ ;

   9- Donner la liste des clients dont les villes commencent par Menzel.

   SELECT * FROM Client WHERE ville LIKE ‘Menzel%’ ;

   10- Donner les prénoms des clients dont le nom est Ghdir, Hbibi, Aloui, Malki ou Hilali.

SELECT prenom FROM Client WHERE nom IN (‘Ghdir’,’ Hbibi’,’ Aloui’,’ Malki’,’ Hilali’) ;

   11- Donner les numéros et les prénoms des clients dont la 3ème lettre de leurs prénoms est h.

   SELECT numcli, prenom FROM Client WHERE prenom LIKE ‘__h%’;

   12- Donner La moyenne des prix des produits

   SELECT AVG(prix_unit) FROM Produit ;

   13- Donner le nombre total des commandes



                                       Base De Données 
Enseignant : Ismail wael                                                                       4ème SI


   SELECT COUNT(numcom) FROM Commande ;

   14- Donner le nombre des clients ayant passé une commande

   SELECT COUNT(DISTINCT(numcli)) FROM Commande ;

   15- Donner la liste des numéros des commandes avec les noms des clients. (Requête de jointure)

   SELECT numcom, nomcli FROM Commande, Client WHERE
   Commande.numcli=Client.numcli ;

    Ou bien(en utilisant les alias)

   SELECT numcom, nomcli FROM Commande C, Client CL WHERE C.numcli=CL.numcli ;

   16- Donner les numéros, les noms et prénoms des clients qui habitent à Mhamdia et dont leur
      prénom commence par A.

   SELECT numcli,nom, prenom WHERE ville=’Mhamdia’ AND prenom LIKE ‘A%’ ;

   17- Donner la liste des clients ordonnées par ordre alphabétique des noms ;

   SELECT * FROM Client ORDER BY nom ;

   18- Supprimer les produits qui ont une quantité de stock égale à zéro

   DELETE FROM Produit WHERE qte_stock=0 ;

   19- Augmenter Le salaire du vendeur identifié par 125 en lui ajoutant 1500.

   UPDATE Vendeur SET salaire=salaire+1500 WHERE idvendeur=125 ;

   20- Afficher la liste des vendeurs dont le nom commence par S et dont la qualité est déterminée,
       ordonnée dans l’ordre décroissant des salaires.

   SELECT * FROM Vendeur WHERE nomvendeur LIKE ‘S%’ AND qualite IS NOT NULL
   ORDER BY salaire DESC ;

             Bonne révision et très Bon travail pour le concours…




                                       Base De Données 
Enseignant : Ismail wael                                                                4ème SI



                      Devoir de contrôle N°1
Matière   : Base de Données                                         Date     : 14/11/2007
Classe    : 4ème SI                                                 Durée     : 2h
Documents : Non autorisés                                           Nb. Pages : 2
                                                                    Barème     : 20


Exercice N°1(3 pts)
Définir les termes suivants:

   -   Base de Données
   -   Association
   -   SGBD
   -   Modèle Réseau
   -   LMD
   -   Table

Exercice N°2(5 pts)

   1- Citer deux inconvénients de l’organisation en papiers et de l’organisation en fichiers.

   2- Donner un schéma clair représentant l’architecture ANSI/SPARC.

   3- Répondre par vrai ou faux et justifier votre réponse.
       a- Une base de données garde les informations d’une façon volatile.

       b- Une clé primaire est l’identificateur unique pour une table.

       c- Si une entité A se réfère à une entité B ceci signifie que A est une entité mère et B
          est une entité fille.

       d- Une colonne est une occurrence du sujet représenté par la table.

       e- Le SGBD assure la redondance des données.

       f-   Le SGBD peut restaurer la base de données suite à une panne.

       g- Une contrainte de domaine vérifie l’existence d’une clé primaire dans chaque
          table.

       h- L’architecture ANSI/SPARC définit trois niveaux d’abstraction pour un SGBD.




                                     Base De Données 
Enseignant : Ismail wael                                                                    4ème SI


Exercice N°3 (2 pts)
   Un Système de Gestion de base de donnés offre un ensemble de fonctions pour gérer une

base de données. Citer quatre fonctions et les expliquer brièvement.


Exercice N°4(10 pts)
   On s’intéresse à la gestion des propriétaires d’automobile.

   Un propriétaire a un numéro (num_prop) et un nom (nom_prop).

   Une automobile est identifiée par son numéro d’immatriculation (num_mat), elle possède

un nom (nom_auto) et une couleur.

   Chaque automobile appartient à une marque.

   Une marque est présentée par num_marque et nom_marque.

   Un propriétaire peut posséder plusieurs automobiles.

   1- Dégager les entités.

   2- Pour chaque entité donner ses attributs et préciser la clé primaire.

   3- Préciser les liens entre les entités et indiquer à chaque fois l’entité Mère et l’entité

       fille.

   4- Représenter la structure de la Base de Données sous forme textuelle.

   5- Représenter la structure de la Base de Données sous forme graphique.



                                  Bon travail




                                      Base De Données 
Enseignant : Ismail wael                                                                4ème SI


         Correction du Devoir de contrôle N° 1


Exercice N°1 :
   -    Base de Données : une BD est un ensemble de données structurées, enregistrées sur
        un support physique de façon permanente et accessibles de façon sélective par
        plusieurs utilisateurs.
   -    Une association : c’est un lien entre entités.
   -    SGBD : Système de Gestion de Bases de données est un logiciel permettant de gérer,
        créer et manipuler une BD.
   -    Modèle Réseau : Une BD réseau se présente comme un graphe. Tous les types des
        liens sont possibles (n-m).
   -    LMD : Langage de Manipulation de données utilisé par le SGBD pour manipuler les
        bases de données.
   -    Table : Ensemble de données relatives à un même sujet, elle est formée d’un ensemble
        de lignes (valeurs) et un ensemble de colonnes (attributs).
Exercice N°2 :
   1-

        L’organisation en papier possède plusieurs inconvénients, parmi les quels on cite :
difficulté d’accès et contrainte de volume…
        L’organisation en fichier présente un ensemble de limites, parmi les quels on cite :
manque de sécurité et lourdeur d’accès…


   2-

        L’architecture ANSI/SPARC définit trois niveaux d’abstraction pour un SGBD :
niveau externe, niveau conceptuel et niveau interne. Le schéma ci dessous représente cette
architecture :




                                       Base De Données 
Enseignant : Ismail wael                                                                        4ème SI



                Schéma externe                    Schéma                   Schéma externe
Niveau
                                                  externe
Externe




 Niveau                                            Schéma

Conceptuel                                        Conceptuel                              Mon
                                                                                                   d
                                                                                              e
                                                                                        Réel

 Niveau                                          Schéma interne
 Interne                                                                               BD


     3-                                                                                SGBD

     a- Faux. Une BD garde les données d’une façon permanente (permanente ≠ volatile).
     b- Vrai.
     c- Faux. Si une entité A se réfère à une entité B ceci signifie que B est une entité mère et
        A entité fille.
     d- Faux. Une ligne est l’occurrence du sujet représenté par la table.
     e- Faux. Le SGBD assure la cohérence des données.
     f- Vrai.
     g- Faux. Une contrainte du domaine permet d’assurer si une colonne est obligatoire ou
        non et les valeurs autorisées qui peuvent être prise
     h- Vrai.
  Exercice N°3 :
           Un SGBD offre un ensemble de fonctions pour gérer une base de données. Parmi ces
  fonctions on cite les suivantes :
     -     Définition des données : le SGBD offre la possibilité de définir et décrire les données.
           Pour la définition des données le langage LDD est utilisé.
     -     Manipulation des données : le SGBD doit offrir à l’utilisateur la possibilité de
           manipuler des données (insertion, suppression, consultation..).LMD est le langage
           utilisé pour manipuler des données.
     -     Sécurité de fonctionnement : à la suite d’une panne le SGBD offre la possibilité de
           restaurer la BD.
  Exercice N°4 :
      1- Les entités sont : Automobile, Propriétaire et Marque.



                                         Base De Données 
Enseignant : Ismail wael                                                                   4ème SI


    2-
                    Entités    Attributs                          Clés primaires
                    Automobile num_mat, couleur,                  num_mat
                                 nom_auto
                    Propriétaire num_prop, nom_prop     num_prop
                    Marque       num_marque, nom_marque num_marque
    3-
   -     Propriétaire           Posséder             Automobile
                                       Lien
          Dans cette relation propriétaire peut posséder plusieurs automobiles et une

            automobile à un seul propriétaire donc : Propriétaire est une entité mère et
            Automobile une entité fille.
   -     Automobile         Appartenir             Marque
                                Lien
          Dans cette relation Automobile appartient à une seule marque et une marque peut

            contenir plusieurs automobiles donc : Marque est l’entité mère et Automobile une
            entité fille.
    4-    Automobile (num_mat, nom_auto, couleur , num_prop #, num_marquer #)
         Propriétaire (num_prop, nom_prop)
         Marque (num_marque, nom_marque)
    5-
                                        Automobile
           Propriétaire                                           1   Marque
                            1           num_mat
                                        nom_auto                      num_marque
           num_prop              ∞      couleur
                                        num_prop                      nom_marque
           nom_prop                                   ∞
                                        num_marque




                                         Base De Données 
Enseignant : Ismail wael                                                                              4ème SI



Devoir de Synthèse N°1
Matière   : Base de Données                                                    Date     : 06/12/2007
Classe    : 4ème SI                                                            Durée     : 2h
Documents : Non autorisés                                                      Nb. Pages : 3
                                                                               Barème     : 20


NB : La propreté et la clarté des réponses entrent dans l’évaluation de la copie !

        Lisez bien les questions !

Exercice N°1 : (2pts)
Définir les termes suivants :

    -       Une donnée.

    -       Une base de données.

    -       n-uplet.

    -       contrainte d’intégrité.

Exercice N°2 : (5pts)

    1- Citer deux intérêts de l’utilisation d’une base de données.

    2- Donner les trois types d’utilisateurs d’une base de données.

    3- Arranger les phrases suivantes pour obtenir la démarche ordonnée de la structuration
            d’une base de données.



        A               B                C            D              E                F               G

Déterminer         Analyser la       Déterminer    Délimiter    Affecter les     Déterminer       Déterminer
  les clés         structure de       les tables    le/ les      colonnes       les liens entre       les
 primaires            la BD                        domaines     aux tables        les tables       colonnes




                                              Base De Données 
4- Répondre par vrai ou faux aux phrases suivantes (si faux alors les rectifier)
       a- Une BD est un ensemble de données redondantes, structurées et persistantes
          relatives à un ou plusieurs domines du monde réel.

       b- Pour communiquer avec un SGBD on utilise le langage SQL.

       c- Le niveau interne de l’architecture ANSI/SPARC définit les vues de l’utilisateur.

       d-      Une clé primaire est un identificateur de la table qui correspond toujours à une
              seule colonne.

       e- Le processus de verrouillage des données est utilisé par le SGBD pour gérer les
          accès concurrents.



Exercice N°3 : (2pts)
Transformer la présentation graphique ci dessous en présentation textuelle.




Exercice N° 4: (11 pts)
Enoncé :

       Nous voulons concevoir une BD pour gérer un groupe de recherche.

       Le groupe est constitué de chercheurs dont on connaît pour chacun, le nom (nom-ch),
le prénom (prenom-ch), le diplôme (dip-ch), l’adresse (ad-ch) et le téléphone (tel-ch). Chaque
chercheur possède un diplôme. Un diplôme est présenté par son nom (nom-dip) et par un code
(code-dip).

       Les chercheurs rédigent des articles caractérisés chacun par un code (code-art), un titre
(titre-article) et une date de rédaction. Un article peut être rédigé par un seul chercheur.
Enseignant : Ismail wael                                                                     4ème SI


       Un article appartient à plusieurs domaines de recherches, et dans un domaine de
recherche on peut trouver un et un seul article. Chaque domaine de recherche possède un
code de domaine (code-DR) et un nom (nom-DR).

       Le groupe de recherche anime également des séminaires. Pour chaque séminaire on
détient le titre (titre-sem), le lieu (lieu-sem), la date (date-sem) et on l’identifie par un numéro
(num-sem). Un séminaire peut avoir un seul responsable qui est un chercheur, et un chercheur
peut être un responsable sur plusieurs séminaires.

       Différents participants participent au séminaire. Chaque participant possède les
informations suivantes : numéro (num-participant), nom, prénom et l’organisme où il
travaille. Un organisme est désigné par un nom (nom-organisme) et un code qui l’identifie.
Pour chaque participation on enregistre le numéro de participant et le numéro de séminaire.

Questions :

       1- Elaborer la liste des colonnes.

       2- Donner la liste des tables.

       3- Donner la liste des liens entre les tables.

       4- Préciser les clés primaires des tables.

       5- Donner une description textuelle de la base de données.

       6- Donner une description graphique de la base de données.




                                  Bon travail           



                                       Base De Données 
Enseignant : Ismail wael                                                                          4ème SI


                  Correction du Devoir de Synthèse N°1

Exercice N° 4
   1-

                                                    Liste des colonnes
        Nom             Description       Type           taille obligatoi      Valeur      Valeur           Sujet
        colonne                           De                     re            par         autorisé
                                          Données                              défaut
        …….             ……                …….            …..      ……           …..         ……          …….


   2-

                                               Liste des tables
                Nom Table                       Description                              Sujet
        Chercheur                        L’ensemble des chercheurs        Chercheurs

        Diplôme                          Ensemble des diplômes            Diplômes

        Article                          Ensemble des articles            Articles

        Domaine                          Domaines de recherches           Domaines

        Séminaire                        Ensemble des séminaires          Séminaires

        Participant                      Ensemble des participant         Participants

        Organisation                     Ensemble des organismes          Organisations

        Participation                    Les participations des           Participations
                                         participants dans les
                                         séminaires


   3-

                                      Mère                                     Fille
                    Diplôme                                    Chercheur
                    Chercheur                                  Article
                    Article                                    Domaine
                    Chercheur                                  Séminaire
                    Organisme                                  Participant
                    Participant                                Participation
                    Séminaire                                  Participation


   4-

                                  Table                                   Clé primaire
                  Chercheur                                    Code_ch



                                         Base De Données 
Enseignant : Ismail wael                                                                       4ème SI


                 Diplôme                                      Code_dip
                 Article                                      Code_art
                 Domaine                                      Code_DR
                 Séminaire                                    Num_sem
                 Participant                                  Num_participant
                 Organisme                                    Code_organisme
                 Participation                                Num_sem, num_paticipant


   5-

        Chercheur (code_ch, nom_ch, prenom_ch, ad_ch, tel_ch, code_dip#)

        Diplôme (code_dip, nom_dip)

        Article (code_art, date_redaction_art, code_ch #, titre_art)

        Domaine ( code_DR, nom_DR, code_art#)

        Séminaire (num_sem, titre_sem, date_sem, lieu_sem, code_ch#)

        Participant ( num_participant, nom_participant, prenom_participant, code_organisme#)

        Organisme (code_organisme, om_organisme)

        Participation ( num_sem #, num_participant #)

   6-




                                         Base De Données 
Enseignant : Ismail wael                         4ème SI




                            Base De Données 
Enseignant : Ismail wael                                                                  4ème SI



                         Devoir de contrôle N°2
Matière   : Base de Données                                              Date     : 22/02/2008
Classe    : 4ème SI                                                      Durée     : 1h
Documents : Non autorisés                                                Nb. Pages : 2
                                                                         Barème     : 3+4+13


NB : La propreté et la clarté des réponses entrent dans l’évaluation de la copie !

        Lisez bien les questions !

Exercice N°1 :
Définir les termes suivants :

    -     Clé primaire.

    -     Contrainte d’intégrité.

    -     Mode assisté.

Exercice N°2 :
Pour chacune de ces propositions, donner la (ou les) bonne(s) réponse(s).

    1- Une clé primaire :

          a- Doit être définie par une seule colonne.

          b- Peut être une clé étrangère dans une autre table.

          c- Ne peut être que de type numérique.

    2- Une base de données

          d- Peut contenir une seule table.

          e- Doit contenir au minimum deux tables.

          f- Ne peut jamais être supprimé.

    3- Une base de données garde les informations d’une façon

          g- Volatile.

          h- Permanente.


                                        Base De Données 
Enseignant : Ismail wael                                                                  4ème SI


       i- Temporaire.

   4- Dans une base de données relationnelle, les données sont

       j- Représentées par des objets.

       k- Reliées par des liens de hiérarchie.

       l- Regroupées sous forme de tables.

Exercice N°3 :
Soit la description suivante :

Client (Numcli, Nomcli, Prenomcli, adresse, mail)

Produit (Numprod, désignation, prix_unit, qte_stock)

Vendeur (Idvendeur, Nomvendeur)

Commande (Numcom, Numcli#, Idvendeur#, date_com, qte, Numprod#)

   1- On suppose que Numcli, Numprod, Idvendeur et Numcom sont de type numérique.

       Le nom, le prénom et l’adresse des clients sont des informations obligatoires, le mail
       peut ne pas être indiqué.

       La valeur par défaut de la quantité en stock des produits est égale à 0.

       La quantité commandée (qte) doit être toujours ≥0.

    Ecrire les commandes SQL permettant de créer les tables : Client, Produit, Vendeur et
Commande.

   2- Rajouter à la table Client un nouveau champ nommé « tel » qui désigne le numéro de
      téléphone du client et qui contient au maximum 10 chiffres.

   3- Rajouter à la table Produit une contrainte consistant à vérifier que qte_stock≥0.

   4- Ecrire la commande SQL permettant de supprimer la propriété mail de la table Client.

   5- Ecrire la commande SQL permettant de désactiver la clé primaire de la table
      Commande.

   6- Ecrire la commande SQL permettant de réactiver la clé primaire de la table
      Commande.




                                     Base De Données 
Enseignant : Ismail wael                                                                        4ème SI


    7- On veut élargir la taille de la colonne Nomvendeur de la table Vendeur. Ecrire la
       commande SQL correspondante.

    8- On veut supprimer la table Commande de la BD, écrire la commande correspondante.



                                     Bon Travail 

                            Devoir de Synthèse N°2
Matière   : Base de Données                                                    Date     : 06/03/2008
Classe    : 4ème SI                                                            Durée     : 2h
Documents : Non autorisés                                                      Nb. Pages : 3
                                                                               Barème     : 3+2+7+8


NB : La propreté et la clarté des réponses entrent dans l’évaluation de la copie !

     Lisez bien les questions !

Exercice N°1 :
Pour chacune de ces propositions, donner le ou les bonne(s) réponse(s) :

    1-

         a- Une Base de données peut contenir une seule table.

         b- Une clé primaire est l’identificateur unique des n-uplets d’une table.

         c- Les données d’un seul champ peuvent avoir des propriétés différentes

         d- La clé étrangère a le même rôle que la clé primaire.

         e- On peut stocker des images dans une BD.

    2- Dans une BD on peut dire que :

         f- Les tables servent à stocker des données.

         g- Les tabes servent à stocker des données avec des règles de validation.

         h- Les tables doivent comporter au moins deux clés étrangères.

    3- La création d’une clé étrangère dans une table a pour objectif de :

         i- Différencier sans ambiguïté les lignes.

         j- Accélérer la recherche des données.




                                           Base De Données 
Enseignant : Ismail wael                                                                      4ème SI


        k- Aider à l’élaboration de liens entre les tables.

Exercice N°2 :
Définir les termes suivants :

  Base de Données               Clé étrangère                  Mode assisté            SGBD

Exercice N°3 :
       Après la construction de ses hôtels dans l’une des zones touristiques, le directeur désire
préparer une Base de Données pour faciliter la gestion de ses hôtels.

       Dans le cahier de charge, le directeur a donnée les informations suivantes :

       Un hôtel possède un nom (nom_hotel) et il est identifié par numéro qui est unique
        (num_hotel).

       Un hôtel appartient a un seul type (exemple : 5 étoiles…), chaque type est caractérisé
        par un code qui est unique (code_type) et un nom (nom_type).

       L’hôtel est composé de plusieurs chambres, chaque chambre a un numéro qui
        l’identifie (num_chambre).

       Les chambres d’un hôtel appartiennent chacune à une seule catégorie (luxe, confort,
        suites, tourisme…). Chaque catégorie a un code unique (code_cat), un Libellé (lib_cat),
        un tarif (tarif_cat) et un nombre de lits (nb_lits).

   1- Elaborer la liste des colonnes en remplissant le tableau suivant :

                                           Liste des colonnes
   Nom                             Type                                 Valeur   Valeur
  colonne        Description        De           taille   obligatoire    par     autorisé     Sujet
                                  Données                               défaut
…….            ……                …….             …..      ……            …..      ……         …….


   2- Elaborer la liste des tables en remplissant le tableau suivant:

                                          Liste des tables
            Nom Table                      Description                          Sujet
            ……………..                       ………………….                            …………………


   3- Donner la liste des liens entre les tables en remplissant le tableau suivant :




                                         Base De Données 
Enseignant : Ismail wael                                                                  4ème SI


       Table Mère                  Table fille            Clé primaire           Clé étrangère
       ……………..                    ………………….               …………………                 ………………



   4- Donner une description textuelle et graphique de la base de données.

Exercice N°4 :
Soit la description suivante :

Pilote (PlNum, PlNom, PlPrenom, ville, salaire)

Avion (AvNum, AvNom, capacité, localisation)

Vol (VolNum, PlNum#, AvNum#, VilleDep, VilleArr, heureDep, heureArr)

   1- Ecrire les commandes SQL permettant de créer les tables : Pilote, Avion et Vol. En
       tenant compte de ses informations :

          Colonne                       Type                  Taille              contrainte
          PlNum                        Entier                    3                Clé primaire
          PlNom                  Chaine de caractères           25                Non NULL
         PlPrenom                Chaine de caractères           25                Non NULL
            ville                Chaine de caractères           30
           salaire                    décimale                 (8,2)                   >0
          AvNum                        Entier                    5                Clé primaire
          AvNom                  Chaine de caractères                             Non NULL
          capacité                     Entier                   5                    >=100
        localisation             Chaine de caractères          30
          VolNum                       Entier                  10                 Clé primaire
         VilleDep                Chaine de caractères          30                 Non NULL
          VilleArr               Chaine de caractères          30                 Non NULL
         heureDep                     Décimale                (2,2)               Non NULL
         heureArr                     Décimale                (2,2)               Non NULL


   2- Rajouter à la table Pilote un nouveau champ nommé « adresse » qui contient au
      maximum 30 caractères.

   3- Rajouter à la table Vol une contrainte consistant à vérifier que l’heure de départ est
      inférieur à l’heure d’arrivé.

   4- Ecrire la commande SQL permettant de supprimer la propriété ville de la table Pilote.

   5- On veut réduire la taille de la colonne localisation de la table Avion. Ecrire la
      commande SQL correspondante.

   6- On veut supprimer la table Pilote de la BD, écrire la commande correspondante.




                                         Base De Données 
Enseignant : Ismail wael                                                                   4ème SI


     7- Est ce que l’action de suppression demandé dans la question précédente est autorisé ou
        non ? Expliquez.

                                      Bon Travail               


                Correction du Devoir de Synthèse N°2
Exercice n°3 :

1-
                                       Liste des colonnes
   Nom           Description Types de       Taille Obli    Valeur     Valeur               Sujet
  Colonne                      données               gato par défaut autorisé
                                                      ire
nom_hotel        Nom           Chaîne de 40          Non                                 hôtels
                 d’hôtel       caractères
num_hotel        Numéro        numérique 5           Oui                                 hôtels
                 d’hôtel
code_type        Code de       numérique 5           Oui                                 Types
                 type
nom_type         Nom de        Chaîne de 20          Non                                 Types
                 type          caractères
num_chambr       Numéro de numérique 3               Oui                                 Chambres
e                chambre
code_cat         Code de la    numérique 5           Oui                                 Catégories
                 catégorie
lib_cat          Libellé de la Chaîne de 20          Oui                                 Catégories
                 catégorie     caractères
tarif_cat        Tarif de la   numérique (8,2)       Non             >0                  Catégories
                 catégorie
nb_lits          Nombre de numérique 3               Non 1           >0                  Catégories
                 lits
2-
                                     Listes des tables
Nom table                       Description                    Sujet
Hôtel                           Ensemble d’hôtels              Hôtels
Chambre                         Ensemble de chambres           Chambres
Type                            Types d’hôtels                 Types
Catégorie                       Catégories des chambres        Catégories
3-
               Un hôtel appartient à un seul type .Un Type contient plusieurs hôtels.
                Hôtel : Fille et Type : Mère




                                      Base De Données 
Enseignant : Ismail wael                                                                  4ème SI


              L’hôtel est composé de plusieurs chambres. Une chambre appartient à un seul
               hôtel.
                Hôtel : Mère et Chambre : Fille
              Chambre appartient à une seule catégorie. Une catégorie contient plusieurs
               chambres.
                Catégorie : Mère et Chambre : fille
Table Mère                 Table fille             Clé primaire           Clé étrangère
Type                       Hôtel                   code_type              code_type
Hôtel                      Chambre                 num_hotel              num_hotel
Catégorie                  Chambre                 code_cat               code_cat
4-

Description textuelle :
Hôtel(num_hotel, nom_hotel, code_type#)

Type(code_type, nom_type)

Chambre(num_chambre, num_hotel#, code_cat# )

Catégorie(code_cat, lib_cat, tarif_cat, nb_lits)

Description graphique :




Exercice n°4 :

1-
CREATE TABLE Pilote (                              CREATE TABLE Avion (




                                          Base De Données 
Enseignant : Ismail wael                                                                        4ème SI


PLNum INT(3) PRIMARY KEY,                     AvNum INT(5) PRIMARY KEY,

PLNom VARCHAR(25) NOT NULL,                   AvNom VARCHAR(30) NOT NULL,

PLPrenom VARCHAR(25) NOT NULL,                Capacite INT(5) CHECK (Capacite>=100),

Ville VARCHAR(30),                            localisation VARCHAR(30));

salaire DECIMAL(8,2) CHECK (salaire >0)) ;



CREATE TABLE Vol (

VolNum INT(10) PRIMARY KEY,

PLNum INT(3),

AvNum INT(5),

VilleDep VARCHAR(30) NOT NULL,

VilleArr VARCHAR(30) NOT NULL,

heureDep DECIMAL(2,2) NOT NULL,

heureArr DECIMAL(2,2) NOT NULL,

CONSTRAINT clesec_vol_pilote FOREIGN
KEY(PLNum) REFERENCES Pilote(PLNum),

CONSTRAINT clesec_vol_avion FOREIGN
KEY(PLNum) REFERENCES Avion (AvNum)) ;



2-                                            5-

ALTER TABLE Pilote ADD COLUMN adresse         ALTER TABLE Avion MODIFY localisation(20) ;
VARCHAR(30) ;

3-                                            6-

ALTER TABLE Vol ADD CONSTRAINT CHECK          DROP TABLE Pilote;
(heureDep< heureArr) ;

4-                                            7- l’action de suppression de la table Pilote n’est pas
                                              autorisée car la table Pilote est en relation avec table
ALTER TABLE Pilote DROP COLUMN Ville ;        Vol.




                                     Base De Données 
Enseignant : Ismail wael                                                                  4ème SI



      REPUBLIQUE TUNISIENNE                       Section : Sciences de l’Informatiques
 MINISTERE DE L’EDUCATION ET DE LA
            FORMATION                                     Base de Données
                     ***
                                                            DATE : 13 Mai 2008
        Devoir de synthèse N° 3                        DUREE : 2 h – Coefficient : 1.5



NB : La propreté et la clarté des réponses entrent dans l’évaluation de la copie !

        Lisez bien les questions !

Exercice N°1 : (2pts)
Définir les termes suivants :

    -     Base de Données

    -     Clé primaire

    -     Contraintes d’intégrités

    -     SGBD

Exercice N°2 : (2pts)
Pour chacune de ces propositions, donner la (ou les) bonne(s) réponse(s).

    5- Une clé primaire :

          m- Doit être définie par une seule colonne.

          n- Peut être une clé étrangère dans une autre table.

          o- Ne peut être que de type numérique.

    6- La création d’une clé étrangère dans une table a pour objectif de :

          p- Différencier sans ambiguïté les lignes.

          q- Accélérer la recherche des données.

          r- Aider à l’élaboration de liens entre les tables.

    7- Une base de données garde les informations d’une façon

          s- Volatile.

          t- Permanente.


                                        Base De Données 
Enseignant : Ismail wael                                                                  4ème SI


       u- Temporaire.

   8- Dans une base de données relationnelle, les données sont

       v- Représentées par des objets.

       w- Reliées par des liens de hiérarchie.

       x- Regroupées sous forme de tables.

Exercice N°3 : (6pts)

Soit la description textuelle suivante :

Pilote (PLNUM, PLNOM, PLPRENOM, VILLE, SALAIRE)
Avion (AVNUM, AVNOM, CAPACITE, LOACLISATION)
Vol (VOLNUM, PLNUM#, AVNUM#, VILLE_DEP, VILLE_ARR, HEURE_DEP,
HEUR_ARR)

   1- Ecrire les commandes SQL permettant de:

       a- Donner la liste de tous les vols

       b- Donner nom, prénom et ville de tous les pilotes par ordre alphabétique des noms

       c- Donner le nombre total des vols

       d- Donner la capacité maximale et minimale des avions localisés à Paris

       e- Donner les noms et prénoms des pilotes qui ont un salaire entre 1500 et 3000

       f-   Donner les numéros de vols, villes départs et villes d’arrivées des vols dont le
            deuxième caractère de la ville de départ est ‘a ‘

       g- Donner la moyenne des capacités des avions localisés dans une ville commençant
            par la lettre ‘H’

       h- Donner pour chaque vol son numéro, la ville de départ, la ville d’arrivé, la durée
            (durée de vol=heure arrivé-heure départ) et le nom et prénom de son pilote

       i- Insérer l’enregistrement suivant à la table Pilote :
                                120 CIRIN Christophe Paris 5000


                                       Base De Données 
Enseignant : Ismail wael                                                                    4ème SI


        j- Supprimer les avions ayant une capacité inférieure à 100

Exercice N°4 : (10pts)

Enoncé :

      Pour assurer la gestion des ses filiales, la société a mis en œuvre une Base de Donnée.
      A chaque filiale est associé un ensemble de salariés. Un salarié appartient qu’à une
seule filiale.
      Chaque filiale a un nom (nom_filia), une adresse (adresse_filia) et un code (code_filia)
qui l’identifie.
      Chaque salarié possède un nom (nom_sal), prénom (prenom_sal), une adresse
(adresse_sal) et une matricule (matricule_sal) qui l’identifie.
      Un salarié à une seule fonction. Une fonction possède un libellé (lib_fonct) et un code
(code_fonct). Dans une fonction on trouve plusieurs salariés.
      Les salariés répartissent en catégories : un salarié appartient à une seule catégorie, dans
une catégorie on trouve plusieurs salariés.
       Une catégorie possède un libellé (lib_cat) et un code ( code_cat) qui l’identifie.
      Une filiale est affilé au prés de plusieurs organismes, à un organisme plusieurs filiales
lui sont affilés.
      Un organisme possède un nom (nom_org) et un code (code_org).
Questions :

    5- Elaborer la liste des colonnes en remplissant le tableau suivant :
                                         Liste des colonnes
   Nom                              Type                           Valeur     Valeur
  colonne           Description      De       taille obligatoire    par       autorisé       Sujet
                                   Données                         défaut
…….              ……               …….         …..     ……           …..        ……            …….
    6- Elaborer la liste des tables en remplissant le tableau suivant:
                                        Liste des tables
            Nom Table                    Description                    Sujet
            ……………..                     ………………….                      …………………
    7- Donner la liste des liens entre les tables en remplissant le tableau suivant :
        Table Mère                 Table fille              Clé primaire          Clé étrangère
        ……………..                   ………………….                 …………………                ………………


    8- Donner une description textuelle et graphique de la base de données.


                                        Base De Données 
Enseignant : Ismail wael                                                                                 4ème SI


                                                                                                Bon travail
                            Correction du Devoir de Synthèse N°3

Exercice N°1 :

Base de Données : Est un       Clé primaire : C’est       Contraintes d’intégrités :      SGBD : Système de
ensemble de données non        un identificateur unique   Ensemble de règles appliquées   Gestion de BD c’est
redondantes, structurées et    pour la table qui          à une colonne ou une table et   un logiciel qui permet
persistantes (non volatiles)   correspond à une           qui doivent être toujours       de créer, de gérer et
relatives à un ou plusieurs    colonne ou un              vérifié pour maintenir la       d’interroger
domaines du monde réel.        ensemble de colonnes.      cohérence de la BD.             efficacement une BD.


Exercice N°2 :


1:b               2 : e+f           3:h               4:l


Exercice N°3 :

    a-    SELECT * FROM Vol ;

    b- SELECT PLNOM, PLPRENOM, VILLE FROM Pilote ORDER BY PLNOM;

    c- SELECT COUNT(VOLNUM) FROM Vol ;

    d- SELECT MAX(CAPACITE), MIN(CAPACITE) FROM Avion WHERE
         LOCALISATION=’Paris’ ;

    e- SELECT PLNOM, PLPRENOM FROM Pilote WHERE SALAIRE BETWEEN
         1500 AND 3000;

    f-   SELECT VOLNUM, VILLE_DEP, VILLE_ARR FROM Vol WHERE
         VILLE_DEP LIKE ‘_a% ‘ ;

    g- SELECT AVG(CAPACITE) FROM Avion WHERE LOCALISATION LIKE ‘H
         %’ ;

    h- SELECT VOLNUM, VILLE_DEP, VILLE_ARR, HEUR_ARR- HEUR_DEP
         ‘Duree’, PLNOM, PLPRENOM FROM Vol, Pilote WHERE Pilote.PLNUM=
         Vol.PLNUM ;

    i-   INSERT INTO Pilote values (120,’CIRIN’, ‘Christophe’,’Paris’,5000) ;

    j-   DELETE FROM Avion WHERE CAPACITE<100;




                                             Base De Données 
Enseignant : Ismail wael                                                                     4ème SI


Exercice N°4 :

   1.

                                              Liste des colonnes
 Nom colonne                       Type                                Valeur   Valeur
                  Descriptio        De          taille   obligatoire    par     autorisé       Sujet
                      n           Données                              défaut
  nom_filia       Nom filiale    Chaîne de       30          O                               FILIALE
                                 caractères
 adresse_filia       Adresse     Chaîne de       30          O                               FILIALE
                      filiale    caractères
  code_filia      Code filiale   Numérique       5           O                               FILIALE
   nom_sal             Nom       Chaîne de       20          O                               SALARIE
                      salarié    caractères
 prenom_sal        Prénom du     Chaîne de       25          O                               SALARIE
                      salarié    caractères
 adresse_sal       Adresse du    Chaîne de       30          O                               SALARIE
                      salarié    caractères
matricule_sal       Matricule    Numérique        5          O                               SALARIE
                    du salarié
   lib_fonct       Libellé de    Chaîne de       20          O                              FONCTION
                   la fonction   caractères
 code_fonct        Code de la    Numérique        5          O                              FONCTION
                     fonction
    lib_cat        Libellé de    Chaîne de       20          O                              CATEGORIE
                  la catégorie   caractères
   code_cat        Code de la    Numérique        5          O                              CATEGORIE
                    catégorie
  nom_org            Nom de      Chaîne de       15          O                              ORGANISME
                  l’organisme    caractères
  code_org           Code de     Numérique        5          O                              ORGANISME
                  l’organisme


   2.

                                                Liste des tables
                 Nom Table                        Description                       Sujet
           FILIALE                   Ensemble de filiales                  Filiales
           SALARIE                   Ensemble de salariés                  Salariés
           FONCTION                  Ensemble de fonctions                 Fonctions
           CATEGORIE                 Ensemble de catégories                Catégories
           ORGANISME                 Ensemble d’organismes                 Organismes
           Filia_Orga                Regroupe les appartenances des        Filia_orga
                                     filiales aux organismes




   3.



                                       Base De Données 
Enseignant : Ismail wael                                                              4ème SI


         Table Mère              Table fille             Clé primaire       Clé étrangère
          FILIALE                SALARIE                     code_filia      code_filia
         FONCTION                SALARIE                     code_fonct      code_fonct
        CATEGORIE                SALARIE                      code_cat        code_cat
          FILIALE                Filia_orga                  code_filia      code_filia
        ORGANISME                Filia_Orga                   code_Org        code_org


   4.

FILIALE (code_filia, nom_filia, adresse_filia )

FONCTION (code_fonct, lib_fonct)

CATEGORIE (code_cat, lib_cat)

SALARIE (matricule_sal, nom_sal, prenom_sal, adresse_sal, code_filia#, code_fonct#,
code_cat # )

ORGANISME (code_org, nom_org)

Filia_Orga (code_filia#, code_org# )




                                        Base De Données 

Weitere ähnliche Inhalte

Was ist angesagt?

Bac blanc base de données
Bac blanc base de donnéesBac blanc base de données
Bac blanc base de donnéeslycee
 
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs ATPENSC-Group
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfslimyaich3
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexitéSana Aroussi
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLwebreaker
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siNarûtö Bàl'Sèm
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonAbdoulaye Dieng
 
Intégration des données avec Talend ETL
Intégration des données avec Talend ETLIntégration des données avec Talend ETL
Intégration des données avec Talend ETLLilia Sfaxi
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdfsalah fenni
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesLilia Sfaxi
 
Merise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMerise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMajid CHADAD
 
Fonctions chaine
Fonctions chaineFonctions chaine
Fonctions chaineAfef Ilahi
 
exercices Corrigées du merise
exercices Corrigées du  meriseexercices Corrigées du  merise
exercices Corrigées du meriseYassine Badri
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfsalah fenni
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
Cours bases de données partie 1 Prof. Khalifa MANSOURI
Cours bases de données partie 1 Prof. Khalifa MANSOURICours bases de données partie 1 Prof. Khalifa MANSOURI
Cours bases de données partie 1 Prof. Khalifa MANSOURIMansouri Khalifa
 

Was ist angesagt? (20)

Bac blanc base de données
Bac blanc base de donnéesBac blanc base de données
Bac blanc base de données
 
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
TP 2 ACCESS
TP 2 ACCESSTP 2 ACCESS
TP 2 ACCESS
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
 
Cours php
Cours phpCours php
Cours php
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
Intégration des données avec Talend ETL
Intégration des données avec Talend ETLIntégration des données avec Talend ETL
Intégration des données avec Talend ETL
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de Classes
 
Merise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMerise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigés
 
Fonctions chaine
Fonctions chaineFonctions chaine
Fonctions chaine
 
Uml classes Par les exemples
Uml classes Par les exemplesUml classes Par les exemples
Uml classes Par les exemples
 
exercices Corrigées du merise
exercices Corrigées du  meriseexercices Corrigées du  merise
exercices Corrigées du merise
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdf
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
Cours bases de données partie 1 Prof. Khalifa MANSOURI
Cours bases de données partie 1 Prof. Khalifa MANSOURICours bases de données partie 1 Prof. Khalifa MANSOURI
Cours bases de données partie 1 Prof. Khalifa MANSOURI
 

Andere mochten auch

Andere mochten auch (20)

Séries de-révision-4-eco
Séries de-révision-4-ecoSéries de-révision-4-eco
Séries de-révision-4-eco
 
éNoncés+corrections bac2008
éNoncés+corrections bac2008éNoncés+corrections bac2008
éNoncés+corrections bac2008
 
Formation HTML pour Bac Informatique
Formation HTML pour Bac InformatiqueFormation HTML pour Bac Informatique
Formation HTML pour Bac Informatique
 
TP 1 ACCESS
TP 1 ACCESSTP 1 ACCESS
TP 1 ACCESS
 
exercices base de données - sql
exercices  base de données - sql exercices  base de données - sql
exercices base de données - sql
 
Mes devoirs 4 si
Mes devoirs 4 siMes devoirs 4 si
Mes devoirs 4 si
 
Les structures en c++ (1)
Les structures en c++ (1)Les structures en c++ (1)
Les structures en c++ (1)
 
Ch4 internet
Ch4   internetCh4   internet
Ch4 internet
 
Polycop td access 2007 facturation
Polycop td access 2007  facturationPolycop td access 2007  facturation
Polycop td access 2007 facturation
 
Dc2 4 si-tic
Dc2 4 si-ticDc2 4 si-tic
Dc2 4 si-tic
 
Projet2-4si-tic
Projet2-4si-ticProjet2-4si-tic
Projet2-4si-tic
 
Projet3-4si-tic
Projet3-4si-ticProjet3-4si-tic
Projet3-4si-tic
 
Dc2 4 si-tic-2009-2010
Dc2 4 si-tic-2009-2010Dc2 4 si-tic-2009-2010
Dc2 4 si-tic-2009-2010
 
Projet4-4si-tic
Projet4-4si-ticProjet4-4si-tic
Projet4-4si-tic
 
Tp4 - PHP
Tp4 - PHPTp4 - PHP
Tp4 - PHP
 
T P
T PT P
T P
 
éNoncés+corrections bac2009
éNoncés+corrections bac2009éNoncés+corrections bac2009
éNoncés+corrections bac2009
 
Cours access 2007 semestre_1
Cours access 2007 semestre_1Cours access 2007 semestre_1
Cours access 2007 semestre_1
 
Exposé pfe
Exposé pfeExposé pfe
Exposé pfe
 
TP 3 ACCESS
TP 3 ACCESSTP 3 ACCESS
TP 3 ACCESS
 

Ähnlich wie Base de-donn-es-bac-si-95ae18

Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de donnéesAbdoulaye Dieng
 
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBSGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBRomain Cambien
 
Base de Données Chapitre I .pptx
Base de Données Chapitre I .pptxBase de Données Chapitre I .pptx
Base de Données Chapitre I .pptxAbdoulayeTraore48
 
Database/ Bases de données
Database/ Bases de donnéesDatabase/ Bases de données
Database/ Bases de donnéeszied kallel
 
La persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateLa persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateYouness Boukouchi
 
Diaporamas-Bases de données.pdf
Diaporamas-Bases de données.pdfDiaporamas-Bases de données.pdf
Diaporamas-Bases de données.pdfEST-UMI de Meknès
 
Ado.net vs jpa
Ado.net vs jpaAdo.net vs jpa
Ado.net vs jpaNetways
 
A Brief History of Database Management (SQL, NoSQL, NewSQL)
A Brief History of Database Management (SQL, NoSQL, NewSQL)A Brief History of Database Management (SQL, NoSQL, NewSQL)
A Brief History of Database Management (SQL, NoSQL, NewSQL)Abdelkader OUARED
 
INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3PGambette
 
Chapitre III BDR.pptx
Chapitre III BDR.pptxChapitre III BDR.pptx
Chapitre III BDR.pptxsalah fenni
 

Ähnlich wie Base de-donn-es-bac-si-95ae18 (20)

Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de données
 
BDRO.pdf
BDRO.pdfBDRO.pdf
BDRO.pdf
 
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBSGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
 
Cours BDD.pptx
Cours BDD.pptxCours BDD.pptx
Cours BDD.pptx
 
Base de Données Chapitre I .pptx
Base de Données Chapitre I .pptxBase de Données Chapitre I .pptx
Base de Données Chapitre I .pptx
 
Database/ Bases de données
Database/ Bases de donnéesDatabase/ Bases de données
Database/ Bases de données
 
Cours1 2 gdmm
Cours1 2 gdmmCours1 2 gdmm
Cours1 2 gdmm
 
Cours_BD_M1-EAI-2023.pdf
Cours_BD_M1-EAI-2023.pdfCours_BD_M1-EAI-2023.pdf
Cours_BD_M1-EAI-2023.pdf
 
La persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateLa persistance des données : ORM et hibernate
La persistance des données : ORM et hibernate
 
Base de données.pdf
Base de données.pdfBase de données.pdf
Base de données.pdf
 
Big data
Big dataBig data
Big data
 
coursaccess.pdf
coursaccess.pdfcoursaccess.pdf
coursaccess.pdf
 
Diaporamas-Bases de données.pdf
Diaporamas-Bases de données.pdfDiaporamas-Bases de données.pdf
Diaporamas-Bases de données.pdf
 
09coursaccess
09coursaccess09coursaccess
09coursaccess
 
Ado.net vs jpa
Ado.net vs jpaAdo.net vs jpa
Ado.net vs jpa
 
merise (1).pdf
merise (1).pdfmerise (1).pdf
merise (1).pdf
 
A Brief History of Database Management (SQL, NoSQL, NewSQL)
A Brief History of Database Management (SQL, NoSQL, NewSQL)A Brief History of Database Management (SQL, NoSQL, NewSQL)
A Brief History of Database Management (SQL, NoSQL, NewSQL)
 
PHP #6 : mysql
PHP #6 : mysqlPHP #6 : mysql
PHP #6 : mysql
 
INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3
 
Chapitre III BDR.pptx
Chapitre III BDR.pptxChapitre III BDR.pptx
Chapitre III BDR.pptx
 

Mehr von Wael Ismail

Devoir de synthèse N°1
Devoir de synthèse N°1 Devoir de synthèse N°1
Devoir de synthèse N°1 Wael Ismail
 
Devoir de contrôle N°1 Système et réseaux 2011-2012
Devoir de contrôle N°1 Système et réseaux 2011-2012Devoir de contrôle N°1 Système et réseaux 2011-2012
Devoir de contrôle N°1 Système et réseaux 2011-2012Wael Ismail
 
devoir de contrôle N° 1 TIC 2011-2012
devoir de contrôle N° 1 TIC 2011-2012devoir de contrôle N° 1 TIC 2011-2012
devoir de contrôle N° 1 TIC 2011-2012Wael Ismail
 
Ch3 eléments de présentation
Ch3   eléments de présentationCh3   eléments de présentation
Ch3 eléments de présentationWael Ismail
 
Ch1 traitement de texte
Ch1   traitement de texteCh1   traitement de texte
Ch1 traitement de texteWael Ismail
 
Les algorithmes d’approximation
Les algorithmes d’approximationLes algorithmes d’approximation
Les algorithmes d’approximationWael Ismail
 
Presentation algo-irem-2x2 (1)
Presentation algo-irem-2x2 (1)Presentation algo-irem-2x2 (1)
Presentation algo-irem-2x2 (1)Wael Ismail
 
Les structures en c++
Les structures en c++Les structures en c++
Les structures en c++Wael Ismail
 
Cours intro05 06
Cours intro05 06Cours intro05 06
Cours intro05 06Wael Ismail
 

Mehr von Wael Ismail (20)

Dc23 si
Dc23 siDc23 si
Dc23 si
 
Dc13 si
Dc13 siDc13 si
Dc13 si
 
Ds1
Ds1Ds1
Ds1
 
Dc23 si
Dc23 siDc23 si
Dc23 si
 
Dc2cc
Dc2ccDc2cc
Dc2cc
 
Dc2
Dc2Dc2
Dc2
 
Devoir de synthèse N°1
Devoir de synthèse N°1 Devoir de synthèse N°1
Devoir de synthèse N°1
 
Devoir de contrôle N°1 Système et réseaux 2011-2012
Devoir de contrôle N°1 Système et réseaux 2011-2012Devoir de contrôle N°1 Système et réseaux 2011-2012
Devoir de contrôle N°1 Système et réseaux 2011-2012
 
devoir de contrôle N° 1 TIC 2011-2012
devoir de contrôle N° 1 TIC 2011-2012devoir de contrôle N° 1 TIC 2011-2012
devoir de contrôle N° 1 TIC 2011-2012
 
Ch3 eléments de présentation
Ch3   eléments de présentationCh3   eléments de présentation
Ch3 eléments de présentation
 
Ch2 tableur
Ch2  tableurCh2  tableur
Ch2 tableur
 
Ch1 traitement de texte
Ch1   traitement de texteCh1   traitement de texte
Ch1 traitement de texte
 
Les algorithmes d’approximation
Les algorithmes d’approximationLes algorithmes d’approximation
Les algorithmes d’approximation
 
Presentation algo-irem-2x2 (1)
Presentation algo-irem-2x2 (1)Presentation algo-irem-2x2 (1)
Presentation algo-irem-2x2 (1)
 
Les structures en c++
Les structures en c++Les structures en c++
Les structures en c++
 
L2006
L2006L2006
L2006
 
Jmc habile
Jmc habileJmc habile
Jmc habile
 
Cours intro05 06
Cours intro05 06Cours intro05 06
Cours intro05 06
 
Cours1 1
Cours1 1Cours1 1
Cours1 1
 
C66
C66C66
C66
 

Base de-donn-es-bac-si-95ae18

  • 1. Base de Données Classe : 4ème SI Année scolaire : 2010-2011 Résumé Devoirs de contrôles et de synthèses corrigés *****Bonne révision*****
  • 2. Enseignant : Ismail wael 4ème SI Résumé Base de Données  Définitions : Une donnée : est une information Une information : c’est une Entité : c’est la représentation d’un qui peut effectuer des traitements donnée regroupée avec d’autres objet du monde réel ayant une liées à un contexte donnée. existence propre. (Exp : Etudiant, Livre, classe…) Propriété (attribut) : représente les Association : c’est un outil Base de Données : est un caractéristiques les propriétés de permettant de représenter les liens ensemble de données non l’entité. entre les entités. redondantes, structurées et persistantes (non volatiles) relatives à un ou plusieurs domaines du monde réel. Intérêts de l’utilisation d’une Intégrité de données : Ensemble Modèles de BD : BD : de règles appelées contraintes -Hiérarchique -Centralisation d’intégrité qui décrivent les -Réseau -Indépendance entre données et propriétés qui doivent être vérifié -Modèle Relationnel : le principe programme par les données pour être consiste à représenter aussi bien les -Intégrité de données enregistrées. Elle permet d’assurer objets que les liens à l’aide d’une -Partage de données (concurrence la cohérence des données. structure appelée table. d’accès) Système de Gestion de Base de Les fonctions de bases d’un Table : une table est un ensemble Données(SGBD) : c’est un logiciel SGBD : de données relatives à un même qui permet de créer, de gérer et -Définition des données sujet(ou entité) et structurées sous d’interroger efficacement une BD. -Manipulation des données forme de tableau. (Pour dialoguer avec le SGBD il -Intégrité des données Colonne(ou champ ou propriété) : faut utiliser le langage -la gestion des accès concurrents Dans une table une colonne est une SQL(Structured Query Language)) -la confidentialité propriété élémentaire de l’objet -la sécurité de fonctionnement décrit par cette table. Ligne (n-uplet ou enregistrement) : Une ligne correspond à un objet représenté par la table. Clé primaire (identifiant=primary Clé étrangère =référence Contraintes d’intégrité : key) : c’est un identificateur unique =contrainte d’intégrité référentielle Ensemble de règles appliquées à pour la table qui correspond à une = foreign key une colonne ou une table et qui colonne ou un ensemble de Un lien entre deux tables A et B est doit être toujours vérifiée. colonnes. représenté par l’ajout dans la table B d’une nouvelle colonne (les principales contraintes correspondant à la clé primaire de d’intégrité sont : contraintes de la table A. cette nouvelle colonne domaines, contraintes d’intégrité est appelée Clé étrangère. de table et contrainte d’intégrité référentielle) Démarche de détermination de la structure d’une BD : - Délimiter le domaine - Déterminer les colonnes  Base De Données 
  • 3. Enseignant : Ismail wael 4ème SI Liste des colonnes Nom Colonne Description Types de données Taille Obligatoire Valeur par défaut Valeur autorisé Sujet ….. ………. …… ….. …….. ……… …… …….. - Déterminer les tables Liste des tables Nom table Description Sujet - Affecter les colonnes aux tables - Déterminer les clés primaires - Déterminer les liens entre les tables - Analyser et affiner la structure de la BD  Base De Données 
  • 4. Enseignant : Ismail wael 4ème SI Mode assisté : permet de créer les Formulaire : permet aux les Etats : ils permettent aux éléments de la BD à travers des utilisateurs d’interagir avec utilisateurs d’obtenir des données assistants graphiques l’application à travers des champs afin de les imprimer ou les stocker de type texte, liste..plusieurs sous une forme quelconque opérations offertes par le formulaire: constatation, insertion, modification et suppression des données Mécanismes de sécurité : -L’authentification -Les droits et les privilèges -Les logs ou traces -Tolérance aux pannes -Sauvegarde et restauration -Mécanisme transactionnels  NB : Exemples pour les relations : • Relation un à plusieurs Un élève appartient à une seule classe. Dans une classe on trouve plusieurs élèves ELEVE ∞ 1 CLASSE  Donc CLASSE table mère et ELEVE table fille. Comme CLASSE est mère alors sa clé primaire migre à la table fille qui est ELEVE et sera une clé étrangère Description textuelle : ELEVE (num_inscription, nom, prenom, date_naissance, adresse, id_classe#) CLASSE(id_classe, nom_classe) Description graphique : • Relation plusieurs à plusieurs Un athlète peut participer à plusieurs courses. Dans une course on trouve plusieurs athlètes. Dans ce cas la relation participer se transforme en un table identifié par deux clés primaires qui sont les clés primaires de la table athlète et la table Courses( les deux clés seront primaires et étrangères au même temps dans la nouvelle table) Description textuelle : athlete (anum,anom,aage)  Base De Données 
  • 5. Enseignant : Ismail wael 4ème SI participation (cnum#,anum #) course (cnum,cnom) Description graphique :  Création des tables en mode commande (SQL) Exemple : CREATE TABLE Film( On va créer les tables décrites par la id_fim INT(3) PRIMARY KEY, description textuelle ci-dessous, sachant que le titre VARCHAR(10) NOT NULL,); titre et la date fin d’abonnement sont obligatoires et que le nombre maximal CREATE TABLE Client( d’emprunt doit être ≥0. id_client INT(3) PRIMARY KEY , Film(id_film, titre) nom VARCHAR(10) NOT NULL , Client(id_client, nom, date_fin_abonnement, date_fin_abonnement date NOT NULL , nbmaxemprunt) nbmaxemprunt CHECK(nbmaxemprunt >=0)) ; Cassette(id_cassette, id_film #) Emprunt (id_client #, id_cassette #, CREATE TABLE Cassette ( date_emprunt) id_cassette INT(3) ON DELETE CASCADE, id_client INT(3) ON DELETE CASCADE, date_emprunt date, CONSTRAINT pk PRIMARY KEY(id_cassette, id_client), CONSTRAINT fk_cas FOREIGN KEY(id_cassette) REFERENCES Cassette , CONSTRAINT fk_cl FOREIGN KEY(id_client) REFERENCES Client ) ;  Modifier la structure d’une table en mode commande (SQL) Rôle Commande Exemple Ajout d’une ALTER TABLE nom_table ADD COLUMN ALTER TABLE client ADD colonne à la table définition_colonne ; COLUMN email VARCHAR(80); Ajout d’une ALTER TABLE nom_table ADD CONSTRAINT ALTER TABLE article ADD contrainte à la définition_contrainte ; CONSTRAINT PRIMARY KEY  Base De Données 
  • 6. Enseignant : Ismail wael 4ème SI table (code_article); Modification des ALTER TABLE nom_table Modify On veut élargir la taille de la colonne propriétés d’une définition_colonne ; « email » : colonne ALTER TABLE client MODIFY email VARCHAR(100); Suppression ALTER TABLE nom_table DROP COLUMN ALTER TABLE client DROP d’une colonne de nom_colonne ; COLUMN email; la table Suppression ALTER TABLE nom_table DROP CONSTRAINT Supprimer la clé primaire de la table d’une contrainte nom_contrainte ; article : de la table ALTER TABLE article DROP CONSTRAINTE PRIMARY KEY; Désactiver une ALTER TABLE nom_table DISABLE ALTER TABLE article DISABLE contrainte nom_contraint ; CONSTRAINT PRIMARY KEY; Réactiver une ALTER TABLE nom_table ENABLE ALTER TABLE article ENABLE contrainte nom_contrainte ; CONSTRAINT PRIMARY KEY;  Suppression d’une table en mode commande (SQL) DROP TABLE nom_table; Manipulation des données en mode commande  Mise à jour de données Insertion des lignes Suppression des lignes Modification des lignes INSERT INTO DELETE FROM UPDATE nom_table SET nom_table(liste_nomcolonne) nom_table nom_colonne1=expression1, VALUES(liste_valeurs) ; WHERE condition ; nom_colonne2=expression2,… Exp : Exp : WHERE condition ; INSERT INTO Athlete DELETE FROM Athlete Exp : (num,nom,age) VALUES WHERE age>50 ; UPDATE Athlete SET age=32 (123, ‘GUAMOUDI’,45) ; WHERE num=100 ;  Recherche des données (requêtes) • Recherche de colonne à partir d’une table (projection) SELECT liste_nom_colonne From nom_table ; SELECT * from nom_table ; SELECT DISTINCT(nom_colonne) From nom_table ;  Base De Données 
  • 7. Enseignant : Ismail wael 4ème SI RQ : Par défaut les colonnes de la table résultat portent les mêmes noms que ceux de la table de départ ; il est possible de donner aux colonnes de la table résultat des noms différents de ceux de la table d’origine. On doit dans ce cas donner un entête de colonne juste après son nom donné par le paramètre liste_nom_colonne. Cette entête est appelé Alias. • Recherche de ligne à partir d’une table : sélection SELECT */liste_nom_colonne FROM nom_table WHERE condition ; Dans la condition on peut utiliser : Les opérateurs de comparaison (=,>, <,>=, <=, et <>), l’opérateur BETWEEN, l’opérateur IN, l’opérateur IS NULL, l’opérateur IS NOT NULL, l’opérateur LIKE et les opérateurs logiques AND, OR et NOT. • Recherche de données à partir du plusieurs tables : jointure On parle de jointure si la recherche est relative à deux tables ayant au moins une colonne en commun.la condition de jointure doit porter sur ces colonnes communes. . • Recherche de données avec tri SELECT liste_nom_colonne FROM nom table ORDER BY nom_colonne ASC/DESC ; ASC : Dans l’ordre ascendant. DESC : Dans l’ordre descendant. Par défaut le tri est ascendant. • Utilisation des fonctions de calculs dans les opération de recherche (fonctions Agrégat) COU Compter le nombre de lignes du résultat obtenu par NT la commande SELECT SU Faire la somme des valeurs d’une colonne dont le M type est numérique MIN Déterminer la valeur minimale d’une colonne MAX Déterminer la valeur maximale d’une colonne AV Déterminer la moyenne des valeurs numériques G d’une colonne Exercice: Soit la description textuelle suivante : Client(numcli, nom, prenom, adresse,code_post, ville, tel) Produit(numprod, designation, prix_unit, qte_stock) Commande(numcom, numcli#, idvendeur#, date_com, qte, numprod#) Vendeur(idvendeur, nomvendeur, qualite ,salaire)  Base De Données 
  • 8. Enseignant : Ismail wael 4ème SI 1- Donner la liste des prix TTC des produit, sachant que prix TTc= prix unitaire +0.1 *prix unitaire. SELECT prix_unit+prix_unit*0.1 ‘Prix TTC’ FROM Produit ; 2- Donner la liste des noms et prénoms des clients SELECT nom, prenom FROM Client ; 3- Donner la liste des clients habitant à Tunis SELECT * FROM Client WHERE ville=’Tunis’ ; 4- Donner les numéros, noms et prénoms de tous les clients. Au moment de l’affichage les entêtes des colonnes doivent être respectivement ‘ Numéro du client’, ‘Nom du client’ et ‘Prénom du client’ SELECT numcli ‘Numéro du client’, nom ‘Nom du client’, prenom ‘Prénom du client’ FROM client ; 5- Donner la liste des commandes qui ont des quantités au moins égale à trois SELECT * FROM Commande WHERE qte>=3 ; 6- Donner les désignations des produits qui ont un prix comprix entre 1500 et 3500 SELECT designation FROM Produit WHERE prix_unit BETWEEN 1500 AND 3500 ; 7- Donner les numéros des commandes qui ont des quantités indéterminées SELECT numcom FROM Commande WHERE qte IS NULL ; 8- Donner La liste des noms et prénoms des clients qui habitent une ville dont Le nom se termine par AA. SELECT nom, prenom FROM Client WHERE ville LIKE ’%AA’ ; 9- Donner la liste des clients dont les villes commencent par Menzel. SELECT * FROM Client WHERE ville LIKE ‘Menzel%’ ; 10- Donner les prénoms des clients dont le nom est Ghdir, Hbibi, Aloui, Malki ou Hilali. SELECT prenom FROM Client WHERE nom IN (‘Ghdir’,’ Hbibi’,’ Aloui’,’ Malki’,’ Hilali’) ; 11- Donner les numéros et les prénoms des clients dont la 3ème lettre de leurs prénoms est h. SELECT numcli, prenom FROM Client WHERE prenom LIKE ‘__h%’; 12- Donner La moyenne des prix des produits SELECT AVG(prix_unit) FROM Produit ; 13- Donner le nombre total des commandes  Base De Données 
  • 9. Enseignant : Ismail wael 4ème SI SELECT COUNT(numcom) FROM Commande ; 14- Donner le nombre des clients ayant passé une commande SELECT COUNT(DISTINCT(numcli)) FROM Commande ; 15- Donner la liste des numéros des commandes avec les noms des clients. (Requête de jointure) SELECT numcom, nomcli FROM Commande, Client WHERE Commande.numcli=Client.numcli ; Ou bien(en utilisant les alias) SELECT numcom, nomcli FROM Commande C, Client CL WHERE C.numcli=CL.numcli ; 16- Donner les numéros, les noms et prénoms des clients qui habitent à Mhamdia et dont leur prénom commence par A. SELECT numcli,nom, prenom WHERE ville=’Mhamdia’ AND prenom LIKE ‘A%’ ; 17- Donner la liste des clients ordonnées par ordre alphabétique des noms ; SELECT * FROM Client ORDER BY nom ; 18- Supprimer les produits qui ont une quantité de stock égale à zéro DELETE FROM Produit WHERE qte_stock=0 ; 19- Augmenter Le salaire du vendeur identifié par 125 en lui ajoutant 1500. UPDATE Vendeur SET salaire=salaire+1500 WHERE idvendeur=125 ; 20- Afficher la liste des vendeurs dont le nom commence par S et dont la qualité est déterminée, ordonnée dans l’ordre décroissant des salaires. SELECT * FROM Vendeur WHERE nomvendeur LIKE ‘S%’ AND qualite IS NOT NULL ORDER BY salaire DESC ; Bonne révision et très Bon travail pour le concours…  Base De Données 
  • 10. Enseignant : Ismail wael 4ème SI Devoir de contrôle N°1 Matière : Base de Données Date : 14/11/2007 Classe : 4ème SI Durée : 2h Documents : Non autorisés Nb. Pages : 2 Barème : 20 Exercice N°1(3 pts) Définir les termes suivants: - Base de Données - Association - SGBD - Modèle Réseau - LMD - Table Exercice N°2(5 pts) 1- Citer deux inconvénients de l’organisation en papiers et de l’organisation en fichiers. 2- Donner un schéma clair représentant l’architecture ANSI/SPARC. 3- Répondre par vrai ou faux et justifier votre réponse. a- Une base de données garde les informations d’une façon volatile. b- Une clé primaire est l’identificateur unique pour une table. c- Si une entité A se réfère à une entité B ceci signifie que A est une entité mère et B est une entité fille. d- Une colonne est une occurrence du sujet représenté par la table. e- Le SGBD assure la redondance des données. f- Le SGBD peut restaurer la base de données suite à une panne. g- Une contrainte de domaine vérifie l’existence d’une clé primaire dans chaque table. h- L’architecture ANSI/SPARC définit trois niveaux d’abstraction pour un SGBD.  Base De Données 
  • 11. Enseignant : Ismail wael 4ème SI Exercice N°3 (2 pts) Un Système de Gestion de base de donnés offre un ensemble de fonctions pour gérer une base de données. Citer quatre fonctions et les expliquer brièvement. Exercice N°4(10 pts) On s’intéresse à la gestion des propriétaires d’automobile. Un propriétaire a un numéro (num_prop) et un nom (nom_prop). Une automobile est identifiée par son numéro d’immatriculation (num_mat), elle possède un nom (nom_auto) et une couleur. Chaque automobile appartient à une marque. Une marque est présentée par num_marque et nom_marque. Un propriétaire peut posséder plusieurs automobiles. 1- Dégager les entités. 2- Pour chaque entité donner ses attributs et préciser la clé primaire. 3- Préciser les liens entre les entités et indiquer à chaque fois l’entité Mère et l’entité fille. 4- Représenter la structure de la Base de Données sous forme textuelle. 5- Représenter la structure de la Base de Données sous forme graphique.  Bon travail  Base De Données 
  • 12. Enseignant : Ismail wael 4ème SI Correction du Devoir de contrôle N° 1 Exercice N°1 : - Base de Données : une BD est un ensemble de données structurées, enregistrées sur un support physique de façon permanente et accessibles de façon sélective par plusieurs utilisateurs. - Une association : c’est un lien entre entités. - SGBD : Système de Gestion de Bases de données est un logiciel permettant de gérer, créer et manipuler une BD. - Modèle Réseau : Une BD réseau se présente comme un graphe. Tous les types des liens sont possibles (n-m). - LMD : Langage de Manipulation de données utilisé par le SGBD pour manipuler les bases de données. - Table : Ensemble de données relatives à un même sujet, elle est formée d’un ensemble de lignes (valeurs) et un ensemble de colonnes (attributs). Exercice N°2 : 1- L’organisation en papier possède plusieurs inconvénients, parmi les quels on cite : difficulté d’accès et contrainte de volume… L’organisation en fichier présente un ensemble de limites, parmi les quels on cite : manque de sécurité et lourdeur d’accès… 2- L’architecture ANSI/SPARC définit trois niveaux d’abstraction pour un SGBD : niveau externe, niveau conceptuel et niveau interne. Le schéma ci dessous représente cette architecture :  Base De Données 
  • 13. Enseignant : Ismail wael 4ème SI Schéma externe Schéma Schéma externe Niveau externe Externe Niveau Schéma Conceptuel Conceptuel Mon d e Réel Niveau Schéma interne Interne BD 3- SGBD a- Faux. Une BD garde les données d’une façon permanente (permanente ≠ volatile). b- Vrai. c- Faux. Si une entité A se réfère à une entité B ceci signifie que B est une entité mère et A entité fille. d- Faux. Une ligne est l’occurrence du sujet représenté par la table. e- Faux. Le SGBD assure la cohérence des données. f- Vrai. g- Faux. Une contrainte du domaine permet d’assurer si une colonne est obligatoire ou non et les valeurs autorisées qui peuvent être prise h- Vrai. Exercice N°3 : Un SGBD offre un ensemble de fonctions pour gérer une base de données. Parmi ces fonctions on cite les suivantes : - Définition des données : le SGBD offre la possibilité de définir et décrire les données. Pour la définition des données le langage LDD est utilisé. - Manipulation des données : le SGBD doit offrir à l’utilisateur la possibilité de manipuler des données (insertion, suppression, consultation..).LMD est le langage utilisé pour manipuler des données. - Sécurité de fonctionnement : à la suite d’une panne le SGBD offre la possibilité de restaurer la BD. Exercice N°4 : 1- Les entités sont : Automobile, Propriétaire et Marque.  Base De Données 
  • 14. Enseignant : Ismail wael 4ème SI 2- Entités Attributs Clés primaires Automobile num_mat, couleur, num_mat nom_auto Propriétaire num_prop, nom_prop num_prop Marque num_marque, nom_marque num_marque 3- - Propriétaire Posséder Automobile Lien  Dans cette relation propriétaire peut posséder plusieurs automobiles et une automobile à un seul propriétaire donc : Propriétaire est une entité mère et Automobile une entité fille. - Automobile Appartenir Marque Lien  Dans cette relation Automobile appartient à une seule marque et une marque peut contenir plusieurs automobiles donc : Marque est l’entité mère et Automobile une entité fille. 4- Automobile (num_mat, nom_auto, couleur , num_prop #, num_marquer #) Propriétaire (num_prop, nom_prop) Marque (num_marque, nom_marque) 5- Automobile Propriétaire 1 Marque 1 num_mat nom_auto num_marque num_prop ∞ couleur num_prop nom_marque nom_prop ∞ num_marque  Base De Données 
  • 15. Enseignant : Ismail wael 4ème SI Devoir de Synthèse N°1 Matière : Base de Données Date : 06/12/2007 Classe : 4ème SI Durée : 2h Documents : Non autorisés Nb. Pages : 3 Barème : 20 NB : La propreté et la clarté des réponses entrent dans l’évaluation de la copie ! Lisez bien les questions ! Exercice N°1 : (2pts) Définir les termes suivants : - Une donnée. - Une base de données. - n-uplet. - contrainte d’intégrité. Exercice N°2 : (5pts) 1- Citer deux intérêts de l’utilisation d’une base de données. 2- Donner les trois types d’utilisateurs d’une base de données. 3- Arranger les phrases suivantes pour obtenir la démarche ordonnée de la structuration d’une base de données. A B C D E F G Déterminer Analyser la Déterminer Délimiter Affecter les Déterminer Déterminer les clés structure de les tables le/ les colonnes les liens entre les primaires la BD domaines aux tables les tables colonnes  Base De Données 
  • 16. 4- Répondre par vrai ou faux aux phrases suivantes (si faux alors les rectifier) a- Une BD est un ensemble de données redondantes, structurées et persistantes relatives à un ou plusieurs domines du monde réel. b- Pour communiquer avec un SGBD on utilise le langage SQL. c- Le niveau interne de l’architecture ANSI/SPARC définit les vues de l’utilisateur. d- Une clé primaire est un identificateur de la table qui correspond toujours à une seule colonne. e- Le processus de verrouillage des données est utilisé par le SGBD pour gérer les accès concurrents. Exercice N°3 : (2pts) Transformer la présentation graphique ci dessous en présentation textuelle. Exercice N° 4: (11 pts) Enoncé : Nous voulons concevoir une BD pour gérer un groupe de recherche. Le groupe est constitué de chercheurs dont on connaît pour chacun, le nom (nom-ch), le prénom (prenom-ch), le diplôme (dip-ch), l’adresse (ad-ch) et le téléphone (tel-ch). Chaque chercheur possède un diplôme. Un diplôme est présenté par son nom (nom-dip) et par un code (code-dip). Les chercheurs rédigent des articles caractérisés chacun par un code (code-art), un titre (titre-article) et une date de rédaction. Un article peut être rédigé par un seul chercheur.
  • 17. Enseignant : Ismail wael 4ème SI Un article appartient à plusieurs domaines de recherches, et dans un domaine de recherche on peut trouver un et un seul article. Chaque domaine de recherche possède un code de domaine (code-DR) et un nom (nom-DR). Le groupe de recherche anime également des séminaires. Pour chaque séminaire on détient le titre (titre-sem), le lieu (lieu-sem), la date (date-sem) et on l’identifie par un numéro (num-sem). Un séminaire peut avoir un seul responsable qui est un chercheur, et un chercheur peut être un responsable sur plusieurs séminaires. Différents participants participent au séminaire. Chaque participant possède les informations suivantes : numéro (num-participant), nom, prénom et l’organisme où il travaille. Un organisme est désigné par un nom (nom-organisme) et un code qui l’identifie. Pour chaque participation on enregistre le numéro de participant et le numéro de séminaire. Questions : 1- Elaborer la liste des colonnes. 2- Donner la liste des tables. 3- Donner la liste des liens entre les tables. 4- Préciser les clés primaires des tables. 5- Donner une description textuelle de la base de données. 6- Donner une description graphique de la base de données. Bon travail   Base De Données 
  • 18. Enseignant : Ismail wael 4ème SI Correction du Devoir de Synthèse N°1 Exercice N° 4 1- Liste des colonnes Nom Description Type taille obligatoi Valeur Valeur Sujet colonne De re par autorisé Données défaut ……. …… ……. ….. …… ….. …… ……. 2- Liste des tables Nom Table Description Sujet Chercheur L’ensemble des chercheurs Chercheurs Diplôme Ensemble des diplômes Diplômes Article Ensemble des articles Articles Domaine Domaines de recherches Domaines Séminaire Ensemble des séminaires Séminaires Participant Ensemble des participant Participants Organisation Ensemble des organismes Organisations Participation Les participations des Participations participants dans les séminaires 3- Mère Fille Diplôme Chercheur Chercheur Article Article Domaine Chercheur Séminaire Organisme Participant Participant Participation Séminaire Participation 4- Table Clé primaire Chercheur Code_ch  Base De Données 
  • 19. Enseignant : Ismail wael 4ème SI Diplôme Code_dip Article Code_art Domaine Code_DR Séminaire Num_sem Participant Num_participant Organisme Code_organisme Participation Num_sem, num_paticipant 5- Chercheur (code_ch, nom_ch, prenom_ch, ad_ch, tel_ch, code_dip#) Diplôme (code_dip, nom_dip) Article (code_art, date_redaction_art, code_ch #, titre_art) Domaine ( code_DR, nom_DR, code_art#) Séminaire (num_sem, titre_sem, date_sem, lieu_sem, code_ch#) Participant ( num_participant, nom_participant, prenom_participant, code_organisme#) Organisme (code_organisme, om_organisme) Participation ( num_sem #, num_participant #) 6-  Base De Données 
  • 20. Enseignant : Ismail wael 4ème SI  Base De Données 
  • 21. Enseignant : Ismail wael 4ème SI Devoir de contrôle N°2 Matière : Base de Données Date : 22/02/2008 Classe : 4ème SI Durée : 1h Documents : Non autorisés Nb. Pages : 2 Barème : 3+4+13 NB : La propreté et la clarté des réponses entrent dans l’évaluation de la copie ! Lisez bien les questions ! Exercice N°1 : Définir les termes suivants : - Clé primaire. - Contrainte d’intégrité. - Mode assisté. Exercice N°2 : Pour chacune de ces propositions, donner la (ou les) bonne(s) réponse(s). 1- Une clé primaire : a- Doit être définie par une seule colonne. b- Peut être une clé étrangère dans une autre table. c- Ne peut être que de type numérique. 2- Une base de données d- Peut contenir une seule table. e- Doit contenir au minimum deux tables. f- Ne peut jamais être supprimé. 3- Une base de données garde les informations d’une façon g- Volatile. h- Permanente.  Base De Données 
  • 22. Enseignant : Ismail wael 4ème SI i- Temporaire. 4- Dans une base de données relationnelle, les données sont j- Représentées par des objets. k- Reliées par des liens de hiérarchie. l- Regroupées sous forme de tables. Exercice N°3 : Soit la description suivante : Client (Numcli, Nomcli, Prenomcli, adresse, mail) Produit (Numprod, désignation, prix_unit, qte_stock) Vendeur (Idvendeur, Nomvendeur) Commande (Numcom, Numcli#, Idvendeur#, date_com, qte, Numprod#) 1- On suppose que Numcli, Numprod, Idvendeur et Numcom sont de type numérique. Le nom, le prénom et l’adresse des clients sont des informations obligatoires, le mail peut ne pas être indiqué. La valeur par défaut de la quantité en stock des produits est égale à 0. La quantité commandée (qte) doit être toujours ≥0. Ecrire les commandes SQL permettant de créer les tables : Client, Produit, Vendeur et Commande. 2- Rajouter à la table Client un nouveau champ nommé « tel » qui désigne le numéro de téléphone du client et qui contient au maximum 10 chiffres. 3- Rajouter à la table Produit une contrainte consistant à vérifier que qte_stock≥0. 4- Ecrire la commande SQL permettant de supprimer la propriété mail de la table Client. 5- Ecrire la commande SQL permettant de désactiver la clé primaire de la table Commande. 6- Ecrire la commande SQL permettant de réactiver la clé primaire de la table Commande.  Base De Données 
  • 23. Enseignant : Ismail wael 4ème SI 7- On veut élargir la taille de la colonne Nomvendeur de la table Vendeur. Ecrire la commande SQL correspondante. 8- On veut supprimer la table Commande de la BD, écrire la commande correspondante.  Bon Travail  Devoir de Synthèse N°2 Matière : Base de Données Date : 06/03/2008 Classe : 4ème SI Durée : 2h Documents : Non autorisés Nb. Pages : 3 Barème : 3+2+7+8 NB : La propreté et la clarté des réponses entrent dans l’évaluation de la copie ! Lisez bien les questions ! Exercice N°1 : Pour chacune de ces propositions, donner le ou les bonne(s) réponse(s) : 1- a- Une Base de données peut contenir une seule table. b- Une clé primaire est l’identificateur unique des n-uplets d’une table. c- Les données d’un seul champ peuvent avoir des propriétés différentes d- La clé étrangère a le même rôle que la clé primaire. e- On peut stocker des images dans une BD. 2- Dans une BD on peut dire que : f- Les tables servent à stocker des données. g- Les tabes servent à stocker des données avec des règles de validation. h- Les tables doivent comporter au moins deux clés étrangères. 3- La création d’une clé étrangère dans une table a pour objectif de : i- Différencier sans ambiguïté les lignes. j- Accélérer la recherche des données.  Base De Données 
  • 24. Enseignant : Ismail wael 4ème SI k- Aider à l’élaboration de liens entre les tables. Exercice N°2 : Définir les termes suivants : Base de Données Clé étrangère Mode assisté SGBD Exercice N°3 : Après la construction de ses hôtels dans l’une des zones touristiques, le directeur désire préparer une Base de Données pour faciliter la gestion de ses hôtels. Dans le cahier de charge, le directeur a donnée les informations suivantes :  Un hôtel possède un nom (nom_hotel) et il est identifié par numéro qui est unique (num_hotel).  Un hôtel appartient a un seul type (exemple : 5 étoiles…), chaque type est caractérisé par un code qui est unique (code_type) et un nom (nom_type).  L’hôtel est composé de plusieurs chambres, chaque chambre a un numéro qui l’identifie (num_chambre).  Les chambres d’un hôtel appartiennent chacune à une seule catégorie (luxe, confort, suites, tourisme…). Chaque catégorie a un code unique (code_cat), un Libellé (lib_cat), un tarif (tarif_cat) et un nombre de lits (nb_lits). 1- Elaborer la liste des colonnes en remplissant le tableau suivant : Liste des colonnes Nom Type Valeur Valeur colonne Description De taille obligatoire par autorisé Sujet Données défaut ……. …… ……. ….. …… ….. …… ……. 2- Elaborer la liste des tables en remplissant le tableau suivant: Liste des tables Nom Table Description Sujet …………….. …………………. ………………… 3- Donner la liste des liens entre les tables en remplissant le tableau suivant :  Base De Données 
  • 25. Enseignant : Ismail wael 4ème SI Table Mère Table fille Clé primaire Clé étrangère …………….. …………………. ………………… ……………… 4- Donner une description textuelle et graphique de la base de données. Exercice N°4 : Soit la description suivante : Pilote (PlNum, PlNom, PlPrenom, ville, salaire) Avion (AvNum, AvNom, capacité, localisation) Vol (VolNum, PlNum#, AvNum#, VilleDep, VilleArr, heureDep, heureArr) 1- Ecrire les commandes SQL permettant de créer les tables : Pilote, Avion et Vol. En tenant compte de ses informations : Colonne Type Taille contrainte PlNum Entier 3 Clé primaire PlNom Chaine de caractères 25 Non NULL PlPrenom Chaine de caractères 25 Non NULL ville Chaine de caractères 30 salaire décimale (8,2) >0 AvNum Entier 5 Clé primaire AvNom Chaine de caractères Non NULL capacité Entier 5 >=100 localisation Chaine de caractères 30 VolNum Entier 10 Clé primaire VilleDep Chaine de caractères 30 Non NULL VilleArr Chaine de caractères 30 Non NULL heureDep Décimale (2,2) Non NULL heureArr Décimale (2,2) Non NULL 2- Rajouter à la table Pilote un nouveau champ nommé « adresse » qui contient au maximum 30 caractères. 3- Rajouter à la table Vol une contrainte consistant à vérifier que l’heure de départ est inférieur à l’heure d’arrivé. 4- Ecrire la commande SQL permettant de supprimer la propriété ville de la table Pilote. 5- On veut réduire la taille de la colonne localisation de la table Avion. Ecrire la commande SQL correspondante. 6- On veut supprimer la table Pilote de la BD, écrire la commande correspondante.  Base De Données 
  • 26. Enseignant : Ismail wael 4ème SI 7- Est ce que l’action de suppression demandé dans la question précédente est autorisé ou non ? Expliquez.  Bon Travail  Correction du Devoir de Synthèse N°2 Exercice n°3 : 1- Liste des colonnes Nom Description Types de Taille Obli Valeur Valeur Sujet Colonne données gato par défaut autorisé ire nom_hotel Nom Chaîne de 40 Non hôtels d’hôtel caractères num_hotel Numéro numérique 5 Oui hôtels d’hôtel code_type Code de numérique 5 Oui Types type nom_type Nom de Chaîne de 20 Non Types type caractères num_chambr Numéro de numérique 3 Oui Chambres e chambre code_cat Code de la numérique 5 Oui Catégories catégorie lib_cat Libellé de la Chaîne de 20 Oui Catégories catégorie caractères tarif_cat Tarif de la numérique (8,2) Non >0 Catégories catégorie nb_lits Nombre de numérique 3 Non 1 >0 Catégories lits 2- Listes des tables Nom table Description Sujet Hôtel Ensemble d’hôtels Hôtels Chambre Ensemble de chambres Chambres Type Types d’hôtels Types Catégorie Catégories des chambres Catégories 3-  Un hôtel appartient à un seul type .Un Type contient plusieurs hôtels. Hôtel : Fille et Type : Mère  Base De Données 
  • 27. Enseignant : Ismail wael 4ème SI  L’hôtel est composé de plusieurs chambres. Une chambre appartient à un seul hôtel.  Hôtel : Mère et Chambre : Fille  Chambre appartient à une seule catégorie. Une catégorie contient plusieurs chambres.  Catégorie : Mère et Chambre : fille Table Mère Table fille Clé primaire Clé étrangère Type Hôtel code_type code_type Hôtel Chambre num_hotel num_hotel Catégorie Chambre code_cat code_cat 4- Description textuelle : Hôtel(num_hotel, nom_hotel, code_type#) Type(code_type, nom_type) Chambre(num_chambre, num_hotel#, code_cat# ) Catégorie(code_cat, lib_cat, tarif_cat, nb_lits) Description graphique : Exercice n°4 : 1- CREATE TABLE Pilote ( CREATE TABLE Avion (  Base De Données 
  • 28. Enseignant : Ismail wael 4ème SI PLNum INT(3) PRIMARY KEY, AvNum INT(5) PRIMARY KEY, PLNom VARCHAR(25) NOT NULL, AvNom VARCHAR(30) NOT NULL, PLPrenom VARCHAR(25) NOT NULL, Capacite INT(5) CHECK (Capacite>=100), Ville VARCHAR(30), localisation VARCHAR(30)); salaire DECIMAL(8,2) CHECK (salaire >0)) ; CREATE TABLE Vol ( VolNum INT(10) PRIMARY KEY, PLNum INT(3), AvNum INT(5), VilleDep VARCHAR(30) NOT NULL, VilleArr VARCHAR(30) NOT NULL, heureDep DECIMAL(2,2) NOT NULL, heureArr DECIMAL(2,2) NOT NULL, CONSTRAINT clesec_vol_pilote FOREIGN KEY(PLNum) REFERENCES Pilote(PLNum), CONSTRAINT clesec_vol_avion FOREIGN KEY(PLNum) REFERENCES Avion (AvNum)) ; 2- 5- ALTER TABLE Pilote ADD COLUMN adresse ALTER TABLE Avion MODIFY localisation(20) ; VARCHAR(30) ; 3- 6- ALTER TABLE Vol ADD CONSTRAINT CHECK DROP TABLE Pilote; (heureDep< heureArr) ; 4- 7- l’action de suppression de la table Pilote n’est pas autorisée car la table Pilote est en relation avec table ALTER TABLE Pilote DROP COLUMN Ville ; Vol.  Base De Données 
  • 29. Enseignant : Ismail wael 4ème SI REPUBLIQUE TUNISIENNE Section : Sciences de l’Informatiques MINISTERE DE L’EDUCATION ET DE LA FORMATION Base de Données *** DATE : 13 Mai 2008 Devoir de synthèse N° 3 DUREE : 2 h – Coefficient : 1.5 NB : La propreté et la clarté des réponses entrent dans l’évaluation de la copie ! Lisez bien les questions ! Exercice N°1 : (2pts) Définir les termes suivants : - Base de Données - Clé primaire - Contraintes d’intégrités - SGBD Exercice N°2 : (2pts) Pour chacune de ces propositions, donner la (ou les) bonne(s) réponse(s). 5- Une clé primaire : m- Doit être définie par une seule colonne. n- Peut être une clé étrangère dans une autre table. o- Ne peut être que de type numérique. 6- La création d’une clé étrangère dans une table a pour objectif de : p- Différencier sans ambiguïté les lignes. q- Accélérer la recherche des données. r- Aider à l’élaboration de liens entre les tables. 7- Une base de données garde les informations d’une façon s- Volatile. t- Permanente.  Base De Données 
  • 30. Enseignant : Ismail wael 4ème SI u- Temporaire. 8- Dans une base de données relationnelle, les données sont v- Représentées par des objets. w- Reliées par des liens de hiérarchie. x- Regroupées sous forme de tables. Exercice N°3 : (6pts) Soit la description textuelle suivante : Pilote (PLNUM, PLNOM, PLPRENOM, VILLE, SALAIRE) Avion (AVNUM, AVNOM, CAPACITE, LOACLISATION) Vol (VOLNUM, PLNUM#, AVNUM#, VILLE_DEP, VILLE_ARR, HEURE_DEP, HEUR_ARR) 1- Ecrire les commandes SQL permettant de: a- Donner la liste de tous les vols b- Donner nom, prénom et ville de tous les pilotes par ordre alphabétique des noms c- Donner le nombre total des vols d- Donner la capacité maximale et minimale des avions localisés à Paris e- Donner les noms et prénoms des pilotes qui ont un salaire entre 1500 et 3000 f- Donner les numéros de vols, villes départs et villes d’arrivées des vols dont le deuxième caractère de la ville de départ est ‘a ‘ g- Donner la moyenne des capacités des avions localisés dans une ville commençant par la lettre ‘H’ h- Donner pour chaque vol son numéro, la ville de départ, la ville d’arrivé, la durée (durée de vol=heure arrivé-heure départ) et le nom et prénom de son pilote i- Insérer l’enregistrement suivant à la table Pilote : 120 CIRIN Christophe Paris 5000  Base De Données 
  • 31. Enseignant : Ismail wael 4ème SI j- Supprimer les avions ayant une capacité inférieure à 100 Exercice N°4 : (10pts) Enoncé : Pour assurer la gestion des ses filiales, la société a mis en œuvre une Base de Donnée. A chaque filiale est associé un ensemble de salariés. Un salarié appartient qu’à une seule filiale. Chaque filiale a un nom (nom_filia), une adresse (adresse_filia) et un code (code_filia) qui l’identifie. Chaque salarié possède un nom (nom_sal), prénom (prenom_sal), une adresse (adresse_sal) et une matricule (matricule_sal) qui l’identifie. Un salarié à une seule fonction. Une fonction possède un libellé (lib_fonct) et un code (code_fonct). Dans une fonction on trouve plusieurs salariés. Les salariés répartissent en catégories : un salarié appartient à une seule catégorie, dans une catégorie on trouve plusieurs salariés. Une catégorie possède un libellé (lib_cat) et un code ( code_cat) qui l’identifie. Une filiale est affilé au prés de plusieurs organismes, à un organisme plusieurs filiales lui sont affilés. Un organisme possède un nom (nom_org) et un code (code_org). Questions : 5- Elaborer la liste des colonnes en remplissant le tableau suivant : Liste des colonnes Nom Type Valeur Valeur colonne Description De taille obligatoire par autorisé Sujet Données défaut ……. …… ……. ….. …… ….. …… ……. 6- Elaborer la liste des tables en remplissant le tableau suivant: Liste des tables Nom Table Description Sujet …………….. …………………. ………………… 7- Donner la liste des liens entre les tables en remplissant le tableau suivant : Table Mère Table fille Clé primaire Clé étrangère …………….. …………………. ………………… ……………… 8- Donner une description textuelle et graphique de la base de données.  Base De Données 
  • 32. Enseignant : Ismail wael 4ème SI Bon travail Correction du Devoir de Synthèse N°3 Exercice N°1 : Base de Données : Est un Clé primaire : C’est Contraintes d’intégrités : SGBD : Système de ensemble de données non un identificateur unique Ensemble de règles appliquées Gestion de BD c’est redondantes, structurées et pour la table qui à une colonne ou une table et un logiciel qui permet persistantes (non volatiles) correspond à une qui doivent être toujours de créer, de gérer et relatives à un ou plusieurs colonne ou un vérifié pour maintenir la d’interroger domaines du monde réel. ensemble de colonnes. cohérence de la BD. efficacement une BD. Exercice N°2 : 1:b 2 : e+f 3:h 4:l Exercice N°3 : a- SELECT * FROM Vol ; b- SELECT PLNOM, PLPRENOM, VILLE FROM Pilote ORDER BY PLNOM; c- SELECT COUNT(VOLNUM) FROM Vol ; d- SELECT MAX(CAPACITE), MIN(CAPACITE) FROM Avion WHERE LOCALISATION=’Paris’ ; e- SELECT PLNOM, PLPRENOM FROM Pilote WHERE SALAIRE BETWEEN 1500 AND 3000; f- SELECT VOLNUM, VILLE_DEP, VILLE_ARR FROM Vol WHERE VILLE_DEP LIKE ‘_a% ‘ ; g- SELECT AVG(CAPACITE) FROM Avion WHERE LOCALISATION LIKE ‘H %’ ; h- SELECT VOLNUM, VILLE_DEP, VILLE_ARR, HEUR_ARR- HEUR_DEP ‘Duree’, PLNOM, PLPRENOM FROM Vol, Pilote WHERE Pilote.PLNUM= Vol.PLNUM ; i- INSERT INTO Pilote values (120,’CIRIN’, ‘Christophe’,’Paris’,5000) ; j- DELETE FROM Avion WHERE CAPACITE<100;  Base De Données 
  • 33. Enseignant : Ismail wael 4ème SI Exercice N°4 : 1. Liste des colonnes Nom colonne Type Valeur Valeur Descriptio De taille obligatoire par autorisé Sujet n Données défaut nom_filia Nom filiale Chaîne de 30 O FILIALE caractères adresse_filia Adresse Chaîne de 30 O FILIALE filiale caractères code_filia Code filiale Numérique 5 O FILIALE nom_sal Nom Chaîne de 20 O SALARIE salarié caractères prenom_sal Prénom du Chaîne de 25 O SALARIE salarié caractères adresse_sal Adresse du Chaîne de 30 O SALARIE salarié caractères matricule_sal Matricule Numérique 5 O SALARIE du salarié lib_fonct Libellé de Chaîne de 20 O FONCTION la fonction caractères code_fonct Code de la Numérique 5 O FONCTION fonction lib_cat Libellé de Chaîne de 20 O CATEGORIE la catégorie caractères code_cat Code de la Numérique 5 O CATEGORIE catégorie nom_org Nom de Chaîne de 15 O ORGANISME l’organisme caractères code_org Code de Numérique 5 O ORGANISME l’organisme 2. Liste des tables Nom Table Description Sujet FILIALE Ensemble de filiales Filiales SALARIE Ensemble de salariés Salariés FONCTION Ensemble de fonctions Fonctions CATEGORIE Ensemble de catégories Catégories ORGANISME Ensemble d’organismes Organismes Filia_Orga Regroupe les appartenances des Filia_orga filiales aux organismes 3.  Base De Données 
  • 34. Enseignant : Ismail wael 4ème SI Table Mère Table fille Clé primaire Clé étrangère FILIALE SALARIE code_filia code_filia FONCTION SALARIE code_fonct code_fonct CATEGORIE SALARIE code_cat code_cat FILIALE Filia_orga code_filia code_filia ORGANISME Filia_Orga code_Org code_org 4. FILIALE (code_filia, nom_filia, adresse_filia ) FONCTION (code_fonct, lib_fonct) CATEGORIE (code_cat, lib_cat) SALARIE (matricule_sal, nom_sal, prenom_sal, adresse_sal, code_filia#, code_fonct#, code_cat # ) ORGANISME (code_org, nom_org) Filia_Orga (code_filia#, code_org# )  Base De Données 