Sarah Cohen-Boulakia, Bases de données
1
Cours de Bases de Données
Polytech Paris-Sud
Sarah Cohen-Boulakia
LRI, Bât 650, Université Paris-Sud, Orsay
cohen @ lri . fr
01 69 15 32 16
Sarah Cohen-Boulakia, Bases de données
2
Chapitre 1
Introduction
aux
Bases de Données
Sarah Cohen-Boulakia, Bases de données
3
Chapitre 1 : Quelques questions…
• Qu’est-ce qu’une base de données ?
• Pourquoi ne pas plutôt utiliser un système de
fichiers ?
• A quoi sert un système de gestion de bases
de données (SGBD) ?
Sarah Cohen-Boulakia, Bases de données
4
Les Bases de données sont
omniprésentes
•Applications de gestion
– Banque - Finance - Assurance
– Gestion du personnel / client d’une entreprise
– Gestion des stocks
•Système d’information d’une entreprise / labo
– Applications transactionnelles
– Gestion de réservations
– Transports passagers (train, avion, location, ...),
– Hôtels, Spectacles
– Expérimentations scientifiques
Consultations/modifications très fréquentes
Sarah Cohen-Boulakia, Bases de données
5
Gestion des réservations
de billets de trains
Réservation
• Num reservation
• Nom client
• Adresse client
• numéro trajet
• date
• Départ
- gare
- heure
• Arrivée
- gare
- heure
Trajet
• numéro trajet
• gare départ
• heure départ
• destination finale
• heure d’arrivée
Étapes,
Wagons,
Trains…
Quelques Notes…
Sarah Cohen-Boulakia, Bases de données
6
Utilisation de systèmes de fichiers
Problèmes
• Redondances
• Incohérences
Maintenance
• Structure des
données dans les
programmes !
• Accès aux
données
Performances
Système de
réservation
dans les gares
Système de
réservation
en ligne (voyageSNIF)
Système de
réservation
en ligne (Axpadia)
Système
fichiers 1
Train 345
Système
fichiers 2
Train 345
Système
fichiers 3
Train 345
Sarah Cohen-Boulakia, Bases de données
7
L’utilisation d’une base de
données et un système de
gestion de base de données est
un choix guidé par des besoins à
différents niveaux
Sarah Cohen-Boulakia, Bases de données
8
Description
•Décrire le données de l’application (trains,
trajets et réservations) sans faire référence à
une solution informatique particulière
Modélisation conceptuelle
• Élaborer une description équivalente pour le
stockage des données
Modélisation logique
Langage de description de données
Sarah Cohen-Boulakia, Bases de données
9
Création et modification des
données
• Créer la base de données initiale avec les
données représentant le réseau SNIF
langage permettant l’insertion de données
• Créer au fur et à mesure les données sur les
réservations
• Pouvoir modifier (et éventuellement supprimer)
toute donnée déjà rentrée
langage de manipulation de données
(insertion, modification, suppression)
Sarah Cohen-Boulakia, Bases de données
10
Interrogation
• Répondre à toute demande d’information portant
sur les données contenues dans la base
–Nicolas Bazin a-t-il une réservation pour aujourd’hui ? Si
oui, donner les infos sur cette réservation.
–Quels sont les horaires des trains partant de Bordeaux et
allant à Paris entre 9h et 10h le dimanche ?
–Donner toutes les destinations au départ de Bordeaux
sans arrêts intermédiaires
Langage de requête (langage d’interrogation)
Sarah Cohen-Boulakia, Bases de données
11
Exactitude et Cohérence
• Exprimer des contraintes sur les données
–Chaque place de train est occupée par au plus un client
–Les arrêts d’un train sont numérotés de façon continue
–La date de réservation pour un train doit être à un jour de
circulation de ce train
–L’heure de départ d’une gare doit être postérieure à
l’heure d’arrivée dans cette gare
–L’heure d’arrivée à un arrêt doit être postérieure à l’heure
de départ de l’arrêt précédent
Langage d’expression de contraintes
d’intégrité
Sarah Cohen-Boulakia, Bases de données
12
Fiabilité et contrôle de concurrence
•Pas de perte d’information due à un
disfonctionnement matériel quelconque
– erreur de programmation, panne système, panne de
physique, coupure de courant, …
Garantie de fiabilité, reprise sur panne
•Pas de perte d’information due à l’action d’ un
utilisateur
– enregistrement de deux réservations (sur 2 clients
différents) pour une même place dans un même train
Garantie de contrôle de concurrence
Sarah Cohen-Boulakia, Bases de données
13
Confidentialité et Efficacité
•Information protégée (utilisateurs autorisés) en
lecture/écriture
–Les clients ne doivent pas pouvoir modifier les
numéros des trains
Garantie de confidentialité
•Temps de réponse conforme aux besoins
– en interactif : pas plus de 2 secondes
– en programmation : assumer la charge de travail
attendue (nombre de transactions par jour)
Optimisation
Attention : répartition / duplication des données
Garantie d’efficacité
Sarah Cohen-Boulakia, Bases de données
14
BD et SGBD
•Base de données (BD)
– ensemble structuré de données stockées et accessibles par
plusieurs utilisateurs
•Système de Gestion de Base de Données (SGBD)
– Logiciel système pour interagir avec une BD. Fonctions :
• Gestion du stockage en mémoire secondaire
• Accès efficaces aux données, transferts mémoires
centrale - secondaire
• Persistance
• Résistance aux pannes (logicielles et matérielles)
• Confidentialité (sécurité)
• Cohérence – Intégrité (fiabilité)
• Partage des données – Concurrence (sécurité)
• Interface
Sarah Cohen-Boulakia, Bases de données
15
BD et SGBD
•Base de données (BD)
– ensemble structuré de données stockées et accessibles par
plusieurs utilisateurs
•Système de Gestion de Base de Données (SGBD)
– logiciel pour interagir avec une BD. Fonctions :
• Gestion du stockage en mémoire secondaire
• Accès efficaces aux données, transferts mémoires
centrale - secondaire
• Persistance
• Résistance aux pannes (logicielles et matérielles)
• Confidentialité (sécurité)
• Cohérence – Intégrité (fiabilité)
• Partage des données – Concurrence (sécurité)
• Interface
Oracle, Postgres, mySQL,
DB2, SQLServeur
sont des SGBDs
Sarah Cohen-Boulakia, Bases de données
16
Avec une base de données
Avantages
• Chaque
information n'est
stockée qu'une
seule fois
•Une seule base
pour toutes les
applications
• Et chaque
application ne voit
que ce qu'elle doit
voir (contrôle par
les filtres ou vues)
Système de
réservation
dans les gares
Système de
réservation
en ligne (voyageSNIF)
Système de
réservation
en ligne (Axpadia)
Train 345
Schéma
Manipulation
Sarah Cohen-Boulakia, Bases de données
17
Principe 1 : Instance et schéma
• On distingue toujours le schéma (récipient) de
l’instance (contenu)
•Schéma = description centralisée des données
– la description des données est une donnée stockée +
modifiable + interrogeable
–Train(no: entier, gare départ : chaîne de caractères,
heure départ : Heure…) (= Table en colonnes)
•Instance = donnée
– les données sont organisées en fonction du schéma
– (Train n° 345, Bordeaux, 15h00) (= ligne)
Sarah Cohen-Boulakia, Bases de données
18
Principe 2 : Trois Niveaux
d’Abstraction
• Niveau externe (vues)
– description et manipulation des données dédiées à un
groupe d’utilisateurs, modélisation des visions de la
base par les utilisateurs
• Niveau logique ou conceptuel
– description et manipulation abstraites des données
– structure globale des données qui intègre les
différentes visions externes, sans se soucier des
contraintes (performance…) liées à l’implantation
• Niveau physique (interne)
–organisation et stockage des données en mémoire
secondaire, façon dont la base est implantée sur la
machine
Sarah Cohen-Boulakia, Bases de données
19
Avantages de la séparation des 3
niveaux
• Limitation des modifications liées
– aux changements de matériel, de système
d’exploitation ou des logiciels utilisés
–Passage à un serveur plus puissant, changement de
SGBD (Oracle, Postgres, mySQL…)
• La vision de chaque utilisateur est
indépendante des visions des autres
utilisateurs
– pas impactées par les modifications du schéma
conceptuel qui ne le concernent pas
–Changement de l’affectation des wagons par train
pas d’impact sur l’interface de consultation
Sarah Cohen-Boulakia, Bases de données
20
3 types d'utilisateurs
• L'administrateur de la base est chargé
– du contrôle de la BD, en particulier, permettre l'accès aux données /
applications / individus qui y ont droit
– de conserver de bonnes performances d'accès à ces données
– de faire des sauvegardes / procédures de reprise sur pannes
• Le programmeur
– écrit des applications qui utilisent la base de données
– 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
1 / 7 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!