Datalog est un langage de requête et de règles pour les bases de données déductives. Il correspond à un sous ensemble de Prolog. Ses origines remontent aux débuts de la programmation logique.
Datalog a la syntaxe suivante. On fixe:
Un ensemble , dont les éléments sont appelés variables
Un ensemble , dont les éléments sont appelés constantes
Un schéma relationnel , c'est-à-dire un ensemble fini de prédicats, à chaque prédicat étant associé un entier positif ou nul appelé arité
Une partition de ce schéma relationnel en deux sous-schémas, le schéma intensionnel et le schéma extensionnel (les prédicats sont donc soit intensionnels, soit extensionnels)
Un prédicat intensionnel distingué
Une règle Datalog est une expression de la forme: où est un prédicat intensionnel, sont des prédicats intensionnels ou extensionnels, et et sont des n-uplets d'éléments de , dont l'arité est compatible avec celle des prédicats. est appelé la tête de la règle, son corps. On impose que chaque variable apparaissant dans la tête de la règle apparaisse également dans son corps.
Un programme Datalog est un ensemble fini de règles Datalog.
Fixons une instance du schéma extensionnel, c'est-à-dire une base de données relationnelle dont les tables sont des instances des prédicats extensionnels. Un programme Datalog définit une requête sur cette base de données , l'arité de cette requête étant l'arité du prédicat .
Pour définir cette sémantique, observons tout d'abord que chaque règle de la forme peut être vue comme une requête sur des instances du schéma relationnel :où est l'ensemble des variables de apparaissant dans le corps de la règle .
Introduisons l'opérateur de conséquence qui transforme une instance du schéma relationnel en une autre instance de ce même schéma, formée de l'instance initiale et de toutes ses conséquences par chaque règle de : . Pour , posons . Le résultat de l'évaluation de sur , noté , est , où est le point fixe de la suite . L'existence de ce point fixe est garanti par le fait que est un opérateur croissant, via une application élémentaire du théorème de Knaster-Tarski.
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
This course provides a deep understanding of the concepts behind data management systems. It covers fundamental data management topics such as system architecture, data models, query processing and op
En informatique, la théorie des bases de données englobe un vaste ensemble de sujets relatifs aux études et recherches dans le domaine théorique des bases de données et de leur systèmes de gestion. Les aspects théoriques de la gestion des bases de données incluent entre autres les fondements des langages de requêtes, la complexité, la puissance d'expression des requêtes, la théorie des modèles finis, le contrôle de dépendance, les fondements du contrôle de concurrence, la sauvegarde et restauration, les bases de données temporelles, , spatiales, , la gestion de , et les données du Web.
En informatique et en bases de données, NoSQL désigne une famille de systèmes de gestion de base de données (SGBD) qui s'écarte du paradigme classique des bases relationnelles. L'explicitation la plus populaire de l'acronyme est Not only SQL (« pas seulement SQL » en anglais) même si cette interprétation peut être discutée. La définition exacte de la famille des SGBD NoSQL reste sujette à débat. Le terme se rattache autant à des caractéristiques techniques qu'à une génération historique de SGBD qui a émergé autour des années 2010.
L'algèbre relationnelle est un langage de requêtes dans des bases de données relationnelles. L'algèbre relationnelle a été inventée en 1970 par Edgar Frank Codd, le directeur de recherche du centre IBM de San José. Il s'agit de la théorie sous-jacente aux langages de requête des SGBD, comme SQL. Le théorème de Codd dit que l'algèbre relationnelle est équivalente au calcul relationnel (logique du premier ordre sans symbole de fonction). Elle est aussi équivalente à Datalog¬ (Datalog avec la négation) non récursif.
Explore les bases de données parallèles et distribuées, couvrant les architectures, l'optimisation des requêtes, le stockage des données et les transactions distribuées.
Explore le modèle Vector Space, le sac de mots, tf-idf, cosine similarité, Okapi BM25, et la précision et le rappel dans la récupération d'information.
As a unified data repository, data lake plays a vital role in enterprise data management and analysis. It composes the raw files into tables that are processed in-situ by various computation engines and applications. Therefore, the read performance of the ...
Computing the count of distinct elements in large data sets is a common task but naive approaches are memory-expensive. The HyperLogLog (HLL) algorithm (Flajolet et al., 2007) estimates a data set's cardinality while using significantly less memory than a ...
Single-round multiway join algorithms first reshuffle data over many servers and then evaluate the query at hand in a parallel and communication-free way. A key question is whether a given distribution policy for the reshuffle is adequate for computing a g ...