• Nenhum resultado encontrado

BANCO DE DADOS I. Exercícios

N/A
N/A
Protected

Academic year: 2021

Share "BANCO DE DADOS I. Exercícios"

Copied!
19
0
0

Texto

(1)

BANCO DE DADOS I

(2)

• Nos próximos slide estão apresentados um

modelo ER parcial de uma fábrica e o seu

respectivo modelo Relacional. O esquema da

base de dados relacional contém os nomes das

tabelas, os nomes dos atributos, atributos que

formam a chave primária e as chaves

(3)

Departamento

lotação

Máquina

Empregado

possui

trabalha

NumDepto

NomeDepto

(0,N)

(1,1)

(1,1)

(0,N)

NumEmp

(0,N)

NumMaq

NomeMaq

NomeEmp

(0,N)

MER

Telefone

QtdeHoras

Endereco

(4)

Modele relacional

Empregado (NumDepto,NumEmp,NomeEmp, Telefone, Endereco)

(NumDepto) referencia Departamento

Maquina (NumDepto,NumMaq,NomeMaq)

(NumDepto) referencia Departamento

Departamento (NumDepto,NomeDepto)

EmpMaq (EmpNumDepto,NumEmp,MaqNumDepto,NumMaq,

QtdeHoras)

(EmpNumDepto, NumEmp) referencia Empregado

(MaqNumDepto,NumMaq) referencia Maquina

(5)

Resolvam

0. Transforme o ER para relacional.

1. Escreva os comandos completos de criação das tabelas

na ordem correta de execução.

1.1. Defina o atributo telefone como number(15)

Obs:

Defina tamanho e tipos dos demais atributos da maneira

que você achar adequado.

Não esqueça de informar se os campos são obrigatórios ou

opcionais.

2. Altere a o atributo telefone para varchar2(20)

3. Insira pelo menos 2 registros em cada tabela.

4. Escreva comando select para mostrar a quantidade de

registros da tabela Departamento

5. Escreva comandos select para mostrar os registros de

todas as tabelas (uma de cada vez).

(6)

Resolução 1

• Criação da tabela Departamento

Departamento (NumDepto,NomeDepto)

create table departamento

