Je ne sais pas si c'est pour cette année, mais on verra sans doute l'UML à un moment ou à un autre, Vivithemushroom.
Désolé, Prauron. J'aurais dû t'en dire plus, mais je n'étais plus vraiment en état. Après une bonne nuit, j'ai les idées plus claires. Pour résumer, je dirais qu'on peut voir l'analyse Merise comme une espèce d'algorithme de la base de données.
Tiens, voilà un (tout petit) MCD en Merise trouvé sur google : http://www.ac-grenoble.fr/ecogest/pedago/administration/prodpeda/images/isi00N2.gif
L'idée est d'établir les entités et les associations entre les entités. Par exemple, ici, on a une entité « enfant », et une « famille ». Plus tard, dans la base de données, ces entités deviendront des tables dans lesquelles on rangera les enfants et les familles. On note ce qui identifie les enfants (ici, un numéro) et leurs attributs (nom, prénom...).
Ensuite, on met ces tables en relation. Par exemple, un enfant appartient à une et une seule famille : 1,1. En revanche, une famille a un ou plusieurs enfants : 1,N.
Une famille se situe dans une et une seule tranche de revenus, mais à une même tranche correspondent plusieurs familles. Ensuite, on a des prestations. Le prix dépend de la tranche et de la prestation : il est entre les deux tables. On a plusieurs prestations pour une tranche, et plusieurs tranches à traiter pour une prestation. On note donc 1,N et 1,N.
L'intérêt de cette analyse est de voir de quelles tables on aura besoin dans la base de données, et quelles clés étrangères lieront ces tables. En fait, une fois qu'on a le MCD, il suffit d'appliquer des règles sans réfléchir.
Par exemple, dans une relation 1,N / 1,1, comme avec les enfants et la famille, la table des enfants récupèrera l'identifiant de la famille en clé étrangère. Avec du 1,N / 1,N, par contre, il faudra carrément créer une troisième table tranche-prestation.
L'analyse conceptuelle est vraiment intéressante à faire, largement autant que les algorithmes. On nous présente un cas, comme le fonctionnement d'une entreprise. L'analyste doit organiser les données pour concevoir la future base de données. Il ne faut négliger aucune donnée, ne s'encombrer d'aucune information superflue, ranger les attributs au bon endroit... Sans une analyse solide, la base de données ne tiendra pas debout.
En ce moment, je travaille sur un programme qui deviendra ma mémoire en matière de foot. Eh bien là, la première tâche est d'organiser le monde du foot en un grand MCD. Un joueur joue dans un club pendant une période, un club appartient à une fédération, une citation est prononcée par une personne mais une personne peut en prononcer plusieurs. Une personne peut être un joueur, un entraîneur, un ... : un petit coup d'héritage !
J'espère ne pas avoir été trop brouillon ?