Info Bases de données avancées

Slides:



Advertisements
Présentations similaires
Gestion de la concurrence avec Entity Framework Développement d’application avec base de données Chapitre 23 Hugo St-Louis – Automne 2015.
Advertisements

Les systèmes d'information 1- Une pratique quotidienne 2- Les données 3- Approche conceptuelle 4- Notion de serveur 5- Conception d'un système d'information.
1 Chapitre 2 La numération binaire. 2 Chapitre 2 : La numération binaire Introduction 1 - Le système binaire 2 - La conversion des nombres entiers 2.1.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
SQL partie 5 1 LMD create – update – primary key secondary key.
1- Introduction Sommaire Modèle Logique des Données 2- Structure 3- Traduction du MCD en MLD 4- Recap - Méthodologie.
SQL : 4 fonctions d'exploitation de SGBD SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage informatique ayant pour.
SQL query - 1 / D. Berrabah SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes Agrégats et groupement.
ANNEE ACADEMIQUE Institut Supérieur Emmanuelle D’Alzon de Butembo COURS: THEORIE DE BASE DE DONNEES : 45H PROMOTION: G2 Gestion Informatique.
Les Bases de données Définition Architecture d’un SGBD
Révision – mathématiques 8
Intégration du P7 dans l’épreuve E41
Exploitation de logiciels :
Introduction au Langage Pascal
Environnement du développement de BD ORACLE REPORTS 10g
Introduction aux Systèmes de Gestion de Bases de données
ملخص Initiation à la sgbdr
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Représentation des nombres réels
Initiation aux bases de données et à la programmation événementielle
Algorithmiques Abdelbasset KABOU
Langage de manipulation de données (LMD)
Base de données: Généralité IFT6800 Jian-Yun Nie.
Représentation de l’information en binaire:
De l’étude du système d’information à la mise en œuvre sous Access
Principes de programmation (suite)
Algorithmiques Abdelbasset KABOU
Généralité sur les bases de données
Les bases de données et le modèle relationnel
DARCY Lionel BTS SIO Option SLAM
Langage de Manipulation des Données LMD
Introduction Bases de données Accès Internet (Web)
SQL LID – INTERROGATIN DES DONNEES
Réalisation d’une application web sous le thème: «Mon vétérinaire » par : Benzineb Asmaa et Meftahi Oualid Présentation à Université Saad Dahlab Blida.
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
L E C ORPS D ’ UN A LGORITHME / P ROGRAMME – L A PARTIE I NSTRUCTION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie.
Introduction BD TABLES ET DONNÉES champs OU données, types de données
Cours N°9: Algorithmiques Les Tableaux 1
Manipulation D’Une Base De Données
Calcul Relationnel Chapitre 4, Section 4.3.
REVUE DE LITTERATURE. Introduction Première partie majeure dans la rédaction du mémoire, la réalisation d’une revue de littérature consiste à effectuer.
1 RECURSIVITE PRESENTATION Ch. PAUL ALGORITHMIQUE Présentation de la récursivité.
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Type Concret – Type Abstrait
Langage d’interrogation des Données LID
Calcul Scientifique Initiation à SCILB
Introduction en systèmes d’information et bases de données B.Shishedjiev -Introduction en BD 1.
I Copyright © 2004, Oracle. Tous droits réservés. Introduction.
1 Copyright © 2004, Oracle. Tous droits réservés. Extraire des données à l'aide de l'instruction SQL SELECT.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
Chapitre2: SGBD et Datawarehouse. On pourrait se demander pourquoi ne pas utiliser un SGBD pour réaliser cette structure d'informatique décisionnelle.
Algèbre relationnelle
MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE
© Robert Godin. Tous droits réservés.
Révision – mathématiques 8
Les cas d’utilisation 420-KE2-LG.
2.4 La loi de vitesse d’une réaction chimique
La puissance du transfert d’énergie électrique entre un générateur et un circuit constitué de conducteurs ohmiques dépend-elle de ces conducteurs ohmiques.
Chapitre 1 Formulation d’un programme linéaire (PL) Georges Abboudeh BUST 347.
Info Bases de données avancées
PRESENTATION ACCESS Editeur : Microsoft Environnement Windows (SE)
RABAH M ed Ali 2018/2019
© Robert Godin. Tous droits réservés.
Lecture/Écriture de fichiers (I/O)
Révision – mathématiques 8
Tableau de bord d’un système de recommandation
Algèbre Relationnelle
L’élaboration d’une fiche de lecture : éléments méthodologiques
22 Logique et bases de données
LINQ. LINQ (Language-Integrated Query) est une nouveauté du.NET Framework 3.5 C’est le nom d’un ensemble de technologies basé sur l’intégration de fonctions.
Transcription de la présentation:

