Nicolas Loménie                             Bases de Données.

Slides:



Advertisements
Présentations similaires
Le Nom L’adjectif Le verbe Objectif: Orthogram
Advertisements

ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
Rappels. Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle.
Licence pro MPCQ : Cours
Informatique appliquée à la gestion Bases de données www. labri
Distance inter-locuteur
1 Bases de donn é es relationnelles. 2 Introduction au mod è le relationnel les donn é es sont repr é sent é es par des tables, sans pr é juger de la.
Les numéros
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Modèle Entités-Associations
Le Modèle Relationnel (Chapitre 4)
Le Modèle Logique de Données
Programme Introduction aux BD et aux SGBD Le modèle relationnel
1 7 Langues niveaux débutant à avancé. 2 Allemand.
Initiation au système d’information et aux bases de données
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Initiation au système d’information et aux bases de données
Développement d’applications web
Rappel sur les bases de données et le vocabulaire
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Algèbre relationnelle
Initiation à la conception de systèmes d'information
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
Modélisation E/R des Données
Introduction à la conception de Bases de Données Relationnelles
Les bases de données Cours assuré par: Mlle Smii imen
Chap 4 Les bases de données et le modèle relationnel
Conception des données
L’utilisation des bases de données
Modèle Logique de Données
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
Cas pratique : Interim.
Gestion des bases de données
SYSTEMES D’INFORMATION
MODELE RELATIONNEL concept mathématique de relation
Staf 2x Cours de bases de données
Cours de Base de Données & Langage SQL
Cours N°2 Base de Données & Langage SQL
Normalisation. RELATION NORMALE Une relation est dite normale si aucun des domaines qui la composent n'est lui-même une relation. En d'autres termes,
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Initiation à la conception des systèmes d'informations
Michel Tollenaere SQL et relationnel 1 Cours MSI-2A filière ICL version 1.1 du 2 novembre 2010 Cours de Management des Systèmes dInformation
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
Plan UE Introduction aux Bases de Données
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Introduction.
Bases de données   J-L Hainaut Partie 1 - Comprendre les bases de données Partie 2 - Utiliser les bases de données Partie 3 - Développer une base.
ANALYSE METHODE & OUTILS
Base de Données.
Bases de données.
Management des Systèmes d’Information (MSI)
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
DOSSIER G10 – La base de données Relationnelle
SYSTEMES d’INFORMATION séance 1 : Introduction et définitions
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Initiation aux SGBD Frédéric Gava (MCF)
Introduction avec Access Quinio Nanterre 2008
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
Séance /10/2004 SGBD - Approches & Principes.
INTRODUCTION AUX BASES DE DONNEES
Initiation aux bases de données et à la programmation événementielle
Introduction Module 1.
Analyse, élaboration et exploitation d’une Base de Données
Bases de données – Cours 2
Les bases de données Séance 3 Construction du Modèle Conceptuel de Données.
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
Transcription de la présentation:

Nicolas Loménie                             Bases de Données

Plan du Cours d’Initiation Qu’est-ce qu’une BD ? Notion de SGBD et de SGBDR. Modéliser conceptuellement la BD Modéliser logiquement et graphiquement la BDR Réaliser un projet grâce au logiciel de GBDR du pack Office de Microsoft appelé ACCESS

Qu’est-ce qu’une BD ? Notion de SGBDR. Bases de Données Nicolas Loménie                             INTRODUCTION INTRODUCTION Qu’est-ce qu’une BD ? Notion de SGBDR.

Problèmes L’APPROCHE SYSTEMES DE FICHIERS Difficultés de gestion Incohérence des données Coûts élevés Maintenance difficile Gestion de pannes ??? Partage des données ??? Confidentialité ??? L’APPROCHE SYSTEMES DE FICHIERS

C’est à peu de choses près l’approche proposée par Excel avec les listes filtrables.

BD L’APPROCHE BASE DE DONNEES

1970 : bases théoriques au modèle relationnel : Algèbre de Codd 1980 : Logiciel de SGBDR commercialisés : ORACLE, SYBASE, SQL SERVER et ACCESS Logiciels libres : mysql, postgresl Actuellement, en germe, SGBDO (Oracle 8 : SGBDOR), Multimédia, Data Mining …

L’approche théorique des Bases de données Modélisation des données  Eliminer la redondance de données Centraliser et organiser correctement les données Plusieurs niveaux de modélisation Outils de conception : méthode MERISE Langage de Manipulation des données : SQL ou bien son rendu graphique sous ACCESS Tout cela dans un Logiciel appelé «Système de Gestion de Bases de Données» : ORACLE en entreprise, ACCESS à la maison

