Arrow Table de matières
2328002

CHAPITRE I. SYSTEMES D’INFORMATION ET BASES DE DONNEES

I.1 SYSTEME D’INFORMATION[1]

I.1.1. Définition

Un système d’information est un ensemble de personnes, de procédures et de ressources qui recueillent, transforment et diffusent l’information dans une organisation

Le système d’information est composé d’éléments divers pouvant être chargés de stocker et de traiter les informations relatives au système opérant afin de les mettre à la disposition du système de pilotage.

I.1.2 Aspects technologiques d’un système d’information 

Les aspects technologiques sont d’une grande importance pour gestionnaires utilisateurs du fait que le système d’information informatisé quoi que tributaire des techniques de traitement de l’information, est conçu et exploité par des personnes provenant de divers milieux organisationnels aux yeux des gestionnaires utilisateurs. On doit mesurer le succès d’un système d’information non seulement par son efficience dans l’usage de la technologie de l’information mais aussi par son efficacité dans l’attente des buts des utilisateurs et des entreprises.

I.1.3 Les ressources d’un système d’information 

Un système d’information utilise des ressources humaines (utilisateurs finals et informaticiens), des ressources matérielles (machines et supports) et des ressources logicielles (programmes et procédures) pour accomplir des fonctions qui servent à convertir en produits informatiques des ressources en données.

I.1.4 Les activités d’un système d’information

Les activités d’un système d’information sont :

  • L’entrée des données ;
  • La transformation des données en information ;
  • La sortie des produits informatiques ;
  • Le stockage des données ;
  • Le contrôle de la performance d’un système et
  • L’identification du système.

I.2. SYSTEME INFORMATIQUE

  • Définition

Un système informatique est un sous-ensemble du système d’information dans lequel toutes les transformations nécessaires d’informations sont effectuées par des machines de traitement automatique d’informations qui sont les ordinateurs.

  • Classification des systèmes informatiques

D’une manière pratique, nous distinguons différents types de systèmes informatiques classifiés selon un degré donné.

  1. Selon le degré d’organisation : ï‚· Le système indépendant ; ï‚· Le système intégré.
  2. Selon le degré d’automatisation
    • Le traitement manuel
    • Le traitement mécanique
    • Le traitement automatique
  3. Selon l’architecture de traitement
    • L’informatique centralisée
    • L’informatique décentralisée ou répartie
    • L’informatique distribuée ou mixte

I.2.3 Rôles d’un système informatique

Les rôles d’un système informatique sont :

  • Traiter les informations
  • Stocker les informations
  • Diffuser les informations
  • Communiquer les informations
  • Tenir compte des valeurs ajoutées

I.2.4 Qualités d’un système informatique

Un système informatique doit posséder les qualités suivantes :

  • La fiabilité
  • La rapidité
  • La sécurité
  • La pertinence

I.3 LES BASES DE DONNEES ET LE SYSTEME DE GESTION DE BASE DE

DONNEES

  • Généralités[2]

La gestion d’informations se faisait jadis à partir de fiches manuscrites puis dactylographiées, classées bien souvent selon un index.

Avec l’informatique, un certain nombre d’opérations peuvent être automatisées et l’enregistrement des informations est donc passé de la fiche manuelle à un support informatique (Bande magnétique, disque dur, disquette etc...). Ces informations peuvent être organisées dans des fichiers dans un premier temps. Ces fichiers se sont organisés en un véritable ensemble dévolu à la gestion des informations de l’entreprise. Mais organiser la gestion de données à partir d’un système de gestion de fichiers est une solution qui n’est pas satisfaisante : lourde à gérer, trop dépendante de l’organisation physique. Même si l’emploi de méthodes d’analyse permet, dans une certaine mesure, de limiter la redondance et l’inconsistance des données, il reste clair que seules de nouvelles solutions techniques peuvent améliorer la possibilité de rapprocher ou de lier entre elles les informations de même sens. C’est pourquoi, d’autres systèmes de gestion de données se sont mis en place : les Systèmes de Gestion de Bases de Données (SGBD) ; leur objectif principal étant d’éliminer les inconvénients directs de ces fichiers en espérant, par là même, éliminer les inconvénients indirects.

  • LES BASES DE DONNEES
    • Définition

