Sunteți pe pagina 1din 45

Ps Graduao em Banco de Dados para Mercado Corporativo Oracle

Paulo Rodrigues Jr.

Formado em Cincia da Computao MBA em Gerenciamento de Projetos Experincia com Banco de Dados desde 2002 (websites com mysql) DBA na SEFA-PA de 2009 a 08/2012 Gerente de Projetos desde 08/2012
FGV - Fundao Getlio Vargas Universidade Federal do Par

Viso Geral

Levantamento de Requisitos Projeto conceitual do banco de dados

Introduo Disciplina Ferramentas a utilizar

Escolha de um modelo de SGBD ou de um SGBD especfico Projeto lgico de banco de dados


Modelo Relacional Mapeamento Conceitual => Lgico Normalizao Mapeamento Lgico => Fsico

Diagrama Entidade-Relacionamento Diagrama Entidade-Relacionamento Estendido

Projeto fsico do banco de dados Implementao e tuning do sistema de banco de dados

Critrios de Avaliao
Exerccios (individuais) [10 pontos] Avaliao [10 pontos]
Questes objetivas sobre a teoria ministrada Questes para construo de modelos de dados

Projeto de Banco de Dados (grupo) [10 pontos]


Apresentao de trabalho escrito sobre o projeto [5 pontos] Apresentao de slides para a turma [5 pontos]

Nota final => mdia dos conceitos Frequncia

Algumas solues em projetos


Estrutura de dados que permite a criao de uma

fila para processamento em threads

Integridade de chaves em Databases distribudos

Projete um banco de dados para um sistema a sua escolha disponvel na Internet.


ao banco de dados. Certifique-se de que o esquema tenha, no mnimo 20 entidades 80 atributos
Tendo pelo menos 1 entidade fraca

Especifique todas as restries que deveriam ser impostas

19 relacionamentos

Tendo pelo menos 1 atributo multivalorado, 1 atributo composto e 1 atributo derivado Tendo pelo menos 5 relacionamentos muitos para muitos, 1 agregao, 1 generalizao/especializao e 1 relacionamento n-rio (n > 2)

O trabalho escrito dever conter


Descrio da Empresa Descrio do Sistema Modelo conceitual atravs do DER
Notao Original do Peter Chen

Derivao do Modelo Conceitual para o Modelo Lgico Derivao do Modelo Lgico para o Modelo Fsico (Oracle) Dicionrio de Dados Coleo de Scripts (DDL e DML)
Criao de tabelas, relacionamentos, restries e ndices Criao de pelo menos 5 consultas que poderiam ser usadas pela aplicao Criao de pelo menos uma trigger e uma procedure em PL/SQL

Definir o grupo para o projeto Escolher a empresa para a qual ser desenvolvida a modelagem do projeto Entregar uma folha com o nome dos participantes do grupo e a descrio da empresa

Viso Geral

Levantamento de Requisitos Projeto conceitual do banco de dados

Introduo Disciplina Ferramentas a utilizar

Escolha de um modelo de SGBD ou de um SGBD especfico Projeto lgico de banco de dados


Modelo Relacional Mapeamento Conceitual => Lgico Mapeamento Objeto-Relacional Normalizao

Diagrama Entidade-Relacionamento Diagrama Entidade-Relacionamento Estendido

Projeto fsico do banco de dados Implementao e tunning do sistema de banco de dados


Mapeamento Lgico => Fsico

Coleo de programas que permitem aos usurios criarem e manipularem uma base de dados Software de propsito geral que facilita o processo de definir, construir e manipular bases de dados de diversas aplicaes Aplicaes dos SGBD
Banco Linhas areas Universidades Carto de Crdito Telecomunicao cartes Finanas aes, Vendas Indstria

Recursos Humanos

(clientes, contas, emprstimos) (reservas, horrios) (alunos, cursos, notas) (compras, faturas) (registro de chamadas, cobranas, saldos de pr-pagos) (valores mobilirios, vendas, compras de ttulos, taxas de mercado) (clientes, produtos, compras) (gerenciamento de cadeia de suprimentos, produo, estoques, pedidos) (funcionrios, salrios, descontos em folha, benefcios, contra-cheques)

Antes do SGBD
Programas com gerencia de arquivos

