Corrigé du contrôle de connaissance
Dominante Informatique - Module Bases de Données
Lundi 8 décembre 1997

A. Normalisation

Préambule:

Vous savez tous désormais ce qu'est une opération de jointure relationnelle. Si on remplace les attributs de jointures alphanumériques par des attributs spatiaux (type complexe représentant par exemple une suite de points, de lignes, etc) et l'opérateur (=, >, <, etc) par un opérateur spatial (inclusion, intersection, adjacence, etc), on parle alors de jointure spatiale.

Cette opération de jointure spatiale est une opération assez critique, dans la mesure où elle fait intervenir des données volumineuse et des opérateurs assez complexes.

Nous développons à l'école une plateforme d'évaluation de performance des jointures spatiales.

Pour ce faire, Nous définissons des types de données spatiales (DT: datatype), qui correspondent à (i) un certain espace (un rectangle défini par longueur et sa largeur), (ii) un certain nombre d'objets spatiaux et (iii) une distribution statistique. Ces types peuvent être instanciés autant de fois qu'on le souhaite, on obtient alors alors autant de jeux de données spatiaux identifiés par un nom de fichier (DSfile: Data Sample file) et correspondant chacun à un type DT.

De la même manière, nous définissons des modèles de tests (TM), chaque modèle de test est la spécification d'une jointure spatiale sur deux types de données spatiales, avec un opérateur spatial particulier.

À l'instanciation de ces modèles de tests sur les "data samples" correspond un nombre de solution (solnb). Les instances de ces modèles de tests peuvent être exécutées autant de fois qu'on le souhaite à un temps donné et sur une machine donnée (time, host), avec un algorithme donné (algo) et permettent de recenser le nombre de lectures, écritures (read, write) réalisées.

Sujet:

Nous proposons la relation universelle suivante pour stocker dans une base de données l'ensemble des résultats de notre plateforme.

Universelle (TMid, DTid1, longueur1, largeur1, nb1, distri1, DSfile1, DTid2, longueur2, largeur2, nb2, distri2, DSfile2, op, algo, host, time, solnb, read, write)

B. Requêtes SQL

On dispose du schema relationnel :

sur lequel on veut poser les requêtes suivantes:

C. Questions générales