Un problème de Modélisation du réel Modèle conceptuel Indépendant du modèle de données Indépendant du SGBD Modèle logique Dépendant du modèle de données Codasyl Relationnel Objet XML Modèle Physique Dépendant du SGBD Organisation physique des données Structures de stockage des données Structures accélératrices (index) Médecin effectue Visite IMPLEMENTATION

Structuration en trois couches :

Description des données en trois niveaux d’abstraction Schéma conceptuel : description des données d’une organisation en terme de types d’objets et de liens logiques indépendants de toute représentation en machine, correspondant à une vue canonique globale de l’organisation modélisée -> Schéma Entités - Relations -> Administrateur Organisation Schéma interne : description des données d’une base en termes de représentation physique en machine, correspondant à une spécification des structures de mémorisation et des méthodes de stockage et d’accès utilisées pour ranger et retrouver les données sur disque -> INDEX -> Administrateur BD Schéma externe : description d’une partie de la base de données, extraite ou calculée à partir de la base physique, correspondant à la vision d’un programme ou d’un utilisateur, donc à un arrangement particulier de certaines données -> VUES -> Administrateur Applications

5 étapes pour l’élaboration des schémas conceptuels et internes (coeur de la BDR) Perception du monde réel et capture des besoins Entretiens -> ensemble de vues ou schémas externes Elaboration du schéma conceptuel ensemble de vues ou schémas externes -> intégration dans un schéma global Conception du schéma logique (automatisable) schéma global -> ensemble de tables Affinement du schéma logique ensemble de tables -> ensemble de tables regroupées ou décomposées Elaboration du schéma physique ->ensemble de tables regroupées ou décomposées indexées

Modéliser conceptuellement la BD Bases de Données Nicolas Loménie MODELE CONCEPTUEL                             MODELE CONCEPTUEL Modéliser conceptuellement la BD

Prendre en main la méthodologie de conception MERISE Objectifs : Prendre en main la méthodologie de conception MERISE Apprendre les définitions essentielles des objets manipulés par le modèle conceptuel : entité, attribut, identifiant, relation, dimension, cardinalité. Etre capable d’appréhender la méthodologie de passage d’un énoncé en langage naturel à un modèle conceptuel, avec la part d’arbitraire inhérente.

Plusieurs noms dans le cadre d’un SGBDR : Modèles Entités-Associations, Schéma ER, MCD Nécessité d’une méthodologie et d’un cadre de conception : MERISE, UML …

Relation, table, schéma Champs, attributs, colonnes Le modèle de données dit Entités-Relations (MERISE) ou Entités-Associations Champs, attributs, colonnes Relation, table, schéma Id-D Nom Prénom 1 Dupont Pierre 2 Durand Paul 3 Masse Jean …. …….. …… Tuples, lignes ou n-uplets, occurrence, instance Entité = objet du monde réel, modèle d’objet, classe. Ex :un client pour une société. Attributs (caractéristiques ou propriétés) = ils décrivent les entités ;

Identifiant = ensemble d’attributs permettant de déterminer une et une seule occurence d’une entité ;

Représentation graphique de ces schémas : Relation  = représente les liens entre les entités ; contrairement aux entités, les relations n’ont pas d’existence propre donc pas d’identifiant; mais comme les entités, elles sont caractérisées par un nom et d’éventuels attributs. Représentation graphique de ces schémas : entités par rectangles; relations par ellipses ; les attributs identifiants sont soulignés ; EMPLOYE CAMION Conduire Code_emp Nom Prenom Date_nais Immatriculation Poids_vide Annee_mec

-> traduit les règles et contraintes propres à un processus métier Dimension (ou degré) = nombre d’entités impliquées dans la relation ; Cardinalité (maximale) = nombre de participations maximal d’une entité à une relation (une relation binaire peut être de cardinalité I-I, I-N ou M-N) ; -> traduit les règles et contraintes propres à un processus métier -> approche française (MERISE) : nombre de participations d’une entité à une relation -> approche anglosaxone : nombre de correspondants d’une entité au sein d’une relation EMPLOYE CAMION 1 Conduire N Code_emp Nom Prenom Date_nais Immatriculation Poids_vide Annee_mec

Cardinalité minimale ; ·        Un modèle ER enrichi : Cardinalité minimale ; EMPLOYE CAMION 0-1 Conduire 1-N Code_emp Nom Prenom Date_nais Immatriculation Poids_vide Annee_mec Généralisation = description d’une entité à différents niveaux d’abstraction ; EMPLOYE Code_emp Nom Prenom Date_nais CAMION Immatriculation Poids_vide Annee_mec Conduire 1-N 1-1 ADMINISTRATIF CHAUFFEUR Service Permis Visite_med

