Précédent   Forum des professionnels en informatique > Bases de données > Décisions SGBD
Décisions SGBD Forum de décisions sur le choix en bases de données. Le Comparatif
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/12/2004, 10h15   #1
Membre du Club
 
Inscription : mai 2004
Messages : 74
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 74
Points : 42
Points : 42
Par défaut cardinalité

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
star_light est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2004, 10h34   #2
Membre du Club
 
Avatar de Isa31
 
Inscription : octobre 2004
Messages : 246
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 246
Points : 66
Points : 66
Bonjour,
Les cardinalités te permettent de définir les différents liens entre tes tables.
Elles articulent le schéma entité-relation.

Isa
Isa31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2004, 10h51   #3
Membre confirmé
 
Avatar de Higgins
 
Inscription : juillet 2002
Messages : 292
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 292
Points : 253
Points : 253
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
Higgins est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2004, 10h52   #4
Rédacteur/Modérateur

 
Avatar de WOLO Laurent
 
Homme Laurent WOLO
Architecte de base de données
Inscription : mars 2003
Messages : 2 696
Détails du profil
Informations personnelles :
Nom : Homme Laurent WOLO
Âge : 35
Localisation : Congo-Brazzaville

Informations professionnelles :
Activité : Architecte de base de données
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 2 696
Points : 3 917
Points : 3 917
Envoyer un message via Yahoo à WOLO Laurent
Pour plus d'informations foncez sur le site de SqlPro

Bonne Lecture.
__________________

Découvrez la FAQ de MS SQL Server.
La chance accorde ses faveurs aux esprits avertis !
WOLO Laurent est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2004, 10h59   #5
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
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).
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2004, 11h34   #6
Membre du Club
 
Inscription : mai 2004
Messages : 74
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 74
Points : 42
Points : 42
cette etape doit etre toujours efectuée ou pour les petites bases cette etape peut etre on va dire laissée de coté.
merci
star_light est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2004, 12h13   #7
Membre confirmé
 
Avatar de Higgins
 
Inscription : juillet 2002
Messages : 292
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 292
Points : 253
Points : 253
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
Higgins est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2004, 12h25   #8
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
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.
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2004, 17h59   #9
Membre du Club
 
Inscription : mai 2004
Messages : 74
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 74
Points : 42
Points : 42
merci de vos reponses
star_light est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h14.


 
 
 
 
Partenaires

Hébergement Web