REVISÃO
PROVA
1
Prof. Sylvio Vieira sylvio@unifra.br
R
EQUISITOS
“ Engenharia de Requisitos é o uso sistemático de
princípios, técnicas, linguagens e ferramentas
comprovadas para a análise, documentação,
evolução continuada das necessidades do usuário
e especificação do comportamento externo de um
sistema para satisfazer as necessidades do
usuário, que sejam efetivas em termos de custos.”
(Pressman, 2002)
U N IF R A P ro f. S ylv io V ie ir aO
QUE SÃO
R
EQUISITOS
?
Podem ser vistos como sentenças que expressam
as necessidades dos clientes e que condicionam a
qualidade do software.
Classificados em Funcionais e Não-Funcionais;
Funcionais: definem as funcionalidades do
sistema – o que o usuário deseja que o sistema
realize.
O sistema deve permitir que cada professor realize o lançamento de notas das turmas nas quais lecionou. O sistema deve permitir que o aluno realize a sua matrícula nas disciplinas oferecidas em um semestre. Os coordenadores de escola devem poder obter o número de aprovações, reprovações e trancamentos em todas as turmas em um determinado período.
O
QUE SÃO
R
EQUISITOS
?
Não-Funcionais: declaram as características
de qualidade que o sistema deve possuir e
que
estão
relacionadas
às
suas
funcionalidades, como:
Confiabilidade, desempenho, portabilidade, segurança, usabilidade,L
EVANTAMENTO DE
R
EQUISITOS
?
O levantamento de requisitos é umas das partes
mais importantes do processo que resultará no
desenvolvimento de um sistema. Entender aquilo que o
cliente deseja ou o que o cliente acredita que precisa e
as regras do negócio ou processos do negócio.
Isso é o cerne que move essa importante função
que faz parte da engenharia de requisitos.
L
EVANTAMENTO DE
R
EQUISITOS
?
O especialista do domínio ou especialista do negócio: O especialista do negócio é aquele profissional que possui experiência no ramo ou nicho de mercado do negócio para qual o sistema atenderá em suas funcionalidades.
Como por exemplo: Um sistema de vendas pode contar com um especialista do negócio que seja gerente de vendas, e que já foi vendedor e possui 12 anos de experiência.
Entender os requisitos de um problema está entre as
tarefas mais difíceis enfrentadas por um Engenheiro de
Software.
“É seu pior pesadelo. Um cliente entra no seu escritório,
senta-se, olha você diretamente nos olhos e diz: ‘Eu sei que
você pensa que entende o que eu disse, mas o que você não
entende é que o que eu disse não é o que eu queria dizer’”
Pressman
Etapas da Engenharia de Requisitos:
Concepção
Levantamento de Requisitos
Elaboração
Negociação
Especificação
Validação
L
EVANTAMENTO DE
R
EQUISITOS
?
“As sementes dos principais desastres de software são
usualmente lançadas nos três primeiros meses de início do
projeto de software” (Capers Jones)
Etapas – Concepção
Define o escopo e a natureza do problema a ser resolvido;
Os engenheiros de software aplicam um questionário, com
intenção de estabelecer um entendimento básico do
problema:
L
EVANTAMENTO DE
R
EQUISITOS
?
Concepção – Formulação das primeiras questões
Exemplo de questões sobre o entendimento do problema e
que permitem ao cliente expressar sua percepção de uma
solução:
como você caracteriza “boas saídas”, que seriam geradas por
uma solução bem sucedida?
que problema(s) esta solução enfrenta?
em que ambiente de negócios esta solução será utilizada?
L
EVANTAMENTO DE
R
EQUISITOS
?
Etapas da Engenharia de Requisitos:
Concepção
Levantamento de Requisitos
Elaboração
Negociação
Especificação
Validação
L
EVANTAMENTO DE
R
EQUISITOS
?
Levantamento (elicitação) de Requisitos
Elicitar: Descobrir e expor todas as características relevantes.
Etapa em que ocorre intensa comunicação entre usuário e
analista na coleta de todos os requisitos necessários ao
sistema.
L
EVANTAMENTO DE
R
EQUISITOS
?
Problemas que tornam o levantamento de requisitos uma
tarefa extremamente complexa:
Problemas de Escopo
: o limite do sistema é mal definido ou
o cliente especifica detalhes técnicos desnecessários que
podem confundir, em vez de esclarecer, os objetivos globais
do sistema;
Problemas de Volatilidade
: os requisitos mudam ao longo do
tempo;
L
EVANTAMENTO DE
R
EQUISITOS
?
Dificuldade em entender o problema a ser resolvido:
os clientes não estão certos do que precisam,
têm dificuldade de informar as necessidades, omitem informações que acreditam ser ‘óbvias’, especificam requisitos conflitantes, entre outros;
L
EVANTAMENTO DE
R
EQUISITOS
?
Etapas da Engenharia de Requisitos:
Concepção
Levantamento de Requisitos
Elaboração
Negociação
Especificação
Validação
L
EVANTAMENTO DE
R
EQUISITOS
?
Elaboração
As informações obtidas do cliente durante a
concepção e o levantamento são expandidas e
refinadas durante esta etapa;
A elaboração é a parte da Análise de Requisitos, que
enfoca o desenvolvimento de modelos das funções,
características e restrições do sistema a ser
desenvolvido;
L
EVANTAMENTO DE
R
EQUISITOS
?
Etapas da Engenharia de Requisitos:
Concepção
Levantamento de Requisitos
Elaboração
Negociação
Especificação
Validação
L
EVANTAMENTO DE
R
EQUISITOS
?
Negociação
É comum que clientes solicitem mais do que pode ser
desenvolvido, assim como surjam requisitos conflitantes,
que precisam ser resolvidos;
A intenção da negociação é desenvolver um plano de
projeto que satisfaça as necessidades do cliente, ao
mesmo tempo em que reflete as restrições do mundo real
(por exemplo: prazo, pessoal, orçamento).
Negociação
Cliente, usuários e outros interessados são reunidos para
ordenar os requisitos coletados e discutir os conflitos de
prioridade;
Os riscos associados a cada requisito são identificados e
analisados e estimativas são feitas para avaliar o impacto
no custo do projeto, bem como no prazo de entrega.
Etapas da Engenharia de Requisitos:
Concepção
Levantamento de Requisitos
Elaboração
Negociação
Especificação
Validação
L
EVANTAMENTO DE
R
EQUISITOS
?
Especificação
A especificação é o produto de trabalho final produzido
pelo engenheiro de requisitos;
É o documento final, formal, de todos os requisitos
coletados e analisados.
L
EVANTAMENTO DE
R
EQUISITOS
?
Etapas da Engenharia de Requisitos:
Concepção
Levantamento de Requisitos
Elaboração
Negociação
Especificação
Validação
L
EVANTAMENTO DE
R
EQUISITOS
?
Validação
Os produtos de trabalho resultantes da engenharia de
requisitos são avaliados quanto à qualidade.
A validação de cada requisitos examina a especificação
para garantir:
que todos os requisitos tenham sido declarados de modo não ambíguo;
que as inconsistências, omissões e erros tenham sido detectados e corrigidos; e
que os produtos de trabalho (itens da configuração) estejam de acordo com as normas estabelecidas para o processo, o projeto e o produto.
L
EVANTAMENTO DE
R
EQUISITOS
?
Problemas que podem levar o desenvolvimento ao
fracasso:
Problema de Escopo: ocasionado pela má delimitação dos
objetivos do sistema onde, muitas vezes, o usuário passa a especificar detalhes considerados técnicos, em vez de esclarecer os objetivos globais do sistema;
Problemas de Entendimento: ocorre devido a pouca
compreensão do usuário em relação ao domínio do problema, o que acaba por gerar informações omitidas e até mesmo conflitantes com as de outros usuários; e
L
EVANTAMENTO DE
R
EQUISITOS
?
Problemas que podem levar o desenvolvimento ao
fracasso: (cont.)
Problemas de Volatilidade: os requisitos mudam
constantemente ao longo do tempo.
Resistência a Mudanças: o usuário pode sentir-se
ameaçado pela chegada de um sistema informatizado, impondo resistência na transmissão de informações sobre seu domínio de conhecimento;
Disponibilidade de Tempo: a tarefa de elicitação requer
um tempo considerável, muitas vezes até de grupos de usuários ao mesmo tempo (reuniões), o que para a realidade empresarial representa custos elevados e perda de produtividade;
L
EVANTAMENTO DE
R
EQUISITOS
?
Problemas que podem levar o desenvolvimento ao
fracasso: (cont.)
Deficiência Técnica por parte do Analista: muitas vezes, o analista não tem o treinamento e o conhecimento de técnicas adequadas para a realização da coleta das informações necessárias; e
Falhas de Comunicação entre Usuário e Analista:
este pode ser considerado o principal problema envolvendo a coleta de requisitos de um sistema. A dificuldade de entendimento do problema por parte do analista, bem como a dificuldade de expressão do usuário para se fazer entender são os causadores das maiores ambigüidades e carências de informações;
L
EVANTAMENTO DE
R
EQUISITOS
?
Problemas que podem levar o desenvolvimento ao
fracasso: (cont.)
Dificuldade de o Usuário tomar Decisões: Os usuários
podem ter muita dificuldade para decidir sobre algumas questões, pois podem não entender as conseqüências das decisões, ou as alternativas possíveis;
Problemas de Comportamento: o levantamento de
requisitos é um processo social, e as vezes gera ambigüidades e conflitos entre os participantes deste processo
Cada usuário pode assumir que é responsabilidade de algum
outro usuário contar ao desenvolvedor algum aspecto dos requisitos, e o resultado disso é que ninguém o conta;
L
EVANTAMENTO DE
R
EQUISITOS
?
As técnicas de Levantamento e Análise de Requisitos
visam superar as várias dificuldades inerentes ao
processo:
dificuldades de comunicação; dificuldades técnicas;
dificuldades de comportamento humano.
Níveis:
Alto Nível: técnicas amplas para o processo de extração de requisitos;
Baixo Nível: fornecem táticas específicas para a extração de detalhes sobre uma determinada parte do produto ou um usuário específico.
L
EVANTAMENTO DE
R
EQUISITOS
?
Procedimentos Genéricos para qualquer processo de
Levantamento de Requisitos:
Perguntar: identificar a pessoa apropriada, como o usuário do produto de software, e perguntar quais são os requisitos;
Observar e Inferir: observar o comportamento dos usuários de um produto existente (manual ou automático) e então inferir suas necessidades a partir do seu comportamento;
Discutir e Formular:discutir com os usuários suas necessidades e, juntamente com eles, formular um entendimento comum dos requisitos.
L
EVANTAMENTO DE
R
EQUISITOS
?
l Procedimentos Genéricos para qualquer processo de Levantamento de Requisitos:
¡Negociar a partir de um conjunto-padrão:começar com um
conjunto-padrão de requisitos ou características, negociar com os usuários quais dessas características serão incluídas, excluídas ou modificadas.
¡Estudar e identificar problemas: investigar os problemas
para identificar os requisitos que podem melhorar o produto;
¡Supor: quando não existe acesso ao usuário, ou para a
criação de um produto inexistente, é preciso usar a intuição para identificar características ou funções que o usuário possa desejar.
Técnicas
Observação Pessoal;
Questionário;
Entrevista;
Seminário (reunião);
Pesquisa;
Análise de Documentos.
Observação Pessoal
permite vivenciar uma situação abordada no
dia-a-dia;
O observador deve assumir um papel passivo, sem
interferir no trabalho do observado;
É possível identificar problemas, restrições
impostas pelo ambiente, recebimento da
informação;
L
EVANTAMENTO DE
R
EQUISITOS
?
Questionário
normalmente preparado em formulário para
levantamento das informações desejadas;
Pode, simplesmente, ser distribuído para
posteriormente ser recolhido e tabulado;
Pode ser utilizado como um roteiro estruturado de
entrevista
, pois é preenchido anteriormente e
depois complementado através de entrevistas;
L
EVANTAMENTO DE
R
EQUISITOS
?
Questionário
Vantagens:
maior agilidade no processo;
menos dispendioso;
aplicação mais fácil;
aplicado a maior número de pessoas;
maior uniformidade na mensuração;
aspecto de anonimato em determinados casos;
menor pressão sobre a resposta imediata.
L
EVANTAMENTO DE
R
EQUISITOS
?
Questionário
Desenvolvido de forma que apresente a todos os
entrevistados exatamente as mesmas questões com
o uso das mesmas palavras, em uma mesma ordem;
As respostas são “trabalhadas” em entrevistas
posteriormente.
L
EVANTAMENTO DE
R
EQUISITOS
?
Questionário
Desvantagens:
as informações podem ser manipuladas antes do
seu fornecimento, respondendo-se o que seria
desejável e não a realidade;
limitação do universo de respostas;
pouco envolvimento com os usuários.
L
EVANTAMENTO DE
R
EQUISITOS
?
Entrevista
Meio mais comum de coletar informações, pois todas
as demais são consideradas;
Requer o desenvolvimento de algumas habilidades
sociais gerais, habilidade de ouvir e o conhecimento
de uma variedade de táticas de entrevista.
L
EVANTAMENTO DE
R
EQUISITOS
?
Entrevista – Vantagens
Obter informações mais precisas ou detalhadas;
Poder alterar o curso da entrevista de forma a obter
informações sobre aspectos importantes que não
tinham sido previstos no planejamento da
entrevista;
Poder alterar a ordem seqüencial das perguntas;
Poder eliminar perguntas anteriormente
planejadas;
L
EVANTAMENTO DE
R
EQUISITOS
?
Entrevista – Vantagens
Poder incluir perguntas que não estavam na
programação da entrevista;
Poder motivar o entrevistado no decorrer das
perguntas;
Poder esclarecer dúvidas quanto ao conteúdo das
perguntas;
Poder avaliar as reações do entrevistado mediante
as perguntas realizadas.
L
EVANTAMENTO DE
R
EQUISITOS
?
Entrevista – Desvantagens
Podem ocorrer desvios de curso, no decorrer da
entrevista;
Falta de oportunidade ao entrevistado, de analisar
previamente os quesitos ou o assunto que será tratado
durante a entrevista;
Consumir mais tempo e recursos com sua realização;
Tratamento diferenciado para os entrevistados;
Esquecer de perguntar questões importantes.
L
EVANTAMENTO DE
R
EQUISITOS
?
Seminário (Reunião)
Realização de uma reunião planejada com pessoas
chave, com o objetivo de obter informações gerais
sobre a empresa;
Também chamado de dinâmica de grupo;
Aspectos importantes:
postura do condutor do seminário;
convocação: dia, hora, local;
horários: início e término;
assunto a ser discutido;
documentação do seminário (atas).
L
EVANTAMENTO DE
R
EQUISITOS
?
Seminário
Vantagens:
identificação de problemas de
inter-relacionamentos;
visão integrada dos problemas;
possibilidade de dispor de múltiplas visões sobre
um mesmo assunto.
Desvantagem:
mobilizar um grupo de pessoas ao mesmo tempo,
podendo interferir na rotina de trabalho da
empresa.
Leitura e Análise de Documentos
Técnica utilizada para que se tenha acesso ao
conhecimento escrito da organização;
Vantagens
a facilidade de acesso às fontes de informação
(documentos); e
o volume de informações que podem ser
extraídas dessas fontes.
Leitura e Análise de Documentos
Desvantagens
a dispersão das informações e o volume de
trabalho exigido para a identificação dos fatos;
o ambiente nem sempre possui uma
documentação que represente, com precisão,
clareza e atualização, as atividades realizadas
no ambiente.
L
EVANTAMENTO DE
R
EQUISITOS
?
Técnica Mista
Integração das técnicas anteriores;
É a que mais funciona, porque na prática são
envolvidas e usadas todas as técnicas anteriores
para levantar dados, dependendo da situação e da
informação a ser extraída em determinado
momento.
N
ORMALIZAÇÃO DE
D
ADOS
¢
Visa eliminar ou minimizar a ocorrência de
Redundâncias e Inconsistências.
¢
Para isto, podemos aplicar algumas regras.
¢A estas regras, damos o nome de Formas Normais.
¢
Originalmente, Edgar F. Codd definiu três destas
formas normais:
¢Primeira Forma Normal, ¢Segunda Forma Normal e ¢Terceira Forma Normal.
U N IF R A 46 Prof. Sylvio Vieira
N
ORMALIZAÇÃO DE
D
ADOS
¢hoje existem algumas outrasForma Normal de Boyce-Codd,
Quarta Forma Normal e
Quinta Forma Normal
¢Muitos autores dizem que aplicando as três formas normais definidas por Codd, o projeto do banco de dados já estará livre de redundâncias e inconsistências.
U N IF R A 47 P ro f. S ylv io V ie ir a
N
ORMALIZAÇÃO DE
D
ADOS
¢
A normalização não pode provocar perdas no poder
de extração de informações a partir dos bancos de
dados.
¢
Caso isto ocorra, em muitos casos pode ser
interessante o processo de desnormalização para
melhorar o desempenho das consultas, por exemplo.
U N IF R A 48 P ro f. S ylv io V ie ir a
D
EPENDÊNCIA
F
UNCIONAL
¢Regras para encontrar Dependências Funcionais 1 . Separação
¢A -> BC então A -> B e A -> C
Exemplo:
¢CPF -> nome, endereço então CPF -> nome e CPF -> endereço
Leia o exemplo acima da seguinte maneira:
¢Se com um número de CPF eu encontro o nome e o endereço de
uma pessoa, então com este mesmo número eu posso encontrar apenas o nome e com este mesmo número eu posso encontrar apenas o endereço. U N IF R A 49 P ro f. S ylv io V ie ir a
D
EPENDÊNCIA
F
UNCIONAL
¢ Regras para encontrar Dependências Funcionais 2. Acumulação
¢ A -> B então AC -> B Exemplo:
¢ CPF -> endereço então CPF, idade -> endereço
Leia o exemplo acima da seguinte maneira: ¢ Se com um número de CPF eu encontro o endereço de uma
pessoa, então com este mesmo número mais a idade da pessoa eu posso encontrar o endereço também.
U N IF R A 50 P ro f. S ylv io V ie ir a
D
EPENDÊNCIA
F
UNCIONAL
¢Regras para encontrar Dependências Funcionais 3. Transitividade
¢A -> B e B -> C então A -> C Exemplo:
¢CPF -> código-cidade e código-cidade -> nome-cidade então CPF -> nome-cidade
Leia o exemplo acima da seguinte maneira:
¢Se com um número de CPF eu encontro o código da cidade de uma pessoa, e com o código da cidade eu encontro o nome da cidade, então com o número do CPF eu posso encontrar o nome da cidade. U N IF R A 51 P ro f. S ylv io V ie ir a
D
EPENDÊNCIA
F
UNCIONAL
¢ Regras para encontrar Dependências Funcionais 4. Pseudo-Transitividade ¢ A -> B e BC -> D então AC -> D Exemplo: ¢ CPF -> código-funcionário e código-funcionário, mês -> salário-funcionário então CPF, mês -> salário-funcionário Leia o exemplo acima da seguinte maneira:
¢ Se com um número de CPF eu encontro o código do funcionário, e
com o código do funcionário mais um certo mês eu encontro o salário que ele recebeu naquele mês, então com o número do CPF mais um certo mês eu posso encontrar o salário que ele recebeu naquele mês.
U N IF R A 52 P ro f. S ylv io V ie ir a
FORMAS NORMAIS
Primeira Forma Normal
1FN
U N IF R A 53 P ro f. S ylv io V ie ir aFORMAS NORMAIS
¢ Primeira Forma Normal¢ Uma relação está na primeira forma normal se todos os seus atributos são atômicos.
¢ Não possuam tabelas aninhadas!
¢ Quando encontrarmos um atributo multivalorado, deve-se criar um novo atributo que individualize a informação que esta multivalorada:
¢ BOLETIM = {matricula-aluno, materia, notas} ¢ No caso acima, cada nota seria individualizada
identificando a prova a qual aquela nota se refere: ¢ BOLETIM = {matricula-aluno, materia, numero-prova,
nota} U N IF R A 54 P ro f. S ylv io V ie ir a
Segunda Forma Normal
2FN
U N IF R A 55 P ro f. S ylv io V ie ir a¢ Segunda Forma Normal
¢ Uma relação está na segunda forma normal quando duas condições são satisfeitas:
a relação estiver na primeira forma normal;
todos os atributos primos dependerem funcionalmente de toda a chave primária.
¢Atributos Primos Aqueles que não são chaves primárias!
U N IF R A 56 P ro f. S ylv io V ie ir a
FORMAS NORMAIS
¢Segunda Forma Normal¢Observe a relação abaixo:
BOLETIM = {matricula-aluno, codigo-materia, numero-prova, nota, data-da-numero-prova, nome-aluno, endereço-aluno, nome-materia} U N IF R A 57 P ro f. S ylv io V ie ir a
FORMAS NORMAIS
¢ Segunda Forma Normal¢ Fazendo a análise da dependência funcional de cada atributo primo, chegamos às seguintes dependências funcionais:
¢ matricula-aluno, codigo-materia, numero-prova -> nota ¢ codigo-materia, numero-prova -> data-da-prova ¢ matricula-aluno -> nome-aluno, endereço-aluno ¢ codigo-materia -> nome-materia U N IF R A 58 P ro f. S ylv io V ie ir a
FORMAS NORMAIS
¢Segunda Forma Normal¢Concluimos então que apenas o atributo primo nota depende totalmente de toda chave primária. Para que toda a relação seja passada para a segunda forma normal, deve-se criar novas relações, agrupando os atributos de acordo com suas dependências funcionais:
BOLETIM = {matricula-aluno, codigo-materia, numero-prova, nota} PROVA = {codigo-materia, numero-prova, data-da-prova}
ALUNO = {matricula-aluno, nome-aluno, endereço-aluno} MATERIA = {codigo-materia, nome-materia}
¢O nome das novas relações deve ser escolhido de acordo com a chave. U N IF R A 59 P ro f. S ylv io V ie ir a
FORMAS NORMAIS
Terceira Forma Normal
3FN
U N IF R A 60 P ro f. S ylv io V ie ir aFORMAS NORMAIS
¢Terceira Forma NormalUma relação está na terceira forma normal quando duas condições forem satisfeitas:
¢a relação estiver na segunda forma normal;
¢todos os atributos primos dependerem não transitivamente de toda a chave primária.
U N IF R A 61 P ro f. S ylv io V ie ir a
FORMAS NORMAIS
¢ Terceira Forma NormalObserve a relação abaixo:
¢ PEDIDO = {numero-pedido, codigo-cliente, data-pedido, nome-cliente,codigo-cidade-cliente, nome-cidade-cliente} ¢ Fazendo a análise da dependência funcional de cada atributo
primo, chegamos às seguintes dependências funcionais:
U N IF R A 62 P ro f. S ylv io V ie ir a
FORMAS NORMAIS
¢Terceira Forma Normal¢PEDIDO = {numero-pedido, codigo-cliente, data-pedido, nome-cliente,codigo-cidade-cliente, nome-cidade-cliente} ¢numero-pedido -> codigo-cliente ¢numero-pedido -> data-pedido ¢codigo-cliente -> nome-cliente ¢codigo-cliente -> codigo-cidade-cliente ¢codigo-cidade-cliente -> nome-cidade-cliente
Então apenas os atributos primos codigo-cliente e data-pedido dependem não transitivamente totalmente de toda chave primária.
U N IF R A 63 P ro f. S ylv io V ie ir a
FORMAS NORMAIS
¢ Terceira Forma NormalObserve que:
¢ numero-pedido -> codigo-cliente -> nome-cliente ¢ numero-pedido -> codigo-cliente -> codigo-cidade-cliente ¢ numero-pedido -> codigo-cliente -> codigo-cidade-cliente ->
nome-cidade-cliente ¢ Isto é dependência transitiva!
U N IF R A 64 P ro f. S ylv io V ie ir a
FORMAS NORMAIS
¢Terceira Forma Normaldevemos resolver inicialmente as dependências mais simples, criando uma nova relação onde codigo-cliente é a chave, o codigo-cliente continuará na relação PEDIDO como atributo primo, porém, os atributos que dependem dele devem ser transferidos para a nova relação:
¢PEDIDO = {numero-pedido, codigo-cliente, data-pedido} ¢CLIENTE = {codigo-cliente, nome-cliente,
codigo-cidade-cliente, nome-cidade-cliente} U N IF R A 65 P ro f. S ylv io V ie ir a
FORMAS NORMAIS
¢ Terceira Forma NormalAs dependências transitivas da relação PEDIDO foram eliminadas, porém ainda devemos analisar a nova relação CLIENTE:
¢ codigo-cliente -> codigo-cidade-cliente -> nome-cidade-cliente
Observe que o nome-cidade-cliente continua com uma dependência transitiva, vamos resolvê-la da mesma maneira :
U N IF R A 66 P ro f. S ylv io V ie ir a
¢Terceira Forma Normal
¢PEDIDO = {numero-pedido, codigo-cliente, data-pedido} ¢CLIENTE = {codigo-cliente, nome-cliente,
codigo-cidade-cliente}
¢CIDADE = {codigo-cidade-cliente, nome-cidade-cliente}
¢O nome das novas relações deve ser escolhido de acordo com a chave. U N IF R A 67 P ro f. S ylv io V ie ir a ¢
Pedido
Pedido(#pedido, dt-pedido, #cliente, dn-cliente, en-cliente, (#produto,
dn-produto, qt-pedida, pr-produto) tt-pedido);
Passar para a 1FN
a) pedido (#pedido, dt-pedido, #cliente, dn-cliente, en-cliente, tt-pedido) b) pedido.produto (#pedido, #produto, dn-produto,qt-pedida, pr-produto)
U N IF R A 68 P ro f. S ylv io V ie ir a
Uma relação está na primeira forma normal se todos os seus atributos são monovalorados e atômicos.
FORMAS NORMAIS
¢
Pedido
a) pedido (#pedido, dt-pedido, #cliente, dn-cliente, en-cliente, tt-pedido) b) pedido.produto (#pedido, #produto, dn-produto,qt-pedida, pr-produto)
Passar para a 2FN a) Idem 1FN
b1) pedido.produto (#pedido, #produto, qt-pedida) b2) produto (#produto, dn-produto, pr-produto)
U N IF R A 69 P ro f. S ylv io V ie ir a
todos os atributos primos dependerem funcionalmente de toda a chave primária.
FORMAS NORMAIS
¢Pedido
a) pedido (#pedido, dt-pedido, #cliente, dn-cliente, en-cliente, tt-pedido) b1) pedido.produto (#pedido, #produto, qt-pedida)
b2) produto (#produto, dn-produto, pr-produto) Passar para a 3FN a1) pedido (#pedido, dt-pedido, #cliente, tt-pedido) a2) cliente (#cliente, dn-cliente, en-cliente)
b1) pedido.produto (#pedido, #produto, qt-pedida) Idem 2FN b2) produto (#produto, dn-produto, pr-produto) Idem 2FN
U N IF R A 70 P ro f. S ylv io V ie ir a