1-N 1-N 1-N Commande PRODUIT CLIENT code_produit designation prix Code_client nom adresse 1-N 1-N Commande quantite derniere_date 1-N FOURNISSEUR Code_fournisseur nom adresse

·    La démarche pour passer de l’énoncé du problème au MCD: 1.     Déterminer la liste des entités ; 2.     Pour chaque entité : a)     Etablir la liste de ses attributs ; b)    Parmi ceux-ci, déterminer un identifiant ; 3.     Déterminer les relations entre les entités ; 4.     Pour chaque relation : a)     Dresser la liste des attributs propres à la relation ; b)    Vérifier la dimension (binaire, ternaire…) ; c)     Définir les cardinalités (I-I, I-N, M-N) ; 5.     Vérifier le schéma obtenu, notamment : a)     Supprimer les transitivités ; b)    S’assurer que le schéma est connexe ; c)     S’assurer qu’il répond aux demandes ; 6.     Valider avec les utilisateurs ;

Exemple : la gestion de Sondages de cinéma Un organisme départemental souhaite mettre en place une base de données pour le suivi des films projetés dans les salles de cinéma du département. Pour simplifier, on considère qu'une salle de cinéma ne projette qu'un seul film à une heure donnée. Toutefois, un même film peut être projeté simultanément dans plusieurs salles. Pour des raisons d'organisation et d'espace, une salle de cinéma ne projette chaque film qu'une seule fois par jour, et toujours à la même heure. On représentera les films à l'affiche actuellement. L'organisme départemental effectue régulièrement des sondages sur un groupe de spectateurs fidèles pour recueillir leur impression sur tous les films qu'ils ont vus. Pour simplifier, on considère que chaque spectateur émet une appréciation qui peut être résumé par : bien, quelconque, nul. On ne s'intéresse pas à l'information sur la salle dans laquelle il a regardé le film. On dispose pour chaque salle de cinéma des données suivantes : nom, adresse et liste des films projetés avec l'heure de leur projection dans la salle. Les informations stockées sont celles de la semaine en cours. Chaque spectateur est identifié par un numéro. On connaît d'autre part son nom, son prénom, son adresse, sa date de naissance et sa catégorie professionnelle. Enfin, pour chaque film, on souhaite stocker son visa d'exploitation, son titre, le nom du réalisateur et son année de sortie. Enfin, on enregistre, pour chaque spectateur interrogé, la liste des films visionnés et son impression sur chacun de ces films. Construire un schéma ER décrivant cette situation.

MODELE CONCEPTUEL DE DONNEES SPECTATEUR numero nom prenom adresse date csp SALLE nom adresse N VISIONNER impression 1 N FILM visa titre real annee PROJECTION heure N

Plus complexe ….

Ne pas surestimer la dimension d’une relation ! PRODUIT CLIENT code_produit designation prix Code_client nom adresse 1-N 1-N Commande quantite derniere_date ternaire ou quaternaire ? 1-N Commande quantite FOURNISSEUR Code_fournisseur nom adresse DATE date

Ne pas attribuer à une relation les attributs des entités participantes ou inversement ! PRODUIT PRODUIT code_produit designation prix code_produit designation N 1 PROVIENT prix PROVIENT N N FOURNISSEUR Code_fournisseur nom adresse FOURNISSEUR Code_fournisseur nom adresse

Ne pas exprimer des relations redondantes ! 1 TRAVAILLER EMPLOYE PROJET 1 1 GERER RATTACHER N N DEPARTEMENT Ne pas se tromper de niveau de discours ! -> Cas d’agences ou d’une agence Ne pas confondre les concepts de données et de traitement ! -> Cas de Demander et Facturer Ne pas introduire d’attribut calculé !

0-1 0-1 Le conflit entité contre attribut -> Cas du pays Le conflit entité contre association -> Cas de la commande, de la facture HOMME HOMME 0-1 ? MARIER MARIAGE 0-1 FEMME FEMME Le conflit généralisation contre attribut PERSONNE PERSONNE sexe FEMME HOMME

Bibliographie Bases de Données, Georges Gardarin, Ed. Eyrolles, Best Of Eyrolles, 19 euros en 2004 : ouvrage de référence en France, complet mais très orienté vers la théorie : finalement peu pédagogique. Conception des bases de données relationnelles en pratique, J. AKOKA et I. COMYN, Ed. Vuibert Informatique : ouvrage très pratique avec exercices et corrigés : recommandé.

