Problème de base de donnée

Fermé
alison_aria Messages postés 1 Date d'inscription mardi 18 novembre 2014 Statut Membre Dernière intervention 18 novembre 2014 - 18 nov. 2014 à 17:00
 alison_aria - 19 nov. 2014 à 10:03
slt

voila ma base de donné
/***** CREATION DE LA BASE DE DONNEES ************/


create database TRANSPORT_URBAIN;


/*** utilisation de la base de données TRANPORT_URBAIN ***/


use TRANSPORT_URBAIN;


/*** creation des tables ***/



/*********** LA TABLE LIGNE *************/


create table LIGNE(
code_ligne int not null primary key,
départ varchar(24) not null,
arrivée varchar(24) not null,
distance real not null)


/*********** LA TABLE BUS *************/

create table BUS(
immat varchar(12) not null primary key,
nb_pl_ass int not null,
nb_pl_deb int,
code_ligne int not null,
foreign key(code_ligne)references LIGNE)



/*********** LA TABLE ARRET *************/

create table ARRET(
nom_arret varchar(25)primary key)



/*********** LA TABLE CONDUCTEUR *************/

create table CONDUCTEUR(
code_conducteur int not null primary key,
nom_c varchar(24) not null,
prénom_c varchar(24) not null,
adresse_c varchar(12) not null,
expérience real not null)




/*************** LA TABLE CONDUIT ***************/


create table CONDUIT(
code_conducteur int not null,
immat varchar(12) not null,
primary key(code_conducteur, immat),
foreign key(code_conducteur)references CONDUCTEUR,
foreign key(immat)references BUS)








/*************** LA TABLE PASSER_PAR ***************/


create table PASSER_PAR(
code_ligne int not null,
nom_arret varchar (25)not null,
primary key(code_ligne, nom_arret),
foreign key(code_ligne)references LIGNE,
foreign key(nom_arret)references ARRET)


et j'ai deux questions et j'espère bien que vous me répondez
1- Créer par une requête SQL une nouvelle colonne dans la table BUS appelée catégorie_bus dans laquelle on lit l'une des valeurs suivantes : 'mini_bus' si la capacité est inférieure à 30, 'capacité_moyenne' si la capacité se situe entre 30 et 60, 'grande_capacité' si la capacité est supérieure à 60.
2- Supprimer de cette base de données tous les bus datant de moins de 2000

Merci.

1 réponse

DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 1 999
18 nov. 2014 à 21:27
Bonjour

Pour ajouter une colonne dans votre table BUS
NB j'ai placé la nouvelle colonne après nb_pl_deb mais vous pouvez changer.

ALTER TABLE `BUS` ADD `texte`  categorie_bus NOT NULL AFTER `nb_pl_deb ` ;


Pour ajouter la valeur
UPDATE `BUS` SET `categorie_bus` = 'mini_bus ' WHERE `nb_pl_ass` <30;

Je ne suis pas certaine pour ce cas
UPDATE `BUS` SET `categorie_bus` = 'mini_bus ' WHERE `capacité_moyenne`  BETWEEN  30  AND 60;

UPDATE `BUS` SET `categorie_bus` = 'grande_capacité ' WHERE `nb_pl_ass` >60;


Je ne vois pas dans vos tables la colonne de la date pour les bus.
Sinon, la requête serait comme ceci.

DELETE FROM table
WHERE YEAR(date) < 2000;
1
alison_aria
19 nov. 2014 à 10:03
Merci beaucoup
0