ORGANIZANDO DADOS E INFORMAÇÕES: Bancos de Dados Gestão da Informação (07182) Instituto de Ciências Econ., Adm. e Contábeis (ICEAC) Universidade Federal do Rio Grande (FURG) Gestão de Dados As organizações têm dificuldade em gerenciar os seus dados Problemas de redundância de dados, falta de organização, tecnologia inadequada... Os dados são a base de qualquer sistema de informação e, por isso, precisam ser gerenciados (organizados e estruturados) “Imagine como seria difícil elaborar um documento com suas anotações em fichas de índice se estas fichas estivessem organizadas de forma aleatória!” Gestão de Dados: um fator crítico de Sucesso DADOS INFORMAÇÃO TOMADA DE DECISÃO Principais dificuldades em obter, manter e administrar os dados Excesso de dados Dados vindos de diversas fontes Uma pequena parte dos dados é relevante para uma decisão específica Muitos dados são externos (como colocar isso nos sistemas?) Dados estão em diferentes locais/sistemas Integridade e atualmente a segurança dos dados Gestão de Dados: um fator crítico de Sucesso Um Banco de Dados (BD) é uma coleção de dados organizados para atender às necessidades dos usuários Em toda a sua carreira, você irá, direta ou indiretamente, acessar uma variedade de bancos de dados (desde uma simples de lista de empregados do departamento para o mais completo banco de dados corporativo!) Esses bancos de dados (BD) são geralmente acessados por meio de um software chamado Sistema de Gerenciamento de Banco de Dados (SGBD) – grupo de programas, que manipulam os BDs e fornecem uma interface entre o BD e os usuários ou entre o BD e outros programas aplicativos Organização de Dados Os dados são organizados em uma hierarquia que começa com bits e bytes e prossegue até campos, registros, arquivos e bancos de dados (figura 1) Hierarquia de Dados Banco de dados Exemplo Arquivo de Pessoal Arquivo de Folha de Pagamento Arquivo de Capacitação Banco de Dados de RH Arquivo Fábio Gouveia 12/10/68 220 Cassino Rio Grande Ana da Silva 23/08/83 501 Fragata Pelotas Rogério Dumont 01/03/76 65 Rua Ijuí Bagé Registro Fábio Gouveia 12/10/68 220 Cassino Campo Fábio Gouveia (campo de nome) Byte Bit 1011 1010 (Letra Z em ASCII) 1, 0 Organização de Dados Um bit é a menor parcela de informação que o computador pode manipular Byte é um grupo de bits que representa um único caracter (letra ou número) Um agrupamento de caracteres é chamado de campo (data de nascimento, nome) Uma coleção de campos de dados relacionados, como nome, endereço e idade de uma pessoa, é um registro Um grupo de registros relacionados constitui um arquivo (ex: arquivo de clientes, arquivo de produtos) Os arquivos relacionados podem ser agrupados em um banco de dados (ex: banco de dados de RH, banco de dados operacional) Organização de Dados Entidade: é uma classe generalizada de pessoas, lugares ou coisas (objetos) para a qual o dado é coletado, armazenado e mantido. Ex: empregado; clientes; produtos Cada característica ou qualidade que descreve uma determinada entidade é um atributo. A entidade clientes é um arquivo que mantém informações sobre os clientes da empresa. Ex: código do produto, descrição, quantidade em estoque, etc. Os atributos são os campos de um registro. Campos-chave: é um campo, ou conjunto de campos que identifica de forma única o registro, de modo que este possa ser acessado, modificado ou ordenado. Ex: CPF, RG, código produto... Entidades de Dados, Atributos e Chaves N. do empregado Sobrenome Primeiro Nome Data de Admissão 005-10-6321 549-77-1001 098-40-1370 Silva Bastos Medeiros Francine Wilson Rodrigo 7/10/1997 17/2/1979 5/1/1985 Número do Departamento 257 632 598 Entidades (registros) Campo chave Atributos (campos) Neste exemplo, o campo-chave é o número do empregado. Os atributos são o sobrenome, o nome, a data de admissão e o número de departamento. Entretanto, esta entidade poderia ter outros atributos, como telefone de contato, endereço, etc. Enfoque Tradicional versus Enfoque em Banco de Dados Enfoque Tradicional. Os dados são organizados e armazenados fisicamente em dispositivos que utilizam a organização sequencial ou aleatória através de arquivos. Como um arquivo é um conjunto de registros relacionados, todos associados a uma aplicação em particular poderiam ser coletados e gerenciados em conjunto em um arquivo de aplicação específica. Por exemplo, os registros de clientes são mantidos em arquivos separados, com cada arquivo relacionando-se a um processo específico realizado pela empresa, como entrega e faturamento Enfoque Tradicional de Gerenciamento de Dados Problemas do ambiente de Arquivos Tradicional Os arquivos são individuais e, portanto, não estão conectados ou relacionados entre si (ex: arquivo de clientes não se “comunica” com o arquivo de vendas) Redundância de Dados: presença de dados duplicados em múltiplos arquivos de dados. Ex: cadastra dados do cliente no arquivo de clientes e também no arquivo das vendas. Dependência de programas e de dados: os dados armazenados em arquivos só podem ser utilizados pelos seus programas. Ex: dados do cliente não podem ser exportados para outro programa Inconsistência de dados: a informação de um cliente, quando alterada em um único arquivo, não atualiza os demais arquivos Custos excessivos de software: a manutenção, atualização é cara A visão de Banco de Dados Muitos dos problemas do ambiente de arquivos tradicional podem ser resolvidos com a abordagem de Banco de Dados Conceito de Banco de Dados: é uma coleção de dados organizados de tal forma que possam ser acessados e utilizados por muitas aplicações diferentes Os dados são armazenados em um único local, em vez de serem armazenados em arquivos separados A visão de Banco de Dados Um software especial denominado sistema de gerenciamento de bancos de dados (SGBD) permite que os dados sejam armazenados em um só lugar, tornandoos disponíveis para diferentes aplicações Este software serve como uma interface entre o banco de dados comum e diversos programas aplicativos SGDG possui três componentes: Linguagem de definição de dados Linguagem de manipulação de dados (Ex: SQL para consultas) Dicionário de dados (define as características dos dados) A visão de Banco de Dados Vantagens dos Sistemas de Gerenciamento de Bancos de Dados Os dados são independentes dos aplicativos (vários programas podem usar dados de um mesmo banco) A redundância e a inconsistência de dados são reduzidas porque os dados são mantidos em apenas um lugar (e não em vários arquivos) A complexidade é reduzida pelo gerenciamento consolidado de dados, acesso e utilização pelo meio do SGBD As informações são mais fáceis de acessar e usar porque o banco de dados estabelece relacionamentos entre diferentes fragmentos de informação Modelagem de Dados Um banco de dados deve ser organizado para armazenar todos os dados relevantes do negócio, permitindo acesso rápido e fácil modificação. Além disso, precisa refletir os processos corporativos da organização. Quando se constrói um banco de dados, é fundamental responder as seguintes questões: Quais dados coletar e a que custo? (conteúdo) Quais dados fornecer, para quais usuários e quando? (acesso) Como organizar os dados, de forma que façam sentido para os usuários? (estrutura lógica) Onde se localizam os dados fisicamente? (organização física) Modelagem de Dados A construção de um BD exige dois tipos de projeto: Projeto Lógico: modelo abstrato de como estruturar e organizar os dados para atender às necessidades de informação da empresa. São identificados os relacionamentos entre os diferentes itens de dados, agrupando-os ordenadamente. Projeto Físico: inicia-se no projeto lógico, ajustando-o em função da performance e do custo requeridos (resposta de tempo, espaço de armazenamento reduzido, menor custo operacional) Uma ferramenta utilizada pelos projetistas é o modelo de dados (mapa ou diagrama que mostra as entidades e seus relacionamentos) Diagrama Entidade-Relacionamento (DER): usa símbolos gráficos para mostrar a organização e os relacionamentos entre os dados O Dicionário de Dados também é essencial, pois descreve de forma detalhada todos os campos da estrutura de dados Diagrama EntidadeRelacionamento São usadas “caixas” para indicar itens de dados ou entidades e “losangos” para mostrar os relacionamentos Estes relacionamentos (“pés de galinha”) podem ser do tipo umpara-um (1:1), um-para-muitos (1:N), muitos-para-muitos (N:N) 1:1: “um empregado” só pode estar em “um departamento” 1:N: “um cliente” pode fazer “várias compras” N:N: “um produto” pode ser fornecido por “vários fornecedores” e “um fornecedor” pode fornecer “vários produtos” Empregados Departamentos Clientes Produtos Compras Fornecedores Diagrama EntidadeRelacionamento Dicionário de Dados É um documento que armazena definições de elementos de dados e outras características como padrões de utilização, propriedade, relacionamentos entre os elementos de dados e a segurança É uma importante ferramenta de resolução de problemas, pois identifica para os usuários finais e para os especialistas empresariais quais dados existem no banco de dados, sua estrutura e formato, e sua utilização na empresa! Modelos de Bancos de Dados O modo como os dados são organizados em um banco de dados depende da natureza do problema a ser resolvido Existem 3 principais modelos de bancos de dados lógicos: Modelo Hierárquico Modelo em Rede Modelo Relacional (Ex: Microsoft Access) Modelo Relacional: é o mais recente e mais amplamente utilizado pelas empresas Este modelo representa todos os dados do banco de dados em tabelas simples bidimensionais, denominadas relações Essas tabelas são semelhantes a arquivos simples, mas as informações em mais de um arquivo podem ser extraídas e combinadas com facilidade Modelo Relacional Modelo Relacional Neste modelo, cada linha de uma tabela representa os dados de uma entidade e as colunas os seus atributos Cada atributo só pode assumir determinados valores, que são chamados de domínio (ex: data, ou texto, ou número) Uma vez inseridos os dados em um BD relacional, os usuários podem fazer consultas e analisá-los: Seleção: envolve a eliminação de linhas, de acordo com critérios predeterminados. Ex: selecionar somente as vendas do RS Projeção: envolve a eliminação das colunas de uma tabela. Ex: reduzir uma tabela apenas com código do depto e sua descrição Unificação: envolve a combinação de duas ou mais tabelas. Ex: juntar a tabela departamentos e funcionários, tendo um “tabelão” Modelo Relacional Quando as tabelas de um BD possuem pelo menos um atributo (campo) em comum, elas podem ser vinculadas para combinar informações e, deste forma, fornecer relatórios úteis! Aplicação de Bancos de Dados à Resolução de Problemas Uma solução de sistema de informação deve incluir o projeto lógico e o projeto físico do banco de dados Projeto lógico: mostra como os dados são arranjados e organizados a partir de uma visão empresarial (nos interessa!) 1. Identificação das funções que a solução deve executar 2. Identificação dos dados exigidos para cada função 3. Agrupamento fácil e eficiente dos elementos de dados Projeto físico: buscar organizar os dados de uma forma que torne a atualização e a recuperação rápida e eficiente. É onde entra o Microsoft Access! (é de informática!) Sistema simples de compras (Laudon e Laudon, p. 131-132) Aplicação de Bancos de Dados à Resolução de Problemas