A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Projetar Base de Dados. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 2 Objetivos deste.

Apresentações semelhantes


Apresentação em tema: "Projetar Base de Dados. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 2 Objetivos deste."— Transcrição da apresentação:

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


Carregar ppt "Projetar Base de Dados. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar base de dados | 2 Objetivos deste."

Apresentações semelhantes


Anúncios Google