Modéliser mathématiquement la BD : modèle logique Bases de Données Nicolas Loménie MODELE RELATIONNEL                             MODELE RELATIONNEL Modéliser mathématiquement la BD : modèle logique

Objectifs : Apprendre les définitions essentielles des objets manipulés par le modèle relationnel : domaine, relation, schéma d’une relation, attribut et tuple, contrainte d’intégrités, clés primaire et étrangère, schéma relationnel. Etre capable d’appliquer la procédure de passage du schéma conceptuel au schéma relationnel (expression formelle graphique permettant l’implémentation sous ACCESS).

Nécessité de rendre opérationnel le schéma conceptuel à l’aide d’une représentation logique, par exemple relationnelle  Conçue par E.F. Codd (1970s) : définition rigoureuse des concepts fondée sur la théorie mathématique des relations, liée à celle des ensembles : , ,  Trop sophistiqué pour nous mais un peu de vocabulaire est nécessaire ….

Domaine = ensemble de valeurs défini en extension (par exemple l’ensemble des grades d’un Salarié) ou en intention ( par exemple le salaire d’un Salarié). Exemples: ENTIER REEL CHAINES DE CARACTERES EUROS SALAIRE = {4 000..100 000} COULEUR= {BLEU, BLANC, ROUGE} POINT = {(X:REEL,Y:REEL)} TRIANGLE = {(P1:POINT,P2:POINT,P3:POINT)} Notion de granularité de l’information: voir l’exemple d’une date ou d’une adresse.

Produit cartésien = Le produit cartésien de plusieurs domaines D1x D2x ... x Dn est l’ensemble des tuples (N-UPLETS) <V1,V2,....Vn> tels que Vi Di   Exemple: D1 = {Bleu,Blanc,Rouge} D2 = {Vrai, Faux} D1xD2 = {(Bleu,Vrai),(Bleu,Faux),(Blanc,Vrai),…} Bleu Vrai Bleu Faux Blanc Vrai Blanc Faux Rouge Vrai Rouge Faux

Exemple : la relation CoulVins issue du produit cartésien D1xD2 Relation ou Table = sous–ensemble du produit cartésien d’une liste de domaines, non nécessairement tous distincts = tableau à deux dimensions Exemple : la relation CoulVins issue du produit cartésien D1xD2 D1xD2 Bleu Vrai Bleu Faux Blanc Vrai Blanc Faux Rouge Vrai Rouge Faux Bleu Faux Blanc Vrai Rouge Vrai CoulVins Coul Choix

VISION TABULAIRE DU RELATIONNEL Une relation est une table à deux dimensions Une ligne est un tuple Un nom est associé à chaque colonne afin de la repérer indépendamment de son numéro d'ordre Attribut ou Colonne = sous-ensemble de valeurs d’un domaine Tuple ou n-uplet ou t-uple ou Ligne = ensemble de n valeurs prises dans les n domaines considérés  Degré d’une relation = nombre de colonnes ou de domaines considérés 

Schéma d’une relation = Structure nom de la relation suivi de la liste de ses attributs et de la définition de leurs domaines, par exemple la table SALARIE est caractérisé par le schéma relationnel suivant : SALARIE(matricule : entier, nom : chaîne de caractères, grade : {employé, agent de maîtrise, cadre},salaire : [7000, 24000] ) ou le plus souvent  SALARIE(matricule, nom, grade, salaire)  Schéma relationnel = ensemble des schémas des relations d’une base de données ou ensemble des tables

Intégrité Logique ou Cohérence des données ->assurée par la vérification par le SGBD d’un ensemble de contraintes d’intégrité ->Objectif : Détecter les mises à jour erronée -> Avantages : simplification du code des applications sécurité renforcée par l'automatisation mise en commun des contraintes -> Nécessite : un langage de définition de contraintes d'intégrité la vérification automatique de ces contraintes

Contrainte d’intégrité = expression logique qui doit être vraie, à tout moment, dans une base de données, par exemple deux employés ne peuvent avoir le même matricule ; Exemples  Contrôle sur les données élémentaires Contrôle de types: Nom alphabétique Contrôle de valeurs: Salaire mensuel entre 1 et 10kEuros Contrôle sur les relations entre les données Relations entre données élémentaires: Prix de vente > Prix d'achat Relations entre objets: Un électeur doit être inscrit sur une seule liste électorale

Contrainte obligatoire Contrainte de domaine  restriction de l’ensemble des valeurs possibles d’un domaine Contrainte de clé sous-ensemble minimal de colonnes tel que la table ne puisse contenir deux lignes ayant les mêmes valeurs pour ces colonnes Contrainte obligatoire un attribut doit toujours avoir une valeur Contrainte d’intégrité référentielle ou d’inclusion notée   elle lie deux ensemble de colonnes de deux tables différentes

