Buscar

Banco de Dados 1_Introdução a Banco de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 91 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 91 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 91 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Banco de Dados I - Prof Tavares 1 
Banco de Dados I 
Banco de Dados I - Prof Tavares 2 
Bibliografia 
Banco de Dados I - Prof Tavares 3 
• Dado: é um conjunto de símbolos que expressam uma idéia, 
condição, situação, entre outros. São sequências de fatos 
brutos que representam eventos que ocorrem nas 
organizações ou no ambiente físico, antes de terem sido 
organizados e arranjados de uma forma que as pessoas 
possam entendê-los e usá-los. 
 
• Informação: é um conjunto organizado de dados, 
apresentados de uma forma significativa e útil para os seres 
humanos. A informação nada mais é do que o dado 
submetido a atividades de processamento, como cálculo, 
comparação, ordenação, classificação e resumo. 
Conceitos Básicos 
Banco de Dados I - Prof Tavares 4 
 Usuários 
 Programadores de aplicações. 
 Administradores do BD (DBA). 
 Usuários finais. 
Sistema de Banco de Dados 
Banco de Dados I - Prof Tavares 5 
Usuários 
–Programadores de aplicação : implementam as 
especificações das transações como programas, 
testando-os, corrigindo-os e documentando-os. 
Sistema de Banco de Dados 
Banco de Dados I - Prof Tavares 6 
Usuários 
–Administradores do BD (DBA) : responsáveis pela 
autorização do acesso ao BD e pela coordenação 
e monitoração do seu uso. 
Sistema de Banco de Dados 
Banco de Dados I - Prof Tavares 7 
Administração de dados e administração de bancos de dados 
 O conceito de controle centralizado implica que haverá na empresa 
alguma pessoa identificável que tenha a responsabilidade central 
pelos dados, e essa pessoa é o administrador de dados (abreviado 
como DA - Data Administrator) 
 O trabalho do administrador de dados é decidir, para começar, que 
dados devem ser armazenados no banco de dados, além de 
estabelecer normas para manter e tratar esses dados, uma vez que 
venham a ser armazenados. 
 Um exemplo de tal norma seria a de determinar quem pode executar 
quais operações sobre quais dados em que circunstâncias - em 
outras palavras, uma norma de segurança de dados. 
Sistema de Banco de Dados 
Banco de Dados I - Prof Tavares 8 
Administração de dados e administração de bancos de dados 
(cont...) 
 O administrador de dados é um gerente. 
 O técnico responsável pela implementação das decisões do 
administrador de dados é o administrador de banco de dados 
(abreviado como DBA - Data Base Administrator). 
 O trabalho do DBA é criar o banco de dados propriamente dito e 
implementar os controles técnicos necessários para pôr em prática 
as diversas decisões sobre normas tomadas pelo administrador de 
dados. 
 O DBA também é responsável por assegurar que o sistema operará 
com desempenho adequado e por oferecer vários outros serviços 
técnicos. A função do DBA normalmente será executada na prática 
por uma equipe. 
Sistema de Banco de Dados 
Banco de Dados I - Prof Tavares 9 
Sistema de Banco de Dados 
Definição 
do BD 
(Metadados) 
BD 
Consultas / Programas de Aplicação 
Software para processar 
consultas / programas 
Software para acessar 
dados armazenados 
Usuários / Programadores 
Sistema de BD 
SGBD 
Banco de Dados I - Prof Tavares 10 
• É uma coleção de dados persistentes, usada pelos 
sistemas de aplicação de uma determinada empresa 
(Date, 2004). 
• Um BD representa algum aspecto do mundo real, 
chamado “minimundo” ou “universo de discurso”. As 
mudanças no mini-mundo são refletidas no banco de 
dados. 
Minimundo Banco 
de 
Dados 
Usuários 
Aplicações 
Banco de Dados 
Banco de Dados I - Prof Tavares 11 
• Coleção de dados relacionados. 
• Fatos conhecidos que podem ser registrados e possuem 
significado implícito. 
• Representa algum aspecto do mundo real. 
• Coleção logicamente coerente de dados com algum 
significado inerente. 
• Construído para uma finalidade específica. 
Banco de Dados 
Banco de Dados I - Prof Tavares 12 
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. 
Aplicações 
Banco de Dados I - Prof Tavares 13 
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. 
Aplicações 
Banco de Dados I - Prof Tavares 14 
• O primeiro banco de dados teve início nas décadas de 60 e 
70 na IBM, com pesquisas em automação de tarefas de 
escritório. 
• Naquela época, tinha-se que ter muita gente ($$$) para 
armazenar e indexar os arquivos. 
• Em 1970 um pesquisador da IBM - Ted Codd publicou o 
primeiro artigo sobre bancos de dados relacionais. Este 
artigo tratava sobre uma forma de consultar os dados (em 
tabelas) por meio de comandos. 
Histórico 
Banco de Dados I - Prof Tavares 15 
• Inicialmente, por ser muito complexo, não foi aceito nem 
implantado. 
• A IBM criou um grupo de pesquisa chamado System R, 
com o objetivo de desenvolver um sistema de BD para ser 
comercializado. 
• System R introduziu uma linguagem chamada Structured 
Query Language (SQL). Essa linguagem tornou-se padrão 
internacional para BD relacional. 
• O System R passou a se chamar SQL/DS. 
• SQL/DS evoluiu para DB2, que é o banco de dados 
comercial da IBM. 
 
