couleur

publicité
2014-05-20
1
Base de données
COURS 01 | INTRODUCTION AUX BASES DE DONNÉES
2
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
1
2014-05-20
3
Des questions?
ON DÉBUTE!
4
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.
2
2014-05-20
5
Une démarche inefficace

La démarche classique consistait à développer un programme
d’application par groupe informationnel ou par tâche.
Logiciel des ressources
humaines
Logiciel de gestion des
stocks
Employés
Produits
Départements
Inventaire
Logiciel des ventes
Employés
Produits
6
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.
3
2014-05-20
7
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
Logiciel des ressources
humaines
Logiciel de gestion des
stocks
Logiciel des ventes
SGBD
8
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
4
2014-05-20
9
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.
10
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.
5
2014-05-20
11
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.
12
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, …)
6
2014-05-20
13
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.
14
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.
7
2014-05-20
15
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.
16
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.
8
2014-05-20
17
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.
18
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.
9
2014-05-20
19
Bref historique

… et maintenant

Bases de données XML

Bases de données NOSQL

La recherche…
20
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)
10
2014-05-20
Processus de mise en place d’un
projet utilisant une base de données
Rédaction du devis
Conception des outils
logiciels
Conception
Conception de la structure
de la base de données
Mise en place du SGBD
21
Conception du SGBD
Développement des outils
logiciels
Développement de la BD et
des services reliés
Tests et optimisation des
outils logiciels
Tests et optimisation de la
BD
Maintient et support
Intégration et optimisation
globale
22
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
11
2014-05-20
23
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.
Plus concret

Niveau externe
Usager
Analyste
Concepteur
Développeur
Plus abstrait
Niveau logique
DBA
Niveau physique
24
Niveaux d’abstraction d’un SGBD

Analogie
Niveau externe
Liste de clients ayant un nom, un prénom une date de naissance et un genre.
Niveau logique
Nom
Chaîne de 12 car.
...
...
...
...
Prénom
Chaîne de 32 car.
...
...
...
...
Date de naissance
Date
...
...
...
...
Genre
F ou M
...
...
...
...
Niveau physique
typedef enum {
'F' = 0,
'H' = 1
} genreType;
typedef struct {
char nom[12];
char prenom[32];
date dateNaissance;
genreType genre;
} client;
12
2014-05-20
25
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.
26
Exemple simple
13
Téléchargement