• Aucun résultat trouvé

Universit´e Bordeaux 1 — Master d’informatique UE Bases de Donn´ees INF 305 (Retor´e) Devoir surveill´e du Jeudi 17 mars, 8h–9h30 + une solution possible

N/A
N/A
Protected

Academic year: 2022

Partager "Universit´e Bordeaux 1 — Master d’informatique UE Bases de Donn´ees INF 305 (Retor´e) Devoir surveill´e du Jeudi 17 mars, 8h–9h30 + une solution possible"

Copied!
4
0
0

Texte intégral

(1)

Universit´e Bordeaux 1 — Master d’informatique UE Bases de Donn´ees INF 305 (Retor´e)

Devoir surveill´e du Jeudi 17 mars, 8h–9h30 + une solution possible

On consid`ere la base ”avions” maintes fois vue en TD:

PILOTE (NUMPIL, NOMPIL, ADR, SAL) AVION (NUMAV, NOMAV, CAPACITE, LOC)

VOL (NUMVOL, NUMPIL, NUMAV, VILLE_DEP, VILLE_ARR, H_DEP, H_ARR) NUMPIL: cl´e de PILOTE, nombre entier

NOMPIL: nom du pilote, cha^ıne de caract`eres

ADR: ville de la r´esidence du pilote, cha^ıne de caract`eres SAL: salaire du pilote, nombre entier

NUMAV: cl´e de AVION, nombre entier

CAPACITE: nombre de place d’un avion, nombre entier

LOC: ville de l’a´eroport d’attache de l’avion, cha^ıne de caract`eres NUMVOL: cl´e de VOL, nombre entier

VILLE_DEP: ville de d´epart du vol, cha^ıne de caract`eres VILLE_ARR: ville d’arriv´ee du vol, cha^ıne de caract`eres H_DEP: heure de d´epart du vol, nombre entier entre 0 et 23 H_ARR: heure d’arriv´ee du vol, nombre entier entre 0 et 23 Exercice A Contraintes en alg`ebre relationnelle/sch´ema

(A.i) Exprimer la contrainte suivante en alg`ebre relationnelle:

Tout pilote conduisant un vol figure dans la table PILOTE.

πNU MPILPILOT ENU MPILV OL= /0

(A.ii) Donner la d´efinition de

Les attributs NOMPIL et ADR constituent une cl´e de la relation PILOTE.

Si les attributs NOMPIL et ADR sont ´egaux pour deux n-uplets de PILOTE alors tous leurs attributs sont ´egaux.

(A.iii) Exprimer la contrainte pr´ec´edente en alg`ebre relationnelle.

σNU MPIL6=NU MPILbis OR SAL6=SALbis(PILOT E ./ρNU MPIL→NU MPILbis,SAL→SALbisPILOT E)

1

(2)

Exercice B Requˆetes en alg`ebre relationnelle

Exprimer les requˆetes suivantes dans l’alg`ebre relationnelle:

(B.i) Quels sont les pilotes gagnant moins de 20000?

σSAL≤20000PILOT E

(B.ii) Quels sont les pilotes conduisant au moins un vol au d´epart de ’Bordeaux’?

πNU MPIL,NOMPILσV ILLE DEP=0Bordeaux0(PILOT E./V OL)

(B.iii) Quels sont les pilotes conduisant un vol au d´epart de chez eux avec un avion localis´e dans leur ville?

πNU MPIL,NOMPIL(PILOT E./ρV ILLE DEP→ADRV OL./ρLOC→ADRAV ION)

(B.iv) Quels sont les pilotes conduisant des avions de plus de 300 places?

πNU MPIL,NOMPILσCAP≥300(PILOT E./V OL./AV ION)

(B.v) Quels sont les pilotes ne conduisant que des avions de plus de 300 places?

πNU MPIL,NOMPILPILOT ENU MPIL,NOMPILσCAP<300(PILOT E./V OL./AV ION)

2

(3)

Exercice C Datalog

Exprimer en Datalog les requˆetes suivantes.

(C.i) Quels sont les avions de plus de 300 places et localis´es `a ’Bordeaux’?

Ci(n,a):-AVION(n,a,c,’Bordeaux’) AND c>=300.

(C.ii) Quels sont les num´eros et noms d’avions dont le nom n’est ni Airbus ni Boeing?

Cii(n,a):-AVION(n,a,c,l) AND a<> ’Boeing’ AND a<>’Airbus’.

(C.iii) Quels sont les pilotes conduisant un vol au d´epart de chez eux?

Ciii(p,x):-PILOTE(p,x,v,_) AND VOL(_,p,_,v,_,_,_).

(C.iv) Quels sont les avions conduits par un pilote dont le nom est ’Martin’ ou ’Durand’?

MouD(u):-PILOTE(u,’Martin’,_,_).

MouD(u):-PILOTE(u,’Durand’,_,_).

Civ(n,a):-MouD(u) AND VOL(_,u,n,_,_,_,_) AND AVION(n,a,_,_).

(C.v) Quels sont les villes atteignables depuis ’Bordeaux’ directement?

Cv(v):-VOL(_,_,_,’Bordeaux’,v,_,_).

(C.vi) Quelles sont les villes atteignables depuis ’Bordeaux’ avec correspondance?

R´eponse pour ceux qui ont compris ”avec ´eventuellement une ou plusieurs correspondances”:

Att(x,y):-VOL(_,_,_,x,y,_,_).

