Sei sulla pagina 1di 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

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

- 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
Os Dados podem ser compartilhados

Desvantagens
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 Danos ao banco de dados afetam virtualmente a

Inconsistncia pode ser vista at certo ponto todos os programas Elevados custos para a converso de sistemas Suporte a transao pode ser fornecido baseados em arquivos para banco de dados Integridade pode ser mantida Segurana reforada Treinamento inicial aos programadores e Requisitos contraditrios podem ser usurios equilibrados Padres poder ser reforados

Sistemas de Arquivos

Vantagens
padro aberto, no sendo preciso pagar por nenhum software; Existem varias ferramentas e editores bons no mercado;

Desvantagens
Problemas de Integridade;

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; Separao do Contedo Para Formatao; Possibilidade de criar sua prpria sintaxe de dados; Possui suporte a Unicode; Permite validao, o que torna os testes mais efetivos, e a construo de aplicaes bem mais fceis.

Redundncia e inconsistncia dos dados;

Dificuldade no acesso aos dados; Isolamento dos dados;

Anomalias de acesso concorrente; Problemas de segurana.

Passo 3 1Modelagem 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.

2A 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 criado sempre com base nos exemplos de modelagem de dados produzidos no modelo lgico, um exemplo de SGBD utilizado nesta etapa o SQL Server.

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

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

Passo 4 Relatrio 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.

ETAPA 02 Passo 1

Passo 2 1Entidade - 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).

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-

Passo 3 - DER (Diagrama Entidade Relacionamento)

Passo 4 Relatrio 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.

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

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 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-lhe unicidade. A chave primria nunca se repetir. 2. Chave Secundria: (FK - Foreign Key) a chave formada atravs de um relacionamento 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

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.

Usando agregao:

Passo 3

Modelo DER

Modelo Relacional

Passo 4 Relatrio 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.

Etapa 4 Passo 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

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 0001 0002 Nome_proprietario Jos Maria Telefone 99999-0099 98888-0088 4121-2112 0003 Joo 97000-6512 4234-2020 Avenida da Paz, 1000 So Caetano 20201-200 Endereo Rua Marechal, 1800 So Bernardo 12345-567 Rua Oliveira, 32 Santo Andr 09700-000

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 0001

Nome_proprietario Jos

Telefone 99999-0099

Rua Rua 1800

Cidade Marechal, So Bernardo

CEP 12345-567

0002

Maria

98888-0088 4121-2112

Rua Oliveira,32

Santo Andr

09700-000

0003

Joo

97000-6512 4234-2020

Avenida da Paz, So Caetano 1000

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 0001 Nome_proprietario Jos Rua Rua 1800 0002 0003 Maria Joo Rua Oliveira,32 Santo Andr 09700-000 20201-200 Cidade Marechal, So Bernardo CEP 12345-567

Avenida da Paz, So Caetano 1000

Tabela na 1 forma normal

Nro_ficha 0001 0002 0003

CEP 12345-567 09700-000 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 1Uma 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:

Estacionamento

Nro_ficha, Cdigo_vaga, Vaga, Quant, Valor_unit, Subtotal

Agora a tabela com os dados: Nro_ficha 0005 0006 0007 0008 Cdigo_vaga 101 102 103 104 Vaga Executivo Funcionrio Visitante Avulso Quant 5 3 1 15 Valor_unit 300,00 150,00 200,00 50,00 Subtotal 1500,00 450,00 200,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:

Cdigo_vaga 101 102 103 104

Vaga Executivo Funcionrio Visitante Avulso

Tabela na 2 forma normal Nro_ficha 0005 0006 0007 0008 Cdigo_vaga 101 102 103 104 Quant 5 3 1 15 Valor_unit 300,00 150,00 200,00 50,00 Subtotal 1500,00 450,00 200,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.

2Uma tabela est na 3 Forma Normal 3FN se ela estiver na 2FN e se nenhuma coluna nochave 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 0005 0006 0007 0008 Cdigo_vaga 101 102 103 104 Quant 5 3 1 15 Valor_unit 300,00 150,00 200,00 50,00 Subtotal 1500,00 450,00 200,00 750,00

Tabela no esta 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: Nro_ficha 0005 0006 0007 0008 Cdigo_vaga 101 102 103 104 Quant 5 3 1 15 Valor_unit 300,00 150,00 200,00 50,00

Tabela na 3 forma normal

Modelo Relacional

Passo 3 Relatrio 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.

Potrebbero piacerti anche