La solution d'Exercice SQL Corrigé : Base de données "Bus Dépôts"
L'exercice suivant consiste à écrire du code SQL en utilisant Oracle SQL * Plus. Vous aurez besoin d'un compte Oracle de faire ces exercices.
Créer la base de données SQL pour la pratique et le travail PLSQL. Vous trouverez les deux fichiers la la base de données du dossier appelé 'Schema.txt »et« data load.txt '. Ouvrez les fichiers et les inspecter.
Le premier fichier contient des instructions Create pour créer les tables de la base de dépôts de bus et de définir des contraintes clés primaires et étrangères. Vous devez copier et coller le contenu de ce fichier dans iSQL*Plus, puis d'exécuter l'instruction CREATE - que ce besoin se fait une fois. Le deuxième fichier contient la déclaration insert pour ajouter des lignes de données dans les tableaux créés précédemment. Encore une fois de copier et coller et exécuter une fois.
1. Type 'select*from Depot »pour inspecter le contenu de la table Depot. Examinez les autres tables.
2.
Create table Mechanic
3. Supprimez vos définitions de table
7.
Créer la base de données SQL pour la pratique et le travail PLSQL. Vous trouverez les deux fichiers la la base de données du dossier appelé 'Schema.txt »et« data load.txt '. Ouvrez les fichiers et les inspecter.
Le premier fichier contient des instructions Create pour créer les tables de la base de dépôts de bus et de définir des contraintes clés primaires et étrangères. Vous devez copier et coller le contenu de ce fichier dans iSQL*Plus, puis d'exécuter l'instruction CREATE - que ce besoin se fait une fois. Le deuxième fichier contient la déclaration insert pour ajouter des lignes de données dans les tableaux créés précédemment. Encore une fois de copier et coller et exécuter une fois.
1. Type 'select*from Depot »pour inspecter le contenu de la table Depot. Examinez les autres tables.
2.
Create table Mechanic
(mno varchar2(5) not null,
mname varchar2(20),
msalary varchar2(20),
dno varchar2(5),
constraint pk_mno
primary key(mno),
constraint fk_mno foreign
key(dno) references Depot(dno));
Create table MechanicBuses
(mno varchar2(5),
regno varchar2(10),
constraint pk_mreg
primary key(mno, regno),
constraint fk_mno1
foreign key(mno) references mechanic(mno),
constraint fk_regno
foreign key(regno) references bus(regno) );
3. Supprimez vos définitions de table
drop table MechanicBuses;
drop table mechanic
Notez l'ordre dans lequel les tables sont supprimées est important.
Create table Mechanic
(mno varchar2(5)
not null,
mname varchar2(20),
msalary varchar2(20),
dno varchar2(5)
default '102',
constraint pk_mno primary key(mno),
constraint fk_mno
foreign key(dno) references Depot(dno));
Create table MechanicBuses
(mno varchar2(5),
regno varchar2(10),
constraint pk_mreg
primary key(mno, regno),
constraint fk_mno1
foreign key(mno) references mechanic(mno),
constraint fk_regno
foreign key(regno) references bus(regno) );
4.
alter table Mechanic
add dateEmployed date;
describe Mechanic;
Name
|
Null?
|
Type
|
MNO
|
NOT NULL
|
VARCHAR2(5)
|
MNAME
|
VARCHAR2(20)
|
|
MSALARY
|
VARCHAR2(20)
|
|
DNO
|
VARCHAR2(5)
|
|
DATEEMPLOYED
|
DATE
|
5.
insert into Mechanic values
('001','Carol Black',2000, '101','09-feb-2015');
etc
select * from Mechanic
MNO
|
MNAME
|
MSALARY
|
DNO
|
DATEEMPLOYED
|
001
|
Carol Black
|
2000
|
101
|
09-FEB-15
|
6.
update Mechanic
set mname = 'Carol Black'
where mname = 'Carol Brown';
select * from Mechanic
MNO
|
MNAME
|
MSALARY
|
DNO
|
DATEEMPLOYED
|
001
|
Carol Brown
|
2000
|
101
|
09-FEB-15
|
update Mechanic
set msalary =msalary *1.2
where mname='Carol Brown';
select * from Mechanic
MNO
|
MNAME
|
MSALARY
|
DNO
|
DATEEMPLOYED
|
001
|
Carol Brown
|
2400
|
101
|
09-FEB-15
|
8.
delete from
MechanicBuses
where mno in
( select mno
from mechanic
where mname='Carol Brown');
delete from
Mechanic
where
mname='Carol Brown';