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 ?
Bases de Données et pédagogie
Bases de Données et pédagogie
• 1 INTRODUCTION
•
Pourquoi l'analyse conceptuelle? Qu'est-ce-que l'analyse conceptuelle?
1.1 La situation
•
La situation est toujours ainsi au point de départ
Un problème de gestion
Un utilisateur doit décider,
agir… dans son organisation. Il
a besoin d'informations pour
résoudre un problème
particulier. Il veut automatiser
certains traitements.
Un outil informatique
Un ordinateur + ses logiciels
PC… + Access ou StarOffice...
Bases de Données et pédagogie
1.2 - La démarche par étapes
1.2.1 - L'analyse préalable
Faire le tour du problème : interview, discussion,
documents
Proposer une idée de solution avec les choix
majeurs
Evaluer le projet de solution
Bases de Données et pédagogie
• 1.2.2 - La conception de la solution
• Définir les données et les traitements
• 1.2.3 - Le développement du projet
• La description détaillée de l'organisation des données
c'est à dire de la saisie, l'édition, les bases de données.
La réalisation et tests.
• 1.2.4 - La mise en œuvre
• Saisie complète des données
Formation des utilisateurs
Démarrage et mise au point finale
Bases de Données et pédagogie
• 1.3 Les différents niveaux d’analyse
Conception 1 :
Le niveau conceptuel : le
MCD
La solution est définie de manière
abstraite par un modèle conceptuel :
le modèle entité-association
appelé aussi modèle relationnel.
Conception 2 : Le niveau logique ou
organisationnel : modèle logique des
données avec son Schéma
conceptuel des données
Développement : Le niveau
technique avec le Schéma
physique de la base
Il faut rendre le MCD exploitable par le logiciel
de base de données. On intègre à la solution,
les caractéristiques du logiciel. On transforme
le modèle selon un formalisme fourni par le
modèle relationnel. Celui-ci est à la base des
SGBDR. C’est la description détaillée de la
solution.
Bases de Données et pédagogie
1.4 - L' analyse conceptuelle des données est :
•
•
La recherche des informations élémentaires d'un problème de gestion :
système de gestion.
La compréhension des règles de gestion
•
La représentation normalisée du système d'information c'est à dire la
modélisation. Le "Modèle conceptuel de données" (MCD ) que nous
utiliserons est le "Modèle Entité Association".
•
La schématisation du modèle (SCD, Schéma conceptuel de données). La
représentation sous forme de schéma visuel d'une base de données
conceptualisée se fait selon un modèle dont la définition constitue une sorte
de norme universelle. Le schéma réalisé conformément au modèle
constitue un support / moyen de communication entre les acteurs du
système et les informaticiens (éventuellement).
•
L'analyse conceptuelle débouche bien entendu sur la mise en oeuvre
technique, accompagnée de la réalisation de supports visuels
Bases de Données et pédagogie
2 Le vocabulaire et les règles du MCD
Le vocabulaire précis et les règles sont indépendants des logiciels.
2.1 - L'entité
2.1.1 - Définition
La connaissance de l'activité de l'organisation étudiée et des
procédures de gestion, permet de définir les ensembles de données
nécessaires à la gestion : les entités.
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 ou attributs
SAL_NOM
SAL_PRENOM
SAL_ADRESSE
Propriétés ou attributs de l’entité
SALARIE
SAL_CP
SAL_VILLE
Les informations élémentaires qui décrivent une entité sont appelés
« Attributs » ou « Propriétés » de l’entité
Bases de Données et pédagogie
2.1.2 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.
SALARIES
La propriété
déclarée identifiante
est soulignée.
SAL_NUM_SS
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
L’identifiant est la Propriété ou Attribut qui permet de distinguer un
élément de l’entité de manière UNIQUE
Bases de Données et pédagogie
• 2.1.3 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
• 2.1.5 Correspondance avec un logiciel SGBDR :
Les tables
On passe ici du modèle logique (en l'occurrence le modèle relationnel) au
niveau technique ou physique. Pratiquement, on réalise ce passage sur
l'ordinateur.
Une entité donne naissance à une table dans un SGBDR. La table est un
objet informatique regroupant ici tous les individus (les occurrences) de
l'entité.
· les colonnes ou champs : dans la table de l'entité, chaque colonne
correspond à un attribut de l'entité.
· un attribut particulier est l' "identifiant" de chaque "individu" (occurrence),
c'est à dire un numéro unique pour chaque individu. C'est la "clé primaire" de
la table.
· les lignes : chaque ligne correspond à une occurrence de l'entité, ou
"enregistrement". Une occurrence est notée sur une seule ligne.
Bases de Données et pédagogie
• 2.2 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. Si la réponse est
Non 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 minimum 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
• 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
3 La méthode de construction d’un MCD
3.1 La recherche des données de la base
Il s’agit de trouver et de définir :
- les attributs ou propriétés des entités,
- les attributs des associations,
- les données calculées dont on peut avoir besoin. Elle
sont calculées dans les requêtes ou formulaires ou les
états. L’ensemble des informations constitue les
données de la base. Cette recherche aboutira à la
mise en évidence des entités
Bases de Données et pédagogie
3.2 Le dictionnaire des données
3.2.1 - Définition
Le dictionnaire des données est à la fois le support du travail et le
résultat de la recherche et analyse des données. Il se présente sous
la forme d'un tableau
3.2.2 - Présentation
Dans ce tableau, chaque donnée est représentée par :
1/ son nom informatique, c'est à dire un mnémonique ou un nom en
clair,
2/ une description,
3/ son type numérique, alphabétique, logique...
4/ sa dimension en nombre de caractères,
5/ éventuellement les calculs qui permettent de la générer
Bases de Données et pédagogie
• 3.3 - Le schéma de la base
• Au stade de la conception, on réalise le
schéma conceptuel des données.
FAMILLE
N°famille
Nomchef
Prénomchef
Numrue
Nomrue
Adresseville
Téléphone
Nbreenfants
ENFANT
1,1
1,n
Appartenir
N°enfant
NomEnfant
PrénomEnfant
DateNaissance
Datecréation
ParticularitéAlim
Bases de Données et pédagogie
• Au stade de la mise en œuvre, on réalise le
schéma physique de la base :
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
IMMEUBLES
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
IMMEUBLES
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