Une base de données est un ensemble structuré de données, enregistrées sur des supports, accessibles par l’ordinateur, représentant les informations du monde réel et pouvant être interrogées et mises à jour par une communauté d’utilisateurs. La base de données est destinée à la gestion, au stockage, à l’actualisation et à la consultation d’entités de différentes natures (et de leurs données), sachant que ces entités ont un lien les unes avec les autres. 

  • Caractéristiques ou critères d’une base des données

Une base de données répond généralement à trois critères suivants :

  • L’exhaustivité : ce qui implique la présence dans la base des données, de tous les renseignements qui ont trait aux applications en question.
  • La non-redondance : implique la présence d’un renseignement donné une et une seule fois
  • La structure : ce qui implique l’adaptation du mode de stockage des renseignements aux traitements qui les exploiteront et les mettront à jour, ainsi qu’au coût de stockage dans l’ordinateur.

I.3.2.3 Fonctions des bases de données 

Les bases de données ont pour fonctions de :

  • Décrire les données qui seront stockées ;
  • Manipuler ces données (ajouter, modifier, supprimer des informations) ;
  • Consulter les données et traiter les informations obtenues (sélectionner, trier, calculer, agréger,...) ;
  • Définir des contraintes d’intégrité sur les données (contraintes de domaines, d’existence,...) ;
  • Définir les protections d’accès (mots de passe, autorisations,...) ;
  • Résoudre les problèmes d’accès multiples aux données (blocages, inter blocages) ;
  • Prévoir des procédures de reprise en cas d’incident (sauvegardes, journaux,...).

I.3.3 LE SYSTEME DE GESTION DES BASES DE DONNEES[3]

On ne gère plus un ensemble de fichiers mais un ensemble de données structurées. En ce sens, le SGBD est donc : Le système de gestion d’un ensemble cohérent de données non redondantes.

De plus, le SGBD doit répondre aux besoins de toute l’entreprise et non plus d’une application particulière, et ce, dans la limite des droits de chacun. On doit donc aussi considérer le SGBD comme : Un ensemble de logiciels de gestion, de contrôle d’accès aux données et aux programmes les manipulant.

I.3.3.1 Les objectifs de SGBD

 

Plus précisément, les objectifs d’un SGBD sont les suivants :

  1. Liens entre les données

Les systèmes de gestion des fichiers traditionnels souffrent également de ce qu’ils ne permettent pas de définir et de manipuler des liens complexes entre les données. Ces liens correspondent à des associations que l’on peut isoler entre les objets de l’application que l’on veut représenter. Un SGBD doit être fondé sur un modèle de données dont le but est précisément de définir la structuration des données que le système peut représenter et les liens qui peuvent être établis entre ces données. 

  1. Cohérence des données

Dans un ensemble de données contenant une masse importante de connaissances, la cohérence des données stockées par rapport à la réalité est une nécessité. C’est pourquoi un SGBD doit permettre à l’utilisateur de définir des règles permettant de maintenir la cohérence de la base. Ces règles définissent des propriétés que les données doivent satisfaire. Le maintien de la cohérence d’une base des données passe également par la mise en place d’un système d’autorisation qui permet de limiter certaines manipulations à des groupes d’utilisateurs responsables.

  1. Souplesse d’accès aux données

Un SGBD doit permettre d’accéder facilement à n’importe quelle donnée de la base. Plus précisément, le système doit permettre d’accéder aux données par l’intermédiaire des langages déclaratifs (non procéduraux) et de haut niveau que l’on appelle classiquement langages de requêtes. Le langage des requêtes peuvent être utilisés de façon interactive par des utilisateurs pour consulter la base des données ou faire des modifications. On voit donc apparaître deux manières différentes d’accéder à une base de données : dans une application connectée au SGBD (c’est-à-dire un programme écrit par un utilisateur) ou de façon interactive en utilisant le langage des requêtes.

  1. Sécurité

