View
143
Download
0
Category
Preview:
Citation preview
5/25/2018 Atps Banco de Dados
1/41
Grupo Bones
Andr Prado Quedas RA: 3730701103
Emanuel Ciriaco RA: 3770743484
Jos Aluisio Santana dos Santos RA: 4211797998
Marcelo de Bonis RA: 4211807488
Willian Ferreira da Silva RA: 4200063141
ATIVIDADE PRTICAS SUPERVISIONADAS
(Gesto da Tecnologia da Informao / 2BN)
Banco de Dados
Prof.: Giovani Santos
Faculdade Anchieta
So Bernardo do Campo
2012
5/25/2018 Atps Banco de Dados
2/41
DESAFIO
A empresa LFLXZ Ltda. est informatizando a parte de controle de seu
estacionamento. Diante disso est contratando sua equipe como uma consultoria que
desenvolver um Modelo de Dados de forma a organizar todas as informaes em um SGBD
(Sistema Gerenciador de Banco de Dados). A modelagem de dados dever ser realizada a
partir da entidade Estacionamento, gerada a partir do levantamento de dados elaborado e
com vistas a atender a demanda do cliente.
Entidade:Estacionamento
Atributos: nro_ficha, cpf_proprietario, nome_proprietario, telefone_com, telefone_res,
telefone_cel, e-mail, (placa_veiculo, modelo_veiculo, cor_veiculo, tipo_veiculo, ano_veiculo)
Entidade: Vaga Atributos: (nro_vaga, placa_veiculo, modelo_veiculo, cor_veiculo,
tipo_veiculo, ano_veiculo) Representao da estrutura da entidade: - Todos os atributos
sublinhados so atributos chave. - Todos os atributos que estiverem entre parnteses, sero
atributos repetitivos. Sua equipe de trabalho (consultoria contratada) dever ser composta com
at 4 alunos, e essa entregar, ao final do desafio, sua proposta de modelo de dados.
Objetivo do Desafio:
Elaborar um modelo de dados para o sistema de informao para controle de um
estacionamento.
5/25/2018 Atps Banco de Dados
3/41
ETAPA 01 .
Passo 1 (Aluno)
Ler o artigo o captulo 1.1 Modelos de Dados da apostila Introduo Banco de
Dados de Osvaldo Kotaro Takai, Isabel Cristina Italiano e Joo Eduardo Ferreira. 2005.
Disponvel
em:. Acesso em: 12 abr. 2012.
Fazer tambm uma pesquisa na internet para conhecer os principais softwares de
gerenciamento de Banco de Dados. Entre eles: e:
. Acessos em: 12 abr. 2012.
Passo 2 (Equipe)
Desenvolver um comparativo entre a utilizao de arquivos convencionais
(arquivo texto, por exemplo) e a utilizao de um SGBD (Sistema Gerenciador de Banco
de Dados) para armazenamento de dados. Nesse comparativo essencial o apontamento
de vantagens e desvantagens, bem como a aplicao de ambos os mtodos em uma
operao empresarial, por exemplo, registro de vendas.
5/25/2018 Atps Banco de Dados
4/41
Sistema de Banco de Dados X Sistema de Arquivos
Antes dos Sistemas Gerenciadores de Banco de Dados (SGBD) as aplicaes
utilizavam sistemas de arquivos do Sistema Operacional. Atravs de arquivos, as aplicaes
armazenavam seus dados atravs das interaes com a aplicao. Sendo armazenados em
diversos arquivos, precisando de diferentes programas de aplicaes para extrair e acrescentar
registros, elevando de formas os custos destas aplicaes.
Dados e Meta-dados na base
Os dados e a descrio correspondente so armazenadas na base e gerenciadas pelo
SGBD.
Independncia de Dados-Programas
Modificaes como incluso de um novo campo no afetam os programas.
Abstrao de Dados
Representao conceitual atravs de um modelo de dados que s usa conceitos
lgicos.
Mltiplas Vises
So vises, de como os usurios veem o banco de dados:
5/25/2018 Atps Banco de Dados
5/41
Cada um v o banco de dados ao seu modo;
Representam a abstrao de mais alto nvel da arquitetura;
Construdos de forma que sejam removidos os conflitos entre duas ou mais vises.
Sistema de Banco de Dados
Vantagens Desvantagens
Os Dados podem ser compartilhados;
Os sistemas de banco de dados so
complexos, difceis e demorados para
projetar;
As redundncias podem ser reduzidas; Elevados custos inicias de hardware e
software;
Inconsistncia pode ser vista at certo
ponto;
Danos ao banco de dados afetam
virtualmente a todos os programas;
Suporte a transao pode ser fornecido;
Elevados custos para a converso de
sistema baseado em arquivos para bancode dados;
Integridade pode ser mantida;
Segurana reforada; Treinamento inicial necessrio aos
Requisitos contraditrios podem ser
equilibrados;
programadores e usurios.
Padres poder ser reforados.
5/25/2018 Atps Banco de Dados
6/41
Sistema de Arquivos
Vantagens Desvantagens padro aberto, no sendo preciso pagar
por nenhum software;
Problemas de integridades;
Existem vrias ferramentas e editores
bons no mercado;
A redundncia pode afetar a eficincia
para armazenamento, afetando a
transmisso e o processamento, elevando
os custos;
Simplicidade tanto para usurio comopara computadores;
Redundncia e inconsistncia dos dados;
Separao do contedo para a formatao; Dificuldade no acesso aos dados;
Possibilidade de criar sua prpria sintaxe
de dados;
Isolamento dos dados;
Possui suporte a Unicode; Anomalia de acesso concorrente;
Permite validao, o que torna os testes
mais efetivos, e a construo deaplicaes bem mais fceis.
Problemas de segurana.
Passo 3 (Equipe)
Fazer as atividades a seguir:
1. Definir, em no mnimo 10 linhas, Modelo de Dados.
Modelagem de Dados representa um conjunto de requerimentos de informaes de
negcio, uma parte importante do desenho de um sistema de informao.
5/25/2018 Atps Banco de Dados
7/41
Entre os principais objetivos da modelagem de dados temos a representao do
ambiente observado, documentao e normalizao, fornecimento de processos de validao e
observao dos processos de relacionamento entre objetos.
As etapas envolvidas na construo de um modelo podem ser divididas em 3 modelos:
Conceitual, lgico e fsico.
2. Citar os trs modelos de dados mais conhecidos descrevendo suas caractersticas e os
softwares SGBD que utilizam cada um dos modelos.
A modelagem de dados normalmente atende a trs perspectivas: Modelagem
Conceitual, Modelagem Lgica e a Modelagem Fsica. A modelagem conceitual usada
como representao de alto nvel e considera exclusivamente o ponto de vista do usurio
criador do dado, dentre os sistemas utilizados para facilitar o desenvolvimento desta etapa
podemos citar o Visio e o DBDesigner. A modelagem lgica j leva em conta algumas
limitaes e implementa reursos como adequao de padro e nomenclatura, para este os
sistemas utilizados podem ser os mesmos da modelagem conceitual. A modelagem fsica
demonstra como os dados so fisicamente armazenados, leva-se em conta as limitaes
impostas pelo SGBD escolhido e deve ser criado sempre com base nos exemplos de
modelagem de dados produzidos no modelo lgico, um exemplo de SGBD utilizado nesta
etapa o SQL Server.
3. Com base na entidade proposta no enunciado do desafio e nos modelos de dados
citados neste passo, definam qual modelo de dados dever ser utilizado na resoluo do
desafio. Por qu? Justificar a resposta com apresentao de exemplo.
5/25/2018 Atps Banco de Dados
8/41
Modelo lgico pois, a primeira etapa j foi concluda com a definio das entidades e
no momento no necessrio visar qual SGBD ser utilizado.
A necessidade atual definir as chaves primrias, estrangeiras e seus respectivos
relacionamentos, assim como o tipo de cada atributo, como exemplo ser necessrio haver um
relacionamento entre a entidade estacionamento e a entidade vaga pois, no mesmo
estacionamento existem varias vagas.
4. Definir Esquema e Instncia em banco de dados, utilizando-se das entidades
propostas no desafio para representar e exemplificar suas definies.
Esquema a definio das estruturas que compem o banco de dados, espera-se que o
esquema ir sobrar nenhuma ou poucas alteraes depois de implementado, o esquema
independe dos dados a serem armazenados, como por exemplo podemos citar a entidade
estacionamento e seus respectivos atributos, podendo haver relacionamento com outra
entidade.
Instancia a materializao do banco de dados composto pelas estruturas mais os
dados armazenados, um retrato do banco de dados em um determinado momento,
podemos ter a mesma estrutura reaplicada em vrios locais, cada uma com seu conjunto de
dados, como exemplo podemos supor que j existem dados armazenados na entidades vaga,
em determinado momento o estacionamento conter tais vagas preenchidas.
5/25/2018 Atps Banco de Dados
9/41
Passo 4 (Equipe)
Reunir as informaes levantadas nos passos anteriores e elaborem uma
documentao com o nome de Relatrio 01 para utilizao nas prximas etapas.
Entregar a documentao LFLXZ para apreciao.
Relatrio 01
At o presente momento, fora desenvolvido atividades de sondagem de como ser
desenvolvido a base, para o real desenvolvimento do banco de dados, tendo conhecimento do
que se faz melhor para a Empresa LFL, procuramos apresentar de forma clara e objetiva, do
que j fora desenvolvido, pela nossa equipe, bem como exemplificando, e diferenciando as
diversas formas de se montar o Servidor de Banco de Dados.
Procurando o melhor desempenho e praticidade, verificamos que o melhor para a
empresa um sistema de banco de dados, bem como pela facilidade de gerar relatrios,
modificaes, bem como atualizaes. Apresentando a vocs, todas as vantagens e
desvantagens para esta confeco, Junto a este relatrio, ser enviado, parte de nosso estudo
de caso, para a melhor compreenso, bem como com suas definies e exemplificaes.
J apresentado, nosso relatrio, e todos os levantamento para a confeco da base de
banco de dados, iremos agora mais adiante, criando modelos de entidades-relacionamento,
mostrando graficamente todos os processos pela nossa equipe desenvolvida.
5/25/2018 Atps Banco de Dados
10/41
Etapa 02 .
Passo 1 (Equipe)
Criar um quadro para cada entidade proposta no desafio, identificando todos
seus atributos com seus devidos tipos, chaves e relacionamentos esperados.
Passo 2 (Equipe)
Fazer as atividades a seguir:
1. Para a representao grfica do MER existem figuras que simbolizam cada um dos
componentes do DER (Diagrama Entidade-Relacionamento). Demonstrar,
graficamente, cada um desses smbolos identificando-os com as entidades propostas.
Entidade Objeto do universo de interesse do Banco de Dados, cujas caractersticas se
deseja armazenar. Pode ser definida como qualquer coisa do Mundo real, abstrata ou concreta,
na qual se deseja guardar informaes. Exemplos de entidades: Cliente, Produto, Contrato,
Vendas, etc.
5/25/2018 Atps Banco de Dados
11/41
Atributos Caractersticas das entidades, exemplos de atributos: Cdigo do Produto
(entidade produto), Nome do Cliente (entidade cliente).
Atributo ChaveAtributo nico para a entidade.
Atributo CompostoAtributo com tipos de dados diferentes.
5/25/2018 Atps Banco de Dados
12/41
Linhas Ligam atributos a conjuntos de entidades e conjuntos de entidades a
relacionamentos. Alguns autores chamam as linhas de arestas, em analogia s teorias de
grafos e redes.
2. Apresentar o(s) relacionamento(s) existente(s) entre as duas entidades identificando
sua cardinalidade. Justificar o(s) relacionamento(s) apresentado(s) a partir do conceito
de relacionamento e cardinalidade.
Passo3 (Equipe)
Desenvolver um DER completo (Entidade, Atributos, Chaves, Relacionamento,
Cardinalidade, Smbolos etc.) partindo das entidades propostas no desafio e das
informaes trabalhadas nos passos anteriores.
5/25/2018 Atps Banco de Dados
13/41
Passo 4 (Equipe)
Elaborar um relatrio (Relatrio 02) documentando as informaes levantadas
nos passos anteriores, de forma a demonstrar a empresa o desenvolvimento da equipe.
Entregar o relatrio ao cliente para apreciao na prxima reunio.
Relatrio 02
Na etapa anterior foi desenvolvida, a parte conceitual e uma breve introduo, do que
seria desenvolvido, para o SGBD da Empresa LFLXZ Ltda., como foi dito em relatrio
anteriormente.
J nesta etapa, criamos quadro de cada entidade propostas, identificando todos seus
atributos com seus devidos tipos, chaves e relacionamentos. Representando graficamente os
Modelos de Entidades Relacionais, identificando as entidades propostas e a simbologia de
cada figura atribuda.
Apresentamos tambm, os relacionamentos existentes entre as entidades levantando
sua cardinalidade (1:1, 1:N, N:M), seu grau de relacionamento, justificando seus
relacionamentos apresentando o conceito de relacionamento e cardinalidade.
5/25/2018 Atps Banco de Dados
14/41
Desenvolvemos a partir da um Diagrama de Entidade e Relacionamento, completo
(Entidade, Atributos, Chaves, Relacionamento, Cardinalidade, Smbolos, dentre outros),
partindo da entidade proposta no programa e das atividades desenvolvidas anteriormente.
Etapa 3 .
Passo 1 (Equipe)
Descrever sobre cada um dos itens que compem a estrutura do Modelo
Relacional, apontando suas funes e relacionando-os com as entidades propostas no
desafio.
O Modelo Relacional
A arquitetura de um banco de dados relacional pode ser descrita de maneira informal ou
formal. Na descrio informal estamos preocupados com aspectos prticos da utilizao e
usamos os termos tabela, linha e coluna. Na descrio formal estamos preocupados com a
semntica formal do modelo e usamos termos como relao (tabela), tupla (linhas) e atributo
(coluna).
Tabelas (ou relaes, ou entidades)
Todos os dados de um banco de dados relacional (BDR) so armazenados em tabelas.
Uma tabela uma simples estrutura de linhas e colunas. Em uma tabela, cada linha contm
um mesmo conjunto de colunas. Em um banco de dados podem existir uma ou centenas de
5/25/2018 Atps Banco de Dados
15/41
tabelas, sendo que o limite pode ser imposto tanto pela ferramenta de software utilizada,
quantos pelos recursos de hardware disponveis no equipamento.
As tabelas associam-se entre si atravs de regras de relacionamentos, estas regras
consistem em associar um ou vrios atributo de uma tabela com um ou vrios atributos de
outra tabela.
Exemplo: A tabela cadastro relaciona-se com a tabela vaga no estacionamento.Atravs deste relacionamento esta ltima tabela fornece a lista de vagas para a tabela
cadastro.
Registros (ou tuplas)
Cada linha formada por uma lista ordenada de colunas representa um registro, ou tupla.
Os registros no precisam conter informaes em todas as colunas, podendo assumir valores
nulos quando assim se fizer necessrio. Resumidamente, um registro uma instncia de uma
tabela, ou entidade.
Exemplo: O Cliente cpf_proprietario uma instncia (registro) da tabela cadastro, e anro_vaga a instncia (registro) da tabela vaga do Estacionamento. Uma associao
entre estas duas tabelas criaria a seguinte instncia de relacionamento:
cpf_proprietario o nro_vaga, onde o verbo ser representa uma ligao entre os
registros distintos.
5/25/2018 Atps Banco de Dados
16/41
Colunas (tribunas)
As colunas de uma tabela so tambm chamadas de Atributos. Ao conjunto de valores que
um atributo pode assumir chama-se domnio. Por exemplo: em um campo do tipo numrico,
sero somente armazenados nmeros, etc.
O conceito mais similar a domnio o de tipo abstrato de dados em linguagens de
programao, ou seja, so meta-dados (dados acerca de dados).
Exemplo: cpf_proprietario, ano_veiculo, placa_veiculo, nro_ficha, telefone(s),nro_ficha, nro_vaga.
Chave
As tabelas relacionam-se umas as outras atravs de chaves. Uma chave um conjunto de
um ou mais atributos que determinam a unicidade de cada registro.
Por exemplo, se um banco de dados tem como chaves Nro_vaga e Nro_ficha, sempre
que acontecer uma insero de dados o sistema de gerenciamento de banco de dados ir fazer
uma consulta para identificar se o registro j no se encontra gravado na tabela. Neste caso,
um novo registro no ser criado, resultando esta operao apenas da alterao do registroexistente.
A unicidade dos registros, determinada por sua chave, tambm fundamental para a
criao dos ndices.
Temos dois tipos de chaves:
5/25/2018 Atps Banco de Dados
17/41
1. Chave Primria: (PK - Primary Key) a chave que identifica cada registrodando-lhe unicidade. A chave primria nunca se repetir.
2. Chave Secundria: (FK - Foreign Key) a chave formada atravs de umrelacionamento com a chave primria de outra tabela. Define um
relacionamento entre as tabelas e podem ocorrer repetidas vezes. Caso a
chave primria seja composta na origem, a chave estrangeira tambm o ser.
Passo 2 (Equipe)
Descrever qual(is) limitao(es) existem na execuo do processo de
Mapeamento do modelo MER para o Relacional. Justificar sua resposta, utilizando-se
tambm de exemplos, tendo em vista que possuem estruturas e caractersticas distintas.
Grandes partes das extenses aproximaram o MER do modelo Orientado Objeto, no
sendo muito utilizados, pois os SGBDs Relacionais no suportam diretamente extenses,
ento se faz necessrio antes de implementar mapear estas extenses para o MER original.
Uma limitao do modelo E-R que no possvel expressar relacionamentos entre
relacionamentos. A agregao uma abstrao atravs das quais relacionamentos so tratados
como entidades de nvel superior.
5/25/2018 Atps Banco de Dados
18/41
Usando agregao:
Passo 3 (Equipe)
Criar uma representao grfica que demonstre a converso do DER em Modelo
Relacional descrevendo o processo passo a passo. Ao final, apresentar, em apenas um
pargrafo, a opinio da equipe quanto ao modelo mais adequado, no ponto de vista de
facilidade de compreenso da modelagem e estrutura funcional.
Modelo DER
5/25/2018 Atps Banco de Dados
19/41
Modelo Relacional
Passo 4 (Equipe)
Elaborar um relatrio (Relatrio 03) documentando as informaes levantadas
nos passos anteriores, de forma a demonstrar a empresa o desenvolvimento da equipe.
Entregar o relatrio ao cliente para apreciao na prxima reunio.
Relatrio 03
Bem como em relatrios anteriores, se fazendo em comum todo o assunto tratado,
foram importante para que se desenvolvessem alguns conceitos, neste, no se fazendo
diferente, pois nossa equipe desenvolveu conceitos do Modelo Relacional, sendo aplicados e
demonstrados na forma de representao grfica de um banco de dados, sendo assim
mapeados os Modelos DER e Relacional.
Descrevendo todos os itens que as compem, na forma de uma estrutura Relacional,
apontando funes e as relacionando com as entidades propostas no projeto. Descrevendo
limitaes existentes na execuo do processo de Mapeamento do modelo MER para o
Relacional.
5/25/2018 Atps Banco de Dados
20/41
Criando representaes grficas e demonstrando converses do DER em Modelo
Relacional e assim vice-versa, descrevendo tais processos passo a passo. Apresentando
sempre o ponto de vista na facilidade de compreenso da modelagem e estrutura funcional,
por parte da equipe.
Etapa 4 .
Passo 1 (Equipe)
Transformar as tuplas no normalizadas das entidades propostas, passando-as para a
1 Forma Normal (1FN). Explicar a ao da equipe baseando e citando a qual conceito se
enquadra a aplicao da 1FN.
Normalizao de dados o processo formal passo a passo que examina os atributos de
uma entidade, com o objetivo de evitar anomalias observadas na incluso, excluso e
alterao de registros.
Uma regra que devemos observar quando do projeto de um Banco de Dados baseado
no Modelo Relacional de Dados a de "no misturar assuntos em uma mesma Tabela". Por
exemplo: na Tabela Cadastro devemos colocar somente campos relacionados com o assunto
de cadastro do cliente. No devemos misturar campos relacionados com outros assuntos. Essa
"Mistura de Assuntos" em uma mesma tabela acaba por gerar repetio desnecessria dos
dados bem como inconsistncia dos dados.
Normalmente aps a aplicao das regras de normalizao de dados, algumas tabelas
acabam sendo divididas em duas ou mais tabelas, o que no final gera um nmero maior de
tabelas do que o originalmente existente. Este processo causa a simplificao dos atributos de
5/25/2018 Atps Banco de Dados
21/41
uma tabela, colaborando significativamente para a estabilidade do modelo de dados,
reduzindo-se consideravelmente as necessidades de manuteno.
Objetivos
Minimizao de redundncias e inconsistncias; Facilidade de manipulaes do banco de dados;
Facilidade de manuteno do sistema de Informao.
Uma relao estar na 1 forma normal 1FN, se e somente se todos os domnios bsicos
contiverem somente valores atmicos (no contiver grupos repetitivos).
Em outras palavras podemos definir que a 1 forma normal no admite repeties ou
campos que tenha mais que um valor.
Considere a tabela cadastro abaixo:
Cadastro :
nro_ficha; nome_proprietario; telefone; endereo
Agora a tabela com os dados:
Nro_ficha Nome_proprietario Telefone Endereo
0001 Jos 99999-0099 Rua Marechal, 1800 So Bernardo
12345-567
0002 Maria 98888-0088
4121-2112
Rua Oliveira, 32 Santo Andr
09700-000
0003 Joo 97000-6512
4234-2020
Avenida da Paz, 1000 So Caetano
20201-200
5/25/2018 Atps Banco de Dados
22/41
Tabela desnormalizada, ou seja, no est na 1 forma normal.
Analisando teremos:
Todos os clientes possuem Rua, CEP e Bairro, e essas informaes esto na mesma
clula da tabela, logo ela no est na 1 forma normal. Para normalizar, deveremos colocar
cada informao em uma coluna diferente, como no exemplo a seguir:
Nro_ficha Nome_proprietario Telefone Rua Cidade CEP
0001 Jos 99999-0099 Rua Marechal,
1800
So
Bernardo
12345-567
0002 Maria 98888-0088
4121-2112
Rua Oliveira,
32
Santo
Andr
09700-000
0003 Joo 97000-6512
4234-2020
Avenida da
Paz, 1000
So
Caetano
20201-200
Tabela ainda no est na 1 forma normal
Mesmo com o ajuste acima, a tabela ainda no est na primeira forma normal, pois h
clientes com mais de um telefone e os valores esto em uma mesma clula . Para
normalizar ser necessrio criar uma nova tabela para armazenar os nmeros dos telefones e o
campo-chave da tabela cliente. Veja o resultado a seguir:
5/25/2018 Atps Banco de Dados
23/41
Nro_ficha Nome_proprietario Rua Cidade CEP
0001 Jos Rua Marechal,
1800
So Bernardo 12345-567
0002 Maria Rua Oliveira, 32 Santo Andr 09700-000
0003 Joo Avenida da Paz,
1000
So Caetano 20201-200
Tabela na 1 forma normal
Nro_ficha Telefone
0001 99999-0099
0002 98888-0088
0002 4121-2112
0003 97000-6512
0003 4234-2020
Tabela na 1 forma normal
No exemplo acima foi gerado uma segunda entidade para que a primeira forma
normal fosse satisfeita, contudo possvel manter a tabela original, admitindo-se valores duplos
em uma mesma coluna, como exemplo o campo telefone ficaria assim: 11-5432-5678 e 11-3500-
3500. Neste caso a tabela ficaria desnormalizada, mas muitos acabam preferindo assim,
principalmente quando h poucos casos de repetio.
5/25/2018 Atps Banco de Dados
24/41
Passo 2 (Equipe)
Fazer as atividades a seguir:
1. Agora, com as tuplas na 1FN, a equipe dever coloc-las na 2 Forma normal (2FN).
Explicar a ao da equipe baseando e citando a qual conceito se enquadra a aplicao da
2FN.
Uma tabela est na 2 Forma Normal 2FN se ela estiver na 1FN e todos os atributos
no chave forem totalmente dependentes da chave primria (dependente de toda a chave e no
apenas de parte dela).
Se o nome do produto j existe na tabela produtos, ento no necessrio que ele
exista na tabela de produtos. A segunda forma normal trata destas anomalias e evita que
valores fiquem em redundncia no banco de dados.
Procedimentos:
a) Identificar os atributos que no so funcionalmente dependentes de toda a chave primria;
b) Remover da entidade todos esses atributos identificados e criar uma nova entidade com
eles.
A chave primria da nova entidade ser o atributo do qual os atributos do qual os
atributos removidos so funcionalmente dependentes.
Exemplo de segunda forma normal
Considere a tabela vendas abaixo:
5/25/2018 Atps Banco de Dados
25/41
Estacionamento
Nro_ficha, Cdigo_vaga, Vaga, Quant, Valor_unit, Subtotal
Agora a tabela com os dados:
Nro_ficha Cdigo_vaga Vaga Quant Valor_unit Subtotal
0005 101 Executivo 5 300,00 1500,00
0006 102 Funcionrio 3 150,00 450,00
0007 104 Visitante 1 200,00 200,00
0008 105 Avulso 15 50,00 750,00
Tabela no est na 2 forma normal
Analisando teremos:
O nome do produto depende do cdigo da vaga, porm no depende de Nro_ficha que
a chave primria da tabela, portanto no est na segunda forma normal. Isto gera problemas
com a manuteno dos dados, pois se houver alterao no nome do produto teremos que
alterar em todos os registros da tabela venda.
Para normalizar esta tabela teremos de criar a tabela Estacionamento que ficar com os
atributos Cdigo_vaga e vaga e na tabela Vaga manteremos somente os atributos Nro_ficha,
cdigo_vaga, quant, valor_unit e subtotal. Veja o resultado abaixo:
5/25/2018 Atps Banco de Dados
26/41
Cdigo_vaga Vaga
101 Executivo
102 Funcionrio
104 Visitante
105 Avulso
Tabela na 2 forma normal
Nro_ficha Cdigo_vaga Quant Valor_unit Subtotal
0005 101 5 300,00 1500,00
0006 102 3 150,00 450,00
0007 104 1 200,00 200,00
0008 105 15 50,00 750,00
Tabela na 2 forma normal
Conforme visto na primeira forma normal, quando aplicamos normalizao comum
gerar novas tabelas a fim de satisfazer as formas normais que esto sendo aplicadas.
2. Com as tuplas na 2FN, a equipe dever coloc-las, quando possvel, agora na 3
Forma Normal (3FN). Explicar a ao da equipe baseando e citando a qual conceito se
enquadra a aplicao da 3FN.
Uma tabela est na 3 Forma Normal 3FN se ela estiver na 2FN e se nenhuma coluna
no-chave depender de outra coluna no-chave.
5/25/2018 Atps Banco de Dados
27/41
Na terceira forma normal temos de eliminar aqueles campos que podem ser obtidos
pela equao de outros campos da mesma tabela.
Procedimentos:
a) Identificar todos os atributos que so funcionalmente dependentes de outros atributos no
chave;
b) Remov-los.
A chave primria da nova entidade ser o atributo do qual os atributos removidos so
funcionalmente dependentes.
Exemplo de normalizao na terceira forma normal
Considere a tabela abaixo:
Nro_ficha Cdigo_vaga Quant Valor_unit Subtotal
0005 101 5 300,00 1500,00
0006 102 3 150,00 450,00
0007 104 1 200,00 200,00
0008 105 15 50,00 750,00
Tabela no est na 3 forma normal
Considerando ainda a nossa tabela Vaga, veremos que a mesma no est na terceira
forma normal, pois o subtotal o resultado da multiplicao Quant X Valor_unit, desta forma
a coluna subtotal depende de outras colunas no-chave.
Para normalizar esta tabela na terceira forma normal teremos de eliminar a coluna
subtotal, como no exemplo a seguir:
5/25/2018 Atps Banco de Dados
28/41
Nro_ficha Cdigo_vaga Quant Valor_unit
0005 101 5 300,00
0006 102 3 150,00
0007 104 1 200,00
0008 105 15 50,00
Tabela na 3 forma normal
Modelo Relacional
Passo 3 (Equipe)
Elaborar um relatrio (Relatrio 04) documentando o passo a passo do
desenvolvimento da normalizao. Entregar o relatrio ao cliente para apreciao na
prxima reunio.
5/25/2018 Atps Banco de Dados
29/41
Relatrio 04
Aprendemos nesta etapa, a desenvolver a organizao de entidades no Banco de
Dados baseando nas regras de normalizao, fazendo com que minimize a duplicidade dos
dados e mantenha as devidas dependncias das informaes nas vrias entidades do Banco de
Dados. A proposta dessa etapa transformar tuplas no normalizadas em tuplas na 3 Forma
Normal (3FN).
Passamos ai, a transformar as tuplas no normalizadas das entidades propostas,
passando para a 1 Forma Normal (1FN), e conceituando-as para melhor entendimento de
normalizao, j tnhamos as tuplas na 1 Forma Normal, a equipe seguiu o prximo passo e
colocamos na 2 Forma Normal(2FN). J o prximo passo era coloc-las na 3 Forma Normal,
atravs de conhecimentos extrados de livros e apostilas, podemos enfim deixar bem claro, o
que normalizao e de como faremos, para normalizar um Banco de Dados.
Etapa 5 .
Passo 1 (Equipe)
Criar 10 tuplas para cada relao (tabela) de forma que sigam os conceitos
tratados anteriormente (chave primria/estrangeira, relacionamento, redundncia e
integridade).
5/25/2018 Atps Banco de Dados
30/41
Proprietrio
Nro_ficha(PK) Nome_proprietario Endereo Telefone1 Jos Quadra 1 2111-4444
2 Maria Quadra 5 3232-5656
3 Joo Quadra 8 2324-2121
4 Emanuel Quadra 12 2134-5678
5 Andr Quadra 9 8765-9876
6 Willian Quadra 7 5678-0987
7 Marcelo Quadra 3 9876-67678 Roberto Quadra 11 9998-5454
9 Lucas Quadra 13 7655-3232
10 Ricardo Quadra 2 3341-0099
Veiculo
Placa_veiculo Mod_veiculo Cor_veiculo Tipo_veiculo Ano_veiculo Nro_ficha(FK)
FER-2005 F355 Vermelho Ferrari 2005 1
BMW-2003 M5 Preto BMW 2003 2
FOX-2012 Fox Vermelho Volkswagen 2012 3
UNO-2002 UNO Prata Fiat 2002 4
CLI-2011 Clio Cinza Renault 2011 5
KAL-2010 KA Prata Ford 2010 6
CEL-2009 Celta Prata GM 2009 7
CLA-2009 Classic Preto GM 2009 8
FIS-2011 Fiesta Branco Ford 2011 9
GOL-2012 GOL Cinza Volkswagen 2012 10
5/25/2018 Atps Banco de Dados
31/41
Vaga
Cod_vaga Placa_veiculo (FK)
101 FER-2005
102 BMW-2003
103 FOX-2012
104 UNO-2002
105 CLI-2011
106 KAL-2010
107 CEL-2009
108 CLA-2009
109 FIS-2011
110 GOL-2012
Passo 2 (Equipe)
Fazer as atividades a seguir:
1. Criar uma operao de SELEO para cada relao existente no modelo criado e
descrever que ao essa operao est realizando.
SeleoSeleciona tuplas da relao argumento que satisfaam condio de seleo;
nome_proprietario=Maria(Proprietrio)
tipo_veiculo=Fiat(Veiculo)
cod_vaga=5(Vaga)
5/25/2018 Atps Banco de Dados
32/41
SELECTNro_ficha, Nome_proprietario, Endereo, TelefoneFROMProprietario
WHERENome_proprietario='Maria'
Cada operao apresentada ir selecionar apenas as linhas que contenha a palavra que
queira encontrar. Como, por exemplo, no caso na primeira seleo (
nome_proprietario=Maria(Proprietrio)) o smbolo mostrado (), sigma, representa a
seleo ou restrio da linha que contenha o que esteja procurando, que no caso Maria q ue
est na coluna nome_proprietario, e na tabela, e o resultado apresentado ser a linha que
contenha as informaes de Maria:
Exemplo:
Nro_ficha Nome_proprietario Endereo Telefone
2 Maria Quadra 5 3232-5656
Projeo Produz uma nova relao contendo um subconjunto vertical da relao
argumento, sem duplicaes:
p nome_proprietario (Proprietrio)p nro_ficha (Nmero da ficha)
p telefone (Telefone)
A operao de projeo apresentada ir projetar apenas as colunas chamadas, por
exemplo, na projeo p nome_proprietario (proprietrio) est projetando a coluna
nome_proprietario da tabela, que ir ficar assim:
Exemplo:
5/25/2018 Atps Banco de Dados
33/41
Nome_proprietario
Jos
Maria
Joo
Emanuel
Andr
Willian
Marcelo
Roberto
Lucas
Ricardo
3. Criar uma operao de UNIO para cada relao existente no modelo criado e
descrever que ao essa operao est realizando.
UnioUne duas relaes R e S compatveis em uma relao que contm todas as tuplas
pertencentes a R, a S, ou a ambas (R e S):
proprietrio U veiculo
proprietrio U vaga
veiculo U vaga
5/25/2018 Atps Banco de Dados
34/41
SELECTNRO_FICHA,MOD_VEICULOFROMVEICULO
WHERETIPO_VEICULO='FERRARI'
UNION
SELECTNRO_FICHA,MOD_VEICULOFROMVEICULO
WHERETIPO_VEICULO='VW'
A operao de unio ir unir todos os atributos da tabela e ir ficar assim:
Nro_ficha Mod_veiculo
1 F355
3 Fox
10 GOL
4. Criar uma operao de INTERSEO para cada relao existente no modelo
criado e descrever que ao essa operao est realizando.
Interseo Une duas relaes R e S compatveis em uma relao que contm todas as
tuplas pertencentes a R quanto a S.
(e.nro_ficha(estacionamento)) (v.modelo_veiculo(vaga))
5/25/2018 Atps Banco de Dados
35/41
SELECTe.nro_ficha, v.modelo_veiculo
FROMVAGAv,ESTACIONAMENTOe
WHEREv.nro_ficha=e.nro_fichaANDv.tipo_veiculo='VW'
Essa operao mostra os valores que contm na primeira e na segunda tabela ao mesmo
tempo. Que vai ser:
Nro_ficha modelo_veiculo
3 VW
10 VW
Passo 3 (Equipe)
Elaborar um relatrio (Relatrio 05) documentando com as informaes
trabalhadas nesta etapa do desafio. Entregar o relatrio ao cliente para apreciao na
prxima reunio.
5/25/2018 Atps Banco de Dados
36/41
Relatrio 05
Nesta nova etapa fora construdo mecanismos de pesquisas capazes de manipular
dados existentes em banco de dados. Criamos nesta etapa, diversas operaes de lgebra
relacional que sejam aplicveis em banco de dados, utilizados como base do Modelo
Relacional.
Desenvolvemos atividades de criao de tuplas para cada relao (Tabela) existente,
seguindo os conceitos tratados nas etapas anteriores.
Fora criada uma operao, para cada operao de lgebra relacional, so eles:
Seleo; Projeo; Unio; Interseo;
Para cada operao, fora criado uma tabela para melhor entendimento da equipe, e
conceituada de suas funes exercidas no Modelo Relacional a Banco de Dados.
5/25/2018 Atps Banco de Dados
37/41
Etapa 6 .
Passo 1 (Equipe)
Fazer as atividades a seguir:
1. Criar uma operao de DIVISO para cada relao existente no modelo criado edescrever que ao essa operao est realizando.
DivisoDiviso de duas relaes R e S, todos os valores de um atributo em R que fazem
referncia a todos os valores de um atributo S;
(p nro_vaga, placa_veiculo (VEICULO)) (p nro_vaga(VAGA))
A operao de diviso acima est procurando todos os veculos que esto ocupando as
vagas do estacionamento. No caso como todas as vagas esto sendo ocupados por veculos de
placas diferentes e estacionados em vagas distintas, a projeo ser a seguinte:
Placa_veiculo
FER-2005
BMW-2003
FOX-2012
UNO-2002CLI-2011
KAL-2010
CEL-2009
CLA-2009
FIS-2011
GOL-2012
5/25/2018 Atps Banco de Dados
38/41
2. Criar uma operao de DIFERENA para cada relao existente no modelo criadoe descrever que ao essa operao est realizando.
DiferenaUne duas relaes R e S compatveis em uma relao que contm todas as tuplas
pertencentes a R que no pertencem a S:
(p placa_veiculo(VEICULO))(p placa_veiculo(VAGA))
No ter resultado nenhum essa operao, pois a operao de diferena das duas tabelas
produz como resultado uma tabela que contm as tuplas presentes na primeira tabela
(VEICULO) que no constam na segunda (VAGA).
3. Criar uma operao de JUNO para cada relao existente no modelo criado edescrever que ao essa operao est realizando.
Juno Natural
Concatena tuplas relacionadas de duas relaes em tuplas nicas; Simplifica consultas que requerem produto cartesiano:Forma um produto cartesiano dos argumentos;
Faz uma seleo forando igualdade sobre os atributos que aparecem em ambos
argumentos;
Remove colunas duplicadas
Juno
Concatenao:dos atributos comuns;
5/25/2018 Atps Banco de Dados
39/41
dos atributos especificados na condio de juno;
Relao Argumento 1 (X) condio_junoRelao Argumento2
Estacionamento (nro_ficha; CPF_proprietario; nome_proprietario; nro_vaga; cod_vaga).
Nro_ficha CPF_proprietario Nome_proprietario Nro_vaga Cod_vaga
1 000.000.000-01 Jos C001 101
2 000.000.000-02 Maria L005 102
3 000.000.000-03 Joo H008 103
4 000.000.000-04 Emanuel G012 104
5 000.000.000-04 Andr A009 105
6 000.000.000-06 Willian V007 106
7 000.000.000-07 Marcelo C003 107
8 000.000.000-08 Roberto N011 108
9 000.000.000-09 Lucas A013 109
10 000.000.000-10 RicardoJ002
110
5/25/2018 Atps Banco de Dados
40/41
Vaga (cod_vaga; nro_ficha ; nome_proprietario).
Cod_vaga Nro_ficha Nome_proprietario
101 1 Jos
102 2 Maria
103 3 Joo
104 4 Emanuel
105 5 Andr
106 6 Willian
107 7 Marcelo
108 8 Roberto
109 9 Lucas
110 10 Ricardo
Estacionamento (X) Vaga
Nro_ficha Nome_proprietario Endereo Nro_vaga Cod_vaga
1 Jos Quadra 1 C001 101
2 Maria Quadra 5 L005 102
3 Joo Quadra 8 H008 103
4 Emanuel Quadra 12 G012 104
5 Andr Quadra 9 A009 105
6 Willian Quadra 7 V007 106
7 Marcelo Quadra 3 C003 107
8 Roberto Quadra 11 N011 108
9 Lucas Quadra 13 A013 109
10 Ricardo Quadra 2 J002 110
5/25/2018 Atps Banco de Dados
41/41
Passo 2 (Equipe)
Elaborar um relatrio (Relatrio 06) documentando as operaes desenvolvidas
nos passos anteriores e a ao realizada por elas. Entregar o relatrio ao cliente em sua
ltima reunio.
Relatrio 06
Nesta nova etapa fora construdo mecanismos de pesquisas capazes de manipular
dados existentes em banco de dados. Criamos nesta etapa, diversas operaes de lgebra
relacional que sejam aplicveis em banco de dados, utilizados como base do Modelo
Relacional.
Desenvolvemos atividades de criao de tuplas para cada relao (Tabela) existente,
seguindo os conceitos tratados nas etapas anteriores.
Fora criada uma operao, para cada operao de lgebra relacional, so eles:
Diviso; Diferena; Juno;
Para cada operao, fora criado uma tabela para melhor entendimento da equipe, e
conceituada de suas funes exercidas no Modelo Relacional a Banco de Dados.
Recommended