Bases de données temporelles : une introduction Plan du cours : Les représentations du temps dans les bases de données. Résultats d’expressivité. ! Cadre : le modèle relationnel. Langages de requêtes temporels TS - FO, TL, TL. Les représentations du temps dans les BD Les représentations du temps dans les BD Choix du domaine temporel : intervalles vs. instants. – intervalles : les données des relations sont valides pendant une certaine durée. – instants : les données sont valides ponctuellement. Approche considérée dans ce cours : instants. Les représentations du temps dans les BD Choix de la représentation des instants : explicite vs. implicite. – BD avec temps explicite : chaque relation possède un attribut de type « temps ». les instants sont stockés dans la BD. – BD avec temps implicite : suite de bases de données « statiques ». les instants ne sont pas stockés dans la BD. Approches considérées dans ce cours : les deux. Les représentations du temps dans les BD – BD avec temps explicite (exemple) : Retrait -20 5 février CB -34.5 5 février Paye +1200 6 février Chèque -27 7 février PEL -45 7 février – BD avec temps implicite (exemple) : Retrait -20 CB -34.5 (5 février) Paye (6 février) +1200 Chèque -27 PEL -45 (7 février) Les représentations du temps dans les BD Équivalence en terme de représentativité des données entre tous les formalismes introduits ici. instants – intervalles prendre un intervalle réduit à un point. représenter un intervalle par ses deux extrémités. – explicite Trivial. implicite (ne s’applique qu’aux instants) Il existe d’autres représentations possibles (temps continu, non linéaire, non borné...) Langages de requêtes temporels TS - FO, TL, TL Langages de requêtes temporels Rappels (définitions) : – une requête est une fonction (bien) typée, calculable, et générique. – un langage est la donnée d’une syntaxe et d’une sémantique. La syntaxe permet de définir les objets du langage tandis que la sémantique fournit une interprétation pour ces objets. – un langage de requêtes est un ensemble de requêtes. – par conséquent, un langage est un langage de requêtes si l’interprétation de chaque objet de est une requête. Rappels (logique du premier ordre FO) : . – formules atomiques : – opérateurs (ensemble minimal considéré) : , , . Ils permettent d’exprimer , , ... Langages de requêtes temporels : TS - FO TS - FO sur la version explicite des BD temporelles. FO Exemple : soit l’ensemble des employés d’une entreprise au cours du temps. La formule suivante exprime, lorsqu’on l’évalue, que est un employé qui a été engagé, puis licencié, puis réengagé : Langages de requêtes temporels : TL FO TL (sur la version implicite des BD temporelles). les formules sont évaluées à un – représentation implicite du temps instant donné. est vraie à un instant s’il existe un instant – intuitivement, tel que soit vraie à l’instant , et tel que pour tout instant compris (strictement) entre et , est vraie. est le dual de – pour le futur. Langages de requêtes temporels : TL Syntaxe de TL : Les objets de TL sont appelés des formules. L’ensemble des formules de TL est le plus petit ensemble tel que : de FO est une formule. – tout atome et sont des formules alors , – si , formules. et – si et sont des formules alors formules. sont des et sont des Langages de requêtes temporels : TL Sémantique de TL : une formule de TL, si : . est défini de la et pour et pour est un atome et est de la forme , , : alors même manière que dans FO. et il existe tel que – est de la forme tout , on a . et il existe tel que – est de la forme , on a . tout – – une une BD temporelle, . On dit que Soit valuation, Langages de requêtes temporels : TL Quelques exemples : _ – – _ – _ _ . ? (exercice) ? (exercice) – – soit l’ensemble des employés d’une entreprise au cours du temps. La formule suivante exprime, lorsqu’on l’évalue à un instant , que est un employé qui a été engagé, puis licencié, puis réengagé : _ _ _ Langages de requêtes temporels : TL (sur la version implicite des FO TL BD temporelles). . une BDT ; soit un symbole de relation tq Soit une formule où peut apparaitre. Intuitivement, Soit représente une relation intensionnelle dont le calcul s’effectue en jusqu’à atteindre un point fixe. Par exemple, la itérant la formule -ième étape du calcul se déduit de la -ième selon le schéma : ... ... ) , , ) ( : , , ( : est l’ensemble des n-uplets qui vérifient à l’instant quand où . le symbole est interprété par la relation temporelle Langages de requêtes temporels : TL est inflationniste si pour toute BD temporelle , pour toute relation temporelle sur le Définition : la formule , pour tout schéma : doit être inflationniste. Remarque importante : la formule une valuation » En abrégé : « une valuation Question : pourquoi se restreindre aux formules inflationnistes dans TL ? Langages de requêtes temporels : TL TL Syntaxe de : TL Les objets de TL sont des formules. L’ensemble des formules de le plus petit ensemble tel que : est – tout atome de FO est une formule. et sont des formules alors , et sont des – si , formules. et sont des formules. – si est une formule alors – si est un schéma de relation d’arité n’appartenant pas au schéma est une formule inflationniste où peut apparaitre alors de BD, si est une formule. Langages de requêtes temporels : TL Sémantique de TL, une une formule de si : une BD temporelle, . On dit que Soit valuation, : TL est (resp. est un atome ou une combinaison booléenne : alors défini de la manière usuelle. (resp. ) et – est de la forme ). . Alors – est de la forme , où est la limite de la suite – : , Pour tout si une val. : où pour tout Langages de requêtes temporels : TL Quelques exemples : une BDT sur le schéma – requête de l’épidémiologiste. Soit . Règle : une personne est dite « à risque » si elle est malade, ou si elle a déjà été en contact avec une personne soit malade, soit à risque. La formule qui, évaluée à l’instant final , donne l’ensemble des personnes à risque est avec : – soit . Évaluer la formule une BDT contenant un graphe à l’instant final avec : qui soit équivalente au TL – (exercice) : trouver une formule de de la logique temporelle TL. Résultats d’expressivité Résultats d’expressivité Rappels (définitions) : sont équivalentes si pour Soient et deux requêtes. On dit que et toute BDT : une val. est soit le premier soit le dernier instant de ) deux langages de requêtes. et Soient (en pratique, une val. si pour toute requête de il existe une requête de telle que et sont équivalentes. – si et il existe une requête de telle qu’il n’existe pas de requête de qui soit équivalente à . si et . – – Résultats d’expressivité Théorème : TL TS - FO Preuve : et – inclusion simple : utiliser variables temporelles pour – inclusion strite : protocoles de communication. . cf. prochain cours. Théorème : TS - FO TL Preuve : – inclusion simple : simuler les variables temporelles par des relations particulières. – inclusion strite : le calcul ne peut exprimer la fermeture transitive alors que TL le peut. explications au tableau, si le temps le permet. FIN. Bibliographie Un survey sur les BD temporelles [CHO94] J. Chomicki. Temporal Query Languages : a Survey. Proceedings of the First International Conference on Temporal Logic, pages 506–534, 1994. Pour le background théorique (mais ne concerne pas le temporel) [AHV95] S. Abiteboul, R. Hull et V. Vianu. Foundations of Databases. Addison-Wesley, 1994. L’introduction historique de la logique temporelle TL [PRI57] A. Prior. Time and Modality. Oxford University Press, 1957. L’introduction historique de TL, dans le cas propositionnel uniquement [VAR88] M. Y. Vardi. A temporal fixpoint calculus. In Proceedings 5th ACM Symposium on Principles of Programming Languages, pages 250–259, 1988. TL Une thèse présentant entre autres l’extension de au premier ordre [HER97] L. Herr. Langages de Requête pour les Bases de Données Temporelles. Thèse de doctorat, Université Paris Sud, 1997. Preuve originale de TL TS - FO [AHVdB95] S. Abiteboul, L. Herr et J. Van den Bussche. Temporal Connectives versus Explicit Timestamps in Temporal Query Languages. In Proceedings of the VLDB International Workshop on Temporal Databases, pages 43–57, 1995. Une preuve de TL TS - FO par les jeux de Ehrenfeucht-Fraïssé [BDS02] N. Bidoit, S. De Amo, L. Segoufin. Order independent temporal properties. Soumis (en attente), 2002. Preuve originale de : le calcul ne peut exprimer la fermeture transitive [AU79] A. V. Aho et J. D. Ullman. Universality of Data Retreival Languages. In Sixth ACM POPL, pages 110–120, 1979.