0% ont trouvé ce document utile (0 vote)
199 vues95 pages

Introduction aux Bases de Données et SGBD

Transféré par

Youssouf Bamba
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
199 vues95 pages

Introduction aux Bases de Données et SGBD

Transféré par

Youssouf Bamba
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

INTRODUCTION AUX BASE DE DONNEES ET SGBD

Objectifs et motivation
Appréhender de manière approfondie une base de données (définition et représentation)
Acquérir les concepts d’entité, d’entité type, de relation et de relation type, d’individu et d’instance
Concevoir un modèle entité association : Modèle conceptuel de données (Merise/pu)
Objectifs d’un SGBD
Maitrise du lien entre BD et SGBD
Maitriser les types formulation de requête: Question en langage naturel, expression algébrique de requête
requête sous forme d’arbre, SQL (clauses et prédicats).

Sources bibliographiques
Sites web
https://www.w3schools.com/sql/default.asp
https://www.geeksforgeeks.org/sql-ddl-dml-tcl-dcl/
https://stph.scenari-community.org/idl-bd/7/co/relUC084.html
sql.sh

Ouvrages
-Georges Gardarin, Bases de données, 2003, Eyrolles, (ISBN 978-2-212-11281-8, lire en ligne [archive]), p689
-Serge Miranda, Bases de données : Architectures, modèles relationnels et objets, SQL3, pages 457
-Olivier Hertel, Oracle Administration.
-Oracle, Oracle Education.
-Documentation oracle 11 G, OCP/ OCA.
-Bernard Espinasse, Ingénierie des systèmes d’information
-Hubert Tardieu, Base de données, systèmes et langages
-Jean Patrick Mathéron, Comprendre merise
-Pascal Roques, UML par la pratique, 304
-Laurent De Brauwer et Fien Van Der Hyde, UML2 initiation 269
-M. QUEYSANE, algèbre

PLAN DU COURS

-Préliminaires : Système d’information, système informatique, notion de classe


d’équivalence de l’algèbre des ensembles ;
-Objectifs et architecture ;
-Modélisation, Entités/association (E/A ou E/R) ;
-Modèle relationnel : algèbre relationnelle, opérateurs ensemblistes et spécifiques,
opérations dérivées ;
-Langage SQL.

1
Dr APPOH, INP HB, 07 07 930589
LIMINAIRES
I-Système d’information
1-Définitions de concepts afférents
-Système
Par système, il faut entendre un ensemble d’éléments matériels et immatériels mis en interaction
dynamique dont certains peuvent être transformés au moyen de processus ou de mécanismes en vue
d’atteindre un but (Cf Doc Système d’information PREPA détail).
D’autres approches définitionnelles sont :

Par système, on entend un ensemble ordonné et structuré de matériels formant un tout logique.
Un système consiste à un dispositif ou un ensemble d’éléments ayant une fonction déterminée.
Un système est un ensemble d'éléments interagissant entre eux selon un certain nombre de principes
ou de règles.
Un système peut être considéré comme un assemblage d’éléments régi par des lois.
Un système peut être constitué d’un ensemble cohérent de notions (concepts, idées, d’archétypes,
prototypes, paradigmes, spécimens, parangons, modèle, …).
Un système peut s’apparenter à un ensemble de méthodes ou de procédés pour produire un résultat.

Exemples de systèmes
Monde (le monde est un), être, être vivant, être humain, femme, homme, machine, entreprise,
famille, Etat, système expert, ordinateur, vélo, virus, système d’extraction de pétrole, système
de déforestation, astre, astéroïde, comète, grain de sable, goutte de pluie, terre, vent, eau, mer,
feu, sac, feuille, univers, H1N1, grippe, énergie, paramécie, …
Les systèmes ne sont pas classés à la même enseigne. Leur complexité est variable se fondant parfois
sur leur énormité et sur leur taille infiniment petite. D’autres critères difficilement maitrisables par
l’homme, peuvent entrer en jeu dans cette complexité.

Aucun système n’existe sans lien avec un autre (voir support extrait SI). Autrement dit, il n’existe
pas de système isolé véritablement. Les systèmes sont tous liés directement ou indirectement les uns
aux autres. Ils peuvent s’influencer positivement comme négativement. Le monde est un. Il constitue
un tout. Notre univers, le monde y compris, est assimilable à un ensemble de systèmes
interconnectés formant un graphe naturel.

NB

-Classification des systèmes selon leur degré de complexité croissant


A ce titre, neuf niveaux des systèmes sont à observer.
a) Le système existe et est identifiable ;
b) Le système agit ou réagit en fonction d’un but ;
c) Le système a un comportement régulé ;
d) Le système s’informe sur son propre comportement et informe son environnement (bilan
interne et externe, états généraux, état des lieux) ;
e) Le système décide de son comportement (de ses finalités) ;
f) Le système mémorise les informations ;

2
Dr APPOH, INP HB, 07 07 930589
g) Le système organise et coordonne : contrôle, dirige, ordonne, oriente, projette, planifie ;
h) Il imagine : crée, invente et innove. Il a des perspectives. Il détient des mécanismes de tolérance
de pannes et de fautes avancés dans l’utilisation de ses produits et services.
i) Il s’auto finalise ou finalise : il tend vers une certaine autonomie ou indépendance (manifestation
du sommet de l’intelligentsia). C’est l’émergence des consciences.
Un exemple de tel système est la NASA (National Aeronautics and Space Administration) : Système
américain sophistiqué au-delà du renseignement (Navigations aérienne et sous-marine
automatiques).
-Donnée
La donnée est la représentation d’une information sous une forme conventionnelle, convenant à une
communication, à une interprétation ou un traitement par l’homme ou par une machine (moyens
informatiques ou non).
La donnée est un fait, une notion, une instruction.
Une donnée est aussi qualifiée d’information élémentaire.
Elle est aussi l’enregistrement dans un code convenu d’une observation, d’un objet ou d’un
phénomène (donnée factuelle, relative au fait), d’une image, d’un son, d’un texte.
-Information
L’information est alors tout le signifiant que l’on attache et que l’on peut déduire d’un ensemble de
données, de certaines associations entre données.
L’information est un support de connaissance, c’est même la connaissance.
D’après Boulding et Lemoigne, c’est aussi tout ce qui forme de manière significative une
représentation imagée de la réalité.
En sommes, par information, il faut entendre des données accompagnées de sens, de sémantique
(données interprétées). Elle peut avoir pour origine des moyens d’expressions humains ou non, être
structurée ou non.
Quelques formes de l’information : écrite, orale, sonore, picturale, olfactive, tactile, gestuelle,
électronique, numérique (digitale), magnétique, ….
Grâce à l’information dans un lange donnée, toute description est possible dans un cadre d’objectivation.
Connaissance
Par connaissance, il faut noter des informations maitrisées, accompagnées donc d’une certaine
maitrise.
On définit la connaissance comme ce qu’on a appris par l’étude, par la pratique ou par l’expérience.
C’est ce qu’on maitrise. La connaissance est mise en évidence par une personne via son expertise.
Les techniques d’apprentissage plus poussées au plan de l’informatique actuel constituent une preuve
de machines intelligentes à même de manipuler des connaissances et d’en produire à des fins
d’intérêts multiples.
Ce niveau technologique du ressort du domaine de l’intelligence artificielle, n’a pas encore atteint la
sagesse humaine en dépit des entrainements des machines.
Sagesse
Par sagesse, il faut comprendre des connaissances accompagnées de discernement.
La sagesse est un état empreint de discernement et de jugement de bon sens. Elle englobe donnée,
information et connaissance. L’émergence de conscience est ici manifeste.
Jusque-là, la sagesse est du ressort de l’homme.

3
Dr APPOH, INP HB, 07 07 930589
NB : Certaines de nos machines logicielles et matérielles sont au stade de connaissances (systèmes
experts, ontologies formelles). L’humanoïde est une machine qui pourrait entamer des étapes ou des
amorces de sagesses rudimentaires.
Infostructure : mot valise à partir des mots information et infrastructure pour traduire le fait que
l’infrastructure du système d’information prime sur l’architecture logicielle ou/et matérielle. Le
système d’information (SI) existe toujours. Ce qui n’est pas le cas du système d’information
informatisé (SII).
L’entreprise est prise comme système de référence pour cet enseignement.

2-Définition de l’entreprise
Une entreprise est un système. Elle se distingue des autres systèmes à travers une définition plus
spécifique. Il en va de même des autres systèmes dans l’optique de les discriminer distinctivement
des uns des autres.
On entend par entreprise, une entité socio économique et juridique regrouppant des moyens humains,
financiers et matériels en vue de la création de biens et de services (richesse partagée).
Par entreprise, on entend, toute entité économique, quelle que soit sa forme juridique, permettant de
rassembler et d’organiser de façon cohérente des ressources autour d’un objet social défini, sous une
direction commune, et sous le contrôle des principaux apporteurs de ressources.
La structure d’une entreprise est la résultante d’un grand nombre de facteurs dont la nature et le
volume des activités, la personnalité des membres, la stratégie retenue, les usages, ainsi que
l’environnement juridique et institutionnel.
Tout système est révélable ou cernable à travers sa description ou dénommable dans une langue
donnée.
3-Rôles de l’information en entreprise
Trois rôles principaux sont assignés à l’information véhiculée et utilisée au sein d’une entreprise :
Outil de communication interne, outil de communication externe, facteur de cohésion.
Comme outil de communication interne, l’information nous permet de répondre aux nécessités de
gestion (définition des objectifs, des activités et leur répartition) et aux obligations légales
(convention collective, droit et devoir des parties composantes de l’entreprise, type de langage à
tenir, respect mutuel).
Grâce à l’information, en tant qu’outil de communication externe, il est possible également de
répondre aux nécessités de gestion (définition des objectifs, des activités et leur répartition entre
partenaires) et aux obligations légales (convention et règlémentation avec l’état et les partenaires).
L’information joue un rôle de facteur de cohésion sociale. A ce titre, par l’information, nous
disposons de capacité de savoir faire et de management dans une communauté sociétale.
L’information est également managée, afin de permettre à tout le monde d’être intéressé et de
participer à l’atteinte de l’objectif commun (Tirer vers le haut et non vers le bas avec des critiques
constructives du fait de la participation active motivée, soutenue et à volonté, intégration des
individus, tendances véhiculées, éthique et moralité sociétales). Une bonne gestion de l’information
par l’information permet de disposer d’un environnement paisible et propice aux activités, aux
affaires, à la sécurité des biens et des personnes (aller et venir).
4-Système d’information
4.1-Définition
Un système d’information est l’ensemble de toutes les informations, quelles qu’en soient l’origine et
la forme, qui circulent au sein de l’entreprise et les moyens mis en œuvre pour les gérer.
4.2-Finalités
On note trois finalités des systèmes d’informations

