Les bases de données Séance 3 Construction du Modèle Conceptuel de Données
Recherche des propriétés à gérer Regroupement des propriétés par entité Construction des entités Recherche des associations Recherche des cardinalités Vérification et validation du modèle Base de données III La démarche pour construire le MCD
Dans les interviews Les données peuvent être éparpillées dans le discours. Une donnée est caractérisée par : Un nom Une définition (explique à quoi elle sert) Un domaine de définition Une provenance Un mode de calcul ( si donnée calculée ) Une décomposition ( si donnée non atomique ) Base de données III Recherche des propriétés
Les données sont explicitement des propriétés d’entités nommées. Les données sont regroupables dans une entité non explicite, mais sémantiquement identifiables. Les données sont isolées, il faut construire des entités supplémentaires. Base de données III Regroupement en entités
Comment nomme-t-on une entité ? « Une entité est représentée par un nom qui sert de discriminant principal (existentiel) pour un objet. » C’est sur la base de ce nom que l’on peut dire qu’une occurrence (ligne) est ou n’est pas une instance de cette entité. Une entité désigne une « classe », une « collection » de choses. Base de données III Regroupement en entités 2
Recense toutes les informations utiles au système considéré. Pourquoi ? Eviter les doubles définitions Rassembler des définitions très proches, ou concurrentes Formalisé par un tableau : EntitépropriétéDéfinitionDomaineTypeCalculéeProvenance Base de données III Le dictionnaire de données
Base de données III Noms semblables Peut-on nommer deux attributs avec le même nom dans deux tables différentes ? OUI Comment distingue t-on les données dans ce cas ? etudiant id examen id etudiant.idexamen.id On utilise ces formes surtout en cas d ’ambigüité.
Soit une entité classique, Personne, identifiée par son numéro de SS (Sécurité sociale), son nom, son prénom et sa date de naissance. Base de données III Problème des Dépendances Fonctionnelles Personne ss nom prenom anneenaissance moisnaissance sexe Frémaux Valéry 1964 Décembre M
« Si une propriété P2 dépend d’une propriété P1, alors la connaissance de la valeur de P1 entraîne celle de P2 » Si P1 -> P2 vrai alors (Pi,Pj) et (Pi,Pk) => Pj=Pk Dépendances complètes Dépendances directes Dépendances indirectes Base de données III Notion de Dépendance Fonctionnelle
Une dépendance est complète si la totalité de la valeur du paramètre P1 sert à déterminer P2. Exemple : Base de données III Dépendance complète... mois_num mois_texte... … 12 Décembre … Dépendance complète
Une dépendance est partielle ou incomplète si une partie de la valeur du paramètre P1 sert à déterminer la valeur de P2. Exemple : Opérations typiques qui marquent la partialité d’une dépendance : estsuffixede(), estpréfixede(), estpartiede() Base de données III Dépendance partielle... date mois_texte... … 12_1964 Décembre … Dépendance incomplète
Première ébauche du modèle conceptuel des données ne faisant apparaître que : Les entités Les propriétés Base de données III Construction des entités nom_entité Attribut_clef1 attribut2 attribut3 attribut4 attribut5...
On écrit des phrases « en français » qui mettent en scène les relations de sens entre les entités. On fait apparaître le « QUI dépend de QUOI » Caractéristiques : nom : désigne la nature de la dépendance dimension : désigne le nombre d’entités impliquées Qualifiants : des attributs de la liaison cardinalité : donne les limites ordinales d ’une association Base de données III Recherche des associations
Base de données III Matérialisation des associations ForumMessage -> Contient / <- est écrit dans n,m
Répondre à quatre questions : Une occurrence de A peut être en relation avec une occurrence de B combien fois au minimum ? combien de fois au maximum? Une occurrence de B peut être en relation avec une occurrence de A combien fois au minimum ? combien de fois au maximum? Base de données III Identification des cardinalités
Base de données III Matérialisation des cardinalités ForumMessage -> Contient / <- est écrit dans 1,1 0,n
Les entités et les propriétés doivent vérifier L’intégrité sur les entités L’intégrité référentielle Chaque propriété doit être élémentaire Chaque information ne doit apparaître une seule fois dans une entité donnée. Chaque propriété doit prendre une et une seule valeur pour une occurrence donnée Base de données III Vérification et validation du modèle
But Rendre le modèle le « plus propre possible ». Limiter la redondance de données. => Augmenter la fiabilité et diminuer la maintenance. Les règles de normalisation Cinq formes normales. Elles définissent la façon d’utiliser les entités, les attributs ou certaines contraintes sur les dépendances. Base de données III Normalisation du modèle
Un identifiant Toutes les propriétés portent des valeurs atomiques, scalaires et non vectorielles) utilisateur id nom roles Un identifiant. La propriété roles sous-entend que l’on peut mettre une liste de rôles utilisateur id nom role Un identifiant et des propriétés. On impose à la propriété rôle de n ’avoir qu’une seule valeur. On utiliserait plusieurs enregistrements. Base de données III Première forme normale 1 : fremaux : admin, gourou 1 : fremaux : admin 2 : fremaux : gourou
Un identifiant Toutes les propriétés portent des valeurs atomiques, scalaires et non vectorielles) utilisateur id identité Un identifiant. La propriété identité sous-entend un agrégat d’informations distinctes que l’on « cache » dans un format scalaire (String) utilisateur id nom prenom Un identifiant et des propriétés. On remplace un attribut « composite » par des attributs scalaires. Base de données III Première forme normale 1 : "valéry,fremaux" 1 : frémaux : valéry
On doit partir d’une 1ère Forme Normale (attributs atomiques et scalaires) On ne peut ajouter QUE des dépendances fonctionnelles complètes sur la clef (composite ou pas) salle bâtiment numero capacité codealarme Base de données III Deuxième forme normale salle bâtiment numero capacité N : 203 : 40 : 40CD N : 203 : 40 alarme bâtiment codealarme N : 40CD
On doit partir d’une Deuxième Forme Normale On interdit toute dépendance d’un attribut non identifiant sur un autre attribut non identifiant etudiant id nom prenom idprovenance libelleprovenance etudiant id nom prenom idprovenance provenance id libelle provenance.id =>libelleprovenance ? etudiant.id => libelleprovenance ? LibelleProvenance ne dépend pas directement de l’identifiant de table, mais d ’un autre attribut Base de données III Troisième Forme Formale
But : de nouveaux opérateurs pour enrichir la modélisation et symboliser des situations plus complexes Introduction des concepts : généralisation/spécialisation de nouvelles contraintes Base de données III Extension du formalisme Entité-Relation
Basée sur la création d’une entité générique Permet une représentation plus proche du monde réel Ne déroge pas avec les règles de validation du MCD Base de données III Extension : Généralisation/spécialisation
inclusion exclusion totalité ou exclusif égalité I X T + = Base de données III Extension : Autre types de contraintes
FIN DU COURS