Vous êtes sur la page 1sur 38

Curso Superior de Banco de Dados

Disciplina: Arquitetura e Modelagem de Banco de Dados

Prof. Emanuel Mineda Carneiro


emanuel.mineda@fatec.sp.gov.br
São José dos Campos - SP
Roteiro
• Sistema Gerenciador de Banco de Dados (SGBD)
• Componentes de um SGBD
• Sistema de Banco de Dados
• Arquiteturas de Sistemas de Banco de Dados
• Histórico

Banco de Dados – Prof. Emanuel 2/38


Sistema Gerenciador de
Banco de Dados (SGBD)

Banco de Dados – Prof. Emanuel 3/44


Sistema Gerenciador de Banco de
Dados (SGBD)
• Criado em resposta às dificuldades Sistema de Banco de Dados
encontradas nos sistemas de arquivos, citadas
anteriormente, entre outras
• Possui um sistema de arquivos
• Fornece uma interface padrão para acesso aos Aplicativos SGBD
Dados
(arquivos)
dados
• É um sistema de software de propósito geral
(uma coleção de programas aplicativos) que
facilita os processos de definição, construção,
manipulação e compartilhamento de BDs entre O acesso/gerenciamento aos/dos dados
vários usuários e aplicações é feito pelo SGBD. O SGBD funciona
como uma interface entre o BD e os
• Isola os usuários dos detalhes mais internos do programas aplicativos.
BD (abstração de dados)
• Alguns aspectos do BD podem ser alterados
sem que os programas aplicativos necessitem
de alteração (independência de dados)

Banco de Dados – Prof. Emanuel 4/38


SGBD - Vantagens
• Redução do esforço humano (desenvolvimento e utilização)
• Redução de redundância e de inconsistência de informações
• Compartilhamento de dados
• Aplicação automática de restrições de segurança
• Redução de problemas de integridade
• Controle de concorrência (acesso simultâneo)
• Backup e restauração de dados

Banco de Dados – Prof. Emanuel 5/38


Classificação dos SGBDs
• Quanto ao modelo lógico de dados adotado:
• Hierárquicos
• De rede
• Relacionais
• Orientados a objetos
• Objeto-relacionais
• Quanto ao número de usuários suportados:
• Monousuários: apenas um usuário
• Exemplo: Bancos de Dados usados em aplicativos de smartphones
• Multiusuários: vário usuários
• Quanto à localização dos dados:
• Centralizados: dados mantidos em uma única localidade física
• Distribuídos: dados distribuídos entre várias localidades físicas, de forma
transparente ao/s usuário/s (para o usuário é como se estivesse
acessando um banco de dados único)

Banco de Dados – Prof. Emanuel 6/38


Modelo Hierárquico
• Dados são representados por registros e a relação entre registros
ocorre por meio de links (ponteiros)
• Apresenta uma estrutura em árvore
• Cada registro possui apenas um registro pai e pode possuir
ilimitados registros filhos
• Caso um registro necessite de múltiplos registros pais, cópias do
registro são criadas e associadas a cada registro pai. Em geral, esta
redundância é controlada
• Não aceita ciclos
• Utilizado para dados que possuem estrutura hierárquica
• Não possuía um padrão ao desenvolvimento de BD
• Não possui um recurso de consulta ad hoc

Banco de Dados – Prof. Emanuel 7/38


Exemplo de um BD Hierárquico

Departamento
21 Pessoal 142 25 Financeiro 143

Não suporta ciclos

Empregado
032 J Silva 380 112 R Pinto 390 032 J Silva 380 074 M Reis 400 092 R Silva 480

Redundância
Modelo de Rede
• Semelhante ao modelo hierárquico, mas não existem limitações
na forma como os dados se relacionam (não existe hierarquia)
• Impôs um padrão ao desenvolvimento de BD
• Aumento de portabilidade
• Não possui um recurso de consulta ad hoc

Banco de Dados – Prof. Emanuel 9/38


Exemplo de um BD de Rede
Empregado
032 J Silva 380
Departamento
074 M Reis 400
21 Pessoal 142

089 C Melo 520

25 Financeiro 143 092 R Silva 480

112 R Pinto 390

28 Técnico 144 121 V Simão 905

130 J Neves 640


Modelo Relacional
• Os dados são armazenados em tabelas que possuem colunas e
linhas
• Todos os dados de uma mesma coluna apresentam o mesmo
formato e referenciam o mesmo conceito. Uma tabela não pode
possuir colunas com nomes idênticos
• Exemplos de colunas: Cidade, CEP, Nome, etc
• Os dados de uma linha representam um registro, um
relacionamento entre um conjunto de valores. Cada registro deve
possuir um identificador que o torna único na tabela
• Um registro pode referenciar outros registros (de outras tabelas,
inclusive) por meio do identificador único do registro alvo.
• Possui um recurso de consulta ad hoc