Histórico 
Banco de Dados I - Prof Tavares 16 
Sistema de Arquivos vs. 
Banco de Dados 
Banco de Dados I - Prof Tavares 17 
• Alguns Sistemas de Arquivos: 
FAT32, NTFS, Ext2, Ext3, ReiserFS.... 
• Alguns Bancos de Dados: 
MySQL, SQL Server, Firebird, Postegre, DB2, 
Orcale... 
• Ambos tem um objetivo em comum: 
Armazenar dados em sistemas de 
computação. 
Sistema de Arquivos vs. 
Banco de Dados 
Banco de Dados I - Prof Tavares 18 
Sistema de Arquivos vs. 
Banco de Dados 
Banco de Dados I - Prof Tavares 19 
Sistema de Arquivos 
• A manutenção é prejudicada pois a estrutura de arquivos é 
definida e padronizada no próprio código do aplicativo (Cobol, 
Clipper, etc); 
• O compartilhamento de um arquivo por vários programas 
apresenta dificuldades para gerenciar o acesso a esses 
arquivos e seu controle; 
• O desenvolvimento de arquivos e programas de um mesmo 
SO é realizado isoladamente por programadores e linguagens 
diferentes, causando incompatibilidades no sistema; 
• A falta de gerenciamento de acessos concorrentes aos dados 
e recuperação de dados. 
Sistema de Arquivos vs. 
Banco de Dados 
Banco de Dados I - Prof Tavares 20 
Sistema de Arquivos vs. 
Banco de Dados 
Banco de Dados I - Prof Tavares 21 
Banco de Dados 
• Rapidez no acesso às informações presentes no Banco de Dados; 
• Redução de problemas de integridade e redundância; 
• Diminuição do esforço humano no desenvolvimento; 
• Utilização dos dados e controle integrado de informações distribuídas 
fisicamente; 
• Descreve uma coleção lógica e coerente de dados com algum 
significado inerente. Uma organização randômica de dados não pode 
ser considerada um Banco de Dados; 
• Construído em atendimento a uma proposta específica. 
Sistema de Arquivos vs. 
Banco de Dados 
Banco de Dados I - Prof Tavares 22 
Arquitetura de Sistemas de 
Gerência de Bancos de Dados 
Banco de Dados I - Prof Tavares 23 
• O sistema de bancode dados contém definição 
completa de sua estrutura e restrições. 
 Metadados: descrevem as estruturas 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. 
Natureza de autodescrição de um sistema de BD 
Principais características 
de um banco de dados 
Banco de Dados I - Prof Tavares 24 
• Independência de dados do programa 
 A estrutura dos arquivos de dados é armazenada no 
catálogo do SGBD separadamente dos programas de 
acesso (cliente). 
Isolamento entre programas e dados 
Principais características 
de um banco de dados 
Banco de Dados I - Prof Tavares 25 
• Abstração de dados 
 Permite a independência de dados do programa e a 
independência da operação do programa. 
 Se adicionar um campo na tabela, na próxima 
consulta aquele dado já estará disponível. 
• Representação conceitual de dados 
 Através do Diagrama MER. 
 Não inclui detalhes de como os dados são 
armazenados ou como as operações são 
implementadas. 
Principais características 
de um banco de dados 
Isolamento entre programas e dados (cont...) 
Banco de Dados I - Prof Tavares 26 
Visão 
 Subconjunto do banco de dados. 
 Contém dados virtuais derivados dos arquivos do 
banco de dados, mas que não estão armazenados 
da forma que são visualizados. 
Suporte para múltiplas visões dos dados 
Principais características 
de um banco de dados 
Banco de Dados I - Prof Tavares 27 
• Permite que múltiplos usuários acessem o banco de dados ao 
mesmo tempo. 
• O compartilhamento significa não apenas que as aplicações 
existentes podem compartilhar os dados do banco de dados, mas 
também que podem ser desenvolvidas novas aplicações para 
operar sobre os mesmos dados. 
• Software de controle de concorrência 
 Garante que vários usuários tentando atualizar o mesmo dado 
faça isso de uma maneira controlada e o resultado dessas 
atualizações seja correto. 
 Compartilhamento de dados e processamento de 
transação multiusuário 
Principais características 
de um banco de dados 
Banco de Dados I - Prof Tavares 28 
 Uma transação é uma unidade lógica de trabalho (mais 
precisamente, uma unidade lógica de trabalho de banco de dados), 
em geral envolvendo diversas operações de banco de dados - em 
particular, várias operações de atualização. 
 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 será. 
 Compartilhamento de dados e processamento de 
