Base de données
INTRODUCTION
1. Présentation du module
Objectifs
▰ Comprendre,
▰ Concevoir,
▰ Mettre en place,
▰ Utiliser une base de données
Répartition des enseignements
▰ 6 CM
▰ 3 TD
▰ 4 TP
Evaluations
▰ Evaluations en début de TD ?
▰ Epreuve sur table
▰ TP noté
2. Données et persistence
Qu’est-ce
qu’une donnée ?
▰
Une valeur numérisée▰
D’un certain type (entier, chaine de caractères, …)▰
Décrit une propriété de quelque chose▰
S'inscrit dans un contexteLes données dans un programme ?
DONNÉE VARIABLE
A LA FIN DU PROGRAMME LES DONNÉES SONT PERDUES
Comment conserver une donnée ?
LES FICHIERS GARANTISSENT LA PERSISTENCE DES DONNÉES
DONNÉE FICHIER SUPPORT DE STOCKAGE
Inconvénients des fichiers
▰
Accès relativement lents▰
Faible structuration des données▰
Redondance d’information▰
Absence de contrôle de cohérence globale▰
Forte dépendance entre fichiers et applications▰
Problème des accès concurrents3. Système de Gestion de
Bases de Données
Qu’est-ce qu’une base de données ?
BASE DE DONNÉES
Ensemble persistentde données cohérentes et structurées.
PERSISTENT
Qui perdure dans le temps (sur un support de stockage)
DONNÉES COHÉRENTES Représentent des entités liées par des relations
DONNÉES STRUCTURÉES Regroupées pour décrire les propriétés des entités
Base de données VS Fichiers
SEULE, LA BASE DE DONNÉES
N’EST QU’UN FICHIER MIEUX STRUCTURÉ
Systèmes de Gestion de Bases de Données
(SGBD)
SGBD APPLICATION
SGBD VS Fichiers
▰
Optimise les performances d’accès aux données▰
Sert d’interface avec les bases de données▰
Permet les accès concurrents▰
Contrôle la cohérence des données▰
Garantit l’intégrité des donnéesQuelques SGBD
Familles de bases de données
Relationnelles
▰
Les données d’une même entité sont regroupées dans des tables▰
De relations représentent les liens entre plusieurs entitésNon relationnelles (NoSQL)
▰ Axées sur de (très) gros volumes de stockage
▰ Représentation clé:valeur
Dans tous les cas, la structure doit être très sérieusement
4. Base de données
relationnelle
Structure
SCHÉMABibliothèque
AUTEUR LIVRES
CATEGORIE CLIENT
Table
▰
Regroupe les propriétés d’une entité▰
Contient des colonnes (noms des propriétés)▰
Contient des lignes (valeurs des propriétés)Exemple
La table “livre”
LIGNES Valeurs des propriétés pour
chaque livre COLONNES
Propriétés cohérentes représentant une entité du système d’information
Relation
▰
Traduit un lien entre plusieurs entités▰
Peut prendre la forme d’une propriété dans une table existante▰
Peut prendre la forme d’une nouvelle table)Exemple
Livre et categorie
Un livre appartient à une seule catégorie
Livre
ISBN : chaine de caractères Titre : chaine de caractères Résumé : chaine de caractères DatePublication : date
Catégorie
ID : entier
Titre : chaine de caractères
IDCatégorie : entier
Exemple
Client et livre
Un client emprunte un livre à une date donnée
Livre
ISBN : chaine de caractères Titre : chaine de caractères Résumé : chaine de caractères DatePublication : date
IDCatégorie : entier
Client
ID : entier
Nom : chaine de caractères Prénom : chaine de caractères ISBNLivre : chaine de caractères
OÙ PLACER LA DATE D’EMPRUNT ?
Exemple
Client et livre
Livre
ISBN : chaine de caractères Titre : chaine de caractères Résumé : chaine de caractères DatePublication : date
IDCatégorie : entier
Client
ID : entier
Nom : chaine de caractères Prénom : chaine de caractères
Un client emprunte un livre à une date donnée
CRÉATION D’UN TABLE POUR LA RELATION
Emprunt
IDClient : entier
ISBNLivre : chaine de caractères DateEmprunt : date
Le langage SQL est utilisé pour
Structured Query Language (SQL)
▰
Manipuler la structure de la base de données▰
Ajouter et modifier des données▰
Interroger et collecter les données5. Petit exercice
Identifiez les entités du système
d'information
La prochaine fois
Modèle Entités / Associations