bancos de dados e usuários de banco de dados

72
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley © 2011 Pearson. Todos os slide 1 Capítulo 1 Bancos de dados e usuários de banco de dados

Upload: elaine-cecilia-gatto

Post on 13-Apr-2017

646 views

Category:

Education


5 download

TRANSCRIPT

Page 1: Bancos de dados e usuários de banco de dados

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley© 2011 Pearson. Todos os direitos reservados.slide 1

Capítulo 1

Bancos de dados e usuários de banco de dados

Page 2: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 2 © 2011 Pearson. Todos os direitos reservados

Tópicos

Introdução Um exemplo Características da abordagem de banco de dados Atores em cena Trabalhadores dos bastidores Vantagens de usar a abordagem de SGBD Uma breve história das aplicações de banco de dados Quando não usar um SGBD

Page 3: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 3 © 2011 Pearson. Todos os direitos reservados

Visão

Aplicações de banco de dados tradicionais Armazena informações textuais ou numéricas

Bancos de dados de multimídia Armazena imagens, clipes de áudio e streams de vídeo

digitalmente

Sistemas de informações geográficas (GIS) Armazena e analisa mapas, dados sobre o clima e

imagens de satélite

Page 4: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 4 © 2011 Pearson. Todos os direitos reservados

Visão (cont.)

Sistemas de data warehousing e de processamento analítico on-line (OLAP) Extrair e analisar informações comerciais úteis de

bancos de dados muito grandes Ajuda na tomada de decisão

Tecnologia de tempo real e banco de dados ativo Controla processos industriais e de manufatura

Page 5: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 5 © 2011 Pearson. Todos os direitos reservados

Introdução

Banco de dados Definiçao genérica Coleção de dados relacionados Fatos conhecidos que podem ser registrados e possuem

significado implícito (DADOS) Exemplo: access ou excel Exemplo: coleção de palavras que compoem a pagina de

um texto de um livro dados relacionados banco de dados

Page 6: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 6 © 2011 Pearson. Todos os direitos reservados

Introdução

Banco de Dados Definição restrita com propriedades Minimundo ou universo de discurso (UoD) Representa algum aspecto do mundo real Mudanças no UoD são refletidas no banco Coleção logicamente coerente de dados com algum

significado inerente Construído para uma finalidade específica Usuários e aplicações previamente concebidos

Page 7: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 7 © 2011 Pearson. Todos os direitos reservados

Introdução

Banco de Dados RESUMINDO Tem alguma fonte da qual o dado é derivado Tem algum grau de interação com eventos do mundo

real Tem um público que está ativamente interessado em

seu conteúdo

Page 8: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 8 © 2011 Pearson. Todos os direitos reservados

Introdução

Um banco de dados pode ter qualquer tamanho e qualquer complexidade

Agenda• Biblioteca• Receita federal (imposto de renda):• Manté o registro dos últimos 3 anos de cada contribuinte• Cinco formulários por cada contribuinte• Aproximadamente 400 caracteres cada formulário• Tamanho do banco, aproximado: 800 gigabytes • Informação organizada e gerenciada• Usuários podem consultar, recuperer e atualizar quando necessário

Page 9: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 9 © 2011 Pearson. Todos os direitos reservados

Introdução (cont.)

Exemplo de um grande banco de dados comercial Amazon.com + de 20 milhões de CDS/DVDS, vídeos, jogos, etc. Tamanho do banco: + de 2 Teras 200 computadores diferentes 15 milhões de visitantes por dia Atualização constante

Banco de dados manual Bando de dados digital

Page 10: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 10 © 2011 Pearson. Todos os direitos reservados

Introdução (cont.)

Sistema gerenciador de banco de dados (SGBD) Coleção de programas Permite aos usuários criar e manter um banco de dados Sistema de software de uso geral Definição, construção, manipulação e compartilhamento

Definir um banco de dados Especificar os tipos, estruturas e restrições dos dados a

serem armazenados

Page 11: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 11 © 2011 Pearson. Todos os direitos reservados

Introdução (cont.)