transação multiusuário 
Principais características 
de um banco de dados 
Banco de Dados I - Prof Tavares 29 
 O exemplo padrão envolve a transferência de uma quantia de 
dinheiro de uma conta A para outra conta B. É claro que são exigidas 
duas atualizações nesse caso, uma para retirar o dinheiro da conta A, 
e outra para depositá-lo na conta B. Se o usuário declarar que as 
duas atualizações são parte da mesma transação, então o sistema 
poderá efetivamente garantir que ambas serão realizadas ou 
nenhuma delas - ainda que, por exemplo, o sistema venha a falhar 
(digamos, devido a uma queda de energia) em meio ao processo. 
 Compartilhamento de dados e processamento de 
transação multiusuário 
Principais características 
de um banco de dados 
Banco de Dados I - Prof Tavares 30 
 Em sistemas sem bancos de dados, cada aplicação tem seus 
próprios arquivos privados. Esse fato pode constantemente 
levar a uma considerável redundância nos dados 
armazenados, com o resultante desperdício no espaço de 
armazenamento. 
 Às vezes, há motivos comerciais ou técnicos plausíveis para 
manter várias cópias distintas dos mesmos dados. Porém, 
sugere-se que toda redundância deve ser cuidadosamente 
controlada; isto é, o SGBD deve estar ciente dela (caso 
exista) e deve assumir a responsabilidade pela "propagação 
de atualizações". 
Principais características 
de um banco de dados 
Controle de Redundância 
Banco de Dados I - Prof Tavares 31 
 O problema da integridade é o problema de assegurar que os 
dados no banco de dados estão corretos. 
 A inconsistência entre duas entradas que deveriam 
representar o mesmo "fato" é um exemplo de falta de 
integridade; é claro que este problema específico só poderá 
surgir se houver redundância nos dados armazenados. 
 Contudo, mesmo que não haja qualquer redundância, o banco 
de dados ainda poderá conter informações incorretas. 
Principais características 
de um banco de dados 
Manutenção da Integridade 
Banco de Dados I - Prof Tavares 32 
 Por exemplo, um empregado poderia ser mostrado como 
tendo trabalhado 400 horas na semana em vez de 40, ou 
como pertencendo a um departamento que não existe. 
 Sem a existência de controles apropriados, seria possível um 
usuário atualizar o banco de dados de forma incorreta, 
gerando assim dados errados e "infectando" desse modo 
outros usuários desses dados. 
Principais características 
de um banco de dados 
Manutenção da Integridade 
Banco de Dados I - Prof Tavares 33 
 Tendo jurisdição completa sobre o banco de dados, o DBA pode 
assegurar que o único meio de acesso ao banco de dados seja 
através dos canais apropriados e, em consequência, pode definir 
restrições de segurança a serem verificadas sempre que houver 
uma tentativa de acesso a dados confidenciais. 
 Podem ser estabelecidas diferentes restrições para cada tipo de 
acesso (busca, inserção, exclusão etc.) a cada item de informação 
no banco de dados. 
 A natureza centralizada de um sistema de banco de dados de 
certo modo exige que um bom sistema de segurança também seja 
implantado. 
Principais características 
de um banco de dados 
Reforço na Segurança 
Banco de Dados I - Prof Tavares 34 
 Conhecendo os requisitos globais da empresa, em oposição 
aos requisitos de usuários individuais, o DBA (mais uma vez 
sob a orientação do administrador de dados) pode estruturar 
o sistema de modo a oferecer um serviço global que seja "o 
melhor para a empresa". 
 Por exemplo, pode ser escolhida uma representação física 
para os dados no meio de armazenamento que proporcione 
acesso rápido para as aplicações mais importantes 
(possivelmente ao custo de acesso mais lento para outras 
aplicações). 
Principais características 
de um banco de dados 
Requisitos contraditórios podem ser equilibrados 
Banco de Dados I - Prof Tavares 35 
 Com o controle central do banco de dados, o DBA pode garantir 
que todos os padrões aplicáveis sejam observados na 
representação dos dados, incluindo qualquer um ou todos os 
seguintes: padrões departamentais, da instalação, da empresa, do 
mercado, nacionais e internacionais. 
 A padronização da representação dos dados é particularmente 
desejável como auxílio ao intercâmbio de dados, ou a migração de 
dados entre sistemas (sistemas distribuídos). 
 Da mesma forma, os padrões de nomenclatura e documentação 
