Vous êtes sur la page 1sur 52

Introduction aux bases de

données
Objectifs du cours
Comprendre les concepts, les objectifs, les langages des bases de
données

Apprendre à concevoir, manipuler et interroger des bases de


données relationnelles

Volume horaire hebdomadaire:


1h30 cours + 1h30 TD

Transparents du cours et autre matériel pédagogique:


http://https://elearning.univ-usto.dz/course
2
Programme
 Chapitre I : INTRODUCTION AUX BASES DE DONNEES

 Chapitre II : MODELE RELATIONNEL-NORMALISATION DE


RELATION

 Chapitre III : ALGEBR RELATIONNELLE

 Chapitre IV : LANGAGE SQL : STRUCTURED QUERY LANGUAGE

3
Bibliographie
1. Bases de données, Georges Gardarin S8/63323-25 S12/1318-1323

2. Création de bases de données, Nicolas Larousse Collection Syntex S8/72256-...59

3. Introduction aux bases de données, Chris J. Date S8/59384-87 S8/62600-62602

4. SQL pour Oracle, Christian Soutou S8/77467

5. Introduction aux bases de données relationnelles, Mata Toledo S4/20035-20037 , S4/20510

6. Programmation SQL , Mata Toledo S4/20513

7. Bases de données relationnelles concepts, mise en œuvre et exercices Claude Chrisment


S8/74683

8. R. Ramakrishnan et J. Gehrke, Database Management Systems, Second Edition, McGraw-Hill,


2000.
4
Plan du cours
Introduction à la gestion des données

Historique de la gestion des données

Difficultés de la gestion des données

Systèmes de gestion de bases de données (SGBD)

Objectifs des SGBD


5
Introduction
Les organisations gèrent des volumes de données très
grands et de natures diverses
 Giga, Tera, Peta–octets
 Numériques, Textuelles, Multimédia (images, vidéos,...)

Il faut pouvoir facilement


 Archiver les données sur mémoires secondaires permanente
 Retrouver les données pertinentes à un traitement
 Mettre à jour les données variant dans le temps

6
Systèmes de fichiers SJF
L’utilisation de fichiers impose à l’utilisateur de connaître :
 le mode d’accès (séquentielle, indexée, …)
L’organisation physique des données (enregistrement)
 et la localisation des fichiers qu’il utilise afin de pouvoir

accéder aux informations dont il a besoin


Les données des fichiers sont décrites dans les programmes

Un accès aux données = un programme

7
Systèmes de fichiers SJF

8
Gestion des données (1)
La gestion de données par l’utilisation de fichiers présente de
nombreux inconvénients:
1. Absence de standardisation
plusieurs formats de stockage, plusieurs langages,

2. Redondance des données (plusieurs copies de la même


donnée)
• Les mêmes étudiants se trouvent dans tous les fichiers
• Problèmes de mise à jour : Ex. Changement d ’adresse (il faut le
changer partout) , incohérence des données
9
Gestion des données (2)
3. Dépendance entre les données et les programmes
Toute modification de la structure des enregistrements (ajout d’un
champ par exemple) entraîne la réécriture de tous les programmes
qui manipulent ces fichiers => Difficulté de maintenance, coût
élevé
4. Pannes (arrêt brutal, panne de disque …)
Pas de solution standardisée

5. Partage de données
 Pas de solution standardisée

6. Confidentialité

Pas de solution standardisée 10


Gestion des données (3)
Les utilisateurs, quant à eux, ne veulent plus de systèmes
d’information constitués d’un ensemble de programmes
inflexibles et de données inaccessibles à tout non spécialiste

ils souhaitent des systèmes d’informations globaux, cohérents,


directement accessibles (sans qu’ils aient besoin soit d’écrire
des programmes soit de demander à un programmeur de les
écrire pour eux) et des réponses immédiates aux questions
qu’ils posent.

Solution = > Bases de données