Metadados Definição ou informação descritiva do banco de dados Armazenada pelo SGBD na forma de um catálogo ou

dicionário Construção

É o processo de armazenar os dados em algum meio controlado pelo SGBD

Manipulação de um banco de dados Consulta e atualização do banco de dados do

minimundo, Geração de relatórios.

Page 12: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 12 © 2011 Pearson. Todos os direitos reservados

Introdução (cont.)

Compartilhamento de um banco de dados Permite que diversos usuários e programas acessem

no simultaneamente

Programa de aplicação Acessa o banco de dados ao enviar consultas ao

SGBD

Consulta Resulta na recuperação de alguns dados

Page 13: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 13 © 2011 Pearson. Todos os direitos reservados

Introdução (cont.)

Transação Pode fazer que alguns dados sejam lidos e outros,

gravados no banco de dados Proteção inclui:

Proteção de sistema (defeitos ou falhas de hardware ou software)

Proteção de segurança (acesso não autorizado ou malicioso)

Manter o sistema de banco de dados Permite que o sistema evolua à medida que os requisitos

mudam com o tempo

Page 14: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 14 © 2011 Pearson. Todos os direitos reservados

SISTEMA DE BANCO DE DADOS

União do banco de dados com o software de SGBD

Page 15: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 15 © 2011 Pearson. Todos os direitos reservados

Um exemplo

Banco de dados UNIVERSIDADE Informações referentes a alunos, disciplinas e notas em

um ambiente universitário

Registros de dados ALUNO DISCIPLINA TURMA HISTORICO_ESCOLAR PRE_REQUISITO

Page 16: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 16 © 2011 Pearson. Todos os direitos reservados

Um exemplo (cont.)

Especificar a estrutura dos registros de cada arquivo, determinando o tipo de dado para cada elemento de dado Sequência de caracteres alfabéticos Inteiro Etc.

Page 17: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 17 © 2011 Pearson. Todos os direitos reservados

Construir o banco de dados UNIVERSIDADE Armazena-se dados para representar cada aluno,

disciplina, turma, histórico escolar e pré-requisito como um registro no arquivo apropriado

Relacionamentos entre os registros

Manipulação do banco de dados envolve consulta e atualização

Um exemplo (cont.)

Page 18: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 18 © 2011 Pearson. Todos os direitos reservados

Page 19: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 19 © 2011 Pearson. Todos os direitos reservados

TABELA ALUNO Linha registro Tipo_aluno 1 = novato, 2 = 2.º ano, 3 =

Júnior, 4 = Sênior, 5 = formado Curso CC = Ciência da Computação,

MAT = Matemática, ...

Page 20: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 20 © 2011 Pearson. Todos os direitos reservados

TABELA DISCIPLINA Linha registro Numero_disciplina tipo string Creditos tipo inteiro Departamento tipo string

Page 21: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 21 © 2011 Pearson. Todos os direitos reservados

TABELA TURMA Linha registro Numero_disciplina tipo string Semestre tipo string Ano tipo inteiro Professor tipo string

Page 22: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 22 © 2011 Pearson. Todos os direitos reservados

TABELA HISTÓRICO_ESCOLAR Linha registro Identificacao_turma SEM ACENTOS, tipo

inteiro Nota tipo CARACTER

Page 23: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 23 © 2011 Pearson. Todos os direitos reservados

TABELA PRE_REQUISITO Linha registro Numero_pre_requisito string

Page 24: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 24 © 2011 Pearson. Todos os direitos reservados

Exemplos de consultas: Recuperar uma lista de todas as disciplinas e notas Listar os nomes dos alunos que realizaram a disciplina

‘Banco de dados’ oferecida no segundo semestre de 2008 e suas notas nessa turma

Listar os pré-requisitos do curso de ‘Banco de dados’

Um exemplo (cont.)

Page 25: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 25 © 2011 Pearson. Todos os direitos reservados

Exemplos de atualizações: Alterar o tipo de aluno de ‘Silva’ para segundo ano Criar outra turma para a disciplina ‘Banco de dados’

