Baixe o app para aproveitar ainda mais
Prévia do material em texto
Fábio Barreto 1 Banco de Dados I Prof. Fábio Barreto Banco Dados I 2 Introdução: Dados X Informação Ö “Dados são os fatos em sua forma primária, como por exemplo um nome de um empregado e o número de horas trabalhadas em uma semana, números de peças em estoque ou pedidos de vendas.” (Stair, 1996) Ö “Quando este fatos estão organizados ou arranjados de uma maneira significativa, eles se tornam uma informação. Informação, portanto, é um conjunto de fatos organizados de tal forma que adquirem um valor adicional além do valor do fato em si. Por exemplo, um certo gerente pode achar que o conhecimento do total de vendas mensais é mais adequado ao seu propósito, ou seja, tem mais valor, do que as vendas de cada representante de vendas individualmente.” (Stair, 1996) Banco Dados I 3 Introdução: Dados X Informação Ö “A transformação de dados em informação é um processo, ou uma série de tarefas logicamente relacionadas, executadas para atingir um resultado definido.” (Stair, 1996). Por exemplo: com os dados de peças em estoque, pedidos e vendedores pode-se obter informações tão diferentes quanto: lista de peças que estão em falta no estoque, a média de venda por peça, os melhores e piores vendedores da companhia, e ainda relacionar os piores e melhores vendedores com as horas trabalhadas por cada um deles. Ö Os dados relevantes e que devem ser manipulados por um determinado negócio se mantém estáveis mesmo que o negócio em questão modifique radicalmente sua forma de operação, ou seja, seus processos. Logo, os dados são mais estáveis que os processos. Por esta razão muitos autores acreditam que o banco de dados é uma das partes mais valiosas e importantes de um sistema de informação. Banco Dados I 4 Introdução: Dados X Informação Ö “É uma coleção de dados relacionados. Dados, por sua vez são uma coleção de fatos que podem ser guardados e que tem um significado implícito. Como exemplo, considere o nome, o endereço e o telefone das pessoas que você conhece. Você pode guardar esses dados num caderno de telefone, ou pode guardar num disquete usando um software como ACCESS ou EXCEL. Isto é uma coleção de dados relacionados com significado explicito” (Navathe, 1994) Ö “É uma coleção organizada de fatos e informações”(Stair, 1996) Ö “É uma coleção de fatos registrados que refletem o estado de certos aspectos de interesse do mundo real. “(Machado e Abreu, 1995) Banco Dados I 5 Introdução: Definições “um banco de dados é uma coleção de arquivos com dados operacionais armazenados, usados pelos sistemas de aplicações de uma empresa específica.” Permite portanto: • acrescentar novos arquivos ao BD; • inserir dados em arquivos existentes; • buscar dados de arquivos existentes; • excluir dados de arquivos existentes; • alterar dados de arquivos existentes; • remover arquivos existentes no BD. • “sistema de banco de dados, basicamente, é um sistema computadorizado de manutenção de registros, ou seja, um sistema cujo objetivo global é manter os dados e torná-los disponíveis quando solicitados.” Banco Dados I 6 Introdução: Definições • dados: designam os valores fisicamente registrados no banco de dados; informações: designam o significados destes valores para um usuário específico; os dados apresentam 2 características: - são integrados: entende-se com sendo a união de diversos arquivos, que de outra forma estariam dispersos; - são compartilhados: os dados são compartilhados por diversos usuários, podendo estes acessarem o mesmo conjunto de dados para usá-los com objetivos diferentes. Usados para armazenar os dados. • o software a camada de software entre os usuários e os dados armazenados denomina-se sistema gerenciador de banco de dados (DBMS). O DBMS isola os usuários do BD, dos detalhes a nível de hardware e admite operações de usuários. Banco Dados I 7 Introdução: Definições • os usuários são os atores que são responsáveis pela administração do banco, carregamento dos dados, consulta, criação de aplicações, entre outras tarefas. Dividem-se em: - programadores de aplicações: interagem com o SGBD, por meio de requisições embutidas em programas nas mais diversas linguagens. - usuários finais: acessam o banco de dados interativamente, via aplicações ou interface do próprio SGBD. - administrador: pessoa responsável por fazer o controle, de modo centralizado, dos dados e dos programas que acessam o banco de dados. Suas principais funções são: Banco Dados I 8 Introdução: Definições * deve entender dos dados e da importância destes para a empresa; * decidir quais dados devem ser armazenados no BD; * estabelecer normas para manter e tratar esses dados; * criar os bancos de dados; * gerar um conjunto de tabelas armazenadas no banco de dados; * implementar os controles para pôr em prática as normas tomadas; * assegurar o desempenho adequado do sistema e monitorá-lo; * definição da estrutura de dados e método de acesso; * criação e modificação na organização física; * implementar autorização de acesso ao sistema; * especificar de regras de integridade; * servir de elo de ligação com os usuários; * definir a estratégia de backup e recuperação: após erros humanos, falhas no hardware ou no sistema operacional é necessário retornar o BD o mais breve possível e com as menores conseqüências ao sistema Banco Dados I 9 Introdução: Definições • programas utilitários para auxiliar: - ferramentas de carga: criar uma versão inicial do BD a partir de um ou mais arquivos; - ferramentas de backup/restore (gravação/recuperação); - ferramentas de reorganização: ajustar o banco de dados de forma a aprimorar o seu desempenho –agrupamento dos dados ou regeneração de espaço de dados obsoletos; - ferramentas estatísticas: para computar diversos desempenhos estatísticos, tamanhos de arquivos, gráficos, etc; - ferramentas analíticas: analisa as estatísticas geradas; - dicionário de dados ou catálogo do sistema ou banco de dados do sistema: são “dados sobre dados”(metadados), ou seja, descrição dos objetos do sistema. Banco Dados I 10 Introdução: Definições Por que usar um banco de dados ? Comparando-se ao trabalho manual de armazenar dados: - densidade: não há necessidade de volume de papéis; - velocidade: recuperação e modificação dos dados é realizada de maneira muito rápida; - menos trabalho monótono: troca o trabalho manual pelo trabalho mecânico; - atualidade: informações precisas e atualizadas estão disponíveis a qualquer momento; - proteção: os dados podem ficar melhor protegidos a perdas não intencionais e acesso ilegal. Banco Dados I 11 Introdução: Definições - controle centralizado dos dados operacionais: * redundância dos dados evitada -> desperdício de espaço evitado; * inconsistência evitada -> informações incorretas evitadas, através da remoção de redundâncias ou da redundância controlada (propagação de atualizações); * compartilhamento dos dados por várias aplicações; * permite a aplicação de restrições de segurança; * mantém a integridade dos dados, através da geração de regras de integridade; * suporte a transações (unidade lógica de trabalho) Banco Dados I 12 Definição do BD (Meta-dados) BD armazenado Consultas / Programas de Aplicação Software para processar consultas / programas Software para acessar dados armazenados Usuários / Programadores Sistema de BD SGBD Introdução: Sistemas de Banco de Dados Banco Dados I 13 Definições de Sistema Gerenciador de Banco de Dados (SGBD) Ö “é uma coleção de programas que permite ao usuário criar e manter um banco de dados. ” (Navathe, 1994) Ö “é um sistema computadorizado de armazenamento de dados , ou seja, um sistema cujo objetivo geral é manter informações e fazer com que estas informações estejam disponíveis quandosolicitado” (Date, 1987) Ö “é um conjunto de programas desenhado para desempenhar determinadas funções a fim de atingir objetivos específicos envolvendo a formação e utilização de banco de dados”(Yong, 1990) Ö “é uma coleção de programas e utilitários para organizar, armazenar, atualizar e recuperar dados.”(Hackathorn, 1993) Banco Dados I 14 SGBD X Sistemas de Arquivos ) Um arquivo (tabela) é definido uma única vez e atende a várias aplicações ) Armazena-se junto com os dados toda as informações referentes à forma como foram estruturados os dados e onde eles estão armazenados fisicamente. Essas informações estão armazenadas em um catálogo que é chamado de meta-data. ) Há separação entre programas e dados. No SGBD os acessos são escritos no banco de dados e os programas enviam comandos solicitando o acesso aos dados. Esse conceito é chamado de abstração de dados, que caracteriza-se por uma independência entre programas e dados e entre programas e operações de manipulação de dados. ) São permitidas visões diferenciadas sobre a mesma base de dados para aplicações diferentes. ) É permitido acesso simultâneo de vários usuários ao mesmo dado. Essa simultaneidade é tratada através do gerenciamento da concorrência. Banco Dados I 15 SGBD X Sistemas de Arquivos com com ServidorServidor de de BancosBancos de Dadosde Dados Servidor de Arquivos Servidor de Impressão Programa Servidor de Banco de Dados SGBD Programa cabo da rede Banco Dados I 16 Usuários de BD Ö Administrador de dados (AD): responsáveis por identificar os dados a serem armazenados no BD e por escolher as estruturas apropriadas para representar e armazenar esses dados. Comunicação c/ usuários p/ identificação de visões (esquemas conceituais), desenvolve e mantém o dicionário de dados, garante as necessidade corporativas de dados Ö Administradores do BD (ABD) : desenvolve os esquemas internos através da construção das tabelas, índices, etc., autoriza o acesso ao banco de dados, de modo a coordenar e monitorar seu uso, garante a segurança dos dados, bem como seu backup e recuperação em caso de falhas, garante a performance do banco de dados e desenvolve visões que atendam ao esquema externo Ö Analistas de sistemas : determinam os requisitos dos usuários finais e desenvolvem especificações de transações que satisfaçam esses requisitos. Banco Dados I 17 Usuários de BD Ö Programadores de aplicação : implementam as especificações das transações como programas, testando-os, corrigindo-os e documentando-os. Ö Usuários finais: utilizam os sistemas projetados pelo analista de sistemas cuja base de dados é mantida e monitorada pelo DBA e cuja integração com o conjunto da corporação é garantido pelo esquema conceitual mantido pelo AD. Ö Pessoal de suporte Banco Dados I 18 Funcionalidades de um SGBD Principais Características do SGBD Porque BD? Quando não usar BDs Arquitetura de três esquemas Persistência Cumprimento das restrições de integridade Banco Dados I 19 Principais características de um SGBD Ö Principais características que um SGBD deve prover: ) Independência de Dados ) Controle de Redundância ) Compartilhamento de Dados ) Restrições de Acesso ) Restrições de Integridade ) Mecanismos de Backup e Recuperação ) Múltiplas Interfaces Banco Dados I 20 Principais características de um SGBD Ö Independência de Dados “Consiste na capacidade de permitir que haja evolução na descrição dos dados da empresa, sem que os sistemas ou aplicações tenhas que ser alterados” “Imunidade das aplicações às mudanças na estrutura de armazenagem e estratégias de acesso” A independência dos dados em relação a aplicação representa o um avanço no sentido de tornar qualquer modificação das estruturas dos arquivos imperceptível para os programas. Desta forma, as mudanças na organização dos dados não gera qualquer necessidade de alteração dos programas que o manipulam. ) Exemplo: Inclusão de um novo campo (atributo) em um arquivo (tabela) é feita sem que sejam alterados os programas, pois nos programas não estão definidos as estruturas dos arquivos. Banco Dados I 21 ÖControle de Redundância “Redundância é armazenar o mesmo dado várias vezes para atender diversas aplicações. Para manter a consistência do banco de dados, deve-se armazenar o dado uma única vez e em apenas um lugar no banco de dados. Isto permite manter a consistência, economizar espaço de armazenamento.” Em alguns caso, a redundância é necessária, porém ela deve ser controlada pelo sistema de gerenciamento de banco de dados. “ (Elmasri & Navathe, 1994) “É um conceito representado pelo controle centralizado dos dados compartilhados por diversas aplicações, reduzindo a repetição de dados a um mínimo justificável e aceita apenas por questão de desempenho.” (Cerícola, 1991) Problemas da redundância de dados: • duplicação de esforço para manter os dados atualizados; • desperdício de espaço de armazenamento; • possibilidade de inconsistência dos dados. Principais características de um SGBD Banco Dados I 22 Ö Compartilhamento de Dados Permitir a usuário diferentes a utilização simultânea de um mesmo dado. ) Exemplos: As informações sobre clientes podem ser acessadas pelo sistema de vendas, de contas a receber e faturamento simultaneamente. A mesma base de dados sobre empregados pode ser usada simultaneamente pelo sistema de recursos humanos e pelo sistema de vendas. No primeiro caso os dados serão utilizados no processo de pagamento e no segundo no processo de alocação dos vendedores às áreas de atendimento a cliente. Principais características de um SGBD Banco Dados I 23 Ö Restrições de Acesso “Um SGBD deve prover controles de segurança e autorização, que são utilizados para criar contas e seus respectivos direitos de acesso quando múltiplos usuários compartilham um banco de dados.” (Navathe,1994) “ Os controles de segurança abrangem conceitos tais como: procedimentos de validação e controle, garantia de integridade e controle de acesso, que visam resguardar o banco de dados de uma possível perda ou destruição de dados seja por falha de programa ou por falha de equipamento” (Cerícola, 1991) ) Exemplos: O sistema de pagamento poderá atualizar o cargo ocupado pelo empregado enquanto o sistema de vendas poderá apensa consultar qual o cargo de um determinado empregado. O sistema de controle de material poderá incluir um novo material no cadastro existente enquanto a área de compras consultará as informações sobre os materiais necessários para o processo de produção. Principais características de um SGBD Banco Dados I 24 Principais características de um SGBD Ö Restrições de Acesso (cont) ) Segurança e autorização • senhas para usuários e para grupos de usuários; • restrição de acesso a parte do banco de dados; • proibição de executar certas operações; • acesso restrito apenas a transações “enlatadas”; • proibição de uso de software privilegiado, como o software de criação de contas. Banco Dados I 25 Ö Restrições de Integridade “A maioria dos SGBD provem certas restrições de integridade que devem ser aplicadas aos dados. O SGBD deve ter mecanismos para possibilitar a definição das restrições e assegurar o respeito a estas. Um exemplo de restrição de integridade é a definição de um tipo de dado (data type) para cada item de dado. ) Exemplo: Ao definir o tipo cores como: azul, vermelho, amarelo e verde. E em seguida definir um atributo cor_parede como do tipo cores. O SGBD aceitará apenas os tipos definidos ou seja azul, vermelho, amarelo e verde como válidos para este atributo. Pergunta: o que aconteceria se o usuário informasse a cor brancopara o atributo cor_parede? Principais características de um SGBD Banco Dados I 26 Ö Mecanismos de Backup e Recuperação “Um SGBD deve prover facilidades para recuperação de falhas do hardware ou software. Estes mecanismos evitam que cada aplicação tenha que projetar e desenvolver seus próprios controles contra a perda de dados. ) Exemplo: Se o sistema falha no meio de um programa de alteração complexo, o mecanismo de recuperação é responsável por assegurar que o banco de dados será restaurado para o estágio que ele se encontrava antes do início da execução do programa. Principais características de um SGBD Banco Dados I 27 Múltiplas Interfaces • Linguagens de consulta para usuários casuais; • Linguagens de programação para programadores de aplicações; • Interfaces gráficas com formulários (telas) e menus para usuários paramétricos; • Interfaces para administração do banco de dados; Principais características de um SGBD Banco Dados I 28 Benefícios adicionais dos bancos de dados ) Potencial para o estabelecimento e o cumprimento de padrões ) Flexibilidade de mudanças ) Redução no tempo de desenvolvimento de novas aplicações ) Disponibilidade de informação atualizada Banco Dados I 29 Bancos de dados NÃO são sempre a solução!!! Ö Sobrecustos ) Alto investimento inicial ) Custo da generalidade do SGBD ) “Overhead” de processamento Ö Quando NÃO usar bancos de dados ) Volume de dados pequeno, aplicações simples, bem definidas. Mudanças não são esperadas. ) Requisitos estritos de tempo real. ) Acessos múltiplos e concorrentes não são necessários. Banco Dados I 30 MODELAGEM DE DADOS •Engenharia da Informação • Metodologia utilizada para o Desenvolvimento de Sistemas cujo enfoque principal é o DADO. • Baseia-se no Princípio da Independência dos Dados, ou seja, os dados possuem estruturas e características inerentes a si mesmos, independentes dos processos que os utilizam ou venham a utilizar. • A idéia principal é levantar as estruturas de dados que vão dar origem aos Bancos de Dados, provendo um fácil acesso aos mesmos. Os dados são estáveis, não são voláteis como os processos. • O suporte desta metodologia está baseado na técnica de Modelagem de Dados e seus relacionamentos, desenvolvida inicialmente por Peter Chen (1976). Banco Dados I 31 MODELAGEM DE DADOS •Modelo • É a representação abstrata e simplificada de um sistema real, com a qual se pode explicar ou testar o seu comportamento, em seu todo, ou em partes. ex. Planta baixa de um apartamento Aeromodelo Manequim • O Modelo tem como referência o objeto observado, objeto este que pode ser uma empresa, um departamento, uma função da empresa, um sistema , etc. Banco Dados I 32 MODELAGEM DE DADOS Modelagem de Dados Consiste no processo de levantamento de dados, investigação e análise dos dados e seus relacionamentos, enfocando quais informações são necessárias para o funcionamento do objeto observado, independentemente de como ele funciona. É utilizada como meio para obtenção das estruturas de dados que nos levam ao projeto de banco de dados. Ao longo do processo de modelagem temos 3 tipos distintos de modelos de dados: • Modelo Conceitual • Modelo Lógico de Dados • Modelo Físico de Dados Banco Dados I 33 MODELAGEM DE DADOS Modelo Conceitual • Representa e/ou descreve a realidade do ambiente, constituindo uma visão global dos principais dados e relacionamentos (estruturas de informação). Descreve as informações contidas em uma realidade, as quais irão estar armazenadas em um B.D. • Os objetos(dados), suas características e relacionamentos tem a representação fiel ao ambiente observado, independente de quaisquer considerações físicas e operacionais; • Representa o objeto observado e suas necessidades presente e futura de informação; • A partir do Modelo Conceitual deverá ser possível “derivar” diferentes estruturas de implementação, sem haver necessidade de se alterar o Modelo Conceitual; • Esse modelo está ligado às fases de análise e nunca às fases de projeto; • Para representar esse modelo utilizamos como técnica a abordagem Entidade- Relacionamento(E-R) que se destina basicamente ao projeto de Banco de Dados. Banco Dados I 34 MODELAGEM DE DADOS Modelo Lógico de Dados • Descreve as estruturas que estarão contidas no banco de dados, sem considerar nenhuma característica específica de um Sistema Gerenciador de Banco de Dados (SGBD), resultando em um esquema lógico de dados. Tem seu início a partir do Modelo Conceitual • Os objetos, suas características e relacionamentos tem a representação de acordo com as regras de implementação e limitações imposta por algum tipo de tecnologia. Depende do modelo físico da implementação (abordagem relacional / rede / hierárquica); • Utilizam-se conceitos tais como: chaves de acesso, controle de chaves duplicadas, normalização, integridade referencial, etc; • Esse modelo está ligado à fase de projeto. Banco Dados I 35 MODELAGEM DE DADOS Modelo Físico de Dados • Utiliza as características físicas de implementação em função do Banco de Dados utilizado; • Deve obedecer aos requisitos de desempenho do sistema (tempo de resposta, I/O, espaço em disco, etc.); • Descreve as estruturas físicas de armazenamento dos dados tais como: tamanho dos campos, índices, nomenclaturas, tipo de preenchimento dos campos, etc. Tem origem no Modelo Lógico e detalha o estudo dos métodos de acesso ao SGBD Banco Dados I 36 Percepção do mundo real: elementos de abstração Minimundo: Porção específica da realidade, captada pelo analista, objeto de observação detalhada. Caso a análise do minimundo torne-se muito complexa, o analista pode subdividi-lo em pontos menores, chamados de “visões”. Banco de Dados: Coleção de fatos registrados que refletem certos aspectos de interesse do mundo real. Cada mudança em algum item do banco de dados reflete uma mudança ocorrida na realidade. Banco Dados I 37 Percepção do mundo real Toda realidade é sempre, em princípio, bastante nebulosa e informal. Através da observação podemos extrair desta realidade fatos que nos levam a conhecê-la de uma forma mais organizada. Em um negócio, existem fatos que, observados e modelados, dizem algo a respeito do funcionamento deste negócio. Estes fatos estão ligados diretamente ao funcionamento da realidade, a qual temos interesse em compreender e manter. Para que possamos retratar estes fatos e que os mesmos possam nos levar a futuras decisões e ações, se faz necessário então registrá-los. Este registro é feito através da criação de um MODELO, isto é, algo que nos mostre como as informações estão relacionadas. Ao coletar e relacionar os fatos relevantes, devemos identificar os elementos geradores de informação, as leis que regem esta realidade, bem como as operações que incidem sobre os elementos básicos (dados). O que se quer criar é uma ABSTRAÇÃO da realidade, que seja capaz de registrar os acontecimentos da mesma, de modo que se possa implementar um sistema automatizado que atenda às reais necessidades de informação. Banco Dados I 38 Percepção do mundo real: Níveis de Abstração Modelo Conceitual Modelo Logico Modelo Fisico BD MINIMUNDO Realidade Nebulosa Realidade Nebulosa observa Analista Organiza ideias descreve Desenvolver um projeto de sistema de informação consiste em traduzir um “problema” do mundo real numa “solução” que envolve a organização, pessoas e tecnologia (hardware e software). Banco Dados I 39 PROJETO (DESIGN) DE BANCOS DE DADOS Requisitos de Dados Projeto Conceitual Projeto Lógico Projeto FísicoEsquema Conceitual Esquema Físico Esquema Lógico Coleta e Análise de Requisitos Mini-Mundo Independente de SGBD Específico para um SGBD Foco : dados Banco Dados I 40 VisõesVisões ExemploExemplo: : Empresa aérea 1- Funcionários (Nome, CPF, DataNasc, Telefone, DataAdmissão) 2- Equipamentos (NumAvião, Marca, Tipo, Capacidade, NumTripulação, DataRevisão) 3- Funções (NomeFunção, Salário, Qualificação, TipoEquipam) 4- Vôo (NumVôo, Linha, Equipamento, NumHoras, ServiçoBordo, HorárioSaída) Aplicações: • Folha pagamento (1,3) • Equipe tripulação (1,2,3) • Manutenção equip (1, 2, 3) • Reserva vôo (2,4) • Escala manutenção (1,2,3) Banco Dados I 41 Programa de aplicação de BDSGBD Programa deaplicação de BDPrograma deaplicação dados SISTEMA DE INFORMAÇÃO Banco Dados I 42 Requisitos de Dados Projeto Conceitual Projeto Lógico Projeto Físico Coleta/Especificação de Requisitos Requisitos Funcionais Análise Funcional Projeto Funcional Programação Programa de aplicação de BDSGBD Programa de aplicação de BD Programa de aplicação dados Mundo Real Banco Dados I 43 p j Todo projeto de um sistema de aplicação para banco de dados necessita de um coração, um centro nervoso do mesmo. A modelagem de um sistema através da abordagem Entidades-Relacionamentos representa este ponto central no projeto conceitual de um sistema. O objetivo da Modelagem de Dados é transmitir e apresentar uma representação única, não redundante e resumida, dos dados de uma aplicação. Em projetos conceituais de aplicação em banco de dados o Modelo Entidades-Relacionamentos é o mais largamente utilizado para representação e entendimento dos dados que compõe um sistema. Desenvolvida na década de 70 e possui paternidade discutível: Charles Bachman, James Martin, Peter Chen e outros. É de Peter Chen o rótulo MER (Modelo Entidades- Relacionamentos) que se transformou em, praticamente, sinônimo da técnica de Modelagem de Dados. Um Modelo de Dados é uma forma de representação gráfica do conhecimento que se tem sobre um ambiente qualquer. Mostra uma visão das informações de interesse e dos vínculos existentes entre elas, em um determinado momento. O projeto de Banco de Dados Banco Dados I 44 Modelo Entidades-Relacionamentos Quando Peter Chen formulou a proposta do Modelo Entidades- Relacionamentos , baseou-se na compreensão da realidade em que se situava o problema. Como iremos projetar um sistema se não entendemos o negócio para o qual será realizado? Chen dedicou-se a destacar a importância de reconhecer os objetos que compõem este negócio, independentemente das formas de tratamento das informações, procedimentos, programas, etc... Estes objetos que desejamos conhecer e modelar foram classificados em dois grupos: Entidades e Relacionamentos. A figura seguinte representa um fato comum que pode ser representado através dos elementos básicos que compõem o Modelo Entidades- Relacionamentos Banco Dados I 45 Objetos conceituais CLIENTE PEDIDO PRODUTO faz contem Banco Dados I 46 Entidades Define-se Entidade como aquele objeto que existe no mundo real, com identificação distinta e com um significado próprio. São as “coisas” que existem no negócio, ou ainda, descrevem o negócio em si. A representação de uma entidade no MER é feita através de um retângulo, com o nome da entidade em seu interior. CLIENTE PRODUTO Banco Dados I 47 Todo objeto para ser uma entidade possui propriedades que são descritas por atributos e valores. Estes atributos e valores, juntos, descrevem as instâncias de uma entidade. O que descreve CLIENTE ? Cliente é descrito por um código de identificação, nome, endereço, telefone de contato, CGC ou CPF, etc.... A representação de um atributo no MER é feita através de uma elipse, com o nome do atributo em seu interior. CPFCPFNOMENOME CÓDIGOCÓDIGO Atributos Banco Dados I 48 Mais sobre Entidades ... Entidades podem ser tangíveis Pessoas Edifícios Entidades podem ser intangíveis órgão (dentro de uma empresa) reserva em um vôo Entidade Fraca não existe se não estiver relacionada a outra, isto é, ela é logicamente dependente da outra. Banco Dados I 49 Mais sobre Atributos ... Atributos Compostos (Grupo de Atributos): Combinação ou agregação de atributos relacionados Exemplo: Endereço é formado pelos atributos: rua, bairro, cidade, estado, CEP. Atributos Simples ou Atômicos: Atributos que não são divisíveis em unidades dados mais simples. Exemplo: DataNascimento, NumeroFatura, ValorTotalVenda Atributos Derivados: Atributo pode ser derivado dos valores de outros atributos (atributos base) ou entidades. Exemplo: Idade, empréstimos _mantidos Domínio de um atributo: descrição de possíveis valores permitidos para um atributo. Exemplo: domínio do atributo CorPeça: azul, amarelo, verde, vermelho, branco Valores nulos: atributo sem valor Desconhecido Não aplicável Omisso Banco Dados I 50 Relacionamento Um relacionamento é uma associação entre duas ou mais entidades cujo significado seja de interesse para a realidade analisada. Os relacionamentos estão intimamente ligados às ações realizadas pelos processos sobre os dados e representam os caminhos de navegação ou rotas de acesso do Modelo de Dados. Existem várias formas de se representar graficamente um relacionamento, Por exemplo, Peter Chen utiliza um retângulo para desenhar uma associação entre entidades, outros autores a representam através de um traço unindo as entidades. CLIENTE pede PRODUTO CLIENTE PRODUTO Banco Dados I 51 Modelando o Negócio Num primeiro contato com um negócio para o qual se efetuará um sistema de aplicação, podemos não possuir conhecimento especializado no mesmo, logo, devemos procurar conhecer seus objetos principais. Ao descrevermos textualmente a realidade analisada, as entidades podem ser identificadas por similaridade com a análise sintática nas linguagens naturais. Nesse caso, algumas regras podem ser aplicadas: o sujeito e o objeto da sentença são, provavelmente, entidades; os verbos sugerem relacionamentos; “Um país participa das Olimpíadas”: A frase sugere de imediato a garimpagem de PAÍS e OLIMPÍADAS como entidades e o verbo “PARTICIPA” como o relacionamento entre elas. Banco Dados I 52 Identificação de Relacionamento Relacionamento entre objetos de diferentes tipos: Nesse tipo de relacionamento associamos instâncias de um objeto de um tipo a outras de outro tipo. Exemplo: o relacionamento entre PESSOA e VEICULO com a finalidade de expressar o conceito de propriedade. Assim, se desejamos ter, conceitualmente, representado um ambiente observado onde “João é proprietário de um jipe amarelo”, poderemos nos valer da seguinte estratégia: 1- Identificar os objetos envolvidos PESSOA, com a instância “João” VEICULO, com a instância “jipe” 2 - Caracterizar os objetos PESSOA, caracterizado por: nome, data de nascimento, sexo, CPF VEICULO, caracterizado por: marca cor, ano de fabricação, número do chassis Banco Dados I 53 Identificação de Relacionamento 3 - Representar os objetos: 4- Identificar o relacionamento entre os objetos PESSOA é proprietária de VEICULO 5 - Caracterizar o relacionamento entre os objetos Nem toda PESSOA é proprietária de um VEICULO Um VEICULO pode pertencer a uma PESSOA ou não Algumas PESSOA possuem mais de um VEICULO Se um VEICULO pertence a uma PESSOA, ele não pertence a mais ninguém PESSOA VEICULO Banco Dados I 54 Identificação de Relacionamento 6 - Representar o relacionamento Este processo pode ser utilizado para mapear qualquerrelacionamento entre dois, ou mais, tipos de objetos e, também, entre os mesmos objetos. Assim, se necessitamos expandir nosso modelo representando também as observações: - um VEICULO é de propriedade de uma PESSOA mas pode ser utilizado por diversas PESSOAS para locomoção - uma PESSOA utiliza um IMOVEL para morar Teríamos que repetir os passos de 1 a 6 para cada nova observação. PESSOA VEICULO é proprietario de Banco Dados I 55 Identificação de Relacionamento 1 - Identificar os objetos envolvidos PESSOA VEICULO IMOVEL 2 - Caracterizar os objetos PESSOA, caracterizado por: nome, data de nascimento, sexo, CPF VEICULO, caracterizado por: marca cor, ano de fabricação, número do chassis IMOVEL, caracterizado por: numero do registro, endereço, metragem, tipo de edificação 3 - Representar os objetos: PESSOA VEICULO IMOVEL Banco Dados I 56 Identificação de Relacionamento 4- Identificar os novos relacionamentos entre os objetos PESSOA utiliza VEICULO PESSOA utiliza IMOVEL 5 - Caracterizar o relacionamento entre os objetos Nem toda PESSOA utiliza um VEICULO Um VEICULO pode ser utilizado por mais de uma PESSOA Algumas PESSOA utilizam mais de um VEICULO Um VEICULO sempre será utilizado por, pelo menos, uma PESSOA Toda PESSOA utiliza um, e somente um, IMOVEL para morar Um IMOVEL pode ser utilizado por uma ou mais PESSOA Um IMOVEL nem sempre é utilizado por uma PESSOA Banco Dados I Identificação de Relacionamento 6 - Representar novos relacionamentos PESSOA VEICULO é proprietario de utiliza utiliza IMOVEL Banco Dados I 58 Exercício Construa o Modelo Entidades-Relacionamentos para o mini-mundo descrito a seguir: Suponha que estamos fazendo a análise de dados da área de Recursos Humanos da empresa ABC e tenhamos obtido as seguintes informações: “Cada funcionário é lotado em um departamento e tem um cargo de carreira. Para o cadastramento do funcionário são registrados: nome, endereço, telefone, cargo, departamento, salário, horário, filiação, idade, CPF, identidade e nacionalidade. Para cada dependente do funcionário são registrados: nome, idade, parentesco e sexo. Para cada departamento deseja-se saber: nome, sigla, nome do chefe, número de funcionários. Para cada cargo deseja-se saber: nome, sigla e salário base. Sabemos também que não é armazenado o histórico de cargos dos funcionários e que nem todos os funcionários possuem dependentes e que, também, caso um funcionário seja casado com outro funcionário, o dependente oficialmente pertencerá a apenas um deles. Podemos ter departamentos momentaneamente sem nenhum funcionário.” Banco Dados I 59 Cardinalidade Uma relação entre duas entidades pode ser descrita em termos da sua cardinalidade Como expressar a cardinalidade Um para Um 1:1 Um empregado pode ser atribuído a um carro. Um para Muitos 1:N Um cliente pode tomar emprestado várias fitas de vídeo. Muitos para Muitos N:M Um estudante pode fazer várias disciplinas e uma disciplina pode ser cursada por vários estudantes ) A cardinalidade é determinada pelas “regras de negócio” criadas pela organização. Os usuários e a documentação da organização dirão qual a cardinalidade existente entre entidades e atributos Banco Dados I 60 CarroPossuiEmpregado 1 1 Jipe Golf João Manuel Pedro Maria Vicente Fusca Vectra Renault Cardinalidade um para um Banco Dados I 61 Cardinalidade um para muitos VideoAlugaCliente 1 N Melhor é Impossível Laura João André Pedro Carol Central do Brasil Gladiador A Vida é Bela Bossa Nova Operação Marte Naufrago Mar em Fúria Tomates Verdes Fritos Banco Dados I 62 Cardinalidade muitos muitos Curso Matricula Aluno N M Compõe Disciplina Informática Engenharia ENG 602 INF 351 INF 404 ENG 606 Rita Coelho Maria Josefina Getúlio Mike Jordão Valter Luis Barbara N1 INF 303 Banco Dados I 63 Mais sobre Relacionamentos ... PedidoPedido-ClienteCliente PedidoFazCliente EmpréstimoObtémCliente EmpréstimoEmp-ClienteCliente Relações podem ser nomeados usando verbos ou palavras agregadas Banco Dados I 64 As relações podem ter limites mínimos e máximos Um professor pode ensinar de 0 a 4 disciplinas (limite inferior é 0 e limite superior é 4) e um uma disciplina pode ser ministrada por 0 a 1 professor (limite inferior é 0 e o limite superior é 1) Professor Ministra Disciplina 0:1 0:4 Limite Inferior Limite Superior Limite Inferior Limite Superior Mais sobre Relacionamentos ... ) Quando o limite inferior da cardinalidade for 0, o relacionamento é definido como “opcional” ) Quando o limite inferior da cardinalidade for 1, o relacionamento é definido como “obrigatório” Banco Dados I 65 Relações recursivas Ocorre quando uma entidade possui um relacionamento com ela mesma Os relacionamentos recursivos podem também ter limites inferiores e superiores Exemplo: Um organização possui uma entidade “Empregado”e que guardar a informação sobre quais empregados são casados entre si. Esse é um relacionamento recursivo 1:1 onde a entidade “Empregado” se relaciona consigo mesmo. Mais sobre Relacionamentos ... Rita Carla Maria Josefina Getúlio Marta Jordão Valter Luis Barbara Manuel Joaquim Banco Dados I 66 Relacionamentos recursivos um para um Casado Com Empregado 1 1 Pode ser visto como a entidade relacionando-se com ela mesma Mais sobre Relacionamentos ... Casado Com Empregado 1 1 Empregado Banco Dados I 67 Limites inferiores e superiores em um relacionamento 1:1 recursivo Casado Com Empregado 1 : 1 0 : 1 Limite inferior Limite superior Limite inferior Limite superior Mais sobre Relacionamentos ... Banco Dados I 68 Mais sobre Relacionamentos ... Atributos de Relacionamentos Os atributos de relacionamento são possíveis quando o grau do relacionamento for N : M ( muitos para muitos ) Professor Ministra Disciplina N M PROFESSOR: Matrícula, Nome DISCIPLINA: Código, Nome MINISTRA: Data de Início Banco Dados I 69 Mais sobre Relacionamentos ... Banco Dados I 70 Mais sobre Relacionamentos ... Relacionamentos Ternários No caso de relacionamentos de grau maior que dois, o conceito de cardinalidade de relacionamento é uma extensão não trivial do conceito de cardinalidade em relacionamentos binários. Lembre-se que, em um relacionamento binário R entre duas entidades A e B, a cardinalidade máxima de A em R indica quantas ocorrências de B podem estar associadas a cada ocorrência de A. No caso de um relacionamento ternário, a cardinalidade refere-se a pares de entidades. Em um relacionamento R entre três entidades A, B e C, a cardinalidade máxima de A e B dentro de R indica quantas ocorrências de C podem estar associadas a um par de ocorrências de A e B. Cada ocorrência do relacionamento DISTRIBUIÇÃO associa três ocorrências de entidade: um produto a ser distribuído, uma cidade na qual é feita a distribuição e um distribuidor. Banco Dados I 71 Mais sobre Relacionamentos ... Relacionamentos Ternários Banco Dados I 72 Mais sobre Relacionamentos ... Relacionamentos Ternários Exemplificando, na Figura, o “1” na linha que liga o retângulo representativo da entidade DISTRIBUIDOR ao losango representativo do relacionamento expressa que cada par de ocorrências (cidade, produto) está associado a no máximo um distribuidor. Em outros termos, não há concorrência pela distribuição de um produto em uma cidade. Já os dois “n” expressam que: •A um par (cidade, distribuidor) podem estar associados muitos produtos, ou em outros termos, um distribuidorpode distribuir em uma cidade muitos produtos. •A um par (produto, distribuidor) podem estar associadas muitas cidades, ou em outros termos um distribuidor pode distribuir um produto em muitas cidades. Banco Dados I 73 Modelo Relacional Atributo Identificador: A atributo ou conjunto de atributos que será utilizado para identificar instâncias de uma entidade. Faz parte do modelo conceitual. Chave: designa o conceito de item de busca, isto é, um atributo ou conjunto de atributos que será utilizado nas consultas à base de dados. É um conceito lógico da aplicação. Índice: É um recurso físico que visa otimizar a recuperação de uma informação, via um método de acesso. Seu objetivo principal está relacionado com a performance de uma aplicação. ) Uma chave pode ser utilizada como índice, mas um índice não é, necessariamente, uma chave Banco Dados I 74 )Super Chave é um conjunto de um ou mais atributos que, tomados coletivamente, permitem identificar unicamente uma instância de entidade )Chave Candidata –Deve ser única, ou seja, nenhuma instância de uma entidade pode ter o mesmo valor para o atributo escolhido como chave candidata –Deve ser irredutível, nenhum subconjunto da chave candidata pode ter sozinho a propriedade de ser único. ) Chave primária –É um caso especial da chave candidata. É a escolhida entre as candidatas para identificar unicamente uma tupla. ) Chave estrangeira – É quando um atributo de uma relação é chave primária em outra. –Constitui um conceito de vital importância no modelo relacional: é o elo de ligação lógica entre as tabelas (relacionamentos) –Através das operações com as chaves estrangeiras que se garante a INTEGRIDADE REFERENCIAL do banco de dados: Modelo Relacional Banco Dados I 75 z Regras de Integridade : Regras que devem ser obedecidas em todos os estados válidos da base de dados (podem envolver uma ou mais linhas de uma ou mais tabelas) z Integridade da Entidade Ö O valor da chave não pode ser vazio Ö A chave primária serve como representante na base de dados de uma entidade – se a chave primária for vazia, alinha não corresponde a nenhuma entidade z Integridade de Chave Primária Ö O chave primária tem que ser única z Integridade Referencial Ö As chaves estrangeiras tem que ser respeitadas, ou seja, se existe um determinado valor para o atributo na tabela onde ele é chave estrangeira este valor deve existir na tabela onde ele é chave primária z Restrições de Integridades Semânticas Ö Todas as demais regras que devem ser obedecidas por todos os estados válidos da base de dados Modelo Relacional Banco Dados I 76 z Regras de Integridade : Regras que devem ser obedecidas em todos os estados válidos da base de dados (podem envolver uma ou mais linhas de uma ou mais tabelas) z Integridade da Entidade Ö O valor da chave não pode ser vazio Ö A chave primária serve como representante na base de dados de uma entidade – se a chave primária for vazia, alinha não corresponde a nenhuma entidade z Integridade de Chave Primária Ö O chave primária tem que ser única z Integridade Referencial Ö As chaves estrangeiras tem que ser respeitadas, ou seja, se existe um determinado valor para o atributo na tabela onde ele é chave estrangeira este valor deve existir na tabela onde ele é chave primária z Restrições de Integridades Semânticas Ö Todas as demais regras que devem ser obedecidas por todos os estados válidos da base de dados Modelo Relacional Banco Dados I 77 zGeneralização/Especialização : Além de relacionamentos e atributos, propriedades podem ser atribuídas a entidades através do conceito de generalização/especialização. Através deste conceito é possível atribuir propriedades particulares a um subconjunto das ocorrências (especializadas) de uma entidade genérica. O símbolo para representar generalização/especialização é um triângulo isósceles. Modelo Relacional: Recursos estendidos Banco Dados I 78 Modelo Relacional: Recursos estendidos Banco Dados I 79 Modelo Relacional: Recursos estendidos Banco Dados I 80 zEntidade Associativa : Um relacionamento é uma associação entre entidades. Na modelagem ER não foi prevista a possibilidade de associar uma entidade com um relacionamento ou então de associar dois relacionamentos entre si. Na prática, quando está- se construindo um novo DER ou modificando um DER existente, surgem situações em que é desejável permitir a associação de uma entidade a um relacionamento. Modelo Relacional: Recursos estendidos Banco Dados I 81 Modelo Relacional: Recursos estendidos Banco Dados I 82 Modelo Relacional: Recursos estendidos Banco Dados I 83 Modelo Relacional: Recursos estendidos Banco Dados I 84 Um modelo ER é um modelo formal: Um DER é um modelo formal, preciso, não ambíguo. Isto significa que diferentes leitores de um mesmo DER devem sempre entender exatamente o mesmo. Tanto é assim, que um DER pode ser usado como entrada a uma ferramenta CASE4 na geração de um banco de dados relacional. Abordagem ER têm poder de expressão limitado: Neste contexto, o DER nada mais é do que uma descrição abstrata das estruturas do banco de dados (das tabelas, no caso de um banco de dados relacional). Construções artificiais, isto é, construções incluídas no modelo apenas para satisfazer determinadas restrições de integridade são indesejáveis, pois distorcem os objetivos que se tem ao construir o DER. Modelo Relacional: Propriedades do Modelo ER Banco Dados I 85 Diferentes modelos podem ser equivalentes: Às vezes, discussões são absolutamente supérfluas, pois os diferentes modelos ER, em qualquer das opções defendidas pelos diferentes analistas, geram o mesmo banco de dados. Assim, para analisar se dois modelos são equivalentes, é necessário considerar um conjunto de regras de tradução de modelos ER para modelos lógicos de BD. Modelo Relacional: Propriedades do Modelo ER Banco Dados I 86 Atributo versus entidades relacionada: Critérios para decisão: Caso o objeto cuja modelagem está em discussão esteja vinculado a outros objetos (atributos, relacionamentos, entidades genéricas ou especializadas), o objeto deve ser modelado como entidade, já que um atributo não pode ter atributos, nem estar relacionado a outras entidades, nem ser generalizado ou especializado. Caso contrário, o objeto pode ser modelado como atributo. Quando o conjunto de valores de um determinado objeto é fixo durante toda a vida do sistema ele pode ser modelado como atributo, visto que o domínio de valores de um atributo é imutável. Modelo Relacional: Identificando Construções Banco Dados I 87 Atributo versus generalização/especificação Uma especialização deve ser usada quando sabe-se que as classes especializadas de entidades possuem propriedades (atributos, relacionamentos, generalizações, especializações) particulares. Assim, no caso do exemplo abaixo, faz sentido especializar a entidade empregado de acordo com a categoria funcional, no caso de as classes particulares possuírem atributos ou relacionamentos próprios (um exemplo é o caso da Figura 3.5). Modelo Relacional: Identificando Construções Banco Dados I 88 Modelo Relacional: Identificando Construções Banco Dados I 89 Atributos opcionais e multi- valorados No processo de modelagem é aconselhável tentar restringir-se ao uso de atributos obrigatórios. Atributo opcional: O DER a Figura abaixo apresenta uma entidade com diversos atributos opcionais. Segundo este DER, nem todo empregado possui um registro no CREA (Conselho Regional de Engenharia e Arquitetura), nem todo empregado possui um registro no CRM (Conselho Regional de Medicina), etc. Entretanto,o modelo não representa que combinações de atributos são válidas. Será que um empregado pode possuir atributos CREA, CRM, data de expiração da carteira de habilitação mas não possuir o número da carteira? Neste modelo fica claro quais os atributos de cada um dos subconjuntos particulares de EMPREGADO. Assim, toda vez que aparecer um atributo opcional é aconselhável verificar se a modelagem através de entidades especializadas não é mais conveniente. Modelo Relacional: Identificando Construções Banco Dados I 90 Modelo Relacional: Identificando Construções Banco Dados I 91 Atributos multi-valorados Atributos multi-valorados são indesejáveis por duas razões: Nos SGBD relacionais que seguem o padrão SQL/2, atributos multi- valorados não possuem implementação direta. Não existe em um SGBD relacional uma construção como os “arrays” de Pascal. Assim, caso esteja sendo projetada um banco de dados relacional, é aconselhável usar apenas atributos mono-valorados. O Atributos multi-valorados podem induzir a um erro, que é o de ocultar entidades e relacionamentos em atributos multi-valorados. A abaixo mostra um DER em que são modelados empregados. Como atributos de EMPREGADO aparecem o nome do empregado, seus dependentes e os lançamentos de pagamento que compõem seu contracheque. Entretanto, ao considerar a entidade EMPREGADO mais detalhadamente, observa-se que tanto dependentes, quanto os lançamentos possuem propriedades particulares. Cada dependente possui um nome e uma data de nascimento. Já um lançamento de pagamento possui um valor e um tipo de lançamento, sobre o qual também nos interessa manter informações, como o código do tipo e sua descrição. Modelo Relacional: Identificando Construções Banco Dados I 92 O modelo de ser correto Um modelo está correto quando não contém erros de modelagem, isto é, quando os conceitos de modelagem ER são corretamente empregados para modelar a realidade em questão. Os erros são: - Sintáticos ocorrem quando o modelo não respeita as regras de construção de um modelo ER. Ex.: Associar atributos a atributos, o de associar relacionamentos a atributos, o de associar relacionamentos através de outros relacionamentos ou de especializar relacionamentos ou atributos. Modelo Relacional: Verificação do modelo Banco Dados I 93 O modelo de ser correto - Semânticos ocorrem quando o modelo, apesar de obedecer as regras de construção de modelos ER (estar sintaticamente correto) reflete a realidade de forma inconsistente. Alguns exemplos de erros semânticos praticados freqüentemente são: Estabelecer associações incorretas. Um exemplo é associar a uma entidade um atributo que na realidade pertence a outra entidade. Por exemplo, em um modelo com entidades CLIENTE e FILIAL, associar a CLIENTE o nome da filial com o qual o cliente trabalha usualmente (nome de filial é um atributo de FILIAL). Usar uma entidade do modelo como atributo de outra entidade. Um exemplo seria ter, em um modelo, uma entidade BANCO e usar banco como atributo de uma outra entidade CLIENTE. Cada objeto da realidade modelada deve aparecer uma única vez no modelo ER. Usar o número incorreto de entidades em um relacionamento. Um exemplo é o de fundir em um único relacionamento ternário dois relacionamentos binários independentes. As regras de normalização de bases de dados relacionais servem também para verificar a correção de modelos ER Modelo Relacional: Verificação do modelo Banco Dados I 94 O modelo de ser correto - Semânticos ocorrem quando o modelo, apesar de obedecer as regras de construção de modelos ER (estar sintaticamente correto) reflete a realidade de forma inconsistente. Alguns exemplos de erros semânticos praticados freqüentemente são: Estabelecer associações incorretas. Um exemplo é associar a uma entidade um atributo que na realidade pertence a outra entidade. Por exemplo, em um modelo com entidades CLIENTE e FILIAL, associar a CLIENTE o nome da filial com o qual o cliente trabalha usualmente (nome de filial é um atributo de FILIAL). Usar uma entidade do modelo como atributo de outra entidade. Um exemplo seria ter, em um modelo, uma entidade BANCO e usar banco como atributo de uma outra entidade CLIENTE. Cada objeto da realidade modelada deve aparecer uma única vez no modelo ER. Usar o número incorreto de entidades em um relacionamento. Um exemplo é o de fundir em um único relacionamento ternário dois relacionamentos binários independentes. As regras de normalização de bases de dados relacionais servem também para verificar a correção de modelos ER Modelo Relacional: Verificação do modelo Banco Dados I 95 O modelo de ser completo Um modelo completo deve fixar todas propriedades desejáveis do banco de dados. Isso obviamente somente pode ser verificado por alguém que conhece profundamente o sistema a ser implementado. Uma boa forma de verificar se o modelo é completo é verificar se todos os dados que devem ser obtidos do banco de dados estão presentes e se todas as transações de modificação do banco de dados podem ser executadas sobre o modelo. Este requisito é aparentemente conflitante com a falta de poder de expressão de modelos ER. Quando dizemos que um modelo deve ser completo, estamos exigindo que todas propriedades expressáveis com modelos ER apareçam no modelo. Modelo Relacional: Verificação do modelo Banco Dados I 96 O modelo de ser livre de redundância Um modelo completo deve fixar todas propriedades desejáveis do banco de dados. Isso obviamente somente pode ser verificado por alguém que conhece profundamente o sistema a ser implementado. Uma boa forma de verificar se o modelo é completo é verificar se todos os dados que devem ser obtidos do banco de dados estão presentes e se todas as transações de modificação do banco de dados podem ser executadas sobre o modelo. Este requisito é aparentemente conflitante com a falta de poder de expressão de modelos ER. Quando dizemos que um modelo deve ser completo, estamos exigindo que todas propriedades expressáveis com modelos ER apareçam no modelo. Modelo Relacional: Verificação do modelo Banco Dados I 97 O modelo deve refletir o aspecto temporal É necessário lembrar que assim como informações são incluídas no banco de dados, elas também podem ter que ser eliminadas do banco de dados. Um banco de dados não pode crescer indefinidamente. Informações ultrapassadas ou desnecessárias podem ser eliminadas. Portanto, é necessário considerar o aspecto temporal na modelagem de dados. Não há regras gerais de como proceder neste caso, mas é possível identificar alguns padrões que repetem-se freqüentemente na prática: Modelo Relacional: Verificação do modelo Banco Dados I 98 O modelo deve refletir o aspecto temporal Atributos cujos valores modificam ao longo do tempo Relacionamento que modificam ao longo do tempo Consulta de dados referentes ao passado Modelo Relacional: Verificação do modelo Banco Dados I 99 O modelo deve refletir o aspecto temporal Atributos cujos valores modificam ao longo do tempo Alguns atributos de uma entidade, normalmente aqueles que não são identificadores da entidade, podem ter seus valores alterados ao longo do tempo (por exemplo, o endereço de um cliente pode ser modificado). Algumas vezes, por questões de necessidades futuras de informações, ou até mesmo por questões legais, o banco de dados deve manter um registro histórico das informações. Um exemplo é o valor do salário de um empregado. Num sistema de pagamento, não interessa saber apenas o estado atual, mas também o salário durante os últimos meses. Modelo Relacional: Verificação do modelo Banco Dados I 100 O modelo deve refletir o aspectotemporal Atributos cujos valores modificam ao longo do tempo Modelo Relacional: Verificação do modelo Banco Dados I 101 O modelo deve refletir o aspecto temporal Relacionamento que modificam ao longo do tempo Assim como atributos podem ter seus valores modificados ao longo do tempo, também relacionamentos podem ser modificados e também neste caso pode ser requerido que o banco de dados mantenha um registro histórico das alterações. Em geral, relacionamentos que, ao considerar apenas o estado atual do banco de dados, possuem cardinalidade 1:1 ou 1:n são transformados em cardinalidade n:n, quando é considerada a história das alterações de relacionamento. Modelo Relacional: Verificação do modelo Banco Dados I 102 O modelo deve refletir o aspecto temporal Relacionamento que modificam ao longo do tempo Modelo Relacional: Verificação do modelo Banco Dados I 103 O modelo deve refletir o aspecto temporal Consulta de dados referentes ao passado Muitas vezes, para evitar o crescimento desmedido do banco de dados, informações referentes ao passado são eliminadas. Entretanto, estas informações podem ser necessárias no futuro, por exemplo, por motivos legais, para realização de auditorias ou para tomada de decisões. Portanto, é necessário planejar desde a modelagem, por quanto tempo as informações ficarão armazenadas no banco de dados. Caso informações antigas fiquem no banco de dados, podem ser necessários atributos para indicar o status da informação, se atual ou antiga. Planejar o arquivamento de informações antigas Planejar informações estatísticas Modelo Relacional: Verificação do modelo Banco Dados I 104 O modelo deve refletir o aspecto temporal Consulta de dados referentes ao passado Planejar o arquivamento de informações antigas Para as informações que serão retiradas do banco de dados e armazenadas em arquivos convencionais, é necessário fazer um planejamento de como estas informações serão acessadas no futuro, caso venham a ser necessárias. Uma solução que poderia ser considerada, é a de reincluir as informações no banco de dados, quando elas forem necessárias no futuro. Isso permite que, para buscar as informações passadas, sejam usados os mesmos procedimentos que são usados para acessar as informações atuais. Entretanto, é necessário considerar que as informações em um banco de dados estão normalmente relacionadas a outras. Caso as ocorrências de entidade que se deseja devolver à base de dados estejam relacionadas a outras ocorrências, é necessário que estas estejam presentes. Modelo Relacional: Verificação do modelo Banco Dados I 105 O modelo deve refletir o aspecto temporal Consulta de dados referentes ao passado Planejar informações estatísticas Em alguns casos, informações antigas são necessárias apenas para tomada de decisões. Neste caso, muitas vezes deseja-se apenas dados resultantes de cálculos ou estatísticas sobre as informações, como totais, contagens, médias,…. Assim pode ser conveniente manter no banco de dados estas informações compiladas e eliminar as informações usadas na compilação. Modelo Relacional: Verificação do modelo
Compartilhar