Un SGBD doit être capable de protéger les données qu’il gère contre toute sorte d’agressions extérieures. Ces agressions peuvent être physiques comme une panne d’un périphérique de stockage ou une erreur logicielle. Elles peuvent aussi être humaines, comme une manipulation délibérément malveillante d’un utilisateur. Pour protéger les données contre les pannes matérielles et logicielles, le SGBD doit permettre la pose des points de reprise permettant de redémarrer le système et de le remettre dans un état satisfaisant, ainsi que la journalisation des modifications faites sur les données, afin de pouvoir défaire et/ou refaire ces modifications. 

  1. Partage des données

Nous avons dit précédemment que partager des données entre plusieurs applications (utilisateurs) a été l’un des besoins essentiels qui ont conduit au concept de base de données. Différentes applications opérant sur les mêmes données doivent pouvoir s’exécuter comme si elles étaient seules à opérer sur ces données. C’est au SGBD d’offrir des moyens de contrôler ce partage des données, de détecter d’éventuels conflits d’accès pouvant exister entre plusieurs utilisateurs ou plusieurs applications, et de donner les outils pour les résoudre.  

  1. Indépendance des données

L’indépendance est un des aspects majeurs offerts par un système de gestion de bases de données. Une application manipulant ses données  par l’intermédiaire de fichiers est fortement dépendante de ses données.

En effet, l’application doit connaître la structuration des fichiers ainsi que les méthodes d’accès à ces derniers: Si, pour une raison majeure, la structuration ou les méthodes d’accès doivent être changé, cela ne peut pas se faire sans remettre en question l’application de façon significative. Un SGBD, au contraire, doit permettre d’écrire des applications sans se soucier de la structuration physique des données et des méthodes d’accès associées. Le système peut ainsi évoluer pour prendre en compte de nouveaux besoins sans remettre en cause les applications déjà écrites.  L’indépendance des données est un concept lié à l’évolution et a la maintenance d’une application. On peut distinguer deux niveaux d’indépendance : l’indépendance physique et l’indépendance logique. 

L’indépendance physique doit permettre de modifier les structures de stockage ou les méthodes d’accès aux données sans que cela ait de répercussion au niveau des applications. On pourra ainsi ajouter ou supprimer un index sur une collection, changer la représentation interne des données numériques ou bien changer une méthode de tri. Il est très important de pouvoir faire évoluer la représentation physique des données pour permettre au système de s’adapter aux données de telle ou telle application particulière dont les performances nécessiteront des méthodes d’accès différentes. Un  système qui ne permet pas de séparer clairement les représentations physiques et logiques des données aura des performances qui ne seront bonnes que pour l’application et la configuration de données que le programmeur aura initialement prévues. 

L’indépendance logique doit permettre de modifier l’organisation des données sans affecter les utilisateurs. Ce niveau d’indépendance a pour but de permettre d’enrichir une base de données existante pour prendre en compte de nouvelles structures sans pour autant remettre en cause celles qui existent déjà.  

L’indépendance logique permet donc de faire face à de nouveaux besoins, ce qui est indispensable, si l’on considère qu’une base de données est un modèle du monde réel et que le monde réel, de même que les besoins des utilisateurs, changent au cours du temps. Il faut noter que ce principe d’indépendance des données est un idéal souvent très difficile à atteindre et que selon les systèmes que l’on considérera, on constatera différents niveaux d’indépendance. 

  1. Performance

La réalisation des fonctions ci-dessus ne doit pas  être obtenue aux dépens des performances globales du système. Un SGBD doit être capable de gérer un volume important de données et d’offrir un temps d’accès raisonnable aux utilisateurs. Ce besoin de performance fait qu’une grande partie de la technologie des bases de données a été et est encore consacrée à l’amélioration des techniques d’accès et d’optimisation. Les problèmes de performance et d’optimisation sont sous-jacents dans tous les problèmes considérés dans le domaine des bases de données. 

  1. Administration et contrôle

