Introdução a Banco de Dados Aécio Costa Porque utilizamos BD? Banco de Dados “Um banco de dados é uma coleção de dados persistentes, usada pelos sistemas de aplicação de uma determinada empresa”. DATE (2003) BD Características Banco de Dados Representa aspectos do mundo real (minimundo) Coleção de Dados relacionados Mudanças no mundo real podem refletir no minimundo. Fatos que podem ser gravados e tem significado. Projetado, construído e populado para um propósito específico. Antigamente... Sistemas de Arquivo Gravação de dados em estruturas próprias; Vários programas deviam compartilhar a mesma estrutura; Qualquer alteração no arquivo reflete em outros programas, mesmo em dados que ele não utiliza. File ... e surge o SGBD SGBD SGBD BD (File) Sistema de Gerenciamento de BD “Softwares que manipulam todos os acessos ao banco de dados; proporciona uma interface de usuário ao Sistema de Banco de Dados.” DATE (2003) Sistema de Arquivos x SGBD Algumas Vantagens dos SGBD’s Dados e Meta-dados na base Os dados e a descrição correspondente são armazenadas na base e gerenciadas pelo SGBD. Independência de Dados-Programas Modificações como inclusão de um novo campo não afetam os programas. Abstração de Dados Representação conceitual através de um modelo de dados que só usa conceitos lógicos. Múltiplas Visões Permite restringir acesso a visualização de dados. Relacionamentos complexos Permite o relacionamento complexo dos dados Sistema de Gerenciamento de BD Definição; Construção; Manipulação de base de dados. SGBD BD Sistema de Gerenciamento de BD Principais Objetivos Gerenciamento de grande quantidade de dados eficiente; Segurança Compartilhamento Cópias de segurança (backup); Manutenção de integridade; Controle de concorrência. Serviços de um SGBD Redundância Controlada Compartilhamento dos Dados Concorrência Reconstrução Acesso controlado Segurança Restrições de Integridade Distribuição Serviços de um SGBD Redundância Controlada Replicação de dados; Redundância pode levar a um estado inconsistente; SGBD fornece mecanismos para controlar redundâncias. Serviços de um SGBD Compartilhamento dos Dados Permite vários usuários acessarem informações de forma simultânea; Oferece controle de concorrência para garantir que o resultado de modificações na base de dados seja correto. Serviços de um SGBD Controle de Concorrência Limita as leituras e modificações simultâneas disparadas ao mesmo dado por diferentes usuários; A técnica mais usada consiste em bloquear os dados envolvidos em determinada operação; O bloqueio pode ser lógico ou físico. Lógico: linguagem de consulta. Físico: registro, página ou tabela Bloqueio Perpétuo ('deadlock’) Serviços de um SGBD Controle de Transações Transações são unidades lógicas de trabalho numa aplicação; A base de dados está em um estado consistente antes e depois de uma transação. Um mecanismo de transação garante que toda transação iniciada ou termina com sucesso ou é desfeita. Transações de diferentes usuários que envolvem dados compartilhados são executadas em sequencia. Transações controlam melhor a concorrência e a reconstrução. Serviços de um SGBD Reconstrução Um mecanismo de reconstrução permite que a base de dados volte a um estado consistente após pane; Backups são a solução mais simples e antiga. Serviços de um SGBD Acesso Controlado Privilégios diferentes quanto à manipulação dos dados. Dados costumam ter acesso restrito e o SGBD deve ter um mecanismo de controle de segurança. O SGBD deve garantir que usuários autorizados realizem operações corretas na base de dados. autenticação de usuários manutenção da matriz de autorização Serviços de um SGBD Segurança Proteção aos dados Cuida para que o conteúdo da base de dados não seja compreendido por usuários não autorizados. Critografia/Decriptografia Padrões de criptografia Criptografia através de chaves Serviços de um SGBD Restrições de Integridade Manutenção da consistência da base de dados através da validação de restrições definidas sobre os dados; Controle de valores que um campo pode ter. Por ex.: O número de assentos de um vôo só pode variar entre 100 e 700. Controle de relacionamento entre dois registros. Por ex.: Um vôo só pode pertencer a uma Cia já cadastrada. O SGBD deve oferecer dois mecanismos: especificação de restrições de integridade validação das restrições de integridade Serviços de um SGBD Distribuição Acesso remoto a bases de dados arquitetura cliente/servidor sistemas heterogêneos Base distribuída fragmentação de dados entre duas ou mais bases de dados Acesso transparente Arquitetura de SGBD Usuários de um SGBD Administrador de BD (DBA) Projetista de BD Analista de Sistemas e Programador de Aplicações Usuários finais Ferramentas Administrativas Ferramentas para criação e manipulação de Banco de Dados em ambiente gráfico. Ferramentas Administrativas IBConsole IBOConsole IBExpert DBManager pgAdmin SQLyog MySQL-Front SQLite Expert Ferramentas Administrativas DBManager Ferramentas Administrativas SQLyog Ferramentas Administrativas MySQL-Front Sistema de Banco de Dados Componentes de um BD Seminário I Seminário: Principais SGBD’s e suas características Grupo: 3 Pessoas Origem Vantagens Serviços Quais as ferramentas administrativas? Proprietário ou open source? Quem usa? Casos de Migração para o BD Seminário I Seminário: Principais SGBD’s e suas características MySQL SQL Server Oracle Postgres Firebird Interbase DB2 SQLite Informix Sysbase Seminário I Apresentação 03/09 TODOS devem apresentar Perguntas 20 Minutos Nota em Grupo e Individual