Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouGeraldo de Sá Delgado Alterado mais de 8 anos atrás
1
Projetar Base de Dados
2
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 2 Objetivos deste módulo Apresentar os passos necessários para realizar a atividade projetar base de dados e discutir seus artefatos Discutir orientações para o mapeamento objeto-relacional
3
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 3 Projetar Base de Dados Analisar Casos de Uso Revisar Projeto Projetar Arquitetura Projetista de Banco de Dados Arquiteto de Software Revisor de projeto Projetar Casos de Uso Projetar Subsistemas Projetar Base de Dados Analista de Sistemas Projetar Cápsulas
4
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 4 Projetar Base de Dados Analisar Casos de Uso Revisar Projeto Projetar Arquitetura Projetista de Banco de Dados Arquiteto de Software Revisor de projeto Projetar Casos de Uso Projetar Subsistemas Projetar Base de Dados Analista de Sistemas decisões do arquiteto Projetar Cápsulas
5
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 5 O que foi feito até agora Identificação das classes de análise, seus atributos, responsabilidades e relacionamentos Mapeamento das classes de análise em elementos de projeto Identificação das oportunidades de reuso Definição da organização do sistema Definição da distribuição do sistema Refinamento das realizações dos casos de uso (substituição dos elementos de análise por elementos de projeto) Modelagem dos subsistemas Projeto detalhado de classes
6
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 6 Objetivos desta atividade Definir as estruturas que serão usadas para armazenar os dados persistentes, de acordo com o meio de armazenamento adotado Otimizar essas estruturas de acordo com os requisitos não funcionais do projeto e estimativas do volume de dados a ser manipulado
7
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 7 Considerações Vamos assumir um SGBD relacional como meio de armazenamento Passos para bancos orientados a objetos são similares; passos para outros meios de armazenamento não estão contemplados Levar em conta o modelo corporativo da instituição e regras de nomenclatura Sugestões para aumentar desempenho devem ser discutidas com o projetista responsável
8
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 8 Visão geral dos artefatos Projeto de Banco de Dados Projetista de Banco de Dados Projetar Base de Dados Requisitos Não Funcionais Modelo de Análise e Projeto
9
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 9 Passos para Projetar base de dados 1. Mapear classes persistentes 2. Mapear relacionamentos das classes persistentes 3. Identificar índices 4. Definir restrições de integridade 5. Definir características de armazenamento 6. Criar estruturas de armazenamento
10
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 10 Passo 1. Mapear classes persistentes Mapear atributos em colunas Mapear classes em tabelas Identificar chaves
11
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 11 Mapear atributos em colunas Regra geral - mapear diretamente cada atributo transforma-se em uma coluna Atributos complexos - como mapear?
12
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 12 Mapear atributos em colunas Mapeamento de atributos complexos
13
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 13 Mapear atributos em colunas Considerar também os valores máximos e mínimos para cada atributo O atributo pode ser chave? Preferencialmente, um único atributo para chave Chaves devem ser estáveis! Colunas com valores seqüenciais gerados automaticamente
14
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 14 Mapear classes em tabelas Analisar as classes persistentes O mapeamento dificilmente será direto hierarquias de classes
15
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 15 Pessoa nome endereco telefone Fornecedor produto Funcionario salario dataInicio horasTrabalhadas Mapear classes em tabelas Como mapear?
16
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 16 Mapear classes em tabelas Estratégias de mapeamento uma única tabela para todas as classes da hierarquia uma tabela para cada classe da hierarquia uma tabela para cada classe concreta da hierarquia
17
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 17 Mapear classes em tabelas Diagrama de classes Uma única tabela para todas as classes da hierarquia Uma tabela para cada classe da hierarquia Uma tabela para cada classe concreta da hierarquia Funcionario pessoaID (PK,FK) salario dataInicio Pessoa pessoaID (PK) nome endereco telefone Fornecedor pessoaID (PK,FK) produto Pessoa nome endereco telefone Fornecedor produto Funcionario salario dataInicio horasTrabalhadas Fornecedor pessoaID (PK) nome endereco telefone produto Funcionario pessoaID (PK) nome endereco telefone salario dataInicio Pessoa pessoaID (PK) nome endereco telefone produto salario dataInicio tipoDoObjeto
18
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 18 Passo 2. Mapear relacionamentos das classes persistentes Relacionamentos 1 para 1 Relacionamentos 1 para muitos Relacionamentos muitos para muitos
19
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 19 Relacionamentos 1 para 1 Como mapear?
20
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 20 Relacionamentos 1 para 1 Chaves estrangeiras - FK (foreign key) se as classes tiverem relacionamentos com outras classes Fusão das tabelas se uma das classes for não persistente A decisão é caso-a-caso
21
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 21 Relacionamentos 1 para 1 Funcionario salario dataInicio CartaoPonto horasTrabalhadas 0..111 Mapeamento usando chaves estrangeiras Mapeamento usando fusão de tabelas Funcionario pessoaID (PK) salario dataInicio CartaoPonto cartaoPontoID (PK) horasTrabalhadas pessoaID (FK) Funcionario pessoaID (PK) salario dataInicio horasTrabalhadas
22
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 22 Relacionamentos um para muitos Como mapear?
23
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 23 Relacionamentos um para muitos Mapeados através de chaves estrangeiras A chave estrangeira é inserida na tabela com multiplicidade * do relacionamento Atividade atividadeID (PK) nome pessoaID (FK) Funcionario pessoaID (PK) salario dataInicio
24
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 24 Relacionamentos muitos para muitos Precisam de uma tabela extra para representar a associação Cliente clienteID (PK) nome telefone enderecoResidencial ClienteConta clienteID (FK) contaID (FK) Conta contaID (PK) numero saldo Conta numero saldo Cliente nome telefone enderecoResidencial : Endereco 1..*
25
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 25 Passo 3. Identificar índices Otimização de consultas Custo extra na inclusão, remoção e atualização de dados Não aconselhável em tabelas pequenas
26
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 26 Que colunas indexar? Chaves primárias são sempre indexadas Consultas x operações de manutenção (inclusão/atualização/remoção de dados) Analisar descrições dos casos de uso e requisitos não funcionais freqüência das operações requisitos de desempenho
27
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 27 Passo 4. Definir restrições de integridade Definir restrições sobre as informações que serão armazenadas. Definir se serão utilizados ou não os recursos do SGBD para implementação das restrições Determinar como essas restrições serão implementadas (triggers, procedures, etc.)
28
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 28 Passo 5. Definir características de armazenamento Definição de requisitos de espaço e organização física para o banco de dados Densidade das informações nas páginas de disco Localização das páginas de disco através de drivers de disco Espaço em disco alocado para as estruturas de dados
29
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 29 Passo 6. Criar estruturas de armazenamento Normalmente é feito por um DBA Usar ferramenta como apoio Envolve: criar a base de dados, tabelas, colunas, etc. definir índices para as chaves primárias e restrições de integridade para chaves primárias e estrangeiras (se a ferramenta não criar automaticamente) restrições relacionadas a regras de negócio não são implementadas pelo banco popular tabelas de referência (ex.: estados do brasil)
30
Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 30 Passos realizados nesta atividade 1. Mapear classes persistentes 2. Mapear relacionamentos das classes persistentes 3. Identificar índices 4. Definir restrições de integridade 5. Definir características de armazenamento 6. Criar estruturas de armazenamento
31
Projetar Base de Dados
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.