Académique Documents
Professionnel Documents
Culture Documents
Filières : ESC
Niveau : II
PLAN DU COURS
OBJECTIFS GENERAUX
- initier les étudiants à l’élaboration des bases de données, en se rattachant essentiellement aux
concepts sur lesquels reposent les différents systèmes que l’on rencontre sur le marché ;
- permettre de résoudre les problèmes rencontrés lors de la création des bases de données ;
- familiariser l'étudiant avec l'utilisation, la conception et la gestion des bases de données
informatisées.
OBJECTIFS SPECIFIQUES
- de déterminer le contenu des bases de données pour satisfaire les besoins en informations de
l’entreprise ;
- de créer un environnement favorable pour l’utilisateur qui veut exploiter les données stockées
dans la base, ou l’enrichir au moyen d’informations nouvelles ;
- de concevoir ses propres bases de données à l‘aide du SGBDR Microsoft Access .
STRUCTURE ET CONTENU
Ce cours est organisé en deux (2) parties : partie théorique et partie pratique.
- La première partie (théorique) dans un premier temps rassemble les fondements théoriques
indispensables à la compréhension des concepts suivants : fichiers, bases de données, système
de gestion des bases de données, systèmes d’information. Et dans un second temps, elle décrit
la démarche d’analyse et de conception des systèmes d’information (SI) préconisée par la
méthode Merise, tout en insistant particulièrement sur la modélisation des données à travers le
modèle conceptuel des données (MCD) et le modèle logique des données (MLD).
SOURCES DOCUMENTAIRES
L’étudiant devra compléter les leçons par des lectures pouvant être trouvées dans la plupart des
ouvrages d’introduction à l’informatique, ou sur Internet.
3. TARDIEU H., ROCHFELD A., COLLETI R., « La méthode Merise, principes et outils », les
Ed. d’Organisation.
SOMMAIRE
Chaque fichier possède des éléments de données appelés attributs qui permettent de décrire l’entité
correspondante.
Exemples d’attributs :
Une structure d’information efficace doit assurer la recherche rapide des informations. Pour distinguer
les enregistrements d’un fichier, on détermine un attribut appelé clé primaire qui permet d’identifier
de façon unique chaque enregistrement d’un fichier.
Par exemples :
La combinaison des valeurs prises par chacun des attributs d’un fichier correspond à un enregistrement.
Une clé secondaire (clé externe ou clé étrangère) est un attribut dans un fichier qui est clé primaire
dans un autre fichier ; elle permet de faire le lien entre 2 fichiers.
Exemple :
Client (noclt, nomclt, villeclt….) -- noclt est clé 1aire dans le fichier Client.
Commande (nocde, datecde, #noclt) --- noclt est clé 2aire dans le fichier Commande.
Différents types d’opérations sont possibles sur les fichiers. Les principales opérations sont :
- Mise à jour
Elle consiste à réaliser la maintenance du fichier et peut correspondre à l’un des cas suivants :
Ajout de nouveaux enregistrements
Modification de la valeur des attributs de certains enregistrements
Suppression des enregistrements.
- Autres opérations
Fusion des fichiers
Elle permet d’obtenir un fichier résultant à partir de plusieurs fichiers origines. Après fusion, on
retrouve dans le fichier résultant tous les enregistrements des fichiers origines.
- L’implantation consécutive
- L’implantation répartie
a) L’implantation consécutive
Dans ce mode d’implantation, les enregistrements sont rangés de façon séquentielle les uns à la suite
des autres dans un ordre bien déterminé.
b) L’implantation répartie
Ici, les enregistrements sont rangés à des emplacements quelconques identifiés par des adresses. Ce
mode d’implantation n’est possible que sur un support adressable.
a) Accès séquentiel
Pour retrouver un enregistrement quelconque, la machine lit tous les enregistrements qui le précèdent
à partir du début du fichier.
L’ordinateur peut accéder directement à un enregistrement dont on connait l’adresse, sans avoir à lire
les enregistrements précédents. Ce mode d’accès n’est possible que sur un support adressable.
- L’organisation séquentielle
Elle correspond à une implantation consécutive et au mode d’accès séquentiel. C’est la seule méthode
utilisée sur les bandes magnétiques (supports non adressables).
Elle correspond à l’implantation consécutive et aux 2 types d’accès à savoir, l’accès séquentiel à
l’index et l’accès direct au fichier.
Elle se compose d’un fichier et d’un index. L’index est une table de correspondance permettant
d’associer à chaque d’enregistrement l’adresse de stockage de cet enregistrement.
Pour trouver un enregistrement donné dans un fichier à organisation séquentielle indexée, il faut
d’abord trouver en explorant l’index la clé de l’enregistrement recherché. Une fois trouvée, l’adresse
de stockage correspondant à l’enregistrement est notée et la machine accède directement à
l’enregistrement du fichier.
- Organisation directe
Elle correspond à une implantation répartie et au mode d’accès direct. Les enregistrements sont stockés
de telle façon qu’un programme peut accéder directement à un enregistrement recherché grâce à son
adresse.
2.1.1 Définition
Une base de données est une collection (ou un ensemble) de fichiers reliés entre eux et associés aux
applications de l’entreprise. Plus explicitement, c’est un ensemble structuré de données enregistrées
sur des supports accessibles par l’ordinateur pour satisfaire simultanément plusieurs utilisateurs de
façon sélective et en temps opportun.
Les données ainsi que les relations sémantiques entre les données sont spécifiées en utilisant les
concepts proposés par le modèle de données sous-jacent.
La notion de modèle de données est essentielle et c’est elle qui souvent motive le choix de l’utilisation
d’une base de données. La plupart des modèles de données (hiérarchique, réseau, relationnel, objet)
inclut des opérations permettant de mettre à jour et de questionner la base. Le modèle de données le
plus utilisé est le modèle relationnel.
Le modèle relationnel a été proposé par E.F. Codd en 1970. Il est souvent considéré comme le plus
simple et le plus élégant des modèles. Sa simplicité est due à une vision tabulaire des données très
intuitive. Son élégance résulte de bases formelles issues de la théorie mathématique des ensembles.
Les objectifs du modèle relationnel étaient différents de ceux des modèles réseau et hiérarchique:
Parmi les lacunes de ces modèles auxquelles E.F. Codd souhaitait apporter une solution nous en
retenons deux :
Le modèle relationnel présente également de nombreux avantages dus au fait qu'il soit basé sur la
théorie des ensembles : langage de manipulation des données ensemblistes grâce à l'algèbre
relationnelle et grâce à des langages assertionnels qui permettent de spécifier ce que l'on souhaite
obtenir sans dire comment l'obtenir. Le SGBD est responsable de la politique d'exécution des requêtes.
Il est relatif aux utilisateurs et décrit la partie des données représentant un intérêt pour un utilisateur
ou un groupe d’utilisateurs.
Il correspond à la vision globale de la base de données et décrit la structure sémantique des données et
le schéma général de la BD.
Il définit la structure de stockage supportant les données, ie la manière selon laquelle les données sont
réellement enregistrées sur mémoires auxiliaires (mode d’implantation, mode d’accès, organisation du
fichier).
En résumé, une BD représente un ensemble de données mémorisées par un ordinateur sur un support
de mémoire auxiliaire, utilisées par de nombreuses personnes et dont l’organisation est régie par un
modèle de données.
2.2 SGBD
2.2.1 Définition
Un SGBD (Système de Gestion des Bases de Données) est un ensemble de logiciels permettant de
créer, de gérer et d’interroger efficacement une BD.
Le but d’un SGBD est de fournir un environnement adapté et efficace à l’utilisateur qui désire exploiter
l’ensemble des informations contenues dans la base de données ou en accroître le volume.
- Le SGBD interne
Qui gère le niveau conceptuel ou logique de la base de données et permet de décrire la structure
de la base de données globalement à tous les utilisateurs. Le schéma conceptuel de la BD est produit
par une analyse de l’application à modéliser et par intégration des différentes vues utilisateurs.
- Le SGBD externe
Qui gère le niveau externe de la base de données, et permet de faire une sélection catégorielle
sur les données selon les différentes vues des utilisateurs.
Le SGBD doit être capable de faire des transformations entre chaque niveau, de manière à transformer
une requête exprimée en terme du niveau externe en requête du niveau conceptuel puis du niveau
physique.
En résumé, un SGBD est un ensemble de logiciels (ou de programmes) permettant de gérer les
bases de données en fournissant des interfaces de description des données, (c'est-à-dire des éléments
d’un langage utilisé pour décrire la structure de la base), des interfaces de manipulation (utilisées pour
intégrer, modifier ou extraire les informations de la base de données), tout en assurant la sécurité, la
confidentialité, l’intégrité et le partage des données.
Le système d'information a été défini par Robert REIX comme « un ensemble organisé de ressources:
matériel, logiciel, personnel, données, procédures permettant d'acquérir, de traiter, de stocker et
diffuser des informations, dans une entreprise qui peuvent être sous forme de données, textes, images,
sons.. . dans le but d'aider à la prise de décision et à la gestion des transactions internes et externes ».
Un système d’information (SI) peut aussi être défini comme l’ensemble des informations circulant
dans l’entreprise et les moyens mis en œuvre pour les gérer. Les moyens mis en œuvre sont d’ordre
humains, matériels (ordinateurs, imprimantes, modems, réseau informatique, serveurs,…), et
procéduraux (fiches d’instruction, modes opératoires, procédures administratives, procédures
comptable, logiciels, etc.).
- Soit des utilisateurs, c'est-à-dire des employés, des cadres, qui pour l'exécution de leurs tâches
«consomment» l'information produite par le système ou contribuent à l'acquisition, au stockage,
au traitement ou à la consommation d'informations.
- Soit des spécialistes des systèmes d'information (analyste, programmeur, opérateur, etc.) dont la
fonction exclusive consiste à concevoir, implanter, faire fonctionner un système d'information.
2. Le matériel: cela inclut tous les dispositifs physiques utilisés: unités centrales et périphériques,
stations de travail, réseaux de communication, etc., et les différents supports de l'information (feuilles
de papiers, disques magnétiques, etc.)
3. Les logiciels et procédures: il s’agit des méthodes décrivant le fonctionnement d'ensemble (qui fait
quoi ? Comment ? où ? quand ?). Dans l'hypothèse (la plus fréquente) où le système d'information
comporte des ordinateurs, le logiciel correspond à l'ensemble des programmes d'application et de
services nécessaires à leur fonctionnement. Ces phases automatiques de traitement sont généralement
articulées avec des phases manuelles au sein d'une procédure.
4. Données: sous formes variées (caractères alphanumériques, textes, images, sons, etc.), ces
ressources correspondent à la matière première du traitement.
(spécialistes ou
SYSTEME
LOGICIELS ET D’INFORMATION
PROCEDURES STOCKER DES INFORMATIONS
(programmes,
DONNEES
COMMUNIQUER DES INFORMATIONS
(connaissances, modèles,
- le système de pilotage,
- le système opérant,
- et le système d'information.
a. Le système opérant (ou système d'exécution) exécute les tâches qui permettent de faire fonctionner
le système. Il transforme un flux physique d'entrée (matières premières, flux financier) en un flux
physique de sortie (produits finis, flux financier). C’est le siège de l’activité productrice de
l’entreprise.
Exemple :
Dans une chaîne de montage d'automobiles, le système opérant est constitué d'employés et/ou de
machines telles que des robots.
Exemple :
Les dirigeants d'une entreprise (direction générale, direction commerciale, direction de production...)
constituent son système de pilotage.
ENVIRONNEMENT
ENTREPRISE / ORGANISATION
Système de pilotage
- réfléchit
- décide
- contrôle
information
Système d’information
- mémorise
- traite
- information
diffuse
Système opérant
Flux primaires - transforme Flux sortants
- produit
entrants
On distingue :
- Les systèmes opérationnels ou systèmes de support des opérations ;
- Les systèmes de gestion ou systèmes de support des activités de gestion.
Un système opérationnel a pour finalité d’assister le traitement des opérations quotidiennes relatives
aux activités de l’entreprise. Dans ce système on distingue :
- Le système transactionnel ;
- Le système de contrôle de processus industriel ;
- Le système bureautique.
Un système transactionnel traite les données de base de l’organisation. Il a pour but d’améliorer les
activités opérationnelles quotidiennes dont dépend l’entreprise en mécanisant ou en automatisant les
traitements routiniers liés aux activités de production de l’entreprise. Il conserve une trace de ces
transactions dans les bases de données qui servent au management de l’entreprise.
Le système de contrôle de processus industriel est utilisé pour le fonctionnement des matériels de
production et contrôlés par des ordinateurs qui appliquent les méthodes de contrôle, ce fonctionnement
produit aussi des informations (quantité produite, incident de fonctionnement) qui peuvent être
mémorisées et exploitées par d’autres systèmes.
Exemples : PAO (production assister par ordinateur); CAO (conception assister par ordinateur) ; DAO
(dessin assister par ordinateur).
Le système bureautique désigne l’utilisation de l’informatique pour apporter une assistance aux
activités de bureaux reliées au traitement et à la communication de la parole, de l’écrit et de l’image.
Les domaines les plus actifs de la bureautique sont : le traitement de texte et la messagerie
électronique.
Les systèmes de gestion ont pour but de supporter les activités des gestionnaires à tous les niveaux de
gestion en fournissant les informations à partir des données recueillies et stockées par les systèmes
transactionnels. On distingue les S.I de gestion et les S.I d’aide à la décision.
Le S.I de gestion fournit les informations généralement sous-forme de rapport remis au gestionnaire
de façon périodique ou sur demande et résumant la situation d’un aspect particulier de l’entreprise.
Les S.I d’aide à la décision ont pour objectif de supporter activement les activités de prise de décision
des gestionnaires en fournissant des outils qui facilitent le traitement interactif des données.
S.I
- Le SI manuel : ici toutes les opérations sont assurées par l’homme sans faire recours à la machine ;
- Le SI mécanisé : ici certaines tâches sont assurées par des machines non automatiques comme les
machines à écrire ou des machines à calculer.
- Le SI automatisé ou informatisé : ici toutes les tâches sont effectuées par des machines
programmables (ordinateurs). Avec l’évolution des TIC, les SI deviennent de plus en plus automatisés.
On distingue :
- le SI individuel, utilisé par un seul individu à son poste de travail. Par exemple : un tableau de bord
utilisé par un contrôleur de gestion.
- le SI collectif qui est utilisé par plusieurs individus appartenant soit à un service soit à une fonction.
Exemple : le système comptable, système de facturation.
- Le SI organisationnel qui est accessible à l’ensemble des membres de l’entreprise. Exemple : la
messagerie électronique généralisée.
- Le SI Inter-organisationnel qui permet à plusieurs entreprises de traiter et de communiquer via les
réseaux des informations d’intérêts communs. Exemple : l’échange des données informatisées (EDI).
La base de données est le cœur du SI. Pour des raisons de traçabilité, toutes les informations dont
l’entreprise a besoin pour des prises de décisions, pour effectuer des traitements afin de produire de
nouvelles informations, sont contenues dans la base de données (BD).
Une base de données (ou Data Base en anglais) est un ensemble cohérent, intégré et partagé des
informations nécessaires au fonctionnement d’une entreprise. La gestion de cet ensemble est assurée
par un logiciel appelé Système de Gestion de Base de Données en abrégé SGBD.
Une base de données peut être locale, c'est-à-dire utilisable sur une seule machine, ou répartie, c'est-à-
dire que les données sont stockées sur une machine assez puissante, dotée de système de sauvegarde,
de système multiprocesseur, de disques durs de grandes capacités embarquées dans un système RAID,
une taille mémoire importante, un système d’exploitation sécurisant. Cette machine est appelée serveur
de base de données. Elle est accessible par les PC clients dans un environnement réseau, moyennant
des privilèges accordés par l’administrateur de la BD.
Un SGBD est un ensemble de services (applications logicielles) permettant la gestion complète d’une
base de données :
- en permettant un accès contrôlé aux données de façon plus simple.
- en autorisant un accès aux informations à de multiples utilisateurs.
- en manipulant les données présentes dans la base de données (insertion, suppression,
modification, etc.).
- en permettant de créer une nouvelle base de données.
En anglais, on les désigne sous l’appellation DBMS (Data Base Management System).
Le SGBD agit comme médiateur entre la base de données et les utilisateurs. Chaque station ou
chaque utilisateur peut disposer de différents niveaux d’accès aux informations. Certains sont autorisés
à modifier certaines parties de la structure de la base de données, d’autres autorisés à modifier les
données, tandis que d’autres ne peuvent que les afficher.
Tous les SGBD présentent à peu près les mêmes fonctionnalités. Ils se distinguent par leur coût, par
le volume de données qu’ils sont capables de gérer et par le nombre d’utilisateurs qui peuvent
interroger la base simultanément.
La conception d’une base de données passe par la connaissance d’un certain nombre de concepts issus
des modèles suivants :
« Les systèmes d'information ont évolué depuis des dizaines d'années, souvent par applications
séparées, de manière plutôt disparate. Il n'y a pas souvent eu de plan d'urbanisme d'ensemble.
Aujourd'hui, les entreprises font face à une très grande diversité d'informations gérées sur des systèmes
hétérogènes. Le besoin d'interopérabilité est important. »
- Les entreprises disposent d'un système d'information -sous-entendu « informatisé »- depuis souvent
plus de vingt ans. Aujourd'hui, même dans les PME, la « page blanche» informatique n'existe plus, il
faut faire avec l'existant.
- L'infrastructure elle aussi est souvent hétérogène. Suivant les époques de création des applications, il
peut y avoir des « couches» de matériels et de logiciels pas toujours très faciles à faire communiquer
entre elles.
- Et pourtant les besoins de fluidité de l'information, de sa diffusion, de son traitement sont manifestes.
II faut aller vite et « penser» processus et non rester devant des applications étanches les unes aux
autres.
- Réduire les volumes de stockage : les entreprises sont confrontées à des tonnes d'archives qui
engendrent des coûts considérables ;
- Faciliter le travail et améliorer le service clientèle : un accès plus rapide et une distribution sélective
et de meilleure qualité permettent aux entreprises d'augmenter leur productivité et de réduire les cycles
de traitement, et aux clients d'obtenir l'inforn1ation souhaitée en un minimum de temps ;
- Fournir aux décideurs en temps voulu l'information qu'ils demandent afin de facilité la prise de
décision ;
- Comprendre leurs besoins, Rendre les données homogènes, Centraliser le stockage, Conserver des
historiques, Accélérer les requêtes, Simplifier les outils et Intégrer les solutions ;
Il s’agit ici de décrire la situation actuelle afin de réaliser une évaluation objective. Pour cela, on doit :
- mener une enquête auprès des opérationnels, recueillir auprès d'eux les informations, documents émis
et reçus en mesurant la pertinence, le nombre, le temps passé sur un document, les supports
d'information, les méthodes de travail utilisées, les souhaits de l'utilisateur.
- ressortir de façon synthétique les procédures en cours. Quel logiciel et quel matériel choisir pour le
système d'information ?
Les étapes de la démarche classique de réalisation d'un projet informatique sont résumées dans le
tableau ci-dessous:
Un système d’information est un objet complexe évoluant dans un environnement fort complexe. Afin
de maîtriser cette complexité et mener à bien le développement d’un projet informatique, l’analyste a
besoin d’une démarche ordonnée, d’où la nécessité d’une méthode.
- Les modèles sont les concepts normalisés (entités, associations...) qui permettent de construire et
d'aménager le système d'information; ils sont souvent proposés sous forme schématique, afin de
permettre une représentation simple de la réalité et de faciliter le raisonnement.
- Les outils regroupent d'une part la technique employée pour analyser ou concevoir un aspect du
système d'information, et d'autre part le support, papier ou logiciel, employé pour conserver la trace
de ce travail. Des logiciels, nommés généralement Atelier de Génie Logiciel (AGL), supportent et
épaulent une méthode d'analyse en facilitant la conception, la documentation, la simulation,
l'évaluation ou la réalisation du système d'information.
La difficulté essentielle dans la réalisation d'applications informatiques réside dans le fait qu'elle
concerne un nombre important de personnes, de caractéristiques très variées (la direction, le service
informatique, les responsables de service, les utilisateurs finals), qui doivent tous coopérer pour aboutir
à un objectif commun.
La première nécessité est donc un langage qui leur permette de se comprendre et de communiquer sans
ambiguïté. La seconde est de disposer d'une méthode de conduite du projet qui découpe logiquement
les étapes et le rôle des acteurs.
- Les méthodes Structurées : ici le grand problème est divisé en sous problèmes. Elle a comme concept
la structure de programme et la hiérarchisation de programme. Mais c'est une méthode ayant une très
faible base théorique et une absence de vocabulaire (exemple SADT : Structured Analysis and Design
Technique).
- Les méthodes systémiques : ce sont des méthodes très complexes: exemples Merise, Remora,
Axial,...
- Les méthodes Objets : les données et traitements ici sont mis ensemble. Le système est plus stable.
ExpIe (OOAD : Object Oriented Analysis and Design).
Mais, quelle que soit la méthode utilisée, la modélisation d’un système d’information doit couvrir le
cycle de vie du projet d’informatisation, à savoir : la conception (étude préalable et étude détaillée), la
réalisation (étude technique et écriture des programmes), et la maintenance (mise en œuvre et mise à
jour).
Toute méthode, en plus de couvrir le cycle de vie du projet doit répondre au mieux à certaines
contraintes au-delà de la qualité, à savoir : la simplicité, l’exhaustivité, l’universalité, la rigueur, et le
caractère automatisable. Nous présenterons une seule méthode dans ce cours, la méthode Merise.
Les outils proposés par Merise sont mis en œuvre par un grand nombre de concepteurs et d’analystes
en France et dans les pays francophones. MERISE est un ensemble de règles et d’outils permettant la
modélisation des S.I, en s’appuyant sur la représentation des structures de l’organisation, de ses
activités, de ses finalités et de son environnement.
Les créateurs de Merise proposent une approche de la conception séparant l'étude des données de celle
des traitements, en avançant progressivement par niveaux. Chacun de ces niveaux a pour objectif
principal de fournir un certain nombre de documents (MCD, MLD, MPD) permettant ainsi la synthèse
textuelle d'un processus de réflexion.
La méthode MERISE propose trois niveaux de représentation d’un système d’information pour les
données et les traitements, à savoir le niveau conceptuel, le niveau organisationnel ou logique et le
niveau opérationnel ou physique.
En termes de données, la description fait appel au formalisme entité-association et se traduit par des
entités de base et par des associations entre ces entités.
En termes de traitement, les entités vont être décrites par leurs sollicitations ou par les réactions
qu’elles déclenchent de la part du système d’information. Ceci se fait en termes d’évènements et
d’opérations.
Au niveau conceptuel, on doit se poser les questions suivantes: Quoi faire ? Et avec quelles données ?
Les réponses à ces questions dépendent des choix de gestion de l’entreprise.
Ce niveau décrit la nature de ressources qui sont utilisées pour supporter la description des données et
des traitements d’un système d’information.
En termes de données les entités et associations suscitent la création des tables. En termes de
traitements, le passage du niveau conceptuel au niveau organisationnel se concrétise par l’attachement
à des acteurs des évènements précédemment définis.
Le niveau organisationnel ou logique intègre à l’analyse les critères liés à l’organisation (choix
organisationnels) et on doit se poser les questions suivantes : Qui ? Quand ? Où ?
Qui ? Renvoie à la nature du traitement (manuel ou automatisé)
Quand ? Renvoie à la périodicité, au délai.
Où ? Renvoie au lieu, poste de travail.
Ce niveau répond aux choix techniques et donne une représentation des moyens qui vont être mis en
œuvre pour gérer les données et activer les traitements. On apporte des solutions techniques et on
répond à la question comment?
En termes de données, le niveau physique se traduit par l’utilisation d’un système de gestion de base
de données (SGBD) ainsi que des choix concernant les méthodes de stockages et d’accès.
En termes de traitements, le modèle opérationnel décrira l’architecture des programmes qui vont
activer les différentes tâches de l’ordinateur.
Les différents niveaux d’analyse des S.I et les modèles associés sont présentés dans le tableau suivant :
Comment obtenir ces données ? Tout simplement en procédant à la collecte des informations sur le
fonctionnement du système étudié. La collecte des informations est une étape primordiale dans la
modélisation des S.I.
Pour cela, l’analyste doit mener une enquête auprès des utilisateurs du SI afin de recueillir les
informations à travers les documents reçus et émis par le SI à l’étude, tout en mesurant la pertinence
de chaque document, les supports d’informations et les méthodes de travail utilisés, ainsi que les
souhaits des utilisateurs.
a. Les documents
L’essentiel des données peut être retrouvé sur les documents en circulation. On s’efforcera :
- de rassembler un maximum de documents (fiches, impressions, états, journaux …),
- de s’assurer que les documents sont encore valides,
- d’utiliser des documents remplis et de repérer les informations réellement utilisées afin d'avoir
une vue claire de ce qui est utile et parfois même non formalisé mais nécessaire au fonctionnement
- d’attacher une attention particulière aux documents non formalisés (ils traduisent souvent
l’existence d’une évolution non prise en compte par les procédures ou d’une inadéquation de la
procédure en cours),
- de décoder les codes et abréviations utilisés.
Les entrevues sont des éléments importants qui de plus privilégient le contact et l'écoute. Ils
devront faire l'objet de prise de note et de synthèse afin d'en augmenter leur efficacité.
• Avec la direction
Le but est d'obtenir des informations générales : organisation des services, objectifs stratégiques,
procédures et règles de gestion globales…En finalité, cette entrevue permettra de cadrer exactement
le domaine à informatiser afin d'éviter des débordements sur d'autres domaines non prévus au départ.
c. Le questionnaire
C’est un outil assez délicat à utiliser pour le recensement des données. Il faut donc une bonne
connaissance du domaine étudié, proposer des réponses exhaustives, limiter les questions ouvertes
(réticence à la rédaction). Les questionnaires peuvent être utilisés pour préciser un problème donné,
une chronologie d’événements, obtenir un avis sur une procédure, des suggestions… Cet outil est assez
peu utilisé.
Les flux d’information sont en général matérialisés par des documents, tout document peut se
décomposer en trois parties à savoir :
- La tête qui se compose généralement d’un titre indiquant le rôle du flux accompagné d’un identifiant
du document, de la date et du lieu de création du document, des propriétés signalétiques du récepteur
et de l’émetteur du flux, d’une ligne d’entête annonçant le corps du document.
logo
Tel 93929939..78222957
Tête :
Facture No……du…..
Doit :
Société Y
BP 201
Montant HT
Corps
Montant TVA
Montant ttc
Signature :
L’analyse de documents permet de recenser les différentes propriétés ou données figurant sur
l’ensemble des documents en entrée ou en sortie du SI à l’étude. Les données collectées sur les
documents sont classifiées tout en déterminant leurs types.
On peut distinguer :
- Les données élémentaires : Elles ne sont pas obtenues par calcul, ni par déduction à partir d'autres
données. Ces données doivent être recensées de manière exhaustive.
Exemple :
On donne la quantité, le prix de l'article, calculer le coût total. La quantité et le prix sont des données
élémentaires
- Les données calculées ou arithmétiques : Elles résultent d'un calcul effectué à partir d'autres données.
Elles sont obtenues par l’application d’un traitement mathématique ou logique. Ces données sont
associées à des règles de calcul (règles de gestion). Il faut penser à bien identifier et conserver la règle
de gestion qui permet d’arriver au résultat. Cette règle permettra ensuite par traitement d'obtenir le
résultat désiré.
Exemple : Le coût total d’un article est une donnée calculée (= qte * prix unitaire ).
- Les données paramètres : Une donnée paramètre est une donnée qui ne prend qu'une unique valeur
(fixe ou prévisible).
Exemple : le taux de la TVA
Une donnée paramètre peut aussi être pré-imprimée.
Exemple :
L'entreprise s'appelle FOKOU. La donnée nom de l'entreprise est une donnée qui ne prend qu'une
seule valeur : FOKOU. Il s'agit donc d'une donnée paramétrable que l’entreprise peut pré-imprimer
sur ses documents.
- Les données logiques qui résultent de l’application d’une règle de gestion impliquant une condition.
Par exemple :
Si MoyUV >= 10 Alors Décision = ‘validée’
Sinon Décision = ‘non validée’
FSI
Les règles de gestion sont l’ensemble des opérations de choix, d’affectation, de calcul qui sont faites
sur les données. Elles sont en général données par l’ensemble des rubriques arithmétiques et logique.
- Les données composées : certaines données sont regroupées en une même entité sémantique (par
exemple une adresse). Ces informations doivent être décomposées en données élémentaires. Toutefois,
s’il est montré qu’une donnée composée n’est jamais décomposée dans la chaîne de traitement de
l’information, on peut envisager de la conserver telle quelle.
B. Types de données
Les données manipulées par le S.I doivent être codifiées sous une forme acceptable pour pouvoir être
traitées de façon automatique. Le type de données est une contrainte physique liée à la manière dont
sera stockée la donnée dans le système d’information.
L’ensemble des données recueillies constitue le dictionnaire de données brut. Toutes les données ne
seront pas utilisées de la même manière. Pour la phase de modélisation des données, il convient
d’épurer ce dictionnaire de données brut :
- des synonymes
- des polysèmes
- des données composées.
a. Données composées
Lorsqu’une donnée est composée, il est nécessaire de la décomposer en données élémentaires. Par
exemple, l’adresse peut se décomposer en boite postale, téléphone, ville, e-mail, etc…
b. Données synonymes
Deux données intitulées de façon différente et ayant la même signification sont dites synonymes ; et
dans ce cas, on choisit un seul intitulé.
Exemple : les données Référence produit, Code produit et Numéro produit sont synonymes si elles
permettent d’identifier un produit.
c. Données polysèmes
Deux données ayant le même intitulé et des significations différentes sont dites polysèmes ; et dans ce
cas, on leur donne des intitulés différents.
Exemple : si on considère les trois documents facture, bon de commande et bon de livraison, ils ont
tous une donnée Date. Mettre tout simplement Date dans le dictionnaire de données est polysème, car
cela signifierait trois dates différentes. Pour éviter la polysémie, on créera trois données différentes, à
savoir : Date facture, Date commande et Date livraison.
Le dictionnaire des données est en fait le résultat de la phase de collecte des données. Il recense toutes
les données dans un tableau, et définit pour chaque donnée le code (mnémonique), la signification, le
type, la nature (élémentaire, calculée, paramètre, logique), et les règles de calcul concernant les
données calculées.
Présentation du DD :
Le dictionnaire de données élémentaires contient uniquement les données de base qui ne peuvent être
déduites d’autres données. Elles ne sont ni paramètres, ni arithmétiques, ni logiques. En d’autres
termes, les données paramètres, arithmétiques (calculées) et logiques ne figurent pas dans le
dictionnaire de données élémentaires.
Le dictionnaire de données élémentaires (DDE) est représenté sous forme de tableau dont les intitulés
des colonnes sont les suivants :
– Mnémonique (ou code) qui représente le code utilisé pour chaque rubrique et retenu pour
l’implantation de la BD.
– Signification : qui permet de décrire chaque code.
– Type qui correspond au type de données associé à chaque rubrique.
Présentation du DDE :
Exemple d’application :
DD
DDE
BP 1931 Paix-Travail-Patrie
Douala
Tel :
Relevé de notes
Niveau : ……………………..
Rang : ……………..
BP 1931 Paix-Travail-Patrie
Douala
Tel :
- est un modèle chargé de représenter sous forme graphique les informations manipulées par le
système (l’entreprise) ;
- décrit les données gérées sans tenir compte des choix d’organisation, d’automatisation, ou
techniques ;
- décrit les choix de gestion en précisant la signification des invariants, leur structure et leurs
liens ;
- exprime le QUOI sur les données.
Le Modèle Conceptuel de Données (MCD) est l’outil utilisé par MERISE pour représenter au niveau
conceptuel l’ensemble des données d’un domaine issu du système d’information de l’entreprise. Il
sert à modéliser les données décrivant les entités du système et établir les liaisons ou associations entre
celles-ci tout en respectant les objectifs de l’entreprise et les contraintes auxquelles elles sont soumises.
La modélisation conceptuelle des données du système d’information d’une entreprise se fait au moyen
des concepts tels que : entité, association, propriété, identifiant, cardinalité. La mise en œuvre de
ces concepts aboutit à une représentation appelée MCD (Modèle Conceptuel des Données) ou SCD
(Schéma Conceptuel des Données).
a. Entité
On appelle entité, un objet concret ou abstrait ayant une existence propre (c’est à dire parfaitement
identifiable et discernable d’autres objets) et présentant un intérêt pour le système d’information à
l’étude. Une entité est donc la représentation dans le système d'information d'un ensemble typé
d’éléments ayant les mêmes caractéristiques.
Pour le système d'information, les occurrences d'une entité ont les mêmes types de propriétés, et seules
les propriétés qui ont un sens pour les utilisateurs du système d'information sont prises en compte.
Par exemple pour un système de gestion des commandes clients on aura comme entités : client,
commande, produit, livraison, facture …
b. L’association
Une association est la représentation d’un lien entre deux ou plusieurs entités du système. Ce lien doit
avoir un nom qui est généralement un verbe à l’infinitif et un intérêt significatif pour le système à
représenter.
Association CONTENIR entre Commande et Produit : une Commande Contient des Produits.
Une association n'existe que si préexistent les entités qu'elle relie. L’association doit être également
conforme aux choix ou règles de gestion de l’organisation.
Conséquence logique de cette absence d'existence indépendante, une association ne possède pas
d'identifiant propre. Ce sont les identifiants des entités reliées qui en font office.
Cependant, une association peut dans certains cas aussi être porteuse de propriétés (association dite
concrète) ; celle non porteuse de propriété (association dite abstraite) traduit simplement un lien mais
ne peut être décrite.
Ainsi par exemple, l’association « Passer » liant un client à une commande peut être considérée
comme une association abstraite puisqu’on ne peut lui associer aucune propriété, tandis que
l’association « Contenir » liant une commande à un produit et comportant la quantité commandée est
une association concrète.
c. Propriété
Une propriété est une représentation d'une caractéristique commune à tous les éléments qui composent
une entité ou une association. C’est une donnée élémentaire, c’est-à-dire non décomposable et non
calculée, décrivant un objet du système, et conforme aussi aux choix de gestion. Chaque entité possède
un certain nombre de propriétés qui lui sont propres. Une propriété peut aussi servir à décrire une
association, et particulièrement les associations non hiérarchiques de type n à n (plusieurs à plusieurs)
qui sont les seules associations pouvant avoir des propriétés.
Exemples:
Il existe au moins une propriété qui permet de désigner d'une façon univoque chacune des occurrences
d’une entité. Cette propriété particulière prend le nom d'identifiant. Pour une bonne lecture du MCD,
l’identifiant doit être souligné afin de le distinguer des autres propriétés.
Exemples:
Le matricule de l’étudiant permet de différencier deux étudiants même s’ils ont le même nom. Le
numéro de facture permet de différencier deux factures. Le code client permet de différencier les
clients, y compris ceux qui ont le même nom.
d. Cardinalité
Une cardinalité est un couple de valeurs (min, max) qui indique le nombre minimum et le nombre
maximum de fois qu’une occurrence d’une entité participe à une association. En d’autres termes, une
cardinalité indique quels sont les nombres minima (min) et maxima (max) de relations qu'une
occurrence de l'entité peut avoir avec l'autre entité.
En général, la cardinalité minimale (min) peut prendre deux valeurs possibles 0 ou 1, et peut aussi
prendre une valeur supérieure à 1 si elle est connue, et la cardinalité maximale (max) prend les valeurs
1 ou n (plusieurs).
Le trait qui relie une association à une entité est appelé patte de l’association et chaque patte d’une
association doit avoir une cardinalité. Les cardinalités sont conformes aux règles de gestions de
l’entreprise.
La cardinalité minimum
La cardinalité minimum zéro (0) indique qu'une occurrence de l'entité peut ne pas participer à
l'association.
La cardinalité minimum un (1) indique que toutes les occurrences de l'entité participent au moins une
fois à une occurrence de l'association.
La cardinalité minimum n (>1) implique que toute occurrence de l'entité participe obligatoirement à
plusieurs occurrences de l'association.
La cardinalité maximum
La cardinalité maximum 1 indique que chaque occurrence de l'entité ne participe qu'à une occurrence
de l'association.
Une commande est passée par un client au moins et un au plus. Une commande est passée par un seul
client.
La cardinalité maximum n signifie qu'une occurrence d'une entité peut participer à n occurrences de
l'association.
Entité 1 Entité 2
(min, max) Association (min ,max)
Identifiant1 Propriété Identifiant2
Propriété Propriété
. .
. .
. .
Pour avoir un modèle de données plus explicite et complet, répondant le mieux aux contraintes
futur de temps de traitement et de limitation d’espace de stockage, on est amené à définir un certains
nombre de concepts supplémentaires sui sont : règles de gestion, collection, dimension et
fonctionnalité d’une relation, notion d’occurrence, dépendance fonctionnelle.
a. Règles de Gestion
La règle de gestion exprime une contrainte ou un choix particulier à prendre en compte sans juger de
sa pertinence. Les règles de gestion précisent les contraintes qui doivent être respectées par le modèle.
Une règle de gestion est donc un élément de description globale du fonctionnement d’une entreprise.
Le français est une langue précise ce qui vous impose d'étudier avec attention la syntaxe des règles de
gestion. La règle 2 indique qu'un salarié a toujours une qualification et une seule. La règle 4 utilise «
leur» au singulier; un malade n'a donc qu'un seul médecin.
Dans la réalisation d'une application informatique, les règles de gestion sont définies par les utilisateurs
ou proposées par l'analyste et validées par les utilisateurs.
- Deuxième hypothèse: Le modèle doit représenter l'historique des mariages, compte tenu du fait qu'il
a pu exister des divorces, des décès et des remariages.
RG 1 : Tout professeur enseigne une matière au moins. Mais certains d'entre eux peuvent être dispensés
d'enseignement en raison de leurs travaux de recherche et de gestion.
- La collection d'une association est la liste des entités sur laquelle l'association est définie.
L'association PASSER est définie sur la collection CLIENT, COMMANDE
- La dimension d'une association est le nombre d'occurrences d'entités concernées par une occurrence
de l'association. Elle est supérieure ou égale au nombre d'entités de la collection.
Une association de dimension 2 est dite binaire. Celles de dimension 3 sont dites ternaires. Celles de
dimension N sont dites N-aires.
Elle est déterminée par les cardinalités maximales de chaque côté de l’association, donc conforme au
choix de gestion. On distingue :
* Fonctionnalité 1 à plusieurs (1 à n): À toute occurrence d'une entité correspondent une ou plusieurs
occurrences de l'autre.
* Fonctionnalité plusieurs à plusieurs (n à n): À toute occurrence d'une entité correspondent une ou
plusieurs occurrences de l'autre, et réciproquement.
c. Notion d’occurrences
Occurrence d’une propriété : c’est une valeur particulière prise par une propriété.
Occurrence d’une entité : c’est l’ensemble des valeurs prises par les propriétés d’une entité
et permettant de décrire une entité particulière.
Occurrence d’une association : seules les associations de fonctionnalité plusieurs à plusieurs
(n à n) peuvent avoir des occurrences et dans ce cas, l’occurrence de l’association comprend
une et une seule occurrence des identifiants des entités associés et de chacune des propriétés
qu’elle porte.
d. Dépendances fonctionnelles
d.1. Définition
Soient X et Y, deux propriétés ou sous ensembles de propriétés d’une entité. On dit que Y dépend
fonctionnellement de X (ou encore X détermine Y), si connaissant une valeur de X, on ne peut
déterminer qu’une seule valeur possible de Y.
C’est noté : X Y
EXEMPLE
Si on admet qu'une référence ne peut figurer qu'une seule fois sur un bon de commande.
La dépendance fonctionnelle X Y est élémentaire s’il n’existe pas X’ inclus dans X, tel que
X’ détermine Y. En d’autres termes, la DF elle est élémentaire si Y dépend entièrement de X et non
d’une partie de X.
EXEMPLE:
N'est pas élémentaire, car la connaissance de l'adresse n'est pas nécessaire pour déterminer le nom du
client.
NB1 : une dépendance fonctionnelle à partie gauche simple (une seule propriété) est élémentaire.
NB2 : une dépendance fonctionnelle à partie gauche composée (plusieurs propriétés) peut ne pas être
élémentaire.
La dépendance fonctionnelle X Y est une dépendance fonctionnelle directe s’il n’existe pas
de propriété Z, tel que X Z et Z Y.
Autrement dit, on élimine toutes les dépendances élémentaires que l'on peut obtenir au moyen de
transitivités.
EXEMPLES
n’est pas directe, car il existe la propriété numéro du client tel que
NB1 : Dans un MCD, toutes les propriétés d’une entité doivent être en dépendance fonctionnelle
élémentaire et directe avec l’identifiant.
NB2 : Dans un MCD, les éventuelles propriétés d’une association n à n doivent être en dépendance
fonctionnelle élémentaire et directe avec l’ensemble des identifiants des entités associées.
On dit qu'il existe une dépendance fonctionnelle entre deux entités A et B (A B) si toute occurrence
de A détermine une seule occurrence de B. Cette dépendance se caractérise par la dépendance
fonctionnelle entre les identifiants de ces entités.
Par exemple:
Considérons les entités Client et Commande, et l’association « Passer » entre elles. On obtient le MCD
suivant :
1,n 1,1
PASSER
CLIENT COMMANDE
N°client N°commande
Nomclient Date commande
Boite postale
ville
La présence de la cardinalité (1,1) dans une association 1 à n détermine une CIF (contrainte
d’intégrité fonctionnelle). Une contrainte d’intégrité fonctionnelle est une directive conceptuelle
imposée au système afin que les données soient maintenues dans un état cohérent.
L’association PASSER est une CIF et on notera plus simplement dans ce MCD, CIF à la place de
PASSER.
1,n 1,1
CIF
CLIENT COMMANDE
N° client N°commande
Nomclient Date commande
Boite postale
ville
Pour représenter les dépendances fonctionnelles entre les propriétés d’un système d’information, on
peut utiliser soit un graphe de dépendances fonctionnelles, soit une matrice de dépendances
fonctionnelles.
Une association est hiérarchique si un des deux couples de cardinalités a un maximum de 1. Dans le
cas contraire, elle est non hiérarchique. Une association hiérarchique, encore appelés association
père-fils, correspond à une association de fonctionnalité 1 à n. Ce type d’association n’est pas porteuse
de propriétés.
En synthèse, une association ne peut être porteuse de propriété que si elle est non hiérarchique (n à n).
Dans le cas contraire, c'est l'entité fils qui porte les propriétés qui sont logiquement rattachées à
l'association.
- collecter les informations sur le système à l’étude à travers des interviews des personnes
impliquées dans le système, et l’exploitation des différents documents utilisés par le système ;
- élaborer le dictionnaire des données ;
- ressortir toutes les dépendances fonctionnelles entre les propriétés identifiées et tracer le graphe
de dépendances fonctionnelles;
- tracer le schéma du MCD.
EXERCICE D'APPLICATION
Une cinémathèque désire automatiser son système d'information (SI). Celui-ci concerne un maximum
de 500 films, 20 réalisateurs et 40 acteurs principaux. En moyenne, on constate les points suivants:
Il se peut qu'il y ait des homonymes (Brasseur) ou des titres identiques «Les révoltés du Bounty».
Travail à faire:
Elaborer le dictionnaire de données élémentaires.
Elaborer le graphe de dépendances fonctionnelles.
Elaborer le modèle conceptuel des données.
.REMARQUE
Les moyennes indiquées ne sont pas des maximums absolus. Elles n'interviennent pas comme règle de
gestion, donc elles n'interviennent pas non plus dans l'évaluation des cardinalités.
5.3.1 Introduction
La mise sur pied d’un SI passe par une première étape qui consiste en l’élaboration du MCD. La
deuxième étape, préalable à l’implantation des données sur des supports de masse au moyen des
Systèmes de Gestion de Bases de Données (SGBD) tels que : Access, Oracle, Microsoft Server,
Sybase, etc., consiste en l’élaboration du MLD.
Le MLD ayant choisi la structure relationnelle comme support de description des données est appelé
modèle logique de données relationnel (MLDR) et les SGBD nécessaires à son implantation sont
appelés SGBDR.
1) Le domaine
Un domaine est un ensemble de valeurs distinctes qu’un attribut peut prendre. Exemple : Le domaine
de l’attribut Ville Client a pour valeur : Douala, Yaoundé, Bafoussam, Garoua, Limbé, …).
2) L’attribut
Un attribut est une donnée élémentaire (ou rubrique) manipulable par le concepteur et ayant un sens
dans le SI étudié. Chaque attribut de la relation prend ses valeurs dans un domaine.
3) La notion de relation
Une relation (ou table) est un ensemble d’attributs significativement associés. Lorsqu’elle est définie
en intension, elle se présente sous la forme suivante :
Lorsqu’elle est définie en extension, elle se présente sous la forme d’un tableau :
Clé A1 A2 ……….. An
Exemple : CLIENT
Cl 1 FOTSO Douala
Cl 2 ATHA Yaoundé
Cl 3 EBAH Bafoussam
Cl 4 KAMGA Douala
4) La notion de tuple
Chaque ligne de la relation différente de la première est appelée tuple (ou occurrence).
5) La notion de Clé
C’est un attribut ou un ensemble d’attributs dont les valeurs identifient de façon unique les différents
tuples d’une relation. On distingue :
Des clés primaires simples (un seul attribut permet d’identifier les différents tuples).
Exemple : N°client est la clé primaire de la relation CLIENT.
Des clés primaires composées (un groupe d’attributs permet d’identifier les différents tuples).
Des clés candidates (ensemble minimum d’attributs susceptibles de jouer le rôle de clé
primaire simple ou composée dans une relation.)
Des clés étrangères (elles font référence à la clé primaire d’une autre table).
B. Formalisme du MLDR
Règle 1 : Chaque entité du MCD donne naissance à une relation de même nom ayant pour
attributs les propriétés du niveau conceptuel.
Règle 2 : Chaque association ayant toutes les cardinalités maximales égales à n devient une
relation ayant comme clé la concaténation des identifiants des entités associées, et ayant pour attributs
les propriétés de l’association si elles existent.
Règles 3 : Chaque association binaire dont l’une des cardinalités maximales est égale à 1 ne
donne naissance à aucune relation. Il y a plutôt migration de l’identifiant du côté où la cardinalité
maximale est égale à n vers le côté où elle est égale à 1. L’entité réceptrice est appelée esclave (fils)
et l’autre entité, maître (père).
Règle 4 : Pour des associations de cardinalités maximales toutes égales à 1, on est en présence
d’une contrainte d’intégrité temporelle (CIT). L’entité, maître sera celle qui précède l’autre en terme
de temps.
N° Chèque N° employé
Libellé chèque Nom employé
N° Sinistre N° Constat
Libellé sinistre Libellé constat
Date constat
N° Facture N° règlement
Date facture Date règlement
Montant facture Mode règlement
MCD MLDR
Entité Relation
Propriété Attribut
Identifiant Clé
V. PARTIE PRATIQUE
7.1.1 Définition
Le modèle physique des données est celui relatif à l’implémentation de la BD sur un SGBDR
cible. Il est issu du Modèle logique des données relationnel. Le SGBDR retenu pour l’implémentation
de notre base de données est Microsoft Access.
TABLE CLIENT
Taille : 5
Format : > (majuscule)
Numclt Texte Clé primaire
Null interdit : oui
Indexé : oui, sans doublons
Taille : 30
Format : >
Nomclt Texte
Null interdit : oui
Indexé : non
Taille : 20
Format : >
Villeclt Texte Valeur par défaut : Douala
Null interdit : oui
Indexé : non
Taille : 12
Télclt Texte Format : @@@ @@ @@ @@
Null interdit : non
TABLE COMMANDE
Taille : 5
Format : >
Numcde Texte
Clé primaire
Indexé : oui, sans doublons
Format : Date, abrégée
Datecde Date/heure
Null interdit : oui
Taille : 20
Moderèglmt Texte Format : >
Valeur par défaut : Espèce
Taille : 5
Format : >
Numclt Texte
Null interdit : oui
Indexé : oui, avec doublons
TABLE PRODUIT
Nom des champs Type Propriétés
Taille : 5
Format : >
Codeprod Texte Clé primaire
Null interdit : oui
Indexé : oui, sans doublons
Taille : 30
Nomprod Texte Format : >
Null interdit : oui
Format : standard
Décimal : 0
Prixprod Monétaire Valide si : >0
Message si erreur : valeur positive requise
Null interdit : oui
TABLE LIGNECDE
Nom des champs Type Propriétés
Taille : 5
Format : >
Numcde Texte
Null interdit : oui
Indexé : oui, avec doublons
Taille : 5
Format : >
Codeprod Texte
Null interdit : oui
Indexé : oui, avec doublons
Taille : entier long
Format : standard
Décimal : 0
Qtécdée Numérique
Valide si : >0
Message si erreur : valeur positive requise
Null interdit : oui
Lancez (Démarrez) Microsoft Access et créer la BD nommée GESCOM que vous stockerez dans le
dossier TP, sous dossier du dossier portant le nom de votre classe (DESC2) créé à la racine de votre
disque dur (C:\).
Chaque champ contient un élément d’information sur une fiche. Chaque enregistrement contient
l’ensemble des informations relatives à une fiche.
Les tables seront créées selon la structure définie au niveau du modèle physique présenté ci-dessus.
NB : Pour associer la clé primaire à un champ, cliquer sur le nom du champ, puis sur le bouton « clé
primaire » de la barre d’outils de la fenêtre de création des champs.
Dans le cas d’une clé composée (ou concaténée), sélectionner les lignes portant les champs
faisant partie de la clé à partir des sélecteurs de lignes, puis cliquer sur le bouton « clé primaire » de
la barre d’outils.
Quelle que soit l’opération à réaliser, la table à modifier doit être ouverte en mode création.
Dans le cas de relation avec option Intégrité référentielle, il sera nécessaire de supprimer la relation,
pour pouvoir supprimer la table.
Faire correspondre les clés identiques (clé primaire et clé externe) en faisant glisser l’une des
clés vers la même clé contenue dans une autre table → une boîte de dialogue « Modifier les
relations » s’ouvre.
Cliquer sur « Appliquer l’intégrité référentielle » et sur les des deux options associées, puis
cliquer sur « Créer ».
Enregistrer les relations en cliquant sur l’icône de la disquette dans la barre des titres, ou bien
Fermer la fenêtre des relations et répondre par Oui pour enregistrer les relations créées.
N.B. : Activer l’option « Appliquer l’intégrité référentielle » permet d’interdire la saisie d’une valeur
dans le champ de la clé étrangère de la table fils qui n’a pas encore été saisie dans le champ de la clé
primaire de la table père.
Ou bien
NB : Lorsqu’on est dans la fenêtre de la BD, clic droit sur le nom de la table, puis cliquer sur
« Ouvrir » pour passer en mode feuille de données ou sur « Modifier » pour passer en mode création.
Saisir les données en annexe dans les autres tables (COMMANDE, PRODUIT et LIGNECDE).
Lors de la saisie, on pourra choisir dans une liste déroulante les valeurs qui pourront être saisies dans
la table liée. Les deux tables doivent être liées avec intégrité référentielle.
Exemple : Créer la zone de liste déroulante pour le champ NumClt de la table COMMANDE.
Application : Créer des formulaires pour les tables COMMANDES et COMMANDER, et saisir
quelques enregistrements (cf Annexe 1).
(A compléter)
Une requête est une action en direction de la BD dans le but de solliciter des informations qui y sont
contenues (requêtes sélection), ou de mettre à jour le contenu de la base de données (requêtes action).
Les requêtes se feront en mode SQL (voir complément cours sur SQL : Annexe 2).
2) Requête sélection
Une requête permet de définir des critères de sélection afin d'afficher les données qui vous intéresse
dans la base. Une requête peut être basée sur une ou plusieurs tables en même temps.
Rq1 : Afficher la liste de tous les clients par ordre alphabétique du nom.
Rq3 : Afficher la liste des produits par ordre décroissant des prix.
Rq4 : Afficher la liste des produits dont le prix est supérieur à 7000.
Rq7 : Afficher les commandes du 10/08/2020 ainsi que les noms des clients ayant passé ces
commandes.
Rq8 : Afficher les codes et noms des produits qui ont été commandés le 21/08/2020.
Rq10 : Afficher la liste des clients de Douala ayant passé des commandes entre le 10/08/2020
et le 25/08/2020.
Rq11 : Afficher la liste des produits (codes et noms) commandés par les clients de Bafoussam.
Rq14 : Afficher la liste des villes qui ont plus de deux (2) clients.
Rq17 : Afficher la quantité totale commandée de chaque produit (indiquer les codes et noms
des produits).
Rq18 : Calculer et afficher le montant total de toutes les commandes passées par les clients de
Douala.
Rq19 : Calculer et afficher le montant total de toutes les commandes, ainsi que le plus petit
montant, le plus grand montant et le montant moyen.
Rq20 : Calculer et afficher le chiffre d’affaires (montant total des commandes) réalisé auprès
de chaque client (afficher les numéros et noms des clients en commençant par les clients qui
ont le plus gros chiffre d’affaires).
Rq21 : Afficher les numéros et noms des clients qui ont réalisé un chiffre d’affaires (montant
total des commandes) supérieur à 500 000.
3) Requête action
Une requête action permet de mettre à jour le contenu d’une table de la base de données (insertion,
modification ou suppression d’enregistrements).
Rq22 : Ajouter dans la table client un nouveau client ayant le numéro CLT06, qui s’appelle
ONANA et qui habite Yaoundé, tél : 657 87 66 54.
Un état est une présentation des données issues d’une table ou d’une requête sous une forme
synthétique et dans un format prédéfini prêt à être imprimé.
Il existe plusieurs manières de créer un état. Dans le cadre de ce cours, nous allons utiliser l’Assistant
Etat.
A partir de la fenêtre de votre BD, faire : Créer → Assistant état → Choix de la table ou requête
associée à l’état → Sélection des champs → Suivant → Répondre aux questions de l’Assistant →
Terminer.
(à compléter)
CLIENT
COMMANDE
PRODUIT
LIGNECDE
Historiquement, c’est en 1970 que SQL (Structured Query Language), langage de requêtes structuré,
a été inventé par E. F. Codd (directeur de recherche du centre IBM de San José). Par la suite,
de nombreux langages ont fait leur apparition tels que IBM Sequel (Structured english query
language) en 1977, IBM Sequel /2, IBM System/R et IBM DB2.
Ce sont ces langages qui ont donné naissance au standard SQL, normalisé en 1986 par l’ANSI pour
donner SQL/86. Puis en 1989 la version SQL/89 a été approuvée. La norme SQL/92 a désormais
pour nom SQL 2.
- un langage de définition de données (LDD, en anglais DDL Data Definition Language), c’est-à-
dire qu’il permet de créer des tables dans une base de données relationnelle, ainsi que d’en modifier
ou en supprimer ;
- un langage de contrôle de données (LCD, en anglais DCL, Data Control Language), pour les bases
de données relationnelles car il permet de définir des permissions au niveau des utilisateurs d’une base
de données.
Le langage SQL n’est pas sensible à la casse (en anglais case sensitive), cela signifie que l’on peut
aussi bien écrire les instructions en minuscules qu’en majuscule. Toutefois, cette insensibilité à la casse
n’est que partielle dans la mesure où la différenciation entre minuscules et majuscules existe au niveau
des identificateurs d’objets.
Les requêtes d’interrogation de la base de données (consultation, recherche) permettent d’extraire des
informations d’une base de données, sans toutefois modifier le contenu des tables.
I.1. La projection
La commande SELECT effectue une projection. SELECT permet d'extraire des données ou de faire
des calculs sur les données d'une base. Cette commande suivie du ou des nom(s) d'un ou des champ(s)
signifie que ce ou ces champ(s) doit ou doivent être affiché(s). SELECT est indissociable de la
commande FROM. FROM indique de quelle(s) table(s) seront extraites les informations.
a. Syntaxe
• Exemple :
Soit la table « Voiture » suivante : VOITURE(Numéro, Marque, Modèle, Série, Compteur)
SELECT Marque
FROM Voiture;
= signifie l'affichage des marques provenant de la table Voiture.
Résultat :
Marque
Renault
Renault
Renault
Peugeot
Peugeot
Ford
• L'opérateur * (étoile) permet d'afficher l'ensemble des champs d'une table. Cet opérateur permet
un gain de temps lors de la saisie de la requête. En effet, sans cet opérateur, il faudrait nommer
chaque champ.
Exemple : SELECT * FROM Voiture ; donne l'ensemble des champs de la table Voiture.
Des fonctions peuvent être appliquées aux champs lors de la projection. Les principales fonctions
sont :
Ces fonctions ne peuvent être utilisées que dans une clause SELECT ou dans une clause HAVING .
Fonctions agrégats
Fonction :
Dénombre les lignes sélectionnées.
COUNT SELECT COUNT( *)
Syntaxe :
FROM VOITURE ;
COUNT (expr )
Fonction :
Additionne les valeurs de type SELECT SUM(compteur)
numérique.
SUM FROM VOITURE
SUM ( expr ) ;
Fonction :
Retourne la valeur minimale d'une
colonne de type caractère ou
MIN numérique. SELECT MIN( compteur)
FROM VOITURE ;
Syntaxe :
MIN ( expr )
Fonction :
Retourne la valeur maximale d'une
colonne de type caractère ou SELECT MAX( compteur)
MAX numérique. FROM VOITURE
WHERE modèle LIKE
Syntaxe :
'%Kangoo%' ;
MAX (expr )
Fonction :
Calcule la moyenne d'une colonne de
type numérique. SELECT AVG(compteur)
AVG
FROM VOITURE
Syntaxe :
WHERE Marque='Renault' ;
AVG ( expr )
• Exemple :
c. Compléments
Nombre de voitures
Une sélection (restriction) consiste à sélectionner les enregistrements (lignes de la table) satisfaisant
à une condition logique effectuée sur leurs attributs. En SQL, les restrictions s’expriment à l’aide de
la clause WHERE suivie d’une condition logique exprimée à l’aide de différents opérateurs et
comparateurs :
Syntaxe
• Exemple :
SELECT Marque
FROM Voiture
WHERE Numéro = "LT 607 AB" ;
=> signifie l'affichage de la marque du véhicule dont le numéro d’immatriculation est LT 607 AB.
En présence d'une chaîne de caractères, celle-ci doit être saisie entre guillemets. A notre niveau, peu
importe que ce soit des guillemets doubles ou des guillemets simples (apostrophes).
Le prédicat LIKE permet de faire des comparaisons sur des chaînes grâce à des caractères, appelés
caractères jokers :
- les caractères [-] permettent de définir un intervalle de caractères (par exemple [J-M]).
Exemple : la sélection des voitures dont la marque a un E en deuxième position se fait par
l’instruction :
Résultat
Les prédicats BETWEEN et IN permettent de vérifier respectivement qu’une valeur se trouve dans un
intervalle ou qu’une valeur appartient à une liste de valeurs.
Exemple : la sélection de toutes les voitures ayant un kilométrage inférieur ou égal à 100 000 km, mais
supérieur ou égal à 30 000 km, (effectuée plus haut avec des comparateurs arithmétiques) peut se faire
par l’instruction suivante :
Résultat
Lorsqu’un champ n’est pas renseigné, le SGBD lui attribue une valeur spéciale que l’on note NULL.
La recherche de cette valeur ne peut pas se faire à l’aide des opérateurs standards, il faut utiliser les
prédicats IS NULL ou bien IS NOT NULL.
Exemple : la sélection de toutes les voitures dont le kilométrage n’est pas renseigné se fait par
l’instruction suivante :
Résultat
I.3. La jointure
La jointure permet de sélectionner des données contenues dans plusieurs tables. C'est la clé étrangère
qui va jouer la liaison entre ces tables. Lorsque la commande FROM est suivie de plus d'un champ, il
y a au minimum un critère de jointure. La commande WHERE est utilisée pour matérialiser la jointure.
En présence de plusieurs jointures, l'opérateur AND est utilisé.
Syntaxe
• Exemple :
Deux tables sont ici nécessaires pour afficher le nom du client et le numéro de commande. Une jointure
est donc nécessaire. Cette jointure signifie que les valeurs prises par le champ Num_Client (clé
primaire) de la table Client doivent être égales aux valeurs prises par le champ Num_Client (clé
étrangère) de la table Commande.
I.4. Le tri
La commande ORDER BY permet d'effectuer un tri. ASC signifie un tri croissant et DESC signifie
un tri décroissant. Par défaut le tri est croissant. La commande ORDER BY est toujours placée à la
fin d’une requête.
• Syntaxe
• Exemple :
I.5. Le regroupement
a. La commande GROUP BY
La commande (ou clause) GROUP BY groupe des lignes (enregistrements) d'une table d'après une
fonction d'agrégat et plus précisément une fonction de calcul statistique (SUM, AVG, COUNT).
Les requêtes de regroupement sont souvent utilisées dans l'analyse financière.
• Syntaxe
• Exemple :
=> signifie l'affichage des moyennes des kilométrages parcourus par marque de véhicule.
La commande HAVING effectue une restriction sur le résultat des regroupements et non sur les
données de la table.
• Syntaxe
• Exemple :
=> signifie l'affichage des moyennes des compteurs kilométriques par marque de véhicule pour les
marques qui ont une moyenne de compteurs supérieure à 50 000 Km.
Synthèse :
SQL est un langage permettant, entre autres, d'interroger et de modifier une base de données. Le
langage SQL utilise des commandes.
• Syntaxe
• L'option ALL est, par opposition à l'option DISTINCT, l'option par défaut. Elle permet de
sélectionner l'ensemble des lignes satisfaisant à la condition logique.
• L'option DISTINCT permet de ne conserver que des lignes distinctes, en éliminant les doublons.
• champs à afficher indique la liste des champs (colonnes) choisis, séparés par des virgules. Lorsque
l'on désire sélectionner l'ensemble des colonnes d'une table, il n'est pas nécessaire de saisir la liste de
ses colonnes, l'option * permet de réaliser cette tâche.
• tables nécessaires indique l'ensemble des tables (séparées par des virgules) sur lesquelles on opère.
Les requêtes de mise à jour des données permettent de modifier le contenu d’une table (insertion,
modification ou suppression d’enregistrements).
Fonction
La commande INSERT permet d’ajouter des enregistrements à une relation dont le schéma a été
préalablement défini, soit un enregistrement à la fois, soit en utilisant une expression de sélection. La
syntaxe de cette commande est :
Syntaxe
ou
Exemple :
INSERT INTO Voiture VALUES(‘LT 323 DE’, ‘TOYOTA’, ‘Carina’, ‘C3’, 74 564) ;
Il est évident que dans beaucoup d’applications, il est préférable d’utiliser une interface graphique
conviviale pour ajouter de nouvelles données à la base. Néanmoins, l’utilisation de fichiers de
commandes permet une certaine indépendance vis à vis du SGBD cible et peut aider à la migration
d’un système vers un autre. De plus, certaines interfaces graphiques génèrent automatiquement le code
correspondant aux commandes.
Fonction
La commande UPDATE permet de modifier les valeurs de certains attributs dans une table.
Syntaxe
UPDATE <nom_de_table>
SET attribut = nouvelle valeur
WHERE condition ;
Exemple :
UPDATE Voiture SET Modèle = ‘Avernsis’ WHERE Numéro = ‘LT 323 DE’ ;
=> modifie la valeur du modèle de la voiture dont le numéro est « LT 323 DE », qui passe de « Carina »
à « Avensis ».
Fonction
La commande DELETE permet de supprimer des enregistrements d’une relation. Cette opération
n’affecte pas le schéma de la relation et ceci même dans le cas où la commande a pour effet de
supprimer tous les enregistrements de la relation.
Syntaxe
DELETE FROM < nom_de_relation > [WHERE < expression_de_selection > ]
Exemple :
=> supprime dans la table Voiture l’enregistrement correspondant à la voiture dont le numéro est “LT
323 DE”.