Prof. Marcelo Machado Cunha www.marcelomachado.com [email protected] Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados, Plataformas: MonoUsuário, Centralizada e Cliente/Servidor, Modelos de dados: Hierárquico, redes, relacional e orientado a objeto. Características de um Sistema de Gerenciamento de Banco de Dados. Modelo de Entidade e Relacionamento, Normalização, Modelo de dado relacional, Álgebra relacional, Linguagem SQL (conceito, linguagem de definição de dados – DDL, linguagem de manipulação de dados – DML, linguagem de controle de dados – DCL). Introdução a Banco de Dados Antes do Computador Arquivos em papel Manipulação Manual Depois do Computador Arquivos Eletrônicos Manipulação através de programas ou acesso direto Introdução Os programas implementar:: implementar tinham que Funções para os quais foram desenvolvidos Funções de acesso aos dados Nome: João Idade: 45 anos Função: XX ProgA.exe ProgB.exe ProgC.exe GERANDO Complexidade + dificuldade de manutenção + erros Dado x Informação Dado É o registro bruto, sem contexto ou significado, ou seja são sequências ordenadas de símbolos dos quais se pode extrair informações, mas que, isoladamente, não contêm nenhum significado. Informação São os dados tratados, analisados ou processados, sendo assim capazes de transmitir algum tipo de conhecimento ao receptor Arquivo X Bando de Dados Problemas nos uso de arquivos Redundância e inconsistência de dados Redundância é a característica onde um elemento de informação aparece duplicado em diversos lugares. Por exemplo, um cliente de uma empresa pode esta cadastrado tanto na base de dados do departamento de crédito assim como no departamento de contabilidade. Esta redundância pode causar a inconsistência, visto que as informações podem ser diferentes para o mesmo cliente. Problemas nos uso de arquivos Dificuldade no acesso aos dados Suponha que um diretor necessite encontrar os clientes que residem em uma área da cidade onde o CEP seja 49000-123. Se este modulo do sistema de informação não estiver implementado, o diretor terá duas opções: ele pega a lista de clientes e extrai a informação necessária, ou pede para o departamento de informática implementar a rotina necessária para obtenção do relatório. Problemas nos uso de arquivos Isolamento de dados Uma vez que os dados estão espalhados em diversos arquivos e podem ter formatos diferentes, é difícil escrever novos programas para recuperar os dados adequados. Programas com acesso direto aos dados Um erro no programa poderá deixar os dados inconsistentes; Problemas nos uso de arquivos Anomalia de acesso concorrente Evitar problemas relacionados a acesso concorrentes em um dado. Por exemplo, se duas pessoas sacarem dinheiro de uma conta ao mesmo tempo, o resultado das operações concorrentes podem deixar um saldo inconsistente. Considere uma conta com a quantia de R$ 400 e dois saques simultâneo de R$ 100 e R$ 50. Se houver problema de concorrência, a conta pode ficar com valores de $300 ou de $350 ao invés de $250. Problemas nos uso de arquivos Segurança Cada usuário do sistema poderá ter acesso aos dados relativos a sua função. Por exemplo, um caixa não pode ver dados pertencentes as diretoria. Problemas de Integridade Os valores armazenados no BD devem satisfazer certos tipos de restrições de consistências. Por exemplo, um filho de um funcionário não pode ser cadastrado sem que o pai trabalhe na empresa. Arquivo X Bando de Dados Vantagens do Banco de Dados Abstração dos dados Múltiplas visões de dados Compartilhamento de dados e processamento de múltiplas visões Conceito de Banco de dados Um banco de dados é um conjunto coerente e lógico de dados relacionados que possuem significado próprio. (OLIVEIRA, 2002) Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica. (Heuser, 1999) SGBD Sistema Gerenciador de Banco de Dados (SGBD) É uma coleção de programas que permite aos usuários criar e manter um Banco de dados. “O sistema de gerência de banco de dados é uma camada de software existente entre os usuários e o banco de dados fixo” (Date) SGBD A construção de um banco de dados é o processo de armazenar os dados em alguma mídia apropriada e controlada pelo SGBD. “É basicamente um sistema computadorizado de armazenamento de registros, isto é, um sistema computadorizado cujo propósito é armazenar informações, permitindo ao usuário buscá-las e atualizá-las quando necessário” (Date) Componentes de um SGBD SGBD Os objetivos de um sistema de banco de dados são o de isolar o usuário dos detalhes internos do banco de dados (promover a abstração de dados) e promover a independência dos dados em relação às aplicações, ou seja, tornar independente da aplicação, a estratégia de acesso e a forma de armazenamento. Principais Recursos de um SGBD Controle de Redundância No SGBD conseguimos controlar para que os mesmos dados não sejam repetidos várias vezes no mesmo banco. Compartilhamento de Dados Possibilitar a um ambiente multiusuário a manipulação simultânea de dados distintos ou dos mesmos dados. Independência de Dados Programas independentes das técnicas de acesso; Controle pleno de toda a estrutura física armazenamento; de Principais Recursos de um SGBD Segurança Facilidade de construir políticas de segurança capazes de limitar e disciplinar o acesso ao banco de dados e das informações nele contidas; Definição de quem tem direito ao acesso; Os níveis de segurança são estabelecidos para cada usuário independentemente, de acordo com suas necessidades. Principais Recursos de um SGBD Restrições de Integridade Diz respeito à capacidade do SGBD em impor regras de validação aos dados a serem armazenados; Estabeleci um formato para os dados serem inseridos de modo a garantir integridade e facilitar o armazenamento. Ex. 1: Tamanho do nomes não maior que 30 caracteres e em maiúsculo; Ex. 2: Armazenamento dos salários com duas casas decimais; Principais Recursos de um SGBD Formas de Recuperação a falhas Recursos oferecidos pelos SGBDs para que seja possível definir soluções que permitam a recuperação dos dados em caso de falhas; Estabelecer o backup automático do BD total ou parcial em momentos estabelecidos pelo administrador do banco de dados; Proporcionar proteção contra a perda de informações devido a falhas no dispositivo de armazenamento (discos); Controle de transação Transação é o conjunto de operações que devem ser executadas completamente. Exemplos de SGBDs Oracle Líder no mercado de banco de dados; Banco não gratuito; SQL Server Desenvolvido pela Microsoft; Banco não gratuito; PostgreSQL É um dos SGBDs de código aberto mais avançados; O seu desenvolvimento é feito por desenvolvedores, espalhados por todo o mundo e que se comunicam via Internet; Qualquer pessoa pode colaborar, basta se inscrever nas listas de discussão e participar delas; Gratuito; Exemplos de SGBDs MySQL É atualmente um dos bancos de dados mais populares do mundo; O sucesso do MySQL deve-se em grande parte à fácil integração com o PHP incluído, quase que obrigatoriamente, nos pacotes de hospedagem de sites da Internet oferecidos atualmente; Gratuito; Firebird Baseado no código do InterBase da Borland, quando ocorreu a abertura do seu código fonte (em 25 de Julho de 2000), alguns programadores assumiram o projeto de identificar e corrigir inúmeros defeitos da versão original, surgindo aí o Firebird 1.0. Banco de dados Gratuito