Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS - SGBD Disciplina: Banco de Dados Prof: Márcio Palheta, Esp Manaus - AM
ROTEIRO Introdução Vantagens da Utilização da Abordagem de um SGBD Alguns problemas possíveis ao usar um SGBD Implicações Adicionais do Uso da Abordagem de um Banco de Dados Classificação dos SGBDs Exemplos de SGBDs Referência 14/02/2011 Conceitos Básicos 2
INTRODUÇÃO Todas as organizações têm quantidades, por vezes, astronómicas de dados e informação que têm de armazenar Contudo, o papel tem problemas ao nível da persistência (tempo e tipo de visualização) e da recuperação (validação e verificação) de dados Neste sentido, torna-se mais fácil encontrar a informação numa base de dados que recorre a uma das tecnologias de informação de maior sucesso 14/02/2011 Conceitos Básicos 3
INTRODUÇÃO Qualquer empresa que pretenda garantir um controle efectivo sobre todo o seu negócio, tem obrigatoriamente de recorrer a sistemas de gestão de bases de dados 14/02/2011 Conceitos Básicos 4
INTRODUÇÃO Relembrando: Um SGBD é uma coleção de programas que permite aos usuários criar e manter um banco de dados O SGBD é, portanto, um sistema de software de propósito geral que facilita os processos de definição, construção, manipulação e compartilhamento de bancos de dados entre vários usuários e aplicações 14/02/2011 Conceitos Básicos 5
INTRODUÇÃO Relembrando: As funções importantes do SGBD são a proteção e a manutenção do banco de dados por longos períodos 14/02/2011 Conceitos Básicos 6
INTRODUÇÃO Basicamente são três os componentes de um SGBD: 1. Linguagem de definição de dados (Data Definition Language - DDL) especifica conteúdos, estrutura a base de dados e define os elementos de dados 2. Linguagem de manipulação de dados - (Data Manipulation Language DML) usada para poder alterar os dados na base 3. Dicionário de dados - é uma coleção de metadados que contêm definições e representações de elementos de dados 14/02/2011 Conceitos Básicos 7
VANTAGENS DA UTILIZAÇÃO DA ABORDAGEM DE UM SGBD
VANTAGENS DA UTILIZAÇÃO DA ABORDAGEM DE UM SGBD 1. Controle de redundância; 2. Restrição de acesso não autorizado; 3. Garantia no armazenamento persistente; 4. Garantia no armazenamento de estruturas para o processamento eficiente de consultas; 5. Garantia de backup e restauração de dados; 14/02/2011 Conceitos Básicos 9
VANTAGENS DA UTILIZAÇÃO DA ABORDAGEM DE UM SGBD 6. Fornecimento de múltiplas interfaces para os usuários; 7. Capacidade de Representar relacionamento complexo entre os dados; 8. Capacidade de forçar as restrições de integridade; 9. Capacidade de Permitir as inferências e ações através de regras 14/02/2011 Conceitos Básicos 10
1. Controle de redundância A redundância não controlada pode gerar uma série de problemas E muitos desses problemas estão presentes em uso de arquivos Exemplos: Arquivos de controle acadêmico e de financeiro Todas as vezes que o aluno pagar a mensalidade, os dois arquivos devem ser atualizados O de controle acadêmico sinalizando que o aluno permanece no curso e o do financeiro sinalizando que o aluno está em dias com os pagamentos 14/02/2011 Conceitos Básicos 11
1. Controle de redundância A redundância não controlada gera: Duplicação de esforços - várias atualizações em arquivos diferentes; Desperdiço de espaço de armazenamento o mesmo dado armazenado repetidamente; Inconsistência de dados quando a atualização é aplicada somente a alguns arquivos e não a todos 14/02/2011 Conceitos Básicos 12
1. Controle de redundância O SGBD garante o controle de redundância através Do uso do mesmo espaço de armazenamento; Da integração dos grupos realizada durante o projeto do banco de dados Se os dados estão em um mesmo espaço de armazenamento não se tem pesquisa múltiplas em diversos arquivos 14/02/2011 Conceitos Básicos 13
1. Controle de redundância CURSO Nome NumCurso Créditos Departamento Introdução a CC CC1310 4 CC Estrutura de Dados CC3320 4 CC Matemática Discreta MAT2410 3 MAT Banco de Dados CC3380 3 CC CURSO Nome NumCurso Créditos Departamento Introdução a CC CC1310 2 CC 14/02/2011 Conceitos Básicos 14
2. Restrição de acesso não autorizado Nem todos os usuários devem ter acesso a todas as informações que estão contidas no banco de dados Exemplo: Um aluno não pode acessar dados financeiros, pois estes são confidenciais a instituição Em consequência disto é que acessos DEVEM ser controlados 14/02/2011 Conceitos Básicos 15
2. Restrição de acesso não autorizado O mais comum é oferecer ao usuário um grupo com conta protegida por senha O SGBD deve garantir a segurança e um subsistema de autorização usada pelo Administrador do Banco de Dados (Database Administrator - DBA) para que ele possa criar contas e definir restrições de cada uma Essas restrições são garantidas automaticamente 14/02/2011 Conceitos Básicos 16
3. Garantia no armazenamento persistente Os bancos de dados podem ser usados para oferecer um armazenamento persistente aos objetos programas e estruturas de dados Exemplo: Os sistemas de BD orientado a objetos são compatíveis com as linguagens de programação como C++ e Java, e os SW do SGBD, automaticamente executam qualquer conversão necessária O objeto armazenado é conhecido como PERSISTENTE 14/02/2011 Conceitos Básicos 17
3. Garantia no armazenamento persistente Se as estruturas de dados fornecidas pelo SGBD são incompatíveis com as estruturas de dados da linguagem de programação, então ocorre o problema de separação por impedância 14/02/2011 Conceitos Básicos 18
4. Garantia no armazenamento de estruturas para o processamento eficiente de consultas Os dados dos banco de dados são armazenados em disco; O SGBD deve possuir estruturas de dados especializadas para aumentar a velocidade de pesquisa no disco dos registros desejados Solução: Uso de arquivos auxiliares chamados de indexes Os indexes são baseados em estrutura de dados árvores ou hash adequadamente adaptados para pesquisa em disco 14/02/2011 Conceitos Básicos 19
5. Garantia de backup e restauração de dados Os subsistemas de backup e recuperação é responsável pela recuperação de falhas Exemplo: Se um sistema falhar no meio de uma transação de atualização, o subsistema de recuperação garante o recolocar o banco de dados ao mesmo estado em que estava, antes da execução da transação O subsistema pode assegurar que a transação seja executada a partir do ponto de interrupção 14/02/2011 Conceitos Básicos 20
6. Fornecimento de múltiplas interfaces para os usuários Usuários com níveis de conhecimento técnico diferentes utilizam o banco de dados Logo, o SGBD deve oferecer interfaces diferentes As interfaces mais comuns são aquelas com menus e formulários Estas interfaces são conhecidas como GUIs (Interface Gráficas para Usuários) Graphical User Interfaces 14/02/2011 Conceitos Básicos 21
7. Capacidade de Representar relacionamento complexo entre os dados O banco de dados é capaz de incluir uma grande variedade de dados que estão inter-relacionados de muitas maneiras Através de uma consulta, o SGBD é capaz de obter diversos dados em diversos registros armazenados através dos relacionamentos Geralmente esses relacionamentos são feitos através de identificadores Exemplo: O Identificador de um aluno pode estar armazenado em registros de ALUNO, DISCIPLINAS, HISTÓRICO_ESCOLAR, etc 14/02/2011 Conceitos Básicos 22
8. Capacidade de forçar as restrições de integridade Restrições de integridade Especificação de um tipo de dado para cada item; int, string, double... O tipo mais complexo de restrição é quando o registro em um arquivo deve estar relacionado aos registros de outros arquivos Exemplo: Todo registro de DISCIPLINA deve estar relacionado com um registro de CURSO 14/02/2011 Conceitos Básicos 23
9. Capacidade de Permitir as inferências e ações através de regras Alguns sistemas de BDs oferece capacidade para definir as regras de dedução por inferência gerando novas informações de fatos armazenados em banco de dados Estes são os Sistemas de Banco de Dados Dedutivos Isto é feito através de regras! Essas regras são criadas pelo usuário e mantidas pelo SGBD 14/02/2011 Conceitos Básicos 24
ALGUNS PROBLEMAS POSSÍVEIS AO USAR UM SGBD
ALGUNS PROBLEMAS POSSÍVEIS AO USAR UM SGBD 1. Custo inicial Hardaware, Software, Treinamento, Profissional, etc 2. Sobrecarga de processamento 3. Não se usar com: Usuário único Urgência de tempo de respota Aplicações de dados simples e fixos 14/02/2011 Conceitos Básicos 26
IMPLICAÇÕES ADICIONAIS DO USO DA ABORDAGEM DE UM BANCO DE DADOS
IMPLICAÇÕES ADICIONAIS DO USO DA ABORDAGEM DE UM BANCO DE DADOS 1. Potencial para garantir padrões 2. Redução no Tempo de Desenvolvimento de Aplicações 3. Flexibilidade 4. Disponibilidade para Atualizar as Informações 5. Economias de Escala 14/02/2011 Conceitos Básicos 28
1. Potencial para garantir padrões A abordagem de um banco de dados permite ao DBA definir e forçar o uso de padrões entre os usuários de um banco de dados em uma grande organização Isso facilita a comunicação e cooperação entre os vários departamentos, projetos e os usuários na organização 14/02/2011 Conceitos Básicos 29
1. Potencial para garantir padrões Os padrões podem ser definidos para os nomes e formato dos elementos de dados, formatos de exibição, estruturas de relatórios, terminologia, dentre outros O DBA pode forçar o uso dos padrões em um ambiente de banco de dados centralizado mais facilmente do que em um ambiente no qual cada grupo de usuário tenha o controle de seus próprios arquivos e softwares 14/02/2011 Conceitos Básicos 30
2. Redução no Tempo de Desenvolvimento de Aplicações O principal argumento de venda para o uso da abordagem de um banco de dados é que o desenvolvimento de uma nova aplicação que demande um tempo minímo Exemplo: como a recuperação de dados de um banco de dados para a impressão de um novo relatório 14/02/2011 Conceitos Básicos 31
2. Redução no Tempo de Desenvolvimento de Aplicações Projetar e implementar um novo banco de dados do zero deve levar mais tempo do que escrever uma simples aplicação de arquivo especializada No entanto, uma vez que o banco de dados está ativo e em execução, certamente menos tempo será necessário para criar aplicações usando as facilidades do SGBD 14/02/2011 Conceitos Básicos 32
3. Flexibilidade Pode ser necessário alterar a estrutura do banco de dados quando os requisitos mudam Exemplo: um novo grupo de usuários pode surgir e precisar de informações não disponíveis no banco de dados Solução: adicionar ou inserir os novos dados ao banco existente Um SGBD moderno permite certos tipos de alterações evolutivas que mudam a estrutura do banco de dados sem afetar os dados armazenados e os programas de aplicação existentes 14/02/2011 Conceitos Básicos 33
4. Disponibilidade para Atualizar as Informações Um SGBD disponibiliza o banco de dados para todos os usuários Imediatamente após ser feita a atualização de um usuário, todos os outros usuários poderão vê-la Essa disponibilidade de atualização da informação é essencial para muitas aplicações de processamento de transações, como sistemas de reserva ou banco de dados bancários É possível fazê-la por intermédio do subsistema de controle de concorrência e recuperação do SGBD 14/02/2011 Conceitos Básicos 34
5. Economias de Escala A abordagem do SGBD permite a consolidação dos dados e das aplicações, reduzindo, dessa forma, a perda por superposição entre as atividades de processamento de dados pessoais em diferentes projetos ou departamentos Isso possibilita que a organização faça investimentos em processadores mais potentes, dispositivos de armazenamento ou equipamentos de comunicação do que cada departamento adquirir seu próprio (menos potente) equipamento, o que reduz o custo total da operação e gerenciamento 14/02/2011 Conceitos Básicos 35
CLASSIFICAÇÃO DOS SGBD
CLASSIFICAÇÃO DOS SGBD Quanto ao modelo de dado Relacional Objeto Objeto-relacional Hierárquico Rede Quanto ao número de usuário Sistema usuário único Sistema multiusuário 14/02/2011 Conceitos Básicos 37
CLASSIFICAÇÃO DOS SGBD Quanto ao número de sites Centralizado Distribuído Quanto ao uso Propósito Geral Propósito Especiais (Específicos) 14/02/2011 Conceitos Básicos 38
EXEMPLOS DE SGBD
EXEMPLOS DE SGBD IBM Informix; PostgreSQL; Firebird; HSQLDB; IBM DB2; msql; MySQL; SQL-Server; TinySQL; JADE; ZODB; Sybase; Microsoft Access Microsoft Visual Foxpro Oracle; 14/02/2011 Conceitos Básicos 40
REFERÊNCIAS ELMASRI, R., NAVATHE, S. B. Sistemas de Banco de Dados, 4ª Edição. Editora Pearson Addison Wesley. Ano 2005 14/02/2011 Conceitos Básicos 41