|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : mai 2004 Messages : 74 ![]() |
bonjour
i'ai commencé depuis un petit moment à etuider les bases de données. j'ai une question qui n'est pas pour une base de données particulière. concrètement la cardinalité sert a quoi? à construire des bases efficaces? a t elle un autre role? mercid 'avance |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : octobre 2004 Messages : 246 ![]() |
Bonjour,
Les cardinalités te permettent de définir les différents liens entre tes tables. Elles articulent le schéma entité-relation. Isa |
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() Inscription : juillet 2002 Messages : 292 ![]() |
Pour schématiser, les cardinalités permettent de déterminer si une relation entre deux entités pourra prendre plusieurs valeurs ou non et comment il faudra la stocker.
exemple: personne(1.1) => date de naissance(0.n) chaque personne a une et une seule date de naissance. Une date de naissance par contre peut correspondre à 0 ou n personnes. La date de naissance peut donc être considérée comme un attribut de l'entité personne et sera stockée comme un champs dans la table personne. par contre personne(0.n) => adresse (0.n) une personne peut ne pas avoir d'adresse ou en avoir plusieurs et une adresse peut correspondre à 0 ou plusieurs personnes. il faudra donc stocker les tables personne, adresse et la relation personne-adresse dans des tables à part Personne(per_code,per_nom etc..) Adresse (adr_code,adr_ville etc...) personne_relation(adr_code,per_code)
__________________
"Someone must have said to him: If you work too hard, you can sweat" The Stranglers |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() |
__________________
Découvrez la FAQ de MS SQL Server. La chance accorde ses faveurs aux esprits avertis ! |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
L'étude des cardinalités n'a rien à voir avec les SGBD c'est une analyse des relations entre vos données.
Celà n'améliore pas les performances de votre base puisqu'il n'y a pas de cardinalité dans les bases. Les cardinalitées vous permettent de définir le modèle (shéma) de votre base (les entités qui seront regroupées dans une seule table (car cardinalité 1,1 de chaque coté), les cardinalitées de type 1,N des deux cotées engendre une table de relation. etc...) Bref les cardinalitées c'est en amont de la création de la base, c'est l'analyse préliminaire qui débouche sur le schéma de votre base. En concrètement les cardinalitées permettent de définir les regroupement/éclatement des tables et enfin définissent les contraintes d'intégritées de type référence sous la forme des clés étrangères. Plus généralement l'analyse préliminaire qui abouti à la création du shéma de votre base permet d'optenir une base optimisée (pas de redondance d'information), et intègre (contraintes d'intégrités). |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : mai 2004 Messages : 74 ![]() |
cette etape doit etre toujours efectuée ou pour les petites bases cette etape peut etre on va dire laissée de coté.
merci |
|
|
00
|
|
|
#7 |
|
Membre confirmé
![]() Inscription : juillet 2002 Messages : 292 ![]() |
Bien sûr qu'il faut toujours commencer par là.
Si la base est mal conçue au départ, les travaux de maintenance risquent d'être très important par la suite. Si on reprend mon exemple personne-adresse: Sans cette analyse, on suppose qu'une personne a une seule adresse. Que se passe-t-il lorsque une personne demande, par exemple, a être livrée à une adresse et recevoir la facture à une autre adresse ? Pas le choix: il faut repenser le modèle, rajouter des tables, modifier toutes les parties de l'application qui utilisent les adresses etc... On ne peut se passer de cette analyse préliminaire que si l'on a beaucoup de temps et beaucoup d'argent à dépenser pour tout refaire plus tard
__________________
"Someone must have said to him: If you work too hard, you can sweat" The Stranglers |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Si vous avez choisi d'utiliser un SGBD c'est que vous avez une certaine quantité de données ou du moins un certain nombre de type de données (colonnes).
Si vous comptez utiliser le SGBD comme si vous utilisiez un fichier autant utiliser un fichier (ou dans .ini ou dans la base des registres), celà vous évitera de devoir installer un SGBD. A mon sens petit ou grosse base, il faut faire l'analyse préliminaire. Pour les petites, cette analyse pourra être rapide (moins approfondie) et pour les très petites, les personnes ayant l'habitude de faire ce genre d'analyse pourront même créer directement la base (mais l'analyse aura été faite dans la tête.) Bref un conseil faite une analyse celà vous évitera des surprises. |
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : mai 2004 Messages : 74 ![]() |
merci de vos reponses
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com