• Aucun résultat trouvé

UNIVERSITÉ HASSAN 1 er FACULTE DES SCIENCES ET TECHNIQUES SETTAT. Solutions. Professeur BALOUKI Youssef Département des Mathématiques et Informatique

N/A
N/A
Protected

Academic year: 2022

Partager "UNIVERSITÉ HASSAN 1 er FACULTE DES SCIENCES ET TECHNIQUES SETTAT. Solutions. Professeur BALOUKI Youssef Département des Mathématiques et Informatique"

Copied!
23
0
0

Texte intégral

(1)

FACULTE DES SCIENCES ET TECHNIQUES SETTAT

Base de données Travaux dirigés

Professeur BALOUKI Youssef

Département des Mathématiques et Informatique

Base de données

Solutions Travaux dirigés &

Solutions

Filière : MIP

(2)

Youssef BALOUKI 2/23

TD1 :QCM sur le système d'information

1.

Parmi les propositions suivantes quelle est celle qui décrit le plus exactement ce qu’est le rôle d’une information dans le système d’information d’une organisation ?

a.

Une information permet de se tenir au courant de l’actualité du monde

b. Une information permet de savoir quoi faire, de prendre une décision pour gérer l’entreprise c. Une information permet de dire à quelqu’un ce qu’il doit faire

d. Une information est toujours saisie dans la base de données de l’entreprise

e.

Autre

2. Quels sont les sous-systèmes qui composent le système entreprise ? a. le système de pilotage

b. le système d'exploitation c. le système opérant d. le système d'information

3. Dans une entreprise, qui est directement impliqué dans la gestion du système d’information ?

a. La direction

b. Les responsables de services (service commercial, comptable, GRH…) c. Les informaticiens

d. Les clients e. Autres

4. Peut-il exister un système d’information sans équipement informatique ?

a. Oui, car on a longtemps échangé des informations pour travailler sans disposer d’informatique

b. Oui, car les données sont toujours sauvegardées

c. Non, car on ne peut pas échanger des informations sans informatique d. Non, car une base de données est nécessaire pour stocker l’information 5. Parmi ces verbes, lesquels sont des fonctions du système d’information ?

a. Diffuser b. Collecter c. Traiter d. Stocker

6. Comment définiriez-vous le terme LOGICIEL ? 7. Qu’est ce qu’un PROGICIEL ?

8. Quelles sont les différentes couches d’un système d’information ?

(3)

Youssef BALOUKI 3/23

TD2 :Modélisation Entité/Association

Exercice 1

Comment modélisez-vous les contextes qui permettent de représenter les faits suivants :

A. - Rabat est la capitale du Maroc

- Le Sénégal a pour capitale Dakar - Marrakech n'est pas capitale - La capitale de la France est Paris

B. - Salwa travaille chez la société XYZ où elle gagne 3000 dirhams par mois - Salwa travaille aussi chez la société ABC où elle gagne 4000 dirhams par mois - Ali travaille chez la société XYZ où il gagne 8000 dirhams par mois

- Omar travaille chez la société GHI où il gagne 7000 dirhams par mois C. - Le Maroc est frontalier de la Mauritanie et de l'Algérie

- L'Algérie est frontalière du Maroc, de la Tunisie, de la Libye, de la Mauritanie, du Mali et du Niger

- Madagascar n'est frontalière d'aucun pays

D. - Salwa utilise le langage Java pour le projet de comptabilité

- Salwa utilise le langage C++ pour le projet de CAO (construction assistée par ordinateur) - Salwa utilise le langage Java pour le projet de réservation de places de train

- Ali utilise le langage Java pour le projet d'assurance - Omar utilise le langage C++ pour le projet 'assurance E. - Ali est le chef de Omar et Mohamed

- Omar est le chef de Ahmed et de Saad - Mohamed est le chef de M'hamed et de Said

- Ahmed, M'hamed, Saad et Said ne sont chefs de personne

Exercice 2

On veut représenter la gestion d'une bibliothèque:

Nous devons représenter :

Des livres avec : numéro du livre (ISBN), Titre du livre Des auteurs avec : Numéro de l’auteur, nom de l’auteur Des éditeurs avec : Numéro d’éditeur, nom de l’éditeur Des dépôts avec : Numéro de dépôt, nom du dépôt