para este semestre Inserir uma nota ‘A’ para ‘Silva’ na turma ‘Banco de

dados’ do último semestre

Um exemplo (cont.)

Page 26: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 26 © 2011 Pearson. Todos os direitos reservados

Fases de projeto de um banco de dados: Especificação e análise de requisitos Projeto conceitual

• O foco é discutir os aspectos do negócio do cliente e não da tecnologia. Os exemplos de modelagem de dados vistos pelo modelo conceitual são mais fáceis de compreender, já que não há limitações ou aplicação de tecnologia específica.

Um exemplo (cont.)

Page 27: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 27 © 2011 Pearson. Todos os direitos reservados

Fases de projeto de um banco de dados: Especificação e análise de requisitos Projeto lógico

• O modelo lógico leva em conta algumas limitações e implementa recursos como adequação de padrão e nomenclatura, define as chaves primárias e estrangeiras, normalização, integridade referencial, entre outras. O modelo lógico deve ser criado levando em conta os exemplos de modelagem de dados criados no modelo conceitual.

Um exemplo (cont.)

Page 28: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 28 © 2011 Pearson. Todos os direitos reservados

Fases de projeto de um banco de dados: Especificação e análise de requisitos Projeto físico

• No modelo é feita a modelagem física do modelo de banco de dados. Neste caso leva-se em conta as limitações impostas pelo SGBD escolhido e deve ser criado sempre com base nos exemplos de modelagem de dados produzidos no modelo lógico.

Um exemplo (cont.)

Page 29: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 29 © 2011 Pearson. Todos os direitos reservados

Características da abordagemde banco de dados

Processamento de arquivo tradicional Cada usuário define e implementa os arquivos

necessários para uma aplicação de software específica

Abordagem antiga (programação com arquivos) Problemas em manter dados comuns atualizados

Abordagem de banco de dados Um único repositório mantém dados que são definidos

uma vez e depois acessados por vários usuários

Page 30: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 30 © 2011 Pearson. Todos os direitos reservados

Principais características da abordagem de banco de dados Natureza de autodescrição de um sistema de banco

de dados Isolamento entre programas e dados, e abstração de

dados Suporte de múltiplas visões dos dados Compartilhamento de dados e processamento de

transação multiusuário

Características da abordagemde banco de dados (cont.)

Page 31: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 31 © 2011 Pearson. Todos os direitos reservados

Natureza de autodescrição deum sistema de banco de dados

O sistema de banco de dados contém definição completa de sua estrutura e restrições

Metadados Descreve a estrutura do banco de dados

O catálogo é usado pelo: Software de SGBD Usuários do banco de dados que precisam de

informações sobre a estrutura do banco de dados

Page 32: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 32 © 2011 Pearson. Todos os direitos reservados

Exemplos de entradas em um catálogo de banco de dados

O SGBD sempre consultará o catálogo

Page 33: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 33 © 2011 Pearson. Todos os direitos reservados

Isolamento entre programas e dados

Independência de dados do programa A estrutura dos arquivos de dados é armazenada no

catálogo do SGBD separadamente dos programas de acesso

Em um SGBD só precisamos mudar a descrição dos registros no catálogo par arefletir a inclusão do novo item de dado.

Page 34: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 34 © 2011 Pearson. Todos os direitos reservados

Isolamento entre programas e dados

Independência da operação do programa Quando os programas de aplicação do usuário podem operar sobre os

dados invocando essas operações por meio de seus nomes e argumentos Sistemas de banco de dados orientados a objetos e objeto-relacional Usuários podem definir operações sobre dados como parte das

definições do banco Uma operação é especificada em duas partes:

• A interface (assinatura) de uma operação inclui o nome da operação e os tipos de dados de seus argumentos

• A implementação (método) da operação pode ser alterada sem afetar a interface

Page 35: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 35 © 2011 Pearson. Todos os direitos reservados

Abstração de dados Permite a independência de dados do programa e a independência da

operação do programa

Representação conceitual de dados Não inclui muitos dos detalhes de como os dados são armazenados ou