Depois do SGBD
Programas de aplicao de BD SGBD

Redundncia e inconsistncia dos dados


Cada programa tinha seus prprios arquivos, o

Dificuldade de acesso a dados Isolamento de Dados

mesmo dado podia estar em vrios locais ao mesmo tempo tempo para serem programadas

Novas consultas no previstas levavam muito

Dados dispersos em arquivos em diferentes

formatos dificultavam programao

Problemas de Integridade
Restries tinham que ser implementadas no

Problema de Atomicidade
Em caso de falha era dificultoso assegurar que os

software

dados fossem restaurados completamente. Ex.: transferncia de R$ 50,00 da conta A para a conta B, uma falha poderia fazer com que o dinheiro fosse debitado da conta A mas no creditado na B

Anomalias de acesso concorrente


Vrios usurios podiam estar lendo/escrevendo

Problema de Segurana
Nem todos os usurios do sistema deveriam

dados simultaneamente

acessar todos os dados, e era difcil impor tais restries de segurana

Compartilhamento de informaes Consistncia dos dados


Diminuio redundncias Reutilizao de dados Restries de integridade

Facilidade e agilidade para acesso a dados Repositrio centralizado de dados


Linguagens de manipulao e consulta de dados Dados armazenados em um nico local Informaes atualizadas para todas as fontes

Restries de Integridade
Recursos disponveis para manter a consistncia dos

Tolerncia a falhas

dados Reduo do tempo de desenvolvimento de aplicaes


Alta disponibilidade Cpia de segurana dos dados (backup) Recuperao (restore) gil de dados Controle de transaes

Controle de acesso concorrente

Segurana Padronizao
Controle de acesso aos dados Organizao dos dados

Flexibilidade a mudanas
Suporte a alterao de estruturas e dados

Sistema de Arquivos Redundncia de dados Inconsistncia de dados Dificuldade de acesso a dados Isolamento de Dados Problemas de Integridade Problema de Atomicidade Anomalias de acesso concorrente Problema de Segurana Dificuldade de padronizar Pouco flexvel

SGBD Compartilhamento de informaes Consistncia de dados Facilidade e agilidade para acesso a dados Repositrio centralizado de dados Restries de integridade Tolerncia a Falhas Controle de acesso concorrente Segurana Suporte a padronizao Alta flexibilidade a mudanas

Infra-estrutura (Tecnologia)

Pessoas Softwares Dados

Administrao de dados a funo responsvel por desenvolver e administrar de modo centralizado as estratgias, procedimentos e prticas para o processo de gerncia dos recursos de dados e aplicativos, incluindo planos para sua definio, padronizao, organizao, proteo e utilizao
fonte: pt.wikipedia

A funo de administrao de dados diferencia-se da funo de Administrao de Banco de Dados porque dedica-se mais aos dados em si do que aos meios fsicos onde so armazenados, acessados e distribudos. Na verdade, h um enfoque maior com as informaes constantes nos dados

fonte: pt.wikipedia

Ento, o que o Adm de Dados faz?

Evitar redundncias de dados Controlar crescimento da Base de Dados Prover a reutilizao de dados Otimizao de consultas Integridade dos Dados Padronizao Controle de acesso

O Administrador de Dados o responsvel pela Anlise e Projeto de Banco de Dados


Maneira de descrever um banco de dados em

nvel conceitual, lgico e fsico uma coleo de ferramentas conceituais para descrever
Dados Relaes entre dados Restries de consistncia

Seis fases principais


Levantamento e anlise de requisitos Projeto conceitual do banco de dados Escolha de um modelo de SGBD ou SGBD Projeto lgico de banco de dados Projeto fsico do banco de dados Implementao e tuning do sistema de banco de

dados

Fase 1 - Levantamento de Requisitos Conhecer e analisar as expectativas dos usurios e os usos planejados com o mximo de detalhes possveis Fase 2 - Projeto conceitual do banco de dados Produzir um esquema conceitual do banco de dados, que independente de um SGBD especfico Modelo de dados de alto nvel, como os modelos ER ou EER. Especificao de aplicaes ou transaes conhecidas do banco de dados, usando uma notao independente de qualquer SGBD especfico