4
Dr APPOH, INP HB, 07 07 930589
- aider à la prise de décision de qualité ;
- coordonner l’ensemble des activités pour plus de synergie d’actions ;
- contrôler l’évolution du système.
4.3 -Rôles
On note quatre rôles assignés au système d’information quel qu’en soit son état (manuel,
ou semi-mécanisé (semi-manuel), informatisé ou automatisé. Ce sont :
- recueillir ;
- traiter et exploiter ;
- mémorise ;
- diffuser.
4.4-Quelques typologies des systèmes d’information :
-SI selon le degré de formalisation des moyens
- SI formel ;
- SI informel.
- SI selon le niveau de décision
- S.I de planification stratégique ;
- S.I de planification tactique ;
- S.I de planification opérationnelle .
- SI selon le nombre d’utilisateurs
- S.I personnel ou utilisateur ;
- S.I collectif ;
- S.I interentreprises.
-Si selon le degré d’informatisation ou d’automatisation des tâches
- S.I manuel ;
- S.I mécanisé (semi-mécanisé) ;
- S.I automatisé .
Trois grandes époques sont très significatives dans la révolution liée au développement socio-
économique mondial.
-Révolution agricole ;
- Révolution industrielle avec la découverte de l’énergie de transformation et de production ;
- Révolution des technologies de l’information et de la communication marquée par trois grandes
tendances :
o informatique à architecture centralisée (1945-1980)
o informatique à architecture distribuée (1980-1995
o informatique à architecture répartie depuis l’Internet (NTIC devenues TIC).
NB : Le système d’information préexiste à tout système d’information informatisé. Il existe
concomitamment à tout système d’information informatisé. Il continue d’exister à l’état
d’obsolescence ou de disparition du même système d’information informatisé.
II-Système d’informatique
1-Définition de l’informatique
L’informatique est la science du traitement automatique et rationnel de l’information au moyen de
l’ordinateur.
2-Définition de système informatique
Par système informatique, il comprendre un ensemble de ressources informatiques constitutives du
matériel (hardware) et du logiciel (software).

5
Dr APPOH, INP HB, 07 07 930589
3-Aperçu du matériel

Unité centrale
Processeur MC
UC :Unité de commande RAM : Mémoire de
(contrôle) travail
BUS
ROM : Mémoire non
UAL : volatile
Unité arithmétique et
logique

Interface E/S

Sorties : écran, imprimante Entrées : souris, clavier E/S : disque dur, disquette, Pen drive

Figure a : Structure d’un ordinateur

Les technologies VLSI1 (Very Large Scale Integrator) et ULSI2 (Ultra Large Scale Integrator) sont
les supports pour la miniaturisation du matériel informatique et électronique. Elles constituent un
rempart dans l’approche de construction du matériel.
D’un point de vue logiciel, on a la vision centrée utilisateur accouplée celle de la modularisation, de
la factorisation des programmes de sorte à en faciliter la commutation de contexte, le système
d’appel (appelant/appelé) transactionnel tant pour les SE et que pour les SGBD, ou tout autre logiciel
d’une certaine complexité.
Autres éléments de l’unité centrale : Carte mère, carte son, carte vidéo, carte tv, carte réseau,
Boite d’alimentation, horloge
Le moniteur est en train de devenir inéluctablement un accessoire d’entrée sortie.
4-Cohabitation et agencement des composantes matérielle et logicielle.

Jeux applications MR= UC + Périphériques


ME ou MA ou MV = MR + SE
Progiciels
MU = ME + applications utilisateur
SGBD
Logiciel Langages de Le se (os) dès son installation sur un ordinateur
(software) programmation (machine) devient une MV (MA ou ME)
Système MR: machine réelle
d’exploitation (SE ME: machine étendue, MV : machine virtuelle
ou OS) MA : machine abstraite
BIOS/UEFI MU: machine utilisable
Matériel Unité centrale et
(hardware) périphériques

Figure b : Aperçu de la cohabitation fonctionnelle des composantes du système informatique


Remarque relevant de la figure b

1
VLSI : very large scale integrator
2
ULSI : Ultra large scale integrator

6
Dr APPOH, INP HB, 07 07 930589
Le sigle BIOS est Basic Input Output System; UEFI signifie Unified Extensible Firmware
Interface. L’UEFI est très récente en remplacement du BIOS. Cette interface est justifiée par
les limites de gestion par le BIOS, des capacités (volumes ou tailles) de la mémoire de
travail (RAM) et de disque dur sans cesse croissantes. Par exemple pour les disques durs, on
a leur taille plus grande comptant dans l’ordre de plus du TO (PO, EO, ...), avec des
technologies nouvelles de disque dur.
Le SE a trois rôles fondamentaux :
- machine abstraite (interface HM) pour masquer les aspects fastidieux de la machine
(ordinateur), offrir un environnement convivial et attractif de travail. C'est-à-dire il
décharge l’utilisateur des programmes complexes de l’ordinateur.
- gestionnaire des ressources matérielles et logicielles : il assiste le microprocesseur
dans l’accomplissement de sa tâche.
- socle du développement et de l’utilisation des logiciels.
Le deuxième rôle du SE est plus englobant et plus prédominant.
On a l’évolution de l’architecture du système informatique marquée par trois grandes
époques successives : centralisée, distribuée (terminaux en communication avec un élément
central serveur), répartie (du client / serveur à l’architecture n-tiers).
Depuis le système client-serveur (autour des années 1990), trois types de réseaux en fusion
de laquelle résulte le réseau multimédia (Internet) avec des LS (lignes spécialisées
d’autoroutes de l’information. Ces trois types de réseau en nette fusion sont :
-réseau informatique ;
-télécommunication ;
-télédiffusion (câblo-opérateur ou réseau audiovisuel).
Internet avec sa pile de protocoles (TCP/IP : Transmission Control Protocol/Internet
Protocol) en est le point de convergence de ces trois réseaux classiques. Cette pile de
protocoles TCP/IP en est l’élément révolutionnaire principal. C’est donc par l’IP, que l’on a
établi la transmission sur le même signal (canal), des données texte, image, voix et vidéo. Il
est apparu le concept de multimédia et de NTIC devenues TIC.
En 2022, on a actuellement une parfaite intégration du système satellitaire (5G) non
totalement encore déployée, un autre point de cette révolution technologique de la société de
l’information. Avec la 5G, on devra s’attendre à une dimension nouvelle de l’extension en
nombre de services Internet.

7
Dr APPOH, INP HB, 07 07 930589
INTRODUCTION AUX BASE DE DONNEES ET SYSTEME DE GESTION
DES BASES DE DONNEES (SGBD)
D’une économie industrielle où prévalaient les matières premières et les ressources physiques, on
passe à une économie informationnelle. L’information, fondement de toute décision doit désormais
être traitée comme une ressource à part entière, c'est-à-dire gérée, contrôlée et organisée.
Depuis plus d’une trentaine d’années, un secteur quaternaire est quasiment né : celui des travailleurs
de l’information avec un rôle transversal pour tous les secteurs d’activités et qui s’inscrit dans une
dynamique double:
- l’accroissement de la complexité technique et organisationnel d’une part et d’autre part la fusion
entre le monde informatique et le monde manageriel.
- la réduction historique du temps décisionnel, depuis le rythme des saisons, les périodes lunaires,
les heures de clochers, les secondes de l’électronique jusqu’aux nanosecondes de l’informatique
transistorisée, par la maîtrise des systèmes de gestion des bases de données (SGBD) voire des
entrepôts de données (DataWarehouse), machine Learning et du big data ces dernières années.
Les bases de données (BD) ou data bases (DB), aujourd’hui, ont pris une place essentielle dans les
systèmes informatiques et plus singulièrement en gestion. Elles représentent le creuset des efforts
conjoints issus des Systèmes d’exploitation (SE), de l’intelligence artificielle, des systèmes repartis,
du multimédia, etc.
Elles sont actuellement au cœur du système d’information des entreprises. Elles sont pilotées par les
SGBD (e.g : Microsoft Access, Oracle, DB2, MySql, ...).
Les SGBD initialement disponibles sur les mainframes peuvent maintenant être installés sur tous les
types d’ordinateurs (PC, MAC, ...).
Avant l’arrivée des bases de données, on utilisait des données organisées en fichiers fortement
dépendant des traitements avec un manque de flexibilité.

I- LIMITES A L’UTILISATION DES FICHIERS (Système de gestion de fichier :


SGF )
Dans les systèmes de traitements de données classiques, chaque application (fonction de traitement
de l’entreprise), gère son propre ensemble de données utiles, ses propres fichiers. C’est l’approche
utilisant directement un SGF. Dans toute entreprise modélisée avec une telle approche, il y a autant
de couples (application, données propres/fichiers) que d’utilisations différentes de données.
L’utilisation des fichiers impose à l’utilisateur de connaître l’organisation séquentielle, indexée, des
fichiers qu’il utilise afin de pouvoir accéder aux informations dont il a besoin puis d’écrire des
programmes pour pouvoir effectivement manipuler ces informations.
Pour de nouvelles applications, l’utilisateur devra écrire un nouveau programme. Et ainsi, il est
souvent emmené à créer de nouveaux fichiers qui contiennent des informations déjà présentes dans
d’autres fichiers.
Il en résulte les conséquences suivantes :
-risque élévé de floraison de fichiers (de données) et de programmes disparates, redondants,
difficilement compatibles et maintenables ;
-application rigide (couplage fort), contraignante, longue et coûteuse, difficile à mettre en œuvre ;
-données mal définies, peu fiables, peu accessibles de manière ponctuelle ;
-manque de corrélation et d’intégration ;
-danger d’incohérence al et d’intégrité des données ;
-difficultés pour la mise en œuvre des traitements ad hoc (non prévus à priori) ;
-toute modification de la structure des données nécessite ou implique la réécriture du programme
donc données et traitements sont intrinsequement ou intimement liés. (Couplage fort entre
données et traitements) ;

8
Dr APPOH, INP HB, 07 07 930589
-de déperdition (perte) de stockage, car une même donnée pouvant appartenir à plusieurs
applications.

Comptabilité Affectation Réservation

Données Données Données

Figue 1 : Approche logique basée sur le SGF

Les données existantes ne peuvent donc pas être exploitées efficacement. Une analyse croisée de
manière dynamique et automatique relève d’un long parcours sans forcément permettre d’obtenir
instantanément les bonnes informations en raison de leurs mises à jour isolées et non partagées.

II-APPROCHE BASE DE DONNEES


L’approche base de données basée sur l’algèbre ensembliste crée de la confiance dans l’utilisation de
l’outil informatique pour la gestion en entreprise.
1-Description
On a recherché des solutions prenant en compte les besoins (souhaits, exigences) des utilisateurs et
les progrès technologiques.
A ce titre, l’approche BD correspond à une triple évolution :
-l’évolution des entreprises (volume important des données, distribuées, centralisées ou reparties
qui doivent être accessible en temps utile)
-l’évolution technologique (accroissement des performances du microprocesseur, intégration des
composants, diminutions des coûts, miniaturisation due à VLSI, ULSI).
-l’évolution des systèmes d’exploitation et des architectures du système informatique.
On note l’extension du logiciel et du matériel initial. Les SE réalisent une machine virtuelle très
puissante qui définit un environnement pour des langages de haut niveau, une architecture réseaux
client-serveur devenue pratiquement des architectures n-tiers et la virtualisation. Il s’agit de
combiner de façon transparente des machines et des applications hétérogènes. Dit autrement, il s’agit
de la cohabitation et de l’interopération des ressources reparties et hétérogènes du point de vue
matériel et logiciel.
Dans l’approche BD, un réservoir commun de données est constitué. Il représente une modélisation
aussi fidèle que possible de tout le réel organisationnel qu’est l’entreprise.
L’idée principale de l’approche BD réside dans l’intégration de toutes les informations de
l’entreprise dans un réservoir unique où les applications viendraient y puiser les données les
concernant. Ici, les traitements ad hoc sont envisageables. Il n’y a pas de duplication de données sauf
cas particulier d’implantation distante relevant d’une question et politique de sécurité.
Il n’y a plus de déperdition (perte) de stockage, ni de floraison de données, source d’incohérence.

9
Dr APPOH, INP HB, 07 07 930589
Comptabilité Affectation Réservation

Base de Données

Figue 2 : Approche de Base de données

2-Avantages de l’approche BD
L’approche base de données a quatre principaux avantages. Ce sont :
- intégration et corrélation (cohérence des données, autrement dit correspondance entre données
stockées et données réelles, centralisation des contrôles associés) ;
- flexibilité et indépendance (logique et physique) ;
- disponibilité et partageabilité (temps de réponse court, utilisation simultanée transparente aux
utilisateurs, accessibilité) ;
- sécurité et fiabilité accrues (protéger l’unique réservoir (BD) contre tout accès invalide et illégal,
mise en œuvre de l’intégrité, l’authentification, la confidentialité, la non répudiation, la tolérance
de pannes) ;
NB : Ici, on note un couplage faible entre base de données et traitements applicatifs inhérents à cette
base de données contrairement à l’approche ancienne de système de fichiers.
3- Concepts de base relatifs au SGBD
-Lien entre SGBD et BD
Un SGBD (DBMS) est l’outil qui permet de piloter les bases de données au plan des contenants
structurels que des contenus (données à proprement dit). Il permet à un utilisateur de communiquer
avec une BD pour :
-décrire, spécifier et organiser les données sur les mémoires secondaires (définir et modifier au
niveau structurel) ;
-Manipuler les données (au niveau des contenus, rechercher, calculer, sélectionner, modifier, …).
Pour exemple : Notons qu’à l’instar de ce qu’est le Shell pour les systèmes d’exploitation (Microsoft
Windows, Unix solaris, Linux, MacOs, ..), nous avons le langage de requête SQL (Structured Query
Language) pour tout SGBD pilotant une ou des BD. Plus qu’un langage d’interrogation, le SQL
permet d’interagir autant sur les données que les structures de ces données (contenant de ces
données).

SQL
Structures (contenants) : Données (contenus) :
LDD : langage de définition des données LMD langage de manipulation des données
create insert
alter update
drop delete
describe (ou desc) Select ... from ...where
Show schemas

Tableau 1 : Quelques exemples de clauses (ou ordres) du SQL

10
Dr APPOH, INP HB, 07 07 930589
Aperçu de l’usage de desc et de select dans MySQL (MariaDB) en modes console et
graphique

Mode console Mode graphique : Application web


Decsription des champs colonnes

Affichages des lignes

Figure 3 : Apeçu 1 des ordres sql desc et select (Mysql) en mode shell (console) et
graphique

11
Dr APPOH, INP HB, 07 07 930589
Un aperçu rapide du modèle entité-association (entité-relation)

Modèle conceptuel de données (forme hierarchique)

Modèle logique de données (MLD) graphique

==> disparition de la l’association (ou relation) situer.

Le schéma est aussi utilisé pour présenté le modèle logique de données MLD. C’est le
MLD algébrique présenté comme suit :

Ville (Vill_code, vill_nom, Pays_code) ;


Pays (Pays_code, Pays_nom, Pays_code) ;

Figure 4 : MCD et MLD

Au niveau logique, Ville et Pays sont dits des relations. Suite à la transformation du MLD en
MPD (base de données sur disque dur), Pays et Ville sont dits des tables.

Une requête multitables en mode graphique

SELECT Ville.Vil_nom, pays.Pays_nom FROM Pays, ville


where Ville.Pays_code=Pays.Pays_code

12
Dr APPOH, INP HB, 07 07 930589
Figure 5 : requête multitables en mode graphique

En mode console

Figure 6 : requête multitables (Pays et ville) en mode console

Un SGBD donne la possibilité à l’utilisateur de manipuler les représentations abstraites des données
indépendamment de leurs organisations et de leurs implantations sur des supports physiques.
Un SGBD peut être considéré comme un interpréteur de langage de programmation de haut
niveau qui, dans le cas idéal, permet à l’utilisateur de décrire précisément ce qu’il veut
obtenir et comment l’obtenir.
-Définition de Base de données (Data base)
Il suit ici cinq définitions toutes équivalentes du concept de base de données (BD).

De façon formelle, une BD est une collection de données centralisée ou non, organisée de façon
cohérente, servant pour les besoins d’un ou de plusieurs utilisateurs.
Une BD un ensemble de données organisé de manière cohérente modélisant les objets d’une partie
du monde réel et devant servir de support à des applications informatiques.
Elle sous entend un type de données modélisant une partie du système d’information de l’entreprise.

13
Dr APPOH, INP HB, 07 07 930589
C’est aussi un ensemble de données structuré, organisé de même manière cohérente et interrogeable.
On appelle aussi base de données, l’ensemble de données informatiques associées à un schéma de
données et physiquement stockées en mémoire.
Remarque
Une demarche de conception de base de données doit conduire à la definition de données
permanentes nécessaires aux besoins d’un ensemble d’utilisateurs. Cette base de données est relative
à un domaine d’activités, de gestion et de contrôle auquel, elle doit contribuer ou même parfois
qu’elle doit permettre d’automatiser. Un tel domaine, dit domaine d’application de gestion, pourrait
être (ou désigner) une bibliothéque, un service du personnel, le département marketing d’une
entreprise, la prodution de l’énergie, un Système d’information géographique (SIG), le traitement des
infractions du code de la route, gestion des concours et examens, …
Fondement et appui mathématiques des BD : notion de classe
Une base de données, de par sa construction, fait appel ou prend ses racines dans l’algèbre des
ensembles (algèbre ensembliste des mathématiques). Il s’appuie sur la notion algébrique de classe
d’équivalence.
En outre, l’entendement fait du concept de classe se rapporte à celui de classe d’équivalence en
mathématique précisément en algèbre ensembliste.
Trois définitions de classes toutes équivalentes sont données dans ce qui suit.
-Une classe sous-tend un ensemble d’individus partageant des propriétés communes.
-Une classe est un ensemble d'êtres ou d'objets réunis en raison des traits qui leur sont communs
(https://www.cnrtl.fr).
-Par classe ou entité type, il faut comprendre un ensemble d’objets en relation du fait de partager des
propriétés communes.
Un petit tour d’horizon en mathématiques consolide et corrobore ces déclarations. Communément,
en algèbre ensembliste, on note Ā, la classe de A. Etant donné un domaine de discours E (page 12),
alors, il convient de noter la définition de Ā comme suit :
Ā = { X ϵ E / A R X } <==> X̅ = Ā. Dès lors, X et A appartiennent à la même classe, X̅ qui est aussi
Ā.
Cette définition mathématique prise pour un des supports pour les bases de données consistant en des
regroupements des constantes, des individus, des occurrences, des étants, des manifestations ou
encore des instances selon qu’ils partagent un lien verbal déterminant. Ce lien est l’observation à la
fois de propriétés (signalétiques) et de comportements communs par des individus.
Ce qui consacre d’ailleurs leur description classificatoire infinie sur la base de liens verbaux dont
celui arrêté souhaité dans une objectivation. Du coup le silence laissé peut-être plus tard revue et
revalorisé.
A R X traduit que A est en relation avec X selon un lien verbal exprimant minimalement qu’il existe
un ensemble de caractéristiques ou de propriétés que partagent bien A et X.
R est réflexive, symétrique et transitive <==> R est une relation d’équivalence (trivial).

Ā est une classe d’équivalence. Ā est une classe tout court.


Exemple de cas de Z/nZ
Pour Z/3Z, on a 4 ; 1 ; 16 et 37 sont de la même classe. Chacun de ces quatre nombres divisé par 3
donne le même reste qui est 1.

Cette notion de classe reste valable pour les types d’entités (ou entités types) des bases de données
des SGBD.

14
Dr APPOH, INP HB, 07 07 930589
Tout ce qui existe, a un nom. Il convient alors de noter l’existence d’une classe universelle. Elle
comprend tout existant.
Dans une classe d’étudiants tous ceux qui ont une grosse tête constitue une classe. Et une telle
classification pour quelle fin, quel intérêt ?
Les admis à un concours forment une liste constitutive d’une classe (type d’entités). Ils partagent la
propriété "être admis".
Un ensemble d’individus décrit par les nom, prénom, titre et contact constituent une classe.
Des personnes possédant un vélo pour aller au champ constitue une classe.
-Définitions de SGBD (DBMS : Data base management system)
Quant aux SGBD, il peut être vu comme un ensemble de logiciels qui prend en charge la
structuration, le stockage, la mise à jour et la maintenance des données.
Il constitue en fait une interface entre la base de données et les utilisateurs et programmes
d’application. Les programmes d’applications sont dits simplement des applications.
Une base de données est unique. Les applications qui l’utilisent sont multiples en raison des
traitements en nombre infinis possible sur une base de données.
En fait, le SGBD peut être aussi perçu comme un ensemble de logiciels systèmes permettant aux
utilisateurs d’insérer, de modifier et de rechercher des données spécifiques dans une grande masse
d’informations.
En résumé, un SGBD être vu comme un outil informatique permettant la sauvegarde,
l’interrogation, la mise en forme des données structurées sur les mémoires secondaires.
Ils se distinguent des SGF par le fait qu’ils permettent la description des données (définition de type,
des formats, de caractéristiques et parfois des opérations de manière séparée de leurs utilisations.
Le SGBD est le logiciel/matériel qui permet de gérer, manipuler et contrôler une BD.
Par gestion d’une BD, on entend création et maintenance de données (schémas, répertoires),
optimisation des performances (prises de statistiques, définition de chemins d’accès rapides,
évaluation de temps de réponses aux questions), maintien de la cohérence des données en cas
d’erreur ou de panne (tolérance de panne) ou de malveillance.
Le SGBD offre une interface utilisateur « non procédurale » qu’on peut illustrer par l’image
suivante : Supposons qu’un individu X arrive dans l’aéroport d’une ville inconnue et souhaite se
rendre à une adresse Y. X choisit de prendre un taxi. Il va donner l’adresse Y au chauffeur et laisser
à ce dernier le soin de trouver le meilleur chemin pour se rendre à la destination désirée dans les
meilleurs délais. Les SGBDR sont de ce type de SGBD.
Exemple de SGBD : DB2, MICROSOFT ACCESS, MICROSOFT SQL Server ORACLE (Leader
dans le domaine des SGBD, Forms builder pour les IHM), Progress, Sybase, Hyperfile de Windev
(dont le langage WLangguage pour la construction des IHM ou interfaces).
Un SGBD est vu comme un ensemble de logiciels qui va permettre de structurer, définir, manipuler
les données de la BD.
Notons que les moteurs des SGBD évoluent dans deux directions complémentaires induites par de
nouvelles niches applicatives des bases de données (besoins des entreprises):
- l’évolutivité (scalabilité) des serveurs avec une croissante en puissance attendue (vitesse en temps
de calcul).
- l’extensibilité des types par les utilisateurs (traduisant de nouveaux besoins).
Cette évolutivité va de pair avec celle :
-du stockage bientôt dans l’ordre de Exa octet (EO) ; (YO > ZO > EO > PO> TO > GO > MO),
-du client de plus en plus léger (téléphone mobile internet, Personnel Digital Assistant (PDA),
Smartphone…).

15
Dr APPOH, INP HB, 07 07 930589
REMARQUE
-Banque de données
Une base de données sous entend un type de données « factuelles » ou « primaires » alors qu’une
banque de données, un type de données « référentielles » ou « secondaires ». L’information n’est pas
directement obtenue après requête comme c’est le cas avec une base de données, mais des références
à cette information nous sont dérivées.
Elle peut inclure ou intégrer des bases de données.
Ex : Moteur de recherche (Google), recherche documentaire.
Les systèmes documentaires ont pour fonction première d’offrir comme information une indirection
sur un texte (dans un livre, un article…) contenant le résultat recherché, alors qu’un SGBD (BD)
fournit directement ce résultat.
Posée à une banque de données de savoir l’état de santé du président des USA Wilson de - - 1914 à
1918 ? Cette date est donnée à la page 52 du livre contemporain Histoire contemporaine des USA
édition 1980.
A une base de données cette réponse serait directe en donnant l’état « fou ».
- Entrepôt de données (Datawarehouse)
Entrepôt de données ou système d’information décisionnel. Il est alimenté en général par des bases
de données dites bases de production. On a la possibilité de produire des données statistiques et
d’élaborer une historisation des données. Il s’agit d’un système ayant pour support des bases de
données (bases de production) pour générer ou dériver d’autres données ou informations à titre
décisionnel (statistique).

-Données ouvertes (open data)


Big Data : Le terme Big Data décrit des ensembles de volumes massifs de données à la fois
structurées et semi-structurées (plusieurs réponses d’approximations sont données en conclusion en
tendance vers la vérité ce qui est du réel perçu). Algorithmique, avec des degrés de complexité
linéaire, polynomiale, exponentielle, on appréciera cette justesse des données.
Science de données (qualitative, quantitative) : analyse des données suivie de l'extraction de
connaissances sur des ensembles de données. Elle emploie des techniques et des théories
multidisciplinaires (ou interdisciplinaires).

-Domaine de discours
C’est la zone plus ou moins délimitée et circonscrite pour la réalisation d’une étude ou d’un projet
(e.g : modernisation de l’état civile par l’informatisation des actes, gestions des plans de vols propres
à un aéroport, gestion d’une scolarité, gestion d’une bibliothèque, gestion des lignes budgétaires,
gestion des ressources humaines, gestions des ventes et caisses).
On y compte des acteurs à mêmes d’être le siège des flux d’informations, des échanges tout
simplement.
Un flux interne concerne deux acteurs internes. Un flux externe concerne un acteur interne et un
acteur externe.
Ce qui se fait entre deux acteurs externes est ignoré par l’étude certes, mais potentiellement est
susceptible de prospectives et de perspectives potentielles.
Le domaine de discours est également appelé univers de discours.

Voir ReprésentationBD2.pdf (vue synoptique du parcours).

En état d’éccéité (héccéité) des systèmes, nous appelons ces systèmes des entités, et mieux, des
individus. Le fait d’exister d’un individu ou l’existence de tout individu, marque son unicité qu’on se
doit de transposer dans nos modèles et schémas conceptuels comme opérationnels.

16
Dr APPOH, INP HB, 07 07 930589
L’identifiant (clé en devenir) joue alors un rôle important à cet effet, sans toutefois atteindre cette
réalité naturelle (réel perçu), mais qu’on se contentera de simuler.

III- ORGANISATION EN COUCHES ET OBJECTIFS D’UN SGBD


1- ORGANISATION EN COUCHES
Au sens l’ANSI/X3/SPARC-DBTG3, Un SGBD se compose en une approximation de trois (3)
couches emboitées de fonctions depuis les mémoires secondaires vers les utilisateurs. Ce sont :
-le gestionnaire de fichiers ;
-le SGBD interne ;
-et le SGBD externe.
1.1- Gestionnaire de fichiers
La gestion des récipients de données sur les mémoires secondaires constitue traditionnellement la
première ouche. Ce gestionnaire de fichiers est encore appelé système de fichier. Celui-ci fournit aux
couches supérieures des mémoires secondaires idéales, adressables par objet et capables de
rechercher des données via des critères reposant sur des prédicats, des clauses et des qualifications.
NB : Un fichier est un ensemble d’informations (de données) de même nature.

1.2- SGBD interne


La gestion des données stockées dans les fichiers, l’assemblage de ces données en objets, le
placement de ces objets dans les fichiers, la gestion des liens entre objets et les structures permettant
d’accélérer les accès aux objets constituent la deuxième couche (SGBD interne ou système d’accès
aux données). Celui-ci repose généralement sur un modèle de données constitué par des objets reliés
par des pointeurs.
1.3- SGBD externe
La fonction essentielle de cette troisième couche consiste à la mise en forme et à la
présentation des données aux programmes d’application et aux utilisateurs interactifs. Ceux-
ci expriment leurs critères de recherche à l’aide du langage basé sur les procédures de
recherches progressives ou sur des assertions logiques, en référençant des données dérivées
de la base. C’est ce SGBD externe qui va assurer la transformation des données extraites de
la BD échangée avec le monde extérieur.

P.A
terminaux
P.A

SGBD externe
SGBD interne
Gestionnaire de fichiers
M.S

Notice :
P.A : Programme d’application
M.S : Mémoire secondaire

Figure 3 : Structure d’un SGBD en couches

3
ANSI: American National Standard Institute
SPARC : Scalable Processor ARChitecture (Processeur à architecture adaptable et évolutif).
DBTG : Database Task Group, X3 est une division de DBTG .

17
Dr APPOH, INP HB, 07 07 930589
Remarque
Ces couches de fonctions constituent sans nul doute environ la moitié du code d’un SGBD.
En effet, au-delà des fonctions de recherche, de rangement et de présentation, un SGBD gère
des problèmes difficiles de partage, d’accès concurrents (verrouillage et exclusion mutuelle)
et de cohérence des données. Il protège aussi les données contre les accès non autorisées.
Ces fonctions qui peuvent paraîtres secondaires ou annexes sont souvent plus difficiles à
réaliser et nécessitent beaucoup de code.
Pour être complet notons qu’au dessus des SGBD, de plus en plus, aujourd’hui, des ateliers
de génie logiciel permettent de modéliser des ensembles de données en BD et de représenter
les traitements associés à l’aide d’interfaces graphiques et de langage de spécification. Ces
outils d’aide à la conception bien que non intégrés forcément dans le SGBD permettent de
spécifier les descriptions des données.
La puissance de PC et la mémoire à bon marché, l’approche orienté objet favorisent les
SGBD à intégrer des objets beaucoup plus complexes répondant au besoin de nouvelles
applications de types multimédia, web, environnement, télécommunication, audiovisuel, etc.
2- OBJECTIFS D’UN SGBD
Le principal objectif d’un SGBD est d’assurer l’indépendance des programmes aux données,
c’est-à-dire la possibilité de modifier des schémas conceptuels et internes des données sans
modifier les programmes d’application. Lors des modifications des structures logiques et
physiques plus précisément, on distingue l’indépendance physique qui permet de changer les
schémas internes sans changer les programmes et vis versa et l’indépendance logique qui
permet de changer le modèle conceptuel sans modifier les programmes.
Les SGBD conduisent à mettre en commun les données d’une entreprise, ou du moins d’une
application dans une base de données décrite par un dictionnaire de données. Cela ne va sans
poser des problèmes d’efficacité notamment les accès simultanés aux données souvent
situées sur le même disque. La base peut ainsi devenir un goulot d’étranglement.
L’environnement multi usager de gérer les mises à jour concurrentes de sorte à garantir la
cohérence des données. Notamment des données redondantes contrôlées doivent rester
égales.
2.1 Classification des objectifs
Les objectifs d’un SGBD peuvent être classés en deux groupes dont le deuxième pouvant se
déduire du premier.
Le premier comprend les objectifs suivants :
- Indépendance physique des programmes et données ;
- Indépendance logique des programmes aux données ;
- Manipulation des données par des langages non procéduraux (non informaticiens) ;
- Administration facilitée des données.
Le second groupe porte sur des objectifs additionnels à savoir :
- Efficacité des accès aux données ;
- Partageabilité des données ;
- Cohérence des données ;
- Redondance contrôlée des données ;
- Sécurité des données.

18
Dr APPOH, INP HB, 07 07 930589
Quelques précisions sur certains objectifs
-non-redondance des données : saisir et mettre à jour plusieurs fois les mêmes données pour
éviter des MAJ non coordonnées mais contrôlées.
-cohérence des données : vérification des contraintes d’intégrité et de la cohérence de la
base ; les contraintes doivent être exprimées et gérées dans la base et non dans les
applications.
-gestion de la concurrence d’accès aux données : plusieurs personnes ou applications doivent
pouvoir accéder à la base de données en même temps. (Transaction ACID en vue de la
gestion des susceptibilités de conflits d’accès, système de verrouillage d’accès aux données
partagées en surtout modification multi-utilisateur).
-sécurité des données : protection des données contre les accès non autorisés ou mal
intentionné ; il doit exister des mécanismes permettant d’autoriser, contrôler et enlever des
droits d’accès à des utilisateurs ; Il faut tolérer les pannes (système de tolérance des fautes et
des pannes) : capacité à faire passer la base de données d’un état cohérent à un autre état
cohérent même s’il survenait une panne (électrique). Le système doit permettre un temps de
reprise des données et de continuité de service le temps d’une panne.
2.2 Description des neufs (9) objectifs
De manière plus détaillée les neuf objectifs d’un SGBD sont décrits.
2.2.1-Indépendance physique
Il s’agit de l’indépendance des programmes et des données (MCD, MLD, MPD) vis-à-vis
des divers supports de stockage.
Les données élémentaires ou atomiques sont assemblées pour décrire les objets et les
associations entre objets perceptibles dans le monde réel. Bien qu’en général, deux groupes
de travail assemblent différemment ces données, il est possible au sein d’une entreprise bien
organisée de définir une structure canonique des données (modèle conceptuel). C'est-à-dire
un partitionnement en ensembles et sous ensembles ayant des propriétés bien définies et
cohérentes avec les vues particulières. Cet assemblage peut être considéré comme
l’intégration de ces vues. Il obéit à des règles qui traduisent l’essentiel des propriétés des
données du monde réel. Cet assemblage correspond à un schéma conceptuel d’une BD.
Cet objectif va permettre de réaliser l’indépendance des structures de stockage aux structures
de données du monde réel ; c'est-à-dire les schémas interne et conceptuel.
Bien que ces deux schémas décrivent les mêmes données à des niveaux différents, il s’agit
donc de pouvoir modifier le schéma interne sans avoir à modifier le schéma conceptuel en
tenant compte seulement des critères de performance et de flexibilité d’accès.
On pourra par exemple ajouter un index, regrouper deux fichiers en un, changer l’ordre ou le
codage des données sans mettre en cause les entités et associations définies au niveau
conceptuel.
2.2.2-Indépendance logique
D’une manière générale, un ensemble de données peut être vu comme une intégration de
plusieurs centres d’intérêts. Ainsi, il est vu de manière distincte par différents groupes
d’utilisateurs ; toutes ces visions spécifiques des données doivent être intégrées dans une
vision globale. Le schéma conceptuel modélisant les objets et association entre objets du
monde réel résulte d’une synthèse de vues particulières de chaque groupe de travail utilisant
la BD, c’est-à-dire une intégration de schémas externes. En conséquence, chaque groupe de
travail réalisant une application, doit pouvoir assembler différemment les données pour les

19
Dr APPOH, INP HB, 07 07 930589
former les entités et associations de son schéma externe, ou plus simplement des tables qu’il
souhaite visualiser. Ainsi chacun doit pouvoir se concentrer sur les éléments constituant son
centre d’intérêt, c’est-à-dire que chacun doit pouvoir ne reconnaître qu’une partie des
données et ne voir que cette partie.
Il est donc souhaitable de permettre une certaine indépendance des données vues par les
applications à la structure canonique des données de l’entreprise décrite dans le schéma
conceptuel. L’indépendance logique est donc la possibilité de modifier un schéma externe
sans modifier le schéma conceptuel. Cette indépendance est aussi assurée entre les différents
utilisateurs (eux mêmes), chacun percevant une partie de la BD via son schéma externe
selon une structuration voire un modèle particulier.
L’indépendance logique donne les avantages suivants :
- Permettre à chaque groupe de travail de voir les données comme il le souhaite
- Permettre l’évolution de la vue de chaque groupe de travail et de la vue de canonique de
l’ensemble sans remettre en question au moins dans une certaine mesure le schéma
conceptuel de l’ensemble.
- Permettre l’évolution d’un schéma externe sans remettre en cause les autres schémas
externes.
En somme, il doit être possible d’ajouter des attributs, d’en supprimer d’autres ou de
supprimer des entités dans des schémas externes mais aussi dans le schémas conceptuel
(dans une certaine mesure) sans modifier la plus grande partie des applications, d’ajouter et
de supprimer des ensembles d’associations.
2.2.3-Manipulation des données par des non-informaticiens
Les utilisateurs des données, parfois non professionnel de l’informatique doivent pouvoir
manipuler facilement les données, c’est-à-dire les interroger, les mettre à jour sans préciser
les algorithmes d’accès. Plus précisément, si les deux premiers objectifs sont atteints, les
utilisateurs voient les données indépendamment de leur implantation en machine. De ce fait,
ils doivent pouvoir manipuler les données au moyen de langages non procéduraux (en
décrivant les données qu’ils souhaitent retrouver et mettent à jour).
Les langages non procéduraux (SQL) sont basés sur des assertions de logique de premier
ordre. Ils permettent de définir les objets désirés aux moyens de relations entre les objets et
les propriétés de ces objets.
Deux sortes d’utilisateurs manipulent la BD : les utilisateurs interactifs et les programmeurs.
Les utilisateurs interactifs peuvent interroger, mettre à jour la BD. Ils sont parfois non
informaticiens et réclament les langages de commande semi-formels jusqu’aux langages
graphiques en passant par les interrogations par menus ou par formes.
Les programmeurs écrivent des programmes en utilisant des langages de 3e génération ou
dits évolués (C, Ada, Cobol, Fortran, etc.), des langages plus récents, orientés objet (Java,
C++) et des langages de 4e génération (Microsoft Visual Basic, Forte for java, Netbean,
Eclipse, Jcreator, Jbuilder, PL/SQL). Ces derniers regroupent des instructions de
programmation structurées, des expressions arithmétiques et logiques des commandes
d’accès à la BD et des commandes d’édition et d’entrées de messages (menu déroulant,
fenêtres, rapports imprimés, etc. Ils sont de plus en plus orientés objet (pour mieux simuler
la réalité).
Dans tous les cas, il est important que le SGBD fournisse ou intègre des commandes
nécessaires de manipulation de données par une intégration harmonieuse de langages de
programmation pour des fins de traitements d’objet souhaités.

20
Dr APPOH, INP HB, 07 07 930589
2.2.4-Administration facilitée des données
Un SGBD doit fournir des outils pour décrire les données, à la fois au niveau des structures
de stockage et de leur représentation externe. Il doit permettre aussi le suivi de l’adéquation
de ces structures au besoin des applications et autoriser leur évolution aisée ou en douceur.
Les fonctions qui permettent de définir les données et de modifier leurs définitions sont
appelés outils d’administrations des données.
Afin de permettre un contrôle efficace des données, de résoudre les conflits entre divers
points de vue pas toujours cohérents, de pouvoir optimiser les accès aux données, et
l’utilisation des moyens informatiques, on a pensé à centraliser ces fonctions entre les mains
d’un petit groupe de personnel hautement qualifié appelé administrateur de BD. En fait, une
telle centralisation a souvent conduit à des difficultés d’organisation.
L’évolution des SGBD modernes tend alors à fournir des outils permettant de décentraliser
la description des données tout en assurant une cohérence entre les diverses descriptions
partielles. Ainsi, pour aider les concepteurs de BD, un dictionnaire de données dynamique
(méta base) est souhaité. Cette évolution rapide va dans le sens du développement d’outils
(orientés objet et web) intégrés capables de faciliter l’administration des données et
d’assurer la cohérence des descriptions. (Exemple d’outil d’administration du SGBD oracle :
Toad 8).
2.2.5-Efficacité de l’accès aux données
Ces langages (ceux dont on a parlé) doivent permettre d’obtenir des réponses aux
interrogations dans un temps raisonnable. Ils doivent donc être optimisés et aussi avoir un
mécanisme permettant de minimiser le nombre ‘accès disques’. Tout ceci est fait de façon
transparente par (pour) l’utilisateur. Les performances en termes de débit (nombre de
transactions par secondes) et de temps de réponse (temps d’attente moyen pour une requête
type) sont des problèmes clairs des SGBD. L’objectif de débit élevé nécessite un overhead
minimal (répartition générale des tâches) de la gestion des tâches accomplies par le
système. L’objectif de bon temps de réponse implique qu’une requête courte d’un utilisateur
n’attend pas une requête longue d’un autre utilisateur (mais sans abus de traitements courts
ou longs).
Il faut donc partager les ressources (UC, unités d’entrée/sortie) entre les utilisateurs en
optimisant l’utilisation globale et en évitant les pertes de commutation de contexte. Le
goulot d’étranglement essentiel dans un SGBD reste les entrées/sorties(E/S) disques.
Une E/S coûte en effet quelques dizaines de millisecondes. Afin de les éviter ou les
minimiser, on utilisera une gestion de tampon en mémoire centrale dans de véritables
mémoires caches de disque afin qu’un grand nombre d’accès aux données se fasse en
mémoire.
Un autre facteur d’accès limitatif est relatif (ou dû) à l’utilisation des langages non
procéduraux (puissants mais …) afin d’interroger et mettre à jour la BD.
En résumé, un SGBD devra chercher à optimiser une fonction de coût de la forme suivante :
C (Q) = a x UC (Q) + b x E/S (Q) ;
Q étant un ensemble typique de requêtes, E/S (Q) est le nombre d’entrées/sorties, UC (Q) est le
temps UC dépensé. a et b sont les facteurs convertissant respectivement temps UC(Q) et E/S (Q) en
coût.
2.2.6-Redondance contrôlée des données
Dans les systèmes classiques à fichiers non intégrés, chaque application possède ses données
propres. Ceci conduit généralement à de nombreuses duplications de données avec, outre la

21
Dr APPOH, INP HB, 07 07 930589
perte en mémoire secondaire associée, un gâchis important en moyens humains pour saisir et
maintenir à jour plusieurs fois les mêmes données.
Avec une approche BD, les fichiers plus ou moins redondants sont intégrés en un seul
fichier partagé par les applications. Ce qui conduit naturellement à la non duplication
physique des données afin d’éviter les mises à jour multiples.
Avec l’avènement des BD surtout réparties sur plusieurs calculateurs interconnectés (agents,
sites, machines), il est apparu plus souhaitable de faire gérer la base de données par le
système des copies multiples de données (dans une certaine mesure une copie à des nœuds
du réseau réduit la durée d’accès à une page web dynamique par exemple (1ère fois lancée,
arrêt, et 2ème accès plus rapide, DNS, BDR).
Cela optimise les performances en interrogations en évitant les transferts sur le réseau et en
permettant le parallélisme d’accès.
On considère aujourd’hui que la redondance gérée par le SGBD au niveau physique n’est
donc pas forcément mauvaise. Il faudra par contre éviter la redondance anarchique, non
connue du système, qui conduirait les programmes utilisateurs à devoir mettre à jour
plusieurs fois une même donnée. Il s’agit donc de bien contrôler la redondance qui permet
d’optimiser les performances, en la gérant de manière invisible (transparente) pour les
utilisateurs. (RAID5 technologie permet la redondance physique des données pour des
questions de sécurité)
2.2.7-Cohérence des données
Bien que les redondances anarchiques de données soient évitées par l’objectif précédent, les
données vues par l’utilisateur ne sont pas indépendantes. Au niveau des ensembles de
données, il peut exister une certaine dépendance entre données, par exemple une donnée
représentant le nombre de commandes d’un client doit correspondre au nombre de
commandes de (dans) la base. Plus simplement une donnée élémentaire doit respecter un
format et ne peut prendre une valeur quelconque.
Exemple : Un salaire mensuel devant être compris entre 5000 f et 12000 f.
Un SGBD doit donc veiller à ce que les applications respectent ces règles lors des
modifications de données et doit ainsi assurer leur cohérence. Ces règles et bien d’autres
(CIF) doivent implicitement et explicitement suivre les données au cours de leur évolution
sont appelées des contraintes d’intégrité.

En plus, et la base de données et le SGBD doivent demeurer dans des états cohérents suite à
chaque transaction (modification des contenues données et de leur structures, les tables).

2.2.8-Partage des données ou partageabilité des données


L’objectif est de partager les données de la BD dans le temps et également simultanément.
Une application doit pouvoir accéder aux données comme si elle était seule à les utiliser
sans attendre et aussi sans savoir qu’une autre application peut les modifier concurremment.
En pratique, un utilisateur exécute des programmes généralement courts qui consultent et
mettent à jour la BD. De tels programmes interactifs appelés transactions correspondent par
exemple à l’entrée d’un produit en stock ou à une réservation d’une place dans un avion. Il
est important que deux transactions concurrentes (2 réservations sur le même avion) ne
s’emmêlent pas dans leur accès à la BD autrement dit qu’on ne puisse pas réserver le même
siège pour deux passagers.
On cherche donc à assurer que le résultat d’une exécution simultanée de transactions reste le
même que celui d’une exécution séquentielle dans un ordre quelconque de ces transactions.

22
Dr APPOH, INP HB, 07 07 930589
(Exclusion mutuelle dans les sections critiques, verrouillage/déverrouillage, mutex,
sémaphore, moniteur comme en système d’exploitation et même l’utilisation de message).
2.2.9-Sécurité des données
Cet objectif a deux aspects.
Tout d’abord, les données doivent être protégées contre les accès non autorisés ou mal
intentionnés. Il doit exister des mécanismes donc adéquats pour autoriser, contrôler ou
enlever les droits d’accès pouvant dépendre de la valeur des données ou des accès
précédemment effectuées par les usagers. Par exemple, un employé pourra connaître les
salaires des employés qu’il dirige mais pas celui de ses supérieurs.
D’un autre côté, la sécurité des données doit aussi être assurée en cas de panne d’un
programme ou du système, voire de la machine. Un « bon » SGBD doit être capable de
restaurer les données cohérentes après une panne disque, à partir des sauvegardes par
exemple via au recours à la technologie RAID5 (Redundant Array of Inexpensive Disks). A
ce niveau, il est aujourd’hui possible, de prévoir des sauvegardes sur sites distants
(sauvegarde à distance).
Une bonne gestion des transactions est celle devant pouvoir faire passer une BD d’un état
cohérent à un autre état cohérent. Aussi, si une transaction commence (mise à jour d’un
transfert depuis un compte bancaire sur un autre) et est interrompue par une panne pendant
cette mise à jour (même après avoir débité votre compte), le SGBD doit assurer l’intégrité de
la base (la somme d’argent gérée doit rester constante) et par la suite défaire la transaction
qui a échoué (rollback sous oracle).
Une transaction doit être totalement exécutée ou pas du tout. C’est la propriété d’atomicité
de la transaction prise dans un ensemble de propriétés ACID (Atomicité, Cohérence (tout
ou rien), Isolation, Durabilité).
En assurant l’atomicité des transactions, on contribue à garantir l’intégrité physique de la
BD.
Cette sécurité intègre de plus en plus des systèmes cryptographiques et de chiffrement afin
de parvenir à la confidentialité, à l’intégrité des données d’une part et d’autre part à
l’authentification de l’utilisateur et à la non-répudiation. Il est même fait usage d’éléments
plus élaborés de sécurité notamment les signatures et certifications numériques.
[Cryptologie est l’ensemble des techniques afférentes à la cryptographie plus celles
afférentes à la cryptanalyse ; Cryptographie symétrique et Cryptographie asymétrique ; PKI
ou ICP].

IV- MODELISATION DES DONNEES


Il s’agit de la description, de la spécification et de l’organisation des données sur les
mémoires secondaires en produisant des modèles et des schémas. La modélisation se solde
par l’obtention de modèle, une abstraction de la réalité.
Une base de données peut être pour certains, une collection de fichiers collés par des
pointeurs multiples, aussi cohérents entre eux que possible, organisés de manière à répondre
efficacement à une grande variété de questions.
Pour d’autres, une base de données peut paraître comme une collection d’informations
modélisant une entreprise du monde réel.

23
Dr APPOH, INP HB, 07 07 930589
Ainsi un SGBD peut donc paraître, à la fois comme un ensemble de logiciel système
permettant de stocker et d’interroger un ensemble de fichiers interdépendants et également
de gérer les données d’une entreprise.
Une idée centrale des bases de données est la séparation de la description des données
effectuées par les administrateurs, de la manipulation les données effectuées par les
programmes d’applications ou les user.
La description permet de spécifier les structures et les types de données l’application alors
que la manipulation consiste à effectuer des interrogations et des mises à jour.
1- Niveaux d’abstraction
1.1- Concepts de base pour l’abstraction (Type, instance, modèle et schéma)
La description de données consiste à définir les propriétés d’ensembles de données (bloc,
regroupement, paquet, groupement) modélisés dans la base de données et non pas d’objets
particuliers (occurrences).
Les objets particuliers sont définis par les programmes d’application (manipulation des
données) et ils doivent réunifier (encapsuler) les propriétés des ensembles auxquels ils
appartiennent.
Il convient de noter que le recueil d’informations nécessite de circonscrire le problème,
d’identifier les acteurs et utiliser quelques procédés de recherche (observation, entretien,
écoute, interview, revue documentaire, internet, bibliothèque ….). Déjà un traitement ou
prétraitement a lieu pour constituer la liste des informations pour le MCD, s’entendre sur la
sémantique des termes conceptuels relatifs au domaine étudié, avant de voir même les
intérêts spécifiques des utilisateurs devant constituer un second groupe de traitements (celui
souvent modélisé).
Deux notions essentielles se dégagent par la définition des objets : type et instance.
-Type d’objet : il permet de spécifier les propriétés communes à un ensemble d’objets en
termes de structure de données visibles et d’opérations d’accès. Le type d’objets est un
ensemble des objets possédant des caractéristiques similaires ou partageant des propriétés
communes et manipulables par des opérations identiques.
-Instance d’objet ou instanciation ou occurrence : elle correspond à un objet particulier
identifiable parmi les objets d’un type (aussi appelée individu ou population).
La description d’un ensemble de données particulières correspondant par exemple à une
application donne naissance à un schéma de données.
On distingue généralement le schéma source spécifié par les administrateurs de données et le
schéma objet résultant de la compilation du précédent par une machine. Le schéma objet est
directement utilisable (intelligible) par le SGBD afin de retrouver, de vérifier les propriétés
des instances d’objets (qui seront) manipulées par les programmes d’application.
Modèle : un modèle est une abstraction de la réalité. Il comprend les éléments pertinents de
cette réalité décrits ou à décrire.
Schéma : C’est la description au moyen d’un langage déterminé, d’un ensemble de données
particulières.
On retient que pour une base de données particulière, il existe un seul schéma interne et un
seul schéma conceptuel. En revanche, il existe plusieurs schémas externes.

24
Dr APPOH, INP HB, 07 07 930589
Schéma conceptuel (Modèle conceptuel) : c’est la description des représentations
annonçant la machine (ordinateur), correspondant à une vue canonique globale d’une
entreprise ou d’une partie de l’entreprise en termes de type d’objets à associer.
Modèle de données : Il doit être perçu comme un ensemble de structures et de données avec
un ensemble d’opérations définies dessus et des mécanismes de contrôles associés
correspondant respectivement aux termes Définition, Manipulation, Contrôle.

Schéma de données : C’est l’abstraction résultant de l’application d’un modèle de données à


une entreprise.
Modèle de données
Entreprise Schéma de données

Figure 4 : Schéma et modèle de données

NB : Modèle de description des données (data description model) : c’est l’ensemble des
concepts et de règles permettant de décrire les données y compris le formalisme ou
simplement leur représentation.
Le langage de description des données (data description language), c’est le langage
supportant un modèle et permettant de décrire les données d’une base d’une manière
assimilable par une machine.
Remarque
a- Le schéma est considéré comme un modèle plus opérationnel, pragmatique. Le schéma
peut être dérivé du modèle.
b-Approche descendante ou ascendante de définition d’un schéma conceptuel
Le modèle conceptuel de données permet le passage d’un concret inaccessible (l’univers
réel) à un abstrait manipulable : schéma conceptuel.
➢ Approche descendante de la conception d’un schéma conceptuel selon l’architecture
de l’ANSI/X3/ SPARC
Cette approche consiste à :
-établir le schéma conceptuel comme corrélation aussi fidèle que possible à l’entreprise ;
-puis à dériver les schémas externes orientés utilisation et les schémas internes orientés
performance d’implantation machine.
➢ Approche ascendante de la conception d’un schéma conceptuel selon Chen
Cette approche consiste à :
-définir d’abord les schémas externes pour coller au mieux les besoins utilisateurs, puis on
dérive successivement les schémas conceptuels et internes. Les problèmes inhérents à cette
pratique sont :
-difficulté de la définition d’un consensus entre les schémas externes ;
-absence de perception formelle et cohérente de l’entreprise prise dans sa globalité etc.
Au vu de la complexité du système à décrire et des difficultés de l’approche ascendante, on
est amené à retenir l’approche descendante qui est beaucoup plus naturelle dans son
appréhension du réel. En effet la conception d’une base de données (SGBD) devra suivre les
quatre étapes suivantes :

25
Dr APPOH, INP HB, 07 07 930589
-expression de la sémantique de la représentation du monde réel (niveau d’abstraction
conduisant à la définition du schéma conceptuel) par des données et les liens entre ces
données ;
-traduction du schéma conceptuel dan un modèle de données existant (hiérarchique, en
réseau, relationnel, objet..) ;
-expression de l’utilisation (définition des vues, des accès logique et chemins…) ;
-expression de l’implantation en machine (choix des méthodes d’accès, des chemins
d’accès..) permettant d’assurer de bonnes performances d’exploitation). P37ab

c- Caractéristiques d’un bon modèle (ou schéma conceptuel)


(voir en polycope bonModèleconceptuel.pdf).
Un modèle est une abstraction de la réalité. Une bonne représentation à travers ce modèle
recherche l’équilibre entre la densité d’informations et la lisibilité en vue d’apporter une
solution idoine à une problématique donnée. Il doit offrir les caractéristiques suivantes :
puissance de représentation du réel, stabilité et flexibilité (ou évolutivité), simplicité
(conception et utilisation) et base formelle.

-Puissance de représentation : il doit non seulement représenter les aspects structurels


de l’entreprise modélisée mais aussi les aspects sémantiques et opératoires (tant au niveau de
la description que de la manipulation des données) et notamment intégrer toutes les
contraintes entre données existant dans l’univers réel (réprésenter aussi fidèle que possible la
réalité, le perçu réel).

-Stabilité et flexibilité : Il doit être stable car devant apporter une solution durable à une
problématique donnée. L’ajout d’une nouvelle donnée ou d’une nouvelle règle sémantique
ne doit pas entraîner une modification sensible du schéma. Seul un changement de
l’univers réel doit entraîner une mutation du modèle (schéma) et ceci sans effet de bord :
réorganisation d’autres entités que celles concernées par le changement. Les fondamentaux
demeurent donc. Le meilleur modèle est flexible et évolutif, car ses fondamentaux
contiennent les éléments de son changement et de son adaptation au contexte dynamique
sans disparaître totalement. Dans toute modélisation, il convient de veiller à atteindre un
niveau (d’abstraction) d’invariabilité suffisant de sorte à garantir la stabilité au modèle
- Simplicité :
Cette propriété revêt deux aspects: la facilité de compréhension (entre pair de même
domaine) et celle d’utilisation.
- facilité de compréhension est relative à la conception du modèle. L’agrégation des
données constituant le schéma doit être partagé par les pairs du même domaine. Toute
symétrie existant dans l’univers doit apparaître.
-facilité d’utilisation porte sur le nombre réduit de primitives de manipulations
pouvant être masquées. Ces primitives doivent être puissantes pour pouvoir exprimer
des requêtes même complexes.
-Base formelle : la définition du schéma conceptuel ou modèle conceptuel doit s’appuyer
sur une base rigoureuse, mathématique si possible, pour éviter toute ambiguïté
d’interprétation et permettre une vérification formelle (complétude). Plus le modèle est
formel, plus le schéma conceptuel correspondant sera fiable, stable, durable et viable.
1.2) Trois (3) niveaux d’abstraction : conceptuel, interne, externe

26
Dr APPOH, INP HB, 07 07 930589
a-Niveau conceptuel
Il est le niveau central. C’est le dépositaire de la sémantique de la base des données. Ce
niveau représente l’abstraction aussi fidèle que possible de l’univers modélisé (univers du
discours). Il correspond à la structure canonique des données qui existent dans l’entreprise.
C'est-à-dire, leur structure sémantique inhérente sans soucis d’implantation en machine et
représentant la vue intégrée de tous les traitements (de tous les utilisateurs des applications).
Il sert de référence globale aux vues particulières des schémas externes.
La définition du schéma conceptuel d’une application n’est pas un travail évident, cela
nécessite un accord sur les concepts de base qui modélise les données.
Le schéma conceptuel permet donc de définir :
- les types élémentaires qui définissent les propriétés élémentaires de l’information dans
l’entreprise ;
- les types de données composés qui permettent de regrouper les propriétés afin de décrire
les objets du monde réel ou les relations entre ces objets ;
- les types de données composés qui permettent de regrouper les propriétés (attributs) afin
de décrire les associations du monde réel.
- Eventuellement les règles que devront observer les données au cours de leur vie dans
l’entreprise, ce sont les règles de gestion.
Le schéma conceptuel est défini en dehors de tout contexte informatique. Le schéma logique
global est la traduction du schéma conceptuel par un modèle existant (hiérarchique, en
réseau, relationnel, objet ….). (Schémas logique interne + logique externe). P45.
b- Niveau externe
Chaque groupe de travail utilisant des données possède une description des données perçues
appelée schéma externe. Cette description est effectuée selon la manière dont le groupe voit
la base via ce programme d’application. Ce niveau logique comprend les vues spécifiques
définies pour la manipulation des données. Les besoins en données des utilisateurs sont ainsi
exprimés à ce niveau à travers plusieurs schémas externes.
Autrement dit, une vue externe représente, d’une manière aussi fidèle que possible un type
d’utilisation de la BD. C’est à ce niveau qu’agit l’utilisateur. Ses actions peuvent être de
plusieurs types; un programme posant des requêtes ad hoc ou non et un autre posant des
requêtes paramétrées ou non.
Alors qu’au niveau conceptuel et interne les schémas décrivent une BD, au niveau externe, ils
décrivent simplement la partie des données ayant simplement un intérêt pour un utilisateur ou
un groupe d’utilisateurs.
En conséquence, un schéma externe est aussi qualifié de vue externe. Le modèle externe
utilisé est dépendant du modèle du langage de manipulation de la BD utilisé. Notons que la
notion de schéma externe permet d’assurer une certaine sécurité des données décrites dans
son schéma externe. Les autres données sont ainsi protégées des accès non autorisés, et
surtout des utilisateurs mal intentionnés.
Certaines vues peuvent ne pas être construites mais déduites par calcul (ce niveau externe ci
est abstrait ; production de statistiques).

NB : Le schéma externe, c’est la description d’une partie de la BD extraite ou calculée à


partir de la BD physique correspondant à la vision du programme d’application ou d’un
utilisateur, donc à un rangement particulier de certaines données.

27
Dr APPOH, INP HB, 07 07 930589
L’ensemble des données est une vue intégrée de l’ensemble des traitements.(vue
intégratrice)
c-Niveau interne
Il correspond à la structure de stockage supportant les données. La définition du schéma
interne nécessite au préalable le choix d’un SGBD (Oracle, Microsoft Access, Progress,
Sybase, DB2, Informix, Mysql, Microsoft SQLServer …). Elle permet de décrire les
données telles quelles sont stockées dans la machine :
- les fichiers qui les contiennent (nom ou identificateur, organisation, localisation)
- les articles de ces fichiers (langage, champ composant,…)
- les chemins d’accès à ces articles (table, index, chainage,…) (téléchargement inachevé
d’un fichier d’une séquence vidéo donnera l’image mais pas l’entièreté des du film vidéo)
Ce niveau correspond à la représentation en machine aussi efficace que possible du schéma
conceptuel. (L’efficacité doit tenir compte d’une part des contraignantes d’implantation et
d’autre part des critères d’utilisation)

NB : Schéma interne, c’est la description des données d’une BD en terme de représentation


physique en machine correspondant à une spécification des structures de mémorisation et
des méthodes de stockage et d’accès pour utiliser, ranger et retrouver ces données sur
disque.

1.3-Synthèse des trois niveaux de schéma


Chacun de ces niveaux est caractérisé par un schéma, un modèle et un langage de définition
et manipulation des données permettant de définir les données de ce schéma, de les décrire
et de les manipuler.
Les fonctions ou rôles relatifs aux niveaux d’abstraction, peuvent être accomplis par la
même personne ou par des personnes différentes. Un rôle essentiel est celui d’administrateur
d’entreprise qui inclut la définition des informations que contient la BD au niveau
sémantique par exemple s’appuyant sur des diagrammes entité-associations.

La plupart des SGBD modernes supportent seulement un schéma interne et plusieurs


schémas externes. Le schéma conceptuel est défini en utilisant un outil d’aide à la
conception (AGL) s’appuyant généralement sur des interfaces graphiques et permettant
d’élaborer des diagrammes de type entités-associations.
Quoiqu’il en soit, les différents schémas et procédures pour passer de l’un à l’autre, sont
stockés dans le dictionnaire de données. Celui-ci peut être divisé en deux dictionnaires à
savoir :
- le dictionnaire de l’entreprise qui contient le schéma conceptuel, les procédures et
commentaires s’appuyant sur ce schéma.
- le dictionnaire des bases qui contient les schémas externes et internes ainsi que les
procédures de passage de l’un à l’autre. (catalogue data dictionary)
Tout dictionnaire contient en général des descriptions en langage naturel permettant de
préciser la signification des données.
Un dictionnaire de données peut contenir des informations non strictement BD tels que les
masques ou maquettes de données, d’écran ou de programmes. Les informations sont
souvent en format source ou en format compilé. Tout ceci peut être spécifié dans un
dictionnaire appelé métabase (base de données organisée sous forme de BD qui décrit
toutes les autres bases).

28
Dr APPOH, INP HB, 07 07 930589
Schéma Schéma Schéma
Externe 1 Externe 2 Externe n

Schéma Conceptuel

Schéma Interne

BD

Figure 5 : Trois niveaux de schéma

Figure 6 : Hiérarchie des modèles ANSI/X3/SPARC

29
Dr APPOH, INP HB, 07 07 930589
Tout le processus de conception et mise en place d’une BD.

Plusieurs cas d’implémentation SII sont possibles pour un seul cas de SIO.
PIM/PSM (Platform independent model / Platform specific model).

2) Modèle entité/association : concepts et formalisme


Le modèle E/A est basé sur une perception du monde réel qui consiste à distinguer des
agrégations de données élémentaires appelées entités et des liaisons ou liens entre ces entités
appelées associations. Association et entités sont catégorisées en types.
-Entité : Une entité correspond à un objet du monde réel généralement définie par un nom
(Voiture, Etudiant, …) C’est un regroupement de données élémentaires ou atomiques
(propriétés ou caractéristiques spécifiques).
-Type d’entité : Un type d’entité définit un ensemble d’entités constitué par des données du
même type. Les types de données agrégés sont appelés les attributs de l’entité. Ils définissent
les propriétés. En somme, un type d’entité est un modèle d’objets identifiés du monde réel
dont le type est défini par un nom et une liste de propriétés.
-Agrégation : C’est l’abstraction qui consiste à grouper des objets pour constituer des objets
composés d’une concaténation d’objets composants. Une entité agrégation est une
abstraction de données élémentaires.
-type d’association : Une association correspond à un lien logique entre deux entités ou
plus. Elle est souvent définie par des attributs ou propriétés. Elle est alors porteuse de
données. En résumé, une association est un lien logique entre entités dont le type est défini
par un verbe et une liste éventuelle de propriétés (dans ce cas cette association est porteuse
de données, dans le cas contraire elle est non porteuse de données).
-Attribut, Propriété ou caractéristique : Un attribut est une propriété d’une entité ou d’une
association constituée par un nom (identificateur) et de type élémentaire, atomique (qu’on ne
peut décomposer).

30
Dr APPOH, INP HB, 07 07 930589
Modèle E/A

Le modèle E/A qui se résume par entité, association, propriété (attribut) permet de modéliser
simplement des situations décrites en langages naturels. Un des mérites essentiels du modèle E/A est
de permettre une représentation graphique élégante des schémas d’une BD. C’est le formalisme.

Entité Association Propriété


rectangle
losange ellipse
Modèle E/A
Entité

Modèle de Chen

NB : Certes ces deux modèles sont bons à savoir mais celui de CODD E F. sera retenu dans
ce cours en raison de sa popularité d’utilisation actuelle soutenue par moult AGL (Atelier de
génie logiciel).

Notion d’entité et type d’entités

Exemple concret exercice :

Des étudiants doivent recevoir un lot de formations complémentaires. Une formation peut
être suivie par plusieurs étudiants. Un étudiant est tenu de suivre une et une seule formation.
Il est possible qu’une formation ne soit pas concerné par aucun auditeur étudiant.

suivre

Qu’adviendrait le modèle s’il est établi la règle de gestion libellée comme suit : Un étudiant
n’est pas obligé de suivre ce lot de formations complémentaires.

Fichier par l’exemple pdf

Les termes changeant selon le niveau de préoccupation conceptuel, logique et opérationnel

31
Dr APPOH, INP HB, 07 07 930589
Entité type ou Association type ou Occurrence,
Niveau conceptuel Propriété
type d’entité type d’association instance, valeur
Attribut ou
Niveau logique
Relation (quand (couple, triplet,
(modèle Relation Tuple
elle persiste) quadruplet, … n-
relationnel)
uplet)
Niveau physique
(modèle Colonne ou ligne ou
Table Table
opérationnel ou champ enregistrement
modèle opératoire)

-Dictionnaire de données

Il recense et décrit l’ensemble des propriétés qui seront utilisés par les outils de
modélisations pour élaborer le modèle ou schéma conceptuel des données (MCD ou SCD).
Il constitue aussi la liste des entités et leurs attributs en spécifiant le domaine de chacun ainsi
que leurs catégories :
- Données élémentaires (atomiques) ;
- Données d’informations réduites ou calculées ainsi que les règles de calcul ;
- Données calculées de type situation ou historiques (total, taxes, commande/mois) ;
- Les paramètres utilisés dans les cas particuliers.

Exemple de dictionnaire de données


Nom de la Signification

Document
donnée ou Type
mnémonique Règle de Contrainte
calcul d’intégrité

format calculé signalétique situation paramètre


type
(N,A,AN D)

Nom-client nom du client A x facture


Code-postal N x facture
Ville-client A x facture
---
T.V.A N 18,6% facture
Total HT N x somme

Pour le recueil des informations et de données, sont utilisés différents procédés de recherche avec une
implication des acteurs à l’échelle. Comme procédés de recherche d’information (acquisition des
données) pour une étude donnée, on a entre autres, l’observation, la revue documentaire, le web de
l’Internet, les interviews des acteurs, enquête et formulaire, sorties et visites de terrain.

Il y a lieu de comprendre les flux d’informations d’un acteur à un autre. Par acteur, il faut entendre un
agent humain ou machine susceptible de mener au moins une des trois (3) tâches notamment recevoir,
traiter et transmettre de l’information dans l’univers du discours circonscrit.
Le commanditaire peut être confronté à la formulation de ses propres besoins. Alors des techniques
d’élicitation peuvent lui être données par les maîtres d’œuvre ou de consultance.
Au terme de ce recueil, un ensemble de données et de règles de gestion sont assorties. Cet ensemble
est soumis aux parties prenantes averties (utilisateur potentiel et porteurs de la conscience du projet en

32
Dr APPOH, INP HB, 07 07 930589
rapport avec les but et objectifs) pour être validé avec un minimum de consensus. Cette activité
parachève l’admission de cette liste de données retenue pour le dictionnaire de données (DD) (hors
SGBD). Certains SGBD comme oracle, dispose nativement d’un DD qui sera enrichi par l’obtention
de la BD en construction.

Inter-compréhension et élicitation

Un terme arrêté et utilisé pour désigner un ensemble d’individus (population d’individus ou


d’instances) ou encore pour qualifier cet ensemble, doit être investi du sceau du consensus minimum
Ce qu’on aurait dénommé caillou dans le domaine de discours concerné, doit être investi de sens
commun et du du sceau d’un minimum de consensus.....

Bien entendu, ces individus...partagent les mêmes caractéristiques. Ils sont tout de même distincts
par leur identifiant en situation presque équivalente en leur état d’eccéité (ou héccéité).

L’élicitation consiste à utiliser des moyens de questionnement afin de relever ou ressortir les
problématiques, les objets informationnels tacites ou cachés involontairement chez les utilisateurs ou
experts, aussi potentiels bénéficiaires de l’outil informatique ( Base de données applicative) à
construire.
Dans le DD, il faut noter la possibilité d’y consigner peu de données calculées vu leur importance
pour en rassurer les commanditaires. En revanche en aucun cas, une donnée calculée ne doit figurer
dans le MCD.

Approche pour l’émergence de concepts du domaine de discours et deux obédiences de


la notion de concept

Des concepts fondent ceux à comprendre dans l’univers de discours. Nous les explorons
succinctement. Il s’agit des concepts d’intentionnalité et d’extensionalité, puis ceux
d’onomasiologie et de sémasiologie

Onomasiologie/sémasiologie <= => intentionnalité/extensionalité


Par concept, il faut entendre une idée, un contenu de pensée, une représentation abstraite. C’est un
signifié.

Deux obédiences notamment deux grands courant de représentation du concept de concept existent.
Il y a celle émanant de F Saussure (sémiologie) et l’autre de Peirce C Sanders (sémiotique).
Sémiotique et sémiologie croisent ou se fondent dans la linguistique (terme oral ou écrit).
Sémiotique et sémiologie signifient chacune l’étude, science ou théorie des signes dans toutes leurs
formes et dans toutes leurs manifestations. C’est l’étude pratique des systèmes signifiants.

Approche d’obédience de Saussure F Approche d’obédience de Peirce C S

signifié/concept Concept/signifié/interprétant

signifiant
signifiant
référent/objet
/representamen
Notre réflexion humaine est parsemée de sémiosis c’est-à-dire d’un continuum d’interprétants
successifs. Effectivement, une personne donnée, est disposée à une pensée permanente allant de
signe en signe (on parle de cognition permanente).

33
Dr APPOH, INP HB, 07 07 930589
Le schéma qui suit en donne une représentation.

Concept/signifié/Interprétant

signifiant
référent
/representamen
/objet
Concept/signifié/Interprétant

signifiant
/representamen référent
/objet

Le terme pour se saisir d’un concept est un mot ou un signifiant (terminologie en linguistique orale et
écrite).
Aucune communication n’est possible sans un minimum d’iconicité, de signe.
Pour tout être pensant à même de réfléchir, il est inné en lui, un graphe de concepts dans le cerveau,
imaginaire, tactile, ou visuel ou tangible.
Il en va de même dans n’importe quel domaine de discours, d’un graphe existentiel des systèmes
représentant des individus inter corrélés directement et indirectement.

Le silence s’invite dans nos modélisations pour ne se préoccuper des objets d’intérêt capital pour
atteindre les objectifs, l’objectif général.

Onomasiologie/ sémasiologie

Obtenir un terme pour désigner des individus ou un concept relève de l’onomasiologie. C’est un acte
d’intentionnalité.
On contraint ainsi des individus dans l’emboîtement canonique et catégoriel. On emboîte ainsi des
individus, des objets ayant une description similaire, dans des classes
Partir d’un terme ou disposant un terme, et chercher à lui donner une signification, un sens, c’est se
forger à lui affecter des occurrences, des individus. Ce processus procède de la sémasiologie. C’est
un acte d’extensionalité.

Definiendum/ definiens

Ce sont deux concepts se trouvant au plan de la description canonique.


Le definiendum est une agrégation d’autres definiendum (plus primitifs). Cette agrégation expressive
est le definiens

Si un terme (definiendum) est défini, son expression (axiomatique) utilisant d’autres termes est
appelée le definiens.

34
Dr APPOH, INP HB, 07 07 930589
Ce graphe décrit les liens orientés entre les propriétés de toutes les entités concernées par les
activités menées au sein ou en rapport avec le domaine de discours..
...

-Domaine d’un attribut :


Le domaine d’un attribut caractérise à la fois le type de données (caractère, chaîne de
caractère, entier naturel, réel, …) et l’ensemble des valeurs admissibles de celui-ci.
Autrement dit, un domaine constitue un ensemble de valeurs admissibles sur lequel un ou
plusieurs attributs du schéma prennent leurs valeurs effectives.

NB : Si deux attributs sont définis sur le même domaine, alors les comparaisons entre ces
deux attributs (via l’usage de UNION ou JOINTURE) ont un sens.
Si ce n’est pas le cas, ces comparaisons sont absurdes sémantiquement.
-Identifiant :
Un identifiant d’entité est une propriété particulière ou un ensemble de propriétés qui
identifie de manière unique (ou univoque) une instance ou une occurrence d’entité.
Un attribut associe à chaque entité une valeur appartenant à un domaine.
Un domaine est un ensemble de valeurs acceptables par l’attribut considéré.
Un identifiant devient clé au niveau logique. A ce niveau, cette clé désigne plus globalement
un groupe minimum d'attributs qui permet d'identifier de façon univoque un tuple dans une
relation.

Lorsque le nombre d’attributs est supérieur à 1 (un) surtout dans une association transformée
en relation, qui n’a donc pas disparu, alors une telle clé apparait au niveau logique pour une
association non hiérarchique. Cette clé est aussi une superclé (concaténation d’attributs).

En situation d’association binaire hiérarchique, l’association disparaît dès le niveau logique.


Dans ce cas, on a la présence de cardinalité maximale égale à 1 qui signifie alors qu’une des
deux entités est fille (fils) et l’autre mère (père). Pour l’exemple plus haut le pays est père et
la ville est fille.
La clé du père migre en copie vers le fils. Cette clé migrante est dans le fils, une clé
étrangère. Les deux identifiants demeurent des clés primaires.
-Occurrence ou instance
un objet concret d’un type d’entité ou d’association, un exemplaire ou un individu du monde
ou du domaine de discours.

-Cardinalité :
Elle est le nombre minimum et celui maximum de fois qu’une instance peut être intéressée
(concernée) dans une association. Elle s’exprime en couple d’entiers naturels (Cmin, Cmax).
Cmin <= Cmax.
3-Concepts dérivés
-Formes d’association et cardinalités

35
Dr APPOH, INP HB, 07 07 930589
Le type d’association caractérise le nombre de liens autorisés entre occurrences ou instances
d’entités. Il sert à distinguer les associations en fonction du nombre d’occurrences et de
classes d’entité qu’elles mettent en jeu. On distingue :
- Les associations binaires. Elle relient 2 entités.
- Les associations n-aires qui relient plus de 2 entités.
- Les associations ternaires qui relient de 3 entités.
Dans de telles associations, on a principalement les couples de cardinalités. On a
principalement trois types de cardinalités que sont (1;1) ou (0 ;1), (1;n) ou (0;n), (n;n).

NB : Il est recommandé de limiter le nombre de liens (ou de pattes) d’une association


idéalement à deux ou trois.
Soient E et F deux entités en association par A.

-Type (1;1) ou 1 à 1
Si à une occurrence d’entité E peut correspondre via l’association A au plus une occurrence
de l’entité F et que, réciproquement à une occurrence de E.

-Type (1;n) ou 1 à plusieurs


Si à une occurrence d’entité E peuvent correspondre via l’association A plusieurs
occurrences de F mais à une occurrence de F au plus une occurrence de E. On parle
d’association hiérarchique (dans le cadre d’association binaire).
Dans les autres cas, on parle d’association non hiérarchique, comme dans ce qui suit.

-Type (n;n) ou plusieurs à plusieurs


Si à une occurrence de l’entité E peuvent correspondre plusieurs occurrences de F et à une
occurrence de l’entité F peuvent correspondre plusieurs occurrences de E via l’association.
Dans la pratique quatre types de cardinalité sont possibles sur les liens ou pattes des
associations : (0;1), (1;1), (0;n), (1;n).
Pseudo formalisme :
La cardinalité se décompose en 2 objets:
• la cardinalité minimale (à 1) qui représente l’obligation, pour toute occurrence d’entité ei
de participer à l’association;
• la cardinalité maximale qui représente le volume (nombre de fois), pour toute
occurrence d’entité ei de participer à l’association.

Cmin, cmax
Entité E A
Cardinalité

Le tableau ci-dessous représente les différentes valeurs possibles de Cmin et Cmax et leurs
significations.
Valeurs de Signification
Cmin
0 Il peut exister dans l’entité E une occurrence ei qui ne participe pas à l’association
1 Toute occurrence ei de E participe obligatoirement à l’association A

36
Dr APPOH, INP HB, 07 07 930589
Valeurs de Signification
Cmax
Si une occurrence ei de E participe à l’association A elle ne peut y participer qu’une seule
1
fois
N Si une occurrence ei de E participe à l’association A elle peut y participer plusieurs fois

Le tableau ci-après représente la signification des 4 couples de valeurs possibles en retenant


comme critères:
• le caractère optionnel ou obligatoire de participation à l’association;
• l’unicité ou la multiplicité de participation à l’association.
Cmin
Optionnel Obligatoire
Unicité 0,1 1,1
Cmax
Multiplicité 0,n 1,n

Souvent la cardinalité minimale est difficile à définir en début d’analyse, il est possible de
mettre en lieu et place de 0 ou 1 le symbole -, en attendant de pouvoir se prononcer.
Remarque
Il est important de fixer les cardinalités avec une extrême rigueur car les valeurs à 1 de Cmin
ou de Cmax peuvent engendrer un système bloquant. En effet ces cardinalités seront
traduites dans la structure de la base de mémorisation des données en contraintes d’intégrité.
Le tableau ci-après fixe les règles de contraintes qui seront appliquées :

Cardinalité Valeur Caractéristique Contrainte d’intégrité


de l’association
Cmin 0 Optionnelle -
Une occurrence ei de E ne peut être créée qu’avec une
Cmin 1 Obligatoire occurrence ai de l’association A
Une occurrence ei de E ne peut participer à la création d’une
Cmax 1 Unicité occurrence ai de l’association A que si elle ne participe pas
déjà à une occurrence aj
Cmax n Multiplicité -

Exemple des couples avec cardinalité

Cardinalité Assertion pour l’exemple


0,1 Un homme est l’époux d’une femme (Pas de bigamie!)

HOMME FEMME
époux de

Cardinalité 0,1 / Représentation sagittale


37
Dr APPOH, INP HB, 07 07 930589
0, n 0,1
Homme épouser Femme

Cardinalité 0,1 / Représentation E-A

Cardinalité Assertion pour l’exemple


1,1 Un enfant a comme père
ENFANT HOMME
a comme père

Cardinalité 1,1 / Représentation sagittale ou diagramme sagittal

Cardinalité Assertion pour l’exemple


0,n Un homme a comme enfant
1,1 Un homme a comme personne père

Association réflexive
1,1

0,n

Modèle ER DE Codd F E.

Modèle UP/UML

1 1..n
38
Dr APPOH, INP HB, 07 07 930589
Dans le cadre de UP/UML, 1 peut se noter 0..1 ; 1..n peut se noter n.

Remarque : il y a inversement des cardinalités de mcd dans Merise pour le diagramme de


classes de UP/UML.

4-Règles de bonne construction


Pour la cohérence du modèle E/A certaines règles doivent être adoptées :
-Elimination des redondances, des polysémies (homonymies), des synonymies ;
-Chaque entité possède un identifiant ;
-Chaque propriété d’une occurrence d’entité ne possède qu’au plus une valeur
(monovaluée) ;
-Toutes les propriétés doivent être élémentaires (atomiques non décomposables) ;
- Toutes les propriétés autres que l’identifiant doivent dépendre pleinement de cet identifiant
-A chaque occurrence d’une association correspond une et une seule occurrence de chaque
entité participant à l’association ;
-Pour une occurrence d’une association, il ne doit exister au plus qu’une valeur pour chaque
propriété de cette association ;
- Chaque propriété d’une association doit dépendre pleinement de l’identifiant de cette
association ;
- Une cardinalité (0 ; 1) ou (1 ; 1) indique une contrainte d’intégrité fonctionnelle (CIF)
(dans le cadre ER).

NB : Des système multivalués existent et sont utilisés dans la limite de la maitrise


organisationnelle des données structurées et manipulées (MS Access 2019 ou 365). Par
exemple, l’assignation de plus d’un numéro de téléphone à une personne. Le SQL évolue en
conséquence.
NB : Une association est libellée en verbe d’action donc à l’infinitif.
Les concepts de types d’entités sont libellés au singulier d’un substantif.

39
Dr APPOH, INP HB, 07 07 930589
Base de données et dépendances fonctionnelles
1-Définition de schéma de base de données

● Un schéma de base de données est un ensemble de schémas de relations liés par des
dépendances référentielles : attributs communs ou plus généralement des dépendances
d'inclusion.
● Une base de données est alors un ensemble de relations (extensions) associé au schéma
de base de données et vérifiant ses contraintes d'intégrité.
Un schéma de relation R est défini par un ensemble d'attributs U et noté R(U).

Explicitement on a : nomRelation (attribut:domaine, attribut:domaine, ... ).

●Une relation r est une instance finie d'un schéma de relation, notée r:R(U).

Définition des contraintes d’intégrité


Tout schéma de base de données doit être conçu pour imposer le respect d'un maximum
de contraintes d'intégrité du réel perçu.

● Les contraintes d'intégrité sont des expressions logiques qui doivent être satisfaites à
tout instant par une instance de base de données.

● Plusieurs types de contraintes d’intégrité


✔ Contraintes sur les attributs : domaines, valeurs nulles, ... ;
✔ Contraintes sur les n-uplets : la valeur d'un attribut peut dépendre d'un ou plusieurs
autres attributs du même n-uplet (dates d'emprunt et de retour pour une
bibliothèque), ... ;
✔ Contraintes sur les relations : clés, cardinalités, ... ;
✔ Contraintes sur la base de données : clés étrangères, ... ;
✔ Contraintes temporelles : évolution chronologique (diplômes, état-civil), ...

CI : Sources techniques ou de sources des besoins : cahier de charges.

Contraintes d'intégrité : notion de clé

Une relation est un ensemble de n-uplets. Par définition, un ensemble n'a pas d'élément en double,
donc chaque n-uplet d'une relation est unique.
Pour identifier les n-uplets de façon unique sans en donner toutes les valeurs et respecter leur unicité
une clé est nécessaire.

Définition
● Groupe d'attributs minimum qui détermine un n-uplet de façon unique.
● Plus formellement :
X clé de R(U) avec X ⊆U ssi ∀ r : R(U), ∀ t1,t2 ∈ r, t1[X]=t2[X] →t1 = t2

40
Dr APPOH, INP HB, 07 07 930589
Propriétés

Toute relation possède au moins une clé dans l'ensemble de ses attributs.

Si une relation possède plusieurs clés candidates, on choisit une clé qui sera privilégiée : la clé
primaire. Aucun des attributs d'une clé primaire n'admet de valeur nulle (vide).

Conventions d'écriture mais non obligatoire pour les AGL (atelier de génie logiciel).
● On souligne la clé primaire.
● Les clés candidates sont soulignées en pointillés (souvent omis).

2-Définition de DF
● Principales contraintes d'intégrité formelles dans une BD.
● Une dépendance fonctionnelle (df ou DF) indique une implication vérifiée universellement entre
deux groupes d'attributs A et B : à une valeur pour A correspond toujours la même valeur de B.
● On la note A→ B (signifie que A détermine B). A est appelé "la source" et B, "le but ou la cible"
dans la df.

● Soit R(A, B, C). L'attribut B est dit fonctionnellement dépendant de l'attribut A si étant donné 2 n-
uplets <a1, b1, c1> et <a2, b2, c2> alors si a1 = a2 → b1=b2
● Ou encore, A détermine B si étant donné une valeur de A, il lui correspond une valeur unique de
B.

Remarques importantes

- Une DF est une assertion sur toutes les valeurs possibles (domaine des attributs) et non pas sur les
valeurs actuelles (extension courante de la relation).
Elle caractérise une intention et non pas une extension d'une relation : invariante au cours du temps.
- Les DF doivent être définies à partir d'un schéma de relation.

Par défaut, elles sont définies sur la relation universelle.

2a-Utilités des DF

● Vérification que les extensions r d'un schéma R sont conformes au réel perçu.
● Spécifier (modéliser) les contraintes que devront vérifier toutes les relations d'un schéma
relationnel.
● Outil de conception automatique d'un bon schéma relationnel : un AGL (WinDesign, PowerAmc)
ou autre.
Exemple
Soit une relation R exprimant l'emploi du temps d'un lycée construite sur les attributs suivants :
P (professeur), H (heure du cours), S (Salle), C (classe) et M (matière).
La signification d'un n-uplet de cette relation est :
Le professeur P enseigne la matière M à l'heure H dans la salle S à la classe C.
Donnez la liste des dépendances fonctionnelles.
Système de règle d'inférences définit par Armstrong en 1974 :
● Réflexivité : Y X alors (X → Y) (ex. A→A ; AB →A)
● Augmentation : X → Y alors (∀Z, XZ→ YZ ou XZ →Y)
● Transitivité : X → Y et Y → Z alors X →Z
Autres règles déduites des 3 premières qui précèdent. Ce sont Pseudo-transitivité, Union et
décomposition.

41
Dr APPOH, INP HB, 07 07 930589
Pseudo-transitivité : X →Y, WY →Z alors WX →Z
Démonstration
Augmentation à X →Y alors WX→ WY
Transitivité : WX →WY, WY →Z alors WX →Z

Union (ou composition) : X →Y, X →Z alors X →YZ


Démonstration
Augmentation à X →Y alors X → YX
Augmentation à X →Z alors XY →ZY
Transitivité : X →YX, XY →ZY alors X →ZY

Décomposition : X →Y et Z Y alors X →Z
Démonstration
Réflexivité à Z Y alors Y → Z
Transitivité : X → Y, Y →Z alors X →Z

Propriétés des DF :

2b-Définitions pour les dépendances fonctionnelles

Soient X, Y et Z des ensembles d'attributs non vides d'une relation R avec X →R Y.


Cette DF est alors dite :
Triviale : si et seulement si Y ⊆ X
Elémentaire ; si et seulement si ∀ Z tel que Z ⊂ X, on n'a pas Z →R Y
Canonique : si et seulement si Y n'a qu'un seul attribut
Directe : si et seulement si X →R Y est élémentaire autrement dit
∀ Z ∧ Z ≠ X ∧ Z ≠ Y on n'a pas X →R Z ∧ Z →R Y

2c-Clé candidate

Rappel : Toute relation a au moins une clé candidate. Soit une relation R.
si R ne contient qu'un seul attribut,
cet attribut a une valeur distincte pour chaque occurrence et forme alors
l'unique clé candidate de R.
si R contient plusieurs attributs
Soient X et Y deux ensembles non vides disjoints d'attributs de R tels que
X ∪ Y = R.
Si on a X →R Y avec X minimal, alors X est une clé candidate de R (il peut y en
avoir plusieurs).
Si aucun X ne peut être trouvé ainsi, toutes les occurrences de R sont distinctes et
l'unique clé candidate de R est formée de tous ses attributs.

Indication : Pour vérifier que X est minimal, il faut contrôler qu'il n'est pas possible
de prendre un attribut dans X pour le mettre dans Y tout en maintenant X →R Y.

3-Pourquoi normaliser ?

La normalisation est utile :

42
Dr APPOH, INP HB, 07 07 930589
o pour limiter les redondances de données ;
o pour limiter les pertes de données ;
o pour limiter les incohérences au sein des données ;
o pour améliorer les performances des traitements.

-Formes normales

-1FN : données élémentaires + dépendance fonctionnelle df.


Ici, un attribut atomique n’est pas sécable. Il est non plus composé (structuré en sous-
attributs), multivalué (liste de valeurs) ;
-2FN : 1FN + dfe (df élémentaire, aucune partie de la clé ne détermine un attribut non clé) :
-3FN : 2FN + dfed (élimination des cycles et transitivités) : Autre attribut non clé de la
relation ne doit pas déterminer un attribut de la même relation.
NB : La répétition des propriétés et la duplication doivent être évitées dans l’élaboration du
MCD ou SCD. En cas de non-respect de ces DF , les inconvénients sont l’incohérence de la
BD, la modification difficile, le risque élevé de faire des erreurs de saisie surtout si c’est la
même occurrence d’une propriété qui est répétée.
En cas de df entre attributs non-clés (identifiants) dans une entité, il faut extraire la ou les
propriétés de cette entité. Ces propriétés extraites feront l’objet d’une ou de nouvelles
nouvelle (s) entité (s). Puis l’associer à l’entité d’où elle est extraite, et ce de manière
hiérarchique.
Forme normale de Boyce Codd
La deuxième forme normale élimine les anomalies créées par des dépendances entre parties
de clé et attribut non clé.
La troisième forme normale élimine les anomalies créées par des dépendances entre les
attributs non clé (élimination de cycles et de transitivité).

Question : Quid des dépendances de parties de clés entre elles ou d’attributs non clé vers une
partie de clé ?
La troisième FN (3FN) est bien insuffisant.
Afin d’éliminer les redondances créées par des dépendances entre parties de clé et celles
éliminées par la 3FN, Boyce et Codd ont introduit la forme normale qui porte leur nom
BCNF.
Une ralation est en BCNF si et seulement si les seules dépendances fonctionnelles
élémentaires sont celles dans lesquelles une clé entière détermine un attribut.
BCNF est une relation respectant la 3FN et dont tous les attributs non-clé (hormis les clés
candidates qui sont neutres et ne doivent pas être considérées) ne sont pas source de
dépendance fonctionnelle.
Cette définition a le mérite d’être simple : pas de dépendance autre que K→A, K étant la clé
et A un attribut non clé.
Il a été montré qu’une relation a une décomposition en BCNF qui est sans perte. Par contre
une décomposition en BCNF ne préserve en général pas les df.
Soit R (k1, k2, x, y) une relation et k1, k2, x et y ses attributs.

R k1, k2 , x, y

43
Dr APPOH, INP HB, 07 07 930589
Le schéma ci-dessus est en 3FN mais pas en BCNF. Car Y détermine k1 une partie de la clé
(k1, k2).
Une telle relation R (k1, k2, x, y) doit être décomposable en R1 (k1, k2 , x) et R2 ( y , k1).
Exemple

Localisation (cru, pays, region, qualité)


Or région→pays (pays détermine région. Donc cette relation n’est pas en BCNF bien quen
étant en 3ème FN puisque cru ne détermene pas la région (il y a du chablis en bourgone mais
aussi en califormnie).

Cru Pays Région Qualité


Chenas France Beaujolais Excellent
Juliénas France Beaujolais Excellent
Chablis Etats unis Californie moyen
Morgon France Beaujolais Bon
Brouilly Etats unis Californie Médiocre
Chablis France Beaujolais Excellent

Pour la rendre BCNF, il faut la décomposer comme suit.


CRUS (cru, pays, qualité)
Region (region, pays).
La df cru, pays → region est perdue. Mais la décomposition est sans perte.
Superclé
Dans une entité (ou entité type), une clé est un ensemble minimal d’attributs qui détermine
toutes les autres.
Un ensemble d’attributs qui dénote une clé est appelé superclé. (Identifiant minimal).
Pour une même relation il peut avoir plusieurs clés : En général, une désignée comme clé
primaire. On parle également clé candidate pour désigner une clé quelconque.

Une clé est un ensemble minimal d’attributs qui détermine toutes les autres. Un ensemble
d’attributs qui inclut une clé est appelé superclé (Identifiant minimal).
Une clé choisie parmi les clés candidates pour indexer une base est appelée
une clé naturelle.
Quatrième et cinquième formes normales
La BCNF est bien insuffisante pour éliminer complètement les redondances.

- DM : dépendances multivaluées : elle est une généralisation de la DF.

Quatrième forme normale (4FN)


La 4FN est une généralisation de BCNF destinée à décomposer les relations ayant des DM
élémentaires.

Cinquième forme normale ou forme normale de projection jointure (5FN)


La 5FN est une forme normale de projection de jointure. P702
Dénormalisation et groupement de tables

44
Dr APPOH, INP HB, 07 07 930589
Dénormalisation :

Technique consistant à implémenter la jointure de deux relations ou plus à la place des relations
individuelles initiales.
Bien évidemment cela pourrait conduire à des redondances.
Groupement :

Une variante plus performante de la dénormalisation est le groupement, permis dans certains SGBD.
Ce groupement connu sous le nom de placement à proximité est une technique permettant de
regrouper dans une même page ou des pages voisines les tuples de deux tables (ou plus) selon un
critère de jointure.
Partitionnement vertical et horizontal
Partitionnement vertical :

Il consiste à extraire d’une table ou relation via une projection selon les attributs ou champs
ou colonnes. Dans cette projection, il possible que les clés soient répétées

Partitionnement horizontal :

Il consiste au contraire à diviser la table en sous tables de même schéma, chacune conservant
une partie des tuples (selon des critères de restriction)

Plus grand ensemble stationnaire F+ de DF valides obtenu à partir d'un ensemble F initial en
appliquant les propriétés des DF (axiomes d'Armstrong).

La fermeture transitive d'un ensemble de DF est unique. Elle ne dépend pas de l'ordre
d'utilisation des propriétés.

Deux ensembles des DF sont équivalents ssi ils ont la même fermeture transitive F1 ≡ F2
alors F1+ = F2+

Contrairement à F+, la couverture minimale n'est pas unique.


Couverture minimale, ensemble essentiel pour effectuer des décompositions sans perte.
Algorithme en 3 étapes (ordre à respecter) à partir d'un ensemble de DF :
1. Décomposer les DF (un seul attribut en partie droite) ;
2. Rendre les DF élémentaires (membre gauche non décomposable) ;
3. Supprimer les DF redondantes (obtenues par transitivité) ;

Unicité de la couverture minimale (CM)


L’unicité de la CM va avec la compréhension de la même manière de la sémantique des
données et leurs relations. Elle découle de l’interprétation commune des règles de gestion
afférentes aux données et leurs corrélations.

45
Dr APPOH, INP HB, 07 07 930589
V- FONCTIONS D’UN SGBD
Un SGBD permet de décrire les données des bases, de les interroger, de les mettre à jour, de
représenter les transactions de données, d’assurer les contrôles d’intégrité, de concurrence
d’accès et de sécurité. Il intègre de plus en plus des fonctions avancées pour la gestion des
procédures et des évènements.
1) Description des données
La description concerne la définition des structures de données et le suivi de leur évolution
et du stockage (volumétrie de la BD).
Un SGBD offre des interfaces pour décrire les données. La définition de différents schémas
est effectuée par les administrateurs de BD (ou par des personnes jouant le rôle
d’administrateurs de données). Dans un SGBD où l’environnement de description de BD
supporte trois niveaux de schémas, on peut définir trois rôles d’administrateur de données ou
simplement trois administrateurs. Cela est conforme à l’approche retenue par le comité
ANSI-SPARC qui ajoute à ces rôles un quatrième d’où :
- L’administrateur d’entreprise ;
- L’administrateur de BD ;
- L’administrateur d’application ;
- Le programme l’application .
-Administrateur d’entreprise
Le porteur de ce rôle est chargé de l’élaboration du schéma conceptuel (description de toutes
les entités et leurs propriétés avec les associations). C’est la vue du concepteur
indépendamment de toute utilisation et de toue implantation machine (disque dur).
-Administrateur de BD (DBA)
L’exécutant de ce rôle est chargé de définir le schéma interne et les règles de
correspondance entre le schéma interne et le schéma conceptuel. Il est le gestionnaire
responsable du bon fonctionnement du SGBD et de la mise en œuvre de la BD.
NB : Le schéma interne est la représentation du schéma conceptuel dans la machine. Ce
schéma interne constitue la vue du système où le niveau global et le niveau conceptuel sont
confondus.
Il a pour rôles essentiels :
-de définir le schéma et les sous schémas
-d’assurer la sécurité des données
-améliorer la disponibilité des données et l’optimisation des requêtes (après analyse des
statistiques d’utilisation, les requêtes ad hoc,...).
De manière plus détaillée on a les tâches suivantes qui incombent au DBA.

Tâches d’un DBA :


• Administrer les systèmes de gestion de données de l’entreprise, en assurer la
cohérence, la qualité et la sécurité
• Participer à la définition et à la mise en œuvre des bases de données et des progiciels
retenus par l’entreprise
• Participer au choix des bases de données et à leur dimensionnement
• Créer des bases en liaison avec l’équipe d’administration et les Chefs de Projets
• Mettre en œuvre des logiciels de gestion de bases de données ainsi que des progiciels
de gestion, adaptation et maintenance de ces logiciels

46
Dr APPOH, INP HB, 07 07 930589
• Mettre en exploitation et en gestion des serveurs de données en relation avec
l’administrateur système
• Créer des outils spécifiques d’aide à l’exploitation
• Assister les utilisateurs (formation, requête techniques …)
• Être le support technique de second niveau pour l’ensemble des bases de données
• Être le correspondant technique entre les Chefs de projets et l’équipe administration
• Gérer les performances et l’optimisation des ressources
• S’assurer de l’intégralité des bases de données existantes en garantissant la sécurité
physique et logique
• Mettre en œuvre des outils de surveillance
• Utiliser de façon optimale des bases en réglant leurs paramètres
• Veille technologique sur les SGBDR et les progiciels retenus par l’entreprise
• Tester et valider, pour les aspects techniques tous les logiciels et progiciels
• Définir des normes et standards d’utilisation et d’exploitation vers les SGBD
• Organiser, planifier et suivre la réalisation de projet lié aux bases de données
• Réaliser des documents (modèle de donnée, spécifications fonctionnelles et
techniques…)

-Administrateur d’application
L’attributaire de ce rôle est chargé de définir les schémas externes correspondant à la vue de
l’utilisateur ou groupe d’utilisateurs.
Un autre rôle dont il faut tenir compte au niveau applicatif, c’est le programmeur
d’application. Le détenteur d’un tel rôle se consacre aux descriptions spécifiées par
l’administrateur d’application.
NB : Un autre rôle existe celui de l’administrateur système ou réseau, surtout lorsque la
base de données utilise le réseau ou encore dans le cadre d’une base de données répartie.
Remarque
Au regard des trois premiers rôles, il s’ensuit les trois niveaux fonctionnels retenus par le
comité ANSI-SPARC (American National Standard Institute, Scalable Processor
ARChitecture) : le niveau conceptuel, le niveau interne et le niveau externe déjà abordés
(précédemment vus).
2) Recherche de données
Tout SGBD fournit des commandes de recherche des données. Les SGBD modernes offrent
un langage d’interrogation assertionnel permettant de retrouver les données par le contenu,
sans préciser la procédure d’accès. Une commande de recherche permet de retrouver les
données de la base répondant à un critère de qualification (prédicat) plus ou moins
complexe. Une recherche s’exprime à l’aide de requêtes du type suivant :
QUEL: RETRIEVE {liste d’attributs} FROM table WHERE qualification
SQL: SELECT {liste d’attributs} FROM table WHERE qualification
A priori, le SGBD doit offrir un langage complet c’est à dire permettant de poser toutes les
questions possibles sur la BD. Les questions peuvent faire intervenir un grand nombre
d’entités/associations, des calculs, des qualifications.
3) Mise à jour (update, alter)
La conception de mise à jour intègre à la fois l’insertion de données dans la base, la
modification dans données et leur suppression. L’insertion de plusieurs instances d’entités
peut s’effectuer facilement. Par contre, celle des instances d’associations est plus délicate car

47
Dr APPOH, INP HB, 07 07 930589
il faut insérer un enregistrement référençant les entités de la base participant à ces
associations à modifier. Il peut arriver que la modification des données s’effectue par
recherche de données à modifier à l’aide d’une qualification. Aussi, il est possible de
supprimer des tuples.
Il ne faut pas occulter non plus la mise à jour structurelle (alter) sans grande incidence
d’organisation sinon refaire carrément un nouveau projet d’informatisation.

alter pour les contenant et update pour les contenus


create pour les contenant et insert pour les contenus ..

4) Transformation des données


Cette fonction incombe au SGBD. Comme il peut exister plusieurs niveaux de schémas pour
décrire un ensemble de données, le SGBD doit pouvoir assurer le passage de données depuis
un format correspondant à un niveau dans le format correspondant à un autre niveau
(conceptuel à interne). Cette fonction est appelée transformation des données.
Il existe trois niveaux de schéma donc deux niveaux de transformations :
- Conceptuel à interne qui permet de faire passer des instances de données depuis le format
conceptuel au format externe et réciproquement.
- Conceptuel externe qui permet de faire passer des instances de données depuis le format
conceptuel au format externe et réciproquement.
5) Autres fonctions
1-Déclencheur (triggers) (fonctions et procédures stockées )
De nombreuses autres fonctions sont progressivement intégrées au SGBD au fil des ans. Par
exemple, beaucoup savent aujourd’hui déclencher des procédures cataloguées (ou stockées)
par l’utilisateur lors de l’apparition de certaines conditions sur les données ou lors de
l’exécution de certaines opérations sur les entités et associations. Cette fonctionnalité est
connue sous le nom de trigger (ou déclencheur), encore appelée reflexe dans le contexte
des architectures client/serveur en relationnel.
Les déclencheurs (trigger) permettent de rendre les BD actives. Par exemple, on peut
déclencher des procédures de correction lors de l’apparition de certains évènements. Il s’agit
là d’une fonctionnalité nouvelle qui prend de plus en plus de l’importance (ampleur).
De manière générale, les SGBD sont amenés à supporter des règles permettant d’inférer de
nouvelles données (calcul par raisonnement logique) à partir des données de la base, lors des
mises à jour ou des interrogations. Cela conduit à la notion de SGBD déductif capable de
déduire des informations à partir de celles connues et de règles de déduction.
Enfin, les SGBD sont aussi amenés à gérer des objets de plus en plus complexes tels que les
dessins ou images, des architectures ou cartes de géographie en capturant finement des
découpages de ces objets en sous-objets. Ces objets pourront être atteints via des procédures
elles-mêmes intégrées au SGBD. Cela conduit à la notion de SGBD à objet ou SGBD objet,
capable de gérer des objets multiples manipulés par des fonctions d’utilisateurs.
(Framework, module ou outils métiers, procédures stockées, oracle spatial). ERP, CRM.
Malgré la complexité de certaines contraintes, l’utilisation des déclencheurs permet de
rejeter les mises à jour qui les violent. Ces déclencheurs permettent d’entraîner une
opération conséquente suite à une première opération de base. Mieux, ils permettent de
modéliser au sein de la BD les comportements réactifs des applications.

48
Dr APPOH, INP HB, 07 07 930589
Les SGBD traditionnels sont passifs en ce sens qu’ils exécutent les commandes de mise à
jour et de recherche.
Avec les déclencheurs, ils deviennent actifs et sont capables de réagir à des évènements
externes.
Par exemple, la surveillance d’un commerce électronique peut nécessiter le refus de vente à
un client suspect. Une demande de réapprovisionnement en cas de rupture de stock. (Site
web dynamique : sous tendu par une base de données ou des formulaires augmentant
l’interactivité homme machine).
Tous ces évènements peuvent être réalisés par des SGBD avec des déclencheurs appropriés.
Ceci introduit la notion de BD active.
Une BD active permet donc de déplacer le comportement réactif des applications dans le
SGBD.
5-2- Contrôle de l’intégrité des données
On appelle contrainte d’intégrité, toute règle implicite ou explicite que doivent suivre les
données. Ces règles visent à assurer le maintien de la cohérence des données. Pour un SGBD
supportant le modèle entité association, les contraintes possibles sont l’unicité de clé, la
contrainte référentielle (clé secondaire) et la contrainte de données (domaines de variation
ou type) et les cardinalités, les propiétés obligatoires.
Il faut veiller à ce que les valeurs des identifiants primaires soient stables durant le cycle de
vie de l’entité pour en assurer la cohérence.
5-3- Gestion des transactions et sécurité
Elle permet d’assurer qu’un groupe de mise à jour soit totalement exécuté ou pas du tout.
Cette propriété est connue sous le nom d’atomicité des transactions. Elle est garantie par le
SGBD qui connaît l’existence de transaction à l’aide de commandes : Begin-transaction,
End-transaction.
Une transaction est donc un groupe de mises à jour qui fait passer la base d’un état à un
autre. Ces états successifs doivent être cohérents et donc respecter les contraintes d’intégrité.
Cette propriété est connue sous le nom de correction des transactions (correctness,
correction, cohérence).
Lorsqu’une transaction est partiellement exécutée, les données peuvent passer par des états
incohérents transitoires qui seront corrigés par les mises à jour suivantes de la transaction.
(Transaction partiellement exécutée est justifiable par : une requête de mise à jour pas très
bien formulée, mise à jour portant sur un trop grand nombre d’enregistrements, niveau de
répartition des données élevé).
Pendant une période de l’activité, les effets de la transaction ne devront pas être visibles aux
autres transactions. Cette propriété est connue sous le nom d’isolation de la transaction.
L’isolation doit donc être assurée par le SGBD.
Une fois la cohérence établie, elle doit l’être de manière durable. (Conserver la cohérence).
Cette propriété est connue sous le nom de la durabilité de la transaction. Dès qu’une
transaction valide ces modifications, le système doit garantir qu’elles seront conservées en
cas de pannes (panne disque par exemple). (Persistance du système)
En résumé, toutes ces propriétés résumées sous le sigle ACID, doivent être assurées par un
bon SGBD qu’il soit centralisé ou réparti.
Ces propriétés nécessitent deux types de contrôles qui sont intégrés dans les SGBD :
- Contrôle de la concurrence des accès

49
Dr APPOH, INP HB, 07 07 930589
- Résistance aux pannes avec validation et reprise (réflexivité multi niveau)
En plus, il faut rappeler que la sécurité permet d’éviter les accès non autorisés aux données
par des mécanismes de contrôle des droits d’accès (privilèges, rôle), et également de
restaurer les données en cas de pannes ou d’erreurs.
Il est important de noter qu’en matière de sécurité on peut mettre à contribution plusieurs
mécanismes et techniques : outils de supervision du réseau (dude), système RAID5
(redundant array of inexpensive disk), trois sauvegardes de la BD au minimum et souvent
hors site, conseil et formation permanente des utilisateurs, veille technologique.
VI- ARCHITECTURE FONCTIONNELLE D’UN SGBD
1) Architecture à 3 trois niveaux
Selon ANSI/X3/ SPARC-DBTG [voir polycop]. X3 est une division de ANSI.
Le groupe (ou comité) ANSI/X3/SPARC-DBTG a proposé vers 1980, une architecture
intégrant les 3 niveaux de schéma : externe, conceptuel et interne. Bien qu’ancienne, cette
architecture permet de bien comprendre les niveaux de description et de transformation des
données possibles dans un SGBD. En gros, cette architecture s’articule autour du
dictionnaire de données et comporte 2 parties :
- un ensemble de modules (processeurs) permettant d’assurer la description des
données et donc la constitution du dictionnaire de données.
- Une partie permettant d’assurer la manipulation des données c'est à dire
l’interrogation et la mise à jour des bases.
Dans chacune des parties, on trouve les 3 niveaux : interne, conceptuel, externe (voir schéma
architecture de référence). A chacun des trois niveaux correspond un processeur.
Les fonctions des trois processeurs sont les suivantes :
- Le processeur de schéma conceptuel compile le schéma conceptuel et,
dans le cas où il n'y a pas d'erreur, range ce schéma compilé dans le dictionnaire de
données (dictionnaire de données système).
- Le processeur de schéma externe compile les schémas externes et les règles de
correspondance externe à conceptuel et, dans le cas où il n'y a pas d'erreur, range le
schéma compilé et les régies de correspondance dans un dictionnaire de données
(SQL).
- Le processeur de schéma interne a un rôle symétrique (semblable et opposé) au
processeur de schéma externe.
- Le processeur de transformation externe à conceptuel transforme les manipulations
externes en manipulations conceptuelles et inversement.
- Le processeur de transformation interne à conceptuel traduit les manipulations
internes en manipulations conceptuelles et inversement.
- Finalement, le processeur de transformation interne à stockage traduit les
manipulations internes en programmes d’accès au système de stockage et délivre les
données stockées en format correspondant au schéma interne.