como as operações são implementadas

Modelo de dados Tipo de abstração de dados usado para oferecer representação

conceitual Oculta os detalhes de armazenamento e implementação que não são

do interesse dos usuários

Abstração de dados

Page 36: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 36 © 2011 Pearson. Todos os direitos reservados

Abstração de Dados

Em banco de dados, a estrutura detalhada e a organização de cada arquivo são armazenadas no catálogo.

Representação conceitual dos arquivos: usuários e programas de aplicação

SGBD: extrai detalhes do armazenamento do arquivo do catálogo quando são necessários para os módulos de acesso a arquivo.

Page 37: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 37 © 2011 Pearson. Todos os direitos reservados

Suporte para múltiplas visões dos dados

Visão Um B.D. tem muitos usuários Cada usuário pode ter um ponto de vista diferente sobre os

dados Subconjunto do banco de dados Contém dado virtual derivado dos arquivos do banco de

dados, mas que não estão armazenados explicitamente

SGBD multiusuário Usuários têm uma série de aplicações distintas Precisa oferecer facilidades para definir múltiplas visões

Page 38: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 38 © 2011 Pearson. Todos os direitos reservados

Suporte para múltiplas visões dos dados

a) Um usuário do banco de dados está interessado apenas em acessasr e imprimir o histório escolar de cada aluno

b) Um segundo usuário do banco de dados está interessado apenas em verificar se os alunos possuem todos os pré-requisitos de cada disciplina para a qual se inscreveram.

Page 39: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 39 © 2011 Pearson. Todos os direitos reservados

Compartilhamento de dados eprocessamento de transaçãomultiusuário Permite que múltiplos usuários acessem o banco de dados ao

mesmo tempo

Software de controle de concorrência Garante que vários usuários tentando atualizar o mesmo

dado faça isso de uma maneira controlada• Resultado dessas atualizações seja correto• Exemplo: assento de um voo

Aplicações de processamento de transação on-line (OLPT)

Page 40: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 40 © 2011 Pearson. Todos os direitos reservados

Transação Fundamental para muitas aplicações de banco de dados Programa em execução ou processo que inclui um ou

mais acessos ao banco de dados Propriedade de isolamento

• Cada transação parece executar isoladamente das outras transações

Propriedade de atomicidade• Todas as operações em uma transação são

executadas ou nenhuma é

Compartilhamento de dados eprocessamento de transaçãomultiusuário (cont.)

Page 41: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 41 © 2011 Pearson. Todos os direitos reservados

Atores em cena

Administrador de banco de dados (DBA) é responsável por: Administrador e supersivor de recursos O banco de dados é o principal recurso O SGBD e softwares relacionados são o recurso secundário Autorizar o acesso ao banco de dados Coordenar e monitorar seu uso Adquirir recursos de software e hardware Responsável por problemas como as falhas na segurança,

demora no tempo de resposta do sistema

Page 42: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 42 © 2011 Pearson. Todos os direitos reservados

Atores em cena

Projetistas de banco de dados são responsáveis por: Identificar os dados a serem armazenados Escolher estruturas apropriadas para representar e

armazenar esses dados Comunicar-se com todos os usuários potenciais do

banco Desenvolvem visões para cada grupo de usuários

Page 43: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 43 © 2011 Pearson. Todos os direitos reservados

Atores em cena (cont.)

Usuários finais Pessoas cujas funções exigem acesso ao banco de

dados Tipos

• Usuários finais casuais• Usam o banco ocasionalmente• São gerentes de nível intermediário ou alto• Usam uma linguagem de consulta sofisticada• A cada acesso podem solicitar informações diferentes• Devem aprender algumas funcionalidades que poderão

usar repetidamente

Page 44: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 44 © 2011 Pearson. Todos os direitos reservados

Atores em cena (cont.)

Usuários finais• Usuários finais iniciantes ou paramétricos

• Consultar e atualizar o banco• Transações programadas: tipos padrões de consulta e

atualização (programadas e testadas)• Exemplo: caixas de banco, agentes de companhias

