Bases de données Luc Bouganim – Luc.Bouganim@inria.fr http://www-smis.inria.fr/
Bases de données Luc Bouganim – Luc.Bouganim@inria.fr http://www-smis.inria.fr/~bouganim/afti • Conception de bases de données • Modèle Relationnel • SQL • JDBC • Transaction, Optimisation • Sécurité •… 2 3 Plan de la session (1) • Jour 1: Matin – Problèmes des approches fichiers, l’approche base de données – Conception de bases de données (light) Æ Exercices sur un cas pratique – Le modèle relationnel – SQL : le LDD (Langage de Définition de Données) • Jour 1: Après midi Æ Création d'une base Oracle, insertion, chargement massif • Jour 2: Matin – Vue d'ensemble des fonctionnalités des SGBD – SQL : le LMD (Langage de Manipulation de données) – SQL et JAVA : JDBC • Jour 2: Après midi Æ Interrogation d'une base de données en SQL 4 Plan de la session (2) • Jour 3: Matin – Méthodologie SQL – Optimisation, Concurrence d'accès, Sécurité / Confidentialité • Jour 3: Après midi Æ Interrogation avancée d'une base de données en SQL Æ Interrogation d'une BD depuis un programme JAVA • Jour 4: Matin – (Cryptographie et bases de données) – (Dictionnaire de données) Æ Injection SQL Æ Concurrence d'accès • Jour 4: Après midi – Examen (2h) Problèmes des approches fichiers, l'approche base de données 6 Chirurgie Psychiatrie Systèmes de fichiers Caractéristiques Comptabilité Consultations Problèmes 7 Plusieurs applications Caractéristiques Plusieurs applications Î plusieurs formats Î plusieurs langages Problèmes Î Difficultés de gestion Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy 8 Redondance (données) Caractéristiques Plusieurs applications Î plusieurs formats Î plusieurs langages Redondance de données Problèmes Î Difficultés de gestion Î Incohérence des données Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy 9 Interrogations Caractéristiques Plusieurs applications Î plusieurs formats Î plusieurs langages Redondance de données Pas de facilité d’interrogation Î Question ⇒développement Problèmes Î Difficultés de gestion Î Incohérence des données Î Coûts élevés Î Maintenance difficile Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy ChiruSoft ConsultSoft PsychiaSoft ComptaSoft 10 Pannes ??? Caractéristiques Plusieurs applications Î plusieurs formats Î plusieurs langages Redondance de données Pas de facilité d’interrogation Î Question ⇒développement Redondance de code Problèmes Î Difficultés de gestion Î Incohérence des données Î Coûts élevés Î Maintenance difficile Î Gestion de pannes ??? Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy ChiruSoft ConsultSoft PsychiaSoft ComptaSoft 11 Partage de données Caractéristiques Plusieurs applications Î plusieurs formats Î plusieurs langages Redondance de données Pas de facilité d’interrogation Î Question ⇒développement Redondance de code Problèmes Î Difficultés de gestion Î Incohérence des données Î Coûts élevés Î Maintenance difficile Î Gestion de pannes ??? Î Partage des données ??? Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy ChiruSoft ConsultSoft PsychiaSoft ComptaSoft 12 Confidentialité Caractéristiques Plusieurs applications Î plusieurs formats Î plusieurs langages Redondance de données Pas de facilité d’interrogation Î Question ⇒développement Redondance de code Problèmes Î Difficultés de gestion Î Incohérence des données Î Coûts élevés Î Maintenance difficile Î Gestion de pannes ??? Î Partage des données ??? Î Confidentialité ??? Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy ChiruSoft ConsultSoft PsychiaSoft ComptaSoft 13 L’approche ‘‘Bases de données’’ (1) • 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 • Logiciel «Système de Gestion de Bases de Données» ÎFactorisation des modules de contrôle des applications - Interrogation, cohérence, partage, gestion de pannes, etc… ÎAdministration facilitées des données 14 L’approche ‘‘Bases de données’’ (2) BD VIII - Concurrence d’accès VII - Gestion des pannes I- Indépendance Physique IX - Gestion de la confidentialité II- Indépendance Logique VI - Gestion de la cohérence X - Standards V - Optimisation des questions III – Langage de manipulation IV - Gestion des vues Conception de bases de données 16 Relationnel • Organisation physique des données • Structures de stockage des données • Structures accélératrices (index) •Dépendant du modèle de données •Dépendant du SGBD Modèle Physique XML Objet Codasyl •Dépendant du modèle de données •Indépendant du SGBD Modèle logique •Indépendant du modèle de données •Indépendant du SGBD Modèle conceptuel Réel Modélisation du réel Médecin effectue Visite 17 Méthode de conception ? • Plusieurs façons d’aborder la conception d’une BD – Intuition + création directe de la BD / – Suivre une méthode de conception (MCDÆMLDÆMPD) ☺ • Entité/Association (E/A) ou Entity/Relationship (E/R) • Merise • UML • Suivre son intuition peut conduire à des erreurs – Redondances – Valeurs nulles – Difficulté de gestion – Impossibilité de répondre à certaines questions • Une fois la base de données crée, difficile à modifier… (cf. TP) • Les outils de conception sont une aide précieuse 18 Exemple de mauvaise conception (1) • Redondance des données et incohérence potentielle – Personne répétée pour chaque voiture : ex. Si Joe Bar change de ville et qu’une seule ligne est mise à jour… – Redondance Ville/Pays : impact d’une erreur de saisie • Anomalies de mises à jour et besoin de valeurs nulles. – Comment insérer une personne sans voiture ? – Sémantique de calculs avec des valeurs nulles… – Comment supprimer la dernière voiture d'une personne ? N° Nom Prénom Ville Pays Immatriculation Marque Couleur 1 Bar Joe Paris France 125PP75 Renault Rouge 2 Dean Pascal Vence France 453LL06 Peugeot Vert 3 Ben Zoe Lyon France 526UU69 Renault Rouge 4 Bar Joe Paris France 257LPM75 Renault Jaune 19 Exemple de mauvaise conception (2) • Redondance cachée : – Nombre d’enfants vs enfants • Difficulté de gestion – Comment gérer les personnes ayant plus de 3 enfants ! – Comment afficher la liste des enfants ? N° Nom Prénom Ville Pays Enfant 1 Enfant2 Enfant3 NbEnfants 1 Bar Joe Paris France Paul Zoe 2 2 Dean Pascal Vence France Lili 1 3 Ben Zoe Lyon France Sam Tor Tur 3 4 Cat Tom Lens France 0 20 TRAITEMENT DONNEES MPT Description de l’architecture des traitements, algorithmes MPD Création de la base de donnée Modèle Physique MLT Structuration en procédure MLD Modèle logique (e.g, relationnel) Modèle logique MCT Quels traitements ? MCD Quelles données ? Quelle organisation ? Modèle conceptuel Réel Méthodes de conception : Exemple Merise Objectif du cours : E/A, Merise, UML ? Î E/A light, Merise ultra-light 21 GENERATION AUTOMATIQUE POSSIBLE ! Approche proposée : orientée données 1/ Définir l’application (~MCT) – Que veut-on faire exactement, définir les sorties (états) 2/ Définir les données (~MCD) – quelles sont les données nécessaires ? Comment les organiser ? 3/ Définir les questions nécessaires pour l’application (~MLT) 4/ Validation : Est ce que la structure choisie permet de répondre aux questions ? Sinon, retour en 1/ ou 2/ 5/ Passer du MCD au MLD 6/ Définir les requêtes nécessaires pour l’application (~MPT). Normalement, le MLD doit permettre de répondre aux requêtes ? 7/ Passer du MLD au MPD 22 Déf° (1) : entité / type d’entité • Entité : représentation d’un objet du monde réel … … par rapport au problème à modéliser. Une entité peut donc être … … concrète : ex. un docteur, un médicament, un client … abstraite : ex. une visite médicale, une commande • Type d'entité : représentation d'un ensemble d'entités perçues comme similaires et ayant les mêmes caractéristiques – Ex. docteurs, patients, médicaments, clients, visites, commandes Profs Bouganim Luc ..... Profs Crenn Isabelle .... Profs Nom Prénom Adresse Entités Type d'entité 23 Déf° (2) : Propriétés / Identifiants • Propriété : donnée élémentaire permettant de décrire une entité ou une association – Le nom du patient, la date de la visite • Identifiant d’entité : Une entité est identifiée de manière unique par au moins une propriété (généralement une) – Ex. n° de sécurité sociale du patient, référence d’un produit 24 Déf° (3) : association / type d’association • Association : représentation d'un lien non orienté entre plusieurs entités (qui jouent un rôle déterminé). uploads/Management/ master2-irs-bases-de-donnees-avancees-pdf.pdf
Documents similaires










-
24
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 20, 2021
- Catégorie Management
- Langue French
- Taille du fichier 5.4407MB