Banco de Dados – Prof. Emanuel 11/38


Exemplo de um BD Relacional
Empregado NumEmp NomeEmp Salário Dept
032 J Silva 380 21
074 M Reis 400 25
089 C Melo 520 28
092 R Silva 480 25
112 R Pinto 390 21
121 V Simão 905 28
130 J Neves 640 28

Departamento NumDept NomeDept Ramal


21 Pessoal 142
25 Financeiro 143
28 Técnico 144
Modelo Orientado a Objeto (OO)
• Baseado no paradigma de programação orientada a objetos
• Possui os mesmos elementos: classes, objetos, herança, etc

Banco de Dados – Prof. Emanuel 13/38


Exemplo de um BD OO
Pessoa
-nome: String
-dataNascimento: Date
+calcularIdade(): Integer

PessoaFisica PessoaJuridica
-cpf: String -cnpj: String

Banco de Dados – Prof. Emanuel 14/38


Modelo Objeto-Relacional
• Um extensão do modelo relacional, com a inclusão de
características de orientação a objeto (tipos complexos, herança,
etc)
• A estrutura se mantém a mesma, baseada em tabelas

Banco de Dados – Prof. Emanuel 15/38


Utilitários de um SGBD
• Carregamento (loading) : carrega arquivos e dados existentes
dentro do banco de dados. Útil para transferência de dados entre
SGBDs ou entre SGBDs e outros sistemas (são ferramentas de
conversão).
• Backup: cria uma cópia do banco de dados, geralmente
descarregando (dumping) todo o banco de dados em uma
unidade de armazenamento (fita, por exemplo). Também
possibilita o backup incremental (somente do que mudou).
• Reorganização de arquivos: reorganiza os arquivos do banco de
dados em uma nova forma buscando melhorar seu desempenho.
• Monitoramento de desempenho: monitora o uso do BD e
fornece estatísticas para o DBA, que pode tomar decisões para
melhorar o desempenho.

Banco de Dados – Prof. Emanuel 16/38


Componentes de um
SGBD

Banco de Dados – Prof. Emanuel 17/44


Componentes

Fonte: SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN (2006)


Banco de Dados – Prof. Emanuel 18/38
Componentes

Fonte: SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN (2006)


Banco de Dados – Prof. Emanuel 19/38
Componentes
• Processador de consulta:
• Interpretador de DDL – Interpreta as instruções DDL e registra as
definições no dicionário de dados
• Compilador de DML – Traduz instruções DML em uma linguagem de
consulta para um plano de avaliação (instruções de baixo nível)
• Uma consulta pode ser traduzida em qualquer um de vários planos de
avaliação que produzem o mesmo resultado. O compilador DML realiza
também a otimização de consulta, que consistem em escolher o plano
de avaliação de menor custo dentre as alternativas
• Mecanismo de avaliação de consulta – Executa instruções de baixo
nível geradas pelo compilador de DML

Banco de Dados – Prof. Emanuel 20/38


Componentes
• Gerenciador de armazenamento:
• Gerenciador de autorização e integridade – Testa a satisfação das
restrições de integridade e verifica a autoridade dos usuários para
acessar dados
• Gerenciador de transação – Garante que o BD permaneça em um
estado consistente (correto), apesar de falhas do sistema, e que a
execução de transações concorrentes sejam efetuadas sem conflito
• Gerenciador de arquivos – Controla a alocação de espaço no
armazenamento de disco e as estruturas de dados usadas para
representar informações armazenadas no disco
• Gerenciador de buffer – Responsável por buscar dados do
armazenamento de disco para a memória principal e decidir que
dados colocar em cache na memória principal. Permite manipular
uma quantidade de dados superior à memória principal.

Banco de Dados – Prof. Emanuel 21/38


Transação
• “Uma transação é uma coleção de operações que desempenha
uma função única dentro de uma aplicação dos sistema de banco
de dados” (Silberschatz, Korth e Sudarshan, 2006)
• Exemplo: Uma transação bancária de transferência de valores é
composta por duas operações: uma de retirada de um valor de
uma conta e outra de acréscimo do mesmo valor em outra. Se
uma das operações falhar, tudo deve ser desfeito.

Retira valor de uma conta A


Transação
Acrescenta valor em conta B

Banco de Dados – Prof. Emanuel 22/38


ACID
• Uma transação deve possuir as propriedades ACID:
• Atomicidade:
• Todas as operações de uma transação são executadas, ou nenhuma é
executada
• Consistência:
• Após a execução de uma transação a consistência do banco permanece
inalterada
• Isolamento:
• Transações não interferem entre si
• Durabilidade:
• Os dados persistem, até que uma operação os altere