aereas, entre outros que de alguma forma consultam ou inserem dados no banco por meio de uma aplicação

• Precisam entender as interfaces de usuário das transações padrão projetas e implementadas para seu uso

Page 45: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 45 © 2011 Pearson. Todos os direitos reservados

Atores em cena (cont.)

Usuários finais• Usuários finais sofisticados:• Implementam as próprias aplicações para que

atendam as suas necessidades complexas• Tentam aprender a maioria das facilidades do

SGBD para satisfazer suas necessidades complexas

Page 46: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 46 © 2011 Pearson. Todos os direitos reservados

Atores em cena (cont.)

Usuários finais• Usuário isolados:• Banco de dados pessoais que usam pacotes de

programas prontos• Costguam se tornar especialistas no uso de um

pacote específico de software

Page 47: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 47 © 2011 Pearson. Todos os direitos reservados

Atores em cena (cont.)

Analistas de sistemas Identificam as necessidades dos usuários finais

Programadores de aplicações Implementam essas especificações como programas

Engenheiro de Software

Desenvolvedores de Sistemas de Software

Page 48: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 48 © 2011 Pearson. Todos os direitos reservados

Trabalhadores dos bastidores

Projetistas e implementadores de sistema de SGBD Projetam e implementam os módulos e as interfaces do

SGBD como um pacote de software MÓDULOS DE UM SGBD:

• Implementação do catálogo (metadados)• Processamento de linguagem de consulta• Processamento de interface• Acesso e buferring de dados• Controle de concorrência• Tratamento de recuperação de dados• Segurança de dados

Page 49: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 49 © 2011 Pearson. Todos os direitos reservados

Trabalhadores dos bastidores

Projetistas e implementadores de sistema de SGBD Projetam e implementam os módulos e as interfaces do

SGBD como um pacote de software INTERFACES

• Comunicação com outros sistemas de software• Comunicação com o sistema operacional• Compiladores para linguagens de programação

Page 50: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 50 © 2011 Pearson. Todos os direitos reservados

Trabalhadores dos bastidores

Desenvolvedores de ferramentas Projetam e implantam ferramentas Exemplos de ferramentas:

• Pacotes adicionais/opcionais• Monitoramento de desempenho• Linguagem natural• Interfaces gráficas• Protótipo• Simulação• Geração de dados de testes

Page 51: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 51 © 2011 Pearson. Todos os direitos reservados

Trabalhadores dos bastidores

Operadores e pessoal de manutenção Responsáveis pela execução e manutenção do ambiente

de hardware e software para o sistema de banco de dados

Page 52: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 52 © 2011 Pearson. Todos os direitos reservados

Vantagens de usar aabordagem de SGBD

Redundância: é causada ao armazenar os mesmos dados várias vezes, gerando diversos problemas: Duplicação de esforço Desperdício de espaço de armazenamento Inconsistência (dados não válidos)

Page 53: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 53 © 2011 Pearson. Todos os direitos reservados

Vantagens de usar aabordagem de SGBD Controlando a redundância

Normalização de dados• O projeto deve

armazenar cada item de dados lógico em apenas um lugar no banco de dados, garante consistência e economia de espaço

Desnormalização• Às vezes é necessário

usar a redundância controlada para melhorar o desempenho das consultas

Page 54: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 54 © 2011 Pearson. Todos os direitos reservados

Vantagens de usar aabordagem de SGBD

Desnormalização: colocando todos os dados juntos, não precisamos pesquisar vários arquivos para coletar esses dados.

O SGBD deve ter a capacidade de CONTROLAR as redundâncias a fim de proibir inconsistências

Restringindo o acesso não autorizado Subsistema de segurança e autorização (contas de acesso e

restrições) Software privilegiado (DBA)

Page 55: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 55 © 2011 Pearson. Todos os direitos reservados

Vantagens de usar aabordagem de SGBD (cont.)

Oferecer armazenamento persistente para objetos do programa Objeto complexo em C++ pode ser armazenado de forma

permanente em um SGBD orientado a objeto Estruturas de dados complexas (classes, etc) Os valores das variáveis de programa/objetos, são