50
Dr APPOH, INP HB, 07 07 930589
Administrateur
Entreprise

Administrateur Processeur Administrateur


de la BD Schéma conceptuel d’application
de la BD

Processeur Processeur
Dictionnaire
Schéma interne de Schéma externe
de données
la BD de la BD

Transformateur Transformateur Transformateur


(correspondance) conceptuel - interne externe - conceptuel
interne - stockage

Programme d’application
Système d’E/S (format objet)

Programme d’application
Mémoire disque (format source)

ARCHITECTURE DE REFERENCE D’UN SGBD A TROIS NIVEAUX (ANSI/X3/ SPARC-DBTG))

A la place de transformateur on peut mettre correspondance (alors mettre une flèche à sens double).

2-Architecture fonctionnelle typique


L’architecture à trois niveaux, présentée ci-dessus permet de bien comprendre les niveaux de
description et de manipulation des données. Cependant, la plupart des SGBD intègre le
niveau interne et le niveau conceptuel dans un seul niveau. En fait, le véritable niveau
conceptuel est pris en compte par les outils d’aide à la conception de l’application. Le
schéma de l’architecture typique d’un SGBD est celui de référence le plus proche de des
architectures des SGBD actuels basés seulement sur 2 niveaux de schéma : schéma
(conceptuel et interne) et vues.
Nous allons passer en revue trois rôles du SGBD : analyseur, contrôleur, optimiseur,
exécuteur.
-Analyseur
Du point de vue de la description des données, un SGBD gère un dictionnaire de données
appelé métabase (métadonnée), organisé comme une BD. Il est alimenté par les commandes
de définition de schémas (exemple : create table…, create index…) et les définitions de vues
(exemple : define view…).
Ces commandes sont analysées et traitées par le processeur d’analyse, analyseur, plus
spécifiquement par la partie traitant le langage de description des données de ce processeur
(qui fait souvent appel à des fonctions plus internes au SGBD pour gérer le dictionnaire
comme une véritable BD).
Du point de vue de la manipulation des données, des requêtes (exemple : select, retrieve,
modify, update, delete…) sont d’abord pris en compte par l’analyseur de requêtes. Celui-ci