Banco de Dados – Prof. Emanuel 23/38


Log
• A forma mais utilizada para gravar informações sobre as modificações
realizadas no BD é o log (diário)
• Tipos:
• Início de transação - <Ti, start> - Indica o início da transação Ti
• Modificação - <Ti, Xj, V1, V2> - Indica que, na transação Ti, o valor do item de
dado Xj foi alterado de V1 para V2
• Efetivação de transação - <Ti, commit> - Indica a efetivação da transação Ti
• Cancelamento de transação - <Ti, abort> - Indica o cancelamento da transação
Ti
• O registro de log deve ser armazenado antes do BD ser modificado pela
transação associada
• O log pode ser utilizados para recuperação do BD, após falhas
(problemas de disco, de sistema operacional, etc)
• O log pode ser utilizado tanto para desfazer (undo), quanto para refazer
(redo) uma transação

Banco de Dados – Prof. Emanuel 24/38


Processo de
Desenvolvimento de BD

Banco de Dados – Prof. Emanuel 25/44


Processo de Desenvolvimento
Requisitos de Informações de Negócios

Diagrama de
Modelagem Conceitual
Analisar Relacionamento
De Dados
de Entidades
Definições de Tabela
Design de
Projetar Índice, Exibição,
Banco de Dados
Cluster

Criação do
Criar
Banco de Dados

Banco de Dados Operacional

Banco de Dados – Prof. Emanuel 26/38


Sistema de Banco de
Dados

Banco de Dados – Prof. Emanuel 27/44


Sistema de Banco de Dados
• Sistema de BD = Hardware + Software + Pessoas + Procedimentos
+ Dados (ROB; CORONEL, 2011)

Banco de Dados – Prof. Emanuel 28/38


Sistema de Banco de Dados

Fonte: ROB; CORONEL, 2011

Banco de Dados – Prof. Emanuel 29/38


Histórico

Banco de Dados – Prof. Emanuel 30/44


Histórico
• Década de 50
• Programas de aplicação para armazenar e recuperar dados
• Pacotes de rotinas

Banco de Dados – Prof. Emanuel 31/38


Histórico
• Década de 60
• Projeto Apollo: Banco de Dados Modelo Hierárquico
• 1961: Primeiro SGBD Hierárquico, o IMS (Information Management
System)
• 1964: IBM, em conjunto com a Rockwell, desenvolveu o GUAM
(Generalized Updated Access Method)
• 1968: Estabelecimento do DBTG (Data Base Task Group). Banco de Dados
Modelo Rede

Margaret Hamilton
Banco de Dados – Prof. Emanuel 32/38
Histórico
• Década de 70
• 1970: E. F. CODD, um pesquisador da IBM, propôs um enfoque de
Administração de Banco de Dados baseado na Teoria Matemática dos
Conjuntos e das Relações, que passou a ser chamado de Banco de Dados
Modelo Relacional

Banco de Dados – Prof. Emanuel 33/38


Histórico
• Década de 80
• 1985: Surgimento do termo SGBD Orientado a Objetos (SGBDOO)

Banco de Dados – Prof. Emanuel 34/38


Histórico
• Década de 90
• Início da década: primeiros SGBDOO
• 1998 e 1999: Busca de uma solução única para o problema de
gerenciamento de BD, estendendo o Modelo de Dados Relacional, para o
Modelo de Dados Objeto-Relacional
• 1998: Carlo Strozzi nomeia seu Banco de Dados Modelo Relacional open-
source, que não oferecia uma interface SQL, como NoSQL

Banco de Dados – Prof. Emanuel 35/38


Histórico
• Década de 2000
• 2009: Eric Evan reintroduz o termo NoSQL (Not only SQL), associando-o a
bancos de dados não-relacionais que não se preocupam em garantir as
propriedades ACID

Banco de Dados – Prof. Emanuel 36/38


Bibliografia
• ELMASRI, R.; NAVATHE, S. B. Sistemas de Banco de Dados:
Fundamentos e Aplicações. Pearson, 2005.
• HARRINGTON, J. L. Projeto de Bancos de Dados Relacionais –
Teoria e Prática. 1.ed. Campus, 2002.
• SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S. Sistema de
Banco de Dados. Campus, 2006.
• ROB, P.; CORONEL, C. Sistemas de Banco de Dados: Projeto,
Implementação e Gerenciamento. Cengage Learning, 2011.
• DATE, C. J. Introdução a Sistema de Banco de Dados. Campus,
2012

Banco de Dados – Prof. Emanuel 37/38


Dúvidas?

Banco de Dados – Prof. Emanuel 38/38

Vous aimerez peut-être aussi