[ UNIVERSITE SULTAN MOULAY SLIMANE ] [ FLSH Béni – Mellal ] [ LP: Ingénierie des projets Eco-touristique et payasagers ] MicrosoftACCESS 2007 | 2010 Adopté par M.BOUTALLINE Sommaire du cours Vue d'ensemble : Conception Création des tables Langage SQL Création des requêtes Création des formulaires Création des états BOUTALLINE © 2012 2 19/12/2013 GÉNÉRALITÉS Le développement nous amène à : Augmenter la quantité de données stockées Augmenter et rendre plus complexes les traitements les prenant en compte Très rapidement : l’accès à ces données et leur organisation en mémoire secondaire deviennent des problèmes critiques La mise en place de réseaux, le recours aux accès distants introduisent le problème des accès concurrentiels Les Systèmes de Gestion de Base de Données (SGBD) ont traité et continuent de traiter de tous ces problèmes. BOUTALLINE © 2012 3 19/12/2013 BASE DE DONNÉES Une base de données est un fichier qui permet de stocker des données structurées relatives à un sujet. Les données d’une base de données peuvent être organisées selon différents modèles (Relationnel, Hiérarchique, …) Une base de données est un ensemble structuré de données : Interdépendantes Stockées sur des supports accessibles par l’ordinateur, Sans redondance (répétition inutile ) Pour satisfaire simultanément plusieurs utilisateurs. BOUTALLINE © 2012 4 19/12/2013 SGBD Un Système de Gestion de Base de Données est un programme qui permet de gérer les données d’une base de données. Gérer une base de données inclut les opérations suivantes : Insérer de nouvelles données Mettre à jour (Modifier) les données Chercher les données Supprimer les données Sécuriser les données (SGBD) ou Data Base Management System est un logiciel qui permet aux utilisateurs d’interagir avec une base de données. BOUTALLINE © 2012 5 19/12/2013 SGBD Les buts et propriétés de ces systèmes sont multiples : • fournir une description des données stockées dans la base en toute indépendance des programmes accédant à ces données • permettre l’interaction avec la base grâce à des interfaces d’accès multiples (rechercher, modifier, ajouter, détruire). • fournir un langage de manipulation des données (LMD) pour les interactions entre l’utilisateur et la base • éviter les redondances, soit par la présence de la même donnée plusieurs fois dans des fichiers différents, soit par la présence physique d'une donnée qui peut se déduire d’autres données. BOUTALLINE © 2012 6 19/12/2013 SGBD • offrir un accès multiple aux données et régler le problème de la concurrence d’accès • assurer la sécurité d’accès aux données (confidentialité, identification des utilisateurs). • gérer les possibilités de pannes et les rendre transparentes à l’utilisateur (point de reprise). BOUTALLINE © 2012 7 19/12/2013 BDD RELATIONNELLE Une base de données relationnelle est une base de données qui stocke les données dans des tables qui sont liées par des relations. Le modèle relationnel est le plus exploité vue ses performances pour les bases de données volumineuses. BOUTALLINE © 2012 8 19/12/2013 SGBDR Un SGBDR (SGBD relationnel), est un SGBD qui permet de gérer les données d’une base de données relationnelle. Exemple de SGBDR: Access : utilisé pour gérer des petites bases de données ORACLE : Très performant pour les grandes bases de données, coute très cher SQL Server : Outil de Microsoft, Concurrent de Oracle, coute cher MYSQL : Performant, Gratuit. BOUTALLINE © 2012 9 19/12/2013 PROCESSUS BD Relationnelle SGBDR SQL Application BOUTALLINE © 2012 Fichier : Les données structurées relatives à un sujet sont stockées des tables liées par des relations Programme qui permet de gérer les données d’une BDDR (insérer, modifier, supprimer et sélectionner) Langage de requêtes qui permet d’interroger un SGBDR Programme qui définit les interfaces graphiques Homme Machine et qui permet à l’utilisateur final de gérer les données de la base de données 10 19/12/2013 Niveaux de représentation d’une base de données La description d’une BD s’effectue à trois niveaux : Externe : il est nécessaire de définir des types d’utilisateurs qui pourront chacun avoir une vue différente d’une même base. Chacune de ces vues est déduite du schéma conceptuel décrit ci-après Interne ou physique : c’est le niveau correspondant aux programmeurs. L’organisation physique des données et les fonctions d’accès sont alors définies (organisation des fichiers, index, structure...). le niveau conceptuel intègre toutes les vues externes sans souci de l’implantation des données (description abstraite). BOUTALLINE © 2012 11 19/12/2013 Niveaux de représentation d’une base de données BOUTALLINE © 2012 12 19/12/2013 Ce qui a changé et pourquoi ? Il faut définir un modèle de description permettant d’exprimer les propriétés des composants de la base et les liens existant entre eux. Plusieurs modèles ont été proposés, parmi lesquels on peut citer : - le modèle hiérarchique (historiquement le premier) : le schéma conceptuel est visualisé sous forme d’arbres dont les nœuds correspondent aux classes d’objets et les arcs entre les nœuds aux associations. - le modèle réseau : le schéma conceptuel est représenté par un graphe ce qui augmente les possibilités de liens entre les objets. - le modèle relationnel, fondé sur la notion de « relation », représente les objets et les liens entre eux par des tableaux à deux dimensions. - le modèle objet : une donnée est une instance d’une classe. Chaque champ est un objet et la notion d’héritage peut être utilisée lors de la définition des tables. BOUTALLINE © 2012 13 19/12/2013 Conception d’une base de données Schéma simplifié de la conception d'une base de données BOUTALLINE © 2012 14 19/12/2013 Les utilisateurs d’une base de données : les concepteurs de la base définissent, décrivent, créent la base ; le Data Base Administrator (DBA) gère la base (les accès, les droits des utilisateurs, les sauvegardes, les restaurations...) ; les utilisateurs manipulent la base. Il est possible de distinguer des familles d’utilisateurs avec des droits différents vis-à-vis de l’accès à la base. BOUTALLINE © 2012 15 19/12/2013 MODÈLE DE DONNÉES RELATIONNEL représenter les liens et les objets de la même façon et le mode de représentation adopté est extrêmement simple : des tableaux à deux dimensions. Une base de données est modélisée par un ensemble de schémas de relation. Un schéma de relation caractérise une relation par son nom, une liste d’attributs et les domaines associés à chaque attribut. BOUTALLINE © 2012 16 19/12/2013 Clés primaires / Clés étrangères Les lignes d’une table doivent être uniques, cela signifie qu’une colonne (au moins) doit servir à les identifier. Il s’agit de la clé primaire de la table. Il s’agit de une clé primaire de la table qui se trouve dans une autre table. On parle de la clé étrangère. BOUTALLINE © 2012 17 19/12/2013 Traduction vers un schéma relationnel A partir du graphe de couverture minimale , le schéma relationnel correspondant apparaît naturellement , en suivant quelques étapes simples. Etape 1 : il faut repérer et souligner les clés primaires Etape 2 : tous les attributs qui dépendent directement d’une clé et d’une seule , forment une relation (avec la clé, bien sûr). Etape 3 : les attributs (non clés) qui dépendent de plusieurs clés sont les attributs d’une relation supplémentaire formée des clés et de ces attributs BOUTALLINE © 2012 18 19/12/2013 Normalisation des schémas de relation Le processus de normalisation va contrôler la définition du schéma relationnel. Il s’agit d’appliquer quelques formes normales à fin que soit la base de données soit normalisée. Éviter la redondance de l’information BOUTALLINE © 2012 19 19/12/2013 Normalisation des schémas de relation Définition de la 1ère forme normale : les attributs de relation sont simples ou atomiques. Exemple : La table LIVRE(Numéro, titre, Nom-auteur) n’est en1NF que si un livre n’a qu’un seul auteur On peut envisager deux solutions le cas échéant -LIVRE(Numéro, titre, auteur1,auteur2,...,auteurn) avec n connu -Ecrit par(Numéro, Nom auteur) en introduisant autant de lignes pour un livre qu’il a d’auteurs BOUTALLINE © 2012 20 19/12/2013 Normalisation d’une BDD Définition de la 2ème forme normale : La clé peut être composée de plusieurs attributs mais les autres attributs de la relation doivent dépendre de la clé en entier (et non pas une partie de cette clé). Exemple : la table FOURNISSEUR ( Nom , Adresse, Article, prix) pour laquelle la clé définie est le couple (Nom, Article) et on a les DF : (Nom,Article) Prix et Nom adresse Où une partie de la clé Nom détermine l'attribut adresse n'appartenant pas à la clé donc la relation n'est pas en 2FN. Elle devra être décomposée en deux relations en 2NF: FOURNISSEUR (Nom, adresse) Et Produit (Nom,Article, prix) BOUTALLINE © 2012 21 19/12/2013 Diagramme classe initial (UML) BOUTALLINE © 2012 22 19/12/2013 Intégrité référentielle BOUTALLINE © 2012 Mari M# 1 1 Mari M# 1 N Femmes F# Ami A# M N Comment faire ? 23 Femme F# Amie A# 19/12/2013 Modèle logique de données (MLD) BOUTALLINE © 2012 24 19/12/2013 Dictionnaire de données BOUTALLINE © 2012 25 19/12/2013