Page |1
INTRODUCTION
Conscients que l'une des plus grandes richesses d'une
entreprise est son information. La gestion des informations se faisait à
partir de fichiers manuscrites, dactylographiées, classées bien souvent
selon un index ; Ces d’informations servirent de modèle au Système de
gestion de fichiers, notion qui apparut dans les années cinquante. Ces
fiches regroupaient des informations se reportant à un même sujet et
basés sur la gestion de bandes magnétiques, destinés à optimiser les
accès séquentiels.
Vu les inconvénients présenté par ce dernier, tel que : la
redondance des informations, inconsistance, difficulté d’accès, problème
d’intégrité, de sécurité, multiplicité des mises à jour, lourde à gérer, trop
dépendance de système 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 a fallu trouver un moyen de stocker ces
informations et de les organiser d'une manière qui soit facilement
accessible.
C’est pourquoi, lors d’une conférence organisée aux USA vers
les années soixante (1964), sur ce thème, dans le cadre du programme
spatial américain, que le mot Base de Données est apparu, Afin de
stocker les informations de façon structurée avec le moins de redondance
possible.
Peu après 1970, apparaissent les premiers Système de Gestion
de Base de Donnés (SGBD); pour éliminer les inconvénients directs des
SGF, en espérant par la même, éliminer les inconvénients indirects et la
manipulation des informations, la consultation, la saisie et la mise à jour
tout en s’assurant des droits accordés à ces derniers.
Dans ce cours, nous allons tout d’abord présenter les concepts
structuraux de base du modèle relationnel qui permettent de modéliser
les données sous forme de tables à deux dimensions.
Ce cours de Techniques de Base de Données, s’adresse aux
étudiants de troisième (3ème) Graduat en Informatique de Gestion et
tachera d’aborder le démarche à suivre pour passer du système manuel
à une application informatique.
Page |2
OBJECTIF GENERAL DU COURS
D’une manière générale, ce cours a pour objectif d’initier les
futurs analystes programmeur aux techniques et méthodes de
l’ingénierie des systèmes d’information. Et cela à partir de la définition
du problème jusqu’à la réalisation.
OBJECTIF SPECIFIQUES
A l’issue de ce cours, l’étudiant ayant suivi avec attention
soutenue, sera à mesure de :
Maîtriser les outils méthodologiques pour la conception de bases
de données.
Savoir mettre en pratique les outils technologiques classiques pour
la réalisation des bases de données
Concevoir une base de données à l’aide de méthode appropriée tel
que Merise.
Modélisé, Implémenter une base de données et manipuler les
données avec le SGBD Access et SQL Server.
Bibliographie
a. Ouvrages
1. Gardarin, Georges et Olivier, le client-serveur, Edition Eyrolles, Paris,
1996.
2. JACKSON, SATZINGER ET BURD., Analyse et conception de
Systèmes d’information, 2èmeéd. Goulet, Paris, 2003.
3. MATHERON J.P., Comprendre merise, Ed. Eyrolles, Paris, 1994.
4. Moine C., Informatique appliquée à la gestion, Ed. Faucher 2000.
5. MVIBUDULU J.A, L.D KONKFIE, Technique de base de données
Etudes et cas : 2ème Edition corrigée et révisée, Kinshasa, CRIGED,
Décembre 2012.
b. Notes de cours
6. AUDIBERT L., Base de données et Langage SQL, 1ère année
Informatique, Institut Universitaire de Technologie de Villetaneuse,2012.
7. Prof. KUTANGILA MAYOYA., Cours de Méthode Analyse
Informatique, G2 INFO, UNIVERSITE DE KINSHASA, 2013-2014.
8. Prof. Dr.-Ing. K. KYAMAKYA Modul I, Cours Bases de Données &
Systèmes D’Information, Université de Kinshasa Faculté Polytechnique.
Page |3
PLAN DU COURS
Dans le cadre de notre cours, nous aurons 5 chapitres à savoir :
CHAPITRE I : LES CONCEPTS THEORIQUES
CHAPITRE II : PLANIFICATION DE LA BASE DE DONNEES
CHAPITRE III : LE LANGAGE SQL SERVER
CHAPITRE IV : IMPLEMENTATION D’UNE BASE DE DONNEES
Page |4
CHAPITRE I : LES CONCEPTS THEORIQUES
1. BASE DE DONNEES
1. 1. Historique
Le mot Base de donnes (data base) en anglais est apparu en
1964 lors d’une conférence sur ce thème aux USA, organisé dans le cadre
du programme spatial Américain. Afin de stocker les informations de
façon structurée avec le moins de redondance possible. Auparavant, on
ne connaissait que des systèmes de gestion de fichier (SGF) basés sur la
gestion de bandes magnétiques destinés à optimiser les accès
séquentiels. Les disques étaient alors chers et réserver à de petits
fichiers.
1.2. Définition
Une Base de données est l’ensemble de données structuré,
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.
Ou bien c’est l'ensemble (cohérent, intégré, partagé) des
informations nécessaires au fonctionnement d'une entreprise, dont la
gestion est assurée par un logiciel appelé système de gestion de bases de
données (SGBD).
Exemples de base de données : celle qui permet la gestion des
personnels, étudiants, cours, inscriptions d'une université ou école, celle
du système de réservation de places d'avion des compagnies d'aviation.
1.3. Critères d’une base de données
Les définitions ci-haut présenté font état de trois termes que
nous décrivons de la manière suivante :
Structuration : ce terme fait allusion aux conditions de stockage des
informations et la manière dont elles sont utilisées (organisation).
Non redondance : ceci interdit à la base de données de contenir des
informations répétitives.
Page |5
La synonymie : lorsque deux objets ont la même signification.
Exemples : Nom et Name
Numéro et référence
La polysémie : lorsque un objet renvoie à plusieurs significations.
Exemples :
Nom d’une personne
Nom
Nom d’un article
Exhaustivité : le principe selon lequel une base de données doit
contenir toutes les informations nécessaires afin de répondre aux
besoins des utilisateurs.
1.4. Concepts liés aux bases de données
Parmi les concepts liés à la base de données, nous avons :
1.4.1. Entité ou objet
Une entité est la représentation d’un élément concret ou abstrait
ayant une existence propre, présentant un intérêt dans l’organisation et
traduisant une préoccupation de gestion.
Exemple : Client, Article, Etudiant.
Elle est décrite par des attributs. De ce fait, une entité est un
groupement des attributs ou propriétés, perçu par le concepteur comme
ayant une existence propre, et à propos duquel on peut enregistrer des
informations, car n’ayant que des caractéristiques comparables.
Exemple : Dans un supermarché, on a l’entité Client, Article, …
Client Article
1.4.2. Attribut ou Propriété
L’attribut est une donnée élémentaire décrivant une entité. Elle
doit cependant être atomique c’est-à dire non décomposable.
Page |6
Exemple : Numero_client, Nom, prénom, Adresse sont de propriétés de
l’entité Client.
Toujours dans notre exemple, le prix unitaire est un attribut de
l’entité articles, La quantité commandée est un attribut de l’association
acheter, la date de livraison est un attribut de l’association livrer.
Clients Articles Fournisseurs
Numéro-client Num_Artic Num Fournis
Nom clients Nom article Nom fournis
Prénom Prix unitaire téléphone
Adresse client Qte article
1.4.3. Association ou relation
C’est un lien sémantique entre une ou plusieurs entités. Elle
s’exprime sous forme de verbe à l’infinitif ou locution verbale.
Dans notre exemple, l’association « acheter » fait le lien entre les
entités articles et clients, tandis que l’association livrer fait le lien entre les
entités articles et fournisseurs.
Clients Articles Fournisseurs
Numero-client Livrer
Achete Num_Article Nom fournis
r Nom article Quantité
Nom clients
livrée Téléphone
Quantité Prix unitaire
Prenom
com
Qte article
Adresse client
…..
Une entité doit être porteuse des propriétés mais une association peut ou ne
pas avoir des propriétés.
L’association est décrite de par sa dimension :
La relation récursive ou unaire qui relie la même entité
La relation binaire qui relie deux entités
La relation ternaire qui relie trois entités
La relation n aires qui relie n entités.
Page |7
1.4.4. Identifiant
C’est une propriété type permettant de distinguer une entité
parmi tant d’autres et ce, sans ambiguïté.
Exemple :
1.4.5. Occurrence
D’après la définition d’une entité, on sait que la connaissance
d’une valeur de la rubrique identifiant détermine la connaissance de
valeurs des autres rubriques de l’entité. L’ensemble de ces valeurs est
appelé occurrence.
1.4.6. Cardinalité
Elle précise la participation de l’entité concernée à la relation.
Le premier nombre indique la cardinalité minimale, le deuxième la
cardinalité maximale.
Cardinalité maximale : le nombre maximum de fois qu’une
occurrence d’une entité participe à une relation. Elle vaut souvent 1 ou n,
avec n indiquant une valeur supérieur à 1.
Cardinalité minimale : le nombre minimum de fois qu’une occurrence
d’une entité participe à une relation. Elle vaut souvent 0 ou 1.
Par exemple : Un client a au moins acheté un ou plusieurs articles (n étant
indéterminé), tandis qu’un article peut avoir été acheté entre zéro et
plusieurs fois (même si ce n’est pas le même n) et n’est livré que par 1
fournisseur.
On obtient alors le schéma entité-association complet suivant :
Page |8
Une valeur minimum à 0 signifie qu’au moins une occurrence de
l’objet n’est pas liée à l’association.
Une valeur maximum à 1 signifie qu’une occurrence de l’objet n’est
liée plus d’une fois à l’association.
Une valeur maximum à n signifie qu’au moins une occurrence de
l’objet est liée plusieurs fois à l’association.
A partir de ces valeurs minimum et maximum possibles, il existe
quatre types de cardinalité :
(0,1) : une occurrence de l’objet n’est jamais liée plus d’une fois
à l’association.
(1,1) : une occurrence de l’objet est toujours liée une et une
seule fois à l’association.
(1, n) : une occurrence de l’objet est toujours liée au moins une
a plusieurs fois à l’association.
(0, n) : aucune précision donnée. Exemple :
Un client peut passer une ou Une commande peut-être passé
plusieurs commandes par un et un seul client
Généralement, si une ou plusieurs des entités liées à une
relation ternaire possède une cardinalité maximale de 1, la modélisation
n’est pas optimisée. D’où il faudrait mieux décomposer la relation
ternaire, c’est-à dire la représenter en deux relations binaires.
Page |9
Exemple :
Remarque :
un attribut ne doit pas figurer dans deux entités ou associations
différentes (donc il faut spécialiser l’attribut nom en nom du
client, nom du produit et nom du fournisseur);
une entité possède au moins un attribut (son identifiant);
une association peut ne pas posséder d’attribut.
Conseils :
éviter les identifiants composées de plusieurs attributs (comme par
exemple un identifiant formé par les attributs nom du client et
prénom) ;
il faut un identifiant totalement indépendant des autres attributs
(éviter par exemple d’ajouter un identifiant NomPrénom qui serait
la concaténation des attributs nom du client et prénom);
préférer un identifiant court pour rendre la recherche la plus rapide
possible (éviter par exemple les chaînes de caractères comme le
numéro de sécurité sociale ou la plaque d’immatriculation);
P a g e | 10
1.5. Le modèle relationnel
Une base de données relationnelle est celle dont les données
sont organisées sous forme de tableau à deux dimensions où nous avons
des lignes et des colonnes. Ce modèle utilise des tables et la
manipulation des données se fait par le langage standardisé appelé SQL.
1.5.1. L’Architecture d’une base de données
Après sa conception, le système d’information doit être
implémenté dans un environnement précis. Il doit faire allusion à une
architecture.
Parmi ces architectures, nous avons :
a) L’Architecture monoposte
Elle consiste à tout centraliser au niveau d’un seul ordinateur qui
regorge à la fois la logique applicative, l’accès aux données et l’interface
utilisateur.
Avantage :
Environnement moins couteux
Possibilité de tout contrôler par l’utilisateur de l’ordinateur
Etc.
Inconvénients
Difficultés de communiquer avec les machines voisines
En cas de panne, toutes les informations sont perdues si l’on n’a pas
fait le backup.
Etc.
Schéma du modèle
BDD+PRG
P a g e | 11
Remarque :
Un seul ordinateur sur lequel, on retrouve les programmes et les
données.
Il revient donc à l’utilisateur d’interroger directement la base de données
à partir des requêtes via le système de gestion de bases de données et ce
dernier lui répond.
: Requête de l’utilisateur
: Réponse du SGBD
b) Architecture client-serveur
L’architecture client-serveur est un modèle d’architecture applicative où
les programmes sont répartis entre processus clients et serveurs
communiquant par des requêtes avec réponses1.
Le client-serveur utilisé pour réaliser des systèmes d’information des
entreprises a pour caractéristique :
Un système ouvert
Un SGBD installé sur le serveur souvent basé sur le modèle
relationnel
Des PCs avec interface graphiques connectés au réseau.
Les logiciels de transport de requêtes et réponses.
Remarque : l’architecture client-serveur est appliquée dans un
environnement multiutilisateur (réseau).
Les machines clientes sollicitent des services auprès du serveur qui leur
sert à temps opportun.
Dans cette architecture, il existe trois tâches importantes :
La présentation de l’application
La couche métier ou la logique applicative
L’accès et le stockage de données
1 Gardarin, Georges et Olivier, le client-serveur, Edition Eyrolles, Paris,
P a g e | 12
Avantages
L’administration se fait au niveau du serveur
La possibilité d’étendre ou de diminuer les machines clientes sans
pour autant perturber le fonctionnement du réseau
Meilleure sécurité par le fait que les autorisations sont données à
partir du serveur.
La centralisation de données i.e. toutes les données sont
centralisées au niveau du serveur et les utilisateurs ne peuvent que
les exploiter à partir du serveur.
Inconvénients
La centralisation de données au niveau du serveur fait à ce qu’il
soit un maillon faible du réseau. En cas de panne du serveur tout
est perdu.
Nous distinguons les architectures client-serveur à deux tiers, trois tiers
et n-tiers.
Architecture client-serveur 2/3 (deux niveaux ou deux strates)
Remarque :
Le poste client a une adresse IP et un numéro de port qui lui
permet de communiquer avec le serveur. En émettant une requête
Le serveur reçoit la requête et répond le client de par son adresse et
son port.
P a g e | 13
Architecture client-serveur 3/3 (trois niveaux ou trois strates)
Avec l’avènement de l’internet et du web, le client-serveur a évolué vers
les architecture client-serveur 3/3.
Remarque :
Le client (premier tiers) : est responsable de la présentation. Il
utilise pour ce faire de navigateurs web.
Le serveur d’application (deuxième tiers) : exécute le code
applicatif
Le serveur de données (troisième tiers) : supporte le SGBD. Il
reçoit la requête et fournit la réponse vie le serveur d’application.
Remarque : il existe aussi des architectures multi niveaux (n niveaux). C’est
lorsque un client peut invoquer plusieurs serveurs.
2. Système de gestion de base de données (SGBD)
Les SGBD ont connu leur apparition vers les années 70 afin de
développer les bases de données sous formes de fichiers reliés par de
pointeurs. Suites aux programmes APOLLO.
a) La première génération de SGBD est marquée par la séparation de la
description des données et de la manipulation par les programmes
d’application.
P a g e | 14
Pour cette première génération, nous avons :
Le modèle hiérarchique
Le modèle réseau
b) La deuxième génération de SGBD est apparue depuis 1970, à partir
du modèle relationnel. Ce modèle a été commercialisé depuis 1980.
Exemple : Oracle, SQL server…
c) La troisième génération est influencée par les modèles objets,
intégrant une structuration conjointe des programmes et des
données en types, avec des possibilités de définir des sous types par
héritage.
Elle conserve les acquis du modèle relationnel en permettant une vision
tabulaire des objets et une interrogation via le langage SQL étendu aux
objets.
d) Enfin, la quatrième génération est déjà en marche et devrait mieux
supporter l’internet et le web, les informations mal structurées, les
objets multimédias, l’aide à la prise de décisions et l’extraction de
connaissances à partir des données.
2.1. Définition
Un système de gestion de bases de données (SGBD) est le
logiciel qui permet d'interagir avec une base de données. Il permet à un
utilisateur de définir des données, de consulter, décrire, modifier,
interroger, administrer ou de la mettre à jour. De plus, ce logiciel doit
pouvoir être utilisé simplement par un personnel non spécialisé, d’où la
nécessité d’une interface des commandes entre les utilisateurs et le
système lui-même. Cette interface est souvent réalisée par des langages
spécialisés.
Un des aspects essentiels de ces systèmes est : qu'ils doivent
permettre à l'utilisateur de spécifier en des termes abstraits les données
que ce dernier souhaite retrouver, tout en se chargeant de la recherche en
fonction de l'organisation des données dans la base.
P a g e | 15
2.2. Objectifs des systèmes de gestion de bases de données.
Plus précisément, les objectifs d'un système de gestion de
bases de données sont les suivants :
- Liens entre les données - Cohérence des données - Souplesse d'accès
aux données - Sécurité - Partage des données - Indépendance des
données – performances - Administration et contrôle.
Nous allons reprendre un à un ces divers points.
a. Liens 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.
b. 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 de 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.
c. 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 de langages déclaratifs (non
procéduraux) et de haut niveau que l'on appelle classiquement langages
de requêtes. De tels langages sont à opposer aux manipulations
classiques de fichiers qui sont limitées et totalement procédurales.
Les langages de requêtes peuvent être utilisés de façon interactive par
des utilisateurs pour consulter une base de données ou faire des
modifications.
P a g e | 16
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
un langage de requêtes.
d. 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 la 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 de 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.
e. 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.
f. 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.
P a g e | 17
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 à 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.
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 et 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.
g. 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.
P a g e | 18
h. 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ésume, 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.
2.3. Architecture d'un SGBD
Au niveau d'abstraction le plus élevé, un SGBD peut être vu
comme une boite noire, assurant la gestion de la Base de donnés
conformément aux requêtes de ses utilisateurs :
P a g e | 19
L'interface utilisateur permet aux utilisateurs d'exprimer des
requêtes: soit pour définir le contenu de la BD (avec le LDD), soit pour
interroger la BD (en extraire des informations), soit enfin pour apporter
des modifications à ce qui a été enregistré.
L'interface d'accès physique permet au SGBD d'accéder aux
données sur les supports (disques, ...), et optimisation du stockage des
données (en termes d'espace occupé sur les supports) et de l'accès aux
données (en temps); objectif: avoir les meilleures performances
2.4. Niveaux de description des bases de données
Nous avons vu que le concept d'indépendance des données est
un des aspects fondamentaux d'un SGBD.
Pour obtenir cette indépendance, on considère généralement
trois niveaux de représentation de BD : le niveau physique ou interne, le
niveau conceptuel et le niveau externe. Ce découpage facilite la
maintenance des applications :
Il permet de dissocier autant que possible les applications des
contraintes liées au matériel ou au système d’exploitation.
La séparation entre les niveaux externe et conceptuel permet de
protéger les applications contre les modifications ou
enrichissement du schéma conceptuel.
a. Niveau physique
Le niveau physique définit le schéma physique de la base de
données, c'est-à-dire la représentation des données sur le support de
stockage utilisé par la machine.
P a g e | 20
Le schéma physique se définit en termes de fichiers et
d'enregistrements, le système de gestion de fichiers et le système
d'exploitation de la machine se chargeant de la gestion réelle des
périphériques et des supports. Ce niveau correspond à la manière dont
la base de données est implantée sur les ordinateurs.
b. Niveau conceptuel
Correspond à une vision globale de la base. Il n’y a qu’un seul
schéma conceptuel. Les données sont décrites ainsi que les contraintes
d’intégrités liées aux données. Le niveau conceptuel a pour rôle de
définir et de gérer le schéma conceptuel.
Ce dernier est la représentation logique, à l'intérieur du
système, de la réalité que la base de données est sensée transcrire. On
voit donc que le niveau conceptuel est la partie principale du SGBD.
La définition du schéma conceptuel correspond à une activité
de modélisation puisqu'il s'agit de traduire en termes abstraits les entités
du monde réel. Pour faire cette modélisation, le SGBD offre un modèle
de données auquel est associé un langage de définition de données qui
permet de spécifier le schéma conceptuel à l'intérieur de ce modèle.
c. Niveau interne
S’occupe du stockage des données dans les supports physiques
et de la gestion des structures de mémorisation (fichiers) et d'accès
(gestion des index, des clés, ...)
d. Le niveau externe
Correspond aux différentes façons dont les utilisateurs peuvent
voir les données de la base. Ce niveau prend en charge le problème du
dialogue avec les utilisateurs, c'est-à-dire l'analyse des demandes de
l'utilisateur, le contrôle des droits d'accès de l'utilisateur et la
présentation des résultats.
2.5. TYPE OU MODELE DES SGBD
Il existe plusieurs modèles d’organisation de données dans une
base de données. Historiquement les premiers SGBD étaient de type
hiérarchique, puis sont apparus les SGBD de type réseau. Actuellement,
la plupart des nouveaux systèmes sont de type relationnel.
P a g e | 21
Des SGBD de type "objet" commencent à apparaître sur le
marché et ils remplaceront vraisemblablement une partie des SGBD
relationnels. La différence essentielle entre ces types de SGBD réside
dans les modèles sur lesquels ils s'appuient pour représenter les
données.
2.5.1. Modèle hiérarchique
Les données sont représentées sous forme d’une structure
arborescente d’enregistrements. Cette structure est conçue avec des
pointeurs et détermine le chemin d’accès aux données. Chaque nœud de
l'arbre correspond à une classe d'entités du monde réel et les chemins
entre les nœuds représentent les liens existant entre les objets. De
nombreuses situations peuvent ainsi être représentées, mais la nature
arborescente du graphe des objets devient limitative lorsque l'on veut
modéliser le partage de certaines données.
2.5.2. Modèle réseau
Un schéma conceptuel dans le modèle réseau est composé de
définitions d'enregistrements définissant des entités et les liens unissant
ces entités, et d'ensembles exprimant des liens multi-values entre les
enregistrements. La structure des données peut être visualisée sous la
forme d'un graphe quelconque. Comme pour le modèle hiérarchique, la
structure est conçue avec des pointeurs et détermine le chemin d'accès
aux données. Ce modèle est une extension du modèle hiérarchique dans
laquelle le graphe des objets n'est pas limité. Il permet, entre autres, de
représenter le partage d'objets ainsi que des liens cycliques entre des
objets. Il est le modèle utilisé par les systèmes CODASYL.
P a g e | 22
2.5.3. Modèle relationnel
II est fondé sur la théorie mathématique des relations. Il
conduit à une représentation très simple des données sous forme de
tables constituées de lignes et de colonnes. II n'y a plus de pointeurs qui
figeaient la structure de la base. La souplesse apportée par cette
représentation, et les études théoriques appuyées sur la théorie
mathématique des relations ont permis le développement des langages
puissants non procéduraux. Dans ces langages, l'utilisateur ou le
programmeur indique quelles informations il veut obtenir et c'est le
SGBD qui trouve la manière d'arriver au résultat. Le programme ou
l'utilisateur n'a plus à naviguer dans la base pour retrouver ses données.
Ces langages peuvent être utilisés par des non-informaticiens et
permettent l'écriture de programmes indépendants de la structure
logique et physique des données. Le langage SQL est un standard parmi
tous ces langages. L'inventeur du modèle relationnel est Codd qui
travaillait dans les laboratoires d'IBM.
(ex: Oracle, mySQL, Access).
2.5.4. Le modèle objet (SGBDOO)
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. 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. Ex : – O2, - Gemstone
– ObjectStore
P a g e | 23
2.5.5. Le modèle déductif.
Une base de données déductive (BDD) est constituée d'un
ensemble de prédicats (relations), dits de base ou extensionnels dont
l'extension est conservée explicitement dans la base de données. L'idée
est de coupler une base de données à un ensemble de règles logiques qui
permettent d'en déduire l'information.
La répartition du parc des SGBD n’est pas équitable entre ces
cinq types de base : 75% sont relationnels, 20% réseaux, les 5% restants
étant partagés entre bases déductives et objets. Ces chiffres risquent
néanmoins d’évoluer d’ici quelques années, et la frontière entre bases
relationnelles et objets pourrait être éliminée par l’introduction d’une
couche objet aux bases de données relationnelles.
2.6. Quelques systèmes reconnus
– Oracle ([Link] base relationnelle.
– DB2 ([Link] base relationnelle.
– Sybase ([Link] base relationnelle.
– SQL Server ([Link] base relationnelle.
– Ingres ([Link] base relationnelle.
– Informix ([Link] base relationnelle.
– O2 ([Link] ou [Link] base objet.
– Gemstone ([Link] base objet.
– ObjectStore ([Link] ou [Link] base objet.
– Jasmine ([Link] base objet.
et sur micro :
– Access 2000 ([Link]
– Paradox 8.0 ([Link]
– Visual Dbase ([Link]
– FoxPro ([Link]
– FileMaker 4.0 ([Link]
– 4D 6.5 ([Link]
– Windev ([Link]
P a g e | 24
CHAPITRE II : PLANIFICATION DE LA BASE DE DONNEES
La réalité est universelle mais sa perception et son analyse sont
spécifiques aux individus qui les font. Il en est de même dans les
organisations. Chaque individu en fonction de ses propres
préoccupations, est conduit à percevoir dans une réalité déterminée, des
phénomènes auxquelles il est spécifiquement sensible et à en donner une
traduction qui lui soit familière et parlante.
Avant son implémentation sur un micro-ordinateur, la base de
données doit être conçue. La conception d'un système d'information n'est
pas évidente car il faut réfléchir à l'ensemble de l'organisation que l'on
doit mettre en place.
Le rôle du concepteur est de dépasser la particularisation et la
focalisation propres à chaque utilisateur en vue d’atteindre une
représentation qui, sans nécessairement rendre compte de ce que nous
appelons l’universalité de la réalité, traduire une variété suffisante des
points de vue particuliers.
Dans le monde réel des organisations, le modèle entité-
association permet de repérer et de décrire des entités ou des
associations à l’aide d’un nombre limité des mots appelés : valeurs.
Ainsi la phase de conception nécessite des méthodes permettant
de mettre en place un modèle sur lequel on va s'appuyer. Ce type de
méthode est appelé analyse.
Il existe plusieurs méthodes d'analyse, notamment UP basé sur
le langage de modélisation UML, Merise, OMT, OOD, pour ne citer que
celles-ci. Mais la méthode la plus utilisée au monde est MERISE. Ainsi,
Le développement de ce cours va s’atteler sur la méthode MERISE, étant
une méthode de conception et de développement de système
d’information, qui veut dire Méthode d’Etude et de Réalisation
Informatique des Systèmes d’Entreprises.
P a g e | 25
III.1. HISTORIQUE
La méthode MERISE date de 1978-1979, et fait suite à une
consultation nationale lancée en 1977 par le ministère de l'Industrie, dans
le but de choisir des sociétés de conseil en informatique afin de définir
une méthode de conception de 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é à
Aix-en-Provence.
III.2. BUT DE MERISE
Le but de cette méthode est d'arriver à concevoir un système
d'information. Elle est basée sur la séparation des données et des
traitements à effectuer en plusieurs modèles : conceptuels, logique et
physiques. La séparation des données et des traitements assure une
longévité au modèle. En effet, l'agencement des données n'a pas à être
souvent remanié, tandis que les traitements le sont plus fréquemment.
III.3. DEMARCHE D’INFORMATISATION DE LA METHODE
MERISE
Elle se caractérise par une double démarches : par étape de
construction appelé autrement cycle de développement et par niveau
d’abstraction.
a. Cycle de développement MERISE
Parmi les informations qui appartiennent au système
d’information, certaines doivent ou peuvent faire l’objet d’un traitement
automatisé grâce aux outils informatiques. Pour assurer la cohérence du
système d’information, la méthode Merise propose une démarche
d’informatisation comportant les étapes suivantes :
1. Schémas directeur informatique (SDI) : le SDI est un plan d’actions à
moyens termes reprenant l’ensemble des activités devant être menées
dans le cadre de la mise en œuvre et du développement d’un système
d’information.
P a g e | 26
Il définit globalement la politique d’organisation et
d’automatisation.
D’où la nécessité de répertorier toutes les applications
existantes. Au besoin, insérer un nouveau projet s’il s’avère nécessaire.
Pour faciliter le développement, il faut découper le système
d’information en domaine.
2. L’étude préalable par domaine : Après avoir découpé le système
d’information en domaines, la présente étape aboutit à la présentation
générale du futur système de gestion en indiquant les principales
motivations par rapport au système en vigueur, le coût, les avantages et
les moyens matériels à mettre en œuvre.
Bref, elle consiste à analyser l’opportunité et la praticabilité de
l’informatisation, car l’informatisation est un coût.
Pour ce faire, quatre phases sont à parcourir :
Une phase de recueil : le but de cette phase est l’analyse de
l’existant afin de cerner les dysfonctionnements et les
obsolescences (équipements obsolescents par des équipements de
technologie plus moderne) les plus frappantes du système actuel.
Une phase de conception : a pour objectif la modélisation du futur
système sur base des critiques formulées sur le système actuel.
Une phase d’organisation : l’objectif est de définir le futur système
au niveau organisationnel: qui fait quoi ?
Une phase d’appréciation : dont le rôle est d’établir les coûts et
délais de solutions définis ainsi que d’organiser la mise en œuvre.
A cet effet un découpage en projets est effectué
3. L’étude détaillée par projet : Elle consiste à élaborer un cahier des
Charges, qui est un document dans lequel le maitre d’ouvrages décrit
les spécificités d’un travail, tout en y définissant les conditions
techniques, financières ou autres.
4. La réalisation : consiste à mettre à la disposition des utilisateurs des
programmes fonctionnant sur un jeu d’essai approuvés par ces
derniers. Nous ajoutons à tout ceci :
P a g e | 27
La mise en œuvre qui consiste à transférer la responsabilité du
produit fini à l’utilisateur. Pour cela, l’équipe de réalisation
procède à la formation du personnel.
La maintenance qui a pour rôle de suivre l’évolution de
l’application dans le temps et dans l’espace tout en prenant en
compte l’évolution technologique.
Le schéma suivant, extrait de l’ouvrage « La méthode Merise »
reprend les étapes décrites ci-dessus.
Cette démarche lourde et parfois complexe est adaptée à
l’automatisation de « gros systèmes d’information ».
b. Cycle d’abstraction
Merise modélise le système d’information par niveaux, en
séparant les données et le traitement. Donc, merise est une méthode
séquentielle.
La conception du système d'information se fait par étapes, afin
d'aboutir à un système d'information fonctionnel reflétant une réalité
physique. Il s'agit donc de valider une à une chacune des étapes en
prenant en compte les résultats de la phase précédente.
D'autre part, les données étant séparées des traitements, il faut
vérifier la concordance entre données et traitement afin de vérifier que
toutes les données nécessaires aux traitements sont présentes et qu'il n'y
a pas de données superflues.
P a g e | 28
Cette succession d'étapes est appelée cycle d'abstraction pour la
conception des systèmes d'information. L'expression des besoins aboutit
au MCC (Modèle conceptuel de la communication) qui définit les flux
d'informations à prendre compte.
L'étape suivante consiste à mettre au point le MCD (Modèle
conceptuel des données) et le MCT (Modèle conceptuel des traitements)
décrivant les règles et les contraintes à prendre en compte. Le modèle
organisationnel consiste à définir le MLD (Modèle logique des données)
qui représente un choix logiciel pour le système d'information et le MOT
(Modèle organisationnel des traitements) décrivant les contraintes dues à
l’environnement (organisationnel, spatial et temporel). Enfin, le modèle
physique reflète un choix matériel pour le système d'information.
P a g e | 29
Niveau Donnée Traitement
Conceptuel MCD (Quoi ?) MCT Comment ? SIO
Organisationnel MOD (Où ?) MOT Comment
Où et quand ?
Logique MLD (comment ?, MLT (Où ?) SII
Quoi ?)
Physique MPD (Comment) MOPT(Comment)
III.5. Modélisation
Un modèle est une simplification de la réalité qui permet de
mieux comprendre le système à développer.
III.5.1. LA MODELISATION CONCEPTUELLE DE DONNEES
Dans cette modélisation, il est question pour le concepteur de
faire la description de données.
Le modèle conceptuel des données (MCD) a pour but de
d'écrire de façon formelle les données qui seront utilisées par le système
d'information.
1. Construction d’une base de données
Dans la démarche de construction d’une base de données, il
existe deux approches notamment :
L’approche déductive qui s’appuie sur l’existence préalable d’une
liste d’informations à structurer. Elle va du général au particulier.
L’approche inductive qui cherche à mettre rapidement en évidence
les différents concepts évoqués dans le discours, puis à les décrire
par des informations. Elle va du particulier au général.
Se fondant sur ces deux approches, nous proposons la
démarche ci-après :
1.1. Règles de construction du MCD
Elaboration du dictionnaire de données
Enumération de règles de gestion
Choix du formalisme (un modèle)
Recensement des entités de par leurs propriétés en y définissant les
cardinalités
Description des entités de par leurs entités en y définissant pour
chaque en entité, son identifiant.
P a g e | 30
Détermination des propriétés, des associations si est seulement si
elles sont porteuses.
Modélisation par des vues externes
Exemple :
Soit la maison LENS MPELA spécialisée dans la vente des produits
divers. Elle demande aux futurs techniciens de maintenance et réseaux
de l’ISC Bandundu de mettre en place une base de données pouvant
l’aider à mieux gérer ses ventes.
Résolution
1.2. Elaboration du dictionnaire de données
Ici, il s’agira pour le concepteur de dresser une liste des
informations récoltées en y purifiant les redondances (polysémie et
synonymie).
Il sied de signaler que ces données doivent être dans l’ordre
alphabétique.
N° code rubrique Nom de la rubrique Nature Taille
1 Cat_Cli Catégorie client N 5
6 Nom_Cli Nom client C 10
7 Num_Cli Numéro client N 8
8 Pu Prix unitaire C 12
9 Qte Quantité N 14
1.3. Enumération des règles de gestion
Il sied de rappeler que les règles de gestion sont de règles
suivies par la société ou une disposition légale pour son bon
fonctionnement et dans celles-ci on précise ce que le système
d’information doit ou comment il doit être structuré pour pouvoir
assurer les taches de gestion.
Pour notre cas, s’agissant de la vente des produits les règles de
Gestion suivantes feront l’objet du MCD :
R1 : un client achète un ou plusieurs PRODUIT
R2 : un produit est conservé dans un et un seul rayon
P a g e | 31
Choix du formalisme
La méthode Merise préconise au niveau conceptuel, le modèle «
Entité-Association » symbolisé comme suit :
Objet ou Entité Nom
Nom Objet
Relation ou association
Propriete 1
Propriete 2
…..
Vues externes et définition des cardinalité
1er Vue 1, n Acheter 0, n
Client Produit
2eme Vue 1,1 Conserver 1, n
Produit Rayon
Définition des propriétés et des identifiants des objets
Client : Num_cli, Nom_cli, Cat_Cli
Produit : Code_prod, Nom
Rayon: Num_ray, Lib_ra
1.4. Présentation du MCD Brut
CLIENT PRODUIT
0,n
1,n Code Produit
Num_Cli
Nom Acheter Design_produit
Postnom Nom prod
Categorie Pu
Adresse Qte
1,1
RAYON 1,n Conserver
Code Rayon
P a g e | 32
1.5. La Normalisation
1. Définition
Le processus de la normalisation consiste à éliminer les
redondances et les valeurs nulles dans une entité. C’est une opération
intellectuelle qui consiste à détecter les dernières formes de redondance
qui persiste dans le MCD Brut. La normalisation compte cinq formes
dites formes normales. En pratique l’on se limite uniquement aux trois
premières formes normales constituées des cas particuliers de la
deuxième et troisième forme normale. En plus, pour arriver à la
troisième forme normale, l’on est sûre d’avoir minimisé les risques de
redondance.
2. Les formes normales
- Première forme normale (1FN)
Une entité est en première forme normale (1FN), si elle a une
clé primaire et que ses attributs non clés sont atomiques. (Élémentaires
ou non décomposables).
Nous remarquons ici que, les deux attributs non clés (Catégorie
et adresse) ne sont pas atomiques. D’où, ils doivent sortir de cette entité
CLIENT pour devenir eux aussi des entités.
La décomposition de l’attribut atomique
CATEGORIE (code_categ, Lib_Categ) Ainsi donc, l’entité CLIENT va
générer une seconde entité : CATEGORIE
- Deuxième forme normale (2FN)
Une entité est en deuxième forme normale, si elle est déjà en
1ère forme normale et que ses attributs non clés dépendent totalement de
la clé primaire.
Cette deuxième forme normale s’applique aux entités à identifiant
composée.
- Troisième forme normale (3FN)
P a g e | 33
Une entité est en troisième forme normale lorsqu’elle est déjà en
deuxième forme normale et que les attributs non clés ne dépendent pas
transitivement de l’identifiant.
Garder dans la table initiale les attributs dépendant directement
de la clé primaire. Regrouper dans une autre table, les attributs
dépendant transitivement de la clé primaire.
Le modèle conçu donne un aperçu de la base de données. Il a
trois objets dont : client, produit et rayon. Chacun de ces objets a des
propriétés et un identifiant. Les identifiants sont reconnus par le
soulignement.
Recherche des informations à sortir de l’entité
CLIENT : Catégorie
PRODUIT : aucune information
RAYON : aucune information
Schéma relationnel associé au MCDV
CLIENT :Num_Cli : Num (5),Nom_Cli :text(25)
RAYON :Code_rayon :text (5), Lib_ray : text (25)
CATEGORIE : (Code_categ : Num (5), Lib_Categ :text(25)
PRODUIT : ( Code_prod , Nom_prod, Qte_prod, Pu)
P a g e | 34
1.6. Présentation du MCD Valide
Client Produit
Num_Client Code prod
Nom_client 1,n 0,n
Nom_prod
Postnom Acheter Qte_Prod
Categorie
Pu_Prod
Adresse
1,1
1,1
appartenir
1,n
Categorie Rayon
1,n
Code cat Num_ray
Conserver
Libelle_ra
Num_clie
Lib_Cat
1 .7. MODELISATION LOGIQUE DE DONNEES
La modélisation logique de données est la dérivation du
modèle conceptuel de données dans un formalisme adapté à une
implémentation ultérieure, au niveau physique, sous forme de base de
données relationnelles ou réseaux.
Un modèle logique de données reprend le contenu du MCD
précèdent, mais précise la volumétrie, la structure et l’organisation de
données, tel qu’elles pourront être implémentées. A ce stade, il est
possible de connaître la liste exhaustive des tables qui seront à créer dans
une base de données relationnelle.
1 .7.1. Passage du MCD au modèle logique de données
Le passage du MCD au modèle relationnel se fonde sur les
éléments suivants :
La maitrise de règles de passage
La connaissance des concepts du modèle relationnel
Les formes normales pour la validation de la base de données
P a g e | 35
La maitrise de l’algèbre relationnel.
1.7.2. Règles de passage du MCD au MLD (modèle relationnel)
De ce fait, la transcription d’un MCD en modèle logique de
données relationnel s’effectue selon quelques règles simples qui sont :
1. Règles pour les entités ou objets
Les entités ou objets deviennent des tables ;
Les propriétés des entités deviennent des attributs ;
Les identifiants des objets deviennent des clés primaires.
2. Règles pour les relations
Nous avons épinglé deux cas, qui sont :
1°cas : Relation du type Père-Fils : Contrainte d’intégrité fonctionnelle
(CIF)
La relation disparait et sa sémantique demeure ;
La table fils hérite la clé primaire de la table père et si la relation
était porteuse de propriété, cette propriété sera migrée à la table
fils.
Les couples de cette relation sont :
(1,1)-(1,n)
(0,n)-(1,1)
(0,1)-(1,n)
(0,n)-(0,
Etant donné que le fils a une clé primaire, celle qu’elle hérite de
son père est une clé étrangère.
Pour la table père (CLIENT), elle cède sa clé primaire (Num_Cli ) à la
table fils (PRODUIT).
P a g e | 36
Pour la table fils (PRODUIT), elle bénéficie la clé primaire de la table
client (Num_Cli) qui dévient sa clé étrangère.
Pour la table rayon, elle cède sa clé primaire (Numero_rayon) à la table
produi.t
La table produit bénéficie la clé primaire (Numero_rayon) et devient sa
clé étrangère.
De même catégorie bénéficie la clé primaire de la table client et
devient sa clé étrangère
Nota :
La clé primaire est soulignée, cependant la clé étrangère est suivie du
signe #
La flèche pointe l’objet père. Pour certains auteurs, la flèche pointe
l’objet qui hérite la clé de l’autre.
2°cas : Relation du type autre que Père-Fils (CIM)
La relation devient une table de lien ;
La propriété portée par cette relation devient son attribut ;
La relation qui devient une table héritera les deux clés primaires de
tables qu’elle relie (la concaténation de deux clés primaires).
Les couples de cette relation sont :
(1,n)-(1,n)
(0,n)-(1,n)
(0,n)-(0,n)
1.7.3. Présentation du Model Logique de Donnés
Le MLD en rapport avec ce premier cas est le suivant :
P a g e | 37
1.8. MODELISATION PHYSIQUE DE DONNEES
Le modèle physique de données consiste à implanter le modèle
logique de données dans le système de gestion de base de données, c'est-
à-dire le traitement dans un langage de définition de données. Le
langage généralement utilisé pour ce type d’opération est le SQL.
La finalité ici est de créer la structure de la base de données qui
n’est que la traduction du modèle logique de données dans un langage
de description de données spécifiques ou SGDB retenu pour la
réalisation du système.
1. Passage du MLD au MPD
Le passage du MLD au MPD est automatique mais tient compte
du SGBD. Les critères du passage sont les suivants :
P a g e | 38
Les tables deviennent des fichiers;
Les attributs deviennent des champs;
Les clés restent clés.
2. Structure de base de données
Dans la structure de la base de données, trois éléments sont
nécessaires : Nom du champ, type du champ et la taille. On peut ajouter
cela la définition de la clé primaire, Ce pourquoi nous avons donné ces
deux exemples avec les tables client et produit.
F-CLIENT
N° Nom du champ Type Taille Clé primaire
1 Num_client N 16 *
2 Nom_Client C 8
3 Code_categ N 22
4 Adresse C 6
F-PRODUIT
N° Nom du champ Type Taille Clé primaire
1 Code_Produit N 5 *
2 DesignProduit C 25
3 Pu N 15
4 Num_Cli N 30
II.6. L’algèbre relationnel
L’algèbre relationnelle est un ensemble d'opérateurs qui, à
partir d'une ou deux relations existantes, créent en résultat une nouvelle
relation temporaire (c'est-à-dire qui a une durée de vie limitée,
généralement la relation est détruite à la fin du programme utilisateur ou
de la transaction qui l'a créée).
La relation résultat a exactement les mêmes caractéristiques qu'une
relation de la base de données et peut donc être manipulée de nouveau
par les opérateurs de l'algèbre.
P a g e | 39
L’objet de cette section est d’aborder l’algèbre relationnelle dans
le but de décrire les opérations qu’il est possible d’appliquer sur des
relations pour produire de nouvelles relations. L’approche suivie est
donc plus opérationnelle que mathématique.
On peut distinguer deux familles d’opérateurs relationnels :
1. Les opérations ensemblistes
Ces opérateurs permettent de produire une nouvelle relation à
partir de deux relations de même degré et de même domaine. Il s’agit de
l’union, la différence et l’intersection.
a. Union
L’union est une opération portant sur deux relations R1 et R2
ayant le même schéma et construisant une troisième relation constituée
des n-uplets appartenant à chacune des deux relations R1 et R2 sans
doublon.
On la note R1 ∪ R2.
Cet opérateur constitue la base de l’Algèbre relationnel en ces
sens qu’il permet de regrouper les informations de deux tables des
structures différentes. Comme nous l’avons déjà dit, R1et R2 doivent
avoir les mêmes attributs et si une même occurrence existe dans R1et R2,
elle n’apparaît qu’une seule fois dans le résultat de l’union.
Le résultat de l’union est une nouvelle relation qui a les mêmes
attributs que R1et R2. Donc R3= R1 U R2
Relation 1
Nom Prénom
BANGWA Moseka
IPASHA Fortunat
BOFAY Thierry
NDONDO Serge
P a g e | 40
Relation 2
Nom Prénom
TASADI Chimène
MUKWA Sandrine
Relation 3
Nom Prénom
BANGWA Moseka
IPASHA Fortunat
BOFAY Thierry
NDONDO Serge
TASADI Chimène
MUKWA Sandrine
b. La différence
La différence est une opération portant sur deux relations R1 et
R2 ayant le même schéma et construisant une troisième relation dont les
n-uplets sont constitués de ceux ne se trouvant que dans la relation R1 ;
on la note R1 −R2. Il s’agit une opération binaire ensembliste non
commutative essentielle dont la signature est : relation × relation
−→relation. Comme nous l’avons déjà dit, R1et R2 doivent avoir les
mêmes attributs. Le résultat de la différence est une nouvelle relation qui
a les mêmes attributs que R1 et R2.
Donc R3= R1 – R2
Relation 3
Nom Prénom
BANGWA Moseka
IPASHA Fortunat
BOFAY Thierry
NDONDO Serge
TASADI Chimène
OMENGA Devos
MUKWA Sandrine
P a g e | 41
Relation 1
Nom Prénom
BANGWA Moseka
IPASHA Fortunat
BOFAY Thierry
NDONDO Serge
Relation 2
Nom Prénom
TASADI Chimène
OMENGA Devos
MUKWA Sandrine
c. Intersection
L’intersection est une opération portant sur deux relations R1 et
R2 ayant le même schéma et construisant une troisième relation dont les
n-uplets sont constitués de ceux appartenant aux deux relations, on la
note R1 ∩R2. R1et R2 doivent avoir les mêmes attributs. Le résultat de
l’intersection est une nouvelle relation qui a les mêmes attributs qui
appartient
à la R1et R2.
Relation 1
Nom Prénom
TASADI Chimène
OMENGA Devos
MUKWA Sandrine
Relation 2
Nom Prénom
BANGWA Moseka
IPASHA Fortunat
BOFAY Thierry
NDONDO Serge
TASADI Chimène
OMENGA Devos
MUKWA Sandrine
P a g e | 42
Relation 3
Nom Prénom
TASADI Chimène
OMENGA Devos
MUKWA Sandrine
2. Les opérations spécifiques
Ce sont les opérations unaires de projection et restriction qui à
partir d’une relation en construisent une autre, et l’opération binaire de
jointure. Il s’agit de : la jointure, selection.
2.1. Jointure
La jointure est une opération qui constitue la base de l’Algèbre
relationnel, en ces sens qu’il permet de regrouper les informations de
deux tables des structures différentes.
Exemple :
Relation Famille
Nom Prenom Age
TASADI Charmante 27
BRAKE Sedar 25
KASAY Hardi 23
Relation Institut
Nom Institut Section Promotion
ISC TMR G3
ISP Français G1
ISSS Comptabilité G2
Relation 3
Nom Prenom Age Nom Inst Section Promotion
TASADI Charmante 27 ISC TMR G3
BRAKE Sedar 25 ISP Français G1
KASAY Hardi 23 ISSS Comptabilité G2
P a g e | 43
2.2. Sélection
Cette opération consiste à ne conserver que, les tuples d’une
relation c'est-à-dire ce qui satisfait à une condition exprimer dans l’ordre
des sélections. Les résultats a la même structure que la relation opérande,
et En d’autres termes, la sélection permet de choisir (sélectionner)
Exemple : Res = sélection (véhicule, marque= « Peugeot»).
CHAPITRE III : LE LANGAGE SQL
Ce troisième chapitre est consacré aux instructions SQL,
lesquels permettront d’effectuer de différentes opérations sur la base de
données.
III.1 Présentation de SQL
Le langage SQL (Structured Query Language)( Langage
d'interrogation Structuré) peut être considéré comme le langage d’accès
normalisé aux bases de données. Il est aujourd’hui supporté par la
plupart des produits commerciaux que ce soit par les systèmes de
gestion de bases de données micro tel qu’Access ou par les produits plus
professionnels tels qu’Oracle.
Il a fait l’objet de plusieurs normes ISO dont la plus répandue
aujourd’hui est la norme SQL2 qui a été définie en 1992.
Le succès du langage SQL est dû essentiellement à sa simplicité
et au fait qu’il s’appuie sur le schéma conceptuel pour énoncer des
requêtes en laissant le SGBD responsable de la stratégie d’exécution. Le
langage SQL propose un langage de requêtes ensembliste et assertionnel.
Néanmoins, le langage SQL ne possède pas la puissance d’un
langage de programmation : entrées/sorties, instructions
conditionnelles, boucles et affectations. Pour certains traitements il est
donc nécessaire de coupler le langage SQL avec un langage de
programmation plus complet.
De manière synthétique, on peut dire que SQL est un langage
relationnel, il manipule les données des tables (des relations, c’est-à-dire
des ensembles) par l’intermédiaire de requêtes qui produisent également
des tables.
P a g e | 44
IV.2 Classement des instructions SQL
Les instructions SQL sont classées par catégorie, selon leur
utilité.
Il s’agit de :
1. LDD : langage de définition de données ou DDL en Anglais (Data
Définition Language). Ce langage permet de créer des tables, de
modifier, de détruire, etc.
Les instructions de LDD se présentent comme suit :
CREATE(Créer)
ALTER (modifier)
DROP(Détruire)
2. LMD : langage de manipulation de données ou DML en anglais (Data
manipulation language). Ce langage permet d’exploiter les
données par : l’ajout, la modification des lignes, la
suppression, la visualisation du contenu des tables, etc.
Les instructions du LMD se présentent comme suit :
SELECT (sélectionner)
UPDATE (modification)
INSERT (insérer) Instruction de mise à jour instruction de mise
à jour
DELETE (supprimer)
Etc.
3. DCL : Langage de protection d’accès ou Data control, langage soit
DCL. Ce langage gère les droits d’accès aux tables. Nous avons
Comme instructions :
GRANT : CONCESSION
REVOKE : RETIRER
P a g e | 45
4. TCL : Langage de contrôle de transaction ou transaction control
language soit TCL. Ce langage gère les modifications faire par
LMD, i.e. les caractéristiques des transactions, la validation et
l’annulation des modifications.
Nous avons comme instructions :
COMMIT
SAVEPOINT
ROLLBACK
SET TRANSACTION
5. ES : Le SQL intégré (Embedded SQL) permet d’utiliser SQL dans un
langage de 3ème génération (C, JAVA, COBOL, etc.)
Les actions suivantes sont effectuées : déclaration d’objets ou
d’instructions ; exécution d’instruction ; gestion des variables et
des erreurs ; traitement des erreurs.
Ainsi, le SQL intégré a comme instructions :
DECLARE, TYPE , DESCRIBE,VAR, PREPARE;
EXECUTE, OPEN, CLOSE, FETCH,WHENEVER
De toutes ces instructions, nous allons utiliser plus le langage
de définition de données et le langage de manipulation de données.
IV.3 Les Principales instructions SQL
*LDD :
CREATE : L’instruction CREATE permet de créer la base de
données et ses tables.
Syntaxe :
CREATE schéma Nom de la BDD // cette instruction est
exécutée en mode graphique, lors de la création de fichier base de
données.
CREATE table Nom de la table
Exemple :
BDD : CLIENT
Tables : CLIENT, ARTICLE
P a g e | 46
La création de la table avec ses champs se fera comme
CREATE table CLIENT (Numcliint,
Nom char(15), Adresse char(30), Code _cat char(5))
Pour définir la clé primaire de la table CLIENT, nous
procéderons comme suit :
CREATE table CLIENT(Numclient),
Nom char(15),
Adresse char(30),
Code_categochar(5),
Primary key(Numcli))
ALTER : La commande ALTER permet d’ajouter, de retirer et
de modifier une colonne.
Syntaxe
ALTER table nom_table
Exemple
ALTER table CLIENT Add(Num_tel char(16))// ici on ajoute
un champ Num_ table
ALTER table CLIENT Modify (Num_tel char (15))// ici on
modifie la taille du champ num_tel
ALTER table CLIENT Drop Num_tel//ici on supprime le
champ créé.
DROP : La commande DROP permet de supprimer une table
Syntaxe
DROP table nom_table
Exemple :
DROP table CLIENT
*LMD
SELECT : L’instruction SELECT permet de sélectionner des
champs ou des enregistrements provenant d’une ou de
plusieurs tables.
SELECT est associé à certaines clauses notamment :
FROM, WHERE
Syntaxe
SELECT nom de champ FROM nom de la table Where prédicat
P a g e | 47
INSERT : L’instruction INSERT permet d’insérer une ligne dans
une table en spécifiant les valeurs à insérer.
Syntaxe
INSERT INTO nom_table (Nom_coll,…,Nom_col n)
VALEURS (vall, …, Val n)
UPDATE : L’instruction UPDATE permet de modifier une ligne
dans une table en spécifiant les valeurs à insérer.
Syntaxe
UPDATE nom_table SET nom_colonne1=(expression1),
Nom_colonn2=(expression2) WHERE Prédicat
DELETE : L’instruction DELETE permet de supprimer des
lignes d’une table.
Syntaxe
DELETE FROM nom_tableWHERE prédicat
IV.3.1. Quelques variantes de l’instruction SELECT
Code Réaction
SELECT*FROM CLIENT ; Affiche la liste de tous les
CLIENT
[Link],[Link],
CLIENT.Code_cat ; . Affiche le N° client, le nom et la
SELECT Numcli,Nom,Code_cat catégorie du client
FROM CLIENT ; Même réaction
SELECT Code_cat as Categorie Affiche le champ code_de par
FROM CLIENT son alias catégorie
Affiche la liste des catégories des
SELECT DISTINCT Code_cat clients provenant de la table
CLIENT. Ici, DISTINT empêche à ce
qu’une catégorie s’affiche plusieurs
IV.3.2. Quelques cas pratiques des instructions : INSERT INTO,
UPDATE et DELETE
P a g e | 48
Code Réaction
INSERT Ajout dans la CATEGORIE un
INSERT INTO CATEGORIE enregistrement dont les valeurs
(code_cat,lib_cat) viennent
VALUES (zone texte1, zone texte2), d’être saisies
UPDATE Modifie la valeur du champ lib_cat
UPDATE CATEGORIE SET lib_cat= dont le
‘‘DATAIL’’ Code catégorie est égal à ‘‘DT’’
WHERE code_cat = ‘‘DT’’ Modifie toutes les valeurs du champ
UPDATE CLIENT SET code cat de la table CLIENT et sans
code_cat=‘‘DT’’ distinction
DELETE Supprime tous les enregistrements de
DELETE *FROM CATEGORIE ; la table
CATEGORIE, sauf si les règles
d’intégrité référentielle s’y opposent.
La table est vide mais sa structure
demeure dans la BDD
IV.3.3. Quelques clauses des instructions SQL
Clause : WHERE : La clause WHERE complète les instructions :
SELECT, UPDATE et DELETE. Elle dit figurer après la clause
FROM. WHERE permet de mettre un prédicat (condition). Elle
peut être utilisée de plusieurs parties séparées par les mots clés :
OR(OU), AND (ET) NOT (NON).
Code Réaction
Affiche tous les champs de la table
SELECT*FROMCLIENT code_cat=”DT” CLIENT dont le code catégorie est
«DT»
- SELECT*FROMCLENT WHERE Affiche les champs de la table CLENT
dont l’adresse est «NGANGA» et la
Adresse=”NGANGA”AND code catégorie «DT»
cat=”DT”
Clauses: WHERE, BETWEEN, LIKE, TO
Code Réaction
SELECT*FROM ARTICLE WHERE Affiche tous les enregistrements de la
Pu<1500; table ARTICLE dont le prix unitaire
P a g e | 49
est inférieur à 1500
SELECT*FROM ATICLE WHERE Affiche les enregistrements de la table
Date_Fab ARTICLE dont la table de fabrication
BETWEEN‡25/07/2009‡and se situe entre le 25/07/2009 et le
‡12/10/2015‡ 12/10/2015 N.B : BETWEEN est
applicable sur les dates
Affiche les enregistrements de la table
ARTICLE dont la désignation
SELECT code_Article, Désignation contient le mot «MAN»
FROM ARTICLE Dans cet exemple, l’affichage se fait
WHERE Désignation LIKE ‟MAN‟ uniquement sur deux colonnes
SELECT sélectionnées.
CLAUSE : ORDER BY : La clause ORDER BY permet de trier
les enregistrements en SQL.
Exemple :
Code Réaction
SELECT Affiche tous les enregistrements de la
CATEGORIE.lib_cat FROM table CATEGORIE tries en ordre
CATEGORIE croissant avec comme argument de tri
ORDER BY CATEGORIE.code_cat code_cat
CLAUSE : INNER JOIN
Code Réaction
select client.code_client, Affiche tous les enregistrements des
client.nom_client Article. code_ Art tables correspondants par le champ
Article.Lib_Art, Article. PU From référencé. Ici c’est le code client lie la
Client table Client à la table ARTICLE.
INNER JOIN Article on client.cod_cli
Select SELECT "nom de champ" FROM "nom de table" Affiche les données
contenues dans les champs à partir des tables listées. Order By SELECT "nom
de colonne" FROM "nom de table" [WHERE "condition"] ORDER BY
"nom de colonne" [ASC, DESC] Paramètre des critères de tri. Where
SELECT "nom de colonne" FROM "nom de table" WHERE "condition"
Paramètre une condition de sélection. Like SELECT "nom de colonne"
P a g e | 50
FROM "nom de table" WHERE "nom de colonne" LIKE {modèle} Avec
WHERE. Paramètre dans une condition de sélection, un critère sur une partie
d’un champ. Count, Avg, Max, Min, Sum SELECT COUNT ("nom de
colonne") FROM "nom de table" Opérateur arithmétique : compte, moyenne,
maximum, minimum, somme. And – Or SELECT "nom de colonne" FROM
"nom de table" WHERE "condition simples" {[AND|OR] "condition
simples"}+ Avec WHERE. Paramètre plusieurs conditions. Not SELECT
"nom de colonne" FROM "nom de table" WHERE "condition simples"
{[NOT] "condition simples"} Avec WHERE. Paramètre exclue une condition.
Between SELECT "nom de colonne" FROM "nom de table" WHERE
"nom de colonne" BETWEEN 'valeur1' AND 'valeur2' Paramètre un
intervalle.
Group By SELECT "nom de colonne 1", SUM("nom de colonne 2") FROM
"nom de table" GROUP BY "nom de colonne 1" Paramètre un
regroupement. Having SELECT "nom de colonne 1", SUM("nom de
colonne 2") FROM "nom de table" GROUP BY "nom de colonne 1"
HAVING (condition fonction) Paramètre une condition. Insert Into
INSERT INTO "nom de table" ("colonne 1", "colonne 2", ...) valeurS
("valeur 1", "valeur 2", ...) Ajoute d’enregistrements. Delete From DELETE
FROM "nom de table" WHERE {condition} Suppression d’enregistrements.
Update UPDATE "nom de table" SET "colonne 1" = [nouvelle valeur]
WHERE {condition} Modifier un enregistrement. Distinct SELECT
DISTINCT "nom de colonne" FROM "nom de table" Sélectionne dans un
champ les données différentes. In SELECT "nom de colonne" FROM "nom
de table" WHERE "nom de colonne" IN ('valeur1', 'valeur2', ...) Sélectionne
des données précises.
Creat Table CREATE TABLE "nom de table" ("colonne 1" "type de
données colonne 1", "colonne 2" "type de données colonne 2", ...) Crée une
table. Drop Table DROP TABLE "nom de table" Supprimer une table.
Truncate Table TRUNCATE TABLE "nom de table" Supprime toute les
données d’une table.
P a g e | 51
INSERT
INTO Clients
VALUES (100,'Mr','Dupond','Jean','rue de la
paix',’75000’,
,'Paris',NULL)
UPDATE produits
SET prix_unitaire = 1000
WHERE libelle = 'prod1';
CHAPITRE V : IMPLEMENTATION DE LA BASE DE DONNEES
Après les étapes d’analyse et conception du système
d’information en n’importe quelle méthode de conception ou langage de
modélisation, vient l’étape de réalisation du système d’information.
Cette réalisation consiste en l’implémentation du système conçu, en
faisant appel à un système de gestion de base de données(SGBD).
Dans le cadre de ce cours, nous optons pour Ms Office Access
2010 et SQL Server 2012r2.
1. Implémentation en Access 2010
Access est un système de gestion de bases de données
relationnelles (SGBDR en abrégé) qui permet d’organiser, de gérer, de
présenter des données réparties dans plusieurs fichiers :
Le logiciel Access contient plusieurs types d'objets. Les objets
de la base de données apparaissent dans la fenêtre Base de données.
C'est l'utilisateur qui crée ces objets. Nous utiliserons les objets
Suivants :
Table : une table est un objet qui stocke des données dans des
enregistrements (lignes) et des champs (colonnes). Les
données sont généralement relatives à une catégorie particulière.
Requête : Une requête permet :
- De poser une question sur les données stockées dans
les tables
- D'accomplir une action sur ces données.
P a g e | 52
Formulaire : est un objet de base de données Access dans lequel
vous placez des contrôles servant à saisir, afficher et modifier des
données dans les champs.
Etat : est un objet de base de données Access qui présente des
informations mise en forme et organisées selon vos spécifications,
par Exemple :
- Des récapitulatifs de ventes,
- Des listes de numéros de téléphone
- Des étiquettes pour publipostage.
Macro : Une action ou un ensemble d'actions destinées à
automatiser Certaines tâches.
1. CREATION D’UNE BASE DE DONNEES
Pour créer une Base de Données :
- Cliquez sur Démarrer ou Start ;
- Cliquez sur Tous les Programmes ;
- Cliquez sur Microsoft Office ;
- Cliquez sur Microsoft Office Access 2010, et Vous avez Microsoft
office Access qui s’ouvre.
- Cliquez sur l’icône Base de Données Vide ;
- Saisissez le nom de la base dans la case Nom de Fichier.
P a g e | 53
- Cliquez sur l’icône de répertoire à droit de la case Nom de Fichier
pour pouvoir choisir l’endroit où vous voulez sauver votre base.
- Cliquez sur créer.
- Microsoft Access créer automatiquement la Base de données avec
une table par défaut appelée Table1.
- Fermer cette table par défaut.
Cliquez ici pour
Fermer la Table par
- Si vous ouvrez le répertoire que vous avez choisi lors de la création
de la base, vous y trouverez cette base des données.
1.1. Création des Tables
Une table est un ensemble d'informations homogènes, sous forme d’un
tableau où chaque colonne correspond à un champ et chaque ligne à un
enregistrement.
Les tables sont les objets principaux sur lesquels repose une base de
données. Elles contiennent des enregistrements organisés selon plusieurs
champs.
Les tables d’Access peuvent être utilisées dans deux modes :
P a g e | 54
• le mode « Création » est utilisé pour définir ou modifier la structure
d’une table (accessible aussi en cliquant sur l’icône Modifier de la
fenêtre Base de données).
• le mode « Feuille de données » (Créer une table en entrant des
données) est utilisé pour visualiser et saisir des données dans une
table (accessible aussi à partir de l’icône Ouvrir de la fenêtre Base de
données).
Pour créer une Table, nous devons suivre le processus de création de
table suivante :
- Ouvrez votre Base de données créée en Double Cliquant dessus si
ce n’est déjà ouvert ;
- Cliquez sur l’onglet Créer ;
- Puis Cliquez sur le bouton Création de Table. Vous avez l’interface
de création de la table ouverte devant vous.
- Cliquez sur l’icône Affichage pour passer du mode affichage des
données au mode création,
P a g e | 55
- Remplacez le nom de la table par défaut Table1 par le nom de
votre table.
- Saisissez les champs concernés par votre table
Saisissez le nom du Choisissez le type
champ du champ
a) Structuration d’une Table
Les différents types de champs sont :
Le menu déroulant de Types des données contient la nature des champs
suivants :
• Texte : peut contenir jusqu’à 255 caractères (texte et nombres).
• Mémo : peut contenir jusqu’à 65535 caractères (texte et nombres).
P a g e | 56
• Numérique : ne peut contenir que des nombres entiers ou réels.
Les champs numériques sont utilisés chaque fois que les données
stockées dans un champ sont utilisées dans des calculs
mathématiques.
• Date/Heure : permet de mémoriser des dates (année 100 à 9999) et
des données horaires codées sur 12 ou 24 heures.
• Monétaire : stocke des nombres réels contenant 1 à 4 décimales.
• NuméroAuto : définit un compteur à incrémentation automatique
(souvent utilisé en tant que clé primaire).
• OuiNon : ne peut contenir que les valeurs Oui/Non, Vrai/Faux,
Actif/Inactif.
• Liaison OLE : permet de stocker des données issues d’une
application compatible OLE, ils peuvent contenir des feuilles de
calcul, des graphiques, des sons, des vidéos, …
• Lien hypertexte : contient le chemin complet d’un fichier local ou
l’adresse URL d’un fichier distant.
• Assistant Liste de Choix : cet assistant crée un champ dans lequel
l’utilisateur peut choisir une valeur dans une liste prédéfinie.
NB : S’assurez toujours que le nom de champ soit court et ne comporte
pas d’espace ou des signes de ponctuations.
Une table doit avoir une clé primaire pour pouvoir différencier les
enregistrements (données).
- Mettez votre curseur dans le champs souhaité et Cliquez sur
l’icône clé primaire ;
Cliquez Ici pour mettre
la clé primaire
Voici la clé primaire
P a g e | 57
- Cliquez sur le bouton x fermer de la table ;
- Cliquez sur Oui de la boite de dialogue d’enregistrement ;
- La Table vient d’être créée, vous arriverez à une nouvelle.
b) Saisir les données dans la table ?
Pour saisir les données :
- Double cliquez sur la table pour l’ouvrir.
- Saisissez les données de la première ligne, de la Deuxième ligne
ainsi de suite.
Insérer les données du
deuxième champ et
Cliquez Ici pour Ouvrir ainsi de suite
la Table
- Une fois que vous avez finis à saisir les données, Cliquez sur le
bouton fermer (x) pour fermer la table.
c) Relations entre les tables
Sachant qu’Access est un gestionnaire de bases de données relationnel,
on peut définir des relations entre les différentes tables d’une base de
données. Quel en est l’avantage ? Cette technique assure la cohérence
entre des données et évite de saisir plusieurs fois les mêmes
informations.
Exemple : Imaginons le cas d’un opérateur chargé de saisir des
commandes au téléphone. S’il a en sa possession une base de données
relationnelle, une table peut comporter la référence du client et ses
coordonnées complètes et être en relation avec celle où il saisit les
commandes (bien sûr si le client est enregistré). S’il n’y avait pas de
relations entre ces deux tables, il ne saurait jamais qui a commandé quoi
P a g e | 58
(et donc il serait obligé de prendre les coordonnées complètes de chaque
client).
Dans Access, les relations sont de deux types :
un à plusieurs ou plusieurs à un (1,1 - 1,n) ou (1,n - 1,n)
un à un (1,1-1,1)
En reprenant l’exemple ci- dessus, un client peut passer plusieurs
commandes ; c’est donc une relation de un à plusieurs.
Pour définir les relations entre les tables :
- Cliquez sur Outils, puis Relations ;
- Dans la boîte de dialogue Ajouter une table, on choisit les
différentes tables à mettre en relation ; pour faire cela, on met un
champ de chaque table en relation et on en définit son type.
P a g e | 59
On peut remarquer le chiffre 1 qui signifie un et le signe ∞ signifiant
plusieurs.
c. Création des Formulaires
Les formulaires permettent de saisir, ou modifier les données d’une ou
plusieurs tables sous une forme visuellement agréable.
Les informations saisies ou modifiées dans le formulaire seront
modifiées dans les tables à partir desquelles le formulaire a été créé.
Pour créer un formulaire, il existe plusieurs méthodes, nous nous
intéresserons seulement à celle d’Assistant Formulaire :
- Dans la fenêtre principale d’Access, on clique sur l’onglet
«formulaire », puis sur le bouton « nouveau… »
- Dans la partie Table/Requête de la fenêtre, nous allons choisir la
table à partir de laquelle le formulaire va être généré. Nous
choisissons ici la table « produite » :
- Dans la zone champs disponibles, choisir les champs à ajouter ou à
enlever dans le formulaire, en utilisant les boutons :
> : Ajouter le champ dans le formulaire
>> : Ajouter tous les champs dans le formulaire
< : Supprimer un champ du formulaire
<< : Supprimer tous les champs du formulaire
- Puis cliquer sur suivant ;
- Dans la fenêtre qui s’ouvre, on choisit ici la façon d’afficher les
champs choisis dans le formulaire, il y a quatre façons d’afficher les
champs : Colonne Simple, Tabulaire, Feuille de données et Justifié ;
- A la dernière fenêtre, donner un nom à votre formulaire et cliquer
sur Terminer.
- Le Formulaire s’affiche et vous pouvez apporter des mises en forme
selon votre goût.
P a g e | 60
i. Création des Requêtes
Pour créer une requête on procède de la manière suivante :
Cliquez sur l’onglet Créer.
Cliquez sur création de requête Sélectionnez la table choisi dans la boite
d’affichage puis cliquez sur Ajouter, puis cliquez sur Fermer.
P a g e | 61
Remarque :
Vous pouvez créer plusieurs requêtes dans une base des
données. S‘assurez toujours que le nom de votre requêtes ne contient pas
d’espace ni de Signe de ponctuation.
ii. Création des Macros
Une macro permet d'exécuter une série de commandes l'une après
l'autre. En plus, vous pouvez "attacher" une macro à un bouton de
formulaire.
Comment créer une macro ?
1. Cliquez sur l’onglet créer .
2. Puis cliquez sur macro .
3. Apres avoir cliquez sur le bouton Macro, une fenêtre de création
de macro sera ouverte.
Cette fenêtre nous demandera ce que nous voulons. Et nous ne
ferons que remplir sa demande.
Ici nous allons lui donner une instruction d’ouverture de notre
formulaire ListeEmployer
P a g e | 62
Donc il suffit seulement de lui dire qu’on va ouvrir un formulaire
et puis lui donner le nom de formulaire à ouvrir.
Pour le faire,
4. Sélectionner le mot Ouvrir Formulaire dans la zone de liste de la
colonne Action.
5. Puis sélectionner le nom de notre formulaire dans la zone de liste
Nom de formulaire comme l’indique l’image ci-dessous.
P a g e | 63
6. Apres avoir cliquez sur le bouton Fermer de la macro, une boite de
dialogue de demande d’enregistrement de la macro apparait.
7. Cliquez sur Oui de la boite de dialogue.
Une boite d’entrer apparaisse, nous demandant le nom de notre
macro. Microsoft Access créer automatiquement un nom de macro
par défaut Macro1.
8. Remplacer ce nom de macro par défaut Macro1 par le nom de
macro que nous voulons. « MacOuvrirEmployer ».
9. Puis cliquez sur le bouton Ok pour l’enregistrer.
P a g e | 64
Voilà notre macro vient d’être créée, et si vous voulez vérifier qu’il
marche bien, double cliquez au-dessus de cette macro et le formulaire
ListeEmployer doit normalement être ouvert.
iii. Création des Etats
L’Etat est la page d’impression des données Access. Dans Access
lorsqu’on veut imprimer quelque chose on utilise l’objet Etat.
Admettons que nous voulons imprimer la liste de tous les employer.
Nous devons d’abords créer un Etat correspondant à cette liste.
Comment créer un Etat ?
La création d’un état ressemble à celle d’un formulaire.
P a g e | 65
1. Cliquez sur l’onglet créer,
2. Cliquez sur Assistant Etat.
3. Une boite assistant création d’Etat apparait, Sélectionnez les
champs que vous voulez afficher dans votre Etat. Moi je vais tous
afficher les champs de ma table ListeEmployer.
Donc je clique sur le bouton de la boite d’assistant.
4. Puis cliquez sur Terminer.
P a g e | 66
Voilà notre Etat vient d’être créé.
Pour pouvoir l’imprimer, clique-droit sur l’Etat pour faire apparaitre le
menu contextuelle, puis cliquez sur Imprimer.
Et pour le fermer sans fermer la base des données, clique-droit sur l’Etat
puis cliquez sur Fermer.
1.2. Implémentation sous SQL Server 2008 R2
Il est à noter que le SQL Server 2008 R2 est compté parmi les SGBD le
plus sollicité actuellement.
Pour créer la base de données avec ce SGBD, il faut suivre la démarche
suivante :
Après son lancement, cette boite de dialogue apparait :
P a g e | 67
Authentification
Cliquez ici pour se windows
connecter
cliquez sur « Se conn », après s’être connecté, la fenêtre suivante, qui est
l’interface de SQL Server Management Studio s’affiche comme suit :
P a g e | 68
Faites un clic-droit sur base de données, ensuite cliquer sur « Nouvelle
base de données » ; une boite de dialogue apparait vous permettant de
saisir le nom de la base de données et de spécifier son emplacement si
possible. Par exemple BDDGEST_ETUD
Enfin, cliquez sur ok
Nota : si par contre, vous choisissez le mode d’authentification SQL Server,
dans la boite de dialogue vous aurez à choisir la connexion et à saisir le mot
de passe pour se connecter :
Authentification
SQL Server
Connexion
Mot de passe
Bouton se connecter
Création de la table
Pour créer la table, il suffit de :
Dérouler l’onglet base de données ;
Cliquer sur le signe + placé à côté de votre base de données
BDDGEST_ETUD ainsi créée ;
Faites un clic-droit sur table, la fenêtre suivante apparait, vous
permettant de structurer votre table en y nommant les champs et le
spécifiant la taille.
P a g e | 69
Enfin, donnez-en un nom, exemple T_Etudiant
Modification de la structure d’une table
Clic droit sur le nom de la table, ensuite cliquez sur Création. La structure de la
table s’affiche et vous donne la possibilité d’en modifier. Il est de même pour la
suppression, la modification, etc.
Chargement d’une table
Le chargement d’une table se fait :
En cliquant droit sur le nom de la table,
Pointez ouvrir une table,
Enfin, cliquez sur Modifier les 200 lignes du haut, la grille ci-dessous
s’affiche en mode feuille de données e vous permet de saisir de
données.
La base de données est créée avec ses différentes tables qui ne sont pas les
seuls objets. On peut y avoir des diagrammes, des vues, procédures
stockées, etc.
CONCLUSION
P a g e | 70
Nous voici au terme de ce cours qui a présenté de façon
pragmatique la démarche de la conception et la mise au point des bases
de données.
Pour rappel, ce cours n’avait pas pour vocation de pouvoir
étudier les méthodes d’analyse et de conception des systèmes
d’information. Toutefois, qu’il a été question de la mise en place d’un
système d’information ou d’une base de données, or la dite conception
fait appel à une méthode de conception. Motif pour lequel, nous avons
passé en revue quelques modèles du cycle d’abstractions de la méthode
Merise, lesquels nous ont servi de pouvoir concevoir la base de données.
Pour ce qui est de l’implémentation, de façon plus aisée, un
Système de gestion des bases de données (SGBD), notamment Access
2010 a tenu notre attention. Pour la manipulation de données, nous
avons fait recours au langage SQL.
TABLE DES MATIERES
INTRODUCTION .......................................................... Erreur ! Signet non défini.
OBJECTIF GENERAL DU COURS .............................. Erreur ! Signet non défini.
OBJECTIF SPECIFIQUES .............................................. Erreur ! Signet non défini.
Bibliographie ................................................................... Erreur ! Signet non défini.
a. Ouvrages .................................................................. Erreur ! Signet non défini.
b. Notes de cours......................................................... Erreur ! Signet non défini.
PLAN DU COURS ......................................................... Erreur ! Signet non défini.
CHAPITRE I CONSIDERATIONS THEORIRIQUES Erreur ! Signet non défini.
CHAPITRE III LE LANGAGE SQL SERVER ............ Erreur ! Signet non défini.
CHAPITRE IV IMPLEMENTATION D’UNE BASE DE DONNEES ........Erreur !
Signet non défini.
CHAPITRE I CONSIDERATIONS THERIQUES ...... Erreur ! Signet non défini.
I. Système......................................................................... Erreur ! Signet non défini.
1.1 Structure organisationnelle d’un système ............ Erreur ! Signet non défini.
2. Système d’information .............................................. Erreur ! Signet non défini.
P a g e | 71
2.1. Définition .................................................................. Erreur ! Signet non défini.
2.2. Composantes d’un Système d’information ..... Erreur ! Signet non défini.
2.3 Les opérations réalisées par un système d’informationErreur ! Signet non
défini.
2.4. Qualité d’un système d’information ................. Erreur ! Signet non défini.
I.3. Rôle du système d’information .......................... Erreur ! Signet non défini.
2. Système informatique ............................................ Erreur ! Signet non défini.
Types de systèmes informatiques ............................ Erreur ! Signet non défini.
3. Base de données ...................................................... Erreur ! Signet non défini.
3.1. Définition .............................................................. Erreur ! Signet non défini.
3.2. Critères d’une base de données ......................... Erreur ! Signet non défini.
3.3. Concepts liés aux bases de données .............. Erreur ! Signet non défini.
3.3.1. Entité ou objet ................................................ Erreur ! Signet non défini.
3.3.2. Attribut ou Propriété .................................... Erreur ! Signet non défini.
3.3.3. Association ou relation ................................. Erreur ! Signet non défini.
3.3.4. Identifiant ....................................................... Erreur ! Signet non défini.
3.3.5. Occurrence...................................................... Erreur ! Signet non défini.
3.3.6. Cardinalité ...................................................... Erreur ! Signet non défini.
4. Système de gestion de base de données (SGBD) ..........Erreur ! Signet non
défini.
4.1. Définition ........................................................... Erreur ! Signet non défini.
4.2. Objectifs des systèmes de gestion de bases de données. .. Erreur ! Signet
non défini.
4.3. Bref historique de base de données ............... Erreur ! Signet non défini.
4.4. Le modèle relationnel ...................................... Erreur ! Signet non défini.
4.5. Environnement ................................................. Erreur ! Signet non défini.
CHAPITRE II : PLANIFICATION DE LA BASE DE DONNEES ...........Erreur !
Signet non défini.
II.1 DEMARCHE D’INFORMATISATION DE LA METHODE MERISE
1. Règles pour les objets ................................................ Erreur ! Signet non défini.
P a g e | 72
CHAPITRE III : LE LANGAGE SQL ....................... Erreur ! Signet non défini.
3.1 Présentation de SQL ............................................. Erreur ! Signet non défini.
3.2 Classement des instructions SQL ....................... Erreur ! Signet non défini.
CHAPITRE IV : IMPLEMENTATION DE LA BASE DE DONNEES Erreur !
Signet non défini.
4.2. CREATION D’UNE BASE DE DONNEES ... Erreur ! Signet non défini.
4.2.1. CREATION D’UNE TABLE ........................ Erreur ! Signet non défini.
4.2.2 CREATION D’UNE RELATION ................. Erreur ! Signet non défini.
4.2.3 CREATION DE REQUETE ........................... Erreur ! Signet non défini.
2.2.4. CREATION DE FORMULAIRE .................. Erreur ! Signet non défini.
2.2.5. CREATION D’UN ETAT ............................. Erreur ! Signet non défini.
CONCLUSION ........................................................ Erreur ! Signet non défini.