Académique Documents
Professionnel Documents
Culture Documents
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é.
2
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.
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’elè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:
Une base de données a une structure, sinon c’est autre chose (une collection, un tas de documents, textes ou
images).
Format CSV : une ligne par entité ; champs séparés par des ’ ;’
"Bouvier" ; "Philippe"; "BD" ; 15
Une base de données est un ensemble d’informations structurées mémorisées sur un support persistant.
Un système de gestion de base de données (abr. SGBD, DBMS en anglais) est un système
informatique qui assure la gestion de l’ensemble des informations stockées dans une base de
données.
Organisation des données. Le SGBD organise les données d’une base de données sous la forme de
tables et de colonnes. Il vérifie les propriétés d’unicité et de référence
Gestion des données. Il est possible d’ajouter et de retirer des lignes dans une table. Il est possible de
modifier les valeurs d’une colonne dans certaines lignes d’une table.
Accès aux données. L’accès aux données et leur manipulation s’effectuent à l’aide du langage SQL
Accès par programme. Les commandes SQL de définition, d’extraction et de modification de données
peuvent être exécutées soit à partir d’un terminal, soit à partir d’un programme d’application
Le serveur peut présenter une représentation logique des données très éloignée de la représentation
physique.
En informatique, une base de données relationnelle est une base de données où l'information est
organisée dans des tableaux à deux dimensions appelés des relations ou tables, selon le modèle
introduit par Edgar F. Codd en 1960.
Une base de données peut être composée par plusieurs schémas.
Un schéma est une représentation structurée d'un ensemble de concepts reliés sémantiquement.
Les concepts qui le forme sont structurés en tables.
IUT
élève enseignant
ressource
A l’intérieur d’une base de données, selon les besoins, nous pourrions avoir plusieurs schémas.
BD
enseignant
IUT
élève
Musique
album artiste
Une ligne est elle-même une suite de valeurs, chacune d’un type (ou domaine de valeurs) déterminé.
elève
nom prenom adresse dateNaissance
Bouvier Philippe 5, Rue de Paris 12/01/2004
Blanchard Michel 17, rue de Trévise 01/05/2004
Bernet Lucie 50, rue de la Bourse 23/11/2005
Type Description
int Entier signé sur 4 octets
date date du calendrier (année, mois, jour)
varchar[n] Chaîne de caractères de longueur variable
float Nombre à virgule flottante de simple précision
serial Entier à incrémentation automatique
char[n] chaîne de caractères de longueur fixe
boolean Booléen (Vrai/Faux)
… …
Il est possible d’ajouter des lignes à une table et d’en supprimer. Il est possible également de
modifier la valeur d’une colonne d’une ligne.
Selon les contraintes imposées, il est également possible de laisser de valeurs vides.
Trois scénarios :
• l’information est pertinente mais n’existe pas pour l’entité (le fait) correspondant à la ligne (l’étudiant existe mais n’a pas
encore d’adresse connu sur place ),
• l’information n’est pas pertinente pour les entités telles que celle qui correspond à la ligne (le nom d’usage n’est pas attribué à
tous les étudiants),
• l’information existe mais n’est pas connue à ce moment (date de naissance d’un élève n’a pas encore été communiquée).
L’absence de valeur d’une colonne dans une ligne, quelle qu’en soit la raison, se signalera par
l’affectation de la valeur conventionnelle NULL à cette colonne.
élève
On définit comme « degré » d’une table le nombre de ses attributs (ou colonnes).
DEGRE = 4
élève
nom prenom adresse dateNaissance
Bouvier Philippe NULL 12/01/2004
Blanchard Michel 17, rue de Trévise 01/05/2004
Bernet Lucie 50, rue de la Bourse NULL
Chaque ligne (ou tuple) doit pouvoir être identifiée à travers une valeur unique. Ce rôle sera joué par
une colonne (ou attribut).
DEFINITION: Une colonne constitue un identifiant (ou clé primaire) de sa table si, à tout instant, il ne
peut exister plus d’une ligne possédant une valeur déterminée de cette colonne. Cette propriété on
l’appelle contrainte d’unicité
Cette définition est valable également pour un groupe de colonnes (on parle d’identifiant composite,
ou clé composite).
Cet attribut (ou ensemble d’attribut) est défini comme CLE PRIMAIRE de la table.
R1.05: Introduction aux bases de données et SQL 20
IDENTIFIANT – CLE PRIMAIRE
élève
nom prenom adresse dateNaissance
Bouvier Philippe NULL 12/01/2004
Blanchard Michel 17, rue de Trévise 01/05/2004
Bernet Lucie 50, rue de la Bourse NULL
Aucun identifiant claire ici..(on pourrait avoir deux personnes avec même nom et/ou prénom). Deux solutions:
2 Blanchard Michel 17, rue de 01/05/2004 Blanchard Michel 17, rue de 01/05/2004
Trévise Trévise
3 Bernet Lucie 50, rue de NULL Bernet Lucie 50, rue de NULL
la Bourse la Bourse
Pour jouer correctement ce rôle d’identification, il est donc nécessaire que l’identifiant possède des
valeurs distinctes, propriété qu’on appelle contrainte d’unicité.
Celle-ci est garantie par le SGBD, qui rejettera automatiquement toute tentative d’insertion d’une
ligne dont la valeur de l’identifiant est déjà présente dans la table.
Nous ne pouvons pas insérer des tuples qui ne respectent pas cette contrainte!
Une colonne d’une table dont le rôle est de référencer une ligne dans une autre table est dénommé
clé étrangère (foreign key.)
Ressource enseignant
id titre semestre idEns idEns nom prenom dept
Pour exister, la valeur de la clé étrangère doit déjà exister dans la table cible avant de pouvoir être
insérée!
DEFINITION: il est nécessaire que l’ensemble des valeurs d’une clé étrangère soit un sous-ensemble
des valeurs de l’identifiant cible. Cette propriété est appelée contrainte référentielle
Ressource enseignant
id titre semestre responsable idEns nom prenom dept
Autrement dit, le nom d’une colonne d’une clé étrangère est indépendant de celui de l’identifiant
qu’elle référence.
2 Maths 1 2
semestre
3 BD2 2 1
idSemestre nom nombreCredits
1 S1 50
2 S2 35
BONNE PRATIQUE: les clés étrangères, souvent, pointent vers une une clé primaire.
POURQUOI?
Ressource enseignant
id titre semestre idEns idEns nom prenom dept
Une notation souvent utilisée pour représenter une table est ses attribut est la suivante:
t (a1, a2, a3, … an);
Ou T est le nom de la table et, entre parenthèses, les noms de ses attributs.
La clé primaire est soulignée (ou précedée par #si pas possible de la souligner).
Pour ce qui concerne les clés étrangères, nous les signalerons avec une @ devant l’attribut.
Ex:
etudiant[idEtud, nom, prenom, noTelephone];
Celle-ci est une clé étrangère.
enseignant[idEns, nom, prenom] Attention: avec cette notation nous
ne disons pas quel est l’attribut cible.
ressource[codeRessource, nom, semestre, @profResponsable];
Ex:
etudiant[idEtud, nom, prenom, noTelephone];
ressource[codeRessource, nom, semestre, @profResponsable];
notes[@idEtud, @codeRessource,note]; Ici c’est le cas plus..complexe!
Quelques règles:
1. Dans la même BD, pas 2 schémas avec même nom!
2. Dans le même schéma, pas 2 tables avec même nom! (mais possible dans 2 schémas
différents!
OK!!
entreprise
cours employé salle
salle
IUT
Quelques règles:
3. Dans la même table, pas 2 attributs avec même nom (mais il possible d’avoir 2 attributs avec
même noms dans 2 tables différentes!
NON!! OK!!
cours cours salle
IUT IUT
OK!!
iut salle
id nom prenom
etage nom
etudiant