Fase 3 - Escolha de um modelo de SGBD ou SGBD Leva em conta aspectos tcnicos, econmicos, e ligados poltica da organizao Fase 4 - Projeto lgico do banco de dados Mapeamento do esquema de dados do modelo conceitual de alto nvel usado na Fase 2 para o modelo do SGBD escolhido (exemplo relacional). Depende da escolha de um tipo especfico de SGBD por exemplo, se decidirmos usar algum SGBD relacional, mas ainda no tivermos decidido qual em particular. O resultado de projeto lgico sistema-independente (embora dependente do modelo de SGBD)

Fase 5 - Projeto fsico do banco de dados

Fase 6 Implementao e tuning do sistema de banco

Projetar as especificaes para o banco de dados em termos do armazenamento fsico das estruturas, da alocao de registros e dos ndices. Depende da escolha do SGBD

de dados

O uso contnuo da aplicao revela necessidades de alteraes no projeto fsico, na indexao, na reorganizao e na alocao de dados atividade que chamamos de tuning do banco de dados. Tuning uma atividade contnua parte da manuteno do sistema que perdura durante todo o ciclo de vida de um banco de dados j que as aplicaes continuam evoluindo e medida que forem surgindo problemas de desempenho

Conceitual Fase 2
descreve apenas parte do banco de dados (as

Lgico Fase 4

relevantes para um usurio)

descreve quais dados esto armazenados e a

Fsico Fase 5

relao entre eles (estruturas simples, ocultando complexidade real) armazenados (complexo e de baixo nvel)

descreve como os dados esto realmente

Usurio
Levantamento de Requisitos

Modelo Conceitual

Escolha do modelo de SGBD

Modelo Lgico

SGBD
Modelo Fsico Manuteno e Tuning

Escolha do SGBD

Independncia Lgica de Dados


a capacidade de alterar o esquema conceitual

sem ter que mudar os esquemas externos ou programas de aplicao. Pode-se mudar o esquema conceitual para expandir a base de dados, com a adio de novos tipos de registros (ou itens de dados), ou reduzir a base de dados removendo um tipo de registro. Esquemas externos que se referem apenas aos dados remanescentes no devem ser afetados

Independncia Fsica de Dados


a capacidade de alterar o esquema interno sem

ter que alterar o esquema conceitual externo. Mudanas no esquema interno podem ser necessrias devido a alguma reorganizao de arquivos fsicos para melhorar o desempenho nas recuperaes e/ou modificaes. Aps a reorganizao, se nenhum dado foi adicionado ou perdido, no haver necessidade de modificar o esquema conceitual.

Pedido 0:n faz 1:1 Cliente tira

1:1

possui

1:n

Item de Pedido 1:n participa

0:n

1:1 Vendedor

1:1 Produto

O que levar em considerao durante a escolha da ferramenta para modelagem


Elaborao de diagramas Gerao de Scripts Gerao de Dicionrio de dados Engenharia Reversa (Reverse Engineering) Suporte a trabalho cooperativo

Durante a fase de manuteno do banco de dados importante escolher uma ferramenta para suporte a atividade de tuning que permita
Verificar os processos/consultas mais onerosos para a

aplicao Avaliar se os parmetros de configurao da instncia do banco de dados esto adequados para a demanda da aplicao Avaliar as consultas para mudanas na implementao (uso de ndices)

Modelagem de Dados

Mais usadas no mercado local Enterprise Archtect ERWin Data Modeler Visual Paradigm PowerDesigner Oracle Designer (Oracle 10g) Freeware DBDesigner Acadmica BrModelo
http://www.sis4.com/brModelo/

Tuning de banco de dados


Oracle Enterprise Manager

Pontos a serem verificados


Comparativo entre Ferramentas CASE
www.oatsolutions.com.br

Enterprise Archtect

http://www.sparxsystems.com.au/products/ea/trial.html

Criar modelo conceitual no EA


Pedido 0:n faz 1:1 Cliente tira 1:1 Vendedor 1:1 possui 1:n Item de Pedido 1:n participa 1:1 Produto

0:n

http://www.sparxsystems.com/enterprise_architect_user_guide/10/domain_bas ed_models/conceptual_data_model.html

S-ar putea să vă placă și