descartados quando um programa termina Podem ser persistidos em arquivos e isso exige uma

conversão Sempre que necessitar dos dados, terá de converte-los O SGBD orientado a objeto faz essas conversões de forma

automática

Page 56: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 56 © 2011 Pearson. Todos os direitos reservados

Vantagens de usar aabordagem de SGBD (cont.)

O objeto é considerado PERSISTENTE porque sobrevive ao término da execução e pode ser recuperado mais tarde por outro programa

Problema de divergência de impedância: quando o sistema é incompátível com as estruturas de dados da linguagem de programação

• Os sistemas de banco de dados orientados a objeto em geral oferecem compatibilidade da estrutura de dados

Page 57: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 57 © 2011 Pearson. Todos os direitos reservados

Vantagens de usar aabordagem de SGBD (cont.)

Oferecendo estruturas de armazenamento e técnicas de pesquisa para o processamento eficiente de consulta

SGBD é armazenado em disco

Índices• São baseados em estruturas de dados em árvore ou

tabelas hash• É usado para efetuar pesquisas e buscas no disco• Os registros do banco de dados são copiados do disco para

a RAM para poder processar uma consulta

Page 58: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 58 © 2011 Pearson. Todos os direitos reservados

Vantagens de usar aabordagem de SGBD (cont.)

Buffering ou caching• Mantém partes do banco de dados na ram• S.O. é responsavel pelo buffering (transferência do disco

para a memória)• SGBD acabam por implementar o seu proprio buffering

Processamento e otimização de consulta• Escolhe quais indices criar e manter• Escolhe um plano eficiente de execução para cada consulta

Page 59: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 59 © 2011 Pearson. Todos os direitos reservados

Vantagens de usar aabordagem de SGBD (cont.)

Oferecendo backup e recuperação Subsistema de backup e recuperação de SGBD é

responsável pela recuperação de falhas de hardware ou software

Oferecendo múltiplas interfaces do usuário Interfaces gráficas do usuário (GUIs)

Representando relacionamentos complexos entre dados Pode incluir muitas variedades de dados que estão inter-

relacionados de diversas maneiras

Page 60: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 60 © 2011 Pearson. Todos os direitos reservados

Vantagens de usar aabordagem de SGBD (cont.)

Impondo restrições de integridade Um SGBD deve oferecer capacidades para definir e

impor tais restrições TIPO SIMPLES: especificar um tipo de dado para cada

item de dado (inteiro, string, etc) TIPO MAIS COMPLEXO INTEGRIDADE

REFERENCIAL: especificar que um registro em um arquivo deve estar relacionado a registros em outros arquivos (exemplo: cada registro de TURMA deve estar relacionado a um registro de DISCIPLINA)

Page 61: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 61 © 2011 Pearson. Todos os direitos reservados

Vantagens de usar aabordagem de SGBD (cont.)

Impondo restrições de integridade Restrição de chave ou singularidade

• Cada registro de disciplina deverá ter um valor exclusivo para Numero_disciplina

• Especifica a exclusividade sobre valores de item de dados

• Projetistas devem identificar essas restrições de integridade

Regras de negócio (restrições de integridade) Regras inerentes do modelo de dados

Page 62: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 62 © 2011 Pearson. Todos os direitos reservados

Vantagens de usar aabordagem de SGBD (cont.)

Impondo restrições de integridade Regras inerentes do modelo de dados um item de dados pode ser inserido no banco de forma

errada, e mesmo assim satisfazer as restrições de integridade

Exemplo: se um aluno recebe nota A, mas é inserido nota C, o SGBD não tem capacidade para identificar este erro. O valor é válido, o tipo do dado é válido, mas o dado é inconsistente, pois alguém digitou errado!

Page 63: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 63 © 2011 Pearson. Todos os direitos reservados

Vantagens de usar aabordagem de SGBD (cont.)

Permitir dedução e ações usando regras Sistemas de banco de dados dedutivos

• Oferecem capacidades para definir regras de dedução (inferencia)