Att(x,y):-VOL(_,_,_,x,z,_,_) AND Att(z,y).

Cvi(v):-Att(’Bordeaux,v).

(C.vii) Quelles sont les villes atteignable depuis ’Bordeaux’ avec correspondance en ne volant jamais avec un ’Tupolev’?

SST(x,y):-VOL(_,n,_,x,y,_,_) AND AVION(n,a,c,l) AND a<>’Tupolev’.

AttSST(x,y):-SST(x,y).

AttSST(x,y):-SST(_,_,_,x,z,_,_) AND AttSST(z,y).

Cvii(v):-AttSST(’Bordeaux,v).

(C.viii) Quels sont les pilotes conduisant un vol au d´epart d’une autre ville que la leur avec un avion localis´e ailleurs que dans leur ville de r´esidence?

Cviii(p,x):-PILOTE(p,x,v,_) AND VOL(_,p,n,v’,_,_,_)

AND AVION(n,a,_,v’’) AND v<>v’ AND v<>v’’.

(C.ix) Quels sont les pilotes ne conduisant que des vols au d´epart de leur ville de r´esidence avec un avion localis´e dans cette mˆeme ville?

Pilotes conduisant un avion au d´epart d’une autre ville que la leur.

B(p,x):- PILOTE(p,x,v,_) AND VOL(_,p,n,v’,_,_,_) AND v<>v’.

Pilotes conduisant un avion localis´e dans une autre ville que la leur.

C(p,x):-PILOTE(p,x,v,_) AND VOL(_,p,n,_,_,_,_) AND AVION(n,a,_,v’’) AND v<>v’’.

Cix(p,x):-PILOTE(p,x,_,_) AND NOT B(p,x) AND NOT C(p,x).

3

(4)

Exercice D Alg`ebre relationnelle sur les multi-ensembles

(D.i) (pr´eliminaire) Si R, S et T sont des ensembles, si ∩et∪d´enotent les op´erations en- semblistes usuelles, que peut-on dire de R∩(S∪T) et (R∩S)∪(R∩T)? de R∪(S∩T) et de (R∪S)∩(R∪T)?

R∩(S∪T) = (R∩S)∪(R∩T) R∪(S∩T) = (R∪S)∩(R∪T)

Soient

RNOM,SALσADR=0Nice0PILOT E SNOM,SALσSAL>2000PILOT E TNOM,SALσNU MPIL>100PILOT E On note∩met∪ml’intersection et la r´eunion des multi-ensembles.

(D.ii) Donner une table PILOTE sans doublon telle que R, S et T aient toutes des doublons.

NU MPIL NOMPIL ADR SAL

90 0Martin0 0Paris0 1500 101 0Durand0 0Nice0 3000 201 0Durand 0Nice0 3000 302 0Durand0 0Paris0 3000 421 0Martin0 0Bordeaux0 2000

(D.iii) Sans connaˆıtre PILOTE, peut-on dire que

Rm(S∪mT) = (R∩mS)m(R∩mT) Si oui dites pourquoi, sinon donnez un contre-exemple.

Si R=S=T={a,a}alors R∩m(S∪mT) ={a,a,}tandis que(R∩mS)∪m(R∩mT) = {a,a,a,a}. Ces deux expressions ne sont donc pas toujours ´egales.

(D.iv) Sans connaˆıtre PILOTE, peut-on dire que

Rm(S∩mT) = (R∪mS)m(R∪mT) Si oui dites pourquoi, sinon donnez un contre-exemple.

Ces deux expressions sont ´egales parce qu’en appelant ar as et at les multiplicit´es respectives d’un n-uplet a dans R, S et T , la multiplicit´e du n-uplet a dans Rm(S∩m T)est ar+inf(as,at). Celle-ci est bien ´egale `a inf(ar+as,ar+at), la multiplicit´e du n-uplet a dans(R∪mS)m(R∪mT).

4

Références

Documents relatifs

Exercice 4 : cryptage Ecrire un programme qui demande ` a l’utilisateur de saisir 26 lettres pour chiffrer les 26 lettres de l’alphabet (et v´ erifie qu’il ne rentre pas deux fois

Gunter Axt, Eloína Prati dos Santos, Fábio Vergara Cerqueira, Monique Vandresen, Licia Soares de Souza, Volnei José Righi, Zila Bernd, Andrea Pacheco Pacífico Dossiê Temático

Syntaxe de l’adressage indirect par registre.- Comme nous l’avons d´ej` a vu, pour d´esigner une valeur constante on ´ecrit cette valeur (en hexad´ecimal), pour une valeur se

Syntaxe de l’adressage indirect par registre en langage symbolique.- Comme nous l’avons d´ej` a vu, en langage symbolique, pour d´esigner une constante on ´ecrit celle-ci

Montrer que le r´esultat obtenu est toujours un carr´e, quel que soit le nombre choisi au d´epart.. (Prendre x comme nombre de d´epart et ´ecrire une expression

On suppose par l’absurde qu’il existe un tiangle ´equilat´eral ABC dont les coordonn´ees des sommets dans un rep`ere orthonorm´e direct du plan sont des entiers. Conclure en

imprime toutes les lignes contenant le mot analyse suivi du mot lexical dans tous les fichiers de suffixe .tex. (L’option -i

Malgr´ e l’absence de carrefours, les accidents sont si nombreux que les pouvoirs publics annoncent leur intention de mettre toutes les routes ` a sens unique. Une pol´ emique ´