Vous êtes sur la page 1sur 18

Universit Cadi AYYAD Ecole Nationale des Sciences Appliques Safi Dpartement Gnie Informatique et Rseaux

3me Anne (Tronc commun)


Par :

Dr. Sad ECH-CHADI


(Enseignant-Chercheur et Responsable Module BDA lENSA-Safi)

A.U : 2006 / 2007 http://gir.ensas.googlepages.com

Table des matires


TP 1 : Conception 3 1.1 Interprtation de schmas entit/association
1.1.1 Centre mdical 1.1.2 Tournoi de tennis 1.1.3 Un journal

1.2 Modle relationnel (rappel cycle A) 1.3 Rtro-conception TP 2 : Algbre Relationnelle 2.1 Slection et Projection 2.2 Jointure relationnelle 2.3 Auto-Jointure et Renommage TP 3 : Algbre -SQL : Employs -Dpartements 3.1 Schma
3.1.1 Relation des Employs (EMP) 3.1.2 Relation des Dpartements (DEPT)

3.2 Oprations Algbriques 3.3 Requtes


3.3.1 Interrogation dune seule Relation 3.3.2 Jointures 3.3.3 Valeurs Nulles,Tris,Groupes,Agrgats et Expressions

TP 4 : Algbre -SQL : Appartements -coles 4.1 Schma 4.2 Requtes


Travaux Pratiques Conception MERISE et BD Said ECH-CHADI

4.3 Mise jour 4.4 Contraintes TP 5 : SQL -Algbre : Cinmas -Films 5.1 Schma 5.2 Requtes
5.2.1 5.2.2 5.2.3 5.2.4 Interrogation dune seule relation Jointures Diffrence Division

Travaux Pratiques

Conception MERISE et BD

Said ECH-CHADI

TP 1

Conception
1.1 Interprtation de schmas entit/association
1.1.1 Centre mdical On vous donne un schmas E/A (gure 1.1) reprsentant des visites dans un centre mdical. Rpondez aux questions suivantes en fonction des caractristiques de ce schma (i.e. : indiquez si la situation dcrite est reprsentable, indpendamment de sa vraissemblance).

FIG. 1.1 Centre mdical

Exercice A : Un patient peut-il effectuer plusieurs visites ? Exercice B : Un mdecin peut-il recevoir plusieurs patients dans la mme consultation ? Exercice C : Peut-on prescrire plusieurs mdicaments dans une mme consultation ? Exercice D : Deux mdecins diffrents peuvent-ils prescrire le mme mdicament ?

Travaux Pratiques

Conception MERISE et BD

Said ECH-CHADI

1.1.2 Tournoi de tennis Le second schma (gure 1.2) reprsente des rencontres dans un tournoi de tennis.

FIG. 1.2 Tournoi de tennis

