Buscar

Aula 13

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 3, do total de 78 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 6, do total de 78 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 9, do total de 78 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

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Arquitetura e Organização de 
Computadores
Aula 13:
- Banco de Dados.
Prof. Rafael
Tipos de Bancos de Dados
� Bancos de Dados Numéricos e Textuais
◦ Aplicações tradicionais de banco de dados, exemplos: biblioteca, banco, 
supermercado.
� Bancos de Dados Multimídia 
◦ Aplicações que podem armazenar figuras, videoclipes e mensagens 
sonoras.
� Bancos de Dados Geográficos (GIS) 
◦ São capazes de armazenar e analisar mapas, dados do tempo e imagens 
de satélite.
� Data Warehouses
◦ Utilizados em muitas empresas para extrair e analisar as informações 
úteis dos bancos de dados para a tomada de decisões.
� Bancos de Dados de Tempo Real 
◦ Usado no controle de processos industriais e de produção (indústria).
AOC - Prof. Rafael Aula 13 - 2
Bancos de Dados - Definições
� Bancos de Dados: 
◦ Um banco de dados é uma coleção de dados 
relacionados. 
◦ Um banco de dados representa alguns aspectos 
do mundo real, sendo chamado, às vezes, de 
minimundo ou de universo de discurso (UoD). 
◦ Um banco de dados é uma coleção lógica e 
coerente de dados com algum significado 
inerente. Um banco de dados é projetado, 
construído e povoado por dados, atendendo a 
uma proposta específica. 
AOC - Prof. Rafael Aula 13 - 3
Bancos de Dados - Definições
� Dados: 
◦ Os dados são fatos que podem ser gravados e 
que possuem um significado implícito. Por 
exemplo, considere nomes, números 
telefônicos e endereços de pessoas.
�Minimundo:
◦ Dados de parte do mundo real que são 
armazenados em um banco de dados. Por 
exemplo, todos os livros de uma biblioteca 
pública.
AOC - Prof. Rafael Aula 13 - 4
Bancos de Dados - Definições
� Sistema Gerenciador de Banco de Dados 
(SGBD): 
◦ É uma coleção de programas que permite aos 
usuários criar e manter um banco de dados.
◦ O SGBD é, portanto, um sistema de software de 
propósito geral que facilita os processos de definição, 
construção, manipulação e compartilhamento de 
bancos de dados entre vários usuários e aplicações. 
� Sistema de Banco de Dados: 
◦ É o conjunto formado pelo SGBD e pelo banco de 
dados (dados armazenados).
AOC - Prof. Rafael Aula 13 - 5
Bancos de Dados - Definições
AOC - Prof. Rafael Aula 13 - 6
Sistema Gerenciador de Bancos de 
Dados - SGBD
� Sistema de software de propósito geral que facilita os processos de 
definição, construção, manipulação e compartilhamento de bancos 
de dados entre vários usuários e aplicações. 
� A definição de um banco de dados implica especificar os tipos de 
dados, as estruturas e as restrições para os dados a serem 
armazenados em um banco de dados. 
� A construção de um banco de dados é o processo de armazenar 
os dados em alguma mídia apropriada controlada pelo SGBD. 
� A manipulação inclui algumas funções, como pesquisas em banco 
de dados para recuperar um dado específico, atualização do banco 
para refletir as mudanças no minimundo e gerar os relatórios dos 
dados.
AOC - Prof. Rafael Aula 13 - 7
Sistema Gerenciador de Bancos de 
Dados - SGBD
� O compartilhamento permite aos múltiplos usuários e programas 
acessar, de forma concorrente, o banco de dados. 
� A proteção inclui a proteção do sistema contra o mau funcionamento ou 
falhas (crashes) no hardware ou software, e segurança contra acessos não 
autorizados ou maliciosos.
� SGBD devem ser capazes de manter um sistema de banco de dados que 
permita a evolução dos requisitos que se alteram ao longo do tempo., pois 
um banco de dados pode ter um ciclo de vida de muitos anos.
� Processamento Concorrente e multiusuário garante que diversos 
usuários acessem o banco de dados ao mesmo tempo. 
� Uma regra fundamental do software do SGBD multiusuário é garantir que 
as transações concorrentes operem corretamente. Exemplo: reserva de 
lugares.
AOC - Prof. Rafael Aula 13 - 8
Exemplo de Bancos de Dados
�Minimundo:
◦ Parte do ambiente de uma universidade.
� Entidades:
◦ ALUNOS
◦ PROFESSORES
◦ CURSOS
◦ DISCIPLINAS
◦ HISTÓRICO ESCOLAR
◦ PRE_REQUISITO
AOC - Prof. Rafael Aula 13 - 9
Exemplo de Bancos de Dados
� Relacionamentos do minimundo:
◦ DISCIPLINAS são específicas de CURSOS
◦ ALUNOS cursam DISCIPLINAS
◦ HISTORICO_ESCOLAR pertence a ALUNOS
◦ CURSOS possuem PRE_REQUISITOS para 
outros CURSOS
◦ HISTÓRICO_ESCOLAR depende da conclusão 
das DISCIPLINAS
◦ PROFESSORES lecionam DISCIPLINA
Todos esses relacionamentos podem ser expressos 
em um modelo Entidade-Relacionamento.
AOC - Prof. Rafael Aula 13 - 10
Características do Uso de Bancos 
de Dados
�Natureza auto descritiva do sistema 
de banco de dados
◦ O sistema de banco de dados possui não 
apenas o banco de dados, mas também uma 
completa definição ou descrição da estrutura 
desse banco de dados e suas restrições. 
◦ O SGBD armazena em seu catálogo a 
descrição do banco de dados. Essa descrição 
é chamada de metadados.
AOC - Prof. Rafael Aula 13 - 11
Características do Uso de Bancos 
de Dados
� Isolamento entre os programas e os 
dados
◦ Esse isolamento permite que sejam feitas 
alterações na estrutura dos dados 
armazenados e nas operações do banco de 
dados, sem a necessidade de alterações nos 
programas de acesso ao SGBD. 
◦ Pode também ser chamado de independência 
programa-dados.
AOC - Prof. Rafael Aula 13 - 12
Características do Uso de Bancos 
de Dados
� Abstração dos dados
◦ Um SGBD oferece aos usuários uma 
representação conceitual de dados que não 
inclui muitos detalhes sobre como o dado é 
armazenado ou como as operações são 
implementadas. 
◦ O modelo de dados é usado para esconder os 
detalhes de armazenamento e da implementação 
dos dados e prover aos usuários uma visão 
conceitual do banco de dados. 
AOC - Prof. Rafael Aula 13 - 13
Características do Uso de Bancos 
de Dados
� Suporte para as múltiplas visões dos 
dados
◦ Cada usuário deve ter uma visão / perspectiva 
diferente do banco de dados, de acordo com 
os dados de interesse de cada usuário 
específico.
AOC - Prof. Rafael Aula 13 - 14
Características do Uso de Bancos 
de Dados
� Compartilhamento de dados e processamento 
de transações de multiusuários
◦ Permite que diversos usuários acessem o banco de dados 
ao mesmo tempo.
◦ O SGBD, através do software de controle de 
concorrência, garante que cada transação será executada 
corretamente ou completamente abortada.
◦ Esses tipos de aplicações são, normalmente, denominados 
aplicações de processamento de transações on-line -
online transaction processing (OLTP).
AOC - Prof. Rafael Aula 13 - 15
Usuários do Bancos de Dados
� Atores no Palco:
◦ Usuários que realmente projetam, usam e 
administram o conteúdo do banco de dados.
� Trabalhadores dos bastidores:
◦ Usuários que preparam o banco de dados 
para ser desenvolvido e operam o SGBD para 
ser modelado e implementado.
AOC - Prof. Rafael Aula 13 - 16
Usuários do Bancos de Dados
� Atores no Palco:
◦ Administradores de Banco de Dados:
� Responsáveis pelo gerenciamento do acesso ao 
banco, coordenação e monitoração de seu uso; 
aquisição de hardware e software; controlar seu 
uso e monitorar as operações.
◦ Os Projetistas do Banco de Dados:
� Responsáveis pela definição da estrutura, conteúdo, 
restrições e as funções ou transações no banco de 
dados. Eles devem estar se comunicar com os 
usuários finais para entender suas necessidades. 
AOC - Prof. Rafael Aula 13 - 17
Usuários do Bancos de Dados
� Atores no Palco:
◦ Analistas de Sistemas e Programadores de 
Aplicações (Engenheiros de Software):
� Os analistas de sistemas determinam as solicitações dos 
usuários finais, além de desenvolver as especificações das 
transações customizadas que atendam a essas 
solicitações.
� Os programadoresde aplicações implementam essas 
especificações como programas, testam, documentam e 
mantêm essas transações customizadas. Precisam estar 
familiarizados com todas as capacidades oferecidas pelo 
SGBD para realizar suas tarefas. 
AOC - Prof. Rafael Aula 13 - 18
Usuários do Bancos de Dados
� Atores no Palco:
◦ Usuários Finais:
� Utilizam o banco de dados para consultas e aquisição de 
relatórios, além de atualizar os dados do mesmo.
◦ Os Usuários Finais podem ser:
� Usuários finais casuais: 
� Iniciantes ou usuários finais parametrizáveis: 
� Usuários finais sofisticados: 
� Usuários autônomos (stand-alone):
AOC - Prof. Rafael Aula 13 - 19
Usuários do Bancos de Dados
� Atores no Palco:
◦ Usuários Finais:
� Casuais: 
� Acessam os dados ocasionalmente, quando necessário.
� Iniciantes ou parametrizáveis: 
� Consulta e atualização do banco de dados, utilizando tipos 
de consulta e atualizações padronizadas. São a maior parte 
dos usuários de banco de dados.
AOC - Prof. Rafael Aula 13 - 20
Usuários do Bancos de Dados
� Atores no Palco:
◦ Usuários Finais:
� Sofisticados: 
� Engenheiros, cientistas, analistas de negócios e outros que se 
familiarizam com as facilidades do SGBD para implementar 
aplicações que atendam às suas solicitações complexas.
� Autônomos (stand-alone):
� Usuários que mantêm um banco de dados pessoal por meio do 
uso de pacotes de programas prontos que possuem interfaces 
gráficas ou programas baseados em menus fáceis de usar.
AOC - Prof. Rafael Aula 13 - 21
Usuários do Bancos de Dados
� Trabalhadores dos Bastidores:
◦ Projetistas e implementadores de sistemas 
SGBD:
� Projetam e implementam os módulos e interfaces do 
SGBD, como um Pacote. O SGBD deve interagir com 
outros sistemas, tais como o sistema operacional e 
compiladores de diferentes linguagens de programação.
◦ Desenvolvedores de ferramentas:
� Projetam e implementam as ferramentas - pacotes de 
programas que facilitam o projeto e uso de um sistema 
de banco de dados e que ajudam a aprimorar seu 
desempenho, monitoramento ou mesmo interface 
gráfica.
AOC - Prof. Rafael Aula 13 - 22
Usuários do Bancos de Dados
� Trabalhadores dos Bastidores:
◦ Pessoal de manutenção e operadores:
� Responsáveis pela execução e manutenção do 
ambiente de hardware e software do sistema de 
banco de dados, ou seja, responsáveis pela 
administração do sistema.
AOC - Prof. Rafael Aula 13 - 23
Vantagens do Uso de Bancos de Dados
� Controle de Redundância no armazenamento de dados e 
desenvolvimento e manutenção.
� Compartilhamento dos dados entre múltiplos usuários 
simultaneamente.
� Controle de acesso para restringir o acesso a usuários não 
autorizados.
� Armazenamento persistente para objetos programas e 
estruturas de dados.
� Armazenamento de estruturas para o processamento 
eficiente de consultas e atualizações.
AOC - Prof. Rafael Aula 13 - 24
Vantagens do Uso de Bancos de Dados
� Serviços de backup e restauração.
� Múltiplas interfaces para os usuários de acordo com 
seus conhecimentos técnicos.
� Representação de relacionamentos complexos entre 
os dados.
� Funcionalidades para a definição e a garantia das 
restrições de integridade.
� Permite inferências e ações usando regras de 
dedução (sistemas de bancos de dados dedutivos).
AOC - Prof. Rafael Aula 13 - 25
Implicações Adicionais do uso de Banco de 
Dados
� Potencial para Garantir Padronização
◦ A abordagem de um banco de dados permite ao DBA 
definir e forçar o uso de padrões entre os usuários de um 
banco de dados em uma grande organização.
◦ Isso facilita a comunicação e cooperação entre os vários 
departamentos, projetos e os usuários na organização. Os 
padrões podem ser definidos para os nomes e formato 
dos elementos de dados, formatos de exibição, estruturas 
de relatórios, terminologia, dentre outros.
◦ O DBA pode forçar o uso dos padrões em um ambiente 
de banco de dados centralizado mais facilmente do que 
em um ambiente no qual cada grupo de usuário tenha o 
controle de seus próprios arquivos e softwares. 
AOC - Prof. Rafael Aula 13 - 26
Implicações Adicionais do uso de Banco de 
Dados
� Redução no Tempo de Desenvolvimento de 
Aplicações.
◦ O principal argumento de venda para o uso de um 
banco de dados é que o desenvolvimento de uma 
nova aplicação demanda um tempo muito pequeno. 
◦ Projetar e implementar um novo banco de dados do 
zero deve levar mais tempo do que escrever uma 
simples aplicação de arquivo especializada. No 
entanto, uma vez que o banco de dados está ativo e 
em execução, certamente menos tempo será 
necessário para criar aplicações usando as facilidades 
do SGBD.
AOC - Prof. Rafael Aula 13 - 27
Implicações Adicionais do uso de Banco de 
Dados
� Flexibilidade. 
◦ Pode ser necessário alterar a estrutura do banco de 
dados quando os requisitos mudam. Por exemplo, um 
novo grupo de usuários pode surgir e precisar de 
informações não disponíveis no banco de dados. A 
solução pode ser adicionar um novo arquivo ao 
banco ou estender os elementos de dados em um 
arquivo existente.
◦ Um SGBD moderno permite certos tipos de 
alterações evolutivas que mudam a estrutura do 
banco de dados sem afetar os dados armazenados e 
os programas de aplicação existentes. 
AOC - Prof. Rafael Aula 13 - 28
Implicações Adicionais do uso de Banco de 
Dados
� Disponibilidade de Informações 
Atualizadas.
◦ Um SGBD disponibiliza o banco de dados para todos 
os usuários. Imediatamente após ser feita a 
atualização de um usuário, todos os outros usuários 
poderão vê-la.
◦ Essa disponibilidade de atualização é essencial para 
muitas aplicações, como sistemas de reserva ou 
banco de dados bancários.
◦ Isso é possível devido ao subsistema de controle de 
concorrência e recuperação do SGBD.
AOC - Prof. Rafael Aula 13 - 29
Implicações Adicionais do uso de Banco de 
Dados
� Economias de Escala. 
◦ Permite a consolidação dos dados e das 
aplicações, reduzindo, dessa forma, a perda por 
superposição entre as atividades de 
processamento redundante em diferentes 
projetos ou departamentos. 
◦ Isso possibilita que a organização faça 
investimentos em processadores mais potentes, 
dispositivos de armazenamento ou equipamentos 
de comunicação mais eficientes.
AOC - Prof. Rafael Aula 13 - 30
História das Aplicações de Banco de Dados
� Primeiras Aplicações de Bancos de Dados (Modelos 
Hierárquico e em Rede): 
◦ Iniciando em meados dos anos 60, indo até os anos 70 e 80, os 
modelos Hierárquico e em Rede manipulavam um grande 
volume de processamento de dados em todo o mundo. 
Inicialmente a maioria desses sistemas de banco de dados foi 
implementada em computadores grandes (mainframes) e caros.
◦ Os principais problemas eram a mistura entre os 
relacionamentos conceituais, o armazenamento físico e a 
localização de registros no disco. 
◦ Outro problema era a deficiência criada ao fornecer somente as 
interfaces para a linguagem de programação. Isso fazia com que o 
tempo consumido fosse significativamente alto para implementar 
novas consultas e transações.
AOC - Prof. Rafael Aula 13 - 31
História das Aplicações de Banco de Dados
� Sistemas baseados no Modelo Relacional: 
◦ Os primeiros modelos relacionais desenvolveram-se 
no fim dos anos 70 e introduzidos no início dos anos 
80.
◦ Seu objetivo é separar o armazenamento físico dos 
dados da sua representação conceitual e prover uma 
fundamentação matemática para os bancos de dados.
◦ O modelo de dados relacional também introduziu as 
linguagens de consulta de alto nível, onde ficou mais 
rápido escrever novas consultas.
AOC - Prof. Rafael Aula 13 - 32
História das Aplicações de Banco de Dados
� AplicaçõesOrientadas a Objetos: 
◦ O aparecimento das linguagens de programação orientadas a 
objeto nos anos 80 e a necessidade de armazenar e partilhar os 
objetos complexos estruturados conduziram ao 
desenvolvimento dos bancos de dados orientados a objeto
◦ Inicialmente, competiam com os bancos de dados relacionais, 
pois possuíam estruturas de dados mais gerais. 
◦ No entanto, a complexidade do modelo e a falta de um padrão 
inicial contribuíram para seu uso limitado.
◦ Hoje são usados principalmente em aplicações especializadas, 
tais como projetos em engenharia, publicidade multimídia e 
sistemas para a indústria.
AOC - Prof. Rafael Aula 13 - 33
História das Aplicações de Banco de Dados
� Ao longo do tempo, algumas funcionalidades 
que foram adicionadas ao SGBD’s nas 
seguintes áreas: 
◦ Aplicações científicas;
◦ Armazenamento e manipulação de imagens;
◦ Armazenamento e manipulação de vídeos;
◦ Mineração de dados;
◦ Armazenamento e manipulação de informações 
espaciais;
◦ Aplicações referentes a séries temporais e dados 
históricos.
AOC - Prof. Rafael Aula 13 - 34
Quando Não usar um Banco de Dados
� Apesar das vantagens no uso do SGBD, há algumas situações em 
que esse sistema pode envolver custos altos e desnecessários: 
◦ Investimentos iniciais altos em hardware, software e treinamento.
◦ Custos elevados para oferecer generalidade, segurança, controle de 
concorrência, recuperação e funções de integridade. 
� Sendo assim, pode-se indicar o uso de arquivos convencionais nas 
seguintes circunstâncias: 
◦ O banco de dados e suas aplicações são simples, bem definidas e sem 
previsão de mudanças. 
◦ Há requisitos de tempo real (real-time) para alguns programas difíceis 
de serem atendidos por causa da sobrecarga (overhead) do SGBD. 
◦ O acesso de múltiplos usuários aos dados não é necessário.
AOC - Prof. Rafael Aula 13 - 35
Modelos de Dados
� Modelo de Dados
◦ Conjunto de conceitos que podem ser usados para 
descrever a estrutura de um banco de dados. Por 
estrutura de um banco de dados entendemos os tipos de 
dados, relacionamentos e restrições que devem suportar 
os dados.
◦ A maioria dos modelos também inclui uma série de 
operações básicas para a recuperação e atualizações no 
banco de dados.
� Estrutura do Banco de Dados
◦ A estrutura de um banco de dados baseia-se nos tipos de 
dados, relacionamentos e restrições que devem suportar 
os dados.
AOC - Prof. Rafael Aula 13 - 36
Modelos de Dados
� Operações do Modelo de Dados
◦ Operações genéricas para inserir, excluir, 
modificar ou pesquisar qualquer tipo de 
objeto são incluídas nas operações básicas do 
modelo de dados. 
AOC - Prof. Rafael Aula 13 - 37
Categorias dos Modelos de Dados
� Alto nível ou modelos de dados 
conceituais:
◦ Descrevem os dados como os usuários os percebem;
◦ Utiliza conceitos como entidades, atributos e relacionamentos;
◦ Também chamados de modelos baseados em entidades ou 
baseados em objetos.
� Baixo nível ou modelos de dados físicos: 
◦ Descrevem os detalhes de como os dados estão armazenados 
no computador. 
◦ Esses conceitos geralmente são significativos para os 
especialistas em computadores, e não para os usuários finais.
AOC - Prof. Rafael Aula 13 - 38
Categorias dos Modelos de Dados
� Modelos de dados representacionais ou 
de implementação:
◦ Conceitos que podem ser entendidos pelos usuários finais, mas 
não distantes da forma como os dados estão organizados dentro 
do computador. 
◦ São conceitos que fazem o intermédio entre alto nível e baixo 
nível.
AOC - Prof. Rafael Aula 13 - 39
Histórias dos Modelos de Dados
�Modelo Hierárquico
◦ Primeiro modelo a ser reconhecido como 
modelo de dados, sendo implementado por 
volta de 1965.
◦ Esse modelo representa os dados como 
estruturas de árvores hierárquicas. Cada 
hierarquia representa um número de registros 
relacionados, onde cada registro é uma 
coleção de campos (atributos).
AOC - Prof. Rafael Aula 13 - 40
Histórias dos Modelos de Dados
�Modelo Hierárquico
AOC - Prof. Rafael Aula 13 - 41
Histórias dos Modelos de Dados
� Modelo em Rede
◦ Representa os dados como tipos de registros e 
um tipo relacionamento 1:N, limitado, chamado 
tipo conjunto.
◦ Nesse modelo, os tipos registro são mostrados 
como retângulos e os tipos conjunto são vistos 
como setas diretas rotuladas.
◦ Surgiu como extensão ao modelo hierárquico, 
onde permitiu que um mesmo registro esteja 
envolvido em várias associações.
AOC - Prof. Rafael Aula 13 - 42
Histórias dos Modelos de Dados
�Modelo em Rede
AOC - Prof. Rafael Aula 13 - 43
Histórias dos Modelos de Dados
� O Modelo Hierárquico e o 
Modelo em Rede são orientados à 
registros, o que significa que qualquer 
inclusão, alteração, exclusão ou mesmo 
consulta, é realizada em um único registro 
de cada vez.
AOC - Prof. Rafael Aula 13 - 44
Histórias dos Modelos de Dados
�Modelo Relacional
◦ O modelo tem sua base teórica na teoria dos 
conjuntos e na lógica de predicados de 
primeira ordem.
◦ O modelo relacional representa o banco de 
dados como uma coleção de relações. 
◦ Foi resultado de um estudo, de Ted Codd, da 
IBM Research, um artigo clássico
(Codd,1970).
AOC - Prof. Rafael Aula 13 - 45
Histórias dos Modelos de Dados
� Modelo Relacional
◦ Esse modelo, surgiu porque algumas 
necessidades não eram atendidas pelos modelos 
anteriores. Tais como:
� Processamento dedicado;
� Aumento da independência de dados nos SGBDs, que 
protege os programas das mudanças subjacentes à 
organização lógica;
� Conjunto de funções para armazenamento e 
recuperação de dados.
AOC - Prof. Rafael Aula 13 - 46
Histórias dos Modelos de Dados
� Modelo Relacional
◦ Na terminologia do modelo relacional formal, 
uma linha é chamada tupla, um cabeçalho de 
coluna é conhecido como atributo, e a tabela é 
chamada relação. 
◦ A relação (tabela) é a base do modelo relacional.
◦ Uma relação é composta de atributos (campos), 
que especificam os dados armazenados.
◦ Cada instância desse esquema é composto por 
um registro, chamado de tupla.
AOC - Prof. Rafael Aula 13 - 47
Histórias dos Modelos de Dados
�Modelo Relacional
◦ Diferente das outras arquiteturas, o modelo 
relacional não necessita de caminhos pré-
definidos para acesso aos dados nele contidos, 
pois ele é estruturado em relações.
AOC - Prof. Rafael Aula 13 - 48
Histórias dos Modelos de Dados
�Modelo Relacional
AOC - Prof. Rafael Aula 13 - 49
Histórias dos Modelos de Dados
� Modelo Orientado a Objetos
◦ Os modelos de dados orientados a objeto possuem 
implementação de mais alto nível, muito próximos aos modelos 
de dados conceituais. Os modelos de dados orientados a objeto 
são frequentemente utilizados, ainda, como modelos conceituais 
de alto nível, especialmente na área de engenharia de software. 
◦ Surgiram pela necessidade de maior limite de armazenamento e 
representação semântica. Tornaram-se comercialmente viáveis 
em meados de 1980. 
◦ O termo Modelo Orientado a Objetos é usado para 
documentar o padrão que contém a descrição geral das 
facilidades de um conjunto de linguagens de programação 
orientadas a objetos e a biblioteca de classes que pode formar a 
base para o Sistema de Banco de Dados.
AOC - Prof. Rafael Aula 13 - 50
Histórias dos Modelos de Dados
�Modelo Orientado a Objetos
AOC - Prof. Rafael Aula 13 - 51
Histórias dos Modelos de Dados
�Modelo Objeto-Relacional
◦ Esse modelo tenta suprir a dificuldade de 
representar e manipular dados complexos 
dos sistemas relacionais convencionais. Com 
isso, é mais representativo em semântica e 
construções de modelagens.
◦ Foram adicionadas facilidades para manusearesses dados, trabalhando com as facilidades 
SQL (Structured Query Language) já 
existentes.
AOC - Prof. Rafael Aula 13 - 52
Resumo dos Modelos de Dados
� Modelo Hierárquico
◦ VANTAGENS:
� Simplicidade na construção e implementação;
� Tem melhor correspondência com domínios naturais 
hierarquicamente organizados, como empresas, 
indústrias, etc.
◦ DESVANTAGENS:
� Dificuldade na representação de relacionamentos N:M 
para entidades;
� Natureza de navegação e de procedimento do 
processamento;
� Escopo pequeno para otimização de consultas;
� Independência lógica reduzida.
AOC - Prof. Rafael Aula 13 - 53
Resumo dos Modelos de Dados
� Modelo em Rede
◦ VANTAGENS:
� Modelar relacionamentos relacionamento M:N;
� Estrutura simétrica do sistema;
� Os programadores podem fazer navegação otimizada 
através do banco de dados. 
◦ DESVANTAGENS:
� Ausência de independência em relação às estratégias de 
acesso;
� Escopo pequeno para otimização de consultas 
automatizadas;
� Usuário deve “navegar” na rede constituída pelos 
registros e cadeias de ponteiros.
AOC - Prof. Rafael Aula 13 - 54
Resumo dos Modelos de Dados
� Modelo Relacional
◦ VANTAGENS:
� Visão múltipla dos dados;
� Facilidade na extração de dados para relatórios e 
consultas específicas do usuário;
� Maior segurança no acesso aos dados;
� Maior agilidade para consulta/atualização;
� Restrições de integridade (integridade, referencial, etc).
◦ DESVANTAGENS:
� Complexidade para criação;
� Dificuldade em alterar a estrutura do banco de dados 
sem afetar os programas aplicativos que interagem com 
ele;
AOC - Prof. Rafael Aula 13 - 55
Esquemas, Instâncias e Estado do 
Banco de Dados
� Esquema do Banco de Dados
◦ É a descrição do banco de dados. Esta é definida 
durante o projeto e não se espera que seja 
alterado frequentemente. 
◦ Descrição da Estrutura / Restrições.
� Instância do Banco de Dados
◦ São os dados efetivamente armazenados no 
banco de dados. Também chamados de estado 
do banco ou instantâneo (snapshot).
AOC - Prof. Rafael Aula 13 - 56
Esquemas, Instâncias e Estado do 
Banco de Dados
� Estado do Banco de Dados
◦ Dados armazenados (conteúdo) no banco de 
dados em um determinado momento.
� Estado Inicial do Banco de Dados
◦ Quando o banco de dados for populado ou 
carregado com os dados iniciais.
� Estado Válido do Banco de Dados
◦ Estado do banco de dados que satisfaz a 
estrutura e as restrições definidas no esquema. 
AOC - Prof. Rafael Aula 13 - 57
Arquitetura de Três-Esquemas 
(Three-Schema)
� Esta arquitetura tem como objetivo 
separar o usuário da aplicação do banco 
de dados físico.
� É uma ferramenta conveniente com a 
qual o usuário pode visualizar os níveis do 
esquema em um sistema de banco de 
dados. 
AOC - Prof. Rafael Aula 13 - 58
Arquitetura de Três-Esquemas 
(Three-Schema)
� Nível Interno
◦ Descreve a estrutura de armazenamento físico do banco 
de dados.
◦ Descreve os detalhes complexos do armazenamento de 
dados e caminhos de acesso ao banco de dados.
◦ Utiliza um modelo de dado físico.
� Nível Conceitual
◦ Descreve a estrutura de todo o banco de dados para a 
comunidade de usuários.
◦ Oculta os detalhes das estruturas de armazenamento 
físico e se concentra na descrição de entidades, tipos de 
dados, conexões, operações de usuários e restrições.
◦ Utiliza um modelo de dados representacional.
AOC - Prof. Rafael Aula 13 - 59
Arquitetura de Três-Esquemas 
(Three-Schema)
�Nível Externo
◦ Descreve a parte do banco de dados que um 
dado grupo de usuários tem interesse e 
oculta o restante do banco de dados desse 
grupo.
◦ Utiliza o mesmo modelo de dados 
representacional que o nível conceitual.
AOC - Prof. Rafael Aula 13 - 60
Arquitetura de Três-Esquemas 
(Three-Schema)
AOC - Prof. Rafael Aula 13 - 61
Independência de Dados
� Pode ser definido como a capacidade de 
mudar o esquema em um nível do sistema 
de banco de dados sem que ocorram 
alterações do esquema no próximo nível 
mais alto. 
AOC - Prof. Rafael Aula 13 - 62
Independência de Dados
� Independência lógica de dados: 
◦ É a capacidade de alterar o esquema 
conceitual sem mudar o esquema externo ou 
os programas. 
◦ Podemos modificar o esquema conceitual 
para expandir o banco de dados (adicionando 
um tipo de registro ou item de dados), variar 
as restrições ou reduzir o banco de dados 
(removendo um tipo de registro ou item de 
dados).
AOC - Prof. Rafael Aula 13 - 63
Independência de Dados
� Independência física de dados: 
◦ Refere-se à capacidade de mudar o esquema 
interno sem ter de alterar o esquema conceitual. 
Consequentemente, o esquema externo também 
não precisa ser modificado. 
◦ As mudanças no esquema interno podem ser 
necessárias para que alguns arquivos físicos 
possam ser reorganizados — por exemplo, pela 
criação de estruturas de acesso adicionais —
para aperfeiçoar o desempenho da recuperação 
ou atualização de dados. 
AOC - Prof. Rafael Aula 13 - 64
Independência de Dados
� A independência de dados ocorre porque quando o 
esquema é alterado em algum nível, o esquema no próximo 
nível acima permanece sem mudanças; apenas o mapeamento 
entre os dois níveis é modificado. Por isso, os programas que 
se referem ao esquema do nível mais alto não precisam ser 
alterados. 
� A arquitetura de três-esquemas pode tornar mais fácil a 
independência de dados, tanto física quanto lógica. 
Entretanto, os dois níveis de mapeamentos criam uma 
sobrecarga (overhead) durante a compilação ou a execução 
de uma consulta ou de um programa, provocando 
ineficiências no SGBD. 
� Por causa disso, poucos SGBDs têm implementadas toda a 
arquitetura de três-esquemas.
AOC - Prof. Rafael Aula 13 - 65
Linguagens de SGBD
� Linguagem de definição de dados
◦ Data Definition Language (DDL) é usada pelo Database
Administrator (DBA) e pelos projetistas do banco de 
dados para definir ambos os esquemas
◦ O SGBD terá um compilador DDL cuja função é 
processar os comandos DDL a fim de identificar os 
construtores e para armazenar a descrição do esquema no 
catálogo do SGBD.
� Linguagem de definição de armazenamento
◦ Storage Definition Language (SDL) é utilizada para 
especificar o esquema interno.
◦ Os mapeamentos entre os dois esquemas podem ser 
estabelecidos em qualquer uma dessas linguagens. 
AOC - Prof. Rafael Aula 13 - 66
Linguagens de SGBD
� Linguagem de definição de visões
◦ View Definition Language (VDL) é usada para especificar 
as visões dos usuários e os seus mapeamentos para o 
esquema conceitual.
◦ Mas na maioria dos SGBDs, a DDL é usada para definir 
ambos os esquemas, o conceitual e o externo.
� Linguagem de manipulação de dados
◦ Assim que o banco de dados estiver compilado e 
populado com os dados, os usuários devem ter alguns 
meios para manipular esse banco. 
◦ Data Manipulation Language (DML) é uma série de 
operações que o SGBD fornece.
◦ As manipulações típicas são a recuperação, inserção, 
remoção e modificação dos dados. 
AOC - Prof. Rafael Aula 13 - 67
Arquiteturas para o SGBD
� Arquitetura SGBD Centralizada
◦ Inicialmente, os usuários acessavam o sistema via 
terminais de computador que não tinham poder de 
processamento e apenas ofereciam possibilidade de 
exibição.
◦ Então, o SGBD ainda era um SGBD centralizado, no 
qual as funcionalidades, execuções de programas e 
processamento das interfaces com o usuário eram 
executados em uma única máquina.
◦ Ou seja, nessa arquitetura um único sistema centraliza 
todo processamento, incluindo o SGBD, programas 
aplicativos e de interfaces de usuários.
AOC - Prof. Rafael Aula 13 - 68
Arquiteturas para o SGBD
� Arquitetura SGBD Cliente-Servidor◦ Foi desenvolvida para trabalhar com ambientes 
computacionais, nos quais um grande número de 
PCs, estações de trabalho, servidores de arquivo, 
impressoras, servidores de banco de dados, 
servidores Web e outros equipamentos estão 
conectados via rede. 
◦ A ideia é definir os servidores especializados com 
funcionalidades específicas:
� Servidor de arquivos;
� Servidor de SGDB;
� Servidor de impressão.
AOC - Prof. Rafael Aula 13 - 69
Arquiteturas para o SGBD
� Arquitetura SGBD Cliente-Servidor
◦ Cliente:
� Um cliente, nessa estrutura, é em geral uma máquina de 
usuário que tem as funcionalidades de interface com o 
usuário e processamento local. 
� Quando um cliente precisa de uma funcionalidade 
adicional, como acesso ao banco de dados, inexistente 
naquela máquina, ela se conecta a um servidor que 
disponibiliza a funcionalidade.
� Esses clientes podem ser estações de trabalho, sempre 
conectados ao servidor via rede.
AOC - Prof. Rafael Aula 13 - 70
Arquiteturas para o SGBD
� Arquitetura SGBD Cliente-Servidor
◦ Servidor:
� É uma máquina que pode fornecer serviços para as 
máquinas clientes, como acesso a arquivos, 
impressão, arquivamento ou acesso a um banco de 
dados.
� Geralmente possuem instalados nela apenas o 
software servidor.
� Também chamados de servidores de consulta ou 
servidores de transação.
AOC - Prof. Rafael Aula 13 - 71
Arquiteturas Cliente-Servidor de 
Duas Camadas para o SGBD
� Programas de Interface com o Usuário e os Programas de 
Aplicação rodam do lado do cliente.
� A consulta e as funcionalidades de transação permanecem do 
lado do servidor.
� Nessa arquitetura, o servidor geralmente é chamado 
servidor de consulta ou servidor de transação, porque 
fornece essas duas funcionalidades.
� Uma interface chamada ODBC (Open Database
Connectivity) fornece uma API (Application Program
Interface) que permite que programas do lado do cliente 
comuniquem-se com o SGBD.
AOC - Prof. Rafael Aula 13 - 72
Arquiteturas Cliente-Servidor de 
Duas Camadas para o SGBD
� O programa cliente pode, na verdade, conectar-se a vários SGBD’s.
� Ele pode enviar pedidos de consultas e transações usando o 
ODBC API, que são, então, processados no servidor. Os resultados 
da consulta são enviados de volta para o programa do cliente, que 
pode processá-los ou exibi-los conforme a necessidade.
� Além disso, o cliente pode executar:
◦ a interface do usuário;
◦ as funções de dicionário de dados; 
◦ as interações do SGBD com os compiladores das linguagens de 
programação; 
◦ a otimização global de consultas, controle de concorrência e a 
recuperação por múltiplos servidores; 
� O servidor pode também ser chamado de servidor de dados.
AOC - Prof. Rafael Aula 13 - 73
Arquiteturas Cliente-Servidor de 
Três Camadas para o SGBD
� Comum em aplicações para Web.
� Possui uma camada intermediária entre o cliente e o 
servidor de banco de dados, chamada de servidor de 
aplicações ou servidor Web:
◦ armazena as regras de negócio (procedimentos ou 
restrições) que são usadas para acessar os dados do servidor 
de banco de dados. Pode incrementar a segurança do banco 
de dados checando as credenciais do cliente antes de enviar 
uma solicitação ao servidor de banco de dados. 
◦ o servidor intermediário aceita as solicitações do cliente, 
processa-as e envia comandos de banco de dados ao 
servidor de banco de dados, depois passa (parcialmente) os 
dados processados do servidor de banco de dados para os 
clientes.
AOC - Prof. Rafael Aula 13 - 74
Classificação dos SGBD’s
� Classificação de acordo com o modelo de 
dados no qual o SGBD é baseado:
◦ Tradicional: Relacional, em Rede, Hierárquico.
◦ Emergente: Orientado a Objetos, Objeto-
relacional. 
AOC - Prof. Rafael Aula 13 - 75
Classificação dos SGBD’s
� Classificação de acordo com o número de 
usuários suportado pelo sistema:
◦ Mono-usuários: suportam apenas um usuário 
por vez e são mais usados em computadores 
pessoais.
◦ Multi-usuários: auxiliam múltiplos usuários 
simultaneamente. Incluem a maioria dos 
SGBD’s.
AOC - Prof. Rafael Aula 13 - 76
Classificação dos SGBD’s
� Classificação de acordo com o número de sites
pelos quais o banco de dados está distribuído: 
◦ Centralizado: um SGBD é centralizado se o dado for 
armazenado em um único site. Um SGBD 
centralizado pode suportar múltiplos usuários, mas o 
SGBD e o banco de dados estão alocados em um 
único site.
◦ Distribuído: Um SGBD distribuído (SGBDD) pode ter 
o banco de dados e o software do SGBD distribuídos 
em vários sites conectados pela rede. Os SGBDDs
homogêneos usam o mesmo software de SGBD em 
todos os sites. 
AOC - Prof. Rafael Aula 13 - 77
Exercícios
� 01 – Qual a diferença entre dados, banco de dados, SGBD e sistema de banco de 
dados?
� 02 – Qual a diferença entre usuários de banco de dados “atores de palco” e 
“trabalhadores dos bastidores”?
� 03 – Quais as vantagens de utilização do banco de dados?
� 04 – Quais as diferenças entre todos os “atores de palco” no uso de banco de 
dados?
� 06 – Defina entidade, atributo e relacionamento.
� 07 – Quais as categorias dos modelos de dados? Explique.
� 08 – Qual a diferença entre Esquemas de Bancos de Dados e Instâncias de Bancos 
de Dados?
� 09 – Quais os três estados do banco de dados? Explique cada um deles.
� 10 – Diferencie arquitetura centralizada de arquitetura cliente-servidor.
AOC - Prof. Rafael Aula 13 - 78

Outros materiais