Database L'analyse
L'Analyse
Afin de pouvoir faire l'analyse d'une base de données T4C qui sera expliquée dans un prochain chapitre, nous avons besoin de quelques notions d'analyse.
Dans ce chapitre nous verrons comment réalisé une bonne analyse, j'utiliserais des textes cours et simple Pour que tout le monde puisse suivre.
Pour l'analyse d'une base de données en tout genre, il y a plusieurs niveaux à suivre.
C'est niveau sont :
- Le dictionnaire des données.
- Le modèle conceptuel des données.
- Le modèle logique des données.
Le dictionnaire des données
Le dictionnaire des données est important, il demande le recueil d'absolument toutes les données qui font ou feront partie du système et d'en établir une liste comme nous allons le faire ci-dessous.
Il n'y a aucune obligation d'établir une ordre, on peut laisser les informations telle quelles à mesure de leur récolte.
Mais je conseil pour avoir plus de facilité, d'établir un premier regroupement par famille.
Je pense que c'est le point le plus important d'une bonne analyse, car le moindre manque d'informations peut causé d'énorme soucis lors du développement ou bien de l'utilisation finale du programme.
Le modèle conceptuel des données
Le modèle conceptuel des données constitue deux langage principalement utiliser qui sont MERISE et UML, chacun des langage à ses propre règles.
Nous n'évoquerons pas toutes les possibilités des deux langages, mais uniquement celle dont nous aurons besoin pour l'analyse de la base de données de T4C.
Pour commencer nous verront les différences entres les deux langages.
Les dépendances fonctionnelles
Grâce au dictionnaire des données, celui-ci nous fournira l'ensemble des données qui nous seront requises pour le développement d'une base de données ou d'une application.
Une donnée BUT est une dépendance fonctionnelle d'une donnée SOURCE quand la connaissance d'une valeur SOURCE permet d'un maximum déterminer la connaissance d'une seule donnée BUT.
Exemple :
Numéro national --> Nom Numéro national --> Prénom Numéro national --> Sexe Numéro national --> ...
Différences entre les langages MERISE et UML
Pour plus de facilité, j'ai fait un petit scéma sous Word, celui-ci est beaucoup plus parlant qu'une explication textuelle.
Erreur lors de la création de la vignette : Fichier manquant
Erreur lors de la création de la vignette : Fichier manquant
Attention : Dans un schéma UML les cardinalités sont inscrites à l'invers de MERISE.
Erreur lors de la création de la vignette : Fichier manquant
Exemple d'un schéma MERISE
Erreur lors de la création de la vignette : Fichier manquant
Exemple d'un schéma UML
Erreur lors de la création de la vignette : Fichier manquant
Les cardinalités (Merise)
Erreur lors de la création de la vignette : Fichier manquant
A)
x = cardinalité minimum : A une occurrence de l’entité 1, combien correspond au minimum d’occurrence(s) de l’entité 2.
y = cardinalité maximum : A une occurrence de l’entité 1, combien correspond au maximum d’occurrence(s) de l’entité 2.
B)
x = cardinalité minimum : A une occurrence de l’entité 2, combien correspond au minimum d’occurrence(s) de l’entité 1.
y = cardinalité maximum : A une occurrence de l’entité 2, combien correspond au maximum d’occurrence(s) de l’entité 1
Attention : Si votre analyse Merise comprend plus de deux entités, vous devez effectuer la question suivante :
A une entité donnée, combien correspond le couple donné.
Les multiplicités (UML)
Erreur lors de la création de la vignette : Fichier manquant
A)
x = multiplicité minimum : A un objet de la classe 1, combien correspondent au minimum d’objet(s) de la classe 2.
y = multiplicité maximum : A un objet de la classe 1, combien correspondent au maximum d’objet(s) de la classe 2.
B)
x = multiplicité maximum : A un objet de la classe 2, combien correspondent au minimum d’objet(s) de la classe 1.
y = multiplicité maximum : A un objet de la classe 2, combien correspondent au maximum d’objet(s) de la classe 1.
Attention : Si votre analyse UML comprend plus de deux classes, vous devez effectuer la question suivante :
A une classe donnée, combien correspond le couple donné.
Association
Un association permet de relier plusieurs entités ou classe entre elles, on y trouvera le nom de l'association, les attributs et les liens vers les autres entités.
Exemple :
Erreur lors de la création de la vignette : Fichier manquant
Contrainte d'intégrité référencielle (Merise )
Au lieu d'avoir la même représentation des associations, la méthode merise représente une association avec les cardinalités 0,1 ou 1,1, c'est intéressent dans les modèles de données plus complexe car il est utile de pouvoir immédiatement retrouver ce type d'association.
Exemple : Quand il y a 1,n et 1,1 uniquement l’association peut être une CIF !
Erreur lors de la création de la vignette : Fichier manquant
Les associations réflexives
Les associations réflexives sont des une associations binaires ou n-aires qui fait intervenir au minimum 2 fois la même entité/classe.
Plus simplement, on dira qu'une entité pointe sur elle-même.
Exemple Merise :
Erreur lors de la création de la vignette : Fichier manquant
Exemple UML :
Erreur lors de la création de la vignette : Fichier manquant
Les contraintes
Afin de pouvoir améliorer la syntaxique d'un schéma, un système de contraintes aide considérablement à résoudre des problèmes envisagés. Le programmeur aura beaucoup plus de facilité à comprendre un schéma de façon plus explicite et en approche avec la réalité.
Il existe plusieurs types de contraintes, en voici quelques uns :
- Contrainte de partition (P)
- Contrainte d'exclusion (X)
- Contrainte de totalité (T)
- Contrainte d'inclusion (I)
- Contrainte de simultanéité (S)
Dans les 5 contraintes ci-dessus, il faut impérativement savoir que les 3 premières contraintes sont appliquées aux entités et aux associations. Les 2 dernières, inclusion et simultanéité concernent uniquement les associations.
Exemple de cas ou l'on utilisera des contraintes :
Dans un commissariat de police, il y a des policiers... :p ceux-ci sont soit sur le terrain soit en entraînement. Chaque policier est reconnu par un numéro, un grade et un nom. Les policiers partent donc soit sur le terrain soit en entraînement.
Un entraînement est désigné par un code et un nom de catégorie et une mission sur le terrain est caractérisée par un numéro de mission, une date et la région.
Contrainte de partition :
Tout les policiers participent soit à une mission sur le terrain, soit à un entraînement.
Contrainte d'exclusion :
Tout les policiers peuvent participer soit à une mission sur le terrain, soit à un entraînement mais pas les deux à la fois.
Contrainte de totalité :
Tout les policiers participent au moins à l'une des association.
Contrainte d'inclusion :
Cette exemple est un peut plus complexe, admettons que les policiers aient une liste d'entraînements à faire et que chaque policiers peut émettre une liste de choix d'entraînement. Ils ont donc la possibilité de choisir un certain nombre d'entraînement alors qu'un seul entraînement sera retenu et effectué.
Contrainte de simultanéité :
Si un policier participe à un entraînement ou à une mission sur le terrain il pourra également participer à l'autre.
Le modèle logique des données
Marre pour le moment je continuerai plus tard !
--Mestoph 24 mai 2008 à 14:02 (MSD)