Vous êtes sur la page 1sur 28

Programme Licence S3

GME
Bases de données

2016-2017

Introduction au cours
Séance 1
Concepts de base de données

16/12/2016 Dr Yacouba Goïta 1


Objectifs du cours
Introduire les notions fondamentales relatives
aux bases de données afin de comprendre
l’historique qui a conduit à la modélisation
conceptuelle des données (ce qu’on verra dans les
modules ultérieurs)

16/12/2016 Dr Yacouba Goïta 2


Types de base de données
 Plusieurs approches pour organiser les données
dans un SGBD
 SGBD hiérarchique:
les premiers, avec gestion de pointeurs arborescente
 SGBD réseau (20%)
• les plus rapides, la navigation est aussi entre
pointeurs, mais plus ouvertes.

16/12/2016 Dr Yacouba Goïta 3


Types de base de données(suite)
 SGBD relationnel (SGBDR) (75%) :
 la plus utilisée. Basé sur l'algèbre relationnelle.
 données représentées sous forme de tables
 Bases relationnelles :
 Oracle www.oracle.com
 DB2 www.software.ibm.com
 Sybase www.sybase.com
 SQL Server www.microsoft.com
 Ingres s2k-ftp.CS.Berkeley.EDU/pub/Ingres

16/12/2016 Dr Yacouba Goïta 4


Bases relationnelles (suite):
 Informix www.informix.com
 Acces www.microsoft.com
 Paradox www.corel.com
 Visual Dbase www.borland.com
 FoxPro www.microsoft.com
 File Maker www.claris.fr
 MySQL www.mysql.net (ou .com)
 MSQL Hughes.com.au
 Postgres www.postgresql.org
 InstantDB www.instantdb.co.uk (100% Java)

16/12/2016 Dr Yacouba Goïta 5


Types de base de données(suite)
Bases déductives
-langage en calcul de prédicats et logique 1er ordre
Bases objet
-instances de classes hiérarchisées.
 Bases objet :
 O2 www.o2tech.fr
 Gemstone www.gemstone.com
 ObjectStore www.objectdesign.com
 Jasmine cai.com/jasmine

16/12/2016 Dr Yacouba Goïta 6


Interopérabilité avec les BD
 Interopérabilité avec les BD
– Obstacle : Interfaces spécifiques des SGBD
– Remèdes
 ODBC (Open Data Base Connectivity)
 Les scripts CGI, ISAPI
 ASP, IDC, PHP
 JDBC (Java Data Base Connection)

16/12/2016 Dr Yacouba Goïta 7


Base de données: Définition
 Définition :
– Une BD est une collection de données enregistrées ensemble
sans redondances inutiles
– Les données conservées sont dites persistantes (pour être
réutilisées)
 Une BD est utilisée pour servir plusieurs applications
 L’enregistrement des données est indépendant des
programmes qui les utilisent
 Approche commune et contrôlée pour ajouter,
modifier, retrouver des données

16/12/2016 Dr Yacouba Goïta 8


Concepts Clés des bases de données
relationnelle
 Concepts clés:
– Base de données
– Table
– Structure d’une table (Schéma)
– Enregistrement
– Attribut
– Clé primaire
– Clé lointaine
– Liens entre les tables
– Diagramme de structure de la BD

16/12/2016 Dr Yacouba Goïta 9


Organisation de la base de données

16/12/2016 Dr Yacouba Goïta 10


Table
 Dans une BD, une table est l’objet
logique qui contient les données
 Une table est identifiée par son nom (
qui doit être unique )
 Exemples : Table fournisseur, table
client, table produit, table facture...

16/12/2016 Dr Yacouba Goïta 11


Table (suite)
 Une BD relationnelle (BDR) est composée d’un ensemble
de tables reliées entre elles
 Les relations entre les tables facilitent l’accès aux données
d’une table à partir des données d’une autre table
 Exemple :
– Table Client contient : code du client, nom, adresse, numéro de
téléphone
– Table Commande contient : code du client, code du produit,
quantité
– Table Produit contient : code du produit, libellé du produit.
– À partir de la table Commande on peut accéder aux 2 autres
tables grâce à : code du client et code du produit

16/12/2016 Dr Yacouba Goïta 12


Table et enregistrement
Code du client Nom Téléphone Ville
Table Client
C101 Mamadou 66125141 Bamako
C102 Oumarou 65422108 Mopti
C103 Ibrahima 72156251 Sélingué

• Chaque ligne de la table est appelée enregistrement


• Un enregistrement contient l’ensemble des valeurs
composant la ligne
• Exemple : (C101, Mamadou, 66125141, Bamako) est
l’enregistrement du client C101

16/12/2016 Dr Yacouba Goïta 13


Attributs
 Les attributs sont les éléments d’information d’une
table (aussi appelés champs)
 Exemple : Code, nom, téléphone, ville sont les
attributs de la table Client
 Il faut distinguer entre un attribut (exemple : nom)
et la valeur prise par l’attribut dans un enregistrement
particulier (exemple : Oumarou)

16/12/2016 Dr Yacouba Goïta 14


