Prévia do material em texto
Modelagem de Dados – Material de Apoio Aulas 16 março Prof. Vanilde BD x Abstração de Dados Abstração é um processo mental que seleciona algumas características e propriedades de um conjunto de objetos e exclui outras que não são relevantes Um dos maiores benefícios dos sistemas de banco de dados é proporcionar aos usuários uma visão abstrata dos dados. O sistema é capaz de ocultar alguns detalhes sobre a forma de armazenamento e a manutenção dos dados. • A eficiência da recuperação de informações está relacionada à forma como as estruturas de representação são projetadas e, dado a complexidade e importância destas representações, elas devem ser protegidas em níveis de abstrações. • Estes níveis facilitam a manutenção do sistema e a interação dos usuários com os sistemas. Níveis de Abstração de Dados em um SGBD (Arquitetura ANSI/SPARC) Nível de Externo: O mais alto nível de abstração. Proporciona uma visão parcial do banco de dados. Diferentes visões são usados por diferentes usuários. Nível Conceitual: quais dados estão armazenados e quais são os inter-relacionamentos existentes entre eles. Usado pelos administradores de banco de dados e programadores. Nível Físico: como os dados estão, de fato, armazenados (descrição em detalhes das estruturas de dados). Mais baixo nível de abstração. Administradores de banco de dados devem ter noções da organização deste nível. Níveis de Abstração de Dados em um SGBD (Arquitetura ANSI/SPARC) Objetivo é permitir que o SGBD garanta: 1) diferentes níveis de abstrações do BD 2) independência de dados O que interessa é que os dados estejam disponíveis no momento necessário, independentemente de como este foi armazenado A arquitetura ANSI/SPARC permite 2 tipos de independência de dados: Independência de Dados Lógica • É a capacidade de alterar o nível conceitual sem afetar o nível externo ou programas de aplicação. Exemplo: Adição/exclusão de um campo. No último caso, as visões do nível externo que referem-se aos dados restantes não seriam afetadas Independência de Dados Física • É a capacidade de alterar o nível interno sem afetar o nível conceitual . Exemplo: Criação de estruturas de acesso para melhorar a performance de consulta ou atualização. Modelo, Instâncias e Esquemas Modelo de BD É uma especificação formal para descrever qualquer BD a partir de estruturas de dados, regras de integridade de dados (RI) e operações sobre os dados. Os modelos de dados permitem descrever: Os relacionamentos entre os dados, A semântica dos dados e As regras de consistência Exemplos de Modelos de bancos de Dados: Relacional, Baseado em Objetos, Hierárquico, Rede Esquema de BD Também chamado de intenção do BD É a descrição de um BD segundo um modelo de dados Instância de BD Também chamado de extensão do BD) É a coleção dos dados armazenados no BD em um determinado momento Projeto (Design) de BD 3.4. Projeto de banco de Dados Em função do que vimos anteriormente, podemos dizer que 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). 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. 3.4.1. Modelagem de Dados: histórico e definição Histórico: Desenvolvida na década de 70, 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. O que é Modelagem de Dados? Método de análise que busca determinar a natureza fundamental dos recursos de dados utilizados em um contexto, permitindo organizar todos os fatos relevantes que estejam associados ao domínio de conhecimento analisado. 3.4.2. Objetos conceituais 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. O modelo entidades-relacionamento baseia-se na percepção de um universo constituído por um grupo básico de objetos chamados entidades e por relacionamentos entre estes objetos. Ele foi desenvolvido a fim de facilitar o projeto de banco de dados permitindo a especificação de um esquema de negócio. Tal esquema representa a estrutura lógica global do banco de dados.” 3.4.2.1. Entidade Define-se Entidade como aquele objeto que existe no mundo real, com identificação distinta e com um significado próprio. A representação de uma entidade no MER é feita através de um retângulo, com o nome da entidade em seu interior. Entidades podem ser: Tangíveis: pessoas, edifícios Intangíveis: departamento, reserva de vôo, curso Entidade Fraca: não existe se não estiver relacionada a outra, isto é, ela é logicamente dependente da outra. 3.4.2.2. Atributo 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.... ALUNO Atributos podem ser: Atributos Compostos (Grupo de Atributos): Combinação ou agregação de atributos relacionados Ex. 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. Ex. DataNascimento, NumeroFatura, ValorTotalVenda Atributos Multi-Valorados : Um atributo simples que pode ter múltiplos valores Ex. Uma pessoa pode ter mais de um telefone ou mais de um emprego. Domínio de um atributo: Descrição de possíveis valores permitidos para um atributo. Ex: domínio do atributo CorPeça: azul, amarelo, verde, vermelho, branco Valores nulos: Um valor nulo é um atributo sem um valor. Quando um valor nulo pode ocorrer? –O valor não é conhecido –O atributo não é relevante para descrever uma entidade em particular Um objetivo básico de um projeto de BD relacional é minimizar a ocorrência de valores nulos 3.4.2.3 Relacionamento Um relacionamento é uma associação entre duas 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 uti liza um retângulo para desenhar uma associação entre entidades, outros autores a representam através de um traço unindo as entidades. Observação: podemos representar os atributos como círculos ou elipses 3.5. Modelandoo 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; os adjetivos correspondem a atributos de entidades advérbios e adjuntos adverbiais podem sugerir atributos de relacionamentos Cliente nome endereço rg CC saldonumero ClienteContaCliente nome endereço rg CC saldonumero ClienteConta CLIENTE PRODUTO CLIENTE PRODUTO pede Exemplo: “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. 3.5.1. Identificação de Relacionamento 3.5.1.1. Relacionamento entre objetos de diferentes tipos: “João é proprietário de um jipe amarelo”, 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 3 - Representar os objetos: 4 - Identificar o relacionamento entre os objetos PESSOA é proprietária de VEICULO 5 - Representar o relacionamento Este processo pode ser uti lizado para mapear qualquer relacionamento entre dois, ou mais, tipos de objetos e, também, entre os mesmos objetos. PESSOA VEÍCULO PESSOA VEÍCULO propriet ária propr iestár ia 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 5 para cada nova observação. 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: 4- Identificar os novos relacionamentos entre os objetos PESSOA utiliza VEICULO PESSOA utiliza IMOVEL PESSOA VEÍCULO IMÓVEL 5- Representar novos relacionamentos PESSOA VEÍCULO IMÓVEL utiliza utiliza proprietário