L’administrateur du système joue un rôle primordial dans la conception et la maintenance d’un SGBD. En effet, une base de données étant utilisée par plusieurs utilisateurs à la fois, et ces utilisateurs ayant des besoins qui peuvent parfois être incompatibles, le contrôle et l’administration de la base doivent être confiés à une personne indépendante. Plus précisément, le rôle de l’administrateur est le suivant : 

Décider de l’information contenue dans la base. L’administrateur est en charge de la définition des structures de données contenues dans la base et de leur évolution éventuelle pour prendre en compte de nouvelles applications. 

Décider des structures physiques et des stratégies d’accès. L’administrateur définit la façon dont les données sont représentées au niveau  physique ainsi que les différentes méthodes de stockage et d’accès. L’indépendance physique doit rendre possible cette spécification de façon entièrement autonome. 

  • Définir les autorisations accordées aux utilisateurs.
  • Définir les points de reprise et les sauvegardes.

Optimiser l’organisation physique pour augmenter les performances globales du système ou pour tenir compte de nouvelles spécifications. 

En résumé, l’administrateur du système est chargé de gérer tous les aspects du SGBD qui ne sont pas automatisés et qui ne doivent pas transparaître au niveau des utilisateurs. Son rôle est d’autant plus important que la durée de vie d’une application utilisant un système de gestion de bases de données est longue et que pendant cette durée de vie, l’application devra souvent évoluer pour s’adapter à des changements de spécifications. 

I.3.3.2 Les types de SGBD[4]

Il existe plusieurs types de SGBD, mais dans le cadre de notre travail,  nous essayerons de parler de SGBD hiérarchique, réseau, relationnel et le SGBD objet.

  1. Les SGBD hiérarchiques

Ce sont les premiers SGBD apparus (notamment avec IMS d’IBM). Ces systèmes de gestions de bases données font partie des SGBD navigationnelles constituées d’une gestion de pointeurs entre les enregistrements. Le schéma de la base de données est une arborescence.

Figure 1.1. Les SGBD Hiérarchique

  1. Les SGBD réseaux

Les SGBD réseaux viennent juste après le SGBD hiérarchique, elles ont très vite détrôné le SGBD hiérarchique dans les années 70. Ce sont aussi des SGBD navigationnelles qui gèrent des pointeurs entre les enregistrements. Cette fois-ci le schéma de la base de données est beaucoup plus ouvert. Sans doute les SGBD réseaux sont plus rapides que SGBD hiérarchiques.

  1. Les SGBD relationnelles

A l’heure actuelle, les SGBD relationnelles sont les plus utilisées. Les données sont représentées en de tables. Elles sont basées sur l’algèbre relationnelle et un langage déclaratif (généralement SQL).

Figure 1.3. Les SGBD Relationnelles 

  1. Les SGBD déductives

Dans les SGBD déductives, les données sont aussi représentées en

tables (prédicats), le langage d’interrogation se base sur le calcul des prédicats et la logique du premier ordre.

  1. Les SGBD objets

Les données sont représentées sous forme d’objets au sens donné par les langages orientés objet : pour simplifier, les données (au sens habituel) sont enregistrées avec les procédures et fonctions qui permettent de les manipuler. Les SGBD orientés objet (SGBDOO) supportent aussi la notion d’héritage entre classes d’objets. Ces dernières années le développement rapide des langages orientés objet a mis en avant les SGBDOO qui permettent la sauvegarde directe des objets manipulés par ces langages.  

De plus les manipulations de données à structures complexes, en particulier dans les traitements qui font intervenir le multimédia, sont facilitées avec les SGBDOO. Le modèle relationnel a montré ses limites pour ce type de données. On verra en particulier que les structures de données complexes sont éclatées par le modèle relationnel et la reconstitution de la structure nécessite des opérations (jointures) lourdes et coûteuses en performance. Cependant les SGBDOO ne sont utilisés actuellement que pour des usages bien spécifiques et il n’existe pas encore de normes communément admises.  Les SGBDR ont aussi leurs atouts. Ils reposent sur une théorie formelle plus solide que les SGBDOO. Ils sont aussi plus souples pour répondre aux interrogations de la base non prévues au départ. La recherche est active dans le domaine des SGBDOO. Pour garder leur part du marché et répondre aux besoins des utilisateurs, les grands SGBD relationnels ajoutent progressivement une couche objet à leur noyau relationnel. 

