Atps Banco de Dados

Embed Size (px)

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.