(numdepto number(4) not null,

nomedepto varchar(20) not null,

(7)

Resolução 1

• Criação da tabela Empregado

Empregado (NumDepto,NumEmp,NomeEmp, Telefone, Endereco)

(NumDepto) referencia Departamento

create table empregado

(numdepto number(4) not null,

numemp number(4) not null,

nomeemp varchar(50) not null,

telefone number(15) null,

endereco varchar(50),

constraint pk_numemp primary key(numemp,numdepto),

constraint fk_empregado_departamento foreign key (numdepto)

references departamento(numdepto));

(8)

Resolução 1

• Criação da tabela Maquina

Maquina (NumDepto,NumMaq,NomeMaq)

(NumDepto) referencia Departamento

create table maquina

(numdepto number(4) not null,

nummaq number(4) not null,

nomemaq varchar(20) not null,

constraint pk_nummaq primary key(nummaq,numdepto),

constraint fk_maquina_departamento foreign

(9)

Resolução 1

• Criação da tabela EmpMaq

EmpMaq (EmpNumDepto,NumEmp,MaqNumDepto,NumMaq, QtdeHoras) (EmpNumDepto, NumEmp) referencia Empregado

(MaqNumDepto,NumMaq) referencia Maquina create table empmaq

(empnumdepto number(4) not null, numemp number(4) not null,

maqnumdepto number not null, nummaq number not null, qtdehoras number not null, constraint pk_empmaq

primary key(empnumdepto, numemp, maqnumdepto,nummaq), constraint fk_empmaq_empregado

foreign key(empnumdepto,numemp) references empregado(numdepto, numemp), constraint fk_empmaq_maquina

(10)

Resolução 2

(11)

Resolução 3

• insert into departamento (numdepto, nomedepto) values (001, 'TI');

• insert into departamento (numdepto, nomedepto) values (002, 'Vendas'); • insert into empregado (numdepto,numemp,nomeemp,endereco,telefone) values

(001, 24, 'José da Silva','Rua quinze de novembro, 222','01935632419'); • insert into empregado (numdepto,numemp,nomeemp,endereco,telefone) values

(002, 25, 'Pedro Pereira', 'rua sete de setembro, 212', '01538964984'); • insert into maquina (numdepto,nummaq,nomemaq) values (001, 121,'torno

cnc');

• insert into maquina (numdepto,nummaq,nomemaq) values (002, 122, 'furadeira');

• insert into empmaq (empnumdepto,numemp,maqnumdepto,nummaq,qtdehoras) values (001,24,001,121,8);

• insert into empmaq (empnumdepto,numemp,maqnumdepto,nummaq,qtdehoras) values (002,25,002,122,10);

(12)

Resolução 4

• Select count(*) from departamento;

SQL> Select count(*) from departamento;

COUNT(*)

---2

(13)

Resolução 5

SQL> select * from departamento;

NUMDEPTO NOMEDEPTO

--- ---1 TI

2 Vendas

SQL> select * from empregado;

NUMDEPTO NUMEMP NOMEEMP TELEFONE ENDERECO

--- --- --- --- ---1 24 José da Silva 0---19356324---19 Rua quinze de novembro, 222 2 25 Pedro Pereira 01538964984 rua sete de setembro, 212

SQL> select * from maquina;

NUMDEPTO NUMMAQ NOMEMAQ

--- --- ---1 ---12---1 torno cnc

2 122 furadeira

SQL> select * from empmaq;

EMPNUMDEPTO NUMEMP MAQNUMDEPTO NUMMAQ QTDEHORAS - - ---1 24 ---1 ---12---1 8 2 25 2 122 10

(14)

• Agora suponha que o modelo sofreu as

alterações mostradas nos slides

(15)

Departamento

lotação

Máquina

Empregado

possui

trabalha

NumDepto

NomeDepto

(0,N)

(1,1)

(1,1)

(0,N)

NumEmp

(0,N)

NumMaq

NomeMaq

NomeEmp

(0,N)

MER

Telefone

QtdeHoras

Endereco

possui

Dependente

(1,1)

(0,N)

NomeDep

(16)

Modele relacional

Empregado (NumDepto,NumEmp,NomeEmp, Telefone, Endereco)

(NumDepto) referencia Departamento

Maquina (NumDepto,NumMaq,NomeMaq)

(NumDepto) referencia Departamento

Departamento (NumDepto,NomeDepto)

Dependente(NumDepto,NumEmp,NomeDep)

(NumDepto, NumEmp) referencia Empregado

EmpMaq (EmpNumDepto,NumEmp,MaqNumDepto,NumMaq,

QtdeHoras)

(EmpNumDepto, NumEmp) referencia Empregado

(MaqNumDepto,NumMaq) referencia Maquina

(17)

6. Escreva os comandos completos de

criação da nova tabela

7. Insira dados na nova tabela para todos

os empregados já cadastrados.

(18)

Resolução 6

Dependente(NumDepto,NumEmp,NomeDep)

(NumDepto, NumEmp) referencia

Empregado

create table dependente

(numdepto number(4) not null,

numemp number(4) not null,

nomedep varchar(50) not null,

constraint pk_dependente primary key(numdepto, numemp, nomedep),

constraint fk_dependente_empregado foreign key(numdepto, numemp)

(19)

Resolução 7

insert into dependente (numdepto,numemp,nomedep) values

(001,24, 'junior');

insert into dependente (numdepto,numemp,nomedep) values

(002,25, 'fernando');

Referências

Documentos relacionados

Fizemos referência ao clima educacional que antecede o episódio de 1964, realçando a promulgação da primeira Lei de Diretrizes e Bases da Educação Nacional que se vê cerceada

Segundo os estudos de Monteiro (1998), a formação de um mercado regional de carvão vegetal na Amazônia oriental para atender à demanda dos produtores de ferro-gusa na região de

Pelo que vindo os Romanos a lançar de Espanha aos Cartagineses que ocupavam grande parte dela, foi-lhes fácil haver o universal senhorio de todos, e reduzir

Primeiro você precisa saber o que vai fazer com seu motor home para melhor escolha do veículo.. Hoje temos no mercado diversos equipamentos para facilitar sua vida, desde

Os recursos naturais são elementos da natureza úteis ao ser humano para a sua sobrevivência, conforto e desenvolvimento de diversas atividades. Exemplos deles são os vegetais,

• Contate o médico que prescreveu o dispositivo ou o distribuidor de produtos de saúde se você tiver algum problema para se acostumar ao tratamento. • Pergunte a seu médico

SOBRAL MONTE AGRAÇO ALENQUER ALENQUER ALENQUER TORRES VEDRAS TORRES VEDRAS LOCALIDADE N.º OFERTA OFERTAS DE EMPREGO. Unidade Emissora: Data de Emissão N.º

Procedimento concursal para constituição de reserva de recrutamento de pessoal docente do ensino português no estrangeiro, para o cargo de professor, compreendendo os níveis