• Deduzir novas informações com base nos fatos armazenados no banco de dados

• Exemplo: determinar todos os alunos que estão em época de prova

• Em um SGBD comum, um procedimento deveria ser escrito para isso

Page 64: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 64 © 2011 Pearson. Todos os direitos reservados

Vantagens de usar aabordagem de SGBD (cont.)

Permitir dedução e ações usando regras Gatilhos

• É uma forma de regra ativada por atualização na tabela

• Resulta na realização de algumas operações adicionais em tabelas, etc.

Procedimentos armazenados (store procedure)• Procedimentos mais elaborados para impor regras• São parte da definição geral do banco

Page 65: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 65 © 2011 Pearson. Todos os direitos reservados

Vantagens de usar aabordagem de SGBD (cont.)

Permitir dedução e ações usando regras• Sistemas de banco de dados ativo:

• oferecem regras ativas que podem automaticamente iniciar ações quando ocorrem certos eventos e condições

Page 66: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 66 © 2011 Pearson. Todos os direitos reservados

Vantagens de usar aabordagem de SGBD (cont.)

Implicações adicionais do uso da abordagem de banco de dados Potencial para garantir padrões (comunicação) Tempo reduzido para desenvolvimento de aplicação Flexibilidade (mudanças evolucionárias na estrutura do

banco de dados sem afetar os dados armazenados e os programas de aplicação)

Disponibilidade de informações atualizadas (tempo real) Economias de escala (reduz sobreposição de funções

em projetos/departamentos)

Page 67: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 67 © 2011 Pearson. Todos os direitos reservados

Uma breve história dasaplicações de banco de dados

Antigas aplicações de banco de dados usando sistemas hierárquicos e de rede Grande quantidade de registros com estrutura

semelhante Oferecer abstração de dados e flexibilidade de aplicação

com bancos de dados relacionais Separa o armazenamento físico dos dados de sua

representação conceitual Fornece uma base matemática para a representação e

a consulta dos dados

Page 68: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 68 © 2011 Pearson. Todos os direitos reservados

Uma breve história das aplicaçõesde banco de dados (cont.)

Aplicações orientadas a objeto e a necessidade de bancos de dados mais complexos Usados principalmente em aplicações especializadas:

projeto de engenharia, publicação de multimídia e sistemas de fabricação

Page 69: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 69 © 2011 Pearson. Todos os direitos reservados

Intercâmbio de dados na Web para comércio eletrônico usando XML eXtended Markup Language (XML) é considerada o

principal padrão para intercâmbio entre diversos tipos de bancos de dados e páginas Web

Uma breve história das aplicaçõesde banco de dados (cont.)

Page 70: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 70 © 2011 Pearson. Todos os direitos reservados

Estendendo as capacidades do banco de dados para novas aplicações Extensões para dar melhor suporte às necessidades

especializadas para aplicações ERP (Enterprise Resource Planning ) CRM (Customer Relationship Management)

Bancos de dados versus recuperação de informações Recuperação de Informação (RI)

• Lida com livros, manuscritos e diversas formas de artigos baseados em biblioteca

Uma breve história das aplicaçõesde banco de dados (cont.)

Page 71: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 71 © 2011 Pearson. Todos os direitos reservados

Quando não usar um SGBD

Mais desejável usar arquivos comuns sob as seguintes circunstâncias: Aplicações de banco de dados simples e bem definidas,

para as quais não se espera muitas mudanças Requisitos rigorosos, de tempo real, que podem não ser

atendidos devido as operações extras executadas pelo SGBD

Sistemas embarcados com capacidade de armazenamento limitada

Nenhum acesso de múltiplos usuários aos dados

Page 72: Bancos de dados e usuários de banco de dados

Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 72 © 2011 Pearson. Todos os direitos reservados

Resumo

Banco de dados Coleção de dados relacionados (fatos gravados)

SGBD Pacote de software generalizado para implementar e manter um

banco de dados computadorizado

Várias categorias de usuários de banco de dados

Aplicações de banco de dados envolvem Tendências atuais: RI, Web