11
L’approche "bases de données"
Modélisation des données
 Éliminer la redondance des données
 Centraliser et organiser correctement les données
 Plusieurs niveaux de modélisation
 Outils de conception

Qu'est-ce qu'une base de données ?

 Collection de données structurées apparentées qui modélisent un


univers réel
 Interrogeable et modifiable par des langages de haut niveau (proches du
langage naturel) 12
L’approche "bases de données"
Définition : une base de données est un ensemble structuré de
données (1) enregistrées sur des supports accessibles par
l’ordinateur (2) pour satisfaire simultanément plusieurs
utilisateurs (3) de manière sélective (4) en un temps opportun (5).

– (1) : Organisation et description de données


– (2) : Stockage sur disque
– (3) : Partage des données
– (4) : Confidentialité
– (5) : Performance

Le logiciel qui permet d’interagir avec une BD est Système de


Gestion de Bases de Données (SGBD)
13
Système de Gestion de BDD (SGBD)
SGBD : Un ensemble de programmes permettant à des
utilisateurs de créer et d’utiliser de BDs.

Un SGBD : est un logiciel système qui permet de


manipuler (insertion, suppression, mise à jour,
recherche efficace) de grandes quantités de données
stockées dans une base de données

14
SGBD relationnels (SGBDR)
Logiciels commerciaux/payants:
 Oracle (SGBDR le plus utilisé)
 Microsoft SQL server
 IBM DB2
 Sybase Anywhere
 Microsoft Access
…

Logiciels libres/gratuits:
 MySQL
 PostrgreSQL
 SQLite
 mSQL
…
15
Architecture des SGBD
Trois niveaux de description des données ont été définis

Application 1 Application 2 Application 3 Application 4

Vue 1 Vue 2 Vue 3 Schémas externes


(vues)
chaque vue représente
la partie de la bd relative
vue globale de la base : à chaque utilisateur /
les données stockées et application
Schéma conceptuel
les relations parmi les
données

décrit comment les données


sont stockées dans la bd + Schéma interne
les index ( Physique /stockage)
16
Schéma interne ou physique
Structure de stockage physique des données
plus bas niveau : indique comment (avec quelles
structures de données) sont stockées physiquement les
données
Structures d'indexation pour accélérer la recherche de
données (trouver tous les étudiants qui ont entre 10 et
14 de moyenne)

17
Schéma logique ou conceptuel
décrit par un schéma conceptuel :indique quelles
sont les données stockées et quelles sont leurs
relations

Sans prendre en compte l'implantation sur machine de


ces données

18
Schéma externe (vue)
Chaque groupe d'utilisateurs manipulant les données
dispose d'une description de ces données adaptée à
l'utilisation qu'il en fait

A chaque type d'utilisation doit correspondre une vue


particulière des données qui constitue un schéma
externe

19
Objectifs des SGBD
1. Indépendance physique des données
2. Indépendance logique des données
3. Manipulation simple
4. Gestion des vues
5. Optimisation des questions
6. Gestion de la cohérence des données
7. Gestion des pannes
8. Concurrence d’accès
9. Gestion de la confidentialité
10. Standards
20
Indépendance Physique
 Indépendance du modèle physique ( Les données) par rapport
aux programmes:
 Indépendance entre structures de données et structures de
stockage .

 Possibilité de modifier les schémas conceptuel et interne des


données sans modifier les programmes

 Un SGBD permet de décrire les données d’une façon logique


sans se soucier comment cela va se faire physiquement dans
les fichiers.

 Le but est d’éviter une maintenance coûteuse des programmes


