Conceitos relativos a Banco de Dados & Modelos de Informação de Banco de Dados Prof. Anderson Henriques Introdução A quantidade de informação relevante para a tomada de decisões nas organizações é muito grande, o que tem impulsionado o desenvolvimento dos sistemas de processamento de informações. Algumas ferramentas: planilhas (cálculos com tabelas de valores); processadores de texto (editoração eletrônica); Sistemas de Gerenciamento de Bancos de Dados - SGBDs: que possibilita o armazenamento de grandes volumes de dados, através de uma formatação estruturada em registros e tabelas, com recursos para acesso e processamento das informações. 1
Como a Informática é adotada nas organizações A informática é implantada de forma gradativa. Ex: Empresa X. Vendas Produção Compras Onde ficam os dados de produtos? O que são dados? Qual a diferença entre dados e informações? Como a Informática é adotada nas organizações (CONT.) O que precisamos modelar são os dados e seus relacionamentos. Os relacionamentos levam a obtenção da informação. Que bem empregada pode auxiliar nas tomadas de decisões. Ex1: O número 40 escrito em um quadro branco é um dado. Qual seu significado? Se escrito: Temperatura do paciente = 40 graus. O médico através de seus conhecimentos pode estabelecer que o paciente está com febre! 2
Como a Informática é adotada nas organizações (CONT.) Ex2: O número 40 escrito em um quadro branco, e referindo-se à temperatura em graus Fahrenheit, pode não ser uma informação se o médico não estiver habituado com esta escala! OBS: Devemos armazenar dados e não informações. Ex3: Qual a idade de um paciente? Se temos armazenado o valor 35, nada garante a precisão da idade. Portanto, tendo sua data de nascimento a informação será obtida com precisão a qualquer momento. Como a Informática é adotada nas organizações (CONT.) Ex: Empresa X. Vendas Produção Compras Sistemas Isolados Dados não compartilhados. Vendas Produção Compras Arquivos de Produção Produtos... Arquivos de Produção Produtos... Arquivos de Produção Produtos... 3
Sistemas Isolados (dados não compartilhados) Problema: Redundância de Dados. Tipos de Redundância de Dados: Redundância controlada de dados; software gerência a redundância Redundância não controlada de dados; usuário gerência a redundância Redundância não controlada Entrada repetida da mesma informação; Inconsistências de dados. Como evitá-la: Compartilhamento de dados; Cada informação é armazenada uma única vez; Usar o conceito de Banco de Dados. 4
Banco de Dados Conjunto de arquivos integrados que atendem um conjunto de sistemas. Vendas Produção Compras BANCO DE DADOS Produtos... Banco de Dados - Consequências Compartilhamento de dados tem reflexos na estrutura do software; Estrutura interna dos arquivos passa a ser mais complexa; Devem atender às necessidades dos diferentes sistemas. Solução: Usar sistema de gerência de banco de dados. 5
Sistema de Gerência de Banco de Dados Início da programação de aplicações Programa contém todas as operações; interface de usuário; transformações de dados e cálculos; operações de armazenamento de dados; tarefas de comunicação com outros sistemas e programas. Sistema de Gerência de Banco de Dados (CONT.) Evolução da programação: Foram identificadas funcionalidades comuns: Exibição dos dados na interface; gerenciadores de interface de usuário. Comunicação com processos remotos; gerenciadores de comunicação. Manutenção de grandes repositórios compartilhados de dados: Sistemas de gerência de banco de dados (SGBD ou DBMS). Software que incorpora as funções de definição, recuperação e alteração de dados em um banco de dados. 6
Sistema de Gerência de Banco de Dados (CONT.) Evolução da programação (Cont.): Facilita o desenvolvimento de aplicações de banco de dados: Manutenção de programas torna-se mais simples; Produtividade dos programas aumenta. Conceitos Banco de Dados: é uma coleção de dados interrelacionados, representando informações sobre um domínio específico (Silberschatz et al, 1999). Informalmente, um sistema de banco de dados nada mais é do que um sistema computadorizado de arquivamento de registros. Ex: Arquivos em papel registros e organizados em tabelas 7
Conceitos (CONT.) Exemplos Reais: Lista telefônica; Controle do acervo de uma biblioteca; Sistema de controle dos recursos humanos de uma empresa; Controle de Estoque, etc. Conceitos (CONT.) Sistema de Gerenciamento de Bancos de Dados (SGBD/DBMS): é um software com recursos específicos para facilitar a manipulação das informações dos bancos de dados e o desenvolvimento de programas aplicativos. Exemplos: Oracle, Ingres, Paradox*, Access*, DBase*, SQLServer*, MySQL*, etc. * Desktop Database Management Systems. 8
Conceitos (CONT.) Sistema de Bancos de Dados: É um sistema de manutenção de registros por computador, envolvendo quatro componentes principais: usuários; dados; hardware; software. O sistema de bancos de dados pode ser considerado como uma sala de arquivos eletrônica (Date, 1990). Conceitos (CONT.) O desenvolvimento de sistemas de banco de dados deve ser muito bem elaborado, utilizando-se de uma série de métodos, técnicas e ferramentas que visam sistematizar seu desenvolvimento. Componentes de um Sistema de Banco de Dados: SGBD Programas Banco de Dados 9
Conceitos (CONT.) Objetivos de um Sistema de Bancos de Dados: Desligar o usuário dos detalhes técnicos mais severos e internos ao banco de dados (abstração de dados). Facilitar a obtenção de informações para as aplicações, possibilitando a independência relativa ao tipo de estrutura física de armazenamento e à estratégia de acesso. Vantagens: Redução do esforço humano (desenvolvimento e utilização); Maior compactação (não há necessidade de volumosos arquivos de papéis); Conceitos (CONT.) Vantagens (CONT.): Disponibilização da informação no tempo necessário; Rapidez na manipulação e no acesso à informação; Aplicação automática de restrições de segurança; Redução de problemas de integridade; Compartilhamento de dados; Redução de redundância e de inconsistência de informações; Controle integrado de informações distribuídas fisicamente. 10
Conceitos (CONT.) Abstração de dados: O sistema oculta determinados detalhes sobre a forma de armazenamento e manutenção desses dados. A abstração ocorre em três níveis: Nível físico: nível mais baixo de abstração. Descreve como os dados estão realmente armazenados, englobando estruturas complexas de baixo nível. Ex: (bloco consecutivo de memória) Nível conceitual: descreve quais dados estão armazenados e seus relacionamentos. Neste nível, o banco de dados é descrito através de estruturas relativamente simples, que podem envolver estruturas complexas no nível físico. Ex: (tipo definido) Nível de visões do usuário: descreve partes do banco de dados, de acordo com as necessidades de cada usuário, individualmente. Ex: (esconde os tipos definidos e disponibiliza programas) Conceitos (CONT.) Abstração de dados (CONT.): Nível de Visão dos Usuários Visão 1 Visão 2... Visão N Nível do Conjunto de Usuários Nível Conceitual (Lógico) Nível de Armazenamento Nível Físico 11
Exercícios 1) A definição do fator de bloco de um arquivo faz parte do modelo conceitual, do modelo lógico ou do modelo físico? 2) A definição de tipo de um dado (numérico, alfanumérico,...) faz parte do modelo conceitual, do modelo lógico ou do modelo físico? 3) Idealize através de um exemplo, a definição: Dado Informação 12