CommencerCommencez gratuitement

Créer la liste des pièces

La première étape pour créer une nomenclature (bill of material) consiste à définir un modèle de données hiérarchique. Pour cela, vous devez créer une table BillOfMaterial avec les champs suivants :

La table BillOfMaterial décrit la hiérarchie suivante :

Votre tâche est de définir le champ PartID comme clé primaire, de définir le champ Cost, et d’insérer les enregistrements suivants dans la table :

  • Component : SUV, Title : BMW X1, Vendor : BMW, ProductKey : F48, Cost : 50000, Quantity : 1
  • Component : Wheels, Title : M-Performance 19/255, Vendor : BMW, ProductKey : MKQ134098URZ, Cost : 400, Quantity : 4

Cet exercice fait partie du cours

<cours>Requêtes hiérarchiques et récursives dans SQL Server</cours>
Voir le cours

Instructions de l’exercice

  • Définissez PartID comme PRIMARY KEY de type INT.
  • Définissez Cost de type INT et non NULL.
  • Insérez l’élément racine SUV comme décrit dans la section de contexte.
  • Insérez l’entrée Wheels comme décrit dans la section de contexte.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

CREATE TABLE Bill_Of_Material (
	-- Define PartID as primary key of type INT
  	___ ___ NOT NULL ___ KEY,
	SubPartID INT,
	Component VARCHAR(255) NOT NULL,
	Title  VARCHAR(255) NOT NULL,
	Vendor VARCHAR(255) NOT NULL,
  	ProductKey CHAR(32) NOT NULL,
  	-- Define Cost of type INT and NOT NULL
  	___ ___ ___ ___,
	Quantity INT NOT NULL);

-- Insert the root element SUV as described
INSERT INTO Bill_Of_Material
VALUES (1,NULL,'___','BMW X1','___','___',___,1);
INSERT INTO Bill_Of_Material
VALUES (2,1,'Engine','V6BiTurbro','BMW','EV3891ASF',3000,1);
INSERT INTO Bill_Of_Material
VALUES (3,1,'Body','AL_Race_Body','BMW','BD39281PUO',5000,1);
INSERT INTO Bill_Of_Material
VALUES (4,1,'Interior Decoration','All_Leather_Brown','BMW','ZEU198292',2500,1);
-- Insert the entry Wheels as described
INSERT INTO Bill_Of_Material
VALUES (___,___,'Wheels','M-Performance 19/255',___,___,___,___);

SELECT * 
FROM Bill_Of_Material;
Modifier et exécuter le code