La Solution d'Exercice SQL Corrigé :création de table/création de vue/la commande alter table
[No (PK), marque, model, année, anciennete, couleur, kilomètres]
Tous les champs sont obligatoires sauf couleur.
Les seules valeurs acceptables pour Marque sont «HONDA», «TOYOTA», «NISSAN '
La base de données doit rejeter toute rangée où le
Kilomètres est supérieure à 25000 * d’ancienneté
CREATE TABLE ACME.VOITURE
2. Créez une table propriétaire dans la collecte ACME qui a
[ID (PK), NOM, Tel, Permis]
Tel est un champ optionnel.
CREATE TABLE ACME.PROPRIETAIRE
(ID CHAR(5),
Nom CHAR(15) NOT NULL,
Tel CHAR(15) ,
Permis DECIMAL(2,0) NOT NULL,
CONSTRAINT ACME.ID_PK
PRIMARY KEY (ID)
);
3. Créez une table de PROPRIETAIRE_VOITURE sans les clés étrangères qui a:
[ID (PK), No (PK), Prix]
CREATE TABLE ACME.PROPRIETAIRE_VOITURE
(ID CHAR(5),
No CHAR(5),
Prix DECIMAL(7,1) NOT NULL,
CONSTRAINT ACMEPROPRIETAIRE_VOITURE_PK
PRIMARY
KEY
(ID, No)
);
4. Ajouter la clé étrangère qui portera la table de PROPRIETAIRE_VOITURE à la table propriétaire.
ALTER
TABLE PROPRIETAIRE_VOITURE
ADD CONSTRAINT ACME.PROPRIETAIRE_VOITURE_TO_PROPRIETAIRE_FK
FOREIGN KEY
(ID)
REFERENCES
PROPRIETAIRE.ID;
5. Ajouter la clé étrangère qui portera la table de PROPRIETAIRE_VOITURE à la table de la Voiture
ALTER
TABLE ACME.PROPRIETAIRE_VOITURE
ADD CONSTRAINT ACME.PROPRIETAIRE_VOITURE_TO_VOITURE_FK
FOREIGN KEY
(No)
REFERENCES
ACME.VOITURE(No);
ALTER TABLE ACME.PROPRIETAIRE
ADD CONSTRAINT ACME.Permis_UN
UNIQUE
(Permis);
ALTER TABLE ACME.PROPRIETAIRE
ADD
COLUMN
Address CHAR(30);
[ID, No, Marque, Annee, Prix]
CREATE
VIEW ACME.PROPRIETE as
(SELECT o.ID, c.No, c.Marque, c.Annee, oc.Prix
FROM ACME.PROPRIETAIRE o,
ACME.CAR c,
ACME.PROPRIETAIRE_VOITURE oc
WHERE c.No = oc.No
AND oc.ID = o.ID);
9. Retirer la colonne couleur de la table de la VOITURE.
ALTER
TABLE ACME.VOITURE
DROP COLUMN Couleur;
DROP
COLLECTION ACME;
CREATE
COLLECTION ACME;
►Voir La liste des Exercices SQL Corrigés