de dados também são muito desejáveis como auxílio ao 
compartilhamento e à compreensão dos dados. 
Principais características 
de um banco de dados 
Os padrões podem ser impostos 
Banco de Dados I - Prof Tavares 36 
Sistema de Banco de Dados 
Definição 
do BD 
(Metadados) 
BD 
Consultas / Programas de Aplicação 
Usuários / Programadores 
Sistema de BD 
SGBD 
Componentes: 
• Dados 
• Hardware 
• Software 
• Usuários 
Software para processar 
consultas / programas 
Software para acessar 
dados armazenadosBanco de Dados I - Prof Tavares 37 
SGBD 
O Sistema Gerenciador de Banco de Dados 
(SGBD) é o software que trata de todo o 
acesso ao banco de dados (Date). 
Banco de Dados I - Prof Tavares 38 
Sistema de Banco de Dados 
Banco de Dados I - Prof Tavares 39 
www.sybase.com.br/ 
www.oracle.com 
www-01.ibm.com/software/data/db2/ 
www.postgresql.org/ www.microsoft.com/sqlserver/en/us/default.aspx 
SGBD 
http://www.oracle.com/br/products/mysql/index.html 
Banco de Dados I - Prof Tavares 40 
SGBD 
Principais funções 
Banco de Dados I - Prof Tavares 41 
SGBD - Principais funções 
Definição de dados 
• O SGBD deve ser capaz de aceitar definições de dados (esquemas 
externos, o esquema conceitual, o esquema interno e todos os 
mapeamentos associados) em formato fonte e convertê-los para o 
formato objeto apropriado. 
 
Banco de Dados I - Prof Tavares 42 
SGBD - Principais funções 
Manipulação de dados 
• O SGBD deve ser capaz de lidar com requisições do 
usuário para buscar, atualizar ou excluir dados existentes 
no banco de dados, ou para acrescentar novos dados ao 
banco de dados. 
• Em outras palavras, o SGBD deve incluir um componente 
processador de DML ou compilador de DML para lidar com 
a linguagem de manipulação de dados (DML - Data 
Manipulation Language). 
• Em geral, as requisições de DML podem ser "planejadas" 
ou "não-planejadas“. 
Banco de Dados I - Prof Tavares 43 
SGBD - Principais funções 
Manipulação de dados 
• Requisição planejada é aquela para a qual a necessidade foi prevista 
com bastante antecedência em relação ao momento em que a 
requisição é executada. O DBA provavelmente terá ajustado , o projeto 
de banco de dados físico de modo a garantir um bom desempenho 
para requisições planejadas. 
• Requisição não-planejada é uma consulta ad hoc, isto é, uma 
requisição cuja necessidade não foi prevista com antecedência mas, 
em vez disso, surgiu na última hora, sendo características de 
aplicações para apoio à decisão. 
• As requisições planejadas em geral serão emitidas a partir de 
programas de aplicação escritos com antecedência, enquanto as 
requisições não-planejadas serão, por definição, emitidas de modo 
interativo por meio de algum processador de linguagem de consulta. 
Banco de Dados I - Prof Tavares 44 
SGBD - Principais funções 
Otimização e execução. 
• As requisições de DML, planejadas ou não-planejadas, 
devem ser processadas pelo componente otimizador, cuja 
finalidade é determinar um modo eficiente de implementar 
a requisição. 
• As requisições otimizadas são executadas sob o controle 
do gerenciador em tempo de execução (run time). 
Banco de Dados I - Prof Tavares 45 
SGBD - Principais funções 
Recuperação de dados e concorrência. 
• O SGBD - ou, mais provavelmente, algum outro 
componente de software relacionado, em geral chamado 
gerenciador de transações ou monitor de TP (transaction 
processing) - deve impor certos controles de recuperação 
e concorrência. 
Banco de Dados I - Prof Tavares 46 
SGBD - Principais funções 
Dicionário de dados. 
• O dicionário de dados pode ser considerado um banco de 
dados isolado (mas um banco de dados do sistema, não 
um banco de dados do usuário); 
• Contém "dados sobre os dados" (também chamados 
metadados ou descritores) - ou seja, definições de outros 
objetos do sistema, em vez de somente "dados crus". 
• Todos os vários esquemas e mapeamentos (externos, 
conceituais etc.) e todas as diversas restrições de 
segurança e integridade estarão armazenados, tanto na 
forma de fonte quanto de objeto, no dicionário. 
Banco de Dados I - Prof Tavares 47 
Controle de Redundância 
• Redundância 
 Problemas: 
• duplicação de esforço para manter os dados atualizados; 
• desperdício de espaço de armazenamento; 
• possibilidade de inconsistência dos dados 
 Quando a redundância é necessária: 
 
 
SGBD deve ser capaz de controlar a redundância para 
evitar inconsistências. 
SGBD - Principais funções 
Banco de Dados I - Prof Tavares 48 
Compartilhamento de Dados 
• Sistemas multiusuários 
 
 
Controle de Concorrência 
 
SGBD - Principais funções 
Banco de Dados I - Prof Tavares 49 
Controle de Acesso 
Subsistema de segurança e autorização 
Mecanismos usuais de controle de acesso: 
 
• senhas para usuários e para grupos de usuários; 
• restrição de acesso a parte do banco de dados; 
• proibição de executar certas operações, por exemplo 
atualização; 
• acesso de usuários paramétricos restrito apenas a 
transações “enlatadas”; 
• proibição de uso de software privilegiado, a ex. do software 
de criação de contas. 
SGBD - Principais funções 
Banco de Dados I - Prof Tavares 50 
 Persistência para Objetos e Estruturas de 
 Dados 
 
 
