Vous êtes sur la page 1sur 25

1

Cours Bases de données


2

Plan

1. Introduction
2. Historique des BD
3. Caractéristiques des BD
4. Modélisation des BD (le modèle E/A)
5. Le modèle relationnel
6. La normalisation des BD
7. La gestion des transactions
8. Le langage SQL
9. Les vues, les indexes et les séquences
10. Bibliographie
3

Introduction
4
Introduction
Motivations (1)

 Données volatiles vs persistantes


 Variables dans un programme  mémoire physique
(RAM)
Variables

Programme
 Fin de l’exécution  disparition des données
Besoin de stockage/archivage  Mémoire secondaire
Programme
(disques) Programme Données
 Solution : les fichiers Programme
5
Introduction
Motivations (2)

 Données volatiles vs persistantes


 Variables dans un programme  mémoire physique
(RAM)
 Fin de l’exécution  disparition des données
Besoin de stockage/archivage  Mémoire de masse
(disques)
 Solution : les fichiers
6
Introduction
Motivations (3)

 Limites des fichiers


 Dépendance programmes – données (changement au
niveau des fichiers  changement du code)
 Pas de couche logicielle qui offre
 Sécurité
 Accès concurrentiel
 Langage de gestion de données
 Ainsi que d’autres fonctions (vus plus tard)
7
Introduction
Définitions (1)

 Base de Données (BD)

« Ensemble structuré d’éléments d’informations,


souvent agencés sous forme de tables, dans lesquels
les données sont organisées selon certains critères en
vue de permettre leur exploitation pour répondre aux
besoins d’information d’une organisation » [1].
8
Introduction
Définitions (2)

 Système de Gestion de Base de Données (SGBD)

« Logiciel le plus souvent produit par un éditeur


commercial, qui gère et contrôle l’accès à une base de
données, assurant ainsi une interface normalisée entre
les applications et les bases de données » [1].

Les plus connus :


DB2 (IBM), Oracle (Oracle), SQL Server (Microsoft)
9
Introduction
Définitions (3)

 Application de base de données

« Utilisation de moyens informatiques pour répondre à


un besoin déterminé en faisant appel de manière
importante à une ou à plusieurs bases de données à
travers un SGBD » [1].
10

Historique des BD
11

Historique des BD (1)

 Apparition aux années 60


 BD = fichiers reliés par des pointeurs
Développement des systèmes IDS et IMS chez IBM pour le
programme APOLLO
 Fin des années 60
 Apparition des SGBD réseaux et hiérarchiques
 Séparation de la description des données de la manipulation
par des programmes d’application
TOTAL, IDMSn IDS 2, IMS2…
12

Historique des BD (2)

 Années 70
 Emergence du modèle relationnel dans les laboratoires de
recherche
Formulation du langage SQL, basé sur le langage algébrique de
CODD
 Années 80
 Commercialisation des SGBD relationnels (Oracle, DB2,
Informix, Sybase, Ingres, SQL Server etc.)
 Extension objet du modèle relationnel
13

Historique des BD (3)

 Années 80 (suite…)
 Une structuration conjointe des programmes et des données,
tout en conservant les acquis du relationnel (vision tabulaire des
objets, et interrogation via un SQL étendu aux objets).
Répartition des architectures, pour une meilleure collaboration
entre les utilisateurs concurrents
 Oracle 8, DB2 Universal Database, Informix Universal Server
sont les premeirs BD objet-relationnel
14

Historique des BD (4)

 Années 90 et 2000
 Supporter les informations non-structurées, provenant du Web, des
multimédias etc.
 SGBDS orientés aide à la prise de décision, et extraction des connaissances
(Data Mining)
 Adaptation de SQL à l’interrogation de ce genre de données

 Années 2010
 Les données deviennent très volumineuses, variées et véloces. On parle de BIG
DATA (on parle de pétaoctets de données  250 octets).
 Les modèles et les technologies classiques sont inaptes à traiter ces données
 Apache Hadoop: framework Java permettant de manipuler les Big Data
15

Evolution des modèles (1)

 Modèle hiérarchique
Une base de données hiérarchique est une forme de SGBD qui lie
des enregistrements dans une structure arborescente de façon à
ce que chaque enregistrement n’ait qu’un seul possesseur (par
exemple, un produit n’est livré que par un seul Fournisseur).
 Ne tient pas compte de certains cas du monde réel. Exemple;
