R1.
05: INTRODUCTION AUX BASES DE DONNÉES ET SQL
CM-0: INTRODUCTION
1
CONTENU DU COURS
L'objectif de cette ressource est la sensibilisation sur l’importance d’une base de données dans un système
d’information et montrer la complexité de la création d’une base répondant aux besoins et de bonne qualité.
Savoirs de référence étudiés
Approche de la conception des bases de données : modèle conceptuel de données et traduction vers le modèle relationnel
Algèbre relationnelle
Bases du SQL (Structured Query Language) : langage de manipulation de données, langage de définition de données
Éléments sur les jeux de tests + jeux de données
Principes et utilisation d'un SGBD
2
MATÉRIELS
Matériels du cours: Slides, énoncés et solutions TD et TP disponibles dans la page Moodle du cours.
[Link]
Quelques livres suggérés:
Bases de données, Concepts, utilisation et développement. Jean-Luc Hainaut
Conception & Architecture de Bases de Données, Elmasri, Navathe
Concepts et langages des Bases de Données Relationnelles,
[Link]
R1.05: Introduction aux bases de données et SQL 3
CONTRÔLES
Contrôles: Contrôle Continu
- Test Moodle (QCM)
- Contrôle sur papier
- Contrôle sur machine
Au moins un par mois!
Possible aussi à surprise (sur machine, QCM)
ABSENCES
-> absence justifiée: me contacter par mail pour rattrapage
-> absence injustifiée: note de 0.
R1.05: Introduction aux bases de données et SQL 4
ABSENCES
Les absences sont notées à partir de votre signature sur la feuille d’émargement.
N’oubliez jamais de signer!
R1.05: Introduction aux bases de données et SQL 5
ORGANISATION DU COURS
Cours Magistraux (CM):
- théorie, un par semaine (mais pas toutes les semaines). Slides contenant toutes les informations
utiles pour réaliser TD et TP qui suivront.
Travaux Dirigés (TD):
- exercices pratiques, au tableau/papier, qui mettent en œuvre lex concepts vus en CM. Un TD par
semaine.
Travaux Pratique (TP):
- travail pratique en salle machine sur votre BD (chaque élève travaillera, sur le serveur BD de l’IUT, à
partir d’un terminal. Requetes SQL, insertions, modifications des données. Un TP par semaine.
Pour tout problème…ME CONTACTER PAR MAIL!!
[Link]@[Link]
R1.05: Introduction aux bases de données et SQL 6
INTRODUCTION: BESOIN DES DONNEES
Il n’est pas d’interactions avec nos collègues, avec des commerçants ou des administrations lors
desquelles nous n’échangeons pas des informations sous forme de données.
La consultation du site d’un fournisseur d’équipement multimédia, le suivi de notre commande de
matériel informatique, la déclaration de naissance d’un enfant, la lecture des notes obtenues en fin
d’année scolaire nos missions dans WoW, la consultation des films proposés ce samedi dans notre
quartier, une visite chez notre médecin, nos communications téléphoniques, le téléchargement de
l’épisode 3 de la saison 2 ou l’usage d’un GPS n’en sont… que quelques exemples parmi les plus
faciles à trouver.
Où vont les données que nous fournissons et d’où viennent celles qui nous sont livrées ?
Comment les stocker?
R1.05: Introduction aux bases de données et SQL 7
STOCKAGE D’INFORMATION
Elles sont évidemment stockées, quelques parts, dans un ordinateur.
Dès que ces données présentent un certain degré de complexité, qu’elles sont soumises à des
contraintes
de qualité, qu’elles doivent être sécurisées, qu’elles sont partagées par plusieurs usagers il est
hautement probable qu’elles sont stockées dans une BASE DE DONNES.
Gérer de telles données n’est pas évident:
- Garantir leur qualité (retrouve-t-on ce qu’on y a enregistré ?),
- leur cohérence (le client de chaque commande est-il répertorié ?),
- les protéger en cas d’incident,
- permettre à plusieurs utilisateurs d’y accéder simultanément sans conflits,
- tout en contrôlant strictement l’accès aux données confidentielles,
- offrir de bonnes performances d’accès à toutes les applications
sont des fonctions qui réclament des logiciels puissants et complexes, les systèmes de gestion de
bases de données, ou SGBD.
R1.05: Introduction aux bases de données et SQL 8
DES DONNÉES ET DES HOMMES
Une base de données (BD) est un ensemble d'informations qui est organisé de manière à être facilement
accessible, géré et mis à jour. Elle est utilisée par les organisations comme méthode de stockage, de gestion
et de récupération de l’informations.
Les données brutes (aussi connu comme données primaires) sont les données non interprétée (source:
[Link])
Ex: L'IUT de Montreuil est l'un des deux instituts universitaires de technologie de l'université Paris 8. Accueillant
plus de 400 étudiants, l'IUT de Montreuil propose 3 DUT, 4 licences professionnelles.
R1.05: Introduction aux bases de données et SQL 9
DES DONNÉES ET DES HOMMES
Donnée = valeur numérisée décrivant de manière élémentaire un fait, une mesure, une réalité.
Exemple : le nom de l’élève, le cours qu’il suit
Les données décrivent des entités du monde réel, elles-mêmes associées les unes aux autres.
Exemple : Philippe Bouvier est un élève qui a eu une note de 15 concernant le cours de BD:
deux entités (l’élève et le cours) liées par la notion de note.
Une base de données a une structure, sinon c’est autre chose (une collection, un tas de documents,
textes ou images).
R1.05: Introduction aux bases de données et SQL 10
FICHIERS STRUCTURÉS
Format CSV : une ligne par entité ; champs séparés par des ’ ;’
"Bouvier" ; "Philippe"; "BD" ; 15
Base de données = 2, 10 ou 1 million de lignes sur le même format.
"Bouvier" ; "Philippe"; "BD" ; 15
"Blanchard" ; "Michel"; "BD" ; 12
"Bernet" ; "Lucie"; "BD" ; 18
Suffisant ?
R1.05: Introduction aux bases de données et SQL 11
EXEMPLE
Fichier Excel contenant les données
Et si on ajoutait l’enseignant responsable du cours? Où le mettre?
R1.05: Introduction aux bases de données et SQL 12
EXEMPLE
Fichier Excel contenant les données
Problèmes:
- redondances de données
- difficulté en cas de modification des données. Si l’enseignant change? 3 lignes à modifier avec la même
valeur.
R1.05: Introduction aux bases de données et SQL 13
PROBLEMES
De plus: en cas de beaucoup des données, difficile de gérer un fichier Excel
R1.05: Introduction aux bases de données et SQL 14
PROBLEMES
Risques:
- erreur d’insertion (aussi dans une BD classique)
- redondance extrême (et perte de temps pour insertion/modification des données).
- Requêtes compliquées.
R1.05: Introduction aux bases de données et SQL 15
REQUETES
Recherche simple:
- possible avec CTRL+F
Recherche complexe (ex: trouver
les noms des étudiants ayant eu
au moins 13 dans le cours de M.
Cataldi):
- compliqué sur Excel.
R1.05: Introduction aux bases de données et SQL 16
CREATION D’UNE BD
Résoudre les problèmes:
- identification des « entités » semantiquement séparées.
R1.05: Introduction aux bases de données et SQL 17
CREATION D’UNE BD
Résoudre les problèmes:
- identification des « entités » semantiquement séparées.
R1.05: Introduction aux bases de données et SQL 18
CREATION D’UNE BD
Table « étudiant » Table « enseignant »
Table « note »
Table « cours »
R1.05: Introduction aux bases de données et SQL 19
CREATION D’UNE BD
Table « étudiant »
nom prénom
Bouvier Philippe
Blanchard Michel
Bernet Lucie
Table « note »
Table « enseignant » note
Table « cours »
nom prénom 15
cours
Cataldi Mario 12
BD
18
Les données sont bien séparées! Faciles à retrouver.
R1.05: Introduction aux bases de données et SQL 20
CREATION D’UNE BD - PROBLEMES
Table « étudiant »
nom prénom
Bouvier Philippe
Blanchard Michel
Bernet Lucie
Table « enseignant » Table « note »
Table « cours »
nom prénom note
cours
Cataldi Mario 15
BD
12
Données bien séparées, mais quelques problèmes persistent! 18
A qui se réfère la note de 15? Qui est le responsable du cours de BD?
R1.05: Introduction aux bases de données et SQL 21
CREATION D’UNE BD - PROBLEMES
Table « note »
On peut ajouter les informations manquantes dans note nom prénom
chaque table.
15 Bouvier Philippe
Mais forte redondance des données! 12 Blanchard Michel
Si on devait changer quelques informations..on
devrait le faire partout! 18 Bernet Lucie
Table « étudiant »
nom prénom
Table « cours » Table « enseignant »
Bouvier Philippe
cours nom prénom nom prénom
Blanchard Michel
BD Cataldi Mario Cataldi Mario
Bernet Lucie
R1.05: Introduction aux bases de données et SQL 22
CREATION D’UNE BD - SOLUTIONS Table « note »
note idEtudiant cours
Il est alors nécessaire de mettre un identifiant pour 15 1 BD
chaque éntité.
12 2 BD
Cet identifiant on peut l’utiliser pour se référencer aux 18 3 BD
entités existantes!
Table « étudiant »
Table « cours » Table « enseignant » idEtudiant nom prénom
Id nom prénom 1 Bouvier Philippe
cours idProf
BD 1 1 Cataldi Mario 2 Blanchard Michel
3 Bernet Lucie
R1.05: Introduction aux bases de données et SQL 23
CREATION D’UNE BD - SOLUTIONS Table « note »
note idEtudiant cours
Et si on modifie une information, la modification se 15 1 BD
répercute automatiquement dans les autres table
12 2 BD
Table « cours » Table « enseignant » 18 3 BD
cours idProf Id nom prénom
Table « étudiant »
BD 2 1 Cataldi Mario
2 Bonnot Philippe idEtudiant nom prénom
1 Bouvier L
2 Blanchard Michel
Ex: le professeur responsable de BD change: j’ajoute 3 Bernet Lucie
le nouveau professeur dans la table enseignant et je
modifie juste la référence du professeur dans la table
du cours!
R1.05: Introduction aux bases de données et SQL 24
PREMIÈRES CONCLUSIONS
1. Une base de données est constituée d’un ensemble de tables.
2. Chaque table contient les données relatives à des entités de même nature.
3. Chaque ligne d’une table reprend les données relatives à une entité.
4. Chaque colonne d’une table décrit une propriété commune des entités.
5. Les lignes d’une table sont distinctes. C’est sur une (voire plusieurs) colonne(s) que se joue cette unicité. Le jeu de
colonnes dont les valeurs sont uniques constitue un identifiant de la table
6. Les lignes d’une table peuvent faire référence chacune à une ligne d’une autre table, où des informations sur une
entité associée peuvent être obtenues.
On ne construit pas une base de données pour satisfaire les besoins immédiats d’une application particulière. Une
base de données est conçue pour représenter le plus fidèlement possible les informations relatives à une activité
25
PROCHAINS EPISODES..
A partir de la semaine prochaine. Forte accélération!
- BD, tables, clés primaires, clés étrangères.
- Manipulation des BD à travers interface WEB et puis terminal!
- SQL, premières requetés et analyses des données.
26