Systèmes d’information et bases de données Introduction au module SI3 BTS SIO
Plan du cours Qu’est ce qu’un SI ? Pourquoi les bases de données ? Partir d’un exemple Définir les termes Contexte informatique Pourquoi les bases de données ? SGF vs. SGBD Principe et architecture de référence Modèles de bases de données SGBD relationnel et standard SQL Conclusion et objectifs du module
S.I. : partir d’un exemple « L’information, c’est essentiel ! » Mailing de proposition commerciale Examen de dépistages sur des « personnes à risques » Une multinationale répartition des données chez Danone Un petit restaurant avec deux personnes Quelles tâches ? Quels besoins d’information ?
Information En opposition à données et à connaissances Données : les faits bruts, contrôlables : tickets de caisse Informations : les faits traduits en réponse à une préoccupation métier L’évolution des achats d’une personne Connaissances : L’analyse (validité?) d’une information Bon client, client à risque
Système Un système se caractérise par Ensemble d’éléments en interaction dynamique, organisé en fonction d’un but Un système se caractérise par Sa frontière (limite avec l’environnement) Sa finalité (intention d’atteindre un but) Son évolution (passé, présent, avenir) Son organisation Sa structure (constituants et leurs relations) Ses processus (activités et interactions)
Entreprise et information Soit le système « entreprise », son organisation reflète les circuits d’échange d’informations Évolution de l’organisation Organisation taylorienne : objectif produit mais pas de prise en compte plus globale de la qualité Organisation fondée sur les processus (BPR) : objectif satisfaction client liée à la qualité de la chaîne Le S.I. doit répondre aux besoins d’information de l’organisation
Système d’information (1/2) « Système constitué des ressources humaines, des ressources matérielles et des procédures permettant d'acquérir, de stocker, de traiter et de diffuser les éléments d'information pertinents au fonctionnement d'une entreprise ou d'une organisation » A ne pas confondre avec un système informatique
Système d’information (2/2)
Système d’information... informatisé Ce n’est pas une obligation, juste un fait ! L’informatique s’est imposée dans l’entreprise Mettre en œuvre des applications adaptées aux « besoins » Attention : Ces besoins changent continuellement La maintenance logicielle est une des tâches les plus difficiles du développement logiciel Les méthodes de conception sont d’une aide limitée pour la maintenance (documentation) Rendu plus complexe par la multiplicité des applications
Faciliter la maintenance Trouver des parties stables dans le SI ? Les données, parce qu’elle reflètent le monde qui nous entoure Souvent, évolution plus lente que les besoins des utilisateurs Exemple pratique Les entreprises gèrent des volumes de données très grands Giga, Terra, Péta –octets Numériques, Textuelles, Multi-média (images, films,...) un carnet d’adresses Les données sont structurées et identifiées Données élémentaires ex: Votre salaire, Votre note en BD Données composées ex: Votre CV, vos résultats de l'année Identifiant humain ex: NSS ou machine: P26215
Plan du cours Qu’est ce qu’un SI ? Pourquoi les bases de données ? Partir d’un exemple Définir les termes Contexte informatique Pourquoi les bases de données ? SGF vers SGBD Principe et architecture de référence Modèles de bases de données SGBD relationnel et standard SQL Conclusion et objectifs du module
Applis au dessus d’un SGF (1/2) Risques : Structure des données intégrée dans l’application (donc dépendance données /traitements) Si modification stockage ou structure données Ré écriture de toutes les applications Si nouvelle application Ré organisation des données Création de nouveaux fichiers de données mieux adaptés Duplication des données L’utilisation de fichiers impose à l’utilisateur de connaître : le mode d’accès (séquentielle, indexée, …) la structure physique des enregistrements et la localisation des fichiers qu’il utilise afin de pouvoir accéder aux informations dont il a besoin. Pour des applications nouvelles, l’utilisateur devra obligatoirement écrire de nouveaux programmes et il pourra être amené à créer de nouveaux fichiers qui contiendront peut-être des informations déjà présentes dans d’autres fichiers. Toute modification de la structure des enregistrements (ajout d’un champ par exemple) entraîne la réécriture de tous les programmes qui manipulent ces fichiers. De telles applications sont rigides, contraignantes longues et coûteuse à mettre en œuvre Les données associées sont : mal définies et mal désignées, redondantes peu accessibles de manière ponctuelle peu fiables La prise de décision est une part importante de la vie d’une société. Mais elle nécessite d’être bien informé sur la situation et donc d’avoir des informations à jour et disponibles immédiatement. Les utilisateurs, quant à eux, ne veulent plus de systèmes d’information constitués d’un ensemble de programmes inflexibles et de données inaccessibles à tout non spécialiste; ils souhaitent des systèmes d’informations globaux, cohérents, directement accessibles (sans qu’ils aient besoin soit d’écrire des programmes soit de demander à un programmeur de les écrire pour eux) et des réponses immédiates aux questions qu’ils posent. Redondance des données et incohérences Isolation des données et accessibilité Un accès aux données = un programme Atomicité et environnement multi utilisateurs Sécurité et protection des données
Applis au dessus d’un SGF (2/2) Problèmes : Gestion difficile des accès multi utilisateurs Absence de contrôle pour l’accès et la manipulation des données Mauvaise résistance aux pannes Impacts Lourdeur des applications Augmentation des coûts de maintenance et de développement
Systèmes de fichiers Caractéristiques Problèmes Comptabilité Chirurgie Consultations Psychiatrie
Format des fichiers Caractéristiques Problèmes Plusieurs applications plusieurs formats plusieurs langages Dupont Symptomes : y Turlututu : sqj Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx Problèmes Difficultés de gestion Duhpon Symptomes : yy Analyses : xxxx Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd
Redondance (données) Caractéristiques Problèmes Plusieurs applications plusieurs formats plusieurs langages Redondance de données Dupont Symptomes : y Turlututu : sqj Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx Problèmes Difficultés de gestion Incohérence des données Duhpon Symptomes : yy Analyses : xxxx Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd
Interrogations Caractéristiques Problèmes Plusieurs applications plusieurs formats plusieurs langages Redondance de données Pas de facilité d’interrogation Question développement Redondance de code Dupont Symptomes : y Turlututu : sqj Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx ComptaSoft ChiruSoft Problèmes Difficultés de gestion Incohérence des données Coûts élevés Maintenance difficile Duhpon Symptomes : yy Analyses : xxxx Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd ConsultSoft PsychiaSoft
Pannes ??? Caractéristiques Problèmes Plusieurs applications plusieurs formats plusieurs langages Redondance de données Pas de facilité d’interrogation Question développement Redondance de code Dupont Symptomes : y Turlututu : sqj Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx ComptaSoft ChiruSoft Problèmes Difficultés de gestion Incohérence des données Coûts élevés Maintenance difficile Gestion de pannes ??? Duhpon Symptomes : yy Analyses : xxxx Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd ConsultSoft PsychiaSoft
Partage de données Caractéristiques Problèmes Plusieurs applications plusieurs formats plusieurs langages Redondance de données Pas de facilité d’interrogation Question développement Redondance de code Dupont Symptomes : y Turlututu : sqj Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx ComptaSoft ChiruSoft Problèmes Difficultés de gestion Incohérence des données Coûts élevés Maintenance difficile Gestion de pannes ??? Partage des données ??? Duhpon Symptomes : yy Analyses : xxxx Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd ConsultSoft PsychiaSoft
Confidentialité Caractéristiques Problèmes Plusieurs applications plusieurs formats plusieurs langages Redondance de données Pas de facilité d’interrogation Question développement Redondance de code Dupont Symptomes : y Turlututu : sqj Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx ComptaSoft ChiruSoft 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é ??? Duhpon Symptomes : yy Analyses : xxxx Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd ConsultSoft PsychiaSoft
L’approche ‘‘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 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
Des fichiers aux BDD
Un peu d'histoire Années 60 : Années 70 : Années 80 : Récipients logique de données fichiers sur disque Accès séquentiel puis sur clé Lire (Nomf, Article), Ecrire (Nomf, Article) Lire (Nomf, Article, Clé), Ecrire (Nomf, article, Clé) Années 70 : Avènement des Bases de Données Réseaux (BD) Ensemble de fichiers reliés par des pointeurs Langage d'interrogation par navigation Années 80 : Avènement des Bases de Données Relationnelles (BDR) Relations entre ensemble de données Langage d'interrogation par assertion logique
1ère approche d’un SGBD Qui enseigne le cours de BD ? Select nom from Enseignant where Module = ‘SI3’; Nom Prénom Module Revy Marie SI1 Accary Tiphaine SI2 Granotier Fred SI3 Ressouche Gilles SI4
Définitions intuitives d’une BD Une base de données est un ensemble structuré de données (1) enregistrées sur des supports accessibles par l’ordinateur (2) pour satisfaire simultanément plusieurs utilisateurs (3) de manière sélective (4) en un temps opportun (5). Une base de données est un ensemble de données reliées entre-elles de manière logique
Définition intuitive d’un SGBD
SGBD : Principe fondateur Indépendance des données Objectifs : Adaptation aux utilisateurs / applications Garantie des performances Architecture standardisée ANSI/X3/SPARC (76) I 3 niveaux : Niveau externe : Vues ; Environnement de programmation (intégration avec un langage de programmation) ; Interfaces conviviales et Langages de 4ème génération (L4G) ; Outils d’aide (e.g. conception de schémas) ; Outils de saisie, d’impression d’états. Niveau logique : Définition de la structure de données ; Langages de description des données (LDD) ; Consultation et mise à jour des données : Langages de Requêtes (LR) et Langage de Manipulation de Données (LMD) ; Gestion de la confidentialité (sécurité) ; Maintien de l’intégrité. Niveau physique : Gestion sur mémoire secondaire (fichiers) des données, du schéma, des index ; Partage des données et gestion de la concurrence d’accès ; Reprise sur pannes (fiabilité) ; Distribution des données et interopérabilité (accès réseaux). Trois types d’intervenants : Utilisateur naïf Concepteur et programmeur d’applications Utilisateur expert (administrateur de la base) Indépendance des données / traitements Le niveau externe Le concept de vue permet d'obtenir l'indépendance logique La modification du schéma logique n’entraîne pas la modification des applications (une modification des vues est cependant nécessaire) Chaque vue correspond à la perception d’une partie des données, mais aussi des données qui peuvent être synthétisées à partir des informations représentées dans la BD (par ex. statistiques) Le niveau conceptuel il contient la description des données et des contraintes d’intégrité (Dictionnaire de Données) le schéma logique découle d’une activité de modélisation Le niveau interne il correspond aux structures de stockage et aux moyens d’accés (index)
SGBD : Concept fondateur Exigence d’un modèle de données Ensemble de structures permettant de représenter la réalité telle qu’on la perçoit : c’est le schéma Il existe différents modèles de données Des modèles conceptuels Entité-association, UML … Des modèles logiques Modèle relationnel Des modèles physiques Il faut donc distinguer modèles conceptuels, à priori indépendants des SGBD, et modèles logiques, caractéristiques d'une génération de SGBD.
Modélisation du réel Réel Modèle conceptuel Modèle logique 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
Modèle Entité Association L’entité : concept pourvu d’une existence propre Renvoie à une notion concrète ou abstraite L’association : lien sémantique non orienté entre 2 ou plusieurs entités Cardinalité La propriété : donnée élémentaire permettant de décrire une entité
Modèle relationnel Schéma logique représenté par des RELATIONS LE SCHÉMA RELATIONNEL Le schéma relationnel est l'ensemble des RELATIONS qui modélisent le monde réel • Les relations représentent les entités du monde réel (comme des personnes, des objets, etc.) ou les associations entre ces entités • Passage d'un schéma conceptuel E-A à un schéma relationnel - une entité est représentée par la relation : nom_de_l'entité (liste des attributs de l'entité) - une association M:N est représentée par la relation : nom_de_l'association ( liste des identifiants des entités participantes, liste des attributs de l'association)
Importance du modèle de données Il est à la base des méthodes de description de données Créer et faire évoluer un schéma de données Il supporte le langage d’interrogation des données Objectifs de facilité et de performances Il aide au support de l’intégrité pendant les mises à jour Expression des contraintes
Objectifs des SGBD Système de gestion de bases de données BD I- Indépendance Physique X - Standards II- Indépendance Logique IX - Gestion de la confidentialité BD III – Langage de manipulation VIII - Concurrence d’accès IV - Gestion des vues VII - Gestion des pannes V - Optimisation des questions VI - Gestion de la cohérence
Avantages de l’indépendance physique Indépendance des programmes d'applications vis à vis du modèle physique : Possibilité de modifier les structures de stockage (fichiers, index, chemins d'accès, …) sans modifier les programmes; Ecriture des applications par des non-spécialistes des fichiers et des structures de stockage; Meilleure portabilité des applications et indépendance vis à vis du matériel.
Avantages de l’indépendance logique Possibilité pour chaque application d'ignorer les besoins des autres (bien que partageant la même BD). Possibilité d'évolution de la base de données sans réécriture des applications : ajout de champs, ajout de relation, renommage de champs. Possibilité d'intégrer des applications existantes sans modifier les autres. Possibilité de limiter les conséquences du partage : Données confidentielles.
Qualités du modèle relationnel Description de données Support de l’architecture ANSI Méthode formelle de modélisation des données Minimise la redondance d’information Limite les problèmes d’incohérence Langages d’interrogation Langages déclaratifs : le standard SQL Langage procédural : algèbre relationnelle Exploite l’organisation physique des données Mises à jour Spécification de contraintes d’intégrité Ex : clef primaire – contraintes de clefs référentielles Support des transactions Résistance aux pannes Support multi utilisateurs
Manipulation aisée La manipulation se fait via un langage déclaratif La question déclare l’objectif sans décrire la méthode Le langage suit une norme commune à tous les SGBD SQL : Structured Query Langage Sémantique Logique du 1er ordre ++ Syntaxe (aperçu !) SELECT <structure des résultats> FROM <relations> WHERE <conditions>
Isolation et Cohérence Le SGBD gère les accès concurrents Chacun à l’impression d’être seul (Isolation) Cohérence conservée (Pas de maj conflictuelles) Système de gestion de bases de données BD
Confidentialité Objectif : Protéger les données de la BD contre des accès non autorisés Deux niveaux : Connexion restreinte aux usagers répertoriés (mot de passe) Privilèges d'accès aux objets de la base Usagers : Usager ou groupe d’usagers Objets : Relation, Vue, autres objets (procédures, etc.)
Standardisation L’approche bases de données est basée sur plusieurs standards Langage SQL (SQL1, SQL2, SQL3) Communication SQL CLI (ODBC / JDBC) Transactions (X/Open DTP, OSI-TP) Force des standards Portabilité Interopérabilté Applications multisources…
Conclusion Les SGBD au cœur des systèmes d’information Permettent de réduire les coûts d’évolution des S. I. Architecture de référence (ANSI) Module sur les SGBD relationnels Systèmes incontournables Standard SQL Interrogation, mise à jour, modélisation, développement d’applications Intégration aux processus de conception et de maintenance du SI
Objectifs du module SI3 (1 semestre) Extraire et modifier les données d’une base de données Implémenter une base de données à partir d’un schéma existant Configurer les droits d’accès à une base de données Caractériser une solution d’implémentation de données
Sources du diaporama Systèmes d’information et utilisation de bases de données S. Huchet (ITG) - P. Picouet (ENST Bretagne) Bases de données : Introduction et Objectifs G. Gardarin et L. Bouganim Systèmes d’information et management des organisation R. Reix, Ed. Vuibert, collection Gestion, 2002. Conception et architecture des bases de données R. Elmasri & S. Navathe, 4° édition, Pearson education France, 2004.