Capacidade dos Banco de Dados de se 
integrarem a linguagens de programação de 
alto nível de forma a permitir que as 
estruturas criadas pelas LPs fiquem 
armazenadas definitivamente no BDs. 
 
SGBD - Principais funções 
Banco de Dados I - Prof Tavares 51 
Inferência através de Regras de Dedução 
 Capacidade de permitir a definição de regras no SGBD que 
permitam deduzir novas informações a partir dos fatos 
armazenados. 
 
Regras: 
 adolescentes são todos aqueles que têm entre 14 e 18 anos 
• carioca: cidadão natural do RJ 
• engenheiros: todo aquele que tem diploma de curso de 
Engenharia 
 
Consulta: 
 
“Quais os adolescentes cariocas que são engenheiros”? 
SGBD - Principais funções 
Banco de Dados I - Prof Tavares 52 
Múltiplas Interfaces 
Um SGBD deve prover uma variedade de interfaces de 
usuário. 
Tipos de interfaces: 
 
• linguagens de consulta para usuários casuais; 
• linguagens de programação para programadores 
de aplicações; 
• formulários (telas) para usuários paramétricos; 
• menus; 
• linguagem natural. 
SGBD - Principais funções 
Banco de Dados I - Prof Tavares 53 
Representação de Relacionamentos 
O SGBD deve ter a capacidade de representar uma 
variedade de relacionamentos complexos entre os 
dados, bem como recuperar e atualizar dados 
relacionados de uma maneira fácil e eficiente. 
SGBD - Principais funções 
Banco de Dados I - Prof Tavares 54 
Cumprimento das Restrições de Integridade 
Restrições: 
• forma de verificação da consistência dos dados no BDs 
 
Restrições de integridade mais complexas: 
 
• Unicidade de itens de dados; 
• Integridade referencial (um registro em uma tabela que 
referencia outra tabela deve referenciar um registro existente 
na outra tabela) 
• Restrições derivadas da semântica dos dados (exemplo: um 
aluno não pode fazer a mesma disciplina mais de uma vez). 
 
SGBD - Principais funções 
Banco de Dados I - Prof Tavares 55 
Capacidade de Backup e Restauração 
O SGBD deve prover facilidades para restaurar o banco de 
dados em caso de falha de hardware ou de software. 
 
Sub-sistema de backup e restauração: responsável por 
assegurar que o banco de dados é restaurado para seu 
estado anterior à execução do programa. 
SGBD - Principais funções 
Banco de Dados I - Prof Tavares 56 
Componentes de um SGBD 
Comandos 
em LDD 
Comandos 
privilegiados 
Consulta de 
alto nível 
Programas de 
aplicação 
Comandos 
em LMD 
Transações 
compiladas Compilador 
da LDD 
Compilador 
da LMD 
Processador 
de consultas 
Processador 
do BD em tempo 
de execução 
Compilador 
da linguagem 
hospedeira 
Subsistema de controle de 
concorrência / backup / restauração 
Gerenciadordos dados 
armazenados 
Banco de dados armazenado 
Catálogo/ 
Dicionário 
de Dados 
ABD e equipe usuários 
ocasionais 
programadores 
de aplicações 
usuários 
paramétricos 
Pré-compilador 
Banco de Dados I - Prof Tavares 57 
Arquitetura de 
Banco de Dados 
Banco de Dados I - Prof Tavares 58 
Visão 
Externa 1 
Visão 
Externa n 
Esquema Conceitual 
Esquema Interno 
Usuários finais 
. . . NÍVEL EXTERNO 
NÍVEL CONCEITUAL 
NÍVEL INTERNO 
mapeamento 
externo/conceitual 
mapeamento 
conceitual/interno 
Arquitetura de Banco de Dados 
Banco de Dados I - Prof Tavares 59 
Arquitetura de Banco de Dados 
A arquitetura ANSI/SPARC se divide em três níveis: 
• Nível externo - também conhecido como nível lógico do 
usuário - é o mais próximo dos usuários - ou seja, é aquele 
que se ocupa do modo como os dados são vistos por usuários 
individuais. 
• Nível conceitual - também conhecido como nível lógico de 
comunidade, ou às vezes apenas nível lógico, sem 
qualificação - é um nível "indireto" entre os outros dois 
anteriores. 
• Nível interno - também conhecido como nível de 
armazenamento - é o mais próximo do meio de 
armazenamento físico - ou seja, é aquele que se ocupa do 
modo como os dados são fisicamente armazenados dentro do 
sistema. 
Banco de Dados I - Prof Tavares 60 
Arquitetura de Banco de Dados 
Banco de Dados I - Prof Tavares 61 
Arquitetura de Banco de Dados 
• O nível externo se preocupa com as percepções dos usuários 
individuais, enquanto o nível conceitual está preocupado com 
uma percepção da comunidade de usuários. 
• A maior parte dos usuários não estará interessada no banco de 
dados inteiro, mas somente em alguma parte restrita dele; 
assim, haverá muitas "visões externas" distintas, cada qual 
consistindo em uma representação abstrata de alguma parte do 
banco de dados completo. 
Banco de Dados I - Prof Tavares 62 
Arquitetura de Banco de Dados 
• Haverá exatamente uma "visão conceitual", consistindo em 
uma representação igualmente abstrata do banco de dados em 
sua totalidade. 
• Haverá exatamente uma "visão interna", representando o modo 
como o banco de dados está armazenado internamente. 
Banco de Dados I - Prof Tavares 63 
Visões 
exemplo: companhia aérea 
1- Empregados 
(nome, cpf, end, tel, filiação, dep) 
2- Equipamentos 
(n0 avião,marca,tipo,capac, 
tripulação, revisão) 
 