Attention : ici un « livre » n’est pas le « livre physique » (un exemplaire) mais plutôt une « édition » L’investigation du domaine a permis de définir les règles suivantes :

Un livre peut être : Écrit par plusieurs auteurs

Édité par plusieurs éditeurs, mais une seul fois par chacun d’entre eux.

Pour distinguer, on donne alors l’année éditions

Stocké dans plusieurs dépôts, et cela pour chaque éditeur.

Chaque livre stocké est stocké avec une quantité définie.

Donner le schéma entité-association et les éventuels contraintes d’intégrité correspondant à cet énoncé.

Exercice 3

Pour le calcul de la paie, une entreprise utilise une base de données, dont le contenu est rafraîchi chaque mois :

la base contient des informations concernant ses employés, leur affectation et leur grade. On connaît :

(4)

Youssef BALOUKI 4/23

• pour le grade : le numéro et le libellé du grade

• pour l’affectation : le numéro et le nom du service.

Comment modélisez-vous ces informations ?

L’entreprise veut introduire dans la base de données les historiques des grades et des affectations pour ses employés. Comment procédez-vous ?

Exercice 4 : critique et correction (Contrat - Client) Soit le modèle entité-association suivant :

*Un contrat est passé par un client et un seul. Un client peut passer plusieurs contrats.

Quelle critique pouvez-vous faire au MCD présenté ci-dessous ? Proposez un modèle corrigé.

Exercice 5

Soit le modèle entité-association suivant :

* Un employé peut exercer plusieurs fonctions successivement avec différents salaires, mais pas en même temps.

Quelle critique pouvez-vous faire au MCD présenté ci-dessous ? Proposez un modèle corrigé.

Exercice 6

Soit le modèle entité-association suivant : Numéro du contrat

Type du contrat Date du contrat

#Numéro du client Contrat

Numéro du client Nom du client Adresse CP Ville Client Est passé par

1.1 1.N

Exercer

Date de début Salaire

Numéro de l’employé Nom de l’employé Prénom de l’employé Date de naissance Employé

Numéro de la fonction Nom de la fonction Descriptif de la fonction Fonction

1.1 1.N

(5)

Youssef BALOUKI 5/23

La quantité correspond à la quantité de produit stocké pour un numéro de produit et un numéro de dépôt. Dans undépôt, il peut y avoir plusieurs produits. Un dépôt peut être vide. Un produit peut être stocké dans plusieurs dépôts.

Un produit peut être en rupture de stock.

Quelle critique pouvez-vous faire au MCD présenté ci-dessous ?

Proposez un modèle corrigé.

Exercice 7

Un étudiant appartient à un groupe de TD et un seul. Un groupe de TD est associé à une salle et une seule.

Quelle critique formelle pouvez-vous faire au MCD présenté ci-dessous ?

Proposez un modèle corrigé.

Exercice 8

Une entreprise désire gérer son parc informatique à l’aide d’une base de données. Le bâtiment est composé de trois étages. Chaque étage possède son réseau (ou segment distinct) éthernet. Ces réseaux traversent des salles équipées de postes de travail. Un poste de travail est une machine sur laquelle sont installés certains logiciels. Quatre catégories de postes de travail sont recensées (stations Unix, terminaux X, PC Windows et PC NT). La base de données devra aussi décrire les installations de logiciels avec les contraintes suivantes :

• Les noms des segments, des salles et des postes sont non nuls.

• Le domaine de valeurs de la colonne ad s’étend de 0 à 255.

• La colonne prix est supérieure ou égale à 0.

• La colonne dateIns est égale à la date du jour par défaut.

I.1 Proposer le diagramme entité-association qui modélise le cas ci-dessous.

On précisera la cardinalité des liens et on soulignera les identifiants.

I.2 Précisez les contraintes d'intégrité correspondant à cet énoncé.

I.3 Déterminer les relations avec leurs identifiants.

Appartient à Numéro de l’étudiant

Nom Prénom

Date de naissance Etudiant

Numéro de groupe Nombre d’étudiants GroupeTD