Attributs (suite)
 Chaque attribut a des propriétés qui doivent être fixées lors
de la conception :
– Type de valeur : le type de donnée que doit avoir la valeur de
l’attribut
– Obligatoire : Cet attribut doit absolument posséder une valeur
– Unique : Les valeurs prises par cet attribut sont toutes
différentes
– Intervalle de validité : les valeurs de ce champ doivent
appartenir à un intervalle. Exemple : [0,100] pour la note de
l’étudiant
– Intégrité référentielle : la valeur prise par cet attribut doit
absolument exister dans une autre table. Exemple : Code du
produit dans la table Facture

16/12/2016 Dr Yacouba Goïta 15


Clef
 Un attribut est la clef d’une table s’il permet
d’identifier d’une façon unique tous les
enregistrements de cette table
 La clé d’une table doit être unique et obligatoire
 Exemples
– Table Étudiant matricule
– Table Produit code du produit
Table Commande numéro de la commande

16/12/2016 Dr Yacouba Goïta 16


Clef (suite)
 Dans certains cas, deux ou plusieurs attributs d’une
même table sont candidats pour devenir clé
– Exemple : Les attributs matricule et NAS pour la table
Étudiant
 Parfois, on a besoin de deux ou plusieurs attributs
pour assurer l’unicité
– Combiner ces attributs pour former la clé
– Clé composée
 Les valeurs pour les deux attributs (pris ensemble)
d’une clé composée doivent être uniques

16/12/2016 Dr Yacouba Goïta 17


Clef (suite)
 Exemple : Table Détails commandes

Numéro commande Numéro produit Quantité


c001 p001 20
c001 p004 9
c002 p002 11
c002 p004 15

16/12/2016 Dr Yacouba Goïta 18


Structure d’une table
 La structure d’une table est définie par l’ensemble des
attributs qui la composent
 Il y a trois (3) représentations possibles
1. CLIENT (Numéro du client, Nom, téléphone, ville, pays)

2.

16/12/2016 Dr Yacouba Goïta 19


Structure d’une table (suite)
3.

16/12/2016 Dr Yacouba Goïta 20


Clef lointaine
 Un attribut est appelé clef lointaine lorsqu’il est clef
primaire dans une autre table
 Exemple :
– CLIENT (Numéro du client, Nom, téléphone, ville, pays)
– PRODUIT (Numéro du produit, Numéro du fournisseur,
Description)
– COMMANDE (Numéro de la commande, Numéro du
client, date de la commande)
– DÉTAIL COMMANDE (Numéro de la commande,
Numéro du produit,Quantité)

16/12/2016 Dr Yacouba Goïta 21


Clef lointaine(suite)
 Une clef lointaine n’est pas unique
 La clef lointaine sert à faire le lien entre deux tables
 La clef lointaine doit respecter l’intégrité référentielle
 Il n’est pas nécessaire que la clef lointaine soit
obligatoire
– Exemple : Ajouter un produit dans la BD sans connaître
son fournisseur

16/12/2016 Dr Yacouba Goïta 22


Lien entre les tables de la BD
 Les liens entre les tables sont assurés par les attributs
communs
 Lien entre la clef primaire d’une table et la clef lointaine
d’une autre table
 Exemple
– CLIENT (Numéro du client, Nom, téléphone, ville, pays)
– COMMANDE (Numéro de la commande, Numéro du client,
date de la commande)
– DÉTAIL COMMANDE (Numéro de la commande, Numéro
du produit, Quantité)
– PRODUIT (Numéro du produit, Numéro du fournisseur,
Description)

16/12/2016 Dr Yacouba Goïta 23


Lien entre les tables de la BD(suite)
 – Liens :
 Entre CLIENT et COMMANDE
 Entre COMMANDE et DETAIL COMMANDE
 Entre PRODUIT et DETAIL COMMANDE

16/12/2016 Dr Yacouba Goïta 24


Diagramme de structure de la BD
 Le DSBD sert à représenter le schéma de la BD
– Tables (tous les attributs - clé soulignée)
– Liens entre les tables (flèches reliant les attributs)

16/12/2016 Dr Yacouba Goïta 25


Diagramme de structure de la BD
(suite)
 Pour compléter le DSBD, il faut construire un tableau
 décrivant les contraintes sur les attributs pour chaque
table
 Exemple

16/12/2016 Dr Yacouba Goïta 26


Recommandations
 Donner des noms significatifs aux attributs
– Au lieu de nommer un attribut ‘nom’ le nommer
NomClient ou NomFournisseur
– Au lieu d’indiquer dans une table l’attribut ‘date’ ou
‘quantité’, les nommer significativement comme
‘DateFacture’, ‘DateLivraison’, ‘QuantitéCommandée’
‘QuantitéFacturée’
 Pourquoi une telle recommandation?

16/12/2016 Dr Yacouba Goïta 27


Réponse: Langage de requête
 Permet de déterminer :
– les informations que l’on veut obtenir (les attributs) et
leur formulation
– de quelle(s) table(s) on obtient ces informations
– les contraintes sur ces informations
– le tri des informations

16/12/2016 Dr Yacouba Goïta 28