Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 01 - Sistemas de banco de dados 1 Aula 01 - Sistemas de banco de dados Apresentação Objetivos Dados e informações Dados Informações Sistemas de Informação e Fluxo de Informação Entrada (input) Processamento Saída (output) Sistemas tradicionais Redundância de dados Dependência entre programas e dados Custo excessivo em software Características de um sistema de banco de dados Definição de Banco de Dados Características da abordagem de banco de dados Autoinformação Separação entre Programas e Dados Abstração de Dados Múltiplas Visões de Dados Arquitetura Três Esquemas Esquema Interno Esquema Conceitual Esquema Externo Usuários de Banco de Dados Analista de sistema Programadores de aplicação Testam, depuram, documentam e mantêm estes programas. Administrador de banco de dados Projeto de banco de dados Insumos Técnica Ferramentas Metodologia Técnica Ferramenta Aula 01 - Sistemas de banco de dados 2 Apresentação No mundo digital, nossas vidas são regidas por diversos sistemas. Para funcionar, esses sistemas necessitam de grande volume de dados. Não é possível conceber qualquer sistema que possa prescindir de um Banco de Dados. Você já parou para pensar o que é um Banco de Dados? Nesta aula, procuraremos responder a essa pergunta. Objetivos Identificar as características de um sistema de banco de dados; Diferenciar sistemas de banco de dados, sistemas gerenciadores de banco de dados e banco de dados; Explicar as fases do projeto de banco de dados. Dados e informações Quando vamos realizar um saque no caixa eletrônico de um banco, o sistema do equipamento tem que acessar os números da agência e da conta, senha e saldo disponível. Estes dados necessitam de gerenciamento eficiente e confiável, que permita sua rápida recuperação e atualização. Mas muita gente confunde dados com informações. Por isso, vamos fazer a distinção entre eles. Dados Fatos, eventos, conceitos, instruções antes de terem sido organizadas em um formato inteligível e útil para o usuário. Modelos Objetivo do projeto de banco de dados Como elas se relacionam? Quais são as partes (atividades do processo)? Quais são seus produtos? Fases e ferramentas do projeto de banco de dados Ferramentas CASE Atividades Referências Explore mais Aula 01 - Sistemas de banco de dados 3 Informações Dados já formatados de uma maneira inteligível e útil ao usuário. Sistemas de Informação e Fluxo de Informação Um Sistema de Informação pode ser definido como um conjunto de componentes que coletam, processam, armazenam e distribuem informações para suportar a tomada de decisão e o controle das operações de uma organização. Ele contém informações sobre pessoas e lugares dentro da organização ou do ambiente externo à organização, com o qual ela mantenha constante intercâmbio. Há basicamente três níveis de intercâmbio de informações: Ambiente externo Organização Sistemas de informações Em um Sistema de Informação, há três atividades básicas, através das quais ele produz as informações necessárias para a tomada de decisão e controle das operações dentro da organização: Entrada (input) Coleta os dados dentro da organização ou do ambiente externo para o processamento. Processamento Converte os dados coletados, colocando-os em uma forma inteligível. Aula 01 - Sistemas de banco de dados 4 Saída (output) Distribui as informações processadas para os usuários e para outras atividades, ou armazena-os para futura utilização. Os Sistemas de Informação também necessitam de realimentação (feedback). A saída (output) retorna aos membros da organização para avaliação e correção dos dados coletados e processados. Aula 01 - Sistemas de banco de dados 5 O desenvolvimento de Sistemas de informações evoluiu,ao longo do tempo, de Sistemas Tradicionais para Sistema de Banco de Dados. Sistemas tradicionais Estes sistemas são baseados no uso de arquivos que, normalmente, são associados a um único sistema de aplicação, que traz, por consequência, redundância de dados quando os mesmos dados se faziam necessários em outros sistemas. A maioria das organizações desenvolve os seus Sistemas de Informação um por vez, à medida que se tornam necessários, utilizando, cada um, o seu próprio conjunto de programas, arquivos e usuários. A figura abaixo mostra a estrutura de um sistema baseado em arquivo. Com ela podemos notar que: Cada aplicação possui seus próprios arquivos de dados; Se uma aplicação compartilha dados com outras, estes têm que ser duplicados; Qualquer alteração no modelo de dados resulta na mudança do código da aplicação. Sistemas de informação Aula 01 - Sistemas de banco de dados 6 O desenvolvimento de Sistemas de informações evoluiu, ao longo do tempo, de Sistemas Tradicionais para Sistema de Banco de Dados. De acordo com Silberschatz, Korth e Sudarshan 2006, o esquema apresentado acaba acarretando em: Redundância de dados Duplicação dos mesmos dados em dois ou mais arquivos. O problema da redundância é que as mudanças, ao serem feitas no arquivo de uma aplicação, não são automaticamente realizadas nos arquivos das outras aplicações, Dependência entre programas e dados Os aplicativos tradicionais de banco de dados de arquivos são caracterizados pela dependência entre programas e dados, isto é, programas e dados desenvolvidos e Custo excessivo em software Custo resultante da criação, documentação e acompanhamento de muitos arquivos e aplicações diferentes. Sistemas baseados em arquivo Aula 01 - Sistemas de banco de dados 7 gerando a falta de integridade dos dados. organizados para uma aplicação são incompatíveis com os programas e dados organizados para um outro aplicativo. Características de um sistema de banco de dados A abordagem de bancos de dados ao gerenciamento de dados surgiu por causa dos problemas associados à abordagem tradicional do gerenciamento de dados como: Redundância Dificuldades de acesso Integridade Problemas de segurança Um banco de dados é uma coleção de dados organizados de tal forma que possam ser acessados e utilizados por muitas aplicações diferentes. Ou seja, em vez de armazenar dados em arquivos separados para utilização, os dados são armazenados e organizados em um só local, permitindo compartilhamento e interrelacionamento por múltiplos usuários. A fim de usar a abordagem de banco de dados para o gerenciamento de dados, foi necessário um software adicional – um sistema de gerenciamento de banco de dados SGBD. Sistemas de banco de dados Aula 01 - Sistemas de banco de dados 8 A imagem a seguir nos mostra a constituição de um Sistema de Banco de Dados: Agora, veremos mais detalhes sobre cada elemento apresentado na imagem: Sistema de banco de dados Sistema de informações, computadorizado, que possibilita o armazenamento, manuseio, alteração e divulgação das informações armazenadas. Essas informações se fazem representar por dados organizados e formatados de maneira que sejam conhecidos e utilizados pelos usuários. Programas aplicativos e consultas Os programas são escritos em uma linguagem de front-end, possibilitando o acesso do usuário informações contidas no banco. Já as consultas representam as informações solicitadas pelo usuário ao banco de dados. Sistema Gerenciador de Banco de Dados SGBD Aula 01 - Sistemas de banco de dados 9 Coleção de programas que permite aos usuários criar e manipular uma base de dados. Um SGBD é, assim, um sistema de software de propósito geral, que facilita o processo de definir, construir e manipular a base de dados de diversas aplicações. Software para processar consultas/manipulação Módulo do SGBD responsável por determinar a forma de executar a consulta solicitada pelo usuário, via aplicação. Realiza a interpretação do comando (análise sintática, léxica e semântica) e elabora o plano de execução do comando, estabelecendo a forma de acessar fisicamente os dados. Software para acessar dados armazenados Módulo do SGBDresponsável pelo controle do acesso físico aos dados. Dados Conjunto de valores armazenados pelo banco de dados em seus arquivos. Catálogo Local onde são armazenados os metadados, ou seja, informações referentes ao tipo e organização dos dados do banco. Definição de Banco de Dados Um banco de dados é uma coleção de dados interrelacionados, representando informações sobre um domínio específico. Estes dados são fatos que podem ser armazenados e têm significado implícito. Como exemplo podemos citar listas telefônicas, o controle do acervo de uma biblioteca e o sistema de controle de recursos humanos de uma empresa. Um banco de dados tem as seguintes propriedades implícitas: Um banco de dados representa alguns dos aspectos do mundo real, algumas vezes chamado de minimundo. As mudanças neste minimundo são refletidas no banco de dados. Um banco de dados é uma coleção lógica e coerente de dados com algum significado. Uma coleção aleatória de dados não pode, corretamente, referir-se a um banco de dados. Um banco de dados é projetado, construído e povoado com dados para um propósito específico. Ele tem um grupo de usuários e algumas aplicações pré-concebidas nas quais estes usuários estão interessados. Aula 01 - Sistemas de banco de dados 10 Características da abordagem de banco de dados De acordo com Elmasri e Navathe 2011, existem quatro características. A Saber: Autoinformação Uma característica importante da abordagem de banco de dados é que o SGBD mantém, além dos dados, a forma como os eles são armazenados, contendo uma descrição completa do banco de dados. Uma característica importante da abordagem de banco de dados é que o SGBD mantém, além dos dados, a forma como os eles são armazenados, contendo uma descrição completa do banco de dados. Separação entre Programas e Dados No processamento tradicional de arquivos, a estrutura dos dados está incorporada ao programa de acesso. Desta forma, qualquer alteração na estrutura de arquivos implica na alteração no código-fonte de todos os programas. Já na abordagem de banco de dados, a estrutura é alterada apenas no catálogo, não alterando os programas. Aula 01 - Sistemas de banco de dados 11 Abstração de Dados O SGBD deve fornecer ao usuário uma “representação conceitual” dos dados, sem fornecer muitos detalhes de como as informações são armazenadas. Um “modelo de dados” é uma abstração de dados empregada para fornecer esta representação conceitual, utilizando conceitos lógicos como objetos, suas propriedades e seus relacionamentos. A estrutura detalhada e a organização de cada arquivo são descritas no catálogo. Múltiplas Visões de Dados Como um conjunto de informações pode ser utilizada por um conjunto diferenciado de usuários, é importante que estes usuários possam ter “visões” diferentes da base de dados. Uma “visão” é definida como um subconjunto de uma base de dados, formando, deste modo, um conjunto “virtual” de informações. São vantagens da utilização de Sistemas de Banco de Dados: 1 - Redução ou eliminação de redundâncias Possibilita a eliminação de dados privativos de cada sistema. Os dados comuns a mais de um sistema são compartilhados, sendo mantida uma única informação a ser consultada por vários sistemas. 2 - Eliminação de inconsistências Ocorre através do armazenamento da informação em um único local com acesso descentralizado. A inconsistência acontece quando um mesmo campo Aula 01 - Sistemas de banco de dados 12 tem valores distintos em sistemas diferentes. Exemplo: o estado civil de uma pessoa é solteiro em um sistema e casado em outro. Isto ocorre porque o campo em um sistema foi atualizado e, no outro, não. Quando o dado é armazenado em um único local e compartilhado pelos sistemas, este problema não ocorre. 3 - Compartilhamento dos dados Permite a utilização simultânea e segura de um dado por mais de uma aplicação ou usuário independentemente da operação que esteja sendo realizada. Nesse caso, deve ser observado o processo de atualização. Para não gerar erros de processamento, é preciso atualizar simultaneamente o mesmo campo do mesmo registro. Os aplicativos são, por natureza, multiusuários. 4 - Restrições de segurança Definem, para cada usuário, o nível de acesso (leitura, leitura e gravação ou sem acesso) ao arquivo e ao campo. Este recurso impede que pessoas não autorizadas utilizem ou atualizem um determinado arquivo ou campo. 5 - Padronização dos dados Permite que os campos armazenados na base de dados sejam padronizados segundo um determinado formato (padronização de tabela, conteúdo de campo), seguindo critérios padrões preestabelecidos pela organização. Para o campo "Sexo", por exemplo, somente será permitido armazenamento dos conteúdos "M" ou "F". 6 - Independência dos dados A independência dos dados dita que recuperação das informações pelos programas de aplicação deve ser totalmente independente da maneira como os dados estão fisicamente armazenados. Este conhecimento do formato de armazenamento do campo é totalmente transparente para o usuário. 7 - Manutenção da integridade Consiste em impedir que um determinado código ou chave em uma tabela não tenha correspondência em outra. Exemplo: Um código de uma determinada disciplina na tabela “Histórico Escolar” sem a sua descrição na tabela “Disciplina”. Arquitetura Três Esquemas Aula 01 - Sistemas de banco de dados 13 Para facilitar o desenvolvimento de sistemas e realçar as vantagens da utilização de Sistemas de Banco de Dados, foi criada a Arquitetura Três Esquemas, cuja principal meta é separar as aplicações do usuário do banco de dados físico. Elmasri e Navathe 2011 destacam as funções de cada um dos três esquemas: Esquema Interno Arquitetura – 3 esquemas Aula 01 - Sistemas de banco de dados 14 Descreve a estrutura de armazenamento físico do banco de dados; Utiliza um modelo de dados; Lista detalhadamente os dados armazenados e os caminhos de acesso ao banco de dados. Esquema Conceitual Descreve a estrutura do banco de dados como um todo; Apresenta uma descrição global do banco de dados, que não fornece detalhes do modo como os dados estão fisicamente armazenados. Esquema Externo Descreve as visões do banco de dados para um grupo de usuários; Define, em cada visão, quais porções do banco de dados um grupo de usuários terá acesso. Usuários de Banco de Dados A implantação e a utilização de um SGBD envolvem uma gama de profissionais em diferentes níveis e especialidades dentro de uma organização. De acordo com as bibliografias pesquisadas, foi possível localizar os seguintes profissionais e suas atividades em um banco de dados: Analista de sistema Determina especificações dos usuários funcionais na organização; Define parte do projeto lógico do sistema de acordo com a necessidade do seu negócio ou departamento. Programadores de aplicação Implementam as especificações avaliadas pelo analista de sistema produzindo programas escritos na linguagem hospedeira (por exemplo, Cobol, PL/1, Pascal, C; Testam, depuram, documentam e mantêm estes programas. Testam, depuram, documentam e mantêm estes programas. Identifica os dados a serem armazenados no banco de dados; Aula 01 - Sistemas de banco de dados 15 Escolhe estruturas apropriadas para representar e armazenar tais dados; Obtém requisitos necessários dos futuros usuários do banco de dados para que o projeto de banco de dados possa ser capaz de dar suporte a todos os níveis e departamentos da organização. Administrador de banco de dados Supervisiona e gerencia o compartilhamento de todos usuários na utilização do banco de dados; Autoriza o acesso ao banco de dados; Coordenar e monitorar seu uso; Coordena o projeto global de banco de dados; Desenvolve e mantém dos esquemas e subesquemas; Desenvolve e mantém os dicionários de dados; Implementa o SGBD. Projeto de banco de dados Projetar um banco de dados pode ser definido como modelar uma realidade, é criarum modelo a partir da análise de uma parcela do mundo real denominada minimundo, ou por reconstrução de um modelo já existente. Ao realizarmos a modelagem, devemos executar um conjunto de atividades sucessivas, que podem se subdividir em outras atividades mais simples, até atingimos o nível de atividades elementares. Insumos Os insumos servem de matéria-prima para a geração de produtos. Normalmente, os insumos de uma atividade são o produto da atividade anterior, ou seja, uma atividade A produz os insumos da atividade B que a sucede. A sucessão de atividades organizada de forma lógica e sequencial formam a metodologia. Aula 01 - Sistemas de banco de dados 16 Técnica Outro componente da modelagem é a técnica, que nada mais é do que a forma como os insumos são transformados em produtos no âmbito da atividade. Ferramentas Para aplicar a técnica, necessitamos de ferramentas, que são os instrumentos utilizados para transformar os insumos em produtos. No nosso caso específico, são denominadas Ferramentas de Modelagem. Em resumo, poderíamos resumir os componentes de modelagem da seguinte forma: Metodologia Conjunto de atividades para produzir o modelo. Técnica Como cada atividade é executada. Ferramenta Instrumento utilizada para executar a atividade. Veja uma representação gráfica da modelagem: Aula 01 - Sistemas de banco de dados 17 Modelos Temos aqui duas acepções para o termo modelo: Ferramenta de modelagem Produto final da atividade de modelagem Observe na figura anterior a seta amarela, pois ela representa as técnicas utilizadas na modelagem e o conjunto de suas ferramentas, que visam definir as estruturas de armazenamento de dados Como produto final que são representam graficamente, na maioria das vezes, o minimundo. Repare na figura anterior o Modelo 1 e o Modelo n. Repare também que, a partir do minimundo (insumo), foi gerado Modelo 1 (produto) e que, a Modelagem de dados Aula 01 - Sistemas de banco de dados 18 necessárias para o atendimento das necessidades dos sistemas. partir de Modelo 1 (insumo), foi realizada uma nova atividade de modelagem e gerado o Modelo n (produto). Na busca pela compreensão do mundo que o cerca, o homem produz modelos do mundo real, visando a sua formalização. Ao construirmos um DER ou ao escrevermos um texto descritivo de uma realidade, estamos formalizando no papel a situação que examinamos e da qual, ao abstrairmos detalhes irrelevantes, criamos conceitos que irão estabelecer modelos que servirão sucessivamente de insumos para a criação de modelos cada vez mais complexos. Podemos, dessa forma, compreender o conjunto de modelos que criamos a partir de parcelas do mundo real ou a partir de outros modelos, que compõem o conhecimento humano. A transformação da realidade observada em algo que possa ser processado em um computador é um grande desafio. Para fazer essa transformação, temos o projeto de banco de dados, que é a metodologia utilizada para criar o esquema de um ou mais bancos de dados que irão armazenar os valores (instância) necessários ao Mundo real Aula 01 - Sistemas de banco de dados 19 funcionamento dos sistemas de uma organização. Objetivo do projeto de banco de dados A atividade de projetar um banco de dados é complexa devido aos seguintes fatores: Nebulosidade existente no minimundo; Dificuldade de entendimento das características dos objetos do minimundo; Necessidade de utilização eficiente das ferramentas de modelagem; Necessidade de atendimento de todos os requisitos de informação; Dificuldade inerentes ao gerenciamento de projetos de TI. Visando minimizar a complexidade, é possível utilizar a estratégia de particionamento, ou seja, dividir o projeto de Banco de Dados em fases sucessivas. Para isso, pode ser necessário responder às seguintes perguntas: Como elas se relacionam? Quais são as partes (atividades do processo)? Atividade de modelagem Aula 01 - Sistemas de banco de dados 20 Quais são seus produtos? Criação de um modelo abstrato do minimundo Este modelo deve ser elaborado independentemente de qualquer tecnologia da Informação. Ela visa formalizar a realidade a ser modelada de graficamente e com o maior rigor matemático possível. Criação de um modelo processável A partir do modelo abstrato, criamos um modelo que possa ser implementado em um meio computacional. Como a criação do modelo processável ainda é inerentemente complexa, vamos subdividi-la em duas fases: Criação de um modelo implementável Aula 01 - Sistemas de banco de dados 21 A partir do modelo abstrato, criamos um modelo que pode ser implementado em uma classe de tecnologia da informação de banco de dados (orientado a objetos, banco relacional, banco objeto relacional, noSQL. Criação de um modelo processável A partir do modelo implementável, criamos um modelo que possa ser colocado em produção em uma implementação da tecnologia de banco de dados específica SGBD, PostgreSQL, rodando em Windows Server constituindo um Servidor de Banco de Dados para até 64 usuários acessando o Banco de Dados de forma não simultânea. Aula 01 - Sistemas de banco de dados 22 Fases e ferramentas do projeto de banco de dados As três etapas descritas anteriormente dão origem à metodologia do projeto de banco de dados, que se divide em: Projeto conceitual de banco de dados - Quando o DER é utilizado, construímos um modelo da realidade dissociado de qualquer Tecnologia da Informação. Projeto lógico de banco de dados - Quando um modelo de dados Relacional, Orientado a Objetos, Documentos etc.) é utilizado, criamos um esquema de armazenamento para os dados. Projeto físico de banco de dados - Quando uma linguagem de acesso a um determinado SGBD é utilizada, escrevemos os comandos que irão criar o banco e as estruturas de armazenamento. Aula 01 - Sistemas de banco de dados 23 Na figura seguinte, são expostas as fases do projeto de banco de dados e as ferramentas a serem utilizadas em cada uma delas: Ferramentas CASE A Engenharia de Software Auxiliada por Computador, do inglês CASE Computer-Aided Software Engineering), visa dar suporte ao desenvolvedor, fornecendo serviços de apoio, contribuindo para o aumento da produtividade e para a melhoria da qualidade do sistema criado. Existe no mercado grande quantidade de ferramentas que fornecem diferentes serviços. A grande maioria possui em comum a possibilidade de fazer a modelagem de forma visual, gerando os modelos de forma gráfica. As ferramentas CASE utilizadas em modelagem de dados permitem realizar a diagramação do modelo conceitual, gerar o modelo lógico e, normalmente, gerar o script SQL para a criação do banco de dados no SGBD. Ferramentas profissionais permitem ainda fazer a engenharia reversa do banco, ou seja, acessar o banco no SGBD e criar o modelo lógico e o modelo conceitual a partir do banco criado fisicamente. Fases do projeto de banco de dados Aula 01 - Sistemas de banco de dados 24 Atividades 1. Dentro da estrutura de um sistema de banco de dados, onde a autoinformação é materializada? Gabarito comentado No catálogo do sistema. A autoinformação é a característica do banco de dados que diz que um banco deve guardar os dados e a descrição desses dados, ou seja, a estrutura de armazenamento dos dados. O catálogo de um SGBD serve exatamente para isso, armazenar os metadados, ou seja, os dados que descrevem o banco de dados. 2. Quem é o usuário de banco de dados que gerencia o SGBD? Explique sua função. Gabarito comentado Administrador de Banco de Dados DBA. Ele é o responsável por instalar o SGBD, criar os usuários do banco de dados, fazer a manutenção do sistema, o backup e restore bem como participar do projeto do banco de dados. 3. Os desenvolvedores de aplicações que usam o banco de dados atuam em que esquema? Gabarito comentado Esquema conceitual, que descreve o banco de dados como um todo, informando as tabelas existentes, as colunase as chaves que são as informações que um desenvolvedor necessita para criar suas aplicações. Referências DATE, C. J. Introdução a sistemas de banco de dados. 7. ed. Rio de Janeiro: Campus, 2000. ELMASRI, R.; NAVATHE, S. B. Sistemas de banco de dados. 6. ed. São Paulo: Pearson Addison Wesley, 2011. Aula 01 - Sistemas de banco de dados 25 SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S. Sistemas de banco de dados. 5. ed. Rio de Janeiro: Campus, 2006. Explore mais Leia os textos: A história dos bancos de dados; O que são metadados. Assista ao vídeo: História do SQL Server. https://www.devmedia.com.br/a-historia-dos-banco-de-dados/1678 https://www.metadados.pt/oquesaometadados%C2%A0 https://www.youtube.com/watch?v=7qKToaOZBd8
Compartilhar