Conception d'une base de données

LaFik Messages postés 10 Statut Membre -  
 sprince25 -
Au secour !!!!!!!! Aidez moi s'il vous plait !!!!!
Dans mon atelier, j’ai un ensemble de composants (des boîtiers, des cartes, des câbles, des moteurs, des adaptateurs, …et encore des centaines de choses) qui se repère par leur N° de série, leur description, leur référence.

A-- Un composant peut être interfacé avec d’autres composants
B-- Ce même composant peut être constitué d’autre composant (Par exemple, à l’instant t : un boîtier est constitué de la carte 001, d’un moteur XY et des câbles 2.03 et 2.04. A l’instant t+1 : la carte 001 se trouve dans un autre boîtier, …)

Je dois mettre en place un outil de gestion de l’ensemble de ces composants qui s’appuie sur une base de données.
Cette outil doit être en mesure de me dire :
1-- avec quels autres composants est relié le composant X, à l’instant t ?
2-- de quels composants est constitué le composant X (si c’est le cas), à l’instant t ?
3-- à l’intérieur de quel composant se trouve le composant X (si c’est le cas), à l’instant t ?

J’ai lu pas mal de tutoriaux sur les bases de données, mais je n’ai trouvé aucun exemple qui s’assimilait à mon cas. J’ai beaucoup de mal à répondre à mes questions : Comment concevoir ma base de donnée pour répondre aux 3 exigences principales ? Quelles entités dois-je créer ? Par quels liens les relier entre elles ? …
Bref je ne vois pas du tout quelle base de données mettre en place pour répondre aux besoins.
Pouvez-vous m’aider s’il vous plait

5 réponses

elghafoud
 
Bonjour,

j'ai une soulution mais je ne sais pas si ca va te plaire ou pas!

tu cree une base avec trois table une

table composants : contient tout les composants (id_composant , nom, desc...)

table objects : contient id_object , nom, desc

table composants_objects : contient : id_composant et id_object
0
LaFik Messages postés 10 Statut Membre 1
 
Salut,
merci de ta réponse.
Le truc c'est que un objet peut être un composant (d'un autre objet), donc ca va pas aller au niveau des clés des deux tables si elles ont les même, non?
Peut-être que je me trompe, je suis débutante dans ce domaine et je galère un peu.
Penses tu que ce ne va pas beuguer au niveau des clés ?
0
elghafoud
 
salut
Pour selectioner les composants de l'object 'une boitier' dans l exemple voici la requette :

SELECT composants.* FROM composants, composants_objects, objects where composants.id_composant = composants_objects.id_composant and composants_objects.id_object = objects.id_object and objects.id_object = 1

pour afficher tout les objects
select * form objects;

PS: un object peut contenir un seul composant!!!!!!



--
-- Structure de la table `composants`
--

CREATE TABLE composants (
id_composant int(11) NOT NULL auto_increment,
nom varchar(100) NOT NULL default '',
description varchar(255) NOT NULL default '',
PRIMARY KEY (id_composant)
) TYPE=MyISAM COMMENT='table des composants';

--
-- Contenu de la table `composants`
--

INSERT INTO composants VALUES (1, 'carte 001', 'carte 001');
INSERT INTO composants VALUES (2, 'moteur XY', 'moteur XY');
INSERT INTO composants VALUES (3, 'câbles 2.03 et 2.04', 'câbles 2.03 et 2.04');
INSERT INTO composants VALUES (4, 'adaptateurs zxvf', 'adaptateurs zxvf');

-- --------------------------------------------------------

--
-- Structure de la table `composants_objects`
--

CREATE TABLE composants_objects (
id_object int(11) NOT NULL default '0',
id_composant int(11) NOT NULL default '0',
UNIQUE KEY id_object (id_object,id_composant)
) TYPE=MyISAM;

--
-- Contenu de la table `composants_objects`
--

INSERT INTO composants_objects VALUES (1, 1);
INSERT INTO composants_objects VALUES (1, 2);
INSERT INTO composants_objects VALUES (1, 3);
INSERT INTO composants_objects VALUES (2, 4);

-- --------------------------------------------------------

--
-- Structure de la table `objects`
--

CREATE TABLE objects (
id_object int(11) NOT NULL auto_increment,
nom varchar(100) NOT NULL default '',
description varchar(255) NOT NULL default '',
PRIMARY KEY (id_object)
) TYPE=MyISAM COMMENT='table des objects';

--
-- Contenu de la table `objects`
--

INSERT INTO objects VALUES (1, 'un boîtier', ' un boîtier');
INSERT INTO objects VALUES (2, 'adaptateurs', '');
0
LaFik Messages postés 10 Statut Membre 1
 
En fait c'est surtout au niveau de la modélisation conceptuelle de ma base de données que je ne sais pas trop représenter les exigences de l'énoncé (comment modéliser le fait qu'un composant peut objet peut composer un autre objet ?).
Si qqun d'autre à des idées je suis tjs preneur,
un gd merci d'avance
0
antic80 Messages postés 4877 Statut Contributeur 1 161
 
salut

moi je pense a une table composant (id-composant, nom ....)

une table piece (id-piece,nom..., id-composant)

une table matériel( id-matériel, nom ... id-piece)

comme ca pour la piece 1 tu saisie en fait la piece et le 1ere composant

2e ligne la meme piece et le 2e composant

et ainsi de suite

pour le matiriel

1ere ligne le 1er materiel et la 1ere piece
2e ligne 1er materiel 2e piece

et ainsi de suite

comme ca tu devrais pouvoir interroger ta table comme tu le souhaite
0

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

Posez votre question
sprince25
 
exemple de conception de donne+corrige
0