Les données sont stockées sous forme d’objets, c’est-à-dire de structures appelées  classes présentant des données membres. Les champs sont des instances de ces classes.

I.3.3.3 Quelques SGBD reconnus

  • Oracle
  • DB2
  • Sybase
  • SQL Server
  • Ingres
  • Informix
  • O2
  • Gemstone
  • ObjectStore
  • Jasmine Access, ….. 

I.3.4 CONCEPTION D’UNE BASE DE DONNEES

La conception d’une base de données est un processus qui consiste en l’observation d’une situation réelle pour aboutir à la définition de la base de données correspondante. 

Le monde informatique dispose de plusieurs méthodes de modélisation de base de données. La modélisation de notre application se fera donc à l’aide d’une méthode de conception de base de données qui est la méthode MERISE.

I.3.4. PRESENTATION DE LA METHODE MERISE

I.3.4.1. Aperçu historique 

La méthode MERISE (Méthode d’Etude et de Réalisation Informatique pour les Systèmes d’Entreprise)  date de 1978-1979, et fait suite à une consultation nationale lancée par le ministère de l’industrie Française dans le but de choisir des sociétés des conseils en informatique afin de définir une méthode de conception des systèmes d’information. Les deux principales sociétés ayant mis au point cette méthode sont le CTI (Centre Technique d’Informatique) chargé de gérer le projet et le CETE (Centre d’Etudes Techniques de l’Equipement) implantés à Aix-en-Provence. Elle tire son nom d’une plante, le merisier.

Elle est basée sur la séparation des données et des traitements à effectuer en plusieurs modèles.

I.3.4.2. Le modèle conceptuel des données (MCD)

Ici, c’est la perception de l’entreprise par le concepteur. Le modèle repose sa description sur 3 concepts suivants :

  • Entité (objets)
  • Relation (Association) Cardinalité.
  1. Entité

Une entité est une représentation d’un élément matériel ou immatériel

ayant un rôle dans le système que l’on désire décrire. Chaque entité est composée des propriétés, données élémentaires permettant de la décrire. 

  • Propriétés

Une propriété est un attribut ou une donnée élémentaire perçue sur le Système d’Information, elle peut concerner une entité ou une relation.  En d’autres termes, une propriété est une information rattachée à une entité.

  • Identifiant de l’entité

C’est une propriété particulière telle qu’à chaque valeur de la propriété

corresponde une et une seule occurrence de l’Entité. Il permet d’identifier d’une manière unique et sans ambiguïté une occurrence. 

  • Occurrence

L’occurrence d’une entité correspond au nombre de fois que cette

entité est valorisée. 

  1. Relation (Association)

Une association (relation) est un lien sémantique entre plusieurs

entités. Selon le nombre d’entités qu’elle relie, une association peut être :

  • Récursive (réflexive) : relie la même entité ;
  • Binaire : relie deux entités ; Ternaire : relie trois entités ; § N-aire : relie n-entités.
  1. Cardinalité

Une cardinalité est le nombre de fois minimum et maximum qu’une

entité participe à une relation.

En bref la démarche de la réalisation du MCD peut être résumée

comme suit : 

  • Déterminer la liste des entités ;
  • Pour chaque entité, déterminer la liste des propriétés et parmi celle-ci, déterminer l’identifiant ;
  • Déterminer les relations entre les entités ;
  • Pour chaque relation, déterminer les propriétés si possibles ;
  • Placer les cardinalités ;
  • Déterminer le CIF (Contrainte d’Intégrité Fonctionnelle) ; Vérifier les règles de normalisation.

v Règles de normalisation et de vérification du MCD