lors des modifications des structures logiques et physiques des
données. 21
Objectifs des SGBD
1. Indépendance physique des données
2. Indépendance logique des données
3. Manipulation simple
4. Gestion des vues
5. Optimisation des questions
6. Gestion de la cohérence des données
7. Gestion des pannes
8. Concurrence d’accès
9. Gestion de la confidentialité
10. Standards
22
Indépendance logique
Un même ensemble de données peut être vu
différemment par des utilisateurs différents.
Les applications peuvent définir des vues logiques de la
BD
Possibilité pour chaque application d'ignorer les besoins
des autres (bien que partageant la même BD).
L’évolution d'un schéma externe sans remettre en cause
les autres schémas externes.
Possibilité d'intégrer des applications existantes sans
modifier les autres.
Possibilité de limiter les conséquences du partage :
Données confidentielles.
23
Objectifs des SGBD
1. Indépendance physique des données
2. Indépendance logique des données
3. Manipulation simple
4. Gestion des vues
5. Optimisation des questions
6. Gestion de la cohérence des données
7. Gestion des pannes
8. Concurrence d’accès
9. Gestion de la confidentialité
10. Standards
24
Manipulation simple
Manipulations par des non informaticiens
 Pouvoir accéder aux données sans savoir programmer ce qui
signifie des langages d’interrogation quasi naturels

Gestion des données par un langage non procédural


 La manipulation se fait via un langage simple déclaratif
 Le langage suit une norme commune à tous les SGBD
 SQL: Structured Query Langage

Syntaxe
SELECT <structure des résultats>
FROM <relations>
WHERE <conditions>
Ex: Quels sont les noms et prénoms des étudiants ayant une note
entre 10 et 12 en ASD1 et entre 10 et 11 en SI ? 25
Objectifs des SGBD
1. Indépendance physique des données
2. Indépendance logique des données
3. Manipulation simple
4. Gestion des vues
5. Optimisation des questions
6. Gestion de la cohérence des données
7. Gestion des pannes
8. Concurrence d’accès
9. Gestion de la confidentialité
10. Standards
26
Des vues multiples des données
Les vues permettent d’implémenter l’indépendance
logique en permettant de créer des relations
virtuelles
Vue = Question stockée
Le SGBD stocke la définition et non le résultat
Exemple :
la vue des patients qui habitent à Sétif
la vue des projets de chaque service (chaque employer
ne peut voir que les projets de son service)
...

27
Objectifs des SGBD
1. Indépendance physique des données
2. Indépendance logique des données
3. Manipulation simple
4. Gestion des vues
5. Optimisation des questions
6. Gestion de la cohérence des données
7. Gestion des pannes
8. Concurrence d’accès
9. Gestion de la confidentialité
10. Standards
28
Exécution et Optimisation
Efficacité des accès aux données
 Ces langages doivent permettre d’obtenir des réponses aux
interrogations en un temps « raisonnable ».
 Le SGBD prend en charge l’optimisation du coût et le nombre
d’accès (E/S) d’une requête

Optimisation automatique des questions


 Utilisation de l’aspect déclaratif de SQL
 Gestion centralisée des chemins d'accès (index, hachages, …)
 Techniques d’optimisation poussées

29
Objectifs des SGBD
1. Indépendance physique des données
2. Indépendance logique des données
3. Manipulation simple
4. Gestion des vues
5. Optimisation des questions
6. Gestion de la cohérence des données
7. Gestion des pannes
8. Concurrence d’accès
9. Gestion de la confidentialité
10. Standards
30
Intégrité Logique (Contraintes d’intégrité )
Les données sont soumises à un certain nombre de contrainte qui
définissent un état cohérent de la base
Contrôle sur les données élémentaires : Elles doivent pouvoir être
exprimées simplement et vérifiées automatiquement à chaque insertion,
modification ou suppression de données, par exemple :
 Contrôle de types : Nom doit être alphabétique
 Contrôle de valeurs : Salaire mensuel entre 15000 et 500000 , l’âge
d’une personne > 0 .
Contrôle sur les relations entre les données
 Relations entre données élémentaires:
 Prix de vente > Prix d'achat
 Relations entre objets:
Unl’on
Dés que employer
essaienede
doit être rattaché
saisir qu'à qui
une valeur un seul
ne service.
respecte pas cette
contrainte, le SGBD refuse cette valeur. 31
Objectifs des SGBD
1. Indépendance physique des données
2. Indépendance logique des données
3. Manipulation simple
4. Gestion des vues
5. Optimisation des questions
6. Gestion de la cohérence
7. Gestion des pannes
8. Concurrence d’accès
9. Gestion de la confidentialité
10. Standards
32
Intégrité Physique
Motivations: Tolérance aux Pannes
 Transaction Failure: Contraintes d'intégrité, Annulation
 System Failure: Panne de courant, Crash serveur ...
 Media Failure: Perte du disque
 Communication Failure: Défaillance du réseau

Transaction:
 Ensemble d'opération élémentaires regroupées devant
s'exécuter toutes ou sinon aucune.
Objectifs:
 Assurer l'atomicité des transactions
 Garantir la durabilité des effets des transactions commises

Moyens:
 Journalisation : Mémorisation des états successifs des données
 Un SGBD doit intégrer des mécanismes de reprise après panne33
Transaction
Incohérence possible...
Etat cohérent Etat cohérent

Begin Commit
Transaction

Transférer 3000DA du compte


1 vers le compte 2
Begin
Compte1 = Compte1 - 3000
Compte2 = Compte2 + 3000
Commit T1 34
Atomicité et Durabilité
ATOMICITE Panne
DURABILITE

Begin Begin
Compte1 = Compte1 - 3000 Compte1 = Compte1 - 3000
Compte2 = Compte2 + 3000 Compte2 = Compte2 + 3000
Commit T1 Commit T1

Panne ou crash
disque
Restaurer les données telles
qu'elles étaient avant la
Restaurer les données telles
qu'elles étaient après la transaction.
transaction.
Annuler le débit !! 35
Objectifs des SGBD
1. Indépendance physique des données
2. Indépendance logique des données
3. Manipulation simple
4. Gestion des vues
5. Optimisation des questions
6. Gestion de la cohérence
7. Gestion des pannes
8. Concurrence d’accès
9. Gestion de la confidentialité
10. Standards
36
Partage des données

• Accès concurrent aux mêmes


BD données
 Conflits d’accès !!

Permettre à plusieurs utilisateurs d’accéder aux mêmes


données au même moment

37
Isolation et Cohérence

BD

Le SGBD gère les accès concurrents


• Chacun à l’impression d’être seul (Isolation).
• Permettre à deux (ou plus) utilisateurs de modifier la même donnée « en
même temps »;
• Cohérence conservée : Assurer un résultat d’interrogation cohérent pour
un utilisateur consultant une table pendant qu’un autre la modifie
38
Objectifs des SGBD
1. Indépendance physique des données
2. Indépendance logique des données
3. Manipulation simple
4. Gestion des vues
5. Optimisation des questions
6. Gestion de la cohérence
7. Gestion des pannes
8. Concurrence d’accès
9. Gestion de la confidentialité
10. Standards
39
Sécurité des données:
Objectif: Protéger les données de la BD contre des
accès non autorisés
Deux niveaux :
Connexion restreinte aux utilisateurs répertoriés
(identifiant et mot de passe…)
Privilèges d'accès aux objets de la base

Objets : Relation, Vue, autres objets (procédures, etc.)

40
Objectifs des SGBD
1. Indépendance physique des données
2. Indépendance logique des données
3. Manipulation simple
4. Gestion des vues
5. Optimisation des questions
6. Gestion de la cohérence
7. Gestion des pannes
8. Concurrence d’accès
9. Gestion de la confidentialité
10. Standards
41
Standardisation
L’approche bases de données est basée sur plusieurs
standards
Langage SQL (SQL1, SQL2, SQL3…)
Communication SQL CLI (ODBC / JDBC)
Transactions (X/Open DTP, OSI-TP)

Force des standards


Portabilité
Interopérabilité
Applications multi-sources…

