Bases de Données et pédagogie

publicité
Bases de Données et pédagogie
• Comment enseigner
les bases de données
en Baccalauréat
Professionnel tertiaire !
• Approche par le
concept ou approche
par les sorties ?
P. Freyssengeas
Bases de Données et pédagogie
Bases de Données et pédagogie
• Informations de l’entreprise UDD
Salariés
Clients
Fournisseurs
Services
Produits
Commandes
Bases de Données et pédagogie
• Les entités :
Nom de l’entité
SALARIES
SAL_NUM_SS
L’entité récapitule les données de même
nature. Ainsi, l’entité SALARIES va récapituler
toutes les caractéristiques de chaque salarié
de l’entreprise.
Caractéristique des éléments de
l’entité, les caractéristiques des
salariés dans le cas présent. Ces
caractéristiques prennent le nom
de propriétés.
SAL_NOM
SAL_PRENOM
SAL_ADRESSE
SAL_CP
SAL_VILLE
Propriétés de l’entité SALARIE
Bases de Données et pédagogie
• Représentation tabulaire des informations
SAL_NUM_SS
SAL_NOM
SAL_PRENOM
1491124322035
Delage
Robert
2541086054678 Aubert
Evelyne
1520107834456 Ait-ouadi
Farid
Occurrences de l’entité
Dans le cas ci-dessus, l’entité SALARIE est représentée sous forme tabulaire.
Son contenu représente les éléments d’information sur les caractéristiques de
l’entité. Chaque ligne prend le nom d’occurrence. Ainsi, 1491224322035,
Delage, Robert est la première occurrence de l’entité SALARIE qui en
comporte trois dans le cas présent.
Bases de Données et pédagogie
• L’association
Il peut arriver qu’une relation «naturelle» ou forte existe entre deux entités.
Ainsi, si dans une entreprise il existe une entité SALARIES et une entité
SERVICES de l’entreprise, il existe à l’évidence une relation « naturelle » entre
ces deux objets qui peut être caractérisée par un verbe comme travaille. Cette
relation se nomme une association et se représente par le symbole :
SALARIES
SERVICES
SAL_NUM_SS
Lien
SAL_NOM
Travaille
Tra_Date
SAL_PRENOM
SER_NUM
SER_NOM
SER_DESCRIPTION
SAL_ADRESSE
SAL_CP
SAL_VILLE
Lien
Nb : Une association peut être porteuse de
propriétés, Tra_Date dans le cas présent
Bases de Données et pédagogie
• Les cardinalités entre deux entités
Les cardinalités d’une entité vers une autre, vont avoir pour but d’indiquer combien
de fois l’événement va se produire au minimum = Cardinalités mini (0 ou 1 fois) et
combien de fois l’événement va se produire au maximum 1 ou plusieurs fois (n).
Cardinalités Minimales : Reprenons notre exemple :
Prenons une premier sens de lecture de SALARIE vers SERVICE. Nous devrons
répondre à la question suivante :
Au Minimum
: Un salarié travaille dans 0 ou 1 service, en d’autres termes,
un salarié peut-il ne pas travailler (ne pas être affecté) dans un service ?
Si la réponse est Oui, elle sera matérialisée par le nombre 0 ou Non et cela
signifiera qu’il est obligatoirement affecté à un service.
SERVICES
Cardinalité Mini
SALARIES
SAL_NUM_SS
SAL_NOM
0,
Travaille
Tra_Date
SER_NUM
SER_NOM
SER_DESCRIPTION
Sens de lecture
Bases de Données et pédagogie
• Cardinalités Maximales :
Au Maximum : Un salarié travaille au maximum dans un service ou peut-il
travailler, (être affecté) dans plusieurs services.
Si la réponse est, : Il travaille ( il est affecté) dans au maximum une service, la
cardinalité maxi sera 1
Sinon, s’il peut travailler dans plusieurs services, la réponse sera plusieurs et sera
matérialisée par n .
Dans le cas ci-dessous, la lecture de SALARIE vers SERVICE devient :
Un salarié travaille au minnimum 0 fois dans un service (ou il peut ne pas
travailler, être affecté, dans un service mais par contre il travaille au maximum
dans 1 service).
SERVICES
Cardinalité Maxi
0,1
SALARIES
SER_NUM
Travaille
SAL_NUM_SS
SER_NOM
Tra_Date
SAL_NOM
SER_DESCRIPTION
Bases de Données et pédagogie
• Définition des cardinalités de SERVICES vers SALARIES
SALARIES
SAL_NUM_SS
SAL_NOM
0,1
1,n
SERVICES
Travaille
SER_NUM
Tra_Date
SER_NOM
Sens de lecture
SER_DESCRIPTION
Cardinalités Mini :
- Un service fait travailler au moins un salarié (Card Min = 1).
Cardinalités Maxi :
- Un service fait travailler au maximum plusieurs salariés,
(Card Max = n).
Ce Modèle Conceptuel de Données (M.C.D.) est maintenant complet et porteur de sens.
La lecture est double, de SALARIES vers SERVICES, un salarié peut ne pas travailler
dans un service (Cardinalité Maxi=0) mais s’il est affecté, il est affecté au plus dans un
(Cardinalité Min=1). A contrario de SERVICES vers SALARIES, un service fait travailler
au moins un salarié (Cardinalité Mini=1), mais il peut au maximum en faire travailler
plusieurs (Cardinalité Maxi=n)
Bases de Données et pédagogie
• Les cardinalités sont porteuses de sens
PROPRIETAIRES
BIENS
0,n
PRO_NUM
Possède
1,1
BIE_NUM
BIE_DESIGNATION
PRO_NOM
BIE_ADRESSE
Ce MCD ne prend pas en compte la Multi_Propriété
ou les bien indivis.
BIE_VILLE
BIE_CP
PROPRIETAIRES
PRO_NUM
1,n
Possède
PRO_NOM
1,n
BIENS
BIE_NUM
BIE_DESIGNATION
BIE_ADRESSE
Ce MCD prend en compte la Multi_Propriété ou les
bien indivis.
BIE_VILLE
BIE_CP
Bases de Données et pédagogie
• Identifiant d’Entité
Toute entité doit obligatoirement posséder une propriété identifiante. Le choix
de cette propriété est libre. Cependant, le fait d’élire une propriété comme
identifiante entraîne deux conséquences :
- Son contenu ne pourra jamais être vide. Elle devra obligatoirement être
renseignée.
- Les doublons seront interdits. Ainsi, si je désigne le nom d’un salarié,
SAL_NOM comme propriété identifiante, je ne pourrais jamais dans mon
système d’informations avoir deux nom de salarié identiques.
La propriété
SALARIES
déclarée identifiante
SAL_NUM_SS
est soulignée.
SAL_NOM
Le fait de choisir le numéro
de Sécurité Sociale comme
identifiant, correspond aux
deux contraintes, toujours
renseigné et impossibilité de
doublons.
Toute entité doit posséder une propriété identifiante
Bases de Données et pédagogie
• Dépendance fonctionnelle
Toutes les propriétés de l’entité doivent dépendre de son identifiant. Ainsi, le
numéro de sécurité sociale (SAL_NUM_SS) 1491124322035 donnera un et un
seul nom de salarié, Delage Robert dans le cas présent. Le nom du salarié
dépend bien exclusivement de son identifiant. Autrement dit, en frappant le
numéro 1491124322035 je ne dois trouver qu’un seul salarié.
SALARIES
SAL_NUM_SS
SAL_NOM
SAL_DATE_NAISSANCE
SAL_CA_ENTREPRISE
SAL_CA_ENTREPRISE n’est pas une
propriété de SALARIES.
Les deux premières propriétés, SAL_NOM
et SAL_DATE_NAISSANCE dépendent
bien de l’identifiant et sont bien des
caractéristiques propres à ce salarié et à
aucun autre.
Par contre le Chiffre d’affaires de
l’entreprise, n’est pas une caractéristique
du salarié. La propriété
SAL_CA_ENTREPRISE n’est pas en
dépendance fonctionnelle avec
l’identifiant.
Bases de Données et pédagogie
• Le Modèle Physique des Données (MPD)
Pour passer du Modèle Conceptuel des Données (MCD) au Modèle Physique
des données (MPD), il suffit d’analyser les cardinalités maxi entre deux entités et
d’appliquer la règle de passage du MCD au MPD.
PROPRIETAIRES
0,
n
Possède
1,
1
BIENS
Bases de Données et pédagogie
• Cas 1 : Cardinalité Maxi de type Singulier
Pluriel (.,1->.,n) ou Pluriel Singulier (.,n->.,1)
BIENS
Cardinalités Maxi
BIE_NUM
PROPRIETAIRES
PRO_NUM
0,
n
Possède
1,
1
BIE_DESIGNATION
BIE_VILLE
PRO_NOM
Dans ce cas, au niveau physique, il y a migration de
l’identifiant de la mère (Coté n vers la fille Coté 1) et
disparition de l’association.
BIE_CP
BIENS
NB : Si l’association avait une ou plusieurs propriétés,
elles migreraient avec la clef étrangère dans BIENS.
BIE_NUM
PROPRIETAIRES
BIE_DESIGNATION
PRO_NUM
PRO_NOM
PRO_NUM est clef
étrangère et n’est
pas identifiante
PRO_NUM
BIE_VILLE
BIE_CP
Bases de Données et pédagogie
• Cas 2 : Cardinalité Maxi de type Pluriel Pluriel
(.,n->.,n)
Cardinalités Maxi
BIENS
BIE_NUM
PROPRIETAIRES
PRO_NUM
0,
n
Possède
1,
n
BIE_DESIGNATION
BIE_VILLE
PRO_NOM
BIE_CP
Dans ce cas, au niveau physique, il y a création d’une table de correspondance
dont l’identifiant sera la concaténation des deux identifiants des deux mères
pointées. La nouvelle Table prend le nom de l’association.
BIENS
PROPRIETAIRES
BIE_NUM
PRO_NUM
PRO_NOM
NB : Si l’association avait une
ou plusieurs propriétés, elles
migreraient dans Possède.
Possède
BIE_DESIGNATION
PRO_NUM
BIE_VILLE
BIE_NUM
BIE_CP
Bases de Données et pédagogie
• Modèle Physique des données et ACCESS
Cas 1 : Cardinalités Maxi Singulier Pluriel ou Pluriel Singulier (.,1->.,n ou .,n->.,1)
La Clef étrangère PRO_NUM dans
BIENS permet de faire le lien, la jointure,
avec la table PR0PRIETAIRES
Une fois la jointure établie
sur le Numéro de
propriétaire, la requête
permet d’aller interroger
les informations
contenues dans les deux
tables
Bases de Données et pédagogie
• Modèle Physique des données et ACCESS
Cas 2 : Cardinalités Maxi Pluriel Pluriel (.,n ->.,n )
Si par requête, nous voulons connaître les propriétaires des biens, nous devrons :
- Choisir les trois tables PROPRIETAIRES, Possède et BIENS = Sélection
- Vérifier les relations entre les différentes tables = Jointures
- Indiquer les champs à afficher =
Projection
Bases de Données et pédagogie
• Le concept de requête
La requête représente une
extraction d’informations
présentes dans la base de
données. Cette extraction
est mémorisée sous forme
d’un langage
d’interrogation en SQL
Nous retrouvons la Sélection
La jointure «JOIN»
La projection PRO_NUM,…
L’instruction WHERE indique
une condition, N° de
propriétaire = «01» dans
notre exemple.
Bases de Données et pédagogie
• Le concept de requête
Résultat de l’extraction :
Cette vision du contenu de la base n’est qu’une extraction des données qui
correspondent à un instant «T» aux critères demandés, N° de produit = «01»
dans le cas présent. Cette projection n’est pas sauvegardée sur le disque dur.
Seule les instructions SQL sont sauvegardées. De ce fait, le fait de faire exécuter
la requête permet de toujours obtenir les dernières données disponibles dans la
base. Le programme est indépendant des données.
NB : Il faut s’efforcer de donner un nom à la requête de telle manière que sa
lecture permette de comprendre ce qu’elle va réaliser comme opération.
R01_Immeubles_Propriétaires permet de comprendre que nous allons obtenir le
nom des propriétaires des immeubles présents dans la base.
Bases de Données et pédagogie
• Les requêtes : Approche par les sorties
Cette méthode consiste à partir du résultat à obtenir. Dans notre exemple des
propriétaires et des immeubles, nous désirons connaître les immeubles possédés
par le propriétaire N° 1 ALBERT.
N° du
Nom du
N° de
Désignation
Les informations attendues sont :
Propriétaire
Propriétaire
l'immeuble
de l'immeuble
Pour obtenir ce résultat les informations sont à rechercher dans les tables
PROPRIETAIRES et IMMEUBLES. Cependant, il ne faut pas omettre que dans
le cas de cardinalités Pluriel (n), Pluriel (n), une table de correspondance
Possède dans notre exemple, permet de mettre en liaison la table des
PROPRIETAIRES avec la table des IMMEUBLES. Nous devrons donc
sélectionner :
La table PROPRIETAIRE
La table Possède
La table IMMEUBLE
Bases de Données et pédagogie
• Les requêtes : Approche par les sorties
Pour faciliter la compréhension des attendus, les informations souhaitées peuvent
être récapitulées dans un tableau.
Informations utiles
Nom des attributs
Nom de la table utilisée
Numéro du propriétaire
PRO_NUM
PROPRIETAIRE
Nom du propriétaire
PRO_NOM
PROPRIETAIRE
Numéro de l’immeuble
BIE_NUM
BIENS
Nom de l’immeuble
BIE_DESIGNATION
BIENS
Etapes à suivre pour réaliser la requête :
Etape 1 : La
Opérations
Sélection : Objet support de la condition, N° Propriétaire=«01»
Table(s) ou requête(s) Critères
sources(s)
de
sélection
Sélection Possède
(Cette table contient
les occurrences
recherchées)
PRO_NUM
=«01»
Champ de
jointure
Champ(s)
projeté(s)
Requête
résultat
R01_Immeub
les_Propriéta
ires
Bases de Données et pédagogie
• Les
requêtes : Approche par les sorties
Pour illustrer cette
approche, visualisons sur
ACCESS la démarche. Le
résultat obtenu à ce stade
indique que le propriétaire
dont le N° est 01 possède
deux occurrences, c’est-àdire deux biens.
A ce stade nous ne connaissons pas encore ni le nom
du propriétaire, ni la désignation des biens.
Etapes à suivre pour réaliser la requête :
Etape 2 : La Jointure : Où se trouvent les informations recherchées et sur
quel(s) champ(s) va s’établir la jointure (l’association) entre les tables et requêtes
Opérations
Table(s) ou requête(s)
sources(s)
Jointure
R01_Immeuble_Propri.
PROPRIETAIRES
BIENS
Critères de
sélection
Champ(s)
de jointure
PRO_NUM
BIE_NUM
Champ(s)
projeté(s)
Requête
résultat
R02_Immeubl
es_Propriétair
es
Bases de Données et pédagogie
• Les requêtes : Approche par les sorties
La jointure permet de
mettre en relation les
objets R01_Immeuble
avec PROPRETIARES et
IMMEUBLES à partir de
PRO_NUM et de
BIE_NUM
Etapes à suivre pour réaliser la requête :
Etape 3 : La
apparaître
Projection : Quels sont les champs que nous voulons voir
Opérations
Table(s) ou requête(s)
sources(s)
Projection
R02_Immeuble_Proprié
taires.
Critères de
sélection
Champ(s)
de jointure
Champ(s)
projeté(s)
Requête
résultat
PRO_NUM
PRO_NOM
BIE_NUM
BIE_DESI.
Liste des
biens du
propriétaire
n° 01.
Bases de Données et pédagogie
• Les requêtes : Approche par les sorties
Condition
Projection
des champs
Résultats de la requête
R02_Immeubles_Propriétaires
Bases de Données et pédagogie
• Les requêtes : Approche par les sorties
Autre solution : Commencer par la jointure
Etapes à suivre pour réaliser la requête :
Etape 1 : La Jointure : Où se trouvent les informations recherchées et sur
quel(s) champ(s) va s’établir la jointure (l’association) entre les tables et requêtes
Opérations
Table(s) ou requête(s) Critères
sources(s)
de
sélection
Champ(s) Champ(s)
de jointure projeté(s)
Requête
résultat
Jointure
PROPRIETAIRES
Possède
BIENS
PRO_NUM
BIE_NUM
R01_Immeu
bles_Proprié
taires
Bases de Données et pédagogie
• Les requêtes : Approche par les sorties
Autre solution : Commencer par la jointure
Etapes à suivre pour réaliser la requête :
Etape 2 : La
sélection : Objet support de la condition, N° Propriétaire=«01»
Opérations
Table(s) ou
requête(s)
sources(s)
Critères de
sélection
Sélection
R01_Immeubles_
Propriétaires
PRO_NUM=
«01»
Champ Champ(s)
de
projeté(s)
jointure
Requête résultat
R01_Immeubles_
Propriétaires
Bases de Données et pédagogie
• Les requêtes : Approche par les sorties
Autre solution : Commencer par la jointure
Etapes à suivre pour réaliser la requête :
Etape 3 : La
apparaître
Projection : Quels sont les champs que nous voulons voir
Opérations
Table(s) ou
requête(s)
sources(s)
Projection
R01_Immeuble_Pro
priétaires.
Critères
de
sélection
Champ(s)
de
jointure
Champ(s)
projeté(s)
Requête
résultat
PRO_NUM
PRO_NOM
BIE_NUM
BIE_DESI.
Liste des biens
du propriétaire
n° 01.
Dans cette approche nous n’avons qu’une requête au lieu de deux.
Bases de Données et pédagogie
Vocabulaire à retenir :
- Entité – Propriétés - Association -Identifiant –
Cardinalités (Mini et Maxi)- Occurrences
Outils méthodologiques à retenir :
- Nomination d’une Propriété
- Passage du MCD au MPD
- Jointure
- Sélection
- Projection
Téléchargement