Banco de Dados e Usuários do Banco de Dados (capítulo 1) Tipos de Banco de Dados Banco de Dados Numéricos e Textuais – Sistemas convencionais (e.g. sistema bancário) Banco de Dados Multimídia – Sistema que armazenam e recuperam áudio, vídeo e etc. Banco de Dados Geográficos – Sistemas que armazenam mapas e informações geográficas. Data Warehouses – Banco de Dados preparado para análise dos dados Definições Básicas Banco de Dados: Uma coleção de dados relacionados. Dados: Fatos conhecidos que podem ser armazenados e possuem um significado implícito. Mini-world: Alguma parte do mundo real sobre a qual os dados armazenados no Banco de Dados se referem. Por exmplo, um sistema de uma universidade se refere a uma universidade específica (Mini-world). Sistema Gerenciador de Banco de Dados (SGBD): Uma coleção de programas usados para facilitar a criação e manutenção de Banco de Dados computadorizados. Sistema de Banco de Dados: O SGBD junto com os Dados e, possivelmente, com as aplicações. Funcionalidades Típicas de um SGBD Suporte para carregar o banco de dados em meio de armazanamentos secundário. Suporte para definir o Banco de Dados: tipos de dados, estrutura e restrições. Para isso usa-se DDL (Data Definition Language) Suporte para manipular o Banco de Dados: busca, inserções, deleções e atualizações de conteúdo. Para isso usa-se DML (Data Language Manipulation) Suporte para processamento concorrente mantendo a consistência dos dados. Segurança contra falhas e acesso não autorizado. Exemplo de Banco de Dados Mini-world para o exemplo: Parte de uma Universidade. Algumas possiveis entidades: – – – – – ESTUDANTES CURSOS OFERTAS (DE CURSOS) DEPARTAMENTOS PROFESSORES Exemplo de Banco de Dados Algumas relações extraídas do mini-world: – – – – – – OFERTAS são de CURSOS específicos ESTUDANTES assistem OFERTAS CURSOS possuem como pré-req CURSOS PROFESSORES ministram OFERTAS CURSOS são oferecidos por DEPARTAMENTOS ESTUDANTES estão vinculados a DEPARTAMENTOS Características de um SGBD Auto-descrição de um SGBD: O catálogo do SGBD armazena a descrição do Banco de Dados. Esta descrição é chamada de metadodos. É isto que permite ao SGBD trabalhar com diferentes bases de dados. Independência de dados: Permite que mudanças nas estruturas de armazenamento não afetem os programas que acessam os dados. Características de um SGBD Abstração de Dados: O SGBD usa um modelo de dados que esconde detalhes de armazenamento e proporcionam uma visão conceitual dos dados. Suporte para múltiplas visões dos dados: Cada usuário pode ter diferentes visões da mesma base de dados, a qual descreve somente os dados de interesse para aquele usuário. Características de um SGBD Compartilhamento de dados e processamento de transações de multiplos usuários: Possibilita que um conjunto de usuários recuperem e atualizem conteúdo do banco de dados concorrentemente, mantendo a consistência. O controle de concorrência do SGBD garante que uma transação é corretamente executada ou completamente abortada. Usuários do Banco de Dados – Administrador do Banco de Dados: responsável pela liberação de acesso ao Banco de Dados e por monitorar e controlar seu uso. – Projetista (Designer) do Banco de Dados: responsável por definir o Banco de Dados. Eles se comunicam com usuários finais para compreender suas necessidades. – Usuários finais: Quem efetivamente usam os dados armazados, fazendo buscas, deleções e atualizações no conteúdo do Banco de Dados. Vantagens ao se usar um SGBD Controle de redundância. Compartilhamento de Dados entre múltiplos usuários. Segurança a falhas e acesso não autorizado. Recuperação eficiente de dados. Backup para os dados facilitado. Multiplas visões. Possibilita a definição de restrições de integridade sobre os dados Tempo de desenvolvimento de aplicações reduzido. Flexibilidade para implementar alteração dos dados. Quando não usar um SGBD Alto custo inicial e não justificado. Aplicações simples, bem definidas, cujos dados não sofrem muitas alterações. Aplicações com restrições de tempo real que não podem ser garantidas pelo sistema de busca do SGBD. Pode ser desnecessário, caso o acesso por parte de múltiplos usuários não seja um requisito. Aplicações com dados complexos não suportados pelo SGBD. Quando não usar um SGBD Alto custo inicial e não justificado. Aplicações simples, bem definidas, cujos dados não sofrem muitas alterações. Aplicações com restrições de tempo real que não podem ser garantidas pelo sistema de busca do SGBD. Pode ser desnecessário, caso o acesso por parte de múltiplos usuários não seja um requisito. Aplicações com dados complexos não suportados pelo SGBD. Exercícios 1. Defina os seguinte termos: dado, banco de dados, catálogo do banco de dados, independência programa-dados, visão do usuário, DBA, usuário final, transação e metadado. 2. Discuta as principais funcionalidades que deveriam ser proporcionadas por um SGBD.