Info 409 - Bases de données avancées Université Libanaise Faculté des Sciences – Section I Master 1 Informatique Info 409 - Bases de données avancées Semestre: 2 Année Universitaire: 2016/2017 Crédits: 5 Dr. Antoun Yaacoub

Plan Partie I Partie II Partie III Partie IV Pannes système Gestionnaire de transactions Contrôle concurrentiel Bases de données distribuées Partie II Implémentation des SGBDs: Enregistrements, blocs et adressage Structures d’index: Arbre binaire balancé et table de hachage Partie III Optimisation des requêtes Exécution des requêtes Partie IV Bases de données déductives Bases de données orientées objet

Bases de données déductives Partie IV

Référence Foundations of Databases 1st Edition Abiteboul, Hull, Vianu Addison-Wesley

Farouk Anahid Shakira Fouad Samar Fadi Jamila Ammar Leo Tatiana Marzouk Abir Antoun

Exemple Représentons cette arbre généalogique en une base de données relationnelles : create table parent(nom_parent varchar, nom_fils varchar) nom_parent nom_fils Shakira Fadi Jamila Farouk Anahid Ammar Leo Fouad nom_parent nom_fils Samar Marzouk Tatiana Fadi Jamila Antoun Abir Ammar

Exemple Ecrire une requête SQL permettant de trouver les parents d’Antoun SELECT nom_parent from parent where nom_fils=‘Antoun’ Ecrire une requête SQL permettant de trouver les grand parents d’Antoun SELECT p2.nom_parent from parent p2 where p2.nom_fils = any (select p1.nom_parent from parent p1 where p1.nom_fils=‘Antoun’) Ecrire une requête SQL permettant de trouver les arrières grand parents d’Antoun SELECT p3.nom_parent from parent p3 where p3.nom_fils = any ( SELECT p2.nom_parent from parent p2 where p2.nom_fils = any (select p1.nom_parent from parent p1 where p1.nom_fils=‘Antoun’))

Exemple Ecrire une requête SQL permettant de trouver tous les ancêtres (parents, grand parents, arrières grand parents, …) d’Antoun Il est impossible d’écrire cette requête !

Solution Utiliser les bases de données déductives

Introduction Une base de données déductive est une base d'information permettant d'extraire ou de déduire des informations. On a la possibilité de définir des règles qui peuvent déduire ou inférer des informations supplémentaires à partir des informations de la base. Dans un système de bases de données déductif, le langage déclaratif (à la PROLOG) est utilisé pour spécifier des règles. Un moteur d'inférence (ou mécanisme de déduction) dans le système peut déduire de nouveaux faits à partir de la base de données en interprétant les règles : nécessite une sémantique. Une base de données déductive utilise deux types de spécification: les faits et les règles.

Exemple parent(shakira,fadi). parent(shakira,jamila). parent(farouk,fadi). parent(farouk,jamila). parent(anahid,ammar). parent(anahid,leo). parent(fouad,ammar). parent(fouad,leo). parent(samar,marzouk). parent(samar,tatiana). parent(fadi,marzouk). parent(fadi,tatiana). parent(jamila,antoun). parent(jamila,abir). parent(ammar,antoun). parent(ammar,abir). sex(shakira,F). sex(farouk,M). sex(anahid,F). sex(fouad,M). sex(samar,F). sex(fadi,M). sex(jamila,F). sex(ammar,M). sex(leo,M). sex(marzouk,M). sex(tatiana,F). sex(antoun,M). sex(abir,F). Prédicats extensionnels

Exemple Ecrire une requête SQL permettant de trouver les parents d’Antoun parent(X,antoun). Ecrire une requête SQL permettant de trouver les grand parents d’Antoun parent(X,Y), parent(Y,antoun). Ecrire une requête SQL permettant de trouver les arrières grand parents d’Antoun parent(X,Y), parent(Y,Z), parent(Z,antoun).

