Examen BDA 2006/2007 - LaBRI
Examen BDA 2006/2007 - LaBRI
Examen BDA 2006/2007 - LaBRI
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
MASTER INFORMATIQUE DE L’UNIVERSITÉ BORDEAUX 1<br />
UE INF 413: BASES DE DONNÉES AVANCÉES<br />
EXAMEN DU 23 JANVIER <strong>2007</strong> 09:00–12:00<br />
SUJET DE 4 PAGES (DEUX FEUILLES RECTO-VERSO)<br />
AUCUN DOCUMENT N’EST AUTORISÉ<br />
– Il n’est pas nécessaire de traiter entièrement le sujet pour obtenir un bon résultat.<br />
– La clarté de la rédaction comme de l’argumentation est un élément important d’appréciation.<br />
– On sera relativement tolérant sur la syntaxe exacte d’un formalisme du moment que l’esprit du formalisme<br />
est respecté.<br />
– En cas d’ambiguïté ou d’imprécision dans l’énoncé, on précisera comment on a compris la question<br />
avant d’y répondre.<br />
EXERCICE A . . . . . . . . . . . . . . . . . . . . . . . . . . . . BD OBJETS (ODL/OQL) ET SEMI-STRUCTURÉES (XML)<br />
On considère une base de données constituée de bande dessinées.<br />
– Une bande dessinée a un ou plusieurs auteurs, qui sont scénaristes ou/et dessinateurs et/ou coloriste<br />
de l’ouvrage en question, elle a un unique éditeur, un unique titre, un unique ISBN, un unique format<br />
et un unique prix.<br />
– Les mangas sont des bandes dessinées particulières, qui n’ont pas de coloriste mais ont un attribut<br />
supplémentaire sens_de_lecture qui vaut gauche_droite ou droite_gauche.<br />
– Un auteur a un nom, parfois un prénom, une ou plusieurs adresses, parfois une thématique, et parfois<br />
il est sous contrat d’exclusivité avec un éditeur.<br />
– Un éditeur a un nom, une adresse et parfois a des auteurs sous contrats.<br />
– Les adresses sont constituées d’un numéro, d’un nom de rue, d’une ville et d’un pays.<br />
A.1 Donner une description en ODL (Object Description Language) de classes, de relations, et d’attributs<br />
nécessaires à la représentation au stockage et à l’interrogation de ces données. Si des informations ou<br />
contraintes ne peuvent être représentées dans ce formalisme, on en fera la remarque.<br />
1
A.2 Avec les classes ainsi définies, exprimer en OQL (Object Query Language) les requêtes suivantes:<br />
A.2.a<br />
A.2.b<br />
A.2.c<br />
auteurs?<br />
Quels sont les auteurs sous contrats avec Dargaud qui résident à Bordeaux?<br />
Quels sont les auteurs qui dont toutes les bandes dessinées sont parues chez Dargaud?<br />
Quelle est, pour chaque auteur, la moyenne des prix des bandes dessinées dont il est l’un des<br />
A.3 A travers ce simple exemple, donner quelques avantages (au moins un, au plus trois) de l’approche<br />
objet sur l’approche relationnelle.<br />
A.4 Donner une DTD XML décrivant la même situation. Si des informations ou contraintes ne peuvent<br />
être représentées dans ce formalisme, on en fera la remarque.<br />
A.5 Donner un exemple de fichier XML validé par cette DTD (pour éviter que ce soit trop long, on<br />
pourra se limiter à 1 Manga, 1 bande dessinée qui ne soit pas un Manga, 2 auteurs dont un sous contrat, 1<br />
éditeur).<br />
A.6 Les questions suivantes vous feront découvrir un défaut de la représentation d’une base de données<br />
en XML:<br />
A.6.a Donner un exemple de contrainte de la base de données qui, si on utilise les IDREFS pour<br />
décrire sans redondance les relations, ne peut pas être exprimée par une DTD.<br />
A.6.b<br />
A.6.c<br />
La situation est-elle la même en ODL?<br />
Compléter votre exemple de document XML par un objet qui enfreint une telle contrainte.<br />
EXERCICE B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ACCÈS CONCURRENTS: GÉNÉRALITÉS<br />
B.1 Donnez un exemple de schéma sérialisable mais pas sérialisable par permutations. On expliquera<br />
pourquoi ce schéma est sérialisable et pourquoi les permutations ne peuvent atteindre un schéma sériel<br />
équivalent.<br />
B.2 Pour un entier quelconque n, définir un schéma dont le graphe de précédence entre transactions<br />
contient un cycle de longueur n mais pas de cycle de longueur strictement inférieure à n.<br />
B.2.a Un tel schéma peut-il être sérialisable par permutations? Si oui, donnez-en un exemple et sinon<br />
dites pourquoi.<br />
B.2.b<br />
Un tel schéma peut-il être sérialisable? Si oui, donnez-en un exemple et sinon dites pourquoi.<br />
2
EXERCICE C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ACCÈS CONCURRENTS: VALIDATION<br />
On considère les séquences d’écritures, de lecture et de validation suivantes pour trois transactions s,t,u:<br />
– S 1 : R s ; R t ; R u ; V s ; V t ; V u ; W s ; W t ; W u<br />
– S 2 : R s ; R t ; V s ; R u ; V u ; W s ; V t ; W t ; W u<br />
On suppose que les éléments lus (R) et écrits (W) par chaque transaction sont décrits par le tableau<br />
suivant:<br />
s t u<br />
R A,B B,C C,D<br />
W A A D<br />
C.1 Décrire l’exécution de S 1 en précisant l’ordre sériel équivalent.<br />
C.2 Décrire l’exécution de S 2 en précisant l’ordre sériel équivalent.<br />
EXERCICE D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ACCÈS CONCURRENTS: ESTAMPILLAGE<br />
On considère les deux séquences d’actions suivantes où st signifie début, r lire, et w écrire,<br />
– st 1 ; st 2 ; st 3 ; r 1 (A); r 2 (B); w 1 (C); r 3 (B); w 2 (B); w 3 (A)<br />
D.1 Décrire l’exécution de cette séquence d’instructions avec un système d’estampillage en précisant<br />
l’ordre sériel équivalent.<br />
D.2 Décrire l’exécution de cette séquence d’instructions avec un système d’estampillage multiple en<br />
précisant l’ordre sériel équivalent.<br />
EXERCICE E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ACCÈS CONCURRENTS: VERROUS<br />
On se place dans le système de verrouillage avec des verrous exclusifs et des verrous partagés. Les transactions<br />
sont à deux phases (2PL) — la définition est la même que pour les système de verrous simples: dans<br />
une transaction donnée tout verrouillage précède tout déverrouillage. Quelle type de correction cette condition,<br />
2PL, garantit-elle? Démontrez-le. (On pourra procéder par récurrence sur le nombre de transactions du<br />
schéma légal exécuté).<br />
3
Séquence d’instructions L:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
EXERCICE F . . . REPRISE SUR PANNE: UNDO LOG<br />
On suppose que la séquence d’instructions L décrit<br />
la suite des instructions d’un undo log.<br />
F.1 Ecrire un <br />
après <br />
F.2 Où s’écrira le ?<br />
F.3 Décrire la reprise après une panne si la dernière<br />
inscription visible sur le log est <br />
F.4 Décrire la reprise après une panne si la dernière<br />
inscription visible sur le log est <br />
EXERCICE G . . . REPRISE SUR PANNE: REDO LOG<br />
On suppose que la séquence d’instructions L décrit<br />
la suite des instructions d’un redo log.<br />
G.1 Ecrire un <br />
après <br />
G.2 Où s’écrira le ?<br />
G.3 Décrire la reprise après une panne si la dernière<br />
inscription visible sur le log est <br />
G.4 Décrire la reprise après une panne si la dernière<br />
inscription visible sur le log est <br />
EXERCICE H . REPRISE SUR PANNE: UNDO/REDO<br />
LOG<br />
Expliquer, en moins d’une page exemple compris,<br />
le fonctionnement d’un undo/redo log avec checkpoint<br />
en l’illustrant par un exemple. Votre explication<br />
envisagera le cas d’une panne apprès le checkpoint et<br />
celui d’une panne avant le checkpoint.<br />
4