3- Funções 
(nomefunção,salário,qualificação, 
serviço, tipo_equipam) 
 
4-Vôo 
(linha, tipo_equipam, n0horas, 
serviço_bordo, horário) 
 Aplicações: 
 
•Folha pagamento 
 (1,3) 
•Equipe tripulação 
 (1,2,3) 
•Manutenção equip 
 (1, 2) 
•Reserva vôo 
 (2,4) 
•Escala manutenção 
 (1,2,3) 
Banco de Dados I - Prof Tavares 64 
Arquitetura de Banco de Dados 
• Os níveis externo e conceitual são níveis de modelo, 
enquanto o nível interno é um nível de implementação; em 
outras palavras, os níveis externo e conceitual são definidos em 
termos de construções voltadas para o usuário, como registros 
e campos, enquanto o nível interno é definido em termos de 
construções voltadas para a máquina, como bits e bytes. 
Banco de Dados I - Prof Tavares 65 
Arquitetura de Banco de Dados 
• A sublinguagem de dados (data sublanguage - DSL) é 
subconjunto da linguagem completa, relacionado de modo 
específico aos objetos e às operações do banco de dados. 
• A DSL é considerada embutida na linguagem hospedeira 
correspondente, ou "host“, sendo esta última responsável pelo 
fornecimento de diversos recursos não relacionados com 
bancos de dados, como variáveis locais, operações de cálculo, 
lógica de desvios condicionais, etc. 
• A sublinguagem de dados reconhecida por quase todos os 
sistemas atuais é a linguagem SQL. 
• Linguagens fortemente acopladas -> linguagem de 
programação de banco de dados. Ex: PL/SQL 
Banco de Dados I - Prof Tavares 66 
Arquitetura de Banco de Dados 
Em princípio, qualquer sublinguagem de dados é, na realidade, 
uma combinação de pelo menos duas linguagens subordinadas: 
• Linguagem de definição de dados (LDD ou DDL - Data 
Definition Language), que dá suporte à definição ou à 
"declaração" de objetos dos bancos de dados; 
• Linguagem de manipulação de dados (LMD ou DML - Data 
Manipulation Language), que admite o processamento ou a 
"manipulação" desses objetos. 
• CRUD: create / read / update / delete. 
Banco de Dados I - Prof Tavares 67 
Visão 
Externa 1 
Visão 
Externa n 
Esquema Conceitual 
Esquema Interno 
Usuários finais 
. . . NÍVEL EXTERNO 
NÍVEL CONCEITUAL 
NÍVEL INTERNO 
mapeamento 
externo/conceitual 
mapeamento 
conceitual/interno 
Arquitetura de Banco de Dados 
Banco de Dados I - Prof Tavares 68 
Arquitetura de Banco de Dados 
Mapeamentos: 
• O mapeamento externo/conceitual define a correspondência 
entre uma visão externa específica e a visão conceitual. 
• Qualquer número de visões externas pode existir ao mesmo 
tempo; qualquer número de usuários pode compartilhar 
determinada visão externa; diferentes visões externas podem 
se sobrepor. 
. 
Banco de Dados I - Prof Tavares 69 
Visão 
Externa 1 
Visão 
Externa n 
Esquema Conceitual 
Esquema Interno 
Usuários finais 
. . . NÍVEL EXTERNO 
NÍVEL CONCEITUAL 
NÍVEL INTERNO 
mapeamento 
externo/conceitual 
mapeamento 
conceitual/interno 
Arquitetura de Banco de Dados 
Banco de Dados I - Prof Tavares 70 
Arquitetura de Banco de Dados 
Mapeamentos: 
• O mapeamento conceitual/interno define a correspondência 
entre a visão conceitual e o banco de dados armazenado; ele 
especifica o modo como os registros e campos conceituais são 
representados no nível interno. 
• Se a estrutura do banco de dados armazenado for alterada - 
isto é, se for efetuada uma mudança na definição do banco de 
dados armazenado - o mapeamento conceitual interno terá de 
ser alterado de acordo, a fim de que o esquema conceitual 
possa permanecer invariável. 
Banco de Dados I - Prof Tavares 71 
Independência de Dados 
 
