13
2014-05-20 1 Base de données COURS 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

Base de données - cours.etsmtl.ca · 2014-05-20 1 Base de données COURS 01 | INTRODUCTION AUX BASES DE DONNÉES 1 Objectifs du cours Introduction aux bases de données relationnelles

Embed Size (px)

Citation preview

Page 1: Base de données - cours.etsmtl.ca · 2014-05-20 1 Base de données COURS 01 | INTRODUCTION AUX BASES DE DONNÉES 1 Objectifs du cours Introduction aux bases de données relationnelles

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

Page 2: Base de données - cours.etsmtl.ca · 2014-05-20 1 Base de données COURS 01 | INTRODUCTION AUX BASES DE DONNÉES 1 Objectifs du cours Introduction aux bases de données relationnelles

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

Page 3: Base de données - cours.etsmtl.ca · 2014-05-20 1 Base de données COURS 01 | INTRODUCTION AUX BASES DE DONNÉES 1 Objectifs du cours Introduction aux bases de données relationnelles

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

Page 4: Base de données - cours.etsmtl.ca · 2014-05-20 1 Base de données COURS 01 | INTRODUCTION AUX BASES DE DONNÉES 1 Objectifs du cours Introduction aux bases de données relationnelles

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

Page 5: Base de données - cours.etsmtl.ca · 2014-05-20 1 Base de données COURS 01 | INTRODUCTION AUX BASES DE DONNÉES 1 Objectifs du cours Introduction aux bases de données relationnelles

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

Page 6: Base de données - cours.etsmtl.ca · 2014-05-20 1 Base de données COURS 01 | INTRODUCTION AUX BASES DE DONNÉES 1 Objectifs du cours Introduction aux bases de données relationnelles

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

Page 7: Base de données - cours.etsmtl.ca · 2014-05-20 1 Base de données COURS 01 | INTRODUCTION AUX BASES DE DONNÉES 1 Objectifs du cours Introduction aux bases de données relationnelles

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

Page 8: Base de données - cours.etsmtl.ca · 2014-05-20 1 Base de données COURS 01 | INTRODUCTION AUX BASES DE DONNÉES 1 Objectifs du cours Introduction aux bases de données relationnelles

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

Page 9: Base de données - cours.etsmtl.ca · 2014-05-20 1 Base de données COURS 01 | INTRODUCTION AUX BASES DE DONNÉES 1 Objectifs du cours Introduction aux bases de données relationnelles

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

Page 10: Base de données - cours.etsmtl.ca · 2014-05-20 1 Base de données COURS 01 | INTRODUCTION AUX BASES DE DONNÉES 1 Objectifs du cours Introduction aux bases de données relationnelles

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

Page 11: Base de données - cours.etsmtl.ca · 2014-05-20 1 Base de données COURS 01 | INTRODUCTION AUX BASES DE DONNÉES 1 Objectifs du cours Introduction aux bases de données relationnelles

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

Page 12: Base de données - cours.etsmtl.ca · 2014-05-20 1 Base de données COURS 01 | INTRODUCTION AUX BASES DE DONNÉES 1 Objectifs du cours Introduction aux bases de données relationnelles

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

Page 13: Base de données - cours.etsmtl.ca · 2014-05-20 1 Base de données COURS 01 | INTRODUCTION AUX BASES DE DONNÉES 1 Objectifs du cours Introduction aux bases de données relationnelles

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