Prédicats intensionnels Exemple Ecrire une requête permettant de trouver tous les ancêtres (parents, grand parents, arrières grand parents, …) d’Antoun ancetre(X,Y):-parent(X,Y). ancetre(X,Y):-parent(X,Z),ancetre(Z,Y). fils(X,Y):-parent(Y,X). soeur(X,Y) :-parent(Z,X), parent(Z,Y), sex(Y,f). frere(X,Y) :-parent(Z,X), parent(Z,Y), sex(Y,m). Prédicats intensionnels

Introduction Les faits : spécifiés de façon similaire à celle des relations en base de données, sauf qu'il n'est pas nécessaire d'inclure les noms d'attributs. Dans une base de données déductive, la signification d'une valeur d'attribut est déterminée par sa position dans le tuple. Les règles : quelque peu similaire aux vues relationnelles, elles spécifient des relations virtuelles qui ne sont pas stockées mais peuvent être construites à partir des faits en appliquant des mécanismes d'inférences sur la base des spécifications de règles. La différence principale avec les vues est que les règles peuvent comporter de la récursivité. Prolog :  Évaluation top-down (chaînage arrière). L'ordre des règles est important, ainsi que l'ordre des littéraux dans une règle. Datalog : Évaluation bottom-up (chaînage de bas-en-haut).

Notation Constante : commence toujours avec une minuscule. Variable :  commence toujours avec une majuscule. Exemple :  PARENT(PARENT,ENFANT). parent(X,Y) signifie que X est le parent de Y

Notation Une règle se compose comme ceci : tête:-corps. Où tête est appelé la conclusion, et corps les prémisses (ou hypothèses ou conditions). ex : ancetre(X,Y):-parent(X,Y). ancetre(X,Y):-parent(X,Z),ancetre(Z,Y).

Notation Les faits : s'écrivent comme les règles, et comportent des constantes, et non des variables dans le corps. ex :  parent(anahid,leo). parent(fouad,ammar). Les requêtes: permettent d’interroger la base de connaissances, en retournant des données ou des valeurs binaires. ex :  parent(X,antoun). ancetre(X,antoun).

Définition INFORMATIONS QUESTIONS Prédicat extensionnel (Extensional predicate) Prédicat dont les instances sont stockées dans la base de données sous forme de tuples. Prédicat intentionnel (Intensional predicate) Prédicat calculé par un programme constitué de règles logiques dont les instances ne sont pas stockées dans la base de données. BD intentionnelle RÈGLES MISES À JOUR Méta-Données BD extensionnelle BD Données

Architecture type d’un SGBD déductif intégré SGBD permettant de dériver les tuples de prédicats intentionnels par utilisation de règles. Interrogation Mise à jour Définition de connaissances Inférence Recherche et Mise à jour Tables Règles

Exemple Soit le prédicat aimer(X,Y) qui signifie X aime Y. Ecrire la règle suivante polyamoureux(X) qui signifie que X aime 2 personnes. polyamoureux(X) :- aimer(X,Y), aimer(X,Z), Y≠Z.

Exemple X 1 Y 2 t( , ) :- g( , ). t( , ) :- g( , ), t( , ). X 1 2 Y X Z Z Y t___ | | | g___ 1|2 2|3 3|2 1 2 2 3 3 2 1|3 2|2 3|3

Datalog sûr Toute variable qui apparait dans la tête d’une clause apparait aussi dans le corps.

Sémantique de Datalog 3 approches équivalentes Théorie du modèle Théorie du point fixe Théorie de preuve

Négation Etant donné les prédicats oiseau(X): X est un oiseau vole(X): X peut voler Ecrire les prédicats penguin(X): un oiseau qui peut ne pas voler penguin(X) :- oiseau(X), ¬vole(X). penguin(X) :- oiseau(X), not(vole(X)).

Négation Pour définir l’ensemble des entiers positifs: entier(0). entier(X):- Y is X-1, entier(Y). Pour définir les nombres pairs et impairs impair(1). impair(X):- Y is X-2, impair(Y). pair(X):-entier(X), ¬impair(X).

L’approche du point fixe La sémantique du programme est définie comme une solution particulière d’une équation à point fixe. La requête est réitérée jusqu’à ce qu’un point fixe est atteint. Comment? Evaluation Bottom-up

Evaluation bottom-up Commencer par les faits qui sont dans la base de données Utiliser les règles pour inférer de nouveaux faits Répéter jusqu’à ce qu’aucun nouvel fait pourrait être inféré En d’autres termes, calculer TOUS les faits qui peuvent être prouvé