Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados 1. Conceitos Básicos No contexto de sistemas de banco de dados as palavras dado e informação possuem o mesmo significado, representando uma unidade valor passível de processamento. Dados transientes são dados que devem ser descartados após a execução do software que o manipula. Dados persistentes são dados que não devem ser descartados após a execução do software que o manipula, esta informação deve ser retida no ambiente computacional para uso posterior. Um registro é uma estrutura composta de um ou mais unidade de dados. Uma Aplicação é um sistema de software criado por meio de uma linguagem de programação para atender a uma demanda. Um Banco de Dados é um conjunto de dados persistentes que estão relacionados de forma a contextualizar um mini-mundo. Um Sistema de banco de dados sistema que tem objetivo armazenar dados persistentes para serem utilizados por uma ou mais aplicações Um Sistema Gerenciador de Banco de Dados – SGBD (do inglês DBMS – Database Management System) é um conjunto de programas destinados a controlar banco de dados. De forma que possibilite: 1.Definir os tipos e estruturas dos dados de um BD 2.Construir por meio de armazenagem dos dados no BD 3.Manipular ou seja, recupera, insere, apaga e atualiza os dados no BD 4 Garantir a segurança dos dados retidos no BD Um Esquema de banco de dados é a definição da estrutura do conjunto de dados de um banco de dados. Uma Instância de Banco de Dados é a situação de um banco de dados em um determinado momento. Ela é variável com o passar do tempo pois dados podem ser eliminados e criados. Nota de Aula Prof. Sidney Vieira 1 2. Componentes básicos de um SGBD Em uma analise preliminar pode-se ver o Sistema Gerenciador de Banco de Dados como um programa composto de dois componentes; o processador de consultas e o Gerenciador de memória. SGBD Processador de consultas Gerenciador de memória BD O processador de consultas tem por finalidade controlar o aceso externo, realizado por usuários e aplicações. Já o gerenciador de memória, tem por objetivo controlar o espaço físico dos dados , a organizados destes dados em arquivos e a busca, o armazenamento e a eliminação de dados destes arquivos. 2.1 Aplicação com uso de arquivos de dados e Sistemas de Banco de Dados Nota de Aula Prof. Sidney Vieira 2 3. Abstração de Dados A ANSI (Americam National Standards Institute) propõe três níveis de abstração para um sistema gerenciador de banco de dados: Nível externo Nível conceitual Nível interno Nível Externo – São visões para usuários individuais e grupos de usuários, este nível também é referenciado como visão externa ou nível lógico do usuário, estas visões são criadas para que as diversas categorias de usuários e aplicações manipulem as estruturas de dados definidas no nível conceitual. Nível Conceitual – é a visão geral do Banco de dados, também referenciada como visão conceitual ou nível lógico comunitário, ela tem a função de descrever os diversos conjuntos de dados, entidades, que são armazenados e suas relações. Nível físico - é a visão do meio de armazenamento, também referenciada como visão interna ou nível físico, descreve como os dados são realmente armazenados fisicamente em disco. Nível Externo ... Nível conceitual Nível Interno 3.1 Independência de Dados A Independência de Dados diz respeito ao fato de ser possível uma mudança no que concerne aos dados em um nível sem afetar outro nível. Ela pode ser: Física Lógica Independência Física Diz respeito ao fato de se efetuar mudanças no nível físico sem afetar as aplicações do nível externo Nota de Aula Prof. Sidney Vieira 3 Ex: criação de um novo índice para uma relação não deve afetar as aplicações existentes. Independência Lógica Diz respeito ao fato de se efetuar mudanças no nível lógico sem afetar as aplicações do nível externo Ex: criação de um novo campo de dado para uma relação não deve afetar as aplicações já existentes. 4. Usuário de Banco de Dados Os usuários de um SGBD podem ser agrupados em quatro categorias: Usuário Navegante Usuário Expert - especialista Usuário Programador/ Analista Administrador O usuário navegante é a categoria de usuários que acessa dados de um banco de dados por meio de aplicações (um programa criado em uma linguagem de programação). O usuário expert é o usuário que tem conhecimentos específicos e consegue interagir com o BD, por meio de linguagem especifica, denominada linguagem de consulta – exemplo SQL. O usuário programador é um profissional de desenvolvimento que gera aplicações manipulando linguagem de programação e comando de linguagem de consulta a banco de dados. O Administrador, denominador Administrador de banco de dados - DBA (DataBase Administrator) é a categoria de usuário do banco de dados que tem a função de administrar o banco de dados para uso das demais categorias. Compete ao DBA: Criar usuários para acesso ao Banco de Dados Definir o esquema do Banco de Dados Definir a estrutura de dados e o método de acesso aos dados Definir domínios para o Banco de Dados Modificar o esquema do Banco de Dados Especificar restrições para manter a integridade do Banco de Dados Nota de Aula Prof. Sidney Vieira 4 5. Esquema de um Sistema de Banco de Dados DBA USUÁRIO SOFISTICADO ISQL PROGRAMADOR USUARIO NAVEGANTE Software para gerar aplicação ISQL Interface de aplicação SGBD PROCESSADOR DE CONSULTAS INTERPRETADO R DE DDL COMPILADOR DE DML PRÉCOMPILADO R DE DML CONTROLADOR DE APLICAÇÕES COMPONENTE DE EXECUÇÃO DE CONSULTA GERENCIADOR DE MEMÓRIA GERENCIADOR DE TRANSAÇÃO GERENCIADOR DE BUFFER GERENCIADOR DE ARQUIVOS DADOS ESTÁTICOS Nota de Aula Prof. Sidney Vieira DICIONARIO DE DADOS INDICES ARQUIVOS DE DADOS 5 ARMAZENAGEM EM DISCO 5.1 Componentes de um SGBD: Interpretador de DDL Pré-compilador de DML Compilador de DML Controlador de aplicações Componente de execução de consulta Gerenciador de buffer Gerenciador de transação Gerenciador de arquivos Índices Arquivos de dados Dicionário de dados Dados estáticos 6. Problemas ocasionados em decorrência do não uso de um SGBD: Redundância de dados Inconsistência de dados Dificuldade de acesso Falta de controle centralizado 7. Características básicas de um SGBD Integridade Segurança Backup e recuperação de dados Concorrência Monitoração Compartilhamento de dados 8- Requisitos de um Sistema Gerenciador de Banco de Dados Para ser classificado como um SGBD o Sistema deve atender aos seguintes requisitos: Auto-contenção Independência de dados Abstração de dados Visões Transações Acesso automático Nota de Aula Prof. Sidney Vieira 6