51
Dr APPOH, INP HB, 07 07 930589
réalise l’analyse syntaxique (conformité à la grammaire) et sémantique (conformité à la vue
référencée ou au schéma) de la requête. Celle-ci est alors traduite en format interne.
-Contrôleur
Une requête en format interne référençant une vue doit tout d’abord être traduite en une ou
plusieurs requêtes référençant les données existant dans la base (schéma). Cette
fonctionnalité est accomplie au niveau du contrôleur de requête ou modificateur de requête.
Elle consiste à changer la requête en remplaçant les références aux objets de la vue par leur
définition en termes d’objets du schéma. C’est aussi au niveau du contrôleur que sont pris en
compte les problèmes de contrôle des droits d’accès (autorisation de lire ou d’écrire un
objet) et du contrôle d’intégrité lors des mises à jour. Le contrôle d’intégrité consiste à
vérifier que la base n’est pas corrompue (polluée) lors des mises à jour c’est à dire que les
règles de cohérence des données restent vérifiées après les mises à jour.
-Optimiseur
L’optimiseur de requêtes est un composant clé des SGBD. Essentiellement, il élabore un
plan d’accès optimisé pour traiter les requêtes. Pour ce faire, il décompose la requête en
opérations d’accès élémentaires (sélection d’index, lecture d’article) et choisit un ordre
d’exécution optimal ou plus proche de l’optimum pour ses opérations. Il choisit aussi les
méthodes d’accès à utiliser. Pour effectuer les meilleurs choix, l’optimiseur s’appuie souvent
sur un modèle de coût qui permet d’évaluer le coût d’un plan d’accès avant son exécution.
Le résultat de l’optimisation peut être sauvegardé par des exécutions multiples ultérieures ou
exécutées directement puis déduite. Pour rappel on a la détermination du coût d’une requête
Q par :

