Vous êtes sur la page 1sur 49

Cours Bases de données

Chapitre 01 : Introduction

Réalisé par : SAYAD Lamri


M’sila 2020
Plan du cours

1- Introduction

2- Le modèle Entité/Association

3- Le modèle relationnel

4- L’algèbre relationnel

5- SQL

6- Normalisation d’un schéma relationnel


2
Plan du cours

1- Introduction

2- Le modèle Entité/Association

3- Le modèle relationnel

4- L’algèbre relationnel

5- SQL

6- Normalisation d’un schéma relationnel


3
Les données

4
Les données

5
Comment les stocker

6
Comment les stocker

7
Comment structurer les données

8
Comment structurer les données

9
Comment structurer les données

10
Comment structurer les données

11
Comment structurer les données

12
Où Stocker ces données? (1/2)
• Que peut-on faire de ces données?
• Avant tout, les conserver aussi longtemps que
nécessaire
• Les intérroger : quel est le numéro, le nom et
l’adresse des clients de Msila

select NCLI, NOM, ADRESSE


from CLIENT
where LOCALITE = ‘Msila’

13
Où Stocker ces données? (2/2)
• Utiliser des fichiers:
– Texte
– Word
– Excel
–…
• Utiliser une base de données

14
Les limites à l’utilisation des fichiers (1/2)

• Redondance des données et incohérences


• Isolation des données et accessibilité
• Un accès aux données = un programme
• Atomicité et environnement multi utilisateurs
• Sécurité et protection des données

15
Les limites à l’utilisation des fichiers (2/2)
• L’utilisation de fichiers impose à l’utilisateur de connaître :
– le mode d’accès (séquentielle, indexée, …)
– la structure physique des enregistrements
– et la localisation des fichiers qu’il utilise afin de pouvoir accéder aux
informations dont il a besoin.

• Pour des applications nouvelles, l’utilisateur devra obligatoirement écrire de


nouveaux programmes et il pourra être amené à créer de nouveaux fichiers qui
contiendront peut-être des informations déjà présentes dans d’autres fichiers.

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

16
Pourquoi une base de données ?
1. Eviter les redondances et les incohérences des
données.
2. Offrir des langages de haut niveau pour la
définition et la manipulation des données.
3. Partager les données entre plusieurs utilisateurs
4. Contrôler l’intégrité, la sécurité, la
confidentialité des données.
5. Assurer l’indépendance entre les données et les
traitements

17
Base de données vs fichiers (1/2)
• Dans l’approche gestion de fichiers
– les fichiers sont définis pour un ou plusieurs programmes de traitement.
– Les données d’un fichier sont directement associées à un programme par une
description contenue dans le programme de traitement lui-même.
– Il n’existe aucune indépendance entre le programme et les données.
– Toute modification de la structure des données nécessite la réécriture du programme.
• Dans l’approche base de données
– la partie de structuration et de description des données est unifiée et séparée des
programmes d’application.
– La gestion de ces données (stockage, modification, recherche) qui est étroitement
dépendante de leur structuration, est fournie par le Système de gestion des données, les
applications ne communiquant avec les données qu’au travers de l’interface de gestion.
D’où l’indépendance entre les données et les applications.
– Le programmeur des applications n’a pas à connaître l’organisation physique des
données...

18
Base de données vs fichiers (2/2)

19
Qu’es-ce qu’une base de données ? (1/2)

Définition 1 : Ensemble de données :


a- Cohérents
b- intégrés
c- partagés

Définition2 : Ensemble de données mémorisées sur des


supports accessibles par un ordinateur pour satisfaire
simultanément plusieurs utilisateurs

20
Qu’es-ce qu’une base de données ? (2/2)

Exemples de bases de données :


- Gestion des personnels,
- Gestion étudiants,
- Gestion cours,
- Gestion inscriptions …

21
Un peu d’histoire (Evolution)
- Jusqu’aux années 60 : organisation classique
en fichiers
- A partir 1970 : apparition des premiers SGBD
(Systèmes réseaux et hiérarchiques)
- A partir 1980 : 2ième génération de SGBD
(Systèmes relationnels)
- A partir 1990 : 3ième génération de SGBD
(Systèmes orientés objets) domine le marché

22
Types de Bases de données

• BD Hiérarchiques : les plus anciennes fondées sur une


modélisation arborescente des données
• BD Réseaux : résolvent certains problèmes des BD
hiérarchiques
• BD Relationnelles : organisation des données sous forme de
table et exploration à l’aide d’un langage déclaratif
• Ex: Oracle, mySQL, Access
• BD Objets : organisation des données sous forme d’instances de
classes hiérarchisées (qui possèdent leur propres méthodes
d’exploitation)

23
BDD hiérarchiques (1/2)
 Une BDD hiérarchique est un ensemble de :
– Ensemble de types d'enregistrements R1, R2, … Rn.
– Ensemble de liens Lij (1 < i < n, 1 < j < n).

 Elle doit respecter 4 règles :


