Vous êtes sur la page 1sur 26

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.
https://moodle.iut.univ-paris8.fr/course/view.php?id=543

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,


https://www.i3s.unice.fr/~nlt/cours/licence/sgbd1/sgbd1_cours.pdf

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!!


m.cataldi@iut.univ-paris8.fr

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:
wikipedia.fr)

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

Vous aimerez peut-être aussi