Sei sulla pagina 1di 5

IntroduoManipulaodeDados

LicenciaturaemEconomia

TrabalhoPrtico20042005
ManutenodeAvies
Depoisdevriasreclamaesfeitasnoaeroportoporfaltadeorganizao,aadministraodecidiuque
todaainformaoreferenteaoaeroportodeveriaserorganizadautilizandoumSistemadeGestode
BasesdeDadosevofoicontratadoparadesenharabasededados.
Aprimeiratarefaconsisteemorganizarainformaoacercadosaviescujamanutenofeitano
aeroporto.Ainformaorelevanteaseguinte:

Cadaaviotemumnmeroderegistoeumadatadeaquisio,edeummodeloespecfico;

Existemdiversosmodelosdeavio.Cadamodeloidentificadoatravsdeumcdigo(ex:DC
10)etemumacapacidadeeumpeso;

Trabalhamnoaeroportodiversostcnicos.necessrioguardaronome,ondobilhetede
identidade,amorada,ondetelefoneeosalriodecadaum;

Cadatcnicoespecializadoemumoumaismodelosdeavioecadamodelodeavaiopode
tervriostcnicosespecializados;

Oaeroportotemumconjuntodetestesquedevemserfeitosperiodicamenteparaasseguraro
bomfuncionamentodosavies.Cadatestepossuiumidentificador,umnomeeumapontuao
mxima;

Cadavezqueumtestequerealizadoadeterminadoavioporumdeterminadotcnicodeve
serguardadaadataderealizaodoteste,onmerodehorasgastaspelotcnicoparafazero
testeeapontuaodoavioobtidanoteste.

1. DesenheomodeloEntidadeAssociaoparaestabasededados.Noseesqueadeindicaros
vriosatributosdecadaConjuntoEntidadeeConjuntoAssociao,aschaveseasrestriesde
cardinalidadeeparticipaodecadaConjuntoAssociao.
(verltimapgina)
2. TraduzaomodeloEntidadeAssociaoencontradonopontoanteriorparaomodeloRelacional.
EscrevaoscomandosSQLnecessriosparacriarasrelaes.
Modelo(nmodelo,capacidade,peso)
Tcnico(bi,nome,morada,telefone,salario)
Teste(nteste,nome,pmax)
Aviao(naviao,data,nmodelo)
Especialidade(nmodelo,bi)
InfoTeste(nteste,naviao,bi,horas,data,pontuacao)

CREATETABLEModelo(
nmodelo:integer,
capacidade:integer,
peso:integer,
PRIMARYKEY(nmodelo));
CREATETABLETecnico(
bi:char(10),
nome:char(60),
morada:char(100),
telefone:char(20),
salario:integer,
PRIMARYKEY(bi));
CREATETABLETeste(
nteste:integer,
nome:char(60),
pmax:integer,
PRIMARYKEY(nteste));
CREATETABLEAviao(
naviao:integer,
data:date,
nmodelo:integer,
PRIMARYKEY(naviao),
FOREIGNKEY(nmodelo)REFERENCESModelo);
CREATETABLEEspecialidade(
nmodelo:integer,
bi:char(10),
PRIMARYKEY(nmodelo,bi),
FOREIGNKEY(nmodelo)REFERENCESModelo,
FOREIGNKEY(bi)REFERENCESTecnico);
CREATETABLEInfoTeste(
nteste:integer,
naviao:integer,
bi:char(10),
horas:real,
data:date,
pontuacao:integer,
PRIMARYKEY(nteste,naviao,bi),
FOREIGNKEY(nteste)REFERENCESTeste,
FOREIGNKEY(naviao)REFERENCESAviao,
FOREIGNKEY(bi)REFERENCESTecnico);
3. Insirainformaoacercade(apresentaseapenasumainserodecadarelao):
2modelos

INSERTINTOModelo
VALUES(100,345,3500);
5avies
INSERTINTOAviao
VALUES(1000,20040104,100);
3tcnicos
INSERTINTOTecnico
VALUES(12345,JosSilva,Rua1,266565555,1500);
3testespossveis
INSERTINTOTeste
VALUES(1,Electrico,3500);
10testesefectuados
INSERTINTOInfoTeste
VALUES(1,1000,12345,3.5,20040505,2990);
4. Responda,emSQL,sseguintesquestes:
Qualacapacidadeeopesodecadamodelodeavio?
SELECT*
FROMModelo;
Qualomodelodoavio101?
SELECTnmodelo
FROMAviao
WHEREnaviao=101;
Qualovalordosalriomaisbaixo?
SELECTmin(salario)
FROMTecnico;
EmquemodelosotcnicocomBIn87878especializado?
SELECTnmodelo
FROMEspecialidade
WHEREbi=87878;
Qualonomedostestesquetmapontuaomximasuperiora500pontos?
SELECTnteste
FROMTeste
WHEREpmax>500;
Queaviesobtiveramapontuaomximanoteste100?
SELECTnaviao
FROMInfoTeste,Teste
WHEREInfoTeste.nteste=Teste.ntesteAND
Teste.nteste=100AND
pontuacao=pmax;

Qualonomeeapontuaoobtidanostestesrealizadosnodia12/3/2004aoavio102?
SELECTnome,pontuacao
FROMTeste,InfoTeste
WHERETeste.nteste=InfoTeste.ntesteAND
data=20040312AND
naviao=102;
5. ImplementeaBasesdeDadosdescritanospontosanterioresnoMicrosoftAccess.

Notas:

Constituiodegrupos:3alunos

Entrega:

Ficheiros:RelatrioeFicheiroMicrosoftAccess

diagramaEntidadeAssociao(ponto1.)

comandosDDLparacriaodasrelaes(ponto2.)

comandosDDLparainserodostuplos(ponto3.)

comandosSQLpararespondersquestes(ponto4.)

Adescriodetodasasopesescolhidas(derivadasdainterpretaodo
enunciado)durantearealizaodotrabalho

Prazo:2deNovembros17horas

Forma(comotrabalhodevidamenteidentificado):

poremailparatcg@di.uevora.pt

oRelatriodeveconter

disqueteououtrosuportedigital

Apresentao:

obrigatria paratodososmembrosdogrupo.Anocomparncia,traduzsenanota
zeronacomponenteprticadadisciplina.

Potrebbero piacerti anche