42
Trois Fonctions d’un SGBD
Description des données : définition de données,
structuration, grâce à un Langage de Définition de
Données (LDD).

Manipulation des données : Insertion, Mise à jour,


interrogation, Suppression…, Mise en œuvre à l’aide d’un
Langage de Manipulation de Données (LMD)

Contrôle des données : partage, intégrité,


confidentialité, sécurité. Mise en œuvre à l’aide d’un
Langage de contrôle d´accès aux données (DCL)
43
Utilisateurs des SGBD
Les différents rôles que doivent jouer un individu ou un groupe d’individus pour
concevoir, créer, mettre en œuvre et exploiter une base de données.

 L’administrateur de la base de données : Il est chargé de décrire les entités


de la base de données et indiquer les liaisons existant entre ces entités, ceci au
moyen du LDD ( Langage de Description de Données ) offert par le SGBD.

 Le programmeur d’application : Il est chargé d’élaborer les programmes pour


exploiter la base de données en fonction de la description qui a été faite par
l’administrateur d’application. Le programmeur d’application utilise le LMD
(Langage de manipulation de Données) offert par le SGBD ainsi que d’autres
sous-programmes conservés généralement dans une librairie (i.e. bibliothèque
de sous-programmes).

 L’utilisateur : Il s’agit de caractériser ici la personne qui se sert simplement de


la base de données et qu’on appelle couramment l’utilisateur final (End User en
44
anglais).
Types de modèles de données
Modèle sémantique

Le modèle sémantique est parmi les modèles de bases de


données les moins courants. Il comprend des informations sur la
façon dont les données stockées sont rattachées au monde réel.

45
Types de modèles de données
Modèle Entité-Association

Le modèle entité-association, permet de modéliser des


situations du monde réel décrites en langage naturel.

Le modèle Entité-Association (EA) en français, ER en anglais


(Entity Relationship) permet de décrire l'aspect conceptuel
des données à l’aide d’entités et d’associations.

46
Types de modèles de données
Modèle hiérarchique (ou arbre)
A l’aide du modèle hiérarchique, le schéma conceptuel peut
être vu comme un graphe arborescent dont les nœuds
correspondent aux classes d’objets (entités) et les arcs entre
deux nœuds aux liaisons ou associations entre les entités.
Chaque enregistrement n’a qu’un seul parent (racine).
Les enregistrements frères sont triés dans un ordre particulier.
Avec le modèle hiérarchique, le nombre de flèches pouvant
arriver sur un nœud est donc égal à un (sauf pour le nœud
racine).Liaison de type 1 vers N

47
Types de modèles de données
Modèle hiérarchique (ou arbre)

exemple 1

exemple 2

48
Types de modèles de données
Modèle Réseau ( ou graphe)
A l’aide de ce modèle, le schéma conceptuel peut être vu comme
un graphe général où les nœuds correspondent aux classes
d’objets et les arcs entre deux nœuds aux associations
Est un modèle hiérarchique étendu qui autorise des relations
transverses (i.e. relations plusieurs-à-plusieurs entre des
enregistrements liés).
Un enregistrement peut être un membre ou un enfant dans
plusieurs ensembles .
Liaison de type N vers N
la notion de nœud racine n’existe pas avec le modèle réseau.
49
Types de modèles de données
Modèle Réseau ( ou graphe)

exemple 1

exemple 2

50
Types de modèles de données
Modèle Relationnel
Les informations décomposées et organisées sont stockées
dans des tables.
Le schéma relationnel est l'ensemble des RELATIONS qui
modélisent le monde réel ; tel que les relations représentent
les entités du monde réel (par exemple : des personnes, des
objets…etc.) ou les associations entre ces entités.
Liaison de type N vers 1

51
Types de modèles de données
Modèle Objet
Permet de voir une base de données comme un ensemble de
classes d’objets, ayant des liens d’héritage, d’agrégation, de
composition ou de simple association entre elles.

52

Vous aimerez peut-être aussi