Companhia de Seguros PAGA & CALA
|
|
- Natan Sintra Back
- 8 Há anos
- Visualizações:
Transcrição
1 Departamento de Engenharia Electrotécnica e de Computadores Licenciatura em Engenharia Electrotécnica e de Computadores 5.º ANO 1.º SEMESTRE SISTEMAS DE INFORMAÇÃO 2001/2002 TRABALHO PRÁTICO Implementação de uma base de dados na Companhia de Seguros PAGA & CALA Trabalho elaborado por: Joel Pedro Peixoto de Carvalho Jorge Miguel Lopes Correia Turma: 5EEC12(T) Eng.ª Ana Paiva Dezembro 2001
2 INDÍCE : I II III IV V VI VII VII IX X XI Descrição do Problema Modelo Entidade-Associação Modelo Relacional Restrições de Integridade Criação da Instância Exemplo Os Forms criados Os Webforms criados Os Reports criados Elaboração das Perguntas à Base de Dados Estudo da Normalização Conclusões Joel Carvalho e Jorge Correia 2 / 21
3 I DESCRIÇÃO DO PROBLEMA A companhia de seguros Paga & Cala dedica-se única e exclusivamente à elaboração de seguros no ramo automóvel. tipo: O tipo de apólices celebradas entre a seguradora Paga & Cala e o segurado do seguinte Jota Bartolomeu, cliente do sexo Masculino, portador do B.I. nº e do numero de contribuinte , morador na Praceta Aqui do Lado n.º100, 4465 S. Mamede de Infesta, telefone segurou nesta companhia uma viatura automóvel de marca Porsche modelo Carrera 4 em 11 de Dezembro de Esta apólice fica registada com nº O seguro é do tipo A, para um montante máximo de $00, a que corresponde uma anuidade de $00. Os 4 tipos de seguros praticados pela companhia, respectivo montante coberto e anuidades a pagar encontram-se referidos na seguinte tabela: Categoria Montante Máximo Anuidade A $ $00 B $ $00 C $ $00 D $ $00 A Paga & Cala mantêm um registo actualizado dos acidentes que envolvem quaisquer viaturas seguradas por si. Esse registo assume a forma seguinte: A data do acidente; o nome, a data de nascimento, a morada, o numero do BI, o código postal, o número de contribuinte e o telefone do condutor da viatura na altura do acidente e o montante pago pela companhia para compensar os estragos causados. É também registada a matrícula da viatura. Joel Carvalho e Jorge Correia 3 / 21
4 II MODELO ENTIDADE-ASSOCIAÇÃO O primeiro passo da elaboração da base de dados da companhia de seguros Paga & Cala passa como é obvio pela criação do diagrama entidade associação no Oracle Designer 6i utilizando a ferramenta Entity Relationship Diagrammer. Os tipos de dados de cada atributo foram especificados tendo sido também também escolhidas as chaves de cada uma das entidades. As entidades geradas e a sua função na base de dados são as seguintes: TIPO1 - Entidade que especifica o tipo de apólice negociado pela companhia cujo conteúdo foi já referido acima, a chave desta entidade é obviamente à categoria da apólice (A,B,C ou D). APOLICE1 - Entidade onde estão registadas todos as apólices de seguro automóvel celebradas entre a Paga & Cala e determinado cliente. O numero de matricula (MATRICULA) é portanto a chave desta entidade vez que é uma forma de identificação única para um veiculo. È salientar o facto de uma apólice se referir apenas a um veículo, podendo no entanto o mesmo segurado possuir várias apólices. Os campos adicionais especificam os dados pessoais (NOME, MORADA, CODIGOPOSTAL, DATANASC,BI, NUMCONTRIB, SEXO, TELEFONE), alguns dados adicionais do veiculo (MARCA, MODELO) bem como a data de celebração de contrato (DATAINICIO). REGISTO1 - Esta entidade contem o registo de acidentes que envolveram quaisquer veículos segurados pela Paga & Cala. A data do acidente (DATA) é a chave, uma vez que através dela juntamente com a matricula do veículo, campo da entidade APOLICE1, fica especificado de forma única um acidente que tenha envolvido um veículo segurado. NOTA: De referir aqui uma das limitações da nossa base de dados, uma vez que assumimos que um veículo automóvel não sofre dois acidentes no mesmo dia e hora (o que na verdade também é extremamente improvável). Esta entidade contem uma outra série de campos que especificamos dados pessoais do condutor do veículo segurado (NOME, MORADA, CODPOSTAL, DATANASC, SEXO, TELEFONE, NUMCONTRIB, BI). Note-se que não necessariamente tem de ser o possuidor da apólice o condutor do automóvel segurado. Como era de esperar é também esta entidade que conterá o valor de compensação a atribuir ao/s veiculo/s danificado/s (MONTANTECOMP). PAGAMENTO1 Esta última entidade aqui referida refere-se aos pagamentos por parte dos segurados das respectivas apólices. A data (DATA) do saldar da divida para com a Paga & Cala, juntamente com a matrícula do veículo, campo da entidade APOLICE1, especificam univocamente o pagamento de uma apólice, daí que este campo seja a chave desta entidade. Para facilitar a compreensão das relações entre entidades é apresentado desde já o modelo entidade-associação que caracteriza a base de dados: Joel Carvalho e Jorge Correia 4 / 21
5 TIPO1 # CATEGORIA * ANUIDADE * MONTMAX a que pertence a do REGISTO1 # DATA * BI * CODIGOPOSTAL * DATANASC * MONTANTECOMP * MORADA * NOME * NUMCONTRIB * SEXO * TELEFONE que se refere a onde fica o APOLICE1 # MATRICULA * BI * CODIGOPOSTAL * DATAINICIO * DATANASC * MARCA * MODELO * MORADA * NOME * NUMCONTRIB * SEXO o NUMACID o TELEFONE a que se refere o da PAGAMENTO1 # DATA o PERCENTAGEMDESC o VALOR Os diversos tipos de atributos de cada instancia encontram-se referidos na tabela abaixo TIPO1 APOLICE1 REGISTO1 PAGAMENTO1 ATRIBUTOS TIPO ATRIBUTOS TIPO ATRIBUTOS TIPO ATRIBUTOS TIPO CATEGORIA CHAR MATRICULA CHAR DATA DATE DATA DATE ANUIDADE NUMBER BI NUMBER BI NUMBER PERCENTAGEMDESC CHAR MONTMAX NUMBER CODIGOPOSTAL NUMBER CODIGOPOSTAL NUMBER VALOR NUMBER DATAINICIO DATE DATANASC DATE DATANASC DATE MONTANTECOMP NUMBER MARCA CHAR MORADA CHAR MODELO CHAR NOME CHAR MORADA CHAR NUMCONTRIB NUMBER NOME CHAR SEXO CHAR NUMCONTRIB NUMBER TELEFONE NUMBER SEXO CHAR NUMACID NUMBER TELEFONE NUMBER Note-se que a designação not null à frente de cada atributo define o carácter de obrigatoriedade do atributo, isto é, todos os atributos distinguidos com not null devem ser obrigatoriamente preenchidos antes de serem inseridos na base de dados. Através do esquema entidade associação facilmente se verifica que todas as nossas relações entre entidades são de 1 para M (um para muitos). Um exemplo rápido explicita isto claramente: - Existem muitas apólices, mas apenas um tipo* é especificada por cada apólice**. - Existem muitos registos de acidentes*** mas cada registo só diz respeito a uma só apólice. - Os pagamentos**** também são inúmeros no entanto cada pagamento diz respeito a apenas uma apólice. Joel Carvalho e Jorge Correia 5 / 21
6 - O facto de alguns campos serem iguais deve-se a servirem para trabalharem com os triggers e serem de informação, com excepção da PERCENTAGEMDESC que foi introduzido mas não chegou a ser utilizado. Notas: *Tipo: Um tipo pode ter várias apólices, porém não é obrigatório que isso aconteça. **Apólice: Uma apólice tem muitos pagamentos e refere-se a vários tipos. Porém esta relação é obrigatória, ou seja, uma apólice não tem que ter obrigatoriamente registos assim como não tem que ter obrigatoriamente pagamentos. ***Registo: Um registo tem que ter obrigatoriamente uma apólice. A relação entre a associação registo e a entidade apólice é M para 1. ****Pagamento: Um pagamento é feito obrigatoriamente para uma apólice. A relação de M to 1 de pagamento para apólice representa isso mesmo. Joel Carvalho e Jorge Correia 6 / 21
7 III MODELO RELACIONAL Este modelo relacional é gerado através do Design Editor do Oracle Designer 6i. Pela análise do esquema relacional podemos verificar que a transformação do modelo entidade-associação num modelo relacional resulta na herança de atributos por parte algumas entidades. Este fenómeno resulta das relações que existem entre as entidades. A base de dados referente á companhia de seguros Paga & Cala é então composta pelas seguintes tabelas: - TIPOS1 (CATEGORIA, ANUIDADE, MONTMAX) - APOLICES1 (MATRICULA, TIP1_CATEGORIA, BI, CODIGOPOSTAL, DATAINICIO, DATANASC, MARCA, MODELO, NUMCONTRIB, SEXO, NUMACID, TELEFONE) - REGISTOS1 (APO1_MATRICULA, DATA, BI, CODIGOPOSTAL, DATANASC, MONTANTECOMP, MORADA, NOME, NUMCONTRIB, SEXO, TELEFONE) - PAGAMENTOS1 (DATA, AP01_MATRICULA, VALOR, PERCENTAGEMDESC) Torna-se então bem evidente, através do modelo relacional criado, o facto dos atributos chave de uma entidade serem nalguns casos parcialmente herdados doutra entidade. No nosso caso: - a chave de APOLICES1 é (MATRICULA, TIP1_CATEGORIA) é parcialmente herdada de TIPOS1 - a chave de REGISTOS1 é (APO1_MATRICULA, DATA) é parcialmente herdada de APOLICES1 Joel Carvalho e Jorge Correia 7 / 21
8 - a chave de PAGAMENTOS1 (DATA, AP01_MATRICULA) é parcialmente herdada de APOLICES1 Com este modelo todas as entidades se encontram relacionadas, ou seja, através de alguns dos seus atributos podemos alcançar a informação contida noutras as tabelas. Joel Carvalho e Jorge Correia 8 / 21
9 IV RESTRIÇÕES DE INTEGRIDADE As restrições de integridade podem ser obtidas de várias formas, como por exemplo através de triggers ou através da implementação de chaves primárias ou chaves estrangeiras. Todas as restrições de integridade foram obtidas recorrendo a triggers. De seguida são apresentados os códigos fonte dos 5 triggers que foram implementados: trigger 10, trigger 12, trigger 13, trigger 14, trigger 15, trigger 19, trigger 23, trigger 25. EVITA A INSERÇÃO DE MONTANTES COMPENSADOS COM VALORES NEGATIVOS CREATE or replace TRIGGER trigger10 BEFORE INSERT or UPDATE ON registos1 for each row BEGIN IF (:new.montantecomp <= 0) THEN RAISE_APPLICATION_ERROR(-20210,'O VALOR DO MONTANTE COMPENSADO NÃO PODE TOMAR VALORES NEGATIVOS!!!'); END IF; END; EVITA A INSERÇÃO DE REGISTOS DE ACIDENTES COM DATA INFERIOR À DE HOJE create or replace trigger trigger12 BEFORE INSERT OR UPDATE on registos1 for each row begin if (:new.data < sysdate) then raise_application_error (-20210,'Inseriu uma data inválida'); end if; end; EVITA A INSERÇÃO DE APOLICES COM DATA INFERIOR À DE HOJE create or replace trigger trigger13 BEFORE INSERT OR UPDATE on apolices1 for each row begin if (:new.datainicio < sysdate) then raise_application_error (-20210,'Inseriu uma data inválida'); end if; end; EVITA A INSERÇÃO DE PAGAMENTOS COM DATA INFERIOR À DE HOJE create or replace trigger trigger14 BEFORE INSERT OR UPDATE on pagamentos1 for each row begin if (:new.data < sysdate) then raise_application_error (-20210,'Inseriu uma data inválida'); end if; end; Joel Carvalho e Jorge Correia 9 / 21
10 EVITAR A INTRODUÇÃO DE APOLICES COM MATRICULAS IGUAIS CREATE or replace TRIGGER trigger15 BEFORE INSERT or UPDATE ON apolices1 FOR EACH ROW DECLARE times number(3); BEGIN times:= 0; SELECT COUNT(*) INTO times FROM apolices1 WHERE matricula = :new.matricula; IF (times!= 0) THEN RAISE_APPLICATION_ERROR(-20210,'Matricula já tem apólice!'); END IF; END; NAO PODE HAVER MAIS QUE UM PAGAMENTO POR ANO CREATE or replace TRIGGER trigger21 before INSERT or UPDATE ON pagamentos1 FOR EACH ROW DECLARE contagem number(1); BEGIN select count(data) into contagem from pagamentos1 where to_char(pagamentos1.data,'yy')=to_char(:new.data,'yy') and apo1_matricula=:new.apo1_matricula; if(contagem=1) then raise_application_error(-20210,'já pagou este ano'); end if; END; ACTUALIZA OS VALORES SEGURADOS E A PAGAR AQUANDO DE NOVA APOLICE CREATE or replace TRIGGER trigger19 AFTER INSERT or UPDATE ON apolices1 FOR EACH ROW BEGIN if :new.tip1_categoria='a' then update tipos1 set anuidade=35 where categoria='a'; update tipos1 set montmax= where categoria='a'; end if; if :new.tip1_categoria='b' if :new.tip1_categoria='c' if :new.tip1_categoria='d' END; then update tipos1 set anuidade=20 where categoria='b'; update tipos1 set montmax=50000 where categoria='b'; end if; then update tipos1 set anuidade=10 where categoria='c'; update tipos1 set montmax=20000 where categoria='c'; end if; then update tipos1 set anuidade=7 where categoria='d'; update tipos1 set montmax=10000 where categoria='d'; end if; CALCULA O VALOR DE ANUIDADE A PAGAR DE ACORDO COM OS ACIDENTES EXISTENTES OU NÃO CREATE or replace TRIGGER trigger25 BEFORE INSERT or UPDATE ON pagamentos1 FOR EACH ROW DECLARE times number(3); times2 number(3); xpto number(15); xpto2 number(15); BEGIN times:= 0; Joel Carvalho e Jorge Correia 10 / 21
11 times2:=0; SELECT COUNT(*) INTO times FROM registos1 WHERE to_number(to_char(data,'yy'))=to_number(to_char(:new.data))-1 and :new.apo1_matricula=apo1_matricula; SELECT COUNT(*) INTO times2 FROM registos1 WHERE to_number(to_char(data,'yy'))=to_number(to_char(:new.data))-2 and :new.apo1_matricula=apo1_matricula; select tip1_categoria into xpto2 from apolices1 where matricula=:new.apo1_matricula; select anuidade into xpto from tipos1 where categoria=xpto2; if (times=0) then elsif (times=1) then elsif (times=2) then elsif (times=3) then elsif (times>3) then end if; end if; update pagamentos1 set valor=xpto; update pagamentos1 set valor=xpto+15000; update pagamentos1 set valor=xpto+35000; update pagamentos1 set valor=xpto+65000; raise_application_error(-20210,'comece a deixar o carro em casa...'); update pagamentos1 set valor=xpto ; if (times2=0) then update pagamentos1 set valor=xpto-2000; END; Joel Carvalho e Jorge Correia 11 / 21
12 V SCRIPTS DE INICIALIZAÇÃO DAS INSTANCIAS Instancia TIPOS1 insert into tipos1 values ('A', ' ', '35000'); insert into tipos1 values ('B', ' ', '20000'); insert into tipos1 values ('C', ' ', '10000'); insert into tipos1 values ('D', ' ', '7000'); Instancia APOLICES1* ATAINICIO,SEXO,NOME,TELEFONE) values ('15-25-AB','C','4465',' ',' ','127','rua das couves 11','fiat',' ',' ','Masculino','Chico Santola',' '); ATAINICIO,SEXO,NOME,TELEFONE) values ('25-25-AD','A','4465',' ',' ','wdm','rua dos nabos 12','porsche',' ',' ','Feminino','Xuana Molinha',' '); ATAINICIO,SEXO,NOME,TELEFONE) values ('35-25-AG','D','4465',' ',' ','xl','rua das pencas 13','fiat',' ',' ','Masculino','Bigodalho Sapudo',' '); ATAINICIO,SEXO,NOME,TELEFONE) values ('45-25-AV','A','4466',' ',' ','xs','rua das cenouras 14','ferrari',' ',' ','Feminino','Carlota das Neves',' '); ATAINICIO,SEXO,NOME,TELEFONE) values ('55-25-AK','A','5466',' ',' ','hh','rua dos tomates 15','bmw',' ',' ','Masculino','Rain Men',' '); ATAINICIO,SEXO,NOME,TELEFONE) values ('65-25-AL','D','6479',' ',' ','pico','praceta do manjericao 16','ford',' ',' ','Feminino','Urina Pacova',' '); ATAINICIO,SEXO,NOME,TELEFONE) values ('75-25-AE','B','7489',' ',' ','mk','praceta dos espinafres 17','citroen',' ',' ','Masculino','Jota Carvalho',' '); ATAINICIO,SEXO,NOME,TELEFONE) values ('85-26-AQ','D','8455',' ',' ','xpto','avenida dos agrioes 18','ford',' ',' ','Masculino','Faria Asakebrada',' '); ATAINICIO,SEXO,NOME,TELEFONE) values ('95-17-AP','A','9433',' ',' ','toto','travessa das ervilhas 19','vw',' ',' ','Masculino','Postas de Pescada',' '); ATAINICIO,SEXO,NOME,TELEFONE) values ('15-28-AU','A','4132',' ',' ','mac','rua da beterraba 20','vw',' ',' ','Feminino','Susanita Santos',' '); ATAINICIO,SEXO,NOME,TELEFONE) values ('15-29-GG','D','4212',' ',' ','ttl','rua das vagens 21','fiat',' ',' ','Feminino','Little Debbie',' '); ATAINICIO,SEXO,NOME,TELEFONE) values ('15-35-JK','D','4211',' ',' ','tt','rua das vagens 22','vw',' ',' ','Feminino','Marina Xau',' '); ATAINICIO,SEXO,NOME,TELEFONE) values ('15-45-AH','D','4245',' ',' ','sos','rua das vagens 23','opel',' ',' ','Masculino','Joalho Pi',' '); ATAINICIO,SEXO,NOME,TELEFONE) values ('15-75-AK','A','4245',' ',' ','civic','rua das vagens 24','honda',' ',' ','Feminino','Martina Silves',' '); ATAINICIO,SEXO,NOME,TELEFONE) values ('15-85-AL','D','4245',' ',' ','hh','rua das couves 21','bmw',' ',' ','Masculino','Tó Carro',' '); Joel Carvalho e Jorge Correia 12 / 21
13 ATAINICIO,SEXO,NOME,TELEFONE) values ('15-95-AZ','C','4246',' ',' ','vi','rua das pencas 21','seat',' ',' ','Feminino','Lia Ontem',' '); ATAINICIO,SEXO,NOME,TELEFONE) values ('15-15-AX','D','4744',' ',' ','clio','rua das tomates 21','renault',' ',' ','Masculino','Lio travasso',' '); ATAINICIO,SEXO,NOME,TELEFONE) values ('15-25-AC','C','4744',' ',' ','vi','rua das nabos 21','seat',' ',' ','Feminino','Andrea Kappa',' '); ATAINICIO,SEXO,NOME,TELEFONE) values ('15-35-AV','D','4944',' ',' ','sos','rua das jarras 21','opel',' ',' ','Masculino','Marito Jó',' '); ATAINICIO,SEXO,NOME,TELEFONE) values ('18-38-BV','D','4944',' ',' ','sos','rua das jarras 22','opel',' ',' ','Masculino','Marisa Chata',' '); Instancia REGISTOS1 insert into registos1 values ('15-25-AB',' ','1444',' ','100000','Masculino',' ',' ','rua das couves 11','Chico Santola',' '); insert into registos1 values ('15-25-AB',' ','1474',' ','400000','Feminino',' ',' ','rua do xilindro','gina da Bouça',' '); insert into registos1 values ('15-25-AB',' ','1445',' ','250000','Masculino',' ',' ','rua das couves 11','Chico Santola',' '); insert into registos1 values ('15-95-AZ',' ','4246',' ','250000','Feminino',' ',' ','rua das pencas 21','Lia Ontem',' '); insert into registos1 values ('15-15-AX',' ','4744',' ','400000','Masculino',' ',' ','rua das tomates 21','Lio travasso',' '); insert into registos1 values ('15-25-AC',' ','4744',' ','500000','Feminino',' ',' ','rua das nabos 21','Andrea Kappa',' '); insert into registos1 values ('15-35-AV',' ','4944',' ','100000','Masculino',' ',' ','rua das jarras 21','Marito Jó',' '); Instancia PAGAMENTOS1* insert into pagamentos1 (DATA,APO1_MATRICULA,VALOR) values (' ','15-25-AB','4465'); insert into pagamentos1 (DATA,APO1_MATRICULA,VALOR) values (' ','25-25-AD','4465'); insert into pagamentos1 (DATA,APO1_MATRICULA,VALOR) values (' ','15-25-AC','4744'); insert into pagamentos1 (DATA,APO1_MATRICULA,VALOR) values (' ','15-35-AV','4944'); insert into pagamentos1 (DATA,APO1_MATRICULA,VALOR) values (' ','18-38-BV','4944'); insert into pagamentos1 (DATA,APO1_MATRICULA,VALOR) values (' ','15-15-AX','4744'); insert into pagamentos1 (DATA,APO1_MATRICULA,VALOR) values (' ','15-95-AZ','4246'); Nota: Tanto a entidade APOLICES1 como PAGAMENTOS1 necessitam aquando da geração de dados que se mencionem os nomes dos seus campos uma vez que alguns destes são optativos. Joel Carvalho e Jorge Correia 13 / 21
14 VI OS FORMS CRIADOS Joel Carvalho e Jorge Correia 14 / 21
15 VII OS WEBFORMS CRIADOS Joel Carvalho e Jorge Correia 15 / 21
16 VIII OS REPORTS CRIADOS Joel Carvalho e Jorge Correia 16 / 21
17 IX ELABORAÇÃO DAS PERGUNTAS A BASE DE DADOS 1. Indique os nomes dos condutores que não têm acidentes há 2 anos ou mais. Álgebra relacional: [ ( REGISTOS1) >< APOLICES1] NOME SYSDATE > ( YY ) DATA( YY ) 2, AP01_ MATRICULA Linguagem SQL: select nome from apolices1 where matricula in ( select apo1_matricula from registos1 where to_number(to_char(data,'yy')) not in ( to_number(to_char(sysdate,'yy')),to_number(to_char(sysdate,'yy'))-1,to_number(to_char(sysdate,'yy'))-2) ); Resposta da BD: NOME Chico Santola Andrea Kappa Marito Jó 2. Qual o nome e o valor do último pagamento de apólice efectuado, pelo possuidor da apólice do último veículo a ter um acidente? Álgebra relacional: VALOR [ σ MAX ( DATA ( PAGAMENTOS1) >< APOLICES1] NOME, ) Linguagem SQL: select nome,valor,data from apolices1,pagamentos1 where matricula=apo1_matricula and data in (select max(data) from pagamentos1); Resposta da BD: NOME VALOR DATA Marito Jó Qual foi o lucro (ou prejuízo, se negativo) da seguradora com os seguros efectuados no ano 2000? 4. Álgebra relacional: [ σ ( REGISTOS1) >< σ ( PAGAMENTOS1 ] (, ) ( ) = 00 ( ) = 01 ) SUM MONTANTECOMP VALOR DATA YY DATA YY Joel Carvalho e Jorge Correia 17 / 21
18 Linguagem SQL: select sum(-soma_comp+soma_pagamentos) Balanço2000 from ( select sum(montantecomp) soma_comp,sum(valor) soma_pagamentos from registos1 r,pagamentos1 p where to_number(to_char(r.data,'yy'))=00 and to_number(to_char(p.data,'yy'))=01 ); Resposta da BD: BALANÇO Qual a matrícula, marca e modelo do veículo que regista mais acidentes no último ano? Álgebra relacional: [ σ ( REGISTOS1) >< σ ( REGISTOS1 ] MATRICULA, MARCA, MODELO MAX ( COUNT ( AP01_ MATRICULA)) DATA( YY ) = SYSDATE ( YY ) 1 ) Linguagem SQL: select matricula,marca,modelo from apolices1 where matricula=( select apo1_matricula from (select apo1_matricula,count(*) n from registos1 where to_number(to_char(data,'yy'))=(select (to_number(to_char(sysdate,'yy')))-1 from dual) group by apo1_matricula) where n=(select max(n) from ( select apo1_matricula,count(*) n from registos1 group by apo1_matricula )) ); Resposta da BD: não foram seleccionadas linhas Nota: por lapso esquecemo-nos de inserir valores que nos permitissem obter resposta obvia a esta pergunta. No entanto parece-nos obvia a boa formulação da mesma, não tendo sido obtido qualquer resultado uma vez que na nossa base de dados não existem veículos que tenham sofrido ou estado envolvidos em mais do que um acidente durante o ultimo ano 5. Quais os veículos que tiveram um acidente no ano de 1999? Álgebra relacional: [ σ 1 ] MATRIOCULA ( YY ) = 99, COUNT ( DATA) = DATA 1( REGISTO ) Linguagem SQL: select apo1_matricula from (select apo1_matricula,data,count(*) n from registos1 group by apo1_matricula,data) where to_number(to_char(data,'yy'))=99 and n=1; Resposta da BD: APO1_MATRICULA AC Joel Carvalho e Jorge Correia 18 / 21
19 X NORMALIZAÇÃO Ao construirmos o modelo entidade-associação, tivemos o cuidado de não termos redundância. O esquema está na forma normalizada. Vamos seguir os passos necessários para o estudo da normalização. O método da normalização compreende 5 passos: 1- Determinar as dependências funcionais aplicáveis na relação. 2- Determinar as chaves a partir das dependências funcionais. 3- Reduzir o conjunto de dependências funcionais a uma forma minimal. 4- Verificar se a relação está normalizada ou, se pelo contrário, tem dependências funcionais que causam redundância. 5- No caso de não estar normalizado, decompor a relação em duas ou mais relações normalizadas. De seguida seguiremos estes passos para as nossas tabelas: Tabela TIPOS1 TIPOS1 (CATEGORIA,ANUIDADE,MONTMAX) 1- CATEGORIA ANUIDADE MONTMAX 2- Chave CATEGORIA, como é evidente. 3- O conjunto de dependências funcionais já esta na forma minimal (ver ponto 1) 4- Verificação da forma normal de Boyce-Cood (BCNF), que diz que uma relação R está na BCNF quando não tem nenhuma DF não trivial X A, em que X não contém uma chave. Como podemos constatar a nossa relação esta na forma BCNF. CATEGORIA ANUIDADE MONTMAX 5- Visto que a relação esta na forma BCNF, não é necessário decompor-se em várias relações. Assim este ponto não se pode aplicar. Tabela PAGAMENTOS1 PAGAMENTOS1 (DATA, APO1_MATRICULA, PERCENTAGEMDESC, VALOR) 1- DATA APO1_MATRICULA, PERCENTAGEMDESC, VALOR 2- Chave DATA, como é evidente. 3- O conjunto de dependências funcionais já esta na forma minimal (ver ponto 1) 4- Verificação da forma normal de Boyce-Cood (BCNF), que diz que uma relação R está na BCNF quando não tem nenhuma DF não trivial X A, em que X não contém uma chave. Como podemos constatar a nossa relação esta na forma BCNF. Joel Carvalho e Jorge Correia 19 / 21
20 DATA APO1_MATRICULA, PERCENTAGEMDESC, VALOR: Obedece à BCNF 5- Visto que a relação esta na forma BCNF, não é necessário decompor-se em várias relações. Assim este ponto não se pode aplicar. Tabela REGISTOS1 REGISTOS1 (DATA, APO1_MATRICULA, BI, CODIGOPOSTAL, DATANASC, MONTANTECOMP, MORADA, NOME, NUMCONTRIB, SEXO,TELEFONE) 1- DATA MATRICULA BI CODIGOPOSTAL DATANASC MONTANTECOMP MORADA NOME NUMCONTRIB SEXO TELEFONE 2- Chave DATA MATRICULA, como é evidente. 3- O conjunto de dependências funcionais já esta na forma minimal. DATA MATRICULA BI CODIGOPOSTAL DATANASC MONTANTECOMP MORADA NOME NUMCONTRIB SEXO TELEFONE 4- Verificação da forma normal de Boyce-Cood (BCNF), que diz que uma relação R está na BCNF quando não tem nenhuma DF não trivial X A, em que X não contém uma chave. Como podemos constatar a nossa relação esta na forma BCNF. COD_CUR TIPO_CUR DESIGN_CUR: Obedece à BCNF 5- Visto que a relação esta na forma BCNF, não é necessário decompor-se em várias relações. Assim este ponto não se pode aplicar. Tabela APOLICES1 APOLICES1 (MATRICULA, TIP1_CATEGORIA, BI, CODIGOPOSTAL, DATAINICIO, DATANASC, MARCA, MODELO, MORADA, NOME, NUMCONTRIB, SEXO, NUMACID, TELEFONE) 1- MATRICULA TIP1_CATEGORIA BI CODIGOPOSTAL DATAINICIO DATANASC MARCA MODELO MORADA NOME NUMCONTRIB SEXO NUMACID TELEFONE 2- Chave MATRICULA, como é evidente. 3- O conjunto de dependências funcionais já esta na forma minimal. MATRICULA TIP1_CATEGORIA BI CODIGOPOSTAL DATAINICIO DATANASC MARCA MODELO MORADA NOME NUMCONTRIB SEXO NUMACID TELEFONE 4- Verificação da forma normal de Boyce-Cood (BCNF), que diz que uma relação R está na BCNF quando não tem nenhuma DF não trivial X A, em que X não contém uma chave. Como podemos constatar a nossa relação esta na forma BCNF. MATRICULA TIP1_CATEGORIA BI CODIGOPOSTAL DATAINICIO DATANASC MARCA MODELO MORADA NOME NUMCONTRIB SEXO NUMACID TELEFONE 5- Visto que a relação esta na forma BCNF, não é necessário decompor-se em várias relações. Assim este ponto não se pode aplicar. Joel Carvalho e Jorge Correia 20 / 21
21 XI CONCLUSÕES Todo o trabalho efectuado na elaboração da base de dados da seguradora Paga & Cala permitiu-nos adquirir alguma experiência na formulação e técnicas de projecto de uma base de dados. Devemos no entanto reconhecer que o nosso trabalho contem algumas limitações, sendo que uma verdadeira base de dados de uma também verdadeira companhia de seguros devesse ser manifestamente mais complexa. Um esquema entidade-associação anterior da nossa base de dados era o seguinte: TIPO # CATEGORIA * ANUIDADE * MONTMAX do a que pertence a APOLICE # MATRICULA * DATAINICIO onde fica o * MARCA * MODELO o NUMACID a que se refere o que se refere a da REGISTO # DATA que pertence a PAGAMENTO * DATA * MONTANTECOMP do que efectuou CONDUTOR # BI * DATANASC * PERCENTAGEMDESC o VALOR * MORADA * NOME * SEXO * TELEFONE efectuado pelo titular da SEGURADO # NUMCONTRIB a que se refere o * CODIGOPOSTAL No entanto, já numa fase avançada do nosso projecto não nos foi possível garantir, inexplicavelmente, a manutenção da relação ISA entre CONDUTOR e SEGURADO. Apartir daí(noite de terça-feira_11.12) refizemos a base de dados optando por um esquema mais simples mas adequado ao que era pretendido por este projecto. Os constantes erros do servidor blaster_db limitaram em muito o percurso normal deste projecto, a criação por vezes inexplicável de tabelas desconhecidas é um exemplo claro disso. No entanto a perseverança em busca de um resultado satisfatório, que fomos obrigados a demonstrar, permitiu-nos obter alguma prática de manuseamento do Oracle 6i. O nosso login A nossa password sinf24 jota Joel Carvalho - ee97041@fe.up.pt Jorge Correia - ee97078@fe.up.pt Dezembro 2001 FEUP Joel Carvalho e Jorge Correia 21 / 21
Tarefa Orientada 19 Triggers
Tarefa Orientada 19 Triggers Objectivos: Criar triggers AFTER Criar triggers INSTEAD OF Exemplos de utilização Os triggers são um tipo especial de procedimento que são invocados, ou activados, de forma
Leia maisTarefa Orientada 15 Manipulação de dados
Tarefa Orientada 15 Manipulação de dados Objectivos: Criação de tabelas teste Comando INSERT INTO Inserção de dados Comando INSERT Actualização de dados Comando UPDATE Eliminação de dados Comando DELETE
Leia maisIntrodução ao SQL. Aécio Costa
Aécio Costa A linguagem SQL é um padrão de linguagem de consulta comercial e possui as seguintes partes: Linguagem de definição de dados (DDL) Linguagem interativa de manipulação de dados (DML) Definição
Leia maisTRABALHO PRÁTICO. Sistema de Gestão de Bases de Dados. Doenças. Alunos: Filipe Alexandre da Silva Vila Real Nuno José Morais Felicio
FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Licenciatura em Engenharia Electrotécnica e de Computadores 5º Ano, 1º Semestre Sistemas de Informação - 2000/2001 TRABALHO PRÁTICO Sistema de Gestão de
Leia maisTarefa Orientada 16 Vistas
Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um
Leia maisDesenvolvimento de uma base de dados. Relação. Modelo lógico: SGBD relacional
Desenvolvimento de uma base de dados Realidade Bases de dados relacionais e SQL Conceitos básicos de bases de dados relacionais A 3ª forma normal Structured Query Language (SQL) Modelo conceptual (e.g.
Leia maisBD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04
BD Oracle SGBD Oracle Licenciatura em Engenharia Informática e Computação Bases de Dados 2003/04 BD Oracle Introdução aos SGBD Base de Dados Colecção de dados que descrevem alguma realidade Sistema de
Leia maisBanco de Dados Avançados Banco de Dados Ativo
Universidade Federal de Pernambuco Centro de Informática Banco de Dados Avançados Banco de Dados Ativo Equipe: Felipe Cavalcante Fernando Kakimoto Marcos Corrêa Sumário 1. Mini-Mundo... 3 1.1 Entidades...
Leia maisBANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando
Leia maisTriggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.
Triggers um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre. o evento pode ser INSERT, UPDATE, ou DELETE. o trigger pode ser accionado imediatamente
Leia maisTriggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL
Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Linguagem de Programação de Banco de Dados Triggers em PostgreSQL Todos os bancos de dados comerciais possuem uma linguagem procedural auxiliar para a
Leia maisProva de Fundamentos de Bancos de Dados 2 a Prova
Prova de Fundamentos de Bancos de Dados 2 a Prova Prof. Carlos A. Heuser Novembro de 2007 Prova com consulta duas horas de duração 1 Base de dados para as questões (Esta é a mesma base de dados que foi
Leia maisBD SQL Server. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04
BD SQL Server SGBD SQL Server Licenciatura em Engenharia Informática e Computação Bases de Dados 2003/04 BD SQL Server Criação da Ligação ao SGBD Entrar no Microsoft SQL Server / Enterprise Manager Criar
Leia maisBases de Dados I LEI/2
SQL hugomcp@di-ubi.pt, 2009 UNIVERSIDADE DA BEIRA INTERIOR Departamento de Informática Bases de Dados I LEI/2 1- Mediante o seguinte conjunto de relações: A R S T B C C D D E d 1 d 1 e 1 a 2 d 2 d 2 e
Leia maisTriggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve
Triggers e Regras Fernando Lobo Base de Dados, Universidade do Algarve 1 / 14 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.
Leia maisRock In Rio - Lisboa
Curso de Engenharia Informática Industrial Rock In Rio - Lisboa Elaborado por: Ano Lectivo: 2004/05 Tiago Costa N.º 4917 Turma: C Gustavo Graça Patrício N.º 4757 Turma: C Docente: Professora Maria Estalagem
Leia maisTrabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores
Trabalhos Práticos Programação II Curso: Engª Electrotécnica - Electrónica e Computadores 1. Objectivos 2. Calendarização 3. Normas 3.1 Relatório 3.2 Avaliação 4. Propostas Na disciplina de Programação
Leia maisEXAME DE 1ª ÉPOCA Semestre de Verão 2004/2005 20 Junho 2005 duração: 2h30m
ISEL DEETC SSIC EXAME DE 1ª ÉPOCA Semestre de Verão 2004/2005 20 Junho 2005 duração: 2h30m Introdução aos Sistemas de Informação Engenharia Informática e Computadores Ano Lectivo: 2004 / 2005 2º Sem. Docente:
Leia maisIntegridade dos Dados
1 Integridade dos Dados Integridade dos Dados Melissa Lemos melissa@inf.puc-rio.br A integridade dos dados é feita através de restrições, que são condições obrigatórias impostas pelo modelo. Restrições
Leia mais1. Assinale as afirmações que são verdadeiras e as que são falsas, corrigindo-as:
Curso Profissional Técnico de Informática de Gestão 10ºB Prof. Pedro Lopes S i s t e m a s d e I n f o r m a ç ã o M ó d u l o : L i n g u a g e m S Q L T e s t e s u m a t i v o d u r a ç ã o 8 0 m i
Leia maisTipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de
Capítulo 8: BDs Objecto-Relacional Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de Objectos e Referência
Leia maisProjeto de Banco de Dados
Projeto de Banco de Dados Prof. Marcelo Siedler Objetivos do documento: Apresentar os conceitos de stored procedutes e funções. Exercícios. Referência: http://dev.mysql.com/doc/refman/4.1/pt/stored-procedures.html
Leia mais2008.1. A linguagem SQL
SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão
Leia maisProva de Fundamentos de Bancos de Dados 2 a Prova
Prova de Fundamentos de Bancos de Dados 2 a Prova Prof. Carlos A. Heuser Novembro de 2006 Prova com consulta duas horas de duração 1 Base de dados para as questões (Esta é a mesma base de dados que foi
Leia maisFAPLAN - Faculdade Anhanguera Passo Fundo Gestão da Tecnologia da Informação Banco de Dados II Prof. Eder Pazinatto Stored Procedures Procedimento armazenados dentro do banco de dados Um Stored Procedure
Leia maisProgramação SQL. Manipulação de Dados. DML Data Manipulation Language
Programação SQL Manipulação de Dados DML Data Manipulation Language Manipulação de Dados (DML) Os comandos INSERT, UPDATE, DELETE, são normalmente classificados como pertencendo a uma sublinguagem da linguagem
Leia maisProgramação SQL. Introdução
Introdução Principais estruturas duma Base de Dados: Uma BD relacional é constituída por diversas estruturas (ou objectos ) de informação. Podemos destacar: Database: designa a própria BD; Table/Tabela:
Leia maisEsquema da Relação. Modelo Relacional. Instância da Relação. Exemplo. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos
Modelo Relacional Uma base de dados é uma colecção de uma ou mais relações com nomes distintos Uma relação é uma tabela com linhas e colunas Esquema da Relação Descreve as colunas da tabela Especifica
Leia maisOs dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas.
MySQL 101 Recapitulando Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas. As bases de dados são úteis quando necessitamos
Leia maisBase de Dados para Administrações de Condomínios
Base de Dados para Administrações de Condomínios José Pedro Gaiolas de Sousa Pinto: ei03069@fe.up.pt Marco António Sousa Nunes Fernandes Silva: ei03121@fe.up.pt Pedro Miguel Rosário Alves: alves.pedro@fe.up.pt
Leia mais4.6. SQL - Structured Query Language
4.6. SQL - Structured Query Language SQL é um conjunto de declarações que é utilizado para acessar os dados utilizando gerenciadores de banco de dados. Nem todos os gerenciadores utilizam SQL. SQL não
Leia maisBanco de Dados Lista de Exercícios 01
Banco de Dados Lista de Exercícios 01 Prof. Anderson Rocha & Prof. André Santanché Campinas, 24 de Setembro de 2012 Nome: RA: 1 Observações Este lista contem 20 exercícios e contempla os seguintes assuntos
Leia maisBancos de Dados I. Integridade semântica
Bancos de Dados I PUC-Rio Departamento de Informática (DI) Eng./Ciência da Computação e Sist. Informação Contrôle de Integridade em SGBDs: procedimentos armazenados, gatilhos e funções Prof. sergio@inf.puc-rio.br
Leia maisComputadores e Sistemas de Informação. Bases de Dados Relacionais (linguagem SQL)
Computadores e Sistemas de Informação Bases de Dados Relacionais (linguagem SQL) 2004/2005 Utilidade das Bases de Dados Recolha e processamento de dados que possuem um volume significativo, que são interrelacionados,
Leia maisSQL (Structured Query Language)
(Structured Query Language) I DDL (Definição de Esquemas Relacionais)... 2 I.2 Domínios... 2 I.3 Criação de Tabelas... 2 I.4 Triggers... 4 II DML Linguagem para manipulação de dados... 5 II.2 Comando SELECT...
Leia maisUNIVERSIDADE FEDERAL FLUMINENSE PÓLO UNIVERSITÁRIO DE RIO DAS OSTRAS FACULDADE FEDERAL DE RIO DAS OSTRAS CURSO DE CIÊNCIA DA COMPUTAÇÃO
UNIVERSIDADE FEDERAL FLUMINENSE PÓLO UNIVERSITÁRIO DE RIO DAS OSTRAS FACULDADE FEDERAL DE RIO DAS OSTRAS CURSO DE CIÊNCIA DA COMPUTAÇÃO 2ª. Avaliação de Banco de Dados 1º. Sem de 2008 Prof.: Carlos Bazilio
Leia maisTarefa Orientada 13 Agrupamento e sumário de dados
Tarefa Orientada 13 Agrupamento e sumário de dados Objectivos: Funções de agregação Agrupamento e sumário de dados Funções de agregação Nesta tarefa orientada iremos formular consultas que sumariam os
Leia maisDisciplina: Unidade III: Prof.: E-mail: Período:
Encontro 08 Disciplina: Sistemas de Banco de Dados Unidade III: Modelagem Lógico de Dados Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM Relembrando... Necessidade de Dados Projeto
Leia maisBases de Dados. DML Data Manipulation Language Parte 1
Bases de Dados DML Data Manipulation Language Parte 1 DML Data Manipulation Language Diz respeito à manipulação dos dados. É utilizada para: Inserir dados numa tabela(tuplos) Remover dados de uma tabela(tuplos)
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisModelo de Entidade e Relacionamento (MER) - Parte 07
Modelo de Entidade e Relacionamento (MER) - Parte 07 7.1 Definição Consiste em mapear o mundo real do sistema em um modelo gráfico que irá representar o modelo e o relacionamento existente entre os dados.
Leia maisMC536 Bancos de Dados: Teoria e Prática
Universidade Estadual de Campinas - UNICAMP Instituto de Computação - IC MC536 Bancos de Dados: Teoria e Prática Aula #3 : MER e MER Estendido Profs. Anderson Rocha e André Santanchè Campinas, 1 de Agosto
Leia maisSistemas de Informação
Sistemas de Informação Rules and Triggers André Restivo Sistemas de Informação 2006/07 Rules e Triggers Nem todas as restrições podem ser definidas usando os mecanismos que estudamos anteriormente: - CHECK
Leia maisUma expressão básica em SQL consiste em três cláusulas: select, from e where.
Introdução a Banco de Dados O.K. Takai; I.C.Italiano; J.E. Ferreira. 67 8 A Linguagem SQL A linguagem SQL é um padrão de linguagem de consulta comercial que usa uma combinação de construtores em Álgebra
Leia maisModelagem de Banco de Dados através do ERwin
Modelagem de Banco de Dados através do ERwin Introdução O Erwin é uma ferramenta CASE para a modelagem de banco de dados através do modelo ER (Entidade-Relacionamento). Possibilita uma maior concentração
Leia maisUML (Unified Modelling Language) Diagrama de Classes
UML (Unified Modelling Language) Diagrama de Classes I Classes... 2 II Relações... 3 II. Associações... 3 II.2 Generalização... 9 III Exemplos de Modelos... III. Tabelas de IRS... III.2 Exames...3 III.3
Leia maisSQL Gatilhos (Triggers)
SQL Gatilhos (Triggers) Laboratório de Bases de Dados Gatilho (trigger) Bloco PL/SQL que é disparado de forma automática e implícita sempre que ocorrer um evento associado a uma tabela INSERT UPDATE DELETE
Leia maisProva de Fundamentos de Bancos de Dados 2 a Prova
Prova de Fundamentos de Bancos de Dados 2 a Prova Prof. Carlos A. Heuser Maio de 2006 Prova com consulta duas horas de duração 1 Base de dados para as questões (Esta é a mesma base de dados que foi usada
Leia maisProfa. Daniela Barreiro Claro
Profa. Daniela Barreiro Claro Modelar é criar representações do mundo real A modelagem relacional pode ser representada via MER (Modelo de Entidade Relacionamento) O MER define estruturas e restrições
Leia maisUNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA RESUMO DE AULA CRIAÇÃO E MANIPULAÇÃO DO BANCO DE DADOS
Leia maisMICROSOFT ACCESS MICROSOFT ACCESS. Professor Rafael Vieira Professor Rafael Vieira
MICROSOFT ACCESS MICROSOFT ACCESS Professor Rafael Vieira Professor Rafael Vieira - Access - Programa de base de dados relacional funciona em Windows Elementos de uma Base de Dados: Tabelas Consultas Formulários
Leia maisDefinida pelo American National Standard Institute (ANSI) em 1986
2.3. Linguagens Relacionais SQL Structured Query Language Linguagem para o modelo relacional: Definida pelo American National Standard Institute (ANSI) em 1986 Adoptada em 1987 como um standard internacional
Leia maisTarefa Orientada 11 Junção Interna
Tarefa Orientada 11 Junção Interna Objectivos: Junção Interna (INNER JOIN) Junção Interna A operação de junção interna (INNER JOIN) é utilizada para combinar colunas de duas ou mais tabelas. O resultado
Leia maisPL/SQL. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados PL/SQL
PL/SQL Laboratório de Bases de Dados PL/SQL Program Language SQL linguagem de programação da Oracle que permite processar dados armazenados no banco de dados Exemplos de operações permitidas alterar, remover,
Leia maisIntrodução à Banco de Dados. Nathalia Sautchuk Patrício
Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem
Leia maisBases de Dados 2007/2008 Exame
Exame 11 de Janeiro de 2008 Instituto Superior Técnico Departamento de Engenharia Informática Regras O exame tem a duração de 2h30m. A folha de capa deve ser identificada com o nome e número do aluno.
Leia maisMicrosoft Access 2010. Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento
Microsoft Access 2010 Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento 1 Principais objetos do Access Tabelas Guardam a informação da BD (Base de Dados)
Leia maisGereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática
Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática Desenvolvimento de Sistemas de Software Ano Lectivo de 2009/10 GereComSaber Ana Duarte, André Guedes, Eduardo
Leia maisDatabases. Dependências Funcionais
Databases Dependências Funcionais P. Serendero, 2011-13 Referências e exemplos tirados de diversas fontes, excetuando aqueles relacionados com embarcações Dependências Funcionais (DF) Uma Base de Dados,
Leia maisConsistem num conjunto de apontadores para instâncias especificas de cada relação.
Mecanismo usado para mais fácil e rapidamente aceder à informação existente numa base de dados. Bases de Dados de elevadas dimensões. Consistem num conjunto de apontadores para instâncias especificas de
Leia maisIntrodução às Bases de Dados
Introdução às Bases de Dados Chave primária Domínios Relação F# F Nome Estado Cidade F1 José 20 Braga F2 João 10 Faro F3 Luís 30 Lisboa F4 Rui 30 Setúbal Atributos Tuplas Introdução às Bases de Dados Modelo
Leia maisSQL: Definição de tabelas, Modificações à Base de Dados
SQL: Definição de tabelas, Modificações à Base de Dados Fernando Lobo Base de Dados, Universidade do Algarve 1 / 24 Definição do esquema da base de dados O esquema da BD é composto pelas definições de
Leia maisTECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO CONCEITOS BÁSICOS 1 Necessidade das base de dados Permite guardar dados dos mais variados tipos; Permite
Leia mais1. Domínio dos Atributos
Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Domínio dos Atributos Por domínio, ou tipo, pode-se entender como a maneira como determinado atributo (ou campo, se tratando
Leia maisO Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado para projeto de aplicações de banco de dados.
Fases do Projeto de um Banco de Dados Modelo ER O Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado para projeto de aplicações de banco de dados. É um modelo baseado na percepção
Leia maisPROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger
PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger A tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco
Leia maisExercícios de Lógica Exercícios de Fixação 08
Exercícios Exercícios de Lógica Exercícios de Fixação 08 1. A linguagem SQL apresenta uma série de comandos que permitem a definição dos dados, chamada de DDL (Data Definition Language). Assinale a alternativa
Leia maisBANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br
BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br BANCO DE DADOS Unidade 1 - Introdução Dados; Banco de Dados; Base de Dados; Projeto de Banco de Dados.
Leia maisBases de Dados 2007/2008 Exame
Exame 11 de Janeiro de 2007 Instituto Superior Técnico Departamento de Engenharia Informática Regras O exame tem a duração de 2h30m. A folha de capa deve ser identificada com o nome e número do aluno.
Leia maisBásico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)
Básico da Linguagem SQL Definição de Esquemas em SQL SQL(Structured Query Language) Desenvolvida como a linguagem de consulta do protótipo de SGBD Sistema R (IBM, 1976). Adotada como linguagem padrão de
Leia maisDESENVOLVIMENTO DE SOFTWARE
VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.
Leia maisTécnicas e Linguagens para Banco de Dados I
Técnicas e Linguagens para Banco de Dados I Prof. Eduardo Ribeiro www.eduardo.trisolution.com.br eduardo@ trisolution.com.br Introdução Banco de Dados Dados x Informações Dados = É um elemento que mantém
Leia maisENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL
ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL PROF. MS C. RICARDO ANTONELLO WWW.ANTONELLO.COM.B R PORQUE SER RELACIONAL? Hoje, há um claro predomínio dos SGBD relacionais, principalmente
Leia maisBases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia
Bases de Dados 2012/2013 Restrições de Integridade em SQL Helena Galhardas Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 1 Sumário Restrições de Integridade (RIs) em SQL Chave
Leia maisTarefa Orientada 14 Subconsultas
Tarefa Orientada 14 Subconsultas Objectivos: Subconsultas não correlacionadas Operadores ALL, SOME e ANY Subconsultas correlacionadas Operador EXISTS Subconsultas incluídas na cláusula FROM de uma consulta
Leia maisÁlgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:
Álgebra Relacional Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída operação (REL 1 ) REL 2 operação (REL 1,REL 2 ) REL 3 Operações básicas: seleção projeção
Leia maisInstituto Politécnico de Beja Escola Superior de Tecnologia e Gestão. GesStock. Engenharia Informática. Base de Dados II
Instituto Politécnico de Beja Escola Superior de Tecnologia e Gestão GesStock Aplicação para Gestão de Stocks Engenharia Informática Base de Dados II Docente: Artur Lança Isabel Sofia Brito Nuno Gonçalo
Leia maisBanco de Dados Modelo Conceitual, Lógico, Físico, Entidade- Relacionamento (ER) Hélder Nunes
Banco de Dados Modelo Conceitual, Lógico, Físico, Entidade- Relacionamento (ER) Hélder Nunes Modelos de banco de dados Modelo de banco de dados é uma descrição dos tipos de informações que estão armazenadas
Leia maisRelatório. Projecto de Base de Dados Parte 2. Turno: quinta-feira, 11:30 Grupo 25: André Gonçalves 64027 Rui Barradas 68239 Hélton Miranda 68477
Relatório Projecto de Base de Dados Parte 2 Turno: quinta-feira, 11:30 Grupo 25: André Gonçalves 64027 Rui Barradas 68239 Hélton Miranda 68477 1. Criação da base de dados De seguida vem escrito um script
Leia maisCiclo de vida de um banco de dados relacional
Ciclo de vida de um banco de dados relacional 1. Formulação e análise de requisitos: a) Relacionamentos naturais entre os dados (independentes de processo). b) Requisitos de uso (dependentes de processo).
Leia maisBases de Dados. O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo ilustrada na figura 1.
Departamento de Engenharia Informática 2008/2009 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo
Leia maisSQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE
Leia maisRoteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos
Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Objetivos: Criar restrições para atributos, chaves primárias e estrangeiras; Explorar consultas SQL com uso de
Leia maisSQL. Definição do Esquema da Base de Dados. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática
SQL Definição do Esquema da Base de Dados Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática SQL - Esquema da base de dados Definição das tabelas Definição das chaves primárias Definição
Leia maisTabelas vista de estrutura
Tabelas vista de estrutura A vista de estrutura permite definir a configuração dos dados Vamos adicionar os restantes campos à tabela carros, de acordo com o modelo de dados feito no papel 47 Tabelas vista
Leia maisExercício de Normalização Escola Secundária de Emídio Navarro 2002/2003 Aplicações Informáticas 11º ano
Neste exercício propõe-se realizar a informatização de uma livraria. Assim, o primeiro passo a realizar será começarmos por definir as entidades que poderemos encontrar na livraria: Livros Fornecedores
Leia maisEXERÍCIOS DE MODELAGEM DE BANCO DE DADOS
EXERÍCIOS DE MODELAGEM DE BANCO DE DADOS Exercício 1 Construa o modelo Entidades-Relacionamentos a partir da seguinte descrição do sistema: Uma empresa de venda de automóveis retende implementar um sistema
Leia maisBases de Dados 2007/2008. Aula 9
Bases de Dados 2007/2008 Aula 9 1. T-SQL TRY CATCH 2. TRATAMENTO ERROS RAISERROR 3. TRIGGERS 4. EXERCÍCIOS Sumário Referências http://msdn2.microsoft.com/en-us/library/ms189826.aspx (linguagem t-sql) http://www.di.ubi.pt/~pprata/bd/bd0405-proc.sql
Leia maisDepois de obtido o diagrama E/A há que estabelecer o esquema relacional correspondente.
4. Modelo Entidade Associação 4.1. Introdução 4.2. Propriedades das associações 4.3. Decomposição de Associações vários : vários (M:N) 4.4. Associações Complexas 4.5. Situações Ambíguas 4.6 Esquema Relacional
Leia maisÍndice. Introdução 31. Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais 35
Introdução 31 1. Bases de Dados Relacionais 31 2. Modelação de Bases de Dados 31 3. Modelo de Classes UML 32 4. Linguagem SQL 32 5. Sobre o Microsoft" Access" 32 Tutorial 1: O Microsoft Access como Sistema
Leia maisSQL DML. Frederico D. Bortoloti freddb@ltc.ufes.br
Banco de Dados I SQL DML Frederico D. Bortoloti freddb@ltc.ufes.br SQL - DML Os exemplos da aula serão elaborados para o esquema de dados a seguir: Empregado(matricula, nome, endereco, salario, supervisor,
Leia maisFigura 1. Figura 2. Prova Escrita de Base de Dados 5 Novembro 2005 - V2 Número do Aluno: Nome do Aluno: 1º Teste (90 Minutos)
Prova Escrita de Base de Dados 5 Novembro 2005 - V2 Número do Aluno: Nome do Aluno: 1º Teste (90 Minutos) Identifique esta prova preenchendo o seu nome e número nesta página, e o número em todas as restantes.
Leia maisBases de Dados. Parte III: O Modelo Relacional
Bases de Dados MI / LCC / LEG / LERSI / LMAT Parte III O Modelo Relacional 1 O Modelo Relacional Foi introduzido em 1970 por Ted Codd da IBM Research. É baseado no conceito de relação, onde uma relação
Leia maisPrincipais Comandos SQL Usados no MySql
Principais Comandos SQL Usados no MySql O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares)
Leia maisOBJETIVOS. Orientações para Projetos de BD; Dependências Funcionais (DFs): Definição de DF; Regras de inferência para DFs.
BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br OBJETIVOS Orientações
Leia maisEAmb V.1 ESPOSENDE AMBIENTE. GestProcessos Online. Manual do Utilizador
EAmb V.1 ESPOSENDE AMBIENTE GestProcessos Online Manual do Utilizador GestProcessos Online GABINETE DE SISTEMAS DE INFORMAÇÃO E COMUNICAÇÃO EAmb Esposende Ambiente, EEM Rua da Ribeira 4740-245 - Esposende
Leia maisUtilização do SOLVER do EXCEL
Utilização do SOLVER do EXCEL 1 Utilização do SOLVER do EXCEL José Fernando Oliveira DEEC FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO MAIO 1998 Para ilustrar a utilização do Solver na resolução de
Leia maisIntrodução à Manipulação de Dados
Introdução à Manipulação de Dados Licenciatura em Economia Trabalho Prático 2004 2005 Manutenção de Aviões Depois de várias reclamações feitas no aeroporto por falta de organização, a administração decidiu
Leia mais