atps sistemas de banco de dados

Upload: marcelino-de-andrade

Post on 11-Feb-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    1/24

    UNIVERSIDADE ANHANGUERA

    Jhonata Eloi Pinheiro

    Jonatas Vasconcelos

    Luiz Felipe

    Marcelino Gomes De Andrade

    Rafael Souza Bessa da Paixo

    Valdivio Amorim Lima

    William Goveia

    RA: 3715647859

    RA: 4200078791

    RA: 4234821843

    RA: 3748690793

    RA: 3729688450

    RA: 6817453090

    RA: 3726700556

    ATIVIDADE PRTICAS SUPERVISIONADAS

    (Sistemas de Informao e TADS)

    Sistemas de Banco de Dados

    Prof.: Gilberto Gaspar

    So Paulo

    2012

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    2/24

    ETAPA 01 - Passo 2

    Sistema de Banco de Dados X Sistema de Arquivos

    Antes da criano de SGBDs as aplicaes utilizavam sistemas de arquivos do prprio Sistema

    Operacional. As aplicaes armazenavam seus dados atravs das interaes com a aplicao e com

    os arquivos. Sendo armazenados em diversos arquivos, precisando de diferentes programas de

    aplicaes para extrair e acrescentar registros, elevando os custos destas aplicaes.

    Dados e Meta-dados na baseOs dados e a descrio correspondente so armazenadas na base e gerenciadas pelo SGBD.

    Independncia de Dados - ProgramasModificaes como incluso de um novo campo no afetam os programas.

    Abstrao de DadosRepresentao conceitual atravs de um modelo de dados que s usa conceitos lgicos.

    Mltiplas VisesSo vises, de como os usurios veem o banco de dados;

    - 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.

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    3/24

    Sistema de Banco de Dados

    Vantagens Desvantagens

    Os Dados podem ser compartilhadosOs 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 fornecidoElevados custos para a converso de sistemas

    baseados em arquivos para banco de dados

    Integridade pode ser mantida

    Treinamento inicial aos programadores e

    usurios

    Segurana reforada

    Requisitos contraditrios podem ser

    equilibrados

    Padres poder ser reforados

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    4/24

    Sistemas de Arquivos

    Vantagens Desvantagens

    padro aberto, no sendo preciso pagar por

    nenhum software;

    Problemas de Integridade;

    Existem varias ferramentas e editores bons no

    mercado;

    A redundncia pode afetar a eficincia para

    armazenamento, afetando a transmisso e

    processamento, elevando os custos;

    Simplicidade e legibilidade, tanto para usurios

    como para computadores;

    Redundncia e inconsistncia dos dados;

    Separao do Contedo Para Formatao; Dificuldade no acesso aos dados;

    Possibilidade de criar sua prpria sintaxe de

    dados;

    Isolamento dos dados;

    Possui suporte a Unicode; Anomalias de acesso concorrente;

    Permite validao, o que torna os testes mais

    efetivos, e a construo de aplicaes bem mais

    fceis.

    Problemas de segurana.

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    5/24

    Passo 3

    1-

    Modelagem de Dados representa um conjunto de requerimentos de informaes de negcio,

    uma parte importante do desenho de um sistema de informao.

    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-

    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 DB

    Designer. A modelagem lgica j leva em conta algumas limitaes e implementa recursos 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, levam-se em conta as limitaes impostas pelo SGBD escolhido e deve ser criadosempre com base nos exemplos de modelagem de dados produzidos no modelo lgico, um exemplo

    de SGBD utilizado nesta etapa o SQL Server.

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    6/24

    3-

    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-

    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 entidade vaga, em determinado momento o

    estacionamento conter tais vagas preenchidas.

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    7/24

    Passo 4Relatrio 01

    At o presente momento, foram desenvolvidas atividades relacionadas a sondagem de como

    desenvolver a base para o desenvolvimento do banco de dados, tendo conhecimento do que se faz

    melhor para a Empresa LFLXZ Ltda, procuro apresentar de forma clara e objetiva, do que j fora

    desenvolvido, bem como exemplificar, e diferenciar as diversas formas de se montar o Servidor de

    Banco de Dados. Procurando o melhor desempenho e praticidade, nesse caso afirmo que o melhor

    para a empresa um sistema de banco de dados, pela praticidade de gerar relatrios, modificar e

    atualizar. Apresentando a vocs, todas as vantagens e desvantagens para o desenvolvimento deste

    projeto, junto a este relatrio, ser enviado, parte de meu estudo de caso, para a melhor

    compreenso, suas definies e exemplificaes. J apresentado meu relatrio e todos os

    levantamentos para a confeco da base de banco de dados, irei agora mais adiante, criando

    modelos de entidades - relacionamento, mostrando graficamente todos os processos por mim

    desenvolvidos.

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    8/24

    ETAPA 02Passo 1

    Passo 2

    1-

    Entidade - O 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.

    Atributos - Caractersticas das entidades, Eeemplos de atributos: Cdigo do Produto (Entidade

    Produto), Nome do Cliente (Entidade Cliente).

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    9/24

    Atributo Chave - Atributo nico para a entidade.

    Atributo Composto - Atributos com tipos de dados diferentes

    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-

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    10/24

    Passo 3 - DER (Diagrama EntidadeRelacionamento)

    Passo 4Relatrio 2

    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 detalhado no relatrio anterior.

    Nesta etapa, criei um quadro de cada entidade proposta, identificando todos os seus atributos e 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.

    Desenvolvi 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.

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    11/24

    ETAPA 03 - Passo 1

    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 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 desterelacionamento esta ltima tabela fornece a lista de vagas para a tabela cadastro.

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    12/24

    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.

    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

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    13/24

    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 registro existente. A unicidade dos registros,

    determinada por sua chave, tambm fundamental para a criao dos ndices. Temos dois tipos de

    chaves:

    1. Chave Primria: (PK - Primary Key) a chave que identifica cada registro dando-lheunicidade. A chave primria nunca se repetir.

    2. Chave Secundria: (FK - Foreign Key) a chave formada atravs de um relacionamentocom 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

    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.

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    14/24

    Usando agregao:

    Passo 3

    Modelo DER

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    15/24

    Modelo Relacional

    Passo 4Relatrio 3

    Como em relatrios anteriores, se fazendo em comum todo o assunto tratado, foram

    importantes para desenvolver alguns conceitos, neste, no se fazendo diferente, pois foram

    desenvolvidos conceitos de 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 os 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.

    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 como um todo.

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    16/24

    Etapa 4Passo 1

    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 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

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    17/24

    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

    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:

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    18/24

    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:

    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

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    19/24

    Nro_ficha CEP

    0001 12345-567

    0002 09700-000

    0003 20201-200

    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 duplo sem 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.

    Passo 2

    1-

    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.

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    20/24

    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:

    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 103 Visitante 1 200,00 200,00

    0008 104 Avulso 15 50,00 750,00

    Tabela no est na 2 forma normal

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    21/24

    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:

    Cdigo_vaga Vaga

    101 Executivo

    102 Funcionrio

    103 Visitante

    104 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 103 1 200,00 200,00

    0008 104 15 50,00 750,00

    Tabela na 2 forma normal

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    22/24

    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-

    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.

    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

    sofuncionalmente 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 103 1 200,00 200,00

    0008 104 15 50,00 750,00

    Tabela no esta na 3 forma normal

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    23/24

    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:

    Nro_ficha Cdigo_vaga Quant Valor_unit

    0005 101 5 300,00

    0006 102 3 150,00

    0007 103 1 200,00

    0008 104 15 50,00

    Tabela na 3 forma normal

    Modelo Relacional

  • 7/23/2019 ATPS Sistemas de Banco de Dados

    24/24

    Passo 3Relatrio 4

    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, oque normalizao e de como

    faremos, para normalizar um Banco de Dados.