13
2016-05-19 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 - ÉTS : Cours par sigle · •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

Embed Size (px)

Citation preview

2016-05-19

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

2016-05-19

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

2016-05-19

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

2016-05-19

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

2016-05-19

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

2016-05-19

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

2016-05-19

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

2016-05-19

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

2016-05-19

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 parfois 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 de solutions destinées aux ordinateurs personnels (Lotus 1-2-3, dBASE, Microsoft Access, …)

18

2016-05-19

10

Bref historique

• Les années 1990• Développement des bases de données objets.

• Consolidation du marché des BD relationnelle.

• … 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

2016-05-19

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

2016-05-19

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

2016-05-19

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