Database L'analyse

De T4C Tech
Aller à la navigation Aller à la recherche

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)