1
Introduction aux bases de
données
Université de Nice Sophia-Antipolis
Version 2.1 -5/12/2000
Richard Grin
R. Grin SGBD 2
Généralités sur les
bases de données
R. Grin SGBD 3
Définitions
•Une base de données est un ensemble
structuré de données enregistrées dans un
ordinateur et accessibles de façon sélective
par plusieurs utilisateurs.
•Un logiciel qui permet d'interagir avec une
base de données s'appelle un système de
gestion de base de données (SGBD)
R. Grin SGBD 4
Fonctions d'un SGBD
•Décrire les données qui seront stockées
•Manipuler ces données (ajouter, modifier,
supprimer des informations)
•Consulter les données et traiter les
informations obtenues (sélectionner, trier,
calculer, agréger,...)
•Définir des contraintes d'intégrité sur les
données (contraintes de domaines,
d'existence,... )
R. Grin SGBD 5
Fonctions d'un SGBD (2)
•Définir des protections d'accès (mots de passe,
autorisations,...)
•Résoudre les problèmes d'accès multiples aux
données (blocages, interblocages)
•Prévoir des procédures de reprise en cas
d'incident (sauvegardes, journaux,...)
R. Grin SGBD 6
Indépendance par rapport aux
traitements
•Pour faciliter la maintenance, un SGBD doit
favoriser l'indépendance des traitements
–par rapport à l'implantation physique des données
(codage, support d'enregistrement, ordre dans
lequel les données sont enregistrées,…)
–et même, si possible, par rapport à l'implantation
logique des données (existence d'index,
décomposition en "fichiers logiques",…)
2
R. Grin SGBD 7
Sans base de données
BP 2536
BP 2536
BP 2536 Facturation
Commercial
Prospects
Fichiers Applications
Délais de mise à jour
Données contradictoires R. Grin SGBD 8
Avec base de données
BP 2536 Facturation
Commercial
Prospects
Base de données Applications
Filtre (vues)
R. Grin SGBD 9
Avec base de données
•Une information n'est stockée qu'une seule
fois
•Une seule base pour toutes les applications
•…mais chaque application ne voit que ce
qu'elle doit voir (contrôle par les filtres ou
vues)
R. Grin SGBD 10
Avantages de l'utilisation des SGBD
•Centralisation des données ⇒intégritédes
données
•Contrôle centraliséde l'accès aux données ⇒
sécuritéaccrue
•Instructions de traitement très puissantes ⇒
grande rapiditéde développement
•Indépendance vis-à-vis de la structure physique
et logique des données ⇒maintenance facilitée
R. Grin SGBD 11
Avantages de l'utilisation des SGBD
•Pour les SGBD relationnels : langage non
procédural simple ⇒interrogation directe
possible par les utilisateurs et réponses rapides
àdes questions non prévues par l'application
R. Grin SGBD 12
Niveau de description d’une base
•Externe : modélisation des différentes
visions de la base par les utilisateurs
•Conceptuel: structure globale des données
de la base qui intègre les différentes visions
externes, sans se soucier des contraintes (de
performance ou autres) liées à l’implantation
•Interne : manière dont la base est implantée
sur les ordinateurs
3
R. Grin SGBD 13
Avantages de la séparation des 3
niveaux
•On peut limiter les modifications liées aux
changements de matériel, de système
d’exploitation ou des logiciels utilisés
•La vision de chaque utilisateur est
indépendante des visions des autres
utilisateurs et n’est pas modifiée par les
modifications du schéma conceptuel qui ne
le concernent pas
R. Grin SGBD 14
Types d'utilisateurs
•L'administrateur de la base est chargé
–du contrôle de la base de données, en
particulier, permettre l'accès aux données aux
applications ou individus qui y ont droit
–de conserver de bonnes performances d'accès à
ces données
–des sauvegardes et des procédures de reprise
après les pannes
R. Grin SGBD 15
Types d'utilisateurs (2)
•Le programmeur
–écrit des applications qui utilisent la base de
données
–il crée les tables et les structures associées
(vues, index,...) utilisées par ses applications
•L'utilisateur final
–n'a accès qu'aux données qui lui sont utiles
•par l'intermédiaire d'applications
•en interrogeant directement les tables ou vues sur
lesquelles l'administrateur lui a accordé des droits
R. Grin SGBD 16
Types de SGBD
•SGBD hiérarchique :
–les données sont représentées dans la base sous
la forme d'un arbre
–la structure d'arbre utilise des pointeurs et
détermine le chemin d'accès aux données
•SGBD réseau :
–les données sont représentées dans la base sous
la forme d'un graphe quelconque
–la structure de graphe utilise des pointeurs et
détermine le chemin d'accès aux données
R. Grin SGBD 17
Types de SGBD (2)
•Pour les SGBD hiérarchiques et réseaux, les
programmes
–ne sont pas indépendants de la structure logique
de la base
–doivent indiquer le chemin d'accès aux données
–utilisent un langage complexe pour travailler
avec les données
R. Grin SGBD 18
SGBD relationnel
•La théorie des SGBDR est fondée sur la théorie
mathématique des relations
•Représentation très simple des données sous forme
de tables constituées de lignes et de colonnes
•Plus de pointeurs qui figent la structure de la base
•Langage non procédural, puissant et simple
d'emploi
•Langage SQL est un standard parmi ces langages
•Dominent le marché des SGBD
4
R. Grin SGBD 19
SGBD objet
•Les SGBDOO enregistrent les données sous
forme d'objets ; les données sont enregistrées
avec les procédures et les fonctions qui
permettent de les manipuler
•Ils supportent la notion d'héritage entre
classes d'objets
•Très simple de rendre les objets persistants
•Meilleures performances pour la gestion
d'objets complexes (les pointeurs remplacent les
jointures pour les structures hiérarchiques)
R. Grin SGBD 20
SGBD objet
•A priori, beaucoup d'avantages sur le relationnel
•Mais,
–manque de normalisation et de standard
–inertie de l'existant (presque toutes les bases actuelles
sont de type relationnel)
•Vont détrôner les SGBD relationnels ?
•Ceux-ci tentent de résister avec les SGBD
relationnels-objet (introduction des types complexes
et des pointeurs mais au détriment de la "pureté"
relationnelle)
R. Grin SGBD 21
Modèles de données
R. Grin SGBD 22
Niveaux d'abstraction
•Il est nécessaire de décrire l'application selon
différents niveaux d'abstraction pour faciliter
–le développement des applications (ne pas être noyé dans
par les détails et contraintes techniques au début de son étude)
–l'adaptation de l'application aux futures modifications
de l'environnement technique et logiciel
•Pour les données, on distingue généralement les 3
niveaux conceptuel, logique et physique
R. Grin SGBD 23
Niveau conceptuel
•Il décrit les données sous une forme
indépendante du matériel et du SGBD
•Dans ce cours d'introduction, nous décrirons ce
niveau conceptuel par un diagramme de classes
UML (simplification qui peut suffire pour les
cas simples)
R. Grin SGBD 24
Niveau logique
•Il adapte le niveau conceptuel au type de SGBD
utilisé
•Pour les SGBD relationnels, il traduit le niveau
conceptuel sous formes de relations
•Pour les SGBD objets, le modèle conceptuel est
traduit sous forme de classes (direct depuis un
schéma UML)
5
R. Grin SGBD 25
Niveau logique pour les SGBD
relationnels
•Les relations sont normalisées pour éviter les
problèmes liés à une mauvaise répartition entre
les relations
•Des besoins d'optimisation peuvent conduire à
dénormaliser certaines relations
R. Grin SGBD 26
Niveau physique
•Il décrit l'implantation du niveau logique à
l'aide du matériel et du SGBD choisi
•On précise les emplacements des données
sur les différents supports
•On peut optimiser les accès aux données en
utilisant les possibilités particulières
offertes par le SGBD (clusters par exemple
avec Oracle)
R. Grin SGBD 27
Commercial
commission : double
setCommission(double)
Directeur Administratif
Participation
fonctionP:String
Projet
codeP:String
nomP:String
ajouterEmploye(Employe)
Département
numéro : int
nom : String
lieu : String
ajouterEmployé(Employe) : void
Employe
matricule : int
nom : String
poste : String
dateEmbauche: date
salaire : double
getSuperieur()
setSuperieur(Employe)
getMatricule()
0..*
0..* 0..*
+participe
0..*
1
0..*
+contient1
0..* appartient
0..1
0..*
+supérieur
0..1
hierarchie
+subordonné
0..*
Une classe
Une association Une classe-
association
Agrégation
Rôle pour
l’association Héritage
Multiplicité
R. Grin SGBD 28
Modèle relationnel
R. Grin SGBD 29
Relation
•La notion de relation traduit le fait que les
éléments appartenant à des ensembles
(distincts ou non) peuvent être en relation
Robert
Alain
Bernard
Julien
Sylvie
Nathalie
Carole
×
×
×
××
×
×
{ (Robert, Sylvie),
(Alain, Nathalie),
(Alain, Carole) }
Hommes Femmes
Sous-ensemble de
Homme ×Femme :
R. Grin SGBD 30
Relation mathématique
•Une relation entre n ensembles Diest un
sous-ensemble du produit cartésien des n
ensembles D1 ×D2...×Dn
•C'est donc un ensemble de n-uplets
(a1, a2,…, an) où ai∈Di
•n estappeléle degréde la relation
1 / 22 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!