2014-05-20
1
Base de donnéesCOURS 01 | INTRODUCTION AUX BASES DE DONNÉES
1
Objectifs du cours
Introduction aux bases de données relationnelles (BDR).
Trois volets seront couverts :
la modélisation;
le langage d’exploitation;
les mécanismes des systèmes de gestion de base de données.
Plan de cours
2
2014-05-20
2
Des questions? ON DÉBUTE!
3
La gestion des données
Un ordinateur traite de l’information.
Depuis le début de l’ère informatique, la gestion des données a toujours
été un défi.
Quelques exemples où la gestion de données existent.
4
2014-05-20
3
Une démarche inefficace
La démarche classique consistait à développer un programme
d’application par groupe informationnel ou par tâche.
5
Logiciel des ressources humaines
Logiciel de gestion des stocks
Employés Départements Produits Inventaire
Logiciel des ventes
Employés Produits
Une démarche inefficace
Cette approche décentralisée apporte plusieurs problématiques :
maintenance des données par des fichiers gérés par le système d’exploitation;
redondance de certaines informations engendrant :
une inconsistance potentielle entre les données;
un accroissement inutile de : du nombre de fichiers, de la taille des fichiers et des temps d’accès;
outils logiciels développés par différentes équipes utilisant :
différentes technologies de programmation;
différents formats de fichiers et de données;
complexifie le développement de tâches connexes (protection des données, accès concurrent, …)
coûts de développement et de maintenance très élevés.
6
2014-05-20
4
Les bases de données
Une base de données, ou plus précisément un système de gestion de
base de données (SGBD - DBMS), est un ensemble de logiciels donnant
accès à :
un conteneur de données
des services reliés
7
Logiciel des ressources humaines
Logiciel de gestion des stocks
Logiciel des ventes
SGBD
Les bases de données
Les SGBD modernes permettent une gestion efficace des données en
visant la mise en place de 7 objectifs complémentaires :
1. Centralisation
2. Indépendance
3. Liaison
4. Intégrité
5. Sécurité
6. Confidentialité
7. Partage
8
2014-05-20
5
Les bases de données
La centralisation consiste à concentrer l’informations en un seul endroit
logique
1. élimine la redondance d’information;
2. permet l’unicité de la saisie d’information;
3. facilite tous les services reliés au SGBD.
9
Les bases de données
L’indépendance entre les données et le traitement consiste à appliquer une notion fondamentale en informatique : la séparation entre les conteneurs et le traitement des données.
Cette dissociation, si importante en génie logiciel, apporte plusieurs avantages importants :
1. permet à plusieurs systèmes d’accéder aux mêmes données afin d’en faire différentes tâches (affichage, mise à jour, liaison, calcul, …);
2. permet différentes vues selon les logiciels en action (seulement les données requises sont utilisées);
3. offre une flexibilité sans comparable.
Cette indépendance réduit considérablement les coûts de maintenance et de développement lors de l’évolution du produit.
10
2014-05-20
6
Les bases de données
La liaison consiste à définir les liens logique qui existent entre les données.
Permet ainsi de créer des structures complexes indépendantes des
données.
Comme on le verra, la mise en œuvre de liaisons permet de garantir la
non redondance, l’intégrité et l’efficacité des données liées.
11
Les bases de données
L’intégrité des données consiste à assurer la fiabilité et la cohérence de toutes les données (en les considérant unitairement ou en relation).
Préserver l’intégrité des données est certainement le premier rôle du SGBD.
L‘intégrité est assuré par plusieurs mécanismes internes du SGBD tels que :
1. le format (entier, flottant, date, …)
2. Le domaine de validité (intervalle, appartenance à une liste, …)
3. unicité d’une données,
4. existence d’une données,
5. règles diverses (existence d’un lien, synchronisation externe, …)
12
2014-05-20
7
Les bases de données
La sécurité des données consiste à assurer l’intégrité du système malgré les
pannes physiques éventuelles (inévitables)
Si l’intégrité des données est la première tâche du SGBD, la sécurité de
ces dernières en est certainement la deuxième.
Les causes de pannes potentielles sont nombreuses.
C’est la mise en place de mécanismes de reprise qui permet de garantir
l’intégrité des données peu importe les avaries.
13
Les bases de données
La confidentialité des données consiste à protéger le contenu des
données sensibles.
Plusieurs données ne doivent pas être disponibles à tous les usagers du
SGBD.
Les notions d’usager et de droits d’accès permettent de limiter les accès.
14
2014-05-20
8
Les bases de données
Le partage des données consiste à permettre les accès concurrents au
SGBD par plusieurs usagers.
Par exemple, deux individus accèdent au même compte et font une
transaction.
La notion de transaction permet d’assurer l’intégrité par la mise en place
du mécanisme de verrouillage.
15
Les bases de données
Les SGBD permettent de :
de créer les structures de données inhérentes à un projet;
de manipuler les données (ajouter, consulter, modifier et supprimer);
de créer des liens entre les données;
d’administrer le SGBD afin d’atteindre les performances optimales en fonction des particularités du projet.
Les SGBD peuvent faire tout ça tout en respectant les 7 critères énoncés
et en masquant la complexité sous-jacente.
16
2014-05-20
9
Bref historique
1956 – Invention des disques durs
Les années 60
Le terme « database » est formellement apparu pour désigner les premiers systèmes d’information militaire.
Création du premier système de gestion de données. Connu plus tard comme base de données hiérarchique.
Création de l’architecture de données réseau.
Ces systèmes de gestion sont nommés SGBD par navigation. Ils sont trop complexes et souvent inefficaces.
17
Bref historique
Les années 1970
Création de l’algèbre relationnel et du modèle relationnel.
Adaptation du langage de modélisation entité/relation.
Création des premières base de données relationnelles.
Création du langage de consultation SQL.
Les années 1980
Croissance sans précédent de l’accessibilité des ordinateurs.
Développement soutenu des SGBD relationnel.
Développement des bases de données objets.
18
2014-05-20
10
Bref historique
… et maintenant
Bases de données XML
Bases de données NOSQL
La recherche…
19
Acteurs
On retrouve principalement 5 groupes d’acteurs interagissant avec les
SGBD
Les usagers
Les analystes
Les développeurs
Les concepteurs de base de données
Les administrateurs de bases de données (DBA)
20
2014-05-20
11
Processus de mise en place d’un
projet utilisant une base de données
21
Rédaction du devis
Conception
Mise en place du SGBD
Développement de la BD et des services reliés
Tests et optimisation de la BD
Développement des outils logiciels
Tests et optimisation des outils logiciels
Intégration et optimisation globale
Conception des outils logiciels
Conception de la structure de la base de données
Conception du SGBD
Maintient et support
Niveaux d’abstraction d’un SGBD
Niveau externe
Présente les données sous forme de vues adaptées au contexte
Se pose dans le contexte du raisonnement applicatif
Niveau logique
Données considérées au niveau sémantique (d’après les contenus et les relations définies)
Ce niveau permet de décrire toutes les entités de la BD (entité, types de données, les liens, accès des usagers, contraintes, …)
Est généralement considéré comme étant de niveau intermédiaire
22
2014-05-20
12
Niveaux d’abstraction d’un SGBD
Niveau physique
Tous les mécanismes d’action de bas niveau tel que l’inscription sur disque, les mécanismes de sauvegarde, gestion des usagers, etc.
Niveau très abstrait pour l’ensemble des utilisateurs.
23
Niveau externe
Niveau logique
Niveau physique
Plu
s co
ncr
et
Plu
s a
bst
rait
UsagerAnalyste
ConcepteurDéveloppeur
DBA
Niveaux d’abstraction d’un SGBD
Analogie
24
Liste de clients ayant un nom, un prénom une date de naissance et un genre.
NomChaîne de 12 car.
...
...
...
...
PrénomChaîne de 32 car.
...
...
...
...
Date de naissanceDate
...
...
...
...
GenreF ou M
...
...
...
...
typedef enum {
'F' = 0,
'H' = 1
} genreType;
typedef struct {
char nom[12];
char prenom[32];
date dateNaissance;
genreType genre;
} client;
Niveau externe
Niveau logique
Niveau physique
2014-05-20
13
Quand ne pas utiliser un SGBD
La mise en place d’une solution efficace peut être plus complexe qu’il n’y
paraît si la main d’œuvre est plus ou moins compétente.
Les coûts de mise en place peuvent être significatif (matériel, logiciel,
main d’œuvre spécialisée, développement logiciel, formation, maintient,
…)
La performance du système peut être inadéquate pour certaines
applications exigeantes (surcharge pour tous les services donnés).
Non nécessaire pour certains projets simples, bien définis, n’évoluant pas
dans le temps et surtout ne requérant pas tous les services d’un SGBD.
25
Exemple simple
26