Sujet du contrôle pour les EI 98/99

INSTITUT NATIONAL DES TELECOMMUNICATIONS

 

CONTROLE DES CONNAISSANCES

 

 

Bloc : Bases de données Code : BD21

 

Durée : 1h30 Date : 10/03/99

 

Documents autorisés : Coordonnateur :

ceux distribués en cours Mr Defude

 

____________________________________________________

 

Avertissements

 

1/ Lisez attentivement le sujet.

 

2/ Les questions sont indépendantes les unes des autres

 

3/ Essayez d’être clair et précis dans vos réponses.

 

4/ Soignez la présentation, dans la mesure du possible.

 

5/ Barême indicatif

 

Question 1 : 6 points (Q1.1 = 5 pts, Q1.2 = 1 pt)

Question 2 : 4 points (Q2.1 = 2 pts, Q2.2 = 2 pts)

Question 3 : 6 points (Q3.1 = 2 pts, Q3.2 = 2 pts, Q3.3 = 2 pts)

Question 4 : 4 points (Q4.1 = 2 pts, Q4.2 = 2 pts)

 

 

 

On veut gérer un système de messagerie électronique dans une base de données dont le schéma est le suivant :

 

MESSAGE(nomsg, sujet, date, corps, adremetteur)

DESTINATAIRE(nomsg, adrdestinataire)

REPONSE(nomsgrep, nomsginit)

LOCUTEUR(adremail, nom, type)

COMPOSITION(adremailgroupe, adremailpers)

 

Les clés sont soulignées et les clés étrangères sont en gras.

La sémantique des diverses relations est la suivante :

MESSAGE(nomsg, sujet, date, corps, adremetteur)
: un message est identifié de manière unique par son numéro et est
décrit par son sujet, sa date, son corps et l’adresse de l’émetteur
(adremetteur clé étrangère sur LOCUTEUR),
DESTINATAIRE(nomsg, adrdestinataire):
un message peut être envoyé à plusieurs destinataires. Un tuple dans
DESTINATAIRE indique qu’un message (désigné par nomsg) a été envoyé à
un destinataire (désigné par adrdestinataire qui prend ses valeurs dans
le même domaine que adremail dans LOCUTEUR),
REPONSE(nomsgrep, nomsginit)
: un message peut être envoyé en réponse à un premier message. Le
message en réponse est identifié de manière unique par son numéro
(nomsgrep) et le message auquel il répond est référencé par nomsginit
(clé étrangère sur MESSAGE),
LOCUTEUR(adremail, nom,
type) : un locuteur est identifié de manière unique par son adresse
email et est caractérisé par son nom et son type. Le type indique si le
locuteur est une personne (type=P) ou un groupe (type=G),
COMPOSITION(adremailgroupe, adremailpers)
: un groupe (un locuteur de type G) se compose de personnes (des
locuteurs de type P). Par souci de simplicité nous ne considérons pas
les groupes composés d’autres groupes. Un tuple dans COMPOSITION
indique que la personne désignée par l’adresse adremailpers appartient
au groupe désigné par l’adresse adremailgroupe.

Question 1

Q1.1 En vous aidant des règles de passage d’une modélisation
Entité/association à une modélisation relationnelle "à l’envers",
proposer un schéma Entité/Association équivalent à ce schéma
relationnel. Ce schéma devra comporter la description des entités (avec
leurs propriétés), des entités faibles (s’il y a lieu), des
associations (avec leurs propriétés) ainsi que les cardinalités minimum
et maximum des associations binaires.

Q1.2 Donner en français quelques contraintes
d’intégrité intéressantes qui permettent de préciser la définition du
schéma. Par contrainte intéressante on entend des contraintes de type
"un groupe ne peut pas se composer d’autres groupes" par exemple.


Question 2

Exprimer chacune des 2 questions suivantes, d’une part en algèbre relationnelle sous la forme d’un arbre algébrique, et d’autre part en SQL.
(Q2.1) Donner le nom des locuteurs qui ont envoyé un message au locuteur d’adresse email ‘liste-ig2.int-evry.fr’.
(Q2.2) Donner l’adresse email et le nom des locuteurs qui composent le groupe d’adresse email ‘liste-adm.int-evry.fr’.
Question 3
Exprimer les 3 questions suivantes en SQL :
(Q3.1) Donner le nombre de messages reçus par le locuteur d’adresse email ‘defude@int-evry.fr’.
(Q3.2) Donner pour chaque groupe (adresse email et nom) le nombre de personnes qui le compose.
(Q3.3) Donner l’adresse email de la personne qui appartient au plus grand nombre de groupes.
Question 4
Exprimer les 2 questions suivantes en algèbre relationnelle ou en SQL :
(Q4.1) Donner les messages (nomsg et sujet) qui n’ont fait l’objet d’aucune réponse.
(Q4.2) Donner les locuteurs (adremail et nom) qui appartiennent à tous les groupes.