C (Q) = a x UC (Q) + b x E/S (Q) avec Q étant un ensemble typique de requêtes, E/S (Q)
est le nombre d’entrée/sortie, UC (Q) est le temps UC dépensé. a et b sont les facteurs
convertissant respectivement temps UC(Q) et nombre d’E/S (Q) en coût.
-Exécuteur
L’exécuteur de plan a enfin pour rôle d’exécuter le plan d’accès choisi et élaboré par
l’optimiseur. Il s’appuie sur les méthodes d’accès qui permettent d’accéder aux fichiers via
des index et/ou des liens. C’est à ce niveau que sont gérés les problèmes de concurrence
d’accès et d’atomicité de transactions. Les techniques utilisées dépendent de l’architecture
opérationnelle du SGBD qui s’exprime en termes de processus et de tâches
Le schéma suivant donne une illustration succincte de ce qui vient d’être décrit.

52
Dr APPOH, INP HB, 07 07 930589
Schéma de synthèse

Analyse syntaxique
Analyse sémantique
Analyseur Gestion des schémas

Modification des requêtes


Contrôleur Contrôle d’intégrité
Contrôle d’autorisation
METABASE
Optimiseur Ordonnancement
Optimisation
Elaboration de plan

Exécuteur Exécution du plan


Méthode d’accès
Contrôle de concurrence
Architecture fonctionnelle typique d’un SGBD Atomicité des transactions (ACID)

3) SGBD opérationnel
Un SGBD au sens opératoire, est un véritable système qui doit fournir les services de base
suivants :
-La gestion des données physiques en mémoire secondaire (la persistance) ; les
fichiers de données doivent rester tels.
-La gestion de la sécurité des données avec contrôle de synchronisation pour les
mises à jour de plusieurs processus concurrents ;
-La gestion des reprises sur pannes (système à tolérance de fautes ou d’erreurs ou de
pannes).
4) Architecture répartie
a-Nouvelle tendance des SGBD
La nouvelle tendance au niveau des SGBD, c’est qu’ils intègrent les outils permettant
d’atteindre l’ensemble des objectifs et deviennent de plus en plus répartis pour intégrer les
fonctionnalités permettant à des applications internet de les utiliser aisément.
Il convient de noter qu’un SGBD offre une interface de description des données qui permet
de documenter le dictionnaire de données. Le compilateur du langage de description des
données gère cette méta base (dictionnaire de données).
Aussi, un SGBD offre une interface de manipulation des données (recherche, mise à jour,…)
qui permet de modifier ou de retrouver des données dans la base. Le compilateur optimiseur
de langage de manipulation gère des plans d’accès optimisés. Ceux-ci sont exécutés par le
processus serveur qui gère aussi la concurrence d’accès et assure la fiabilité des données.
Les requêtes peuvent être émises par des programmes d’applications écrits dans des
langages traditionnels ou par des utilisateurs travaillant en interactivité.
Une BD à architecture répartie est composée de plusieurs serveurs coopérant à la gestion de
BD composée de plusieurs bases gérées par un seul serveur. Mais apparaissant comme des
bases (en environnement Unix) centralisées pour l’utilisateur.
Remarque :
Une BD à architecture répartie, peut être composée de serveurs munis de SGBD différents et
spécialisés. C’est un exemple de BD réparties hétérogènes encore appelés BD fédérées.

53
Dr APPOH, INP HB, 07 07 930589
Exemple : Oracle et Ingres sont des SGBD répartis.
-Infostructures centrées base de données
Une Infostructure est un mot valise contraction de mots information et infrastructure pour
montrer la prééminence de la ressource information et des bases de données dans les
architectures matérielles et logicielles, ou encore la primauté des systèmes d’information sur
le système informatique.
Ces architectures ont évolué au fil du temps depuis les architectures mainframes
propriétaires, vers des architectures internet sans fil en conservant le serveur de base de
données. Celles du futur mettront en jeu les architectures pair à pair (peer to peer
computing). Le tableau suivant décrit cet état de fait.
Epoque 1 : Mainframe Epoque 2: Interface Epoque 3 : Client serveur (voir n-
graphique tiers)
Fiabilité, sécurité, vitesse d’accès En en plus de ce qui précède on a En plus de ce qui précède arrivée de
disque, optimisation des ressources, l’apport de l’autonomie et nouveaux standards, indépendance
performance, coûts interface graphique des traitements, middlewares

