25.04.2014 Views

Examen BDA 2006/2007 - LaBRI

Examen BDA 2006/2007 - LaBRI

Examen BDA 2006/2007 - LaBRI

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!