R1 : Il existe au plus un lien Lij entre deux types l'enregistrements Ri et Rj.
R2 : Aucun lien Lii n'est possible pour tout i.
R3 : Chaque lien Lij correspond à une association 1-N (parent – enfant).
R4 : Le graphe structurel est un arbre ordonné appelé schéma hiérarchique
(un type racine et des types dépendants)

24
BDD hiérarchiques (2/2)
• Exemple

25
BDD Réseaux
• comme le modèle hiérarchique ce modèle utilise des
pointeurs vers des enregistrements. Toutefois la structure
n'est plus forcément arborescente dans le sens descendant

26
BDD Objets
• Dans une telle organisation, les données sont représentées
sous forme d'objets.
• Un objet représente une chose de la vie réelle, concrète ou
abstraite comme une personne
• Les objets contiennent :
– les données qui les décrivent et qui représentent leur état
– la logique qui permet de les utiliser et de les modifier

27
Les utilisateurs d’une BDD
• Le concepteur
– Contexte de travail : niveau conceptuel
– Construction du schéma conceptuel avec un modèle de données
• Administrateur BD
– Contexte de travail : les 3 niveaux.
– Définit et màj les schémas logiques
– Définit les CI + Vues + droits d’accès
– Définit les schémas physiques (structures de stockage +
stratégies d’accès)
– Utilise le LDD et LCD

28
Les utilisateurs d’une BDD (suite)
• Développeur d’applications
– Contexte de travail : niveau externe et conceptuel
– Utilise le LMD + langage de programmation
– Écrit des programmes pour interroger, mettre à jour et traiter
les données
– Connaît les schémas logiques et physiques
• Utilisateur terminal
– Contexte de travail : niveau externe
– « Averti »: interroge la BD en utilisant un LMD
– « Naïf »: utilise les programmes d’application

29
Qu’es-ce qu’un SGBD ? (1/2)
Définition
Un Système de Gestion de Bases de Données (SGBD) est un
logiciel de haut niveau qui permet de manipuler les donnés
stockées dans une base de données

SGBD BD

30
Qu’es-ce qu’un SGBD ? (2/2)
Un SGBD est un intermédiaire entre les utilisateurs et les fichiers physiques

Un SGBD facilite
- la gestion de données, avec une représentation intuitive simple sous forme
de table par exemple
- la manipulation de données. On peut insérer, modifier les données et les
structures sans modifier les programmes qui manipulent la base de données

Base de données
Programme 1

Fichier 1
SGBD
Programme 2
,Fichier 2
Fichier 3 Programme 3

31
Qu’es-ce qu’un SGBD ? (3/3)
• Un SGBD est un logiciel offrant 7 services :
– Persistance
– Gestion du disque
– Partage des données
– Fiabilité des données
– Sécurité des données
– Indépendance logique/physique
– Langage de description, d’interrogation et de traitement
des données

32
Types de SGBD
• Aujourd’hui, il existe quatre catégories principales de
SGBD :
– relationnels,
– objet-relationnels,
– objets,
– XML.

33
Objectifs des SGBD (1/3)
• Indépendance physique :
On peut insérer, supprimer, modifier des données directement sur l’image
logique. Le SGBD va s’occuper de faire le travail sur les fichiers physiques.

• Indépendance logique :
Un même ensemble de données peut être vu différemment par des
utilisateurs différents.

• Manipulations des données par des non informaticiens :


Il faut pouvoir accéder aux données sans savoir programmer.

• Efficacité des accès aux données :


– Permettre d’obtenir des réponses aux interrogations en un temps
« raisonnable ».
– il faut un mécanisme permettant de minimiser le nombre d’accès disques de
façon complètement transparente pour l’utilisateur.

34
Objectifs des SGBD (2/3)
• Administration centralisée des données :

• Cohérence des données :


Les données doivent rester cohérentes quelque soit l’opération exécutée sur la
base de données. Les données sont soumises à un certain nombre de contrainte
d’intégrité qui définissent un état cohérent de la base. Elles doivent pouvoir être
exprimées simplement et vérifiées automatiquement à chaque insertion,
modification ou suppression de données, par exemple :
– l’âge d’une personne supérieur à zéro
– Salaire supérieur à zéro
– Etc

35
Objectifs des SGBD (3/3)
• Non redondance des données :
Chaque donnée doit être stockée dans un seul emplacement afin d’éviter des
problèmes lors des mises à jour.
• Partage des données :
Permettre à plusieurs utilisateurs d’accéder aux mêmes données au même temps.
Il s’agit alors de pouvoir :
– Permettre à plusieurs utilisateurs de modifier la même donnée « en même temps »;
– Assurer un résultat d’interrogation cohérent pour un utilisateur qui consulte une table
pendant qu’un autre la modifie.
• Sécurité des données :
Les données doivent pouvoir être protégées contre les accès non autorisés. Pour
cela, il faut pouvoir associer à chaque utilisateur des droits d’accès aux données.
• Résistance aux pannes :
Il faut pouvoir, lorsque une panne survient, récupérer une base dans un état
« sain ».