Clé Groupe d’attributs minimum qui détermine de façon unique un tuple dans une relation Exemples: NumSécuSociale pour une PERSONNE Contrainte d’entité Toute relation doit posséder au moins une clé documentée

Clé Etrangère Groupe d’attributs devant apparaître comme clé dans une autre relation Exemples: SALARIE(matricule, nom, grade, salaire, Code_Filiale)  FILIALE(Code_Filiale, nom, adresse) Les clés étrangères définissent les contraintes d'intégrité référentielles Lors d'une insertion, la valeur des attributs doit exister dans la relation référencée Lors d'une suppression dans la relation référencée les tuples référençant doivent disparaître Elles correspondent aux liens entité-association obligatoires

Schéma d’une relation (bis) = nom de la relation suivi de la liste des attributs, de la définition de leurs domaines et de l’ensemble des contraintes d’intégrité associées à cette table  exemple  SALARIE(matricule : entier, nom : chaîne de caractères, grade : {employé, agent de maîtrise, cadre},salaire : [7000, 24000] ) ou le plus souvent  SALARIE(matricule, nom, grade, salaire, Code_Filiale)  FILIALE(Code_Filiale, nom, adresse) SALARIE[Code_Filiale]  FILIALE[Code_Filiale]

Diagramme des Liens SALARIES MATRICULE CODE_FILIALE NOM GRADE SALAIRE ADRESSE

N° Etudiant N° Cours N° Prérequis N° Cours

Questions ? Concepts Descriptifs : Bilan RELATION ou TABLE ATTRIBUT ou COLONNE DOMAINE ou TYPE CLE CLE ETRANGERE Questions ?

Une démarche possible MC -> MR HOPITAL code_hopital nom_hopital adresse_hopital PATIENT CONSULTE MEDECIN num_secu_sociale num_matricule Num_matricule nom_patient num_secu nom_medecin prenom adresse_medecin adresse_patient specialite date_naissance

HOPITAL LABORATOIRE code_hopital nom_hopital adresse_hopital code_labo nom_labo code_hopital

MODELE RELATIONNEL DE DONNEES numero nom prenom adresse date csp SALLE Exemple : la gestion de Sondages de cinéma MODELE RELATIONNEL DE DONNEES SPECTATEUR numero nom prenom adresse date csp SALLE nom Adresse heure visa VISIONNER visa numero impression FILM visa titre real annee

Les erreurs à ne pas commettre : Sens du report de clé pour les relations 1-N ; Oubli de report des attributs spécifiques des relations 1-N ; Difficulté de l’identification des ternaires ou plus ; Répercussion des erreurs de modélisation conceptuelle ;

ALGEBRE RELATIONNEL Bases de Données ALGEBRE RELATIONNEL Nicolas Loménie ALGEBRE RELATIONNEL                             ALGEBRE RELATIONNEL

Langage de requêtes Fondement mathématique à la base de SQL : le langage des Bases de Données Traduction automatique des questions déclaratives (qui sont les employés habitant à Paris ?) en programmes. Optimisation automatique des questions Langage opérationnel, très utile pour représenter les plans d’exécution.

Opérations Ensemblistes Ensemble : une définition mathématique pour une collection d’objets ne possédant pas d’éléments dupliqués. Opérations pour des relations de même schéma UNION notée  INTERSECTION notée  DIFFERENCE notée — Opérations binaires pour des relations de schémas différents PRODUIT CARTESIEN : Relation X Relation --> Relation JOINTURE : Relation Relation --> Relation DIVISION : Relation / Relation --> Relation Opérations algébriques sur une relation PROJECTION notée  RESTRICTION notée 

Mais nous ne nous aventurerons pas dans cette voie …. nous poserons les questions graphiquement grâce à ACCESS …. Titre nom

Wineries

A chacune des 4 séances de TD de 3 heures : Prétravail : vous faites le TD en dehors du Cours Première 1h30 : le tuteur aide personnellement chaque étudiant sur le TD du jour, vous débloque, vous explique des points précis Deuxième 1h30 : le tuteur travaille avec chaque groupe sur le projet Travail personnel demandé : Séance 1 : préparation du TD1 (création de tables) + présentation sur papier du schéma conceptuel de votre BD Séance 2 : préparation du TD2 (requêtes) + présentation de l’implémentation logique de la base sous ACCESS Séance 3 : préparation du TD3 (formulaires et états) + présentation des requêtes de votre base de données Séance 4 : préparation du TD4 (menu et interface) + présentation des formulaires et états de votre base de données Soutenance