b-Architecture fonctionnelle du développement d’une application

Interface (1)
Objets GUI, …

Application (2)
L3G, L4G, …

SGBD (3)
SQL2, SQL3, SQL4

Evolution des architectures organisationnelles de BD

Dans une architecture centralisée (1), (2) et (3) sont sur le même serveur.
Dans une architecture client serveur (1) et (2) sont sur le poste client et (3) sur le serveur.
Dans une architecture Internet généralisée (n-tiers), on a une architecture comme suit :
-le (1) éclaté sur un ou des clients légers (téléphone mobile, PDA) et aussi un serveur
web/portail ;
-le (2) est éclaté sur plusieurs serveurs d’applications ;
-le (3) est éclaté sur plusieurs serveurs de données (BD).
Exemple :
Serveur de base de données : Mysql ;
Serveur web : Appache ;
Serveur d’application : Php ;
Client : internet explorer (browser).
Remarque :
Un SGBD réparti peut mettre en jeu deux cas de figures :
- des SGBD de même type. On parle alors d’architecture en étoile (SQL server, Ingres Star,
MS Access, System R …)

54
Dr APPOH, INP HB, 07 07 930589
- des SGBD hétérogènes suivant le même modèle (oracle, informix, Progess…) ou des
modèles distincts (modèle hiérarchique avec IMS (Integrated Management System), modèle
navigationnel avec IDS II (Integrated Data Store, modèle relationnel avec DB2).
Dans les deux cas (même modèle ou non), l’hétérogénéité peut être étendue au matériel et
aux réseaux.
La gestion des données réparties requiert un coordinateur, qui peut être centralisé ou réparti,
pour assurer :
-le traitement global d’une requête SQL (décomposition en sous requête mono ou multi sites
et optimisation de leur exécution).
-la synchronisation entre requêtes concurrentes et la cohérence globale en cas de pannes
(protocole de terminaison multiphase)
Le traitement global d’une requête sous entend l’existence :
- d’un dictionnaire global (pouvant être centralisé ou distribué) dépositaires de
l’information sur la localisation physique et assurant la transparence pour l’émetteur
de la requête
- d’un traducteur pour accéder à plusieurs SGBD hétérogènes.
Un gestionnaire de ressources doit exister pour permettre et connaître l’état des ressources
utilisées par chacun des traitements.
Les problèmes de conception d’applications réparties et d’interopérabilité hétérogène
(SGBD, OS, Réseau) ne sont pas satisfaits pour mettre en œuvre des architectures
performantes de ce type. Cela ne saurait tarder.

BD de produits

SITE 1 SITE 2 SITE 3 BD des opérations

Réseaux de communication
BD géographiques

SITE 4 SITE 5

CLIENT SERVEUR

Base de données répartie

Cette architecture connaître une évolution en une autre très repartie (n-tiers) de nos jours avec une contexture
web. En occurrence, nous avons l’architecture à contexture web dite trois tiers pour les applications web très
généralisée. On se trouve en présence de l’utilisation de trois serveurs (serveur d’application ou de
présentation, serveur de BD, serveur http ou web). Le client en la matière est le navigateur (browser).

Le tableau qui suit donne une compréhension plus explicite et opérationnelle.

Définition canonique Exemple opérationnel


Serveur http ou web apache
Serveur de BD Mysql (MariaDB)
Serveur d’application ou de présentation PHP
Exemple d’entités d’une architecture 3-tiers.

55
Dr APPOH, INP HB, 07 07 930589
Exemple 2 : Googlearth

c-Architecture client- serveur trois niveaux (Web, Application, BD)

Browser, client de présentation

Serveur web (ou http) :


Apache, OC4J, Tomcat
Internet / intranet

Service applicatif

outils applicatifs Serveur application :


php
Outils de connectabilité
Trois strates :
3-tiers
protocole applicatif
Deux strates :
client / serveur

Réseau local

Protocole réseau

Serveur BD : Oracle,
Outils de connectabilité Mysql

Serveur BD : procédures stockées

BD

Architecture client- serveur trois niveaux (web, application, BD)

d-Description client serveur (C/S)


- Cas de deux strates (C/S) :
L’application est écrite à l’aide d’un outil applicatif, souvent un L4G (L5G). Elle soumet
ses demandes de services (requêtes au SGBD ou invocation de procédures stockées ou
méthodes) au middleware qui les transfert au serveur. Le middleware comporte un
composant client et un composant serveur qui permettent les échanges de commandes via le
protocole réseau (outil de connectivité).
-Cas de trois strates (C/S) : (c/s généralisé).

Avec l’apparition d’internet et du web donc, les architectures C/S ont évolué ves des
architectures à trois strates.
Le client est responsable de la présentation. Il utilise pour cela des web browsers.
Le serveur d’application exécute le code applicatif essentiel.

56
Dr APPOH, INP HB, 07 07 930589
Le serveur de base de données supporte le SGBD et gère éventuellement des procédures
stockées.

Dans l’architecture n-tiers, un client peut invoquer plusieurs serveurs. On parle alors
d’architecture client multiserveur. L’inconvénient mais aussi l’avantage du C/S est de
centraliser des données au niveau du serveur.

-Les différents modèles de bases de données (typologie)


- Les bases de données du modèle "relationnel" sont les plus répandues (depuis le milieu des
années 80 environ jusqu’aujourd’hui), car elles conviennent bien à la majorité des besoins
des entreprises.
Le SGBD qui gère une BDD relationnelle est appelé "SGBD relationnel", ce qui est souvent
abrégé en SGBDR. -D'autres modèles de bases de données ont été proposés : hiérarchique,
en réseau, orienté objet, relationnel objet.
Aucun d'entre eux n'a pu détrôner le modèle relationnel, ni se faire une place notable sur le
marché (sauf le relationnel objet, prôné par Oracle, qui connaît un certain développement).
-Malgré sa généralité, le modèle relationnel ne convient pas parfaitement à toutes les BD
rencontrées en pratique. Il existe donc des SGBD spécialisés. Les deux exemples les plus
connus concernent la gestion des BD bibliographiques (ou documentaires), et celle des BD
géographiques gérées à l'aide d'un SIG (Système d'Information Géographique, satellite).

L’intervention des machines Datacenter et des cloud augmente les capacités de répartition et
de calcul des BD et bien plus.

57
Dr APPOH, INP HB, 07 07 930589
MODELE RELATIONNEL
I- INTRODUCTION
Le modèle relationnel a été introduit par Edgard F. CODD dans les années 1970 au centre de
recherche IBM à San José.
Il existe en fait trois modèles de données principaux de haut niveau logique et
organisationnel. Les deux premiers principaux modèles d’accès sont le modèle hiérarchique
suivi du modèle réseau (Navigationnel ou CODASYL : Conference On Data System
Language).
Le troisième qui a suivi est le modèle relationnel. La première volonté des dépositaires du
modèle relationnel fut d’être un modèle ensembliste simple supportant des ensembles
d’enregistrements aussi bien au niveau de la description que de la manipulation.
Le modèle relationnel est aujourd’hui à la base de nombreux systèmes et d’architecture
permettant d’accéder depuis une station de travail à des serveurs de données. Le relationnel
a atteint ses objectifs au delà de toute espérance en améliorant de façon significative les
insuffisances des deux précédents modèles.
Il convient de noter que depuis près de 40 ans trois grandes familles de modèles de données
ont été définis en support d’implantation d’une base de données dans un SGBD.
Les modèles informatiques sont en général du ressort des informaticiens. Ici, dans la partie
définition du schéma et dans la partie manipulation des données, on a eu à utiliser le modèle
hiérarchique et le modèle réseau sous le contrôle de DBTG (Data Base Task Group).
Actuellement sont utilisés les modèles suivants :
-Les modèles mathématiques ou relationnels de CODD F ;
-Les modèles à sémantiques hybrides relationnel-objet ;
-Les modèles à sémantiques objets.
NB : Plusieurs systèmes implémentent encore le modèle relationnel De CODD E.F.
Edgar Frank « Ted » Codd (23 août 1923 - 18 avril 2003), informaticien britannique, considéré comme
l'inventeur du modèle relationnel des SGBDR.

[ rappel
L’établissement de ce cycle de conception a connu plusieurs étapes d’évolutions avant d’être adopté par la
communauté des bases de données (BD). Cette évolution est liée aux propositions de différents modèles de
données développés afin de gérer au mieux les données stockées. Les premiers modèles de données proposés à
la fin des années 60, sont les modèles de données physiques. Deux principaux modèles ont connu un succès
certain et ont été utilisés dans d’importants systèmes industriels : le modèle hiérarchique utilisé dans le
système IBM IMS, et le modèle en réseau utilisé dans le système Codasyl (Conference on Data Systems
Languages, Navigationnel) .
Ces deux modèles ont marqué une évolution importante dans le domaine des BD, dans la mesure où ils ont
représenté les premiers modèles permettant de gérer et d’interroger l’ensemble de données d’une BD. Le
modèle CODASYL a valu à son auteur Charles Bachman, le prix ACM Turing en 1973. Cependant, comme
toute première proposition, ces modèles présentaient de nombreux inconvénients.
Le plus important est la difficulté de maintenance et d’évolution de la BD, due à la faible indépendance
physique des données.
Afin de remédier à cet inconvénient, le modèle relationnel a été proposé par Edgar F Codd [50].
L’indépendance physique des données signifie la capacité de modifier le schéma interne de la BD sans avoir à
modifier ni son schéma conceptuel, ni les schémas externes des utilisateurs.
Le modèle relationnel, a ainsi été conçu pour présenter une abstraction mathématique de ce qui est implémenté
dans la BD. Le modèle relationnel est basé sur une représentation formelle. Il propose de stocker les données
dans un modèle organisé en des structures simples et flexibles (des tables) pouvant représenter tout type
d’information. Ce modèle marque une nouvelle évolution importante, sanctionnée également par un prix
Turing en 1981. Le modèle relationnel a été implémenté dans d’importants projets académiques et industriels
comme le projet System R, le projet Ingres et le projet Gamma [76].]

58
Dr APPOH, INP HB, 07 07 930589
1) Modèle hiérarchique
Bien avant ce modèle, on utilisait de système de fichiers pour les ensembles de données.
(Voir en début du cours).
Une des structures les plus simples et les plus répandues existant dans tout l’univers réel est
la structure hiérarchique. La conception de schéma dans le modèle hiérarchique dépend
uniquement des liens d’association un à plusieurs (inter – entités).
Exemple : le SGBD IMS conçu en 1969 sur le système d’exploitation (OS) IBM/360, tous
conçus par IBM (International Business of Machine).
-Avantages du modèle hiérarchique
-adéquation avec une entreprise à structure arborescente (déploiement) ;
-simplicité du modèle dont l’implantation est relativement facile ;
-rapidité d’accès aux données (lecture /écriture disque).
-Inconvénients
-impossible de représenter directement le lien d’association mailles (plusieurs à plusieurs)
inter - entités ;
-beaucoup d’anomalies du modèle pour les opérations de stockages (modification mise à
jour) ;
-absence de symétrie pour les requêtes de manipulation ;
-Indépendance logique très réduite ;
-absence d’interface utilisateur non procédural limitant les informations dans la définition et
la manipulation de BD ;
-impossibilité de concevoir des requêtes mettant en relief des objets de la même génération ;
-coût prohibitif (excessif) des traitements ad hoc (imprévus).
2) Modèle réseau ou navigationnel (CODASYL : Conférences on data system language)
Il incorpore un langage d’interrogation (CODD Frédéric 1970-1978). Il conserve les liens un
à plusieurs entre entités. L’usage de pointeurs logiques est nouveau.
Le schéma est représenté sous forme d’un graphe ou de réseau connectant les entités entre
elles à l’aide de pointeurs logiques.
-Avantages du modèle navigationel
-moins de rigidité donc accroissement de la flexibilité ;
-représentation manuelle des liens maillés ;
-absence d’anomalies pour les opérations de stockage ;
-rapidité des entrées /sorties disques.
-Inconvénients
-absence d’indépendance vis-à-vis des stratégies d’accès ;
-confusion du modèle conceptuel et du modèle des chemins d’accès ;
-procéduralité importante des langages de manipulation (l’utilisateur doit naviguer dans le
réseau logique constitué par les enregistrements et les chaînes de pointeurs).
Certaines requêtes pour des besoins spécifiques sont impossibles.
2) Modèle relationnel
Le modèle relationnel vient combler les insuffisances des modèles précédents. Il ajoute
quelques avantages :

59
Dr APPOH, INP HB, 07 07 930589
- indépendance vis-à-vis des stratégies d’accès ;
- souplesse de manipulation de données d’une entité à une autre directement ou
indirectement en association.
Il connaît tout de même des limitations ;ce qui nous a amenés au modèle objet pour mieux
simuler la réalité.
II) MODELE RELATIONNEL ET SES 10 CONCEPTS FONDAMENTAUX
Le modèle relationnel est fondé (repose) sur une double base théorique mathématique : la
théorie des ensembles et la théorie des prédicats.
Le modèle relationnel créée par E. F. Codd, connu sous le nom initial de modèle V1,
constitue un des apports les plus remarquables à l’informatique dans son rapprochement vers
le non – informaticien (non programmeur) résumé en quatre points :
a-simplicité des concepts de base
Une relation par exemple, est un ensemble au sens mathématique qui va être visualisé à un
instant donné par une table de valeurs. Le concept de table est un des concepts les plus
faciles à appréhender. Il s’en suit également une possibilité d’apprentissage par des
concepteurs ou utilisateurs non programmeur (dans les modèles hiérarchiques ou réseau des
générations précédentes, concevoir et manipuler une base de données était exclusivement
une affaire de programmeurs). Par là, le modèle relationnel satisfait plus l’indépendance des
données.
b-puissance des opérateurs de manipulation
Les opérateurs relationnels sont des opérateurs ensemblistes : l’application d’un opérateur
génère une relation et donc un ensemble qui peut à son tour être manipulé. Un langage
relationnel a donc un caractère dit non procédural.
c-rigueur des concepts aussi bien des structures que des opérateurs avec la double base
mathématique.
d-contribution à la cohérence du système d’information global de l’entreprise : un
SGBD R peut être le support uniforme, s’appuyant donc sur une méthodologie et une
formation unique des utilisateurs, pour toutes les applications de gestion ou de production,
de Datawarehouse ou de serveur de données pour le commerce électronique.
Les 10 concepts fondamentaux du modèle relationnel
Tout modèle de données doit avoir 3 composantes à savoir : définition, manipulation et
contrôle c'est-à-dire :
-la définition concerne les structures permettant de spécifier les données.
-la manipulation concerne les opérateurs permettant de manipuler les données définies
par les structures.
-le contrôle des règles d’intégrités induites par les structures et traduisant les contraintes
liées à la définition ou la manipulation des données
Un SGBD qui implante un modèle de données doit automatiquement prendre en compte les
règles d’intégrité et vérifier la cohérence de ces données.
Aussi et surtout de façon à éviter toute ambiguïté, les définitions d’un modèle de données
doivent idéalement reposer sur des théories formelles. Le modèle relationnel a le privilège
de reposer sur une double base formelle : la théorie ensembliste et la théorie des prédicats.

60
Dr APPOH, INP HB, 07 07 930589
Composante définition des données
1-relation n-aire (tuples) ;
2-domaines –attributs ;
3-clé primaire ;
4-clé étrangère –domaine primaire.
Composante intégrité des données
5-intégrité de domaines (liée à 2) ;
6-intégrité de relation (liée à 1 et 3) ;
7-intégrité de référence (liée à 4).
Composante manipulation des données
8-opérateurs sémantiques (liés aux domaines « domain driven operator »)
9-opérateurs ensemblistes (union, intersection, différence)
10-opérateurs relationnels (sélection, projection, jointure, division).

MODELE RELATIONNEL DE CODD (1970)

A B C
Les lettres A B et C sont définies pour traduire les dix concepts de base du modèle
relationnel comme suit :

C : contraintes d’intégrité du
A : définition/structures
modèle (pour le maintien de la B : manipulation (langage relationnel)
cohérence)
1- relation/attributs 5- intégrité du domaine 8- équivalence avec une interface
2- domaines 6- intégrité d’entité (ou de algébrique complète et opérateurs
(sémantique) relation) sémantiques (liés aux domaines)
3- clé primaire 7- intégrité de référence 8-opérateurs ensemblistes (union,
4- domaine primaire (clé intersection, différence)
étrangère) 10-opérateurs relationnels (sélection,
projection, jointure, division).
DIX CONCEPTS DU MODELE RELATIONNEL

NB : Les autres concepts que l’on pourrait définir notamment contrôle de la concurrence,
reprise sur pannes, sécurité, intégration de l’univers modélisé. Les vues ne sont pas
spécifiques seulement au modèle relationnel mais caractéristiques de tout SGBD relationnel
ou non.
Définition de relation et de domaine :
Le concept de relation étant le plus important dans le modèle de Codd, nous allons donner
deux définitions une ensembliste et une prédicative.
-Définition ensembliste d’une relation :
Une relation R est définie comme un sous ensemble du produit cartésien de n ensembles Di.
R est inclus (large) dans le produit cartésien D1 X D2 X - - - - - X Dn.
Une relation est un ensemble composé d’éléments appelés n-uplets (les tuples au niveau
logique sont les occurrences au niveau conceptuel).
Tuple en anglais et en français : couple, triplet, quadruplet, cinq uplets, …, n-uplet.

61
Dr APPOH, INP HB, 07 07 930589
Exemple
(100, Aibus, 300, Paris) est un quadruplet de la relation :
AVION (AVNO#, AVNOM, CAP, LOCVILLE) , avec 100 € AVNO (numéro d’avion) ,
AIRBUS € AVNOM (nom d’avion), 300 € CAP (capacité) etc.
Le domaine LOCVILLE = {NICE, TOULOUSE, PARIS}.
Par ailleurs les attributs ADR de PILOTE, LOC de AVION, VD et VA de VOL prennent
leurs valeurs dans le domaine VIILLE.
Un domaine est un ensemble de valeurs caractérisé par un nom ou une propriété d’attribut.
-Définition prédicative d’une relation :
Prédicat : ce qui est dit de la chose ou d’une personne.
Une proposition est une forme d’énoncé qui est soit vraie ou fausse.
P1 : « il est beau »
P2 : « Socrate est mortel »
P3 « l’avion de numéro 100 est un Airbus de capacité 300 places localisé à Nice ».
Un tuple peut être perçu comme l’écriture concise d’une proposition. Par exemple à la
proposition p3 correspond le tuple (100, Airbus, 300, NICE)
Une relation est un ensemble de tuples.
Objectifs du modèle relationnel selon CODD F.
Ce sont :
a1-Permettre un haut degré d’indépendance des programmes d’application et des activités
interactives à la représentation interne des données en particulier au choix des ordres
d’implantation des données dans les fichiers des indexes et chemin d’accès.
a2-Fournir une base solide pour traiter les problèmes de cohérence et de redondance des
données (non atteint par le modèle hiérarchique)
Ces deux objectifs sont atteints grâce à la simplicité des vues relationnelles présentant les
données sous forme de tables à deux dimensions et également grâce aux règles d’intégrités
supportées par ce modèle et ses fondements logiques.
a3- Permettre le développement de LMD non procédural basé sur des théories
mathématiques solides.
Cet objectif est atteint à l’aide de l’algèbre relationnelle qui permet de manipuler les données
de manière très simple et formelle (via des opérations arithmétiques et aussi grâce au
langage assertionnel basé sur la logique permettant de spécifier les données que l’on
souhaite obtenir sans dire comment les obtenir).
Deux autres objectifs non prévus initialement par le modèle sont atteints à savoir :
a4-Etre un modèle extensible permettant de décrire et de manipuler simplement les données
tabulaires et pouvant être étendu à opérer de même sur des données beaucoup plus
complexes.
a5- Ce modèle se veut devenir un standard pour la description et de la manipulation des BD.

62
Dr APPOH, INP HB, 07 07 930589
Remarque : l’objectif 4 a permis d’intégrer de nouveaux concepts au relationnel notamment
la plupart des concepts orientés objet (classe, encapsulation, polymorphisme, héritage, objet
…).

III) EXPRESSIONS DE L’ALGEBRE RELATIONNELLE (Voir polycope)


L’algèbre relationnelle s’inscrit dans le cadre typique du modèle relationnel. Elle a été
inventée par CODD F. Comme une collection d’opérations formelles qui agissent sur des
relations et produisent des relations en résultat. On peut considérer que l’algèbre
relationnelle est aux relations, ce qu’est l’arithmétique aux entiers. Cette algèbre qui
constitue un ensemble d’opérations élémentaires associés au modèle relationnel est sans
doute une des forces essentielles du modèle. CODD a initialement introduit huit opérations
dont certaines peuvent être composées à partir d’autres.
Les opérations de base peuvent être classées en deux (voire trois) catégories (opérations
ensemblistes et opération spécifiques) :
- les opérations ensemblistes traditionnelles (union, différence, produit cartésien)
- les opérations spécifiques (projection, sélection ou restriction, jointure (équijointure,
inéqui-jointure))
-opérations dérivées (intersection, division, complément, éclatement, jointure externe,
semi-jointure, fermeture transitive)
Les opérations ensemblistes sont des opérations binaires (à deux opérandes), c’est à dire
qu’à partir de deux relations, elles en construisent une troisième. Ce sont l’union, la
différence et le produit cartésien.
Les opérations spécifiques sont les opérations unaires de projetions et restriction (sélection)
qui, à partir d’une relation en produisent une autre, et l’opération binaire de jointure.
Notons qu’une relation est un ensemble de tuples.
1) Expression algébrique des opérations ensemblistes et formalisme
a- Union
L’union est l’opération classique binaire de la théorie des ensembles adaptée aux relations
de même schéma.
C’est une opération portant sur deux relations de même schéma R1 et R2, consistant à
construire une relation de même schéma R3 ayant des tuples ceux appartenant à R1 ou à R2
ou aux deux relations.
Notations utilisées :
R
Expression ou notation algébrique
R = R1 U R2 U
R= UNION (R1, R2)
R=APPEND (R1, R2) R2
R1
R est la relation resultat Notation graphique

63
Dr APPOH, INP HB, 07 07 930589
Exemple de schéma relationel
En intention
Buveurs(nb,nom,adresse);
Vins (nv, Cru, mill, qualité, degré, Région, Couleur) ;
Bus(nb, nv, date, quantité).
En extensions de Vins suivies d’une union

Vins1 Cru Mill Région Couleur


Chenas 1983 Beaujolais Rouge
Tokay 1980 Alsace Blanc
Tavel 1986 Rhône Rose

Vins2 Cru Mill Région Couleur


Tokay 1980 Alsace Blanc
Chablis 1985 Bourgogne Rouge

Vins3 = Vins1 U Vins2 Cru Mill Région Couleur


Chenas 1983 Beaujolais Rouge
Tokay 1980 Alsace Blanc
Tavel 1986 Rhône Rose
Chablis 1985 Bourgogne Rouge
NB: Les notations graphiques sont souvent celles utilisées dans la représentation d’une
requête sous forme d’arbres algébriques.
Signification de CRU de la table VINS :
Un cru désigne un vignoble produisant un vin spécifique et, par extension, ce vin.
Le cru du vignoble : IG (vin avec Indication Géographique), VSIG (vin sans indication
géographiques).
=>Vin de France,
Pour les VSIG : Le vin de table devient le Vin de France (oui, ça sonne mieux )
Pour les IG : Les AOC (Appellation d’Origine Contrôlée) deviennent les AOP (Appellation
d’Origine Protégée).
Les vins de pays deviennent les IGP (Indication Géographique Protégée).
Quant aux AOVDQS (Appellation d’origine vin délimité de qualité supérieure), ils
disparaissent. Ils migrent au choix entre AOP ou IGP

64
Dr APPOH, INP HB, 07 07 930589
b- Différence
La différence est également une opération classique binaire de la théorie des ensembles
adaptée de même schéma. Ainsi, les deux relations doivent avoir le même schéma.
C’est une opération portant sur deux relations de même schéma R1 et R2, consistant à
construire une relation de même schéma R3 ayant des tuples ceux appartenant à R1 et
n’appartenant pas à R2.
C’est un opérateur non commutatif. L’ordre des opérandes est donc important.
Notations utilisées :
R
R = R1 - R2
R= DIFFÉRENCE (R1, R2) -
R=REMOVE (R1, R2)
R=MINUS (R1, R2)
R1 R2
Exemple
Notation graphique
Vins1 Cru Mill Région Couleur
Chenas 1983 Beaujolais Rouge
Tokay 1980 Alsace Blanc
− Tavel 1986 Rhône Rose

Vins2 Cru Mill Région Couleur


Tokay 1980 Alsace Blanc
Chablis 1985 Bourgogne Rouge

Vins4 = vins1 - Vins2 Cru Mill Région Couleur


Chenas 1983 Beaujolais Rouge
Tavel 1986 Rhône Rose

c- Produit cartesien (cartesian product)