NuméroProduit , NuméroDépot Nomproduit

PrixUnitaireProduit Quantité

AdresseDuDépot CodePostalDépot VilleDépot TéléphoneDépot

Stock

Numéro de la salle

Nombre d’ordinateurs ds la salle Nombre de places

1.N 1.N

(6)

Youssef BALOUKI 6/23

TD3 : Dépendance Fonctionnelle

Exercice 9

Soit R1 (A, B, C, D, E, F) une relation avec l'ensemble de dépendances suivant :

1. Donner le graphe (ensemble) minimum de dépendances. Quelles est la clé de R1 ? 2. Quelle est la forme normale de R1 ?

3. On décompose la relation R1 en R11 et R12 : R11(A, B, D, E, F) et R12(B,C). Quelles sont les formes normales des relations R11 et R12 ? 4. Proposer une décomposition sans perte d'information de R11.

Exercice 10

Soit le schéma de la relation R(A, B, C, D, E, G) et un ensemble donné de dépendancesfonctionnelles pour cette relation:

1. Donner le graphe minimal des dépendances fonctionnelles de R

2. Donner une décomposition de R en relations 3NF sans perte d'informations et sans perte de dépendances.

3. Précisez l'identifiant de chaque relation obtenue.

TD4 :Normalisation d’une relation

Exercice 11

Prime: les primes attribuées au personnel technique en fonction du type de machine sur lequel il travaille

Prime (N°type-machine, nom-machine, N°techn, montant-prime, nom-techn)

avec les dépendances fonctionnelles suivantes:

N°type-machine → nom-machine N°techn → nom-techn

(N°type-machine, N°techn) → montant-prime

Employé: description d'un employé travaillant sur un projet d'un laboratoire.

Employé ( NoEmp, NoLab, NoProj, NomEmp, NomProj, adresse) avec les dépendances fonctionnelles suivantes:

(NoEmp, NoLab) → NoProj NoEmp → NomEmp NoEmp → adresse NoProj → NomProj

Pièce: description des pièces employées dans un atelier de montage.

Pièce (N°pièce, prix-unit, TVA, libellé, catégorie)

avec les dépendances fonctionnelles suivantes:

(7)

Youssef BALOUKI 7/23 N°pièce → prix-unit, TVA, libellé, catégorie catégorie → TVA

Questions :

- Identifier les redondances éventuelles dans chaque relation, - établir le (un) graphe minimum de ses dépendances, - définir son (ses) identifiant(s),

- définir sa forme normale et la justifier,

- si nécessaire, proposer une décomposition optimale.

Problème de synthèse

Contrôle N°1 LST: INFO Durée 1h30 2012/2013

Enoncé :

