Implementação do banco de dados de Sistema Rodoviário usando

Propaganda
Implementação do banco de dados de Sistema Rodoviário usando comandos em SQL
pg.1
Disciplina de Banco de Dados
Profº Christien Rachid
Aluno: Bruno Julio Costichi
1º Comandos para criar as tabelas, as chaves primárias e estrangeiras e relacioná-las:
CREATE TABLE Funcionarios (
fun_numero_matricula INTEGER NOT NULL,
fun_nome
VARCHAR2(20) NULL,
fun_funcao
VARCHAR2(20) NULL,
fun_endereco
VARCHAR2(20) NULL,
rod_codigo
VARCHAR2(20) NULL
);
ALTER TABLE Funcionarios
ADD ( PRIMARY KEY (fun_numero_matricula) ) ;
CREATE TABLE Posto_Policial (
pol_codigo
pol_descrição
pol_logradouro
pol_numero_agentes
rod_codigo
);
INTEGER NOT NULL,
VARCHAR2(20) NULL,
VARCHAR2(20) NULL,
INTEGER NULL,
VARCHAR2(20) NULL
ALTER TABLE Posto_Policial
ADD ( PRIMARY KEY (pol_codigo) ) ;
CREATE TABLE Rodovias (
rod_codigo
rod_denominacao
rod_tamanho
);
VARCHAR2(20) NOT NULL,
VARCHAR2(20) NOT NULL,
VARCHAR2(20) NULL
ALTER TABLE Rodovias
ADD ( PRIMARY KEY (rod_codigo) ) ;
ALTER TABLE Funcionarios
ADD ( FOREIGN KEY (rod_codigo)
REFERENCES Rodovias
ON DELETE SET NULL ) ;
ALTER TABLE Posto_Policial
ADD ( FOREIGN KEY (rod_codigo)
REFERENCES Rodovias
ON DELETE SET NULL ) ;
2º Inserindo a massa de dados:
insert into rodovias values (1,'Via Dutra','1550');
insert into rodovias values (2,'Via Fernão Dias','1350');
insert into rodovias values (3,'Serra do Mar','850');
insert into rodovias values (4,'Rodovia Rio/Bahia','1850');
6º período
2º semestre
2007
Implementação do banco de dados de Sistema Rodoviário usando comandos em SQL
pg.2
Disciplina de Banco de Dados
Profº Christien Rachid
Aluno: Bruno Julio Costichi
insert into funcionarios values (1,'Zé','vigia','rua das flores','2');
insert into funcionarios values (2,'Zé maria','vigia','rua das dores','1');
insert into funcionarios values (3,'Jão Maria','vigia','rua das dolores','3');
insert into funcionarios values (4,'Pedro Mario','vigia','rua das cores','4');
insert into funcionarios values (5,'Jose Pedro','servente','rua col alberto','4');
insert into funcionarios values (6,'Mario Pedro','servente','rua roberto','2');
insert into posto_policial values (1,'23ºBPM','rua roberto',4,'2');
insert into posto_policial values (2,'234ºBPM','rua RONDONIA',32,'1');
insert into posto_policial values (3,'34ºBPM','rua Amapa',15,'2');
insert into posto_policial values (4,'104ºBPM','rua Macapa',25,'4');
3º Realizando algumas consultas:
select* from posto_policial;
retorna:
POL_CODIGO POL_DESCRIÇÃO POL_LOGRADOURO POL_NUMERO_AGENTES ROD_CODIGO
1 23ºBPM
rua roberto
4
2
2 234ºBPM
rua RONDONIA
32
1
3 34ºBPM
rua Amapa
15
2
4 104ºBPM
rua Macapa
25
4
select* from funcionarios;
retorna:
FUN_NUMERO_MATRICULA
1
2
3
4
5
6
6º período
FUN_NOME
Zé
Zé maria
Jão Maria
Pedro Mario
Jose Pedro
Mario Pedro
FUN_FUNCAO
vigia
vigia
vigia
vigia
servente
servente
2º semestre
FUN_ENDERECO ROD_CODIGO
rua das flores
2
rua das dores
1
rua das dolores
3
rua das cores
4
rua col alberto
4
rua roberto
2
2007
Implementação do banco de dados de Sistema Rodoviário usando comandos em SQL
pg.3
Disciplina de Banco de Dados
Profº Christien Rachid
Aluno: Bruno Julio Costichi
select r.rod_denominacao, f.fun_nome, f.fun_funcao
from funcionarios f,rodovias r
where f.rod_codigo = r.rod_codigo;
retorna:
ROD_DENOMINACAO
Via Fernão Dias
Via Dutra
Serra do Mar
Rodovia Rio/Bahia
Rodovia Rio/Bahia
Via Fernão Dias
FUN_NOME
Zé
Zé maria
Jão Maria
Pedro
Mario
Jose Pedro
Mario
Pedro
FUN_FUNCAO
Vigia
Vigia
Vigia
Vigia
Servente
Servente
4º Realizando alterações:
alter table "POSTO_POLICIAL" rename column
"POL_NUMERO_AGENTES" to "POL_AGENTES";
Renomeia a coluna POL_NUMERO_AGENTES para POL_AGENTES na tabela POSTO_POLICIAL.
alter table "FUNCIONARIOS" rename column
"FUN_NUMERO_MATRICULA" to "FUN_MATR";
Renomeia a coluna FUN_NUMERO_MATRICULA para FUN_MATR na tabela FUNCIONARIOS.
alter table "FUNCIONARIOS" add
("FUN_APELIDO" VARCHAR2(20) NULL);
Adiciona a coluna FUN_APELIDO na tabela FUNCIONARIOS.
FUN_MATR FUN_NOME FUN_FUNCAO FUN_ENDERECO
1 Zé
Vigia
rua das flores
2 Zé maria
Vigia
rua das dores
3 Jão Maria
Vigia
rua das dolores
4 Pedro Mario Vigia
rua das cores
5 Jose Pedro
Servente
rua col alberto
6 Mario Pedro Servente
rua roberto
ROD_CODIGO FUN_APELIDO
2
1
3
4
4
2
alter table "FUNCIONARIOS" drop column
"FUN_APELIDO";
Remove a coluna FUN_APELIDO da tabela FUNCIONARIOS.
Select distinct(F.rod_codigo),R.rod_denominacao
from FUNCIONARIOS F,RODOVIAS R
WHERE F.ROD_CODIGO = R.ROD_CODIGO;
6º período
2º semestre
2007
Implementação do banco de dados de Sistema Rodoviário usando comandos em SQL
pg.4
Disciplina de Banco de Dados
Profº Christien Rachid
Aluno: Bruno Julio Costichi
Usa-se distinct para eliminar duplicidade de linhas no resultado
ROD_CODIGO
2
4
1
3
ROD_DENOMINACAO
Via Fernão Dias
Rodovia Rio/Bahia
Via Dutra
Serra do Mar
Com uso de distinct
6º período
ROD_CODIGO ROD_DENOMINACAO
2 Via Fernão Dias
1 Via Dutra
3 Serra do Mar
4 Rodovia Rio/Bahia
4 Rodovia Rio/Bahia
2 Via Fernão Dias
Sem uso de distinct
2º semestre
2007
Download