Problème de base de donnée
alison_aria
Messages postés
1
Statut
Membre
-
alison_aria -
alison_aria -
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.
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
-
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 valeurUPDATE `BUS` SET `categorie_bus` = 'mini_bus ' WHERE `nb_pl_ass` <30;
Je ne suis pas certaine pour ce casUPDATE `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;