Le produit cartésien est une opération binaire adaptée aux relations. Les deux relations n’ont
pas nécéssité d’avoir même schéma.
C’est une opération portant sur deux relations R1 et R2, consistant à construire une relation
R3 ayant pour schéma la concaténation de ceux des relations opérandes et pour tuples toutes
les combinaisons des tuples des relations opérandes. R
Notations utilisées :
X
R=R1 X R2
R= PRODUIT (R1, R2)
R= TIMES (R1, R2) R1 R2
Notation graphique

65
Dr APPOH, INP HB, 07 07 930589
VinsA Cru Region Couleur
Chenas Beaujolais Rouge
Tokey Alsace Blanc
Tavel Rhone Rose
X
Année Mill
1980
1985
Vins6 = VinsA X Année Cru Région Couleur Mill
Chevas Beaujolais Rouge 1980
Tokey Alsace Blanc 1980
Tavel Rhone Rose 1980
Chevas Beaujolais Rouge 1985
Tokey Alsace Blanc 1985
tavel Rhone Rose 1985

2) Expression algébrique des opérations spécifiques (relationnelles) et formalisme


a- Projection
La projection est une opération spécifique aux relations qui permet de supprimer des
attributs d’une relation. Elle est unaire. Son nom provient du fait qu’elle permet de passer
d’une relation n-aire à une relation p-aire avec p<= n ; donc d’un espace à n dimensions à un
espace à moins de dimensions.
C’est une opération sur une relation R1 consistant à composer une relation R2 en enlevant
à la relation initiale R1 tous les attributs non mentionnés en opérandes (aussi bien au
niveau du schéma que des tuples) et en éliminant les tuples de R1 en doubles qui sont
conservés une seule fois.
Notations utilisées :
En désignant par Ai, A2 …, An les attributs de la projection on a : R2
R2 = П Ai, A2 …, An (R1)
R2= R1[Ai, A2 …, An]
A1, A2 …, An
R2= PROJECT (R1, Ai, A2 …, An)
R2= PROJECTION (R1, Ai, A2 …, An)
R2= PROJECTION R1 (Ai, A2 …, An) R1
Notation graphique de la projetion
Exemple

Vins1 Cru Mill Région Qualité


Volnay 1983 Bourgogne A
Volnay 1980 Bourgogne B
П Cru, Région Chenas 1986 Beaujolais A
Julienas 1986 Beaujolais C

П (Vins1) Cru Région


volnay Bourgogne
chenas Beaujolais
julienas Beaujolais
NB : La projection est une coupure verticale.

66
Dr APPOH, INP HB, 07 07 930589
b- Sélection ou restriction
La restriction est aussi une opération spécifique unaire, qui produit une nouvelle relation en
enlevant des tuples à la relation opérande selon un critère (prédicat ou qualification).
C’est une opération sur une relation R1 produisant une relation R2 de même schéma, mais
comportant les seuls tuples qui vérifient la condition précisée en arguments.
Les conditions possibles sont du type : <attribut> <opérateur> <valeur> où l’opérateur
est un opérateur de comparaison choisi parmi {=, <,>, <=, >= , ≠}.
Il est possible d’utiliser des compositions ou combinaisons logiques de critères comprenant
des conjonctions (et) et des disjonctions (ou) ou des combinaisons des deux.
R2

Ai Ө valeur

R1
Notation graphique de la sélection
Notations utilisées :
R2 = δ condition
(R1)
R2=R1[condition]
R2=RESTRICT (R1, condition)
R2=RESTRICTION (R1, condition)
Exemple

Vins1 Cru Mill Région Qualité


volnay 1983 Bourgogne A
volnay 1980 Bourgogne B
δ mill> 1983 chenas 1984 Beaujolais A
julienas 1986 Beaujolais C

Vins1 Cru Mill Région Qualité


chenas 1984 Beaujolais A
julienas 1986 Beaujolais C
NB : La sélection (ou restriction) est une coupure verticale.
c- jointure
La jointure est une des opérations essentielles de l’algèbre relationnelle, sans doute la plus
difficile à réaliser par les systèmes. Elle permet de composer deux relations à l’aide d’un
critère de jointure. Elle peut être vue comme une extension du produit cartésien avec une
condition permettant de comparer les attributs. Elle est binaire.
C’est une opération consistant à rapprocher selon une condition les tuples de deux relations
R1 et R2 afin de former une troisième relation R3 qui contient l’ensemble de tous les tuples
obtenus en concaténant un tuple de R1 et un tuple de R2 vérifiant la condition de
rapprochement.
Les conditions possibles sont du type : <attribut1> <opérateur> <attribut2> où
attribut1 appartient à R1 et attribut2 à R2.

67
Dr APPOH, INP HB, 07 07 930589
Selon le type d’opérateur on distingue :
- L’équi-jointure si l’opérateur est =.
- L’inéqui jointure dans les autres cas c'est-à-dire avec un des opérateurs {<, > ,<=,>= , ≠}.

Il est possible d’utiliser des compositions logiques de critères comprenant des conjonctions
(et) et des disjonctions (ou).
Dans le cas de l’équi jointure, les deux attributs égaux apparaissent chacun dans le résultat.
Il y a donc duplication d’une même valeur dans chaque tuple. Afin d’éliminer cette
redondance, on définit la jointure naturelle. Jointure naturelle comme suit :
Opération consistant à rapprocher les tuples de deux relations R1 et R2 afin de former une
troisième relation R3 dont les attributs sont l’union des attributs des relations R1 et R2, et
dont les tuples sont obtenus en composant un tuple de relation R1 et un tuple de R2 ayant
même valeur pour les attributs de même nom.
Résultat

Ai Bj

R1 R2
Représentation graphique de la jointure
Notations utilisées :
R1 R2
condition
Join (R1, R2, condition)
Où Ai appartient à R1 et Bj à R2.
Exemples
Les exemples suivants illustrent cette opération de jointure sur les relations VINS et
LOCALISATION.
Qualité de vin par ordre décroissant donné par les lettres A, B, C, D, E.
VINS Cru Mill Qualité
Volnay 1983 A
Volnay 1979 B
Chablis 1983 A
juliénas 1986 C

LOCALISATION Cru Région QualMoy


Volnay Bourgogne A
Chablis Bourgogne A
Chablis Californie B
VINS_REG Cru Mill Qualité Région QualMoy
Volnay 1983 A Bourgogne A
Volnay 1979 B Bourgogne A
Chablis 1983 A Bourgogne A
Chablis 1983 A Californie B

68
Dr APPOH, INP HB, 07 07 930589
Il s’agit d’une jointure naturelle des relations VINS et LOCALISATIONS
Condition : Qualité ± QualMoy

VINS Cru Mill Qualité


Volnay 1983 A
Volnay 1979 B
Chablis 1983 A
juliénas 1986 C

Qualité ± QualMoy

LOCALISATION Cru Region QualMoy


Volnay Bourgogne A
Chablis Bourgogne A
Chablis Californie B

VINS_LOC Cru Mill Qualité Cru Région QualMoy


Volnay 1983 A Chablis Californie B
Volnay 1979 B Volnay Bourgogne A
Volnay 1979 B Chablis Bourgogne A
Chablis 1983 A Chablis Californie B
Julienas 1986 C Volnay Bourgogne A
Julienas 1986 C Chablis Bourgogne A
Julienas 1986 C Chablis Californie B

C’set une inéquijointure des relations VINS et LOCALISATION.


Au regard de la condition ou critère de la jointure, il est fait usage des attributs Qualmoy et
Qualité pour la formaliser.
3) Expression algébrique des opérations dérivées et formalisme
Les opérations suivantes sont parfois utilisées pour manipuler des relations. Elles peuvent en
général être obtenues par combinaisons des précédentes.
a -Intersection
L’intersection est une opération classique de la théorie adaptée aux relations de même
schéma.
C’est une opération portant sur deux relations R1 et R2 de même schéma, consistant à
construire une relation R3 ayant pour les tuples ceux appartenant à la fois à R1 et à R.
Notations utilisées : R
Expression algébrique
R=R1 ∩ R2 ∩
R = INTERSECT (R1, R2)
R = INTERSECTION (R1, R2)
R = AND (R1, R2) R1 R2
Représentation graphique de l’intersection
Exemple (En extension)

69
Dr APPOH, INP HB, 07 07 930589
Vins1 Cru Mill Région Couleur
Chenas 1983 Beaujolais Rouge
Tokay 1980 Alsace Blanc
Tavel 1986 Rhône Rose

Vins2 Cru Mill Région Couleur


Tokay 1980 Alsace Blanc
Chablis 1985 Bourgogne Rouge

Vins 5 = vins 1 ∩ Vins 2 Cru Mill Région Couleur


Tokay 1980 Alsace Blanc

Remarque: A ∩ B = A- (A-B) = B - (B -A)

L’intersection est à la fois une opération dérivée et ensembliste.


b-division
La division est une opération ensembliste permettant de rechercher dans une relation les
sous tuples complétés par tous ceux d’une autre relation. Elle permet ainsi d’élaborer la
réponse à des questions de la forme « quelque soit, x, trouvez y ».
C’est une opération consistant à construire le quotient de la relation
D ( A1, A2, A5, …., Ap, Ap+1 ,..... , An) par la relation d(Ap+1,…,An) comme la relation
Q(A1,A2,A3,…,Ap) dont les tuples sont ceux qui concaténés à tout tuple de d donnent un
tuple de D.
De manière plus formelle, désignons par ai, une valeur quelconque de l’attrribut Ai. Un
tuple est alors une suite des valeurs <a1, a2, a3, …>. Le quotient Q de D par d est défini par :
Q ={<a1, a2, … ap> tel que, quelque soit <ap+1, .., an> de d, <a1, a2, …, ap, ap+1, …, an)
appartient à D}.
Les notations possibles sont :
R
Q= D ÷d
Q= division (D, d) avec Q relations résultat.
÷
R =R1÷ R2
R1 R2

Exemple Représentation graphique la division

VINA Cru Mill Qualité


Volnay 1983 A
Volnay 1979 B
÷ Chablis 1983 A
Chablis 1979 A
Chevas 1986 A
QUALITE Mill Qualité
1983 A
1979 A

VINSB Cru
Chablis

70
Dr APPOH, INP HB, 07 07 930589
VINSB = VINSA / QUALITE
Remarque :
L’intersection est une opération dérivable des opérations typiques de base (union, différence,
produit cartésien). Elle est donc une opération redondante avec les opérations de base, puisse
qu’il est possible de l’obtenir à partir de la différence à l’aide d’une des formules suivantes :
A ∩ B= A- (A-B) = B – (B-A)
La division peut être obtenue à partir d’opération de base à savoir la différence, le produit
cartésien, la projection comme suit :
D ÷ d = R1 – R2 avec
R1 = П A1, A2, …, Ap (D) et
R2 = П A1, A2, …, Ap ( (R1 x d) – D )
c-Complément
le complément permet de trouver les tuples qui n’appartiennent pas à une relation. Il suppose
à priori que les domaines sont finis. (sinon on obtient des relations infinies)
C’est un ensemble des tuples du produit cartésien des domaines des attributs d’une relation
n’appartenant pas à cette relation.
Notations utilisées :
-Not (R1)
-Comp (R1)
Domaines CRU ={chablis, volnay, médoc}
Couleur ={Rouge, Blanc, Rosé}

Exemple

COUL_CRU Cru couleur


Chablis Rouge
Chablis Rosé
Volnay Rouge
Médoc Rosé
Médoc Blanc

Not(COUL_CRU) Cru couleur


Chablis Blanc
Volnay Rosé
Volnay Blanc
Médoc Rouge
Parlant de produit cartésien de cu et de couleur, on obtient 9 tuples. Le complement sur 5
tuples donne trivialement 4 tuples.
d-Eclatement
L’éclatement est une opération qui n’appartient pas vraiment à l’algèbre relationnelle
puisqu’elle donne deux relations en résultats, à partir d’une. Elle est cependant utile pour
partionner une relation horizontalement en deux sous relations. A ce titre elle est concernée
par une extension de l’algèbre relationnelle.

71
Dr APPOH, INP HB, 07 07 930589
C’est une opération consistant à créer deux relations à partir d’une relation R1 et d’une
condition, la première contenant les tuples de R1 respectant la condition et la deuxième
ceux ne la vérifiant pas.
Notations utilisées :
R1 = RESTRICT (R, condition)
R2 = RESTRICT(R, not (condition))
e-Jointure externe
• Jointure externe
Les jointures telles que définies précédemment perdent des tuples d’au moins une relation
quand les jointures n’ont pas de projections identiques sur l’attribut de jointure. Pour
préserver toutes les informations dans tous les cas, il est nécessaire de définir des jointures
qui conservent les tuples sans correspondant avec des valeurs nulles associées quand
nécessaire. C’est dans ce but que CODD (1979) a introduit les jointures externes.
C’est donc une opération générant une relation R3 à partir de deux relations R1 et R2, par
jointure de ces deux relations et ajout des tuples de R1 et de R2 ne participant pas à la
jointure, avec des valeurs nulles pour les attributs de l’autre relation.
Cette opération est très utile, en particulier pour proposer ces vues sans perte d’information.
Notation
- RELATION1 RELATION2

- EXT-Join (RELATION1, RELATION2)


Remarque : La jointure externe permet par exemple de joindre des tables clients et
commandes sur un numéro de client commun, en gardant les clients sans commande et les
commandes sans clients associés.
Exemple
VINS Cru Mill Qualité
Volnay 1983 A
Volnay 1979 B
Juliénas 1986 C

LOCALISATION Cru Région QualMoy


Volnay Bourgogne A
Chablis Bourgogne A
Chablis Californie B

VINSREG Cru Mill Qualité Région QualMoy


Volnay 1983 A Bourgogne A
Volnay 1979 B Bourgogne A
Chablis - - Bourgogne A
Chablis - - Californie B
Juliénas 1986 C - -

72
Dr APPOH, INP HB, 07 07 930589
-Dérivées de la jointure externe
Aussi, on peut distinguer la jointure externe droite qui garde seulement les tuples sans
correspondant de la relation de droite. Elle se note :

- R1 R2 ou REXT-JOIN

- R1 R2 ou LEXT-JOIN

Exemples (en exercices)

- jointure externe gauche R1= vins et R2 = Localisation

VINS Cru Mill Qualité


Volnay 1983 A
Volnay 1979 B
Juliénas 1986 C

LOCALISATION Cru Région QualMoy


Volnay Bourgogne A
Chablis Bourgogne A
Chablis Californie B

VINSREG Cru Mill Qualité Région QualMoy


Volnay 1983 A Bourgogne A
Volnay 1979 B Bourgogne A
Juliénas 1986 C - -
- jointure externe droite R1= vins et R2 = Localisation

VINS Cru Mill Qualité


Volnay 1983 A
Volnay 1979 B
Juliénas 1986 C

LOCALISATION Cru Région QualMoy


Volnay Bourgogne A
Chablis Bourgogne A
Chablis Californie B

VINSREG Cru Mill Qualité Région QualMoy


Volnay 1983 A Bourgogne A
Volnay 1979 B Bourgogne A
Chablis - - Bourgogne A
Chablis - - Californie B

f-Semi-jointure

73
Dr APPOH, INP HB, 07 07 930589
Dans certains cas, lors de l’exécution d’une jointure, il est de conserver tous les attributs de
deux relations résultats : seuls les attributs d’une des deux relations sont conservés. A ce
titre une opération spécifique appelée semi-jointure, très utile pour optimiser l’évaluation
des questions a été définie.
C’est donc une opération portant sur deux relations R1 et R2, donnant en résultat les tuples
de R1 qui participent à la jointure des relations.
Notation :
- R1 R2
- SEMI-JOIN (R1, R2)
Elle est équivalente à la jointure des relations R1 et R2 suivis par une projection du résultat
sur les attributs de la relation R1.
Exemple

VINS Cru Mill Qualité


Volnay 1983 A
Volnay 1979 B
Chablis 1983 A
Juliénas 1986 C

LOCALISATION Cru Région QualMoy


Volnay Bourgogne A
Chablis Bourgogne A
Chablis Californie B

VINSREG Cru Mill Qualité


Volnay 1983 A
Volnay 1979 B
Chablis 1983 A

g-Fermeture transitive

C’est une opération très particulière permettant d’ajouter des tuples à une relation.
Elle n’appartient pas à l’algèbre relationnelle, mais peut être vue comme une de ses
extensions. Il n’est pas possible de constituer cette opération avec un nombre fixe
d’opérations de l’algèbre relationnelle : elle peut être effectuée par une série de
jointure/projection/union. Mais le nombre d’opérations à effectuer dépend du contenu de la
relation.

C’est donc une opération sur une relation R à deux attributs (a1, a2) de même domaine
consistant à ajouter à R tous les tuples qu se déduisent successivement par transitivité, c’set
à dire que si l’on a des tuples <a,b> et <b,c>, on ajoute <a, b).

Notation
-close(R)
-R+
-ℸ (R)
...

74
Dr APPOH, INP HB, 07 07 930589
Calcul

Il est possible de générer des données non tuples à partir des tuples des relations. Ce sont les
agrégats u données calculées pour lesquelles des fontions mathématiques existent : sum,
avg, count …

Remarque :
Il est possible de générer des données non tuples à partir des tuples. Ce sont les agrégats ou
données calculées pour les quelles des fonctions mathématiques existent : sum, average,
count, …
Expression de l’algèbre relationnelle
A partir des opérations de l’algèbre relationnelle, il est possible de composer un langage
d’interrogation de base de données. Une question peut alors être représentée par un arbre
d’opérateurs relationnels ou algébriques.
Exercices : Base dégustation dont le schéma est :

BUVEURS (nb, nom, prénom, adresse, type)


VINS (nv, cru, mil, qualité, degré)
ABUS (nb, nv, date, quantité)

1) Donner les degrés des vins de crus Morgan et de Millésime 1978.

Solution 1
R1 = Restrict (VINS, crus = "Morgan") ou R1 = SELECTION (VINS, crus = "Morgan")
R2 = Restrict (VINS, Mill = "1978")
R3= Intersect (R1, R2)
Résultat = Project (R3, degré)
Deux autres versions

R1 = Restrict (VINS, crus = "Morgan")


R2 = Restrict (R1, Mill = "1978")
Résultat = Project (R2, degré)
R1 = Restrict (VINS, crus = "Morgan" et Mill = "1978")
Résultat = Project (R1, degré)

2) donnez les noms et les prénoms des buveurs de morgon ou de chevas.

Solution2
R1= Restrict (VINS, cru= "morgon")
R2= Restrict (VINS, cru = "chevas")
R3= Union (R1, R2)
R4= Join (R3, Abus)
R5= Join (R4, Buveurs)
Résultat= Project (R5, nom, prénom)

75
Dr APPOH, INP HB, 07 07 930589
3) Donnez les noms et adresse des buveurs ayant but plus de 10 bouteilles de chablis 1976
avec le degré de vins.
Solution3
R1= Restrict (Abus, Qualité>10)
R2= Restrict (VINS, Cru= "Chablis")
R3= Restrict (R2, Mill= 1976)
R4= Restrict (R1, R3)
R5= Project (R4, Nb, Degré)
R6= Join (R5, Buveurs)
Résultat= Project (R6, Nom, Adresse, Degré).

Ou
R1= Restrict (VINS, Cru= "Chablis")
R2= Restrict (VINS, Mill= 1976)
R3= Restrict (Abus, Qualité>10)
R4=Intersect (R1,R2)
R5=Project (R4,degré)
R6=Join(R3,R5)
R7=Join(R6,Buveur)
R8=Project (R7, nom,adresse,degré)

4) Donnez les noms des buveurs n’ayant bu que du morgon.

Solution4

R1= Join (Buveurs, Abus, Vin)


R2= Restrict (R1, Cru= "Morgon")
R3= Project (R2, nom)
R4= Restrict (R1, Cru ≠ "Morgon")
R5= Project (R4, nom)
Résultat= Minus (R3, R5).

ARBRE ALGEBRIQUE

Une question exprimée sous forme d’un programme d’opérations de l’algèbre relationnelle
peut être représentée par un arbre relationnel ou arbre algébrique..
C’est un arbre dont les nœuds correspondent à des opérations algébriques de relation et les
arcs à des relations de base ou temporaires représentant des flots de données entre
opérations.
Ainsi la question de trouver les noms et prénom des buveurs habitants Paris ayant bu du
chablis depuis 1972 peut être exprimée à l’aide d’un arbre dit arbre relationnel.
Plusieurs arbres équivalents peuvent être déduits d’un arbre donné à l’aide de règles de
transformation simples telles que :
La permutation des jointures et restrictions, la permutation des projections et des jointures,
le regroupement des intersections sur une même relation, etc. Ces transformations sont à la
base des techniques d’optimisation des questions.

76
Dr APPOH, INP HB, 07 07 930589
Exemple

RESULTAT

B. B.NOM, B. PRENOM
V.NV

A. Date >= 01/01/72

V. Cru Like « Chablis »

=
A. NV = V. NV

B. NB A. NB
=
VINS V

B. ADRESSE Like « Paris »

BUVEUR B ABUS A

La composition d’opérations de l’algèbre relationnel ne nécessite pas toujours d’attendre le


résultat de l’opération précédente pour exécuter l’opération suivante. Restriction, projection
et jointure peuvent être exécutées par des algorithmes à flots de données. Des opérateurs se
succédant sur un arbre, peuvent être donc exécutés en parallèle par des algorithmes « pipe
line ». Des opérateurs figurant sur des branches distinctes d’un arbre peuvent aussi être
exécutés en parallèle de manière indépendante.
La représentation par arbre algébrique met ainsi en évidence des possibilités de parallélisme
et des enchaînements nécessaires. Les propriétés des arbres relationnels sont importantes
pour optimiser les questions dans les contextes parallèles.

Exemple d’arbre équivalent au précédent.

77
Dr APPOH, INP HB, 07 07 930589
RESULTAT

B. B.NOM, B. PRENOM
V.NV

A. NV V. NV
=

B.nom,
B.prenom V.NV
A.NV

A. NB V. Cru « Chablis »
B. NB =
=

B.NB A.NV
B.nom, A.NB VINS V
B.prenom

Like « Paris » A. Date >= 01/01/72


B. ADRESSE

BUVEUR B
ABUS A

Arbre équivalent à l’arbre précédent

L’optimisation des requêtes se base sur des notions en termes de commutativité ou


d’associativité de certaines opérations.

78
Dr APPOH, INP HB, 07 07 930589
LANGAGE SQL2
Les serveurs de données relationnels présentent de nos jours une interface externe sous
forme d’un langage de recherche et de mise à jour. Cette interface permet de spécifier les
ensembles de données à sélectionner ou à mettre à jour à partir de propriétés de valeur sans
dire comment trouver les données.
Ainsi, les opérateurs directement utilisables par les usagers sont en général ceux des
langages dits assertionels (QUEL, QBE, SQL).
SQL est normalisé depuis les années 197-1989 par l’ISO.
SQL est le nom générique d’un standard constitué par une famille de langages de définition,
de manipulation et de contrôle de données relationnelles.
Il est issu du langage SEQUEL Structured English as a QUERY Language.
Il constitue le standard d’accès aux BD assertionnelles. Les autres interfaces par menu,
fenêtre, grille, …ou de programmation de type langage de 3e ou 4e génération sont le plus
souvent offertes au dessus du langage SQL. Celui-ci constitue donc le point d’entrée
obligatoire dans les SGBD relationnels. De manière générale, SQL utilise des critères de
recherche (encore appelés qualification) conçus à partir de la logique des prédicats de
premier ordre.
Il comporte quatre opérations de base (données) utilisant des clauses (règles de base,
primitives, mots clés).

-recherche (mot clé SELECT en SQL ; RETRY en QUEL)


-Insertion (mot clé INSERT en SQL ; APPEND en QUEL)
-Suppression (mot clé DELETE en SQL ; SUPPRESS en QUEL)
-Modification (ALTER en SQL).

What is SQL?
SQL stands for Structured Query Language.
SQL lets you access and manipulate databases.
SQL became a standard of the American National Standards Institute (ANSI) in 1986, and of the
International Organization for Standardization (ISO) in 1987.

What can SQL do?


SQL can execute queries against a database.
SQL can retrieve data from a database.
SQL can insert records in a database.
SQL can update records in a database.
SQL can delete records from a database.
SQL can create new databases.
SQL can create new tables in a database.
SQL can create stored procedures in a database.
SQL can create views in a database.
SQL can set permissions on tables, procedures, and views.

Modification structurelles (schéma)


ALTER table <nom-table> <alteration>
Ajout d’une colonne : add column
Modification d’une colonne : alter column
Ajout d’une contrainte : drop constraint
La table constitue l’élément central autour duquel gravitent d’autres objets (index).

79
Dr APPOH, INP HB, 07 07 930589
Segment
e
Vue
Synonyme Table e

Index
Cluster

-Il a deux grandes composantes LDD (DDL) et LMD (DML).


-Serveur de base de données = Instance BD + BD

SQL
LDD
LCD
LMD GRANT
LID REVOKE
SELECT CONNECT (CONN)
CREATE
ALTER
INSERT DROP
UPDATE TRUNCATE
DELETE ADD
RMAN COMMIT
Lock table ROLLBACK
RENAME
SAVEPOINT

80
Dr APPOH, INP HB, 07 07 930589
]

