Salut, je suis actuellement coincé sur la question d'un tp m'empêchant d'avancer.
Vous avez aussi une description de cette schéma:
• Un fournisseur est identifie de manière unique par son nom d’au plus 20 caractères; le département correspond au code départemental de la France (ex. 56); la ville est un chaine de caractères de taille maximale 20, et doit être remplisse pour chaque fournisseur; le pays est un chaine d’au plus 20 caractères; l’année est un numéro et correspond au première date d’achat depuis chaque fournisseur; le dernier attribut indique (vrai, faux) si le fournisseur est toujours sur le marché.

• Une composante est décrite de manière unique par son nom d’au plus 20 caractères et correspond à une catégorie (aussi une chaine de caractères).

• La table d’achats contient un identifiant (entier), les noms du fournisseur et de la composante acheté, qui doivent correspondre aux enregistrements des autres tables, un date d’achat (obligatoire), le prix unitaire en euros (obligatoire et strictement positif), la quantité acheté (obligatoire et strictement positif), ainsi que un indicateur que l’achat a été finalisé.

Question 2
Remplir la nouvelle base de données avec les données de la table AchatsDonneesBrutes. On suppose que tous les fournisseurs qui nous ont vendu de composantes sont toujours actifs et que tous les achats ont été finalisé.



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
DROP TABLE AchatsDonneesBrutes;
CREATE TABLE AchatsDonneesBrutes(
  DateAchat DATE,
  NomComposante VARCHAR(20),
  TypeComposante VARCHAR(20),
  PrixUnit REAL,
  Quantite INTEGER,
  NomFournisseur VARCHAR(20),
  Dept INTEGER,
  Ville VARCHAR(20),
  Pays VARCHAR(20)
);
 
DROP TABLE Fournisseurs;
CREATE TABLE Fournisseurs(
  Nomfournisseur VARCHAR(20)      PRIMARY KEY,
  Departement INT(5),
  Ville VARCHAR(20),
  Pays VARCHAR(20),
  Annee DATE,
  Active VARCHAR(4)
);
 
DROP TABLE Achats;
CREATE TABLE Achats(
  IdAchat INTEGER       PRIMARY KEY,
  NomFournisseur VARCHAR(20),
  NomComposante VARCHAR(20),
  DateAchat DATE NOT NULL,
  PrixUnit REAL NOT NULL,
  Quantite INTEGER NOT NULL,
  Finale VARCHAR(4)
);
 
DROP TABLE Composantes;
CREATE TABLE Composantes(
  Composante VARCHAR(20)          PRIMARY KEY,
  TypeComposante VARCHAR(20)
);


Voilà ce que j'ai fais