36
Fonctions d’un SGBD

• Description des données : codification structuration, grâce à


un Langage de Description de Données (LDD)

• Manipulation et restitution des données (insertion, mise à


jour, interrogation)
– Mise en œuvre à l’aide d’un Langage de Manipulation de Données
(LMD)
– S.Q.L. (Structures Query Langage) : Langage standard

• Contrôle (partage, intégrité, confidentialité, sécurité)

• Optimisation des performances

37
Architecture ANSI/SPARC 78
Les trois niveaux de descriptions définies par la norme ANSI/ SPARC

Niveau interne Niveau conceptuel ou logique Niveau externe


ou physique ou Vues

BD .
.
.
Architecture ANSI/SPARC
• Le niveau interne ou physique
– Stockage physique des données sur le matériel
• Le niveau conceptuel
– Définition logique de la base de données : représentation pour la communauté
concernée.
– Le DDL (data definition language) permet de décrire les tables et de décrire les
champs de chaque table. Certains y ajoutent les droit d’accès ou de
manipulation.
– Le DML (data manipulation language) permet de manipuler les données
(remplissage de la base …)
• Le niveau externe
– Concerne les utilisateurs en leur donnant des vues différentes (liste, fiche de
saisie…)

39
Définition et description des données
Niveau interne ou physique
• Description informatique des données et de leur organisation:
en terme de fichiers, d’index, de méthodes d’accès, …

• Passage du modèle logique au modèle physique tend à être


assisté par le SGBD : transparent et/ou semi-automatique

• Objectifs : optimiser les performances

40
Définition et description des données
Niveau logique (conceptuel)
• Permet la description
– Des objets : exemple OUVRAGES, ETUDIANTS
– Des propriétés des objets (attributs) : exemple Titre de OUVRAGES
– Des liens entre les objets : un OUVRAGE peut être emprunté par un ETUDIANT
– Des contraintes : le nombre d’exemplaires d’un OUVRAGE est supérieur à zéro
• Cette description est faite selon un modèle de données.
• Un modèle de données est un ensemble de concepts permettant de décrire la
structure d’une base de données. La plupart des modèles de données incluent des
opérations permettant de mettre à jour et questionner la base. Le modèle de
données le plus utilisé est le modèle relationnel
• Cette description va donner lieu à un schéma de base de données. Un schéma de
base de données se compose d’une description des données et de leurs relations
ainsi que d’un ensemble de contraintes d’intégrité.

41
Définition et description des données
Niveau externe
• Description des données vues par un utilisateur ( ou un
groupe d’utilisateurs)

– Objectifs : simplification, confidentialité

– Exemple : OUVRAGES édité par des éditeurs français

42
Manipulation et restitution des données

• Afin de réaliser les opérations suivantes


– Insertion : saisir des données
– Supprimer
– Modifier
– Interroger : rechercher des données via des requêtes

La manipulation des données est mise en œuvre à l’aide d’un Langage


de manipulation de Données (LMD). SQL (Structured Query Language)
est le langage standard de manipulation de BD

43
Contrôles réalisés par le SGBD
• Partage de données :
accès à la même information par plusieurs utilisateurs en
même temps. Plusieurs techniques existent pour permettre
au SGBD d’implémenter un mécanisme de contrôle de la
concurrence.

• Intégrité des données :


Afin de préserver l’intégrité des données, le SGBD veille à ce
que toutes les contraintes soient vérifiées à chaque insertion,
suppression, ou modification d’une donnée.

• Sécurité :
Pour affiner l’accès aux données, des droits d’accès sont
attribués à chaque utilisateur de la base de données.

44
Optimisation
• L’optimisation s’appuie sur l’organisation physique des
données.

• Les principaux types d’organisation sont :


– les fichiers séquentiels,
– les index (denses. secondaires, arbres B),
– le regroupement des données par hachage.

• Un module particulier du SGBD (l’optimiseur) tient


compte de cette organisation et des caractéristiques de
la requête pour choisir le meilleur séquencement des
opérations.
45
L’architecture des SGBD

• Basée sur une architecture Client-Serveur

– Données sur le serveur partagées entre N clients


– Interfaces graphiques sur la station de travail personnelle
– Communication par des protocoles standardisés
– Clients et serveurs communiquant par des requêtes avec réponses

46
Cycle de vie d’une base de données

47
Démarche de construction d’une BD
relationnelle

Interview Modélisation
Documents Conception (E/A)

Modèle Conceptuel
de Données (E/A)

Transformation
en relationnel

Modèle Logique de
Données (Relationnel)
48
Conclusion
Récapitulatif : Nous avons fait à travers cette
introduction :
1. Définir une base de données
2. Définir un SGBD
3. Un bref historique sur l’évolution des BDD
4. Types des bases de données
5. Caractéristiques des BDD
6. Ce qu’il faut savoir pour utiliser un SGBD

49

Vous aimerez peut-être aussi