***-------***-------***-------***-------
(Dans ORACLE enterprise Linux : oraclce pwd kouame)
Se connecter comme sysdba
Pour se déconnecter de la base oracle (orcl), faire un shutdown immediate pour relancer la
Base de données :
Faire :
\sqlplus /nolog
conn / as sysdba
startup
Se reconnecter en utilisateur connu sinon les objets seront accédés comme suit : scott.emp ;
Scott est un utilisateur prpropriétaire des tables dept et emp.
***-------***-------***-------***-------
Oracle linux enterprise installé en virtualisation (VMWare Worsktation 10.0.0 build-
1295980)

oracle

sqlplus /nolog
puis
conn / as sysdba,
starup
ou
sqlplus / as sysdba
startup

Une fois la bd de donnée est montée on peut avoir accès selon les droits :

desc dict
select
desc cats
desc cat
select substr(table_name, 1, 10) from cat
desc v$database

81
Dr APPOH, INP HB, 07 07 930589
Pour fermeture (démonter la BD)

shutdown immediate

***-------***-------***-------***-------

"/u01/app/oracle/product/11.2.0/dbHome/bin" comprend un les commandes sysdba pour


l’administration de la BD oracle.
Trois types de fichiers de gestion de la base de données sous oracle : données, contrôle et log
respectivement logés dans les tables systèmes v$datafile, v$controlfile, v$logfile :

82
Dr APPOH, INP HB, 07 07 930589
***-------***-------***-------***-------

Créer la base de données dans oracle à partir de la génération du script de cette base.

83
Dr APPOH, INP HB, 07 07 930589
Certification oracle : OCP/OCA
Connaitre les fichiers .exe dont la plupart constitue les commandes d’oracle. Ces fichiers
sont dans : /u01/app/oracle/product/11.2.0/dbHome/bin

acfsroot emwd.pl okdstry


adapters eusm okdstry0
adrci exp okinit
adrciO expdp okinit0
AgentLifeCycle.pm expdpO oklist
AgentMisc.pm expO oklist0
agentok.sh extjob olsadmintool
AgentStatus.pm extjobo olsoidsync
AgentSubAgent.pm extjobO omsdown.pl
agtctl extjoboO omsstart.pl
agtctlO extproc omsstop.pl
amdu extprocO onsctl
amduO extusrupgrade orabase
aqxmlctl findAvailableSpace.pl oracg
aqxmlctl.pl fmputl oracle
asmcmd fmputlhp oracleO
asmcmdcore genagtsh oradism
bndlchk genclntsh oraenv
chopt genclntst orajaxb
chopt.ini genezi orapipe
chopt.pl geneziO orapki
cluvfy genksms orapwd
cluvfyrac.sh gennfgt orapwdO
commonenv gennttab oraxml
commonenv.template genoccish oraxsl
CompEMagent.pm genorasdksh orion
CompEMcentral.pm gensyslib orionO
CompEMcore.pm gnsd osdbagrp
CompEMdbconsole.pm grdcscan osdbagrp0
coraenv hsalloci osh
crsdiag.pl hsallociO ott
csscan hsdepxa owm
ctxkbtc hsdepxaO pafctl
ctxkbtc0 hsots pafctl.bat
ctxlc hsotsO PARDeploy
ctxlcO imp PARDeploy.bat
ctxload impdp patchAgtStPlugin.pm

84
Dr APPOH, INP HB, 07 07 930589
ctxloadO impdpO Path.pm
cursize impO platform_common
cursizeO jssu plshprof
db2gc kfed plshprofO
dbca kfedO proc
DBConsoleBanner.pm kfod purgeDeploymentLibrary
DBConsoleLifeCycle.pm kfodO racgwrap
DBConsole.pm kgmgr racgwrap.sbs
DBConsoleStatus.pm kgmgrO rawutl
dbfs_client LaunchEMagent.pm rawutl0
dbfsize LaunchEMdbconsole.pm rconfig
dbfsizeO lbuilder RegisterTType.pm
dbgeu_run_action.pl lcsscan relink
dbhome ldapadd renamedg
dbshut ldapaddmt renamedg0
dbstart ldapbind repo_mig
dbua ldapcompare rman
dbv ldapdelete rmanO
dbvO ldapmoddn runclass
deploymentLibraryExport.sh ldapmodify sAgentUtils.pm
deploymentLibraryImport.sh ldapmodifymt sbttest
deploync ldapsearch sbttestO
dg4odbc ldifmigrator schema
dg4odbcO linkshlib schemasync
dg4pwd lmsgen SecureAgentCmds.pm
dg4pwdO loadjava SecureDBConsoleCmds.pm
dgmgrl loadpsp SecureOMSCmds.pm
dgmgrlO loadpspO SecureUtil.pm
diagsetup lsnodes setasmgid
Directory.pm lsnrctl setasmgid0
diskmon.bin lsnrctl0 setsso.pl
dropjava lxchknlb skgxpinfo
dsml2ldif lxegen skgxpinfoO
dumpsga lxinst sqlldr
dumpsga0 mapsga sqlldrO
dvca mapsga0 sqlplus
e2eme maxmem srvconfig
e2eme0 maxmemO srvctl
echodo mkpatch StartAgent.pl
emagent mkpatchO statusnc
emagent0 mkstore symfind
emagentdeploy.pl ncomp sysresv
EMAgentPatch.pm netca sysresv0
EMAgent.pm netca_deinst.sh targetdeploy.pl
emagtm netmgr tkprof
emagtm0 nfsPatchPlugin.pm tkprofO
emagtmc nid tnnfg
emagtmc0 nidO tnslsnr
emca nmb tnslsnr0
EmCommonCmdDriver.pm nmb0 tnsping
EMconnectorCmds.pm nmb.0 tnsping0
emctl nmcbufp transx
EmctlCommon.pm nmei trcasst
emctl.pl nmei0 trcldr
emctl.template nmhs trcroute
emdctl nmhs0 trcroute0
emdctl0 nmhs.0 trcsess
EMDeploy nmo tstshm
EMDeploy.bat nmo0 tstshmO
EMDeploy.pm nmo.0 uidrvci
emdfail.command nmocat uidrvciO
EMDiag.pm nmocat0 umu
emdrollogs.pl nmosudo unzip
emdwgrd nmosudo0 wrap
emdwgrd.bat nmupm wrapO
emdwgrd.pl nmupm0 wrc
EmKeyCmds.pm odisrvreg wrcO
EMomsCmds.pm oerr xml
EMSAConsoleCommon.pm oidca xmlcg
emtgtctl oidprovtool xmlwf
emtgtctl2 ojmxtool xsl
emtgtctl20 ojmxtool0 xsql
emutil ojvmjava xvm
emutil.bat.template ojvmtc zip

85
Dr APPOH, INP HB, 07 07 930589
Remarque
Tout modèle de données obéit à trois composantes principales (du point de vue SGBD) :
- Définition ;
- Manipulation ;
- Contrôle.
Aperçu de la constitution d’une BD. Une des tâches essentielles du développement des BD
est la conception des schémas de base. L’objectif est de structurer le domaine d’application
de sorte à le représenter sous forme de type ou de table. La représentation doit être juste pour
éviter les erreurs sémantiques.
Elle doit être aussi complète pour permettre le développement des programmes
d’applications souhaitées.
Elle doit être évolutive (sécable) afin de supporter la prise en compte rapide de nouvelles
demandes.
Le concepteur ou l’administration de la base effectuent doivent répondre à ces choix.
PILOTE (PL # INT (3), PLNOM CHAR (12), ADR CHAR (12) PRIMARY KEY (PL #))
AVION (AV # INT (3), AVNOM CHAR (12), CAP INT (3), LOC CHAR (20), PRIMARY
KEY (AV #))
VOL (VOL CHAR (5) PRIMARY KEY, PL # INT (3) REFERENCE PILOTE (PL #), AV #
INT (3) REFERENCE AVION (AV #), VD CHAR (20)
Not null, VA CHAR (20) HD DECIMAL (2, 2))
FORMATION (PL # NUMBER (4) not null REFERENCES PILOTE (PL #), TYPAV
CHAR (2) not null, DATEF DATE, PRIMARYKEY (PL #, TYPAV).

AVION
1, n AV
CONDUIRE VOL AVNom
VD
CAP
VA LOC
HD
HA

1, 1
1, n

PILOTE APPARTENIR
PL
PLNom
ADR 1, N
TYPAVION
TYPAVION

86
Dr APPOH, INP HB, 07 07 930589
REQUETES ET REPONSES:
Q1: Quels sont les types d’avion de la Compagnie avec leur capacité, tire par ordre croissant
de capacité pour les capacités > 250.
Remarque : Tous les avions de même nom ont la même capacité.
R1 (Solution de Q1) : SELECT DISTINCT AVNom, cap FROM AVION WHERE cap >
250 ORDER BY cap DESC;
NB: Les termes connus du langage sont des clauses, les autres sont des prédicats.
Q2 : insérer la ligne (110,A320, 320, Nice)
R2: Insert into AVION values (110, ‘A320’, ‘NICE’);

Q3: Augmenter de 10% la capacité des avions localisés à Nice.


R3: Update AVION set cap = 11, 1 * cap where Loc = ‘Nice’;
Q4: supprimer les vols de NICE au départ après 20h.
R4: Delete * from Vol where VD = ‘Nice’ and HD>20
Q5: Pour chaque avion en service donnez son n°, type et sa capacité.
R5: Select AV, AVNom, cap from Avion, Vol
where vol.AV = AVION.AV
Q6: Quel est le nombre d’avion de la Cie?
R6: Select count (AV) from Avion;
Q7: Quel est le nombre d’avion en service?
R7: Select Count (AV) from VOL
Q8: Pour chaque avion en service donner le nombre des pilotes différent qui le conduisent.
R8: Select VOL.AV, count (Distinct VOL.PL) from Vol group by #AV

Vol2 PL# AV# VD


VOL1 PL# AV# VD
1 100 Nice
1 100 Nice
1 101 Paris
1 101 Paris
1 102 Toulouse
1 102 Toul
2 100 Paris
2 105 Nice
VOL3 PL#AV# VD
2 100 Paris
2 105 Nice

Q9: Quels sont les numéros des pilotes qui assurent plus 2 vols?
R9: select PL from VOL group by PL Having Cunt (*) >2;
Q10: Quels sont les n° de pilote (avec le nombre des vols assurés) qui assurent plus de 2
vols au départ de Nice ?
R10: Select PL, count (*) From VOL where PL in (Select PL From Vol where VD = ‘Nice’
Group By Having Count (*) >2;

87
Dr APPOH, INP HB, 07 07 930589
2e Partie Méthode ensembliste et Méthode prédicative

Q1: Quels sont les noms des avions avec leur n° et leur localisation?
• Méthode ensembliste : un ordre est caractérisé par
- un seul SFW par table
- le 1er SFW traduit le résultat
- association des SFW par l’appartenance ensembliste
• Méthode prédicative : un ordre est caractérisé par :
- un seul SFW pour toute la question
- la liste de tables intervenant dans l’écriture de la requête est dans FRM
- la traduction de la jointure par une égalité entre les colonnes
Q2 : Quels sont les noms des pilotes qui assurent un vol au départ de paris
Q3 : Quels sont les noms des pilotes qui conduisent un Airbus ?
S2:
- (méthode prédicative)
Select PLNom from pilote, vol where pilote.PL = vl.PL and vol.VD = ‘Paris’
-(méthode ensembliste)
Select PLNom from pilote where PL# = any (Select PL# from vol where VDD =
<<Paris>>);
S3: Select PLNom from pilote where PL in (Select Pl from vol where AV in (Select AV
from Avion where AVNom = ‘Airbus’)
Q4: Quels sont les noms des ilotes qui habitant dans les localisations d’un ‘’Airbus’’

Extension de SQL 2 (relationnel) est SQL 3 et SQL4 (objet) mais qui comprennent le
relationnel.

Exercices /projets
-Base de données dégustation
-BD état civil
-BD ligne budgétaire
-BD météorologique
-Gestion du personnel,
-Gestion du patrimoine
-Organisation de concours
-Gestion de suivi des armes de guerre
-Gestion de passation des charges
-gestion d’une chaîne de complexes hôteliers
-suivi des sources et origines des armes de guerres
-gestion des zones de pèlerinage (basilique)

Autres :

A-Gestion d’une bibliothèque (trois tours de 10 étages dont 5 en sous-sol et 5 en hauteur)

88
Dr APPOH, INP HB, 07 07 930589
B- Gestion des bus d’une métropole ( A chaque arrêt de bus se trouvent notifiées chaque fois
les heures d’arrivée des deux prochains bus A et B. A et B arriveront respectivement à t1 et
t2 (t1< t2). Faire en sorte que maximalement les arrêts aller et retour soient en face à face.
Prendre en compte les dépôts ou stations puis les centres de formations de pilotes/chauffeurs
et de réparation).

C- Gestion de moyens de locomotions communes (vélos, voitures à quatre place). Tout


usager peut se servir d’un véhicule pendant une certaine durée, et après usage le stationner à
des dépôts dédiés.

1-Trace des armes de conflit


2-Gestion d’un schéma directeur de développement à continuité et à l’échelle (projet
régional, planification, court moyen long terme, budget, secteur de soutient, santé,
éducation, emploi, ministère, Institutions de base…)
3-Passation des charges d’administration de responsabilité tant publique que privée
4-Gestion rationnelle à la proportionnelle utile de la reprise des travaux de mémoire
d’ingéniorat (école, pays, niveaux de résultats, auteur, type d’innovation, ...)
5-Gestion d’une chaîne de complexes hôteliers au plan national
6-Gestion de retrait et de dépôt d’argent (GAB et mobile money à la fois) VISA. Admission
des banques et de mobile money transfert en visa.
7-Gestion des vols et plans de vols

****----****
8-Gestion des explorations minières des régions au plan national
9-Gestion innovante de passation des marchés publics :
Règles de gestion MCD pour le modèle MCD

Base de données déductives :


Prédicat intentionnel : prédicat calculé par un programme constitué de règles logiques dont
les instances ne sont pas stockées dans la base de données.
Prédicat extensionnel : prédicat dont les instances sont stockées dans la base de données
sous forme de tuples.

BD intentionnelles Meta - données


Règles

Données
BD extensionnelles
BD

Prédicats extensionnels et prédicats intentionnels

89
Dr APPOH, INP HB, 07 07 930589
Complexité des requêtes

Relationnel Relationnel - objet

Relationnel Objet

Complexité des données

Relationnel, Relationnel- objet, objet

Technologie de l’information :

Technologie : ensemble des techniques industrielles, science des techniques ou technique.


Technique (adj) : propre à un art, à une science à une activité, à un savoir faire, à un
fonctionnement
La technique : la technologie, ensemble de précédés d’un art ou d’un métier
Evaluation de l’objectivité d’une base de données à objet par RICE
Extension de java (Java futur : AspectJ)
Java-FX
Disque :

IDE : Integrated Device Electronics


S-ATA Serial Advanced Technology Attachment S-DATA
SCSI : Small Computer System Interface? (Système d'interface pour micro-ordinateur).
Interface parallèle standard à débit rapide, définie par le comité X3T9.2 de l'American
National Standard Institute (ANSI). Enfin, certaines interfaces peuvent être assimilées à de
véritables bus, permettant le raccordement de plusieurs périphériques à la suite : c’est le cas
de l’interface SCSI ou du futur bus universel USB (Universal Serial Bus).

Processeur :
CISC : Complex Instruction Set Computing, processeur à jeu d’instructions
complexes)
RISC: Reduced Instruction Set Computing, processeur à jeu d’instructions réduit)

SGBD : SQL (sans graphisme direct) servant de piliers une bonne partie des HIM des
applications ayant comme support des bases de données, dialogue direct ou indirect
avec le SGBD, et selon le type d’utilisateur
SE/OS : Shell (interpréteur de commande) idem

En plus le SE (lui-même logiciel) étant gestionnaire de l’ensemble des ressources


matérielles et logicielles du système informatique, gère en conséquence le SGBD -
DBMS).

90
Dr APPOH, INP HB, 07 07 930589
Sécurité des données

Pour arriver à des fins d’utilisations objectives, les états cohérents du système tant au
niveau du Se que du SGBD doivent être observés tout le long des transactions et des
échanges locaux ou par réseau.

Le respect des états cohérents d’un passage à un autre au sein d’un SGBD, nécessite une
politique de sécurité accrue et de veille pour les données.

Cette sécurisation porte sur l’authentification des usagers, l’intégrité des données, la
confidentialité des données et la non répudiation des actes posés.
.
Les mise à jour des données et leur modifications structurelles doivent à la fois être
réalisées avec le minimum possible de dommage.

Ainsi, que ce soit en SE ou en SGBD, des mécanismes d’exclusion mutuelle et de


verrouillage permettent de gérer efficacement les accès concurrents sur les ressources
(données) partagées à l’effet d’éviter les conflits, les pertes de données.

Collecter de données de supports et de sources divers et auprès d’acteurs y


compris l’observation.

Il existe un but et fonctionnements plus ou moins comparables entre Shell et du


SQL ou entre SE et SGBD.
Ceci dit, SE et SGBD ont des buts et fonctionnement foncièrement différents
au plan opérationnel.

Synthèse combinant Matériel, BIOS (Basic Inputs Outputs System)


UEFI (Unified Extensible Firmware Interface), SE/OS, Programmes/Applications et
Données :

91
Dr APPOH, INP HB, 07 07 930589
------- stabilité croissante
-----→ dynamique croissante

T Matériel
H BIOS / UEFI
F OS/SE
G Programmes/applications
d Données

T[H[F(G(d))]]

Some Shell Windows commands from MS-Windows (7- à 10)

Chaque commande est suivie d’une validation par la touche " entrée "

Quelques commande Shell de Fonctions


Ms Windows
help Affiche des informations d’aide, surtout sur des
commandes shell via des informations décrivant
succinctement leurs fonctions (liste non
exhaustive)
help command (ex : help help ou Afficher plus d’informations détaillée sur command
help ver sur une (des) commande (s) spécifique (s)
Winver Affiche de la version de Ms Windows
graphiquement
Ver Affiche de la version de Ms Windows sur interface
en mode caractère
UserAccountControlSettings (ou Modifier ou changer les paramètres du contrôle des
UserAccountControlSettings.exe) comptes utilisateurs
wscui.cpl Ouvrir le centre de maintenance
control Accéder au panneau de configuration (paramètres de
l’ordinateur)
control.exe /name Résoudre les problèmes des utilisateurs, Update,

92
Dr APPOH, INP HB, 07 07 930589
Microsoft.Troubleshooting
compmgmt.msc Afficher et configurer les paramètres et composants
du système (gérer l’ordinateur)
msinfo32 Informations avancées sur le système du point de
vue de paramètres matériel et logiciel, et les
interruptions
eventvwr Afficher les messages d’analyse et de dépannage
appwiz.cpl Lancer, ajouter ou supprimer des programmes et des
composants Windows
inetcpl.cpl Propriétés de l’Internet
ipconfig Afficher et configurer les paramètres réseau
perfmon Analyser les performances de des ordinateurs locaux
et distants
resmon Surveiller les performances et l’utilisation des
ressources (monitoring)
taslist Lister les tâches en instance d’exécution
taskmgr Gestionnaire des tâches : informations détaillées sur
les programmes et les processus en exécution
sur la machine
Regedit Apporter des modifications au registre Windows
msra Recevoir de l’aide d’un ami
Rstrui Restaurer le système de l’ordinateur à un état
antérieur
Cls Pour quitter le shell
help Lister des fonctions shell

93
Dr APPOH, INP HB, 07 07 930589
P16 concernant « - Eventuellement les règles que devront observer les données au cours de
leur vie dans l’entreprise. »
P25 e de connue a été ajouté dans « l’exécution de certaines opérations sur les entités ou
associations. Cette fonctionnalité est connue sous le nom de trigger (ou déclencheur),
encore appelé reflexe dans le contexte …. »
P26 Persistance du système)
P27 titre du schéma y compris le texte au juste dessus
P28 dans le texte en dessous du titre « 2) Architecture fonctionnelle typique »
P30 architectures matérielles et logicielles, ou encore la primauté des systèmes
d’information sur

Les révolutions pérennes en informatique sont des révolutions en douceur comme le


démontrent le micro-ordinateur, les bases de données relationnelles ou Internet avec le pari
de ne pas devenir liberticide.

Le concept de l’objet est né avec simula en 1967 à Oslo (Norvège).


Simula, Smalltalk aussi comme objet…. Java, C++ , C#

Unix fils du projet Multics commencé en 168 au MIT (USA)….

Bowser, furteur, navigateur, bitineur,

La vague de l’Internet sans fil (WAP, GPRS, UMTS) ne fera que renforcer d’une part, le
besoin de très gros serveurs de base de données capables d’être interrogés pour délivrer de
l’information personnalisée sur le poste léger et d’autre part, de nouvelles architectures où
une station pourra aussi bien être client que serveur. (peer to peer computing ou pair à pair).

Réseau pervasif (ubiquité, faculté d’être dans plusieurs endroits ou lieux à la fois)

UMTS : technologie permettant d’utiliser le portable comme un véritable outil multimédia


(téléphone portable de 3 voire 4ème génération)
UMTS((Universal Mobile Telephone System) est définie en 1998 sous l’impulsion de
l’Europe, de l’Amérique du Nord, du Japon, de la Chine et de la Corée du Nord, réunis
au sein d’un partenariat : le 3GPP (3rd Generation Partnership Project). L’UMTS, qui
peut supporter des vitesses de transmission supérieures à son prédécesseur (2 Mbps
contre 9,6 kbps), offre à l’utilisateur la visiophonie, un accès haut débit à Internet, et un
transfert des fichiers volumineux efficace.

Cybernétique, science interdisciplinaire qui étudie les mécanismes de communication, de


commande et de contrôle chez les êtres vivants, dans les machines et les systèmes
économiques et sociologiques.

Anthropologie : étude des caractéristiques anatomiques, biologiques, culturelles et sociales


des êtres humains.
Cette science est divisée en deux branches principales :
-l’anthropologie physique, qui étudie l’évolution biologique et l’évolution physiologique de
l’homme (Homo sapiens),

94
Dr APPOH, INP HB, 07 07 930589
-et l’anthropologie sociale et culturelle, qui étudie la vie des sociétés humaines, présentes et
passées, les évolutions de leurs langues, des croyances et des pratiques sociales. L’objet
général de l’anthropologie est de faire de l’homme et de toutes les dimensions de la vie
humaine, l’objet d’un savoir positif.

L’anthropologie constitue un champ de recherche fondamentalement pluriculturel. Les


premières études anthropologiques concernaient les peuples et les cultures autres
qu’occidentales, alors qu’un grand nombre de recherches récentes décrivent également les
cultures de l’Occident. Les anthropologues travaillent principalement sur le terrain, mettant
l’accent sur les expériences de première main et l’immersion de l’observateur dans les
activités, les pratiques et les croyances d’une société ou d’un groupe social.

Une branche de l’anthropologie physique, la paléontologie humaine, s’attache à l’étude de


l’hominisation, c’est-à-dire à l’évolution qui a conduit à l’individualisation du rameau
humain par rapport aux primates, puis à l’émergence de la pensée. Cette discipline a connu
de récents développements, grâce notamment au travail d’une famille de
paléoanthropologues : Louis Seymour Leakey, sa femme, Mary Leakey, et leur fils, Richard
Leakey. Leur découverte, dans les années 1960, d’une série de fossiles dans les gorges
d’Olduvai, en Afrique orientale, a conduit les scientifiques à reconsidérer leur appréhension
de l’évolution biologique des êtres humains. Des restes fossilisés découverts à la fin des
années 1970 et 1980 apportèrent une preuve supplémentaire de l’existence du genre Homo
en Afrique de l’Est il y a 1 à 3 millions d’années, aux côtés d’autres formes avancées
d’hommes-singes, appelés australopithèques

Sociologie, science des phénomènes sociaux.

La sociologie se situe dans le champ des sciences sociales ou humaines qui, comme
l’économie, la science politique, l’anthropologie, la psychologie ou l'histoire, étudient les
comportements humains collectifs. La sociologie peut avoir des points de contact avec ces
autres sciences, partager avec elles les mêmes objets d'études, et même développer des liens
interdisciplinaires.

Sa spécificité tient au fait qu'elle s'attache à la logique sociale des phénomènes qu'elle
observe, tandis que la psychologie tend à en privilégier la dimension individuelle (par
exemple, dans l'étude de la famille, la psychologie pourra s'intéresser à la vie psychique de
l'enfant, alors que la sociologie insistera plutôt sur la transmission de la position sociale ou
du capital culturel). Par rapport à la science économique, la sociologie propose des cadres
d'analyse plus larges et plus qualitatifs pour interpréter les phénomènes sociaux au-delà de
leur pure fonction économique (la sociologie des marchés se distinguera ainsi de l'analyse
économique des prix).
D'autre part, l'anthropologie ou l'ethnologie fournissent des analyses en termes de culture et
de pratiques rituelles que la sociologie peut reprendre, tout en ajoutant, cependant, une
dimension plus quantitative, voire statistique (classer les comportements humains en
fonction de certaines variables, comme le sexe, l'âge ou l'origine socioprofessionnelle est
une des caractéristiques de la recherche sociologique).

95
Dr APPOH, INP HB, 07 07 930589

Vous aimerez peut-être aussi