Fondements des bases de données Introduction Équipe pédagogique BD Introduction
Fondements des bases de données Introduction Équipe pédagogique BD Introduction Le modèle relationnel Structured Query Language Objectif de l’enseignement Approfondir les connaissances du modèle relationnel et les fondements de la conception de bases de données : ▶Connaitre les principes des dédpendances : systèmes d’inférences, fermeture, bases de règles, énumération ▶Savoir concevoir et normaliser une BD, ▶Savoir concevoir des BDs en SQL et programmer des déclencheurs en PL/SQL. Pré-requis Modèle relationnel ▶Structure : attributs, relations, bases de données. ▶Langages du relationnels : algèbre et calcul relationnel, SQL ▶Modélisation Entité/Association. Maîtriser les contenus de l’UE LIF4 Initiation aux bases de données http://liris.cnrs.fr/~fduchate/ens/2012-2013/LIF4/ Bases théoriques ▶éléments de théorie des ensembles (graphes, arbres, treillis) ▶éléments de théorie des langages (c.f. LIF15 : mots, langages formels, notions de complexité) ▶éléments logique classique (c.f. LIF11 : syntaxe et sémantique de la logique propositionnelle, système de déduction, logique du premier ordre) ; Références ▶S. Abiteboul, R. Hull et V. Vianu. Fondements des bases de données. Addison-Wesley, 1995. ▶J. Widom. Introduction to Databases. sur www.db-class.org/db/Winter2013. ▶R. Ramakrishnam et J. Gehrke. Database Management Systems. 2003 (troisième édition). ▶Matériel disponible en ligne allant avec la référence précédente : pages.cs.wisc.edu/~dbbook/ ▶J.-L. Hainaut. Bases de données : Concepts, utilisation et développement. Dunod, 2012 (deuxième édition). ▶Sélection d’articles de recherche, références dans les sujets de TD et TP. Organisation du cours ▶Introduction, rappels (2h) ▶Contraintes et dépendances du modèle relationnel (4h) ▶PL/SQL Oracle (4h) (classe inversée) ▶Conception de BD (8h) ▶Structures d’indexation (2h) (classe inversée) ▶Introduction au modèle XML (2h) Modalités du contrôle continu intégral ▶3 CCs : 45 minutes en CM, 15% chacun. ▶TP, une note à partir des différents rendus 25%. ▶1 contrôle final : 1h30, 30%. * Syntaxe graphique * Passage E/A -> relationnel Modèle Entité/Association * Besoins * Types d'index (simples, B-arbre+, tables de hachages, etc.) * Evaluation de requête avec les index Indexation Introduction au Modèle Relationnel * Objectifs et contenus de l'UE * Le modèle relationnel *Structured Query Language * Motivations * Sémantique * Anomalies Introduction aux contraintes d'intégrité Introduction * Syntaxe * Sémantique * Cas particulier (clés) DFs * Définition * Propriétés Couvertures * Implication logique *Règle et Syst. d'inférence *Système d'Armstrong * Règles supplémentaires Inférence de DFs * Algo de fermeture pour l'implication logique * Algo simple * Algo linéaire Fermeture de DFs * Couverture Minimum * Algorithme de réduction Algorithmes pour les couvertures * Contre-exemple de la complétude d'Armstrong * Relation d'Armstrong *Algorithme Relation d'Armstrong Dépendances Fonctionnelles * Syst. de Casanova * Combinaisons DF & DI Inférence des DIs * Syntaxe * Sémantique * Cas particuliers Dépendances d'inclusion Dépendances d'inclusion * Données et structures de contrôles * Procédures et fonctions * Exceptions Prog. sous Oracle * Types d'index * Performance Index sous Oracle * ACID * Déterminer les transactions en cours * Niveau d'isolation Transactions * Motivation * Def. et exemples * Tables mutantes Triggers * Select INTO * Curseurs Prog. et SQL * Contraintes PK, FK, Unique, Check * Tables systèmes associées LDD Oracle : PL/SQL * Pourquoi? * Exemples d'anomalies Pb & Motivations Normalisation * PI * Perte de DFs * Solution aux anomalies * Quand ne pas normaliser Décomposition et Perte d'information * Algo. de synthèse * Algo de décomposition Algorithmes * Formes normales * 1FN, 2FN, 3FN, FNBC Normalisation par les DFs * Syntaxe & sémantique * 4FN * Algorithme de synthèse avec DMVs Dépendances multi-valuées Préparation des TDs et des TPs Apprentissage actif ▶les sujets des TDs sont donnés à j-7 ▶les exercices et questions marqués du symbole (†) sont à préparer Introduction Le modèle relationnel Structured Query Language Principes Base de données Une grande quantité de données stockée dans un ordinateur. Qu’est ce qu’un SGBD ? Un logiciel qui permet de stocker et manipuler de grandes bases de données. Quelles fonctionnalités d’un SGBD pouvez-vous citer ? Fonctionnalités d’un SGBD ▶Persistance ; ▶Contrôle de concurrence ; ▶Protection des données ; ▶Interface homme-machine ; ▶Distribution ; ▶Compilation et optimisation. Architecture 3 niveaux Détacher l’utilisateur de l’implémentation physique. ▶physique, ▶logique, ▶applicatif. Séparation logique / physique : principe d’indépendance des données ▶Définition de modèle logique de données : séparer physique et logique pour permettre à l’utilisateur de se concentrer uniquement sur une représentation logique des données sans se soucier de la représentation physique des données. ▶langage de définition des données (LDD), pour définir les aspects structurels des données. ▶langage de manipulation des données (LMD) pour y accéder et les mettre-à-jour. ▶plusieurs aspects de l’implémentation physique peuvent être changés sans avoir à modifier la vision abstraite de la base de données. ▶distinction fondamentale qui existe entre les systèmes de fichiers et les bases de données. Séparation niveaux physique et applicatif ▶permet des points de vue différent sur les bases de données qui sont adaptés à des besoins spécifiques. ▶les vues cachent ainsi les informations sans intérêt et restructure les données qu’elles retiennent. Complexité et diversité Applications : finances, personnel, inventaire, ventes, dossiers, biologie, etc. Utilisateurs : programmeurs d’applications, sav, secrétaires, administrateurs de bases de données, geek, etc. Modes d’accès : LMD linéaires et graphiques, interfaces graphiques, entrée des données, génération de rapports, etc. Modèles logiques : les plus diffusées sont les modèles en réseau/graphes, hiérarchique, relationnel, déductif, orienté objet. Émergence de nouveaux paradigmes de type clefs-valeurs ou column-wise. . . Modèles de données Tout SGBD est conçu autour d’un modèle de données bien défini. Il s’agit de la combinaisons de 3 éléments : ▶Une structure, qui correspond à l’organisation logique des données, la forme sous laquelle les utilisateurs vont les percevoir ou les représenter. ▶Des contraintes d’intégrité, que l’on peut définir sur les données, afin d’en assurer l’intégrité et la cohérence avec le monde réel et les besoins des applications. ▶Des langages d’interrogation de données, pour les requêtes en lecture, et des langages de manipulation des données, pour les mises à jour. ▶Modèle relationnel ▶Structure : ensembles de relations, qui sont des ensembles de tuples. ▶Contraintes : principalement les clés primaires (identifiants de tuples, dépendances fonctionnelles) et les clés étrangères (liens entre les relations, dépendances d’inclusion) ▶Manipulation : algèbre relationnelle, calcul relationnel, SQL, clauses de Horn sans récursion. ▶Modèle déductif ▶Structure : celle du modèle relationnel à laquelle on ajoute des règles de déduction. ▶Contraintes : les mêmes que le modèle relationnel ▶Manipulation : langages logiques comme Datalog. Contrairement aux langages du modèle relationnel, il admet la récursivité. ▶Modèle de graphe (e.g., RDF) ▶Structure : graphe orienté et étiqueté, on enregistre les triplets (s; p; o) ▶Contraintes : un identifiant pour chaque nœud, un mécanisme de référence entre des nœuds ▶Manipulation : parcours de graphes, SPARQL. ▶Modèle hiérarchique (e.g., XML) ▶Structure : arborescente (forêt d’arbre) ▶Contraintes : un identifiant pour chaque nœud, un mécanisme de référence entre des nœuds ▶Manipulation : navigation hiérarchique, XPATH, XQUERY. ▶Modèle objet ▶Structure : logique objet, soit des classes, des objets, des attributs et des méthodes. Peut être vu comme un graphe orienté. ▶Contraintes : identifiant pour les objets, référence entre objets. ▶Manipulation : extensions de SQL comme OSQL ou OQL. ▶Modèle Entité/Association ▶Structure : Entités (avec des attributs) et associations entre des entités. ▶Contraintes : identifiants, cardinalités sur les associations ▶Manipulation : aucun (c’est un langage de modélisation, qui n’est pas implémenté tel que). Introduction Le modèle relationnel Structure du modèle relationnel Langages de requêtes et de mises à jour Structured Query Language Notations ▶Un ensemble {A1; A2; ...; An} sera noté par la concaténation de ses éléments : A1A2...An. ▶Si X et Y sont deux ensemble, leur union X ∪Y sera notée XY . ▶Une séquence (ou liste) d’éléments, est notée < A1, ..., An > ou (A1, ..., An). ▶Séquences et ensembles seront notés de la même façon par concaténation quand le contexte le permet. ▶Attention : dans le cas des séquences, BAC ̸= ABC ̸= AABC ! ▶{A; B; C} sera noté ABC ▶Les notations ABC et BCA sont équivalentes puisque l’ordre n’a pas d’importance. ▶L’ensemble AABC est le même que ABC, puisque l’élément A ne peut existe qu’en un seul exemplaire. ▶Soit les ensemble X = ABC et Y = BD, alors leur union X ∪Y sera noté XY = ABCD. Intuition : relation = table Étudiants NUM NOM PRENOM AGE FORMATION 28 Codd Edgar 20 3 32 Armstrong William 20 4 53 Fagin Ronald 19 3 107 Bunneman Peter 18 3 Enseignants NUM NOM PRENOM GRADE 5050 Tarjan Robert Pr. 2123 De Marchi Fabien MCF 3434 Papadimitriou Spiros Pr. 1470 Bagan Guillaume CR Table : Exemple de bases de données ▶Soit U, un ensemble infini dénombrable de noms d’attributs ou simplement attributs, appelé univers. ▶Soit D un ensemble infini dénombrable de constantes (ou valeurs). ▶Soit A ∈U un attribut, le domaine de A est un sous-ensemble de D, noté DOM(A). Schémas de relations et de bases de données ▶Un schéma de relation R est un ensemble fini d’attributs (donc R ⊆U). ▶Un schéma de base de données R est un ensemble fini de schémas de relation. Exemple Une application gérant les cours dispensés au sein de de la licence, regroupant des informations sur les étudiants, les formations, les enseignants, les modules, les uploads/Philosophie/ c1intro-2014a.pdf
Documents similaires
-
16
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 29, 2022
- Catégorie Philosophy / Philo...
- Langue French
- Taille du fichier 0.8901MB