Conseil pour base de donnée solide

florent8869 Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   -  
florent8869 Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   -
Hello,

Alors voilà je vous sollicite car je dois créer une base de données pour mon entreprise avec énormément d'enregistrement par mois ( environ 30 000) je vous ai fait un schéma pour vous montrer mon idée. Tout les conseil sont les bienvenue car je suis débutant dans ce domaine et il faut que je parte sur une base solide !

[URL=https://www.imagup.com][IMG]http://ups.imagup.com/04/1254244035_bdd.JPG[/IMG][/URL]

A savoir que il y aura plusieurs pannes moteur, électronique etc ...........
Je pense que je n'ai pas le choix de faire 2 bases de donnée bien distinctes, mais est ce que je peux communiquer entre ces 2 bases ?
Merci de m'aider afin d'améliorer ceci ;)

28 réponses

swoog
 
Salut.

Personnellement, je partirais sur une seule base, avec un nombre indéfini de tables (ca dépend de ton projet), mais voici les principales :

TypeVehicule(IdType, nomType....)
--> Ici, tu auras voiture, moto, avions, navette spaciale :p

Panne(IdPanne,....)
--> Ici, ca sera l'organe en panne : moteur, faisceau électrique...

CausePanne(IdCause,....)
--> Ici : accident, usure...

Vehicule(Immat, ..., #IdType)
--> C'est dans cette table que seront ajoutées toutes les informations concernant 1 (j'ai bien dit 1) véhicule.

Accident(#Immat, DateAccident, Lieu, ..., #IdPanne, #IdCause)
--> Ici, tu mets toutes les informations relatives à l'accident

Voilà une base de travail, mais si d'autres veulent améliorer ou critiquer mon modèle, je suis aussi preneur (ca c'est pour ma culture personnelle !)

Bon courage Florent.
0
florent8869 Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci beaucoup pour ta réponse, cependant j'ai encore une tite question, on peux créer une table dans une autre table, comme la table Panne dans le type de vehicule ??
0
swoog
 
Je ne pense pas que ca soit possible. De toute façon, ne le fais pas, ca détruirait le principe d'intégrité et de non redondance des informations dans la base. Il faut au maximum exploser tes données de manière à les garder plus ou moins autonomes les unes par rapport aux autres.

Reste sur ce modèle pour l'instant (fais des tests en attendant d'autres avis)
0
florent8869 Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   1
 
D'accord je commence a comprendre chaque ID que tu as marqué correspond a une table bien distinctes, ensuite les différents exemples correspondes au champs des tables.


Ensuite a moi de faire communiquer les différentes tables entre elles

C'est bien ceci ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
swoog
 
oui, tout a fait.
De plus, les champs commencant par # sont les liens entre les tables.
0
florent8869 Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   1
 
d'accord donc je fait une table transport avec comme champs moto, voiture
Ensuite une autre table marques avec comme champs ducati, renault

et avec ceci je peux faire pointé ducati sur moto et renault sur voiture ?
0
swoog
 
Les champs moto et voiture, dans mon exemple, tu les mets dans la table TypeVehicule.
En ce qui concerne les marques, tu peux les mettre dans une table marque.

Tu ne peux mettre un lien direct entre ducatti et moto, même si dans ce cas ca marche. Prends l'exemple de BMW : ils font des voitures ET des motos...

Le lien, tu le feras dans la table Vehicule : il est unique lorsqu'il à une immat. Du coup, tu lui fais un lien avec le type et la marque !

Je sais pas si tu comprend ce que je veux dire.
0
florent8869 Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   1
 
Je comprend mais enfait je m'embrouille petit a petit, car jvous ai presenté mon sujet avec moto voiture ect ors c'est pas ca mais je voulai que ce soi clair pour vous mais au final c'est moi qui m'embrouille.

Schématiquement j'ai 3 services SAV SC PROD
avec plusieur données : N client , N compte, Nom rsc bref plein de champs comme ca

et pour chaque services et pour chaques données il y a valeurs réelles et valeur théoriques !


Donc j'ai pensé a l'aide de tes précieux conseil de faire ces tables ci : SAV_reelle , SAV_theorique ( juste pour le SAV )
avec comme champs N client_reelle, Nclient_theorique.



Ors si ma table est SAV_reelles, un de mes champs est Nclient_reelles est ce que je peux remplir Nclient_reelles de donnée des different client ou est ce que je suis tout en bas de la hierarchie et je ne peux refaire une saisie.
J'arrive pas bien a expliquer, en gros est ce qu'on peux rentrer plusieurs valeurs pour un champs ??


Merci enormement de ta patience face a mon expérience, cela m'aide enormement
0
swoog
 
1 Champ = 1 valeur
C'est ca toute la force d'un SGBD.

Après, pour ton cas particulier, je n'ai pas tout compris, je vais relire ton post.
0
florent8869 Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   1
 
1 Champ = 1 valeur

Donc si j'ai plusieurs valeurs pour N_client_Réelles je dois la crée entant que table et non champs ?
0
swoog
 
Tu as MSN ? ca sera plus simple
0
florent8869 Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   1
 
Je suis au travail donc pas moyen d'avoir msn et aillant déménager j'ai pas le net a mon domicile encore
0
florent8869 Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   1
 
florent_v@hotmail.fr
0
florent8869 Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   1
 
[img]http://zepload.com/images/1254256290_bbs.JPG[/img]


Voila en gros mon probleme :)

Sachant que les champ N_client_reelle va posseder environ 5000 client
0
florent8869 Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   1
 
Désolé le proxy me bloque l'accée a people live :'(
0
swoog
 
explique moi exactement à quoi correspond n_client_reelle
0
florent8869 Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   1
 
en gros tout ce qui est théorique est les objectifs a l'année et ce qui est réelles c'est ce qui est rentrer par les cadres.

et nclient_reelle représente le numéro de chaque client, un client est identifier par une suite de 5 chiffres.
ors vu que je suis dans une très grosse boîte il se peux que le nombre de client atteigne les 5 000 , enfin c'est juste pour donner une idée.


Si je définie comme j'ai fait sur mon deuxième schéma est ce que je peux rentrer 5000 valeurs dans chaque champs ou alors un champs a une unique valeur ?
0
swoog
 
en fait,
1 champ = 1 valeur
1 ligne = plusieurs champs différents.
1 table = plusieurs lignes

si je comprend bien ton problème, c'est que chaque cadre à un objectif à atteindre, qu'il doit rentrer les information et le but est de savoir s'il a atteint ses objectifs ?
0
florent8869 Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   1
 
Oui c'est ça,
donc vu que j'ai 5000 clients avec des numéro différents ( 5 chiffres ex ; 00001 ) il faut que je crées N_clients_reelles entant que TABLES et non CHAMPS ?
0