Exercice A : Peut-on jouer des matchs de double ? Exercice B : Un joueur peut-il gagner un match sans y avoir particip ? Exercice C : Peut-il y avoir deux matchs sur le mme terrain la mme heure ? 1.1.3 Un journal Pour vous entraner : voici le schma E/A (gure 1.3 du systme dinformation (trs simpli) dun quotidien. Exercice A : Un article peut-il tre rdig par plusieurs journalistes ? Exercice B : Un article peut-il tre publi plusieurs fois dans le mme numro ? Exercice C : Peut-il y avoir plusieurs articles sur le mme sujet dans le mme numro ?

1.2 Modle relationnel (rappel cycle A)


Exercice A : Pour chacun des schmas E/A donns prcdemment, construire le schma relationnel correspondant. Indiquez prcisment :

Travaux Pratiques

Conception MERISE et BD

Said ECH-CHADI

FIG. 1.3 Journal

La cl primaire. Les cls trangres. Les contraintes ventuelles.

Exercice B : Donnez la commande Create Table pour les tables Consultation et M atch.

1.3 Rtro-conception
On trouve dans un SGBD relationnel les relations ci-dessous. Les cls primaires sont

Travaux Pratiques

Conception MERISE et BD

Said ECH-CHADI

soulignes, mais pas les cls trangres. IMMEUBLE (Adresse, Nb-tages, Date-construction, Nom-Grant) APPART (Adresse, Numro, Type, Supercie, Etage) PERSONNE (Nom, Age, Code-Profession) OCCUPANT (Adresse, Numro-Appart, Nom-Occupant, Date-arrive, Date-dpart) PROPRIT (Adresse, Nom-Propritaire, Quote-part) TYPE-APPART (Code, Libell) PROFESSION (Code, Libell)

Exercice A : Identier les cls trangres dans chaque relation. Exercice B : Reconstruire le schma E/A. Exercice C : Existe-t-il des contraintes dintgrit ? Lesquelles ? Exercice D : Certaines donnes du schma relationnel rsultent-elles doptimisation ?

Travaux Pratiques

Conception MERISE et BD

Said ECH-CHADI

TP 2

Algbre Relationelle
2.1 Slection et Projection
Soit la relation

Exercice A : Donnez les rsultats des requtes suivantes : Requte 1 : Age=30 (PERSONNE) (slection) Requte 2 : Age (PERSONNE) (projection) Requte 3 : Age (N om= Serge (PERSONNE)) (projection, slection)

Exercice B : Exprimez les requtes suivantes en algbre relationnelle : Requte 1 : les personnes (nom, ge, ville) qui habitent Paris. Requte 2 : les personnes (nom, ge, ville) qui ont moins de 30 ans. Requte 3 : les villes dans la relation PERSONNE. Requte 4 : les noms des personnes habitant Paris.

2.2 Jointure relationnelle


Exercice A : Soient R et S les relations

Travaux Pratiques

Conception MERISE et BD

Said ECH-CHADI

o les attributs A, B, C sont dnis sur les domaines des lettres de lalphabet. Donnez le rsultat des requtes suivantes :

Requte 1 : R

S (jointure naturelle).

Requte 2 : A=C (B/B (R) S) (qui-jointure). Requte 3 : R= R(R S) (semijoin).

Exercice B : Est-ce que les quations suivantes sont vraies ?

A,B(R B,C(R

S) = R S) = S

(2.1) (2.2)

2.3 Auto-Jointure et Renommage


Soit T(A,B) une relation o A et B prennent leurs valeurs dans le mme domaine. Supposons quon veuille construire une relation TS contenant les seuls n-uplets <a,b>tels que <b,a>est galement un n-uplet de T. Par exemple :

Exprimez cette opration par une expression de lalgbre relationnelle.

Travaux Pratiques

Conception MERISE et BD

Said ECH-CHADI

TP 3

Algbre -SQL : Employs -Dpartements


3.1 Schma
Les exemples suivants sont tirs des sources de la socit Oracle. 3.1.1 Relation des Employs (EMP) EMP(ENO, ENOM, PROF, DATEEMB, SAL, COMM, DNO) ENO : numro demploy, cl ENOM : nom de lemploy PROF : profession (directeur nest pas une profession) DATEEMB : date dembauche SAL : salaire COMM : commission (un employ peut ne pas avoir de commission) DNO : numro de dpartement auquel appartient lemploy 3.1.2 Relation des Dpartements (DEPT) DEPT(DNO, DNOM, DIR, VILLE) DNO : numro de dpartement, cl DNOM : nom du dpartement DIR : directeur du dpartement VILLE : lieu du dpartement (ville)

3.2 Oprations Algbriques


Soit lexemple suivant :

Travaux Pratiques

Conception MERISE et BD

Said ECH-CHADI

10

Exercice A : Calculer sal<5000 (EMP). Exercice B : Calculer EMPbis = ENO/ENO (ENO,COMM (EMP)) Exercice C : Calculer ENO,SAL(EMP)
SAL=COMM (EMPbis)

Exercice D : Exprimer par une phrase ce quon obtient en valuant les requtes prcdentes. Exercice E : Quelle est lexpression de lalgbre relationnelle qui permettrait dobtenir le nom et la profession de lemploy de numro 10. Exercice F : Idem pour la liste des noms des employs qui travaillent New York. Exercice G : Idem pour avoir le nom du directeur du dpartement Commercial.

3.3 Requtes
Exprimer les requtes Q1 Q18 laide de lalgbre relationnelle. Exprimer en SQL les requtes Q1 Q24. 3.3.1 Interrogation dune seule Relation Requte 1 : Donner tous les n-uplets de DEPT. Requte 2 : Donner tous les n-uplets de EMP. Requte 3 : Donner les noms et les salaires des employs. Requte 4 : Donner les professions des employs (aprs limination des duplicats). Requte 5 : Donner les dates dembauche des techniciens. 3.3.2 Jointures Requte 6 : Faire le produit cartsien entre EMP et DEPT.
Travaux Pratiques Conception MERISE et BD Said ECH-CHADI

11

Requte 7 : Donner les noms des employs et les noms de leur dpartement. Requte 8 : Donner les numros des employs travaillant BOSTON. Requte 9 : Donner les noms des directeurs des dpartements 1 et 3. Attention : directeur nest pas une profession ! Requte 10 : Donner les noms des employs travaillant dans un dpartement avec au moins un ingnieur. Requte 11 : Donner le salaire et le nom des employs gagnant plus quun (au moins un) ingnieur. Requte 12 : Donner le salaire et le nom des employs gagnant plus que tous les ingnieurs. Requte 13 : Donner les noms des employs et les noms de leurs directeurs. Requte 14 : Trouver les noms des employs ayant le mme directeur que JIM. Attention : un employ peut tre directeur de plusieurs dpartements. Requte 15 : Donner le nom et la date dembauche des employs embauchs avant leur directeur ; donner galement le nom et la date dembauche de leur directeur. Requte 16 : Donner les dpartements qui nont pas demploys. Requte 17 : Donner les noms des employs du dpartement COMMERCIAL embauchs le mme jour quun employ du dpartement PRODUCTION. Requte 18 : Donner les noms des employs embauchs avant tous les employs du dpartement 1. Requte 19 : Donner les noms des employs ayant le mme emploi et le mme directeur que JOE.

3.3.3 Valeurs Nulles, Tris, Groupes, Agrgats et Expressions Requte 20 : Donner la liste des employs ayant une commission. Requte 21 : Donner les noms, emplois et salaires des employs par emploi croissant et, pour chaque emploi, par salaire dcroissant.

Travaux Pratiques

Conception MERISE et BD

Said ECH-CHADI

12

Requte 22 : Donner le salaire moyen des employs. Requte 23 : Donner le nombre demploys du dpartement PRODUCTION. Requte 24 : Les numros de dpartement et leur salaire maximum ? Requte 25 : Donner les noms des employs ayant le salaire maximum de chaque dpartement. Requte 27 : Le salaire moyen le plus bas (par profession) ? Requte 28 : Donner les emplois ayant le salaire moyen le plus bas ; donnez aussi leur salaire moyen.

Travaux Pratiques

Conception MERISE et BD

Said ECH-CHADI

13

TP 4

Algbre -SQL : Appartements -coles


4.1 Schma
IMMEUBLE (ADI, NBETAGES, DATEC, PROP) APPIM (ADI, NAPR, OCCUP, TYPE, SUPER, ETAGE) PERSONNE (NOM, AGE, PROF, ADR, NAPR) COLE (NOMEC, ADEC, NBCLASSES, DIR) CLASSE (NOMEC, NCL, MAITRE, NBEL) ENFANT (NOMP, PRENOM, AN, NOMEC, NCL) avec la signification suivante : 1. Relation IMMEUBLE ADI : adresse dimmeuble, cl ; on fait lhypothse pour simplier, que ladresse identie de manire unique un immeuble BETAGES : nombre dtages dun immeuble DATEC : date de construction PROP : nom du propritaire de limmeuble qui est une personne 2. Relation APPIM (Appartement) ADI : adresse dimmeuble NAPR : numro dappartement OCCUP : occupant de lappartement (nom de la personne) TYPE : type de lappartement (Studio, F2, . . .) SUPER : supercie de lappartement ETAGE : tage o se situe lappartement 3. Relation PERSONNE NOM : nom de personne, cl ; on fait lhypothse pour simplier, que ce nom est unique sur lensemble des personnes que lon considre dans la base AGE : ge de la personne PROF : profession de la personne (directeur dcole nest pas une profession)

Travaux Pratiques

Conception MERISE et BD

Said ECH-CHADI

14

ADR : adresse de la rsidence dune personne, il sagit dun immeuble NAPR : numro dappartement 4. Relation COLE NOMEC : nom dune cole, cl ADEC : adresse dune cole NBCLASSES : nombre de classes DIR : nom du directeur

5. Relation CLASSE NOMEC : nom dune cole NCL : nom de la classe, e.g., CP1, CE2, CE3, etc... MAITRE : nom de linstituteur NBEL : nombre dlves dans la classe 6. Relation ENFANT NOMP : nom de la personne responsable de lenfant, cl e.g., pre, mre etc... PRENOM : prnom de lenfant AN : anne de naissance NOMEC : nom dune cole NCL : nom de la classe La relation IMMEUBLE dcrit un ensemble dimmeubles. Chaque immeuble a un propritaire. La relation APPIM dcrit pour chaque immeuble lensemble des appartements qui le compose. Chaque appartement peut hberger plusieurs personnes mais il y en a une qui est responsable (par exemple le locataire) et qui est dsigne par le constituant OCCUP. Si lappartement est inoccup, ce constituant prend la valeur NULL. La relation PERSONNE dcrit un ensemble de personnes. ADR et NAPR reprsentent ladresse o rside une personne. Une personne peut avoir plusieurs enfants dcrits par la relation ENFANT. Pour simplier, on ne considre que les enfants allant lcole primaire. Les coles et les classes sont dcrites dans les relations COLE et CLASSE. On suppose ici que toutes ces relations vrifient les contraintes dintgrit de base. Par exemple, une personne rpertorie dans la relation CLASSE en tant que matre exerce bien la profession dinstituteur dans la relation PERSONNE. De mme, un directeur dcole est un instituteur.

4.2 Requtes
Exprimer les requtes suivantes laide de lalgbre relationnelle, puis les traduire en SQL. Requte 1 : Donner ladresse des immeubles ayant plus de 10 tages et construits avant 1970.

Travaux Pratiques

Conception MERISE et BD

Said ECH-CHADI

15

Requte 2 : Donner les noms des personnes qui habitent dans un immeuble dont ils sont propritaires (occupants et habitants). Requte 3 : Donner les noms des personnes qui ne sont pas propritaires. Requte 4 : Donner les adresses des immeubles possds par des informaticiens dont lge est infrieur 40 ans. Requte 5 : Donner la liste des occupants (nom, ge, profession) des immeubles possds par DUPONT. Requte 6 : Donner le nom et la profession des propritaires dimmeubles o il y a des appartements vides. Requte 7 : Donner les noms des matres qui habitent dans le mme immeuble ( la mme adresse) quau moins un de leurs lves (on suppose que les enfants vivent sous le mme toit que leur responsable). Requte 8 : Donner ladresse de limmeuble, la date de construction, le type dappartement et ltage o habitent chacun des matres des enfants de DUPONT. Requte 9 : Donner le nom et lge des matres qui habitent dans un immeuble dont le propritaire est responsable dun de leurs lves. Requte 10 : Donner le nom et lge des personnes qui sont propritaires mais qui ne sont ni matre ni directeur dcole (des classes et coles rpertories dans ECOLE et CLASSE).

4.3 Mise jour


Requte 11 : Ajouter un enfant de nom np, de prnom e, n en a et linscrire la classe c de lcole ec.

4.4 Contraintes
Indiquer de la faon la plus formelle possible certaines contraintes que les donnes de la base doivent respecter pour tre conformes la ralit modlise ici.

Travaux Pratiques

Conception MERISE et BD

Said ECH-CHADI

16

TP 5

SQL -Algbre : Cinmas -Films


5.1 Schma
Les exemples suivants sont tirs du livre Foundations of Databases de S. Abiteboul, R. Hull et V. Vianu. SALLE (Nom,Horaire,Titre) FILM (Titre, Realisateur, Acteur) PRODUIT (Producteur,Titre) VU (Spectateur,Titre) AIME (Spectateur,Titre)

Un film est ralis par un metteur en scne mais peut tre financ par plusieurs Producteurs. Un Spectateur peut aimer un film sans lavoir vu.

5.2 Requtes
crire les requtes suivantes en algbre relationnelle. 5.2.1 Interrogation dune seule relation Requte 1 : Dans quelle salle et quelle heure peut on voir le film Mad Max ? Requte 2 : Quels sont les films raliss par Orson Welles ? Requte 3 : Quels sont les Acteurs du film Ran ?

5.2.2 Jointures Requte 4 : Dans quelles salles peut-on voir un film avec Simone Signoret ?
Travaux Pratiques Conception MERISE et BD Said ECH-CHADI

17

Requte 5 : Dans quelles salles peut on voir Marlon Brando aprs 16h ? Requte 6 : Quels sont les Acteurs qui ont produit un film ? Requte 7 : Quels sont les Acteurs qui ont produit un film dans lequel ils jouent ? Requte 8 : Quels sont les Acteurs qui ont produit et ralis un mme film ? Requte 9 : Quels sont les Producteurs qui regardent les films quils ont produits ?

5.2.3 Diffrence Requte 10 : Quels films ne passent en ce moment dans aucune salle ? Requte 11 : Quels Spectateurs aiment un film quils nont pas vu ? Requte 12 : Qui naime aucun film quil a vu ? Requte 13 : Qui na produit aucun film de Doillon ? Requte 14 : Qui a produit un film qui ne passe dans aucune salle ?

5.2.4 Division Requte 15 : Quels Spectateurs ont vu tous les films ? (ou Spectateurs pour lesquels il nexiste pas un film quils nont pas vu) Requte 16 : Quels Acteurs jouent dans tous les films de Welles ? (ou Acteurs pour lesquels il nexiste pas un film de Welles quils nont pas jou) Requte 17 : Quels sont les Spectateurs qui aiment tous les films quils ont vu ? (ou Spectateurs pour lesquels il nexiste pas un film quils ont vu et quils nont pas aim) Requte 18 : Quels sont les Producteurs qui voient tous les films quils ont produit ? (ou Producteurs pour lesquels il nexiste pas un film quils ont produit et quils nont pas vu) Requte 19 : Quels Producteurs voient tous les films de Kurosawa ? (ou Producteurs pour lesquels il nexiste pas un film de Kurosawa quils nont pas vu)

Travaux Pratiques

Conception MERISE et BD

Said ECH-CHADI

18