Permettent des spécifier les règles de gestion c’est à dire les informations et leurs relations ainsi que les utilisations qui sont faites en exprimant notamment les contraintes associées. Ces définitions sont établies en faisant abstraction des contraintes de nature organisationnelle, de ce fait, l’expression est uniquement liée aux finalités de l’entreprise.

A ce niveau, les modèles utilisés pour la description conceptuelle sont :

  • Le modèle conceptuel de données(MCD)
  • Le modèle conceptuel des traitements (MCT)

Après avoir conçu le MCD, on doit le vérifier sur base des quelques règles : 

Concernant les Entités

  • Il ne doit exister un identifiant pour chaque entité
  • Toutes les propriétés autre que l’identifiant doivent être en dépendance fonctionnelle complète et direct de l’identifiant.

Concernant les relations

  • Toute les propriétés d’une relation doivent dépendre complètement de l’identifiant de la relation

Concernant l’ensemble du MCD

  • Une propriété ne peut apparaitre qu’une et une seule fois dans le même MCD
  • Les propriétés qui sont les résultats d’un calcul ne doivent pas en principe se figurer dans un MCD sauf si elles sont indispensables à la compréhension de celui-ci.

Règle de bonne manière dans le schéma du MCD

  • Pour les entités, utilisez le nom commun au pluriel ;
  • Pour les associations, utilisez un verbe à l’infinitif ;
  • Pour les attributs (propriétés), utilisez un nom au singulier éventuellement accompagné du nom de l’entité ;
  • Préférez un identifiant court pour rendre la recherche plus rapide.

Le niveau organisationnel : permet de prendre en compte le choix de l’organisation notamment au niveau de la répartition du traitement entre l’homme et la machine. Le modèle de fonctionnement, l’affectation des données et traitement par site et par poste de travail sont définis à ce niveau de conception.

A l’instar du niveau conceptuel, le niveau organisationnel inclut aussi deux modèles :

  • Le modèle organisationnel de données (MOD)
  • Le modèle organisationnel des traitements (MOT)

I.3.4.3. Le Modèle Logique des Données (MLD) 

La description conceptuelle a permis de représenter le plus fidèlement possible les réalités de l’univers à informatiser. Mais cette représentation ne peut pas être directement manipulée et acceptée par un système informatique. Il est donc nécessaire de passer du niveau conceptuel à un second niveau plus proche des capacités des systèmes informatiques. Ce niveau est appelé niveau logique, ou encore Modèle Logique des Données(MLD). 

I.3.4.4. Le Modèle Physique des Données (MPD)

Le modèle physique décrit comment les données sont stockées dans la mémoire de la machine. Il est directement conditionné par les caractéristiques, du SGBD et du matériel utilisé.

Cet étape consiste à implémenter le modèle dans le SGBD, c’est-à-dire le traduire dans un langage de définition des données.

II.12. LE LANGAGE SQL[5] 

SQL est un langage déclaratif qui permet d’interroger une base de données sans se soucier de la représentation interne (physique) des données, de leur localisation, des chemins d’accès ou des algorithmes nécessaires. A ce titre, il s’adresse à une large communauté d’utilisateurs potentiels (pas seulement des informaticiens) et constitue un des atouts les plus spectaculaires (et le plus connu) des SGBDR. 

Ce dernier aspect est très important en pratique car SQL ne permet pas de faire de la programmation au sens courant du terme et doit donc être associé avec un langage comme le C, le COBOL ou JAVA pour réaliser des traitements complexes accédant à une base de données.

[1] Eugène MBUYI MUKENDI, cours de Systèmes d’information et de base des données Tome I, troisième graduat informatique  2013-2014 Université de Kinshasa

[2] Richard GRIN, Introduction aux bases de données université Sophia-Antipolis de décembre 2000

[3] Mande MANOUVRIER, Base de données élémentaire université, Paris Dauphine, édition 2004

[4] Eugène MBUYI MUKENDI, cours de Systèmes d’information et de base des données Tome I, troisième graduat informatique  2013-2014 Université de Kinshasa

[5] Stéphane Crozat, Conception de base de données, version 3.00 du Janvier 2005

Partager ce travail sur :