2 research outputs found

    Semi-automated assessment of SQL schemas via database unit testing

    Get PDF
    A key skill for students learning relational database concepts is how to design and implement a database schema in SQL. This skill is often tested in an assignment where students derive a schema from a natural language specification. Grading of such assignments can be complex and time consuming, and novice database students often lack the skills to evaluate whether their implementation accurately reflects the specified requirements. In this paper we describe a novel semi-automated system for grading student-created SQL schemas, based on a unit testing model. The system verifies whether a schema conforms to a machine-readable specification and runs in two modes: a staff mode for grading, and a reduced functionality student mode that enables students to check that their schema meets specified minimum requirements. Analysis of student performance over the period this system was in use shows evidence of improved grades as a result of students using the system.Peer Reviewe

    Contributions aux notions d’équivalence relationnelle dans un contexte d’essais

    Get PDF
    Plusieurs systèmes d’aide à l’enseignement ont la capacité d’évaluer et de comparer les travaux des étudiants. Dans un contexte d’enseignement des systèmes de gestion de bases de données relationnelles, une telle comparaison nécessite l’étude des équivalences entre les requêtes et leurs résultats. Plus précisément, les équivalences de requêtes peuvent être vérifiées selon deux modèles, à savoir le modèle SQL et le modèle relationnel. Bien que plusieurs travaux de recherche aient déjà été menés pour la comparaison de requêtes et de résultats basés sur des équivalences syntaxiques et sémantiques, la plupart d’entre eux ne traitent pas les deux modèles. Dans ce mémoire, nous proposons quatre algorithmes: les deux premiers pour la vérification de l’équivalence sémantique (selon le modèle SQL et selon le modèle relationnel) et les deux autres algorithmes pour la vérification de l’équivalence des résultats (selon le modèle SQL et selon le modèle relationnel). Les deux premiers reposent principalement sur un algorithme proposé par Cohen. L’algorithme appliqué au modèle SQL prend en compte les nuls ainsi que sept paramètres, à savoir le nom des attributs, le nombre d’attributs, le nombre de lignes, le type des attributs, la valeur des attributs, l’ordre des attributs et l’ordre des lignes. L’algorithme appliqué au modèle relationnel prend en compte cinq paramètres, à savoir le nom des attributs, le nombre d’attributs, le nombre de lignes, le type des attributs et la valeur des attributs. Ces algorithmes s’appliquent pour un sous-ensemble important des requêtes SELECT (comprenant notamment les clauses GROUP BY et HAVING). Ils ont été mis en œuvre dans l’outil Themis que nous avons développé. Themis permet en outre de vérifier partiellement la syntaxe des requêtes
    corecore