Une auto-école souhaite construire une base de données pour gérer les examens théoriques du code de la route de ses élèves. Chaque élève est identifié par un numéro unique et est caractérisé par un nom, un prénom, une adresse et une date de naissance. Chaque élève assiste à plusieurs séances de code (autant qu'il le souhaite). Chaque séance est caractérisée par une date et une heure. A chaque séance de code, le directeur de l'auto-école choisit une série de questions sur un CD-ROM. Chaque CD-ROM est identifié par un numéro et est caractérisé par un nom d'éditeur. Chaque CD-ROM est composé de 6 séries, numérotées de 1 à 6. Chaque série est composée de 40 questions. Chaque question est identifiée par un intitulé et est caractérisée par une réponse, un niveau de difficulté et un thème. Une même question peut apparaître dans plusieurs séries avec un numéro d'ordre pour chaque série ; par exemple une même question peut apparaître comme question N°2 dans la série 5 du CD- ROM 15 et comme question N°12 dans la série 3 du CD-ROM 4. Une même série peut être projetée plusieurs fois à des séances différentes. Lorsqu'un élève assiste à une séance, il obtient le nombre de fautes (une note sur 40) qu'il a fait pour la série passée pendant la séance. Lorsqu'un élève a obtenu, au cours des quatre dernières séances auxquelles il a assistées, un nombre de fautes inférieur ou égal à 5, le directeur de l'auto-école l'autorise à passer l'examen théorique du code de la route à une date donnée (un seul examen pour une date donnée). L'auto-école ne peut présenter que 8 élèves maximum à chaque date d'examen. Les élèves ayant obtenu plus de 5 fautes à l'examen sont recalés et doivent assister de nouveau à des séances de code avant de pouvoir se représenter à l'examen.

La base de données doit permettre de répondre à des requêtes telles que "Quel est le nombre moyen de fautes pour la série 5 du CD-ROM 14?", "Quels élèves peuvent se présenter au prochain examen du code de la route ?", "Quels élèves ont échoué au moins une fois à l'examen ?" etc.

Travail à faire :

1- Etablir le modèle Entité-Association de cette application et en déduire le schéma relationnel.

2- Exprimer les requêtes suivantes en algèbre relationnelle :

- Quel est le nombre moyen de fautes pour la série 5 du CD-ROM 14?

- Quels élèves peuvent se présenter au prochain examen du code de la route ? - Quels élèves ont échoué au moins une fois à l'examen ?

- Questions trouvées dans toutes les séries ?

(8)

Youssef BALOUKI 8/23

- --- -

Correction

-

---

Correction de l’exercice 1:

A.

0,1 1,1

B.

0,n 0,n

C.

0,n

0,n

D.

0,n 0,n

0,n Ville

#IdVille NomVille

Pays

#IdPays NomPays être capitale

Personne

#IdPers NomPers

Société

#IdSoc NomSoc Travailler

Salaire

Pays

#IdPays NomPays

être frontalier

Personne

#IdPers NomPers

Projet

#IdProjet NomProjet Développer

Langage

#Idlang

Nomlang

(9)

Youssef BALOUKI 9/23 E.

0,1

0,n

Correction de l’exercice 2 :

Correction de l’exercice 3 : Dictionnaire de données :

Nom d'attribut Code d'attribut Type d'attribut

Numéro de matricule d'employé

#empNum Chaine de caractères

Nom d'employé #empNom Chaine de caractères

Prénom d'employé #empPrenom Chaine de caractères

Numéro du grade #gradNum Chaine de caractères

Libellé du grade #gradLib Chaine de caractères

Numéro du service #servNum Chaine de caractères

Nom du service #servNom Chaine de caractères

Personne

#IdPers NomPers

être chef

(10)

Youssef BALOUKI 10/23

1,1 0,n

1,1

0,n

Pour introduire l'historique des affectations et des grades, on introduit l'attribut date dans chacune des associations, et on y change les rôles de l'employé pour permettre plusieurs entrées dans la base d'un même couple (#empNum,#numGrad) ou (#empNum,#numservice) distinguées par la date :

0,n 0,n

0,n

0,n Employé

#IdPers NomPers

Service

#IdProjet NomProjet affecté

Grade

#numGrad NomGrad

avoir

Employé

#IdPers NomPers

Service

#IdProjet NomProjet affecté

Date

Grade

#numGrad NomGrad

avoir

Date

(11)

Youssef BALOUKI 11/23 Correction de l’exercice 4

Une critique formelle est une critique qui ne prend en compte que les aspects syntaxiques du modèle et pas les aspects sémantiques.

Règle syntaxique : dans un MCD, il ne doit pas y avoir de clé étrangère, car un même attribut ne doit apparaître qu’une seule fois. Or, dans le modèle proposé, l’attribut Numéro de client apparaît dans l’entité contrat, comme une clé étrangère. On peut donc retirer cet attribut de l’entité Contrat.

Ensuite, on vérifie la sémantique du modèle.

Le modèle corrigé est donc :

Correction de l’exercice5 :

Une critique formelle est une critique qui ne prend en compte que les aspects syntaxiques du modèle et pas les aspects sémantiques.

Règle syntaxique : une association hiérarchique (une patte 1.1) ne peut pas porter

d’attributs. Deux possibilités de solution : soit l’association devient non-hiérarchique, soit les attributs migrent dans une entité (probablement l’entité 1.1).

L’analyse sémantique montre que : un employé peut exercer plusieurs fonctions. Donc l’association devient non-hiérarchique.

(12)

Youssef BALOUKI 12/23 Corrigé Exercice 6 :

Une critique formelle est une critique qui ne prend en compte que les aspects syntaxiques du modèle et pas les aspects sémantiques.

Règle syntaxique : la clé primaire d’une entité ne peut pas être la concaténation de plusieurs attributs. Piste de solution : si la concaténation de deux attributs forme bien la clé primaire d’une table, c’est probablement que cette table est issue d’une association non-hiérarchique reliant deux entités dont les clés primaires sont constituées par les attributs concaténés. Il faut alors reprendre l’analyse sémantique pour trouver la solution.

Corrigé Exercice 7 :

Une critique formelle est une critique qui ne prend en compte que les aspects syntaxiques du modèle et

pas les aspects sémantiques. Il n’y a pas de critique formelle à faire à ce modèle. Par contre, il y a une

critique sémantique à faire : un étudiant appartient à un groupe de TD et un seul : on doit donc avoir

une association hiérarchique. Du coup, les attributs de l’association devront migrer. D’autre part,

l’attribut « Nombre d’étudiants » est un attribut qu’on peut calculer à partir de l’association entre «

Etudiant » et « Groupe de TD ».

(13)

Youssef BALOUKI 13/23 Corrigé Exercice 8 :

8.2 : les contraintes d'intégrité :

- Un étage possède un seul segment réseaux distinct - Une salle est traversée par un seul segrment - Un poste appartient à une seule salle.

- Les noms des segments, des salles et des postes sont non nuls - Le domaine de valeurs de la colonne ad s’étend de 0 à 255.

- La colonne prix est supérieure ou égale à 0.

8.3 :

La relation 'traverse' n'aura pas d'identifiant, elle fera migrer l'id du segment vers la salle.

La relation 'contient' n'aura pas d'identifiant, elle fera migrer l'id de salle vers poste.

La relation 'avoir' n'aura pas d'identifiant, elle fera migrer l'id du type vers poste.

La relation 'installé' aura comme identifiant idPoste+idLog+dateIns, on peut installer un meme logiciel dans le meme poste dans des dates différentes.

Segment(idSeg,nomSeg,numEtage) Salle(idSalle,nomSalle, #idSeg)

Poste(idPoste ,nomPoste,AdressPost, #idSalle,#idType) Logiciel(idLog,nomLog,prix)

Installe(#idLog,#idPoste,dateIns)

(14)

Youssef BALOUKI 14/23 TypePoste(idType,nomType)

Corrigé Exercice 9 :

1. L'ensemble minimum de dépendances fonctionnelles de R1 est le suivant :

2. La clé de cette relation est (A,B). Cette relation est en première forme normale mais pas en deuxième forme normale car il y a un attribut qui ne fait pas partie de la clé(C) qui dépend d'une partie de la clé(B).

3. La relation R11 est en deuxième forme normale et pas en troisième normale car il subsiste unedépendance transitive. La relation R12 est en BCNF.

4. On peut décomposer R11 en R112(D, E, F) et R112(A,B,D) sans perte d'information.

Corrigé Exercice 10

Avec A --> C et A, C --> E,on constate que A, C --> E n'est pas élémentaire et que l'on peut la remplacer par A --> E sans perte de dépendance.

Avec A --> E et A, D, E --> B, G, on constate que A, D, E --> B, G n'est pas élémentaire et que l'on peut la remplacer par A, D --> B, G sans perte de dépendance.

Avec A --> B et A, D --> B,on constate que A, D --> B est redondante et que l'on peut la supprimer.

Avec A --> B, C --> B et A --> C, on constate que A --> B peut être déduite et que l'on peut donc la supprimer.

L'ensemble minimum des dépendances fonctionnelles de R est donc le suivant :

Voici une décomposition sans perte de dépendance ni d'information :

(15)

Youssef BALOUKI 15/23 --- R5(C,B) (3FN)

Exercice 11 : Pièce

Anomalie(s)

Il y a une redondance sur les valeurs de TVA par rapport aux catégories

Clé(s)

L'identifiant de la relation est l'attribut numPièce.

Forme normale

La relation est en deuxième forme normale. Elle n'est pas en troisième forme normale car il y a unedépendance transitive.

Décomposition

Pièce (numPièce, prix, libellé, catégorie) - catégorie référence TVA.catégorie TVA(catégorie, tva)

Ces deux relations sont en 3FN. Il n'y a pas de perte d'information ni de perte de dépendance.

Exercice 11 : Primes

Anomalie(s)

Il y a des redondances sur les attributs nomMachine (par rapport à numTypeMachine) etnomTechnicien (par rapport à numTechnicien).

Un problème se pose quand il y a des machines sur les quelles personne ne travaille : quelles sont dans ce cas les valeurs des attributs numTechnicien, nomTechnicien et montantPrime ? Le problème se pose également s'il y a des techniciens qui ne travaillent sur aucune machine.

Clé(s)

L'identi fiant de la relation est (numTypeMachine, numTechnicien).

(16)

Youssef BALOUKI 16/23

Forme normale

La relation est en première forme normale. Elle n'est pas en deuxième forme normale car il y a des attributs non-clé qui dépendent d'une partie de la clé.

Décomposition

Machine(numtypeMachine, nomMachine)

Technicien(numTechnicien, nomTechnicien)

Prime(numTypeMachine, numTechnicien, montantPrime)

- numTypeMachine référence Machine.numTypeMachine - numTechnicien référence Technicien.numTechnicien

Ces relations sont en 3FN. Il n'y a pas de perte d'information ni de perte de dépendance.

Exercice 11 : Employés

Anomalie(s)

Il y a des redondances sur les attributs nomEmployé, adresse et nomProjet.

Clé(s)

L'identi fiant de la relation est (numEmployé, numLaboratoire).

Forme normale

La relation est en première forme normale. Elle n'est pas en deuxième forme normale car il y a des attributs non-clé qui dépendent d'une partie de la clé.

Décomposition

Travaille(numEmployé, numLaboratoire, numProjet) - numEmployé référence Employé.numEmployé - numProjet référence Projet.numProjet

Employé(numEmployé, nomEmployé, adresse)

Projet(numProjet, nomProjet)

Il n'y a pas de perte d'information ni de perte de dépendance.

Problème :

(17)

Youssef BALOUKI 17/23 2. Le model relationnel :

Client (ClientID, Nom, Prénom, Adresse, DateNaissance) CD-ROM (CdRomID, Editeur)

Question (QuestionID, Intitulé, Réponse, NiveauDifficulté, Thème) Serie(SerieID, #CdRomID)

ContenuSerie(#QuestionID, SerieID, #CdRomID, Numéro) Seance_Code(SeanceID,Date, Heure, #CdRomID,#SerieID) Participation (#ClientID, #SeanceID, NombreFautes)

Examen_Code (PassageCodeID, Date, Heure, LieuExamen) PassageCode (#PassageCodeID, #ClientID, NombreFautes)

Module : Systèmes d’information et Gestion des bases de données AU: 2014/2015

(18)

Youssef BALOUKI 18/23

TD N°4

Exercice1 :

PILOTE (PLNUM, PLNOM , PLPRENOM, VILLE, SALAIRE) AVION (AVNUM, AVNOM, CAPACITE, LOCALISATION)

VOL (VOLNUM, PLNUM#, AVNUM#, VILLEDEP, VILLEARR, HEUREDEP, HEUREARR)

(19)

Youssef BALOUKI 19/23 Interrogation d’une base de données :

Les clés primaires sont soulignées et les clés étrangères # sont indiquées par le caractère # A l’aide du langage SQL, formulez les requêtes ci-dessous :

1. Afficher le nom des pilotes.

2. Noms des pilotes triés par ordre alphabétique.

3. Noms des pilotes triés par salaire décroissant et par ordre alphabétique . 4. Salaire moyen des pilotes.

5. Salaire moyen par ville.

6. Nom des avions, triés par ordre alphabétique et sans doublon.

7. Nombre des avions localisés à Paris.

8. Maximum des salaires moyens par ville.

9. Ville dont le salaire moyen est le plus élevé.

10. Liste de tous les vols.

11. Nom et prénom de tous les pilotes, par ordre alphabétique inverse.

12. Nom et prénom et salaire de tous les pilotes dont le salaire est supérieur à 20.000£

13. Numéro et nom des avions localisés à Paris.

14. Nom et prénom des pilotes dont le salaire est supérieur à un salaire plancher saisi au

clavier (paramètre).

(20)

Youssef BALOUKI 20/23

15. Villes accessibles (sans doublon) depuis une ville de départ dont le nom est saisi au clavier (paramètre).

16. Caractéristiques (AVNUM, AVNOM, CAPACITE, LOCALISATION) des avions localisés dans la même ville qu’un pilote dont le nom est saisi au clavier (paramètre).

17. Caractéristiques (VOLNUM, VILLEDEP, VILLEARR, HEUREDEP, HEUREARR, AVNOM, PLNOM) d’un vol dont le nom est saisi au clavier (paramètre).

18. Nom, prénom et numéro de vol des pilotes affectés à (au moins) un vol.

19. Numéro et nom des avions affectés à des vols. Eliminer les doublons. Utiliser au moins deux méthodes différentes. Est-il possible de se procéder sans recourir à la clause DISTINCT ?

20. Nombre total des vols.

21. Somme de capacités de touts les avions.

22. Moyenne et écart-type des durées des voyages.

23. Capacités minimum et maximum des avions.

24. Nombre de vols par pilote (indiquer uniquement le numéro des pilotes).

25. Nombre total d’heures de vol par pilote (préciser le nom des pilotes).

26. Numéro et nom des avions qui ne sont affectés à aucun vol (Utiliser au moins trois méthodes différentes).

27. Nom et prénom des pilotes qui ont volé sur tous les avions (utiliser deux

méthodes différentes)

(21)

Youssef BALOUKI 21/23

UNIVERSITÉ HASSAN 1

er

FACULTE DES SCIENCES ET TECHNIQUES SETTAT

Module : Systèmes d’information et Gestion des bases de données AU: 2014/2015

Correction TD N°4

Exercice1 :

28. Afficher le nom des pilotes.

29. Select nom from pilote ;

30. Select plnom from pilote order by nom ;

31. Select plnom from pilote order by sal desc, nom ; 32. Select avg(salaire) from pilote ;

33. Select ville, avg(salaire) from pilote group by ville ; 34. Select distinct avnom from avion order by avnom ; 35. Select count(*) from avion where localisation = ‘Paris’ ; 36. Select count(distinct avnum) from avion where =’Paris’ ; 37. Select max(avg(salaire)) from pilote group by ville ;

38. Select ville from pilote group by ville having avg(salaire) – (select max(avg(salaire)) from pilote group by ville) ;

39. Select * from vol ;

40. Select plnom, plprenom, ville from pilote order by plnom desc, plprenom desc ; 41. Select plnom, plprenom, salaire from pilote where salaire > 20000 ;

42. Select avnum, avnom from avion where localisation = ‘Paris’ ;

43. Select plnom, plprenom from pilote where salaire > &salaire_plancher ; 44. Select distinct villearr from vol where villedep = ’ &ville_de_depart’ ;

45. Select avnum, avnom, capacite, localisation from avion, pilote where localisation = ville and plnom = &nom_plnom ;

46. Select volnum, villedep, villearr, heuredep, heurearr, avnom, plnom from pilote p , avion a, vol v where p.plnum =v.plnum and a.avnum= a.avnum and volnum = &numero_vol ;

47. Select plnom, plprenom, volnum from pilot p, vol v where p.plnum =v.plnum ;

48. Select distinct a.avnum, avnom from avion a , vol v where a.avnum = v.avnum ; **Select

distinct avnum, avnom from avion a where exists( select * from vol v where a.avnum =

v.avnum) ; ** select avnum, avnom from avion where avnum in( select avnum from

(22)

Youssef BALOUKI 22/23

vol) ; ** select avnum, avnom from avion a where (select count(*) from vol v where a.avnum= v.avnum >=1 ;

49. Select count(*) from vol ;

50. Select sum(capacite) from avion ;

51. Select avg(heurearr-heuredep), stddev(heurearr-heuredep) from vol ; 52. Select min(capacite), max(capacite) from avion ;

53. Select plnum, count(volnum) from vol group by plnum ;

54. Select plnom, sum(heurearr – heuredep) from pilote p, vol v where p.plnum = v.plnum group by plnom ;

55. Select avnum, avnom from avion where avnum not in ( select avnum from vol) ; **

select avnum, avnom from avion a where not exists (select * from vol v where a.avnum = v.avnum) ; ** select avnum, avnom from avion minus select a.avnum, avnom from avion a , vol v where a.avnum = v.avnum ; ** select avnum, avnom from avion where avnum <> all(

select avnum from vol) ; ** select avnum, avnom from avion a where (select count(*) from vol v where a.avnum = v.avnum ) = 0 ;

56. Select plnom, plprenom from pilote p where not exists ( select * from vol v where

p.plnum = v. plnum and a.avnum = v.avnum)) ; ** Select plnom, plprenom from pilote p ,

vol v where p.plnum = v.plnum group by plnom, plprenom having count (distinct avnum) –

( select count(*) from avion) ;

(23)

Youssef BALOUKI 23/23

MIP S4 Contrôle N°1 Durée 1h 30 mn

Systèmes d’information et Base de Données

I - Questions de cours:

1. Quelles sont les fonctions principales d'un système d'information ?

2. Décrire, A travers un exemple, les inconvénients de schémas de BD non normalisés.

3. Donner deux avantages d’un SGBD par rapport à un système de gestion de fichiers.

II - Normalisation:

Normalisez les relations suivantes. Procédez par étape : normalisez les d’abord en 2FN, puis en 3FN.

Pour chaque étape :

 identifiez les clés candidates;

 identifiez les dépendances fonctionnelles qui font qu’une relation ne satisfait pas le niveau de normalisation;

 normalisez la relation.

Les relations à normaliser sont :

a) R(ABCDEF) et

F

=

{

ABC

D, B

E, E

F

}

b) R(ABCDE) et

F

=

{

AB

C, D

B, E

D

}

c) R(ABCDE) et

F

=

{

AB

C, AE

DB, E

A

}

III- Conception des bases des données

Une école d’ingénieur veut améliorer la gestion des examens finaux de ses élèves. Pour cela, le résponsable de scolarité vous demande de l’aider à modéliser un système qui permet de traiter les informations

suivantes :

 département : son nom, le nom de son chef et ses cours;

 cours : son titre, son sigle et ses examens;

 examen : le cours, la session (ex: ”S1”), la date (YYYY-MM-DD), la période (”AM”,”PM”

ou ”soir”) et ses locaux (ex: ”A4”);

 local : numéro et nombre de places disponibles;

 programme : titre et ses cours.

On a les contraintes suivantes:

un cours peut avoir plusieurs examens;

il y a un seul examen final par session pour un cours;

un cours appartient à un seul département;

un cours peut apparaitre dans plusieurs programmes.

Travail à faire : - Etablir le modèle conceptuel de données correspondant ainsi que le modèle relationnel.

Références

Documents relatifs

, 20}, i &lt; j, l’énoncé de la question numéro i, même non justifié, peut être utilisé dans la réponse à la question numéro j.. Lire at- tentivement l’ensemble du sujet

Par le théorème de dérivabilité sous signe intégrale et un argument similaire à la question précédente, on montre que Γ est de classe C 1. Montrer que la fonction Γ 00

, 27}, i &lt; j, l’énoncé de la question numéro i, même non justifié, peut être utilisé dans la réponse à la question numéro j.. Lire attentivement l’ensemble du sujet avant

Quels médicaments peuvent être prescrits pour limiter l'incidence de certains de ces effets indésirables?. Préciser brièvement le mécanisme d'action de

Devant ce syndrome dysentérique aigu, sans altération de l'état général, sans fièvre mais accompagné d'une rectite ulcérée, quel parasite (genre, espèce) peut être

Décrire les étapes du diagnostic biologique réalisées à partir de ce prélèvement en précisant les résultats attendus pour chacune d'entre elles. QUESTION n°:

Madame B, 36 ans, est hospitalisée pour prise en charge d'une insuffisance rénale chronique terminale?. La tension artérielle est à 16/10, des oedèmes sont

Puisque l’état singulet de spin n’existe pas, que peut-on dire sur la profondeur du potentiel pour un tel état.. que peut-on dire des états possibles constitués de deux neutrons