Documente Academic
Documente Profesional
Documente Cultură
NOTION DE BASE
Charg de cours Monsieur Mabchour Rachid
TROISIEME PARTIE......................................................................................................................................... 18
La programmation informatique ................................................................................................................... 18
Dfinition ................................................................................................................................................... 18
De la programmation classique vers la programmation oriente objet ....................................................... 18
Lapproche procdurale ............................................................................................................................ 18
La programmation par objet ..................................................................................................................... 19
Notion de base de la POO ..................................................................................................................... 19
Notion dobjet ................................................................................................................................... 19
Notion de classe ................................................................................................................................ 19
Notion dencapsulation ..................................................................................................................... 19
QUATRIEME PARTIE ...................................................................................................................................... 21
ACCESS........................................................................................................................................................... 21
Des tables .................................................................................................................................................. 21
Des requtes ............................................................................................................................................. 21
Des formulaires ......................................................................................................................................... 21
Des tats .................................................................................................................................................... 21
Les macros ................................................................................................................................................. 21
Les modules............................................................................................................................................... 21
CINQUIEME PARTIE ....................................................................................................................................... 22
SQL................................................................................................................................................................. 22
REFERENCES .................................................................................................................................................. 23
2
Gestion et exploitation de bases de donnes
PREMIERE PARTIE
NOTION DE BASE
Donnes, base de donnes, SGBDR
Quest -ce quune donne, une base de donnes et un systme de base de donnes ?
Une donne
Ou data en Anglais est la reprsentation d'une information sous une forme conventionnelle destine
faciliter son traitement.
Une base de donnes est donc un ensemble d'informations sur un sujet qui est :
exhaustif,
non redondant,
structur,
persistant
Est un ensemble de programmes qui permet la gestion et l'accs une base de donnes. Il hberge
gnralement plusieurs bases de donnes, qui sont destines des logiciels ou des thmatiques diffrentes.
dcrire,
modifier,
interroger,
administrer,
3
Un peu dhistoire
IDS de General Electric (rseau) qui a servi de modle de base aux propositions du groupe CODASYL.
SQL/IDS d'IBM,
Accs intelligent multimodal et naturel (langage naturel crit, graphique, parole, etc.).
4
Plusieurs modles de bases de donnes
Le modle hirarchique
Les donnes sont classes hirarchiquement, selon une arborescence descendante. Ce modle utilise des
pointeurs entre les diffrents enregistrements. Il s'agit du premier modle de SGBD
Le modle rseau
Comme le modle hirarchique ce modle utilise des pointeurs vers des enregistrements. Toutefois la
Le modle relationnel
(SGBDR, Systme de gestion de bases de donnes relationnelles) Les donnes sont enregistres dans des
tableaux deux dimensions (lignes et colonnes). La manipulation de ces donnes se fait selon la thorie
mathmatique des relations, thorie ensembliste. (Du mathmaticien CODD).
5
Le modle objet
(SGBDO, Systme de gestion de bases de donnes objet) Les donnes sont stockes sous forme d'objets,
c'est--dire de structures appeles classes prsentant des donnes membres. Les champs sont des
instances de ces classes.
XML
Btie sur un rfrentiel de contenu dcrit et structur en XML via des DTD ou Schmas. Le langage de
Gestion et exploitation de bases de donnes
6
A la fin des annes 90 les bases relationnelles sont les bases de donnes les plus rpandues (environ trois
quarts des bases de donnes).
Le modle relationnel
Le modle relationnel a t formalis par CODD en 1970. Quelques exemples de ralisation en sont :
DB2(IBM), INFORMIX, INGRES, ORACLE.
Dans ce modle, les donnes sont stockes dans des tables, sans prjuger de la faon dont les informations
sont stockes dans la machine. Un ensemble de donnes sera donc modlis par un ensemble de tables. Le
succs du modle relationnel auprs des chercheurs, concepteurs et utilisateurs est d la puissance et
la simplicit de ses concepts.
En outre, contrairement certains autres modles, il repose sur des bases thoriques solides, notamment
la thorie des ensembles et la logique mathmatique (thorie des prdicats d'ordre).
mettre la disposition des utilisateurs des langages de haut niveau pouvant ventuellement tre utiliss
par des non informaticiens,
Les donnes sont organises sous forme de tables deux dimensions, encore appeles relations et chaque
ligne n-uplet ou tuple,
Au modle relationnel est associe la thorie de la normalisation des relations qui permet de se dbarrasser
des incohrences au moment de la conception d'une base de donnes.
7
Objectifs des systmes de gestion de bases de donnes
Indpendance logique
Modification du schma conceptuel sans modification des programmes.
8
SGBD(R) Systme de Gestion de Base de Donnes (Relationnelle)
Le stockage des donnes Tables
Le logiciel Systme de Gestion de BD
Son fonctionnement
Un SGBD est principalement constitu d'un moteur et d'une interface graphique. Le moteur est le cur du
logiciel, c'est dire qu'il assure les fonctions essentielles :
L'interface graphique permet l'utilisateur de communiquer commodment avec le logiciel. Pour dialoguer
avec les SGBD qui ne sont pas quips d'une interface graphique, il faut utiliser le langage SQL (Structured
Query Language), et introduire les instructions l'aide d'un diteur de lignes.
Tous les SGBDR prsentent peu prs les mmes fonctionnalits. Ils se distinguent par :
- Leur cot,
- Le volume de donnes qu'ils sont capables de grer,
- Le nombre d'utilisateurs qui peuvent interroger la base simultanment,
- La facilit avec laquelle ils s'interfacent avec les autres logiciels d'application
Comment a marche
Un ensemble de fichiers, propre au logiciel et interne ce dernier, lui permet dassurer ses fonctions. Ces
fichiers sont grs par un logiciel serveur aussi appel dmon (qui doit donc tourner pour pouvoir accder
la base). Chaque logiciel a sa propre organisation physique et gestion interne (do certaines diffrences).
Pour utiliser une table en dehors de ce contexte, il est ncessaire de lexporter en dehors du logiciel.
Pareillement, on importera des donnes du monde rel vers/dans la base.
Lutilisateur (client) devra sadresser au serveur (service) de BD pour pouvoir manipuler les donnes.
9
En rsum
On sappuie sur un systme de gestion de base de donnes relationnelle (SGBDR) qui est un logiciel pour
organiser les lments dinformation (fichiers, textes, images) au sein dune structure en tables lies entre-
elles.
Ce SGBDR se chargera dassurer lintgrit des donnes. Leur contenu est accessible par des applications
clients via des langages de requtes, excuts via des interfaces : ODBC, JDBC. Le langage le plus utilis est
le SQL (Structured Query Language).
Gestion et exploitation de bases de donnes
10
DEUXIEME PARTIE
Lalgbre relationnelle
Dfinition
Collection doprations formelles qui agissent sur des relations et produisent une relation en rsultat.
Dans la plupart des systmes relationnels, la rponse une requte sobtient par lutilisation dun ou
plusieurs oprateurs relationnels.
Oprateurs unaires
Slection
Projection
Complment
Oprateurs binaires
Union
Intersection
Diffrence THEORIE DES ENSEMBLES
Les produits et jointures
Division
SELECT () extrait des tuples d'une relation qui satisfait une restriction donne.
PROJECT () : extrait des attributs (colonnes) d'une relation.
PRODUCT () : construit le produit cartsien de deux relations.
UNION () : construit l'union (dans le sens que la thorie des ensembles donne ce terme) de deux tables.
INTERSECT () : construit l'intersection (dans le sens que la thorie des ensembles donne ce terme) de
deux tables.
DIFFERENCE ( or ) : construit un ensemble de deux tables diffrentes.
JOIN () : connecte deux tables avec leurs attributs communs.
11
Les jointures (INNER JOIN, OUTER JOIN)
Prsentation
Pour slectionner des enregistrements provenant de plusieurs fichiers de donnes, il est ncessaire
d'utiliser des jointures dans la requte SQL.
Deux types de jointures peuvent tre utiliss dans des requtes en code SQL :
Jointures internes
Dfinition
Une jointure interne permet de slectionner les enregistrements ayant des correspondances entre deux
Gestion et exploitation de bases de donnes
fichiers joints.
Jointures externes
Dfinition
Une jointure externe permet de slectionner la fois :
Les enregistrements ayant des correspondances entre les deux fichiers joints.
Les enregistrements n'ayant pas de correspondance dans le premier, le second ou dans tous les fichiers
joints.
13
Intgrit rfrentielle
Lors de la cration d'une relation, il est trs fortement conseill de lui appliquer l'intgrit rfrentielle. Il
s'agit d'un ensemble de contrles que le SGBD effectue, pour assurer la cohrence interne de la BD. Pour
que les donnes restent utilisables et cohrentes, il ne faut pas que lon puisse dtruire des donnes qui
dpendent les unes des autres. Cest le rle de lintgrit rfrentielle de protger ces relations.
Techniquement dans une base de donnes relationnelle, lintgrit rfrentielle vrifie quune valeur de
cl trangre existe bien en tant que valeur de cl primaire dans une autre table. Quand une cl trangre
est utilise, elle doit obligatoirement exister en tant que cl primaire dans la table lie.
Cl primaire, cl trangre
1. Cl primaire
Gestion et exploitation de bases de donnes
Une cl primaire est forme d'un ou plusieurs champs d'une base de donnes qui identifient de manire
unique un enregistrement dans une table. Elle permet ainsi d'viter les doublons
Une cl primaire peut tre un code en partie comprhensible comme le numro de scurit sociale ou
tre un champ numrique auto-incrment, c'est--dire que les enregistrements sont numrots
automatiquement dans la table. Le premier enregistrement aura le numro 1 et ainsi de suite.
2. Cl trangre
Outre la prservation de l'unicit des enregistrements, les cls servent galement tablir des relations
entre les tables. Pour cela, on utilise des cls trangres, c'est--dire des cls qui reprsentent la valeur
de la cl primaire d'une table connexe.
Contrairement aux cls primaires, qui doivent tre uniques, les cls trangres peuvent prendre
plusieurs fois la mme valeur dans une table.
Valeur nulle permise ou interdite (NULL par dfaut) NULL ou NOT NULL
Unicit UNIQUE
Cl primaire PRIMARY KEY
Cl trangre FOREIGN KEY
Validation CHECK
Valeur par dfaut DEFAULT
Toutes les contraintes qui seront spcifies seront automatiquement gr par le SGBD et toute les
manipulations violant ces contraintes seront interdites.
14
Les dclencheurs
Dfinition
Pour grer des contraintes complexes au niveau du SGBD, il est souvent ncessaire de recourir aux
dclencheurs (ou triggers).
Un dclencheur est une procdure programme au niveau du SGBD qui sexcute automatiquement
lorsquun vnement prcis survient.
En base de donnes, lvnement est une instruction du DML qui modifie la base. (INSERT, DELETE,
UPDATE).
Pourquoi ?
Les triggers peuvent servir vrifier des contraintes que lon ne peut pas dfinir de faon dclarative Ils
peuvent aussi grer de la redondance dinformation.
15
ODBC
ODBC signifie Open Data Base Connectivity. Il s'agit d'un format dfini par Microsoft permettant la
communication entre des clients bases de donnes fonctionnant sous Windows et les SGBD du march.
Le gestionnaire ODBC est prsent sur les systmes Windows. Il existe toutefois des implmentations sur
d'autres plates-formes, notamment des plates-formes UNIX/Linux.1
Gnralits
Accs mme des pseudo-SGBD, ou des tableurs, ou encore des gestionnaires de fichiers
Avec ODBC, il est possible de dvelopper une application sans se soucier de la source de donnes qui sera
utilise en exploitation API C (SDK ODBC) et classes C++ (MFC)
JDBC
La technologie JDBC (Java Data Base Connectivity) est une API fournie avec Java (depuis sa version 1.1)
permettant de se connecter des bases de donnes, c'est--dire que JDBC constitue un ensemble de classes
permettant de dvelopper des applications capables de se connecter des serveurs de bases de donnes
(SGBD).
L'API JDBC a t dveloppe de telle faon permettre un programme de se connecter n'importe quelle
base de donnes en utilisant la mme syntaxe, c'est--dire que l'API JDBC est indpendante du SGBD.
De plus, JDBC bnficie des avantages de Java, dont la portabilit du code, ce qui lui vaut en plus d'tre
indpendant de la base de donnes d'tre indpendant de la plate-forme sur laquelle elle s'excute.2
1
http://www.commentcamarche.net/contents/698-odbc-open-database-connectivity
2
http://www.commentcamarche.net/contents/594-introduction-a-jdbc
Le Data Warehouse
Le Data Warehouse (entrept de donnes) est une collection de donnes orientes sujet, intgres, non
volatiles et historises, organises pour le support dun processus daide la dcision (Inmon, 943).
Orientes sujet :
Donnes pour lanalyse et la modlisation en vue de laide la dcision, et non pas pour les oprations et
transactions journalires
Vue synthtique des donnes selon les sujets intressant les dcideurs
Intgres :
Les donnes doivent tre mises en forme et unifies afin davoir un tat cohrent
Historises :
Non volatiles :
Consquence de lhistorisation
Une mme requte effectue intervalle de temps, en prcisant la date rfrence de linformation donnera
le mme rsultat
17
3
http://deptinfo.cnam.fr/new/spip.php?pdoc752
TROISIEME PARTIE
La programmation informatique
Dfinition
Le rle d'un dveloppeur informatique est de programmer un logiciel, un site web. La programmation est
le fait d'crire des lignes de code (commandes en anglais) qui seront interprtes par l'ordinateur, ce qui
donnera un logiciel capable d'afficher des choses l'cran, recevoir, traiter et envoyer des informations.
Cette approche, bien que simple mettre en uvre a trs rapidement montr ses limites. En effet les
programmes monolithiques5 de ce type :
Lapproche procdurale
Lapproche procdurale (classique) consiste dcouper un programme en un ensemble de fonctions ou
procdure. Ces fonctions contiennent un certain nombre dinstructions qui ont pour but de raliser un
traitement particulier :
Le calcul de la circonfrence dun cercle, limpression de la fiche de paie dun salari etc.
Dans le cas de lapproche procdurale un programme correspond lassemblage de plusieurs fonctions qui
sappellent entre elles.
F1
Bloc
F2 P1
monolithique
F3 P3 P2
18
Fonctions et procdures
4
http://www.larousse.fr/dictionnaires/francais/programmation/64205
5
Form dun seul bloc, rigide
Lapproche procdurale favorise :
Les fonctions, procdures accdent une zone o sont stockes les donnes. Il y a donc une
dissociation entre les donnes et les fonctions ce qui pose des difficults lorsque lon dsire
changer les structures de donnes.
Dans les langages procduraux, les procdures sappellent entre elles et peuvent donc agir sur les
mmes donnes. Il y a donc un risque de partage des donnes (criture en mme temps dans le
mme fichier).
Selon cette approche, un programme est vu comme un ensemble dentits (ou objets). Au cours de son
excution, ces entits collaborent en senvoyant des messages dans un but commun.
Une identit : lidentit dun objet permet de distinguer lobjet par rapport aux autres.
Un tat interne : correspond aux valeurs de tous les attributs un instant donn.
Un comportement : se dfini par lensemble des oprations quil peu excuter en raction aux
messages envoys (un message = demande dexcution dune opration) par les autres objets.
Un objet est caractris par des :
Notion de classe
Certains objets prsentent les mmes caractristiques, ils ont des identits diffrentes mais un tat dfini
sur les mmes proprits. Un comportement similaire.
Notion dencapsulation
Par rapport une approche classique que lon peut observer dans la programmation procdurale,
lapproche objet se caractrise par le regroupement dans une mme classe de la description des attributs
et des oprations (mthodes).
Ce regroupement sappelle lencapsulation.
19
On masque linformation au monde extrieur. Ltat interne est visible donc de lobjet seul.
Comment accder ou modifier ltat interne de lobjet ? en utilisant deux types de messages :
Un langage est orient objet sil possde les mcanismes supportant le style de programmation oriente
objet.
20
QUATRIEME PARTIE
ACCESS
(Edite par Microsoft)
Microsoft Access est un programme de gestion de base de donnes relationnelle (SGBD). Il offre un
ensemble doutils permettant de saisir, de mettre jour, de manipuler, dinterroger et dimprimer des
donnes.
Rappel :
Une base de donnes est un ensemble structur dinformations. Les exemples de bases de donnes ne
manquent pas : un carnet dadresses, la liste des clients ou des fournisseurs dune socit, les informations
concernant ses ventes, etc.
Des tables
- Une table contient des donnes de mme nature. Les tables organisent les donnes en colonnes (ou
champs, ou rubriques) et en lignes (ou enregistrements, ou fiches).
- Lenregistrement est un ensemble de valeurs de champ concernant une entit : une personne, un
article, un vnement.
- Une requte est la formulation de critres de slection denregistrements dune ou de plusieurs tables.
Une requte porte automatiquement sur les donnes actuelles dune ou plusieurs tables concernes.
Access extrait de ces tables les enregistrements qui rpondent aux critres et les affiche.
- Une requte peut galement tre de type action. Celles-ci ont la particularit dexcuter leur action
sur une table (cration dune table, ajout/suppression denregistrements, mise jour des donnes).
- Un formulaire sert saisir, consulter et modifier le contenu dune table ou de plusieurs tables lies,
enregistrement par enregistrement. Le formulaire permet dafficher les donnes des enregistrements.
- On utilise un tat pour imprimer une srie denregistrements dans un format et une mise en page
personnalise. Dans un tat, on peut regrouper des enregistrements sur divers critres et effectuer des
calculs de regroupement sur les champs : sous-totaux, moyennes, comptage.
- Une macro est une squence dactions qui peut tre excute automatiquement, ou lance par
lutilisateur. Une macro peut tre affecte un objet (formulaire, bouton, ) ainsi qu une
combinaison de touches ou une commande.
- Les modules contiennent des procdures et des fonctions crites en code VBA (Visual Basic pour
Application). Ils permettent de raliser des applications complexes.
21
CINQUIEME PARTIE
SQL
SQL (Structured Query Language) est un langage de programmation informatique destin stocker,
manipuler et retrouver des donnes enregistres dans des bases de donnes relationnelles. Le langage SQL
est apparu pour la premire fois en 1974, lorsquun groupe dIBM a mis sur pied le premier prototype dune
base de donnes relationnelle. La premire base de donnes relationnelle a t commercialise par
Relational Software (plus tard Oracle).
SQL a des standards. Toutefois, le SQL qui peut tre actuellement utilis sur la plupart des SGBDR (Systme
de gestion de base de donnes relationnelle) se trouve sous diffrents aspects. Pour deux raisons : 1) le
standard SQL est assez complexe, et il nest pas pratique dimplmenter le standard entier, et 2) chaque
fournisseur de bases de donnes a le besoin de diffrencier ses produits parmi tant dautres. 6
Gestion et exploitation de bases de donnes
22
6
http://www.1keydata.com/fr/sql/
REFERENCES
http://www.1keydata.com/fr/sql/
https://fr.wikipedia.org/wiki/Base_de_donn%C3%A9es
http://www.commentcamarche.net/contents/104-bases-de-donnees-introduction
http://www.comprendre-internet.com/Qu-est-ce-qu-une-base-de-donnees.html
http://www.finalclap.com/faq/115-difference-sgbd-sgbdr
http://fadace.developpez.com/sgbdcmp/
http://www.ai.univ-paris8.fr/~lysop/bd/seance5-ModeleRel-suite.pdf
http://www.chicoree.fr/w/Les_contraintes_d'int
http://www.commentcamarche.net/contents/698-odbc-open-database-connectivity
https://openclassrooms.com/apprenez-a-programmer-en-java/jdbc-la-porte-d-acces-aux-bases-de-
donnees
http://www.apsql.com/articles/Triggers.html
http://www.piloter.org/business-intelligence/datawarehouse.htm
http://www.techno-science.net/?onglet=glossaire&definition=5403
http://www.depannetonpc.net/lexique/lire_56_programmation-orientee-objet.html
http://rmdiscala.developpez.com/cours/LesChapitres.html/Cours5/Chap5.1.htm
http://www.commentcamarche.net/contents/617-les-langages-informatiques
http://lecompagnon.info/access/index.html
http://sqlpro.developpez.com/cours/definitions/
http://www.1keydata.com/fr/sql/
http://www.larousse.fr/dictionnaires/francais/programmation/64205
http://www.commentcamarche.net/contents/698-odbc-open-database-connectivity
http://www.commentcamarche.net/contents/594-introduction-a-jdbc
http://deptinfo.cnam.fr/new/spip.php?pdoc752 23