un patient peut être traité par plusieurs médecins
 Le modèle hiérarchique ne modélise que les relations « 1 à N »
16

Evolution des modèles (2)

 Modèle réseau
Modélise les relations de type « N à N » (un médecin peut
avoir plusieurs patients et un patient peut être traité par
plusieurs médecins.
Le problème des modèles hiérarchiques et réseaux, c’est que
les applications dépendent des structures logiques des
données.

 Sur le marché
IMS (hiérarchique), Codasyl (réseau)…
17

Evolution des modèles (3)

 Modèle relationnel
 Fondé sur la théorie mathématique des relations. La BD est représentée
sous forme de tables (lignes et colonnes).
 Plus de pointeurs qui figeaient la structure de la base.
 Développement d’un langage non procédural de gestion de données
(SQL). L’utilisateur ou le programmeur n’ont plus à naviguer dans la BD,
ils formulent leurs requêtes et c’est le SGBD qui se charge de les exécuter
et leur renvoyer le résultat.
 Sur le marché
Oracle (Oracle), Informix, DB2 (IBM), Sybase (Sybase), SQL SERVER
(Microsoft), Postgress, Mysql…
18

Evolution des modèles (4)

 Modèle Orienté Objet


 Enregistrement des données sous forme « d’objets » (au sens défini par la
POO).
 Ainsi, les données sont enregistrées avec les fonctions/procédures qui les
manipulent.
 Les éditeurs qui se sont intéressés à ce modèle se sont trouvés dans une
impasse (certains ont disparu) au vu de la réussite et de la demande
incessante des SGBDR (vs. SGBDOO).
 Sur le marché
O2, Objectivity, Objectstore… (n’ont pas réussi)
19

Evolution des modèles (5)

 Modèles NoSQL (Big Data)


 3 Vs: Volume, Vélocité et Variété
 Not Only SQL (Key-value; Oriented-column; Oriented-document;
Oriented-graph)
 Distribuer les données et les traitements pour remédier au goulot
d’étranglement  le Disk I/O Latency.
 La plateforme la plus connue: Hadoop et son MapReduce
 Besoin de serveurs puissants  Cloud Computing
Sur le marché
Teradata, Oracle, IBM, MicroSoft, SAP (certains s’appuyent sur des solutions Open
Source)
20

Les niveaux de description (1)

 Niveaux de description des données (ANSI/SPARC)


 Niveau externe correspond à la perception de la base de données par les
utilisateurs finaux.
 Niveau conceptuel description de toutes les données, de leurs
propriétés, des liens entre elles sans se soucier de la manière avec laquelle
les utilisateurs vont s’en servir (sans se soucier de l’implantation de la
base).
 Niveau interne s’appuie sur un système de gestion de fichiers pour
définir la stratégie de stockage, de placement et d’accès des données.
21

Les niveaux de description (2)


22

Types d’utilisateurs

 Types d’utilisateurs
 L’administrateur chargé de donner/enlever les droits d’accès aux
utilisateurs, de la configurer, de la sauvegarder, de la reprise en cas de
panne…
 Le programmeur créé les différents objets de la BD qui seront
manipulés via son application. Il définit avec l’administrateur les droits
d’accès pour les différents utilisateurs finaux.
 L’utilisateur final a accès aux données qui lui sont autorisées. En
général, il utilise les données sans les définir.
23

Caractéristiques des SGBD


24

Caractéristiques des SGBD (1)

1- Indépendance des programmes aux données


 Possibilité de modifier les schémas conceptuels sans modifier les
programmes d’application
 Ainsi, la maintenance des programmes est moins couteuse lors des
modifications logiques (modifications de la structure de la BD), et physique
(mode de stockage des données)
2- Manipulation des données par des langages non procéduraux
 Manipulation simple des données, sans avoir à écrire des programmes
(algorithmes) d’accès.
3- Gestion de la cohérence et contrôle d’intégrité
25

Caractéristiques des SGBD (2)

4- Administration des données


 Outils de description et de mise à jour des structures des données
 Optimisation du fonctionnement de la BD, pour rendre l’accès aux
données le plus efficace que possible
5- Description des données sous forme de métadonnées
6- Partage des données et accès concurrentiel
7- Sécurité des données
 Gestion des accès à la BD
 Récupération en cas de panne logicielle ou matérielle

Vous aimerez peut-être aussi