Upload
elaine-cecilia-gatto
View
647
Download
5
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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.
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.)
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 18 © 2011 Pearson. Todos os direitos reservados
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, ...
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
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
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
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 23 © 2011 Pearson. Todos os direitos reservados
TABELA PRE_REQUISITO Linha registro Numero_pre_requisito string
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.)
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.)
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.)
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.)
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.)
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
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.)
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
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
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.
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
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
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.
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
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.
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)
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.)
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
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
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
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
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
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
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
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
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
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
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
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)
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
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)
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
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
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
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
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
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)
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
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!
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
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
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
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)
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
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
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.)
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.)
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
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