Capacidade de mudar o esquema num nível de um 
sistema de banco de dados sem ter que mudar o 
esquema no nível seguinte mais alto. 
 
 
Independência lógica de dados: 
 
 Independência física de dados: 
 
Banco de Dados I - Prof Tavares 72 
Independência de Dados 
• Independência lógica de dados (termo 
"independência de dados" não qualificado): 
– Capacidade de mudar o esquema conceitual sem 
ter que mudar esquemas externos ou programas 
de aplicação. 
 
• Independência física de dados: 
– Capacidade de mudar o esquema interno sem ter 
que mudar o esquema conceitual 
Banco de Dados I - Prof Tavares 73 
Independência de Dados 
Independência de dados: 
• A independência de dados é um objetivo importante dos 
sistemas de bancos de dados. 
• A independência de dados pode ser definida como a 
imunidade das aplicações a alterações na 
representação física e na técnica de acesso - o que 
significa que as aplicações envolvidas não dependam 
de qualquer representação física ou técnica de acesso 
específica. 
Banco de Dados I - Prof Tavares 74 
Independência de Dados 
Independência de dados 
• Um registro armazenado é uma coleção de campos 
armazenados, relacionados entre si. 
• Uma ocorrência (ou instância) de registro 
armazenado consiste em um grupo de ocorrências 
de campos armazenados relacionados entre si. 
• O banco de dados contém muitas ocorrências do tipo 
de registro armazenado "peça" - novamente, uma 
ocorrência para cada tipo diferentede peça. 
• Um arquivo armazenado é a coleção de todas as 
ocorrências atualmente existentes de um 
único tipo de registro armazenado. 
• Em sistemas de BD, o DBA poderia ter a 
necessidade de efetuar mudanças na representação 
dos dados armazenados - isto é, nos campos, 
registros e arquivos armazenados -, enquanto os 
dados vistos pelas aplicações não se alteram. 
Banco de Dados I - Prof Tavares 75 
Modelos de Dados 
Banco de Dados I - Prof Tavares 76 
Modelos de Dados 
Dados e modelos de dados 
• Existe outra (e importante) maneira de pensar sobre o que 
são realmente os dados e os bancos de dados. 
• A palavra dado vem da palavra latina datu, que corresponde 
a "dar"; portanto, dados são na realidade fatos 
dados, a partir dos quais podemos deduzir fatos adicionais. 
• Deduzir fatos adicionais a partir de fatos dados é exatamente 
o que o SGBD está fazendo quando responde a uma 
consulta do usuário. 
Banco de Dados I - Prof Tavares 77 
Modelos de Dados 
Dados e modelos de dados 
• Um "fato dado" corresponde ao que os matemáticos chamam 
proposição verdadeira. 
• Por exemplo, a afirmação "O fornecedor F1 está localizado em 
Londres" pode ser uma proposição verdadeira. 
• Uma proposição, em lógica, é algo que pode ser verdadeiro ou falso, 
inequivocamente. 
• Conclui-se que um banco de dados é, na verdade, uma coleção de 
proposições verdadeiras. 
• Os produtos SQL passaram a dominar o mercado, sendo baseados 
em uma teoria formal chamada Modelo Relacional de Dados, e 
essa teoria, por sua vez, oferece suporte direto à interpretação 
anterior de dados e bancos de dados. 
Banco de Dados I - Prof Tavares 78 
Modelos de Dados 
• Um modelo de dados é uma definição abstrata, autônoma e lógica 
dos objetos, operadores e outros elementos que, juntos, constituem 
a máquina abstrata com a qual os usuários interagem. 
• Os objetos nos permitem modelar a estrutura dos dados. 
• Os operadores nos permitem modelar seu comportamento. 
• Podemos, então, distinguir de modo útil o modelo de sua 
implementação: Uma implementação de um determinado modelo de 
dados é uma representação física em uma máquina real dos 
componentes da máquina abstrata que, juntos, constituem esse 
modelo. 
• Em resumo: o modelo é aquilo que os usuários têm de conhecer; a 
implementação é aquilo que os usuários não precisam conhecer. 
Banco de Dados I - Prof Tavares 79 
Modelos de Dados 
• De acordo com a explicação anterior, a distinção entre modelo e 
implementação é realmente apenas um caso especial da distinção 
familiar entre lógico e físico. 
• Modelo de dados é outro termo empregado na literatura com dois 
significados bastante diferentes. 
 O primeiro significado já foi explicado. 
 O segundo define que um modelo de dados é um modelo dos 
dados persistentes de alguma empresa em particular. 
 
Banco de Dados I - Prof Tavares 80 
Modelos de Dados 
• Um modelo de dados no primeiro sentido é como uma linguagem de 
programação - embora seja uma linguagem um tanto abstrata - 
cujas construções podem ser usadas para resolver uma grande 
variedade de problemas específicos, embora não tenham por si 
próprias nenhuma conexão direta com qualquer problema específico. 
• Um modelo de dados no segundo sentido é como um programa 
específico escrito nessa linguagem. Em outras palavras, um 
modelo de dados no segundo sentido utiliza os recursos fornecidos 
por algum modelo no primeiro sentido e os aplica a algum problema 
específico. Ele pode ser considerado uma aplicação específica de 
algum modelo no primeiro sentido. 
 
Banco de Dados I - Prof Tavares 81 
Modelos de Dados 
• Modelos conceituais: 
Representam a realidade a um nível alto de abstração. Ex: 
Entidades-Relacionamentos, Redes Semânticas, Modelos 
Semânticos 
• Modelos lógicos ou de implementação: 
Suportam descrições de dados que possam ser processadas por 
computador. Ex: Hierárquico, Redes, Relacional, R-O, OO 
• Modelos físicos: 
Descrevem como os dados são armazenados no computador 
através de informações como tipos de arquivos, formatos e 
ordenação de registros, caminhos de acesso. Ex: Sistemas de 
arquivos (seqüenciais indexados, diretos, invertidos) 
Banco de Dados I - Prof Tavares 82 
Requisitos de Dados 
Projeto Conceitual 
Projeto Lógico 
Projeto Físico 
Esquema Conceitual 
Esquema Físico 
Esquema Lógico 
Coleta e Análise 
de Requisitos 
Mini Mundo 
Independente 
de SGBD 
Específico para 
um SGBD 
Foco : dados 
Definido por 
meio do MER 
Definido por 
meio do MR 
Definido por 
meio da SQL 
Modelos de Dados 
Banco de Dados I - Prof Tavares 83 
Modelos de Dados 
Banco de Dados I - Prof Tavares 84 
Modelo Lógico Relacional 
Sistema relacional 
• Os dados são percebidos pelo usuário como tabelas (e nada 
além de tabelas). 
• Os operadores à disposição do usuário (por exemplo, para 
busca de dados) são operadores que geram tabelas "novas" a 
partir de tabelas "antigas". 
• O termo relação é essencialmente apenas um termo matemático 
para designar uma tabela. 
Banco de Dados I - Prof Tavares 85 
Modelo Lógico Relacional 
Banco de Dados I - Prof Tavares 86 
Modelo Lógico Relacional 
Banco de Dados I - Prof Tavares 87 
Arquitetura Cliente/Servidor 
 Um Sistema de Banco de Dados na Arquitetura 
Cliente/Servidor tem uma estrutura composta de duas partes, 
consistindo em um servidor, também chamado back end, e 
um conjunto de clientes, também chamados front ends. 
 O servidor é o próprio SGBD. Ele admite todas as funções 
básicas de SGBDs - definição de dados, manipulação de 
dados, segurança e integridade de dados, etc 
 Os clientes são as diversas aplicações executadas em cima 
do SGBD - tanto aplicações escritas por usuários quanto 
aplicações internas (built-in, ou seja, aplicações fornecidas 
pelo fabricante do SGBD ou por terceiros – também 
denominadas de ferramentas). 
Banco de Dados I - Prof Tavares 88 
Cliente 
Servidor de 
Aplicação ou 
Web 
Arquitetura Cliente/Servidor 
Banco de Dados I - Prof Tavares 89 
Requisitos 
de Dados 
Projeto Conceitual 
Projeto Lógico 
Projeto Físico 
Coleta/Especificação 
de Requisitos 
Requisitos 
Funcionais 
Análise Funcional 
Projeto Funcional 
Programação 
Programa de 
aplicação de BD SGBD 
Programa de 
aplicação de BD 
Programa de 
aplicação 
dados 
e 
regras 
Mundo 
Real 
Banco de Dados I - Prof Tavares 90 
 Banco de Dados Hierárquicos 
 
Segue o estilo de um organograma empresarial (Diretoria-
Divisão-Seção-Setor) ou de biblioteca (Exata-Matemática-
Algebra Linear-Vetores). Este modelo é capaz de representar 
este tipo de organização de forma direta, mas apresenta 
inconvenientes quando esta situação não aparece claramente 
com relações de hierarquia. 
 
 Fábrica Financeiro Comercial 
 
 
 
 
Injeção Extrusão Pagar Receber Contábil Vendas Marketing 
 
 
 
Paulo Vinícius Vilma Sílvia Dagoberto Juracy Richard 
Pedro Carlos Ernesto Sandra Paula Pedrinho João 
 
 
Sabemos que Paulo é "filho" da Injeção que por sua vez é 
"filha" da Fábrica. 
 
Banco de Dados I - Prof Tavares 91 
 Banco de Dados em Rede 
Neste modelos os dados são dispostos em registros, previamente 
classificados em classes que descrevem a estrutura de determinado 
tipo de registro. Os registros são descritos em relações de 
conjuntos onde são estabelecidas as ligaçõeslógicas entre eles. 
 
Informática 
André 
Paulo 
Carla

Outros materiais