Um SGBD é um sistema que gerencia grandes quantidades de dados inter-relacionados, fornecendo mecanismos para armazenar, manipular e recuperar essas informações de forma eficiente e consistente. Os principais objetivos de um SGBD são fornecer uma visão abstrata e independente dos dados aos usuários e aplicativos, além de garantir a integridade e consistência das informações mesmo quando acessadas simultaneamente por múltiplos usuários.
1. Técnico em Informática
Organização de Computadores
Aula 4 – Sistemas Gerenciadores de Banco de Dados
Prof. Vitor Hugo Melo Araújo
2. SGBD
Um SGBD (Sistema Gerenciador de Banco de Dados)
consiste em uma coleção de dados inter-relacionados
e em um conjunto de programas para acessá-los.
SGBDs são projetados para gerenciar grandes grupos
de informações
3. SGBD
O gerenciamento envolve:
A definição de estruturas para o armazenamento
da informação
O Fornecimento de mecanismos para manipular
as informações
Quando vários usuários acessam os dados o SGBD
precisa garantir a INTEGRIDADE dos dados, evitando
resultados anômalos.
4. OBJETIVOS DE UM SGBD
Isolar os usuários dos detalhes mais internos do banco
de dados (abstração de dados)
Prover independência de dados às aplicações
(estrutura física de armazenamento e à estratégica de
acesso)
5. OBJETIVOS DE UM SGBD
Vantagens
Rapidez na manipulação e no acesso à informação
Redução no esforço humano (desenvolvimento e
utilização)
Redução da redundância e da inconsistência de
informações
Redução de problemas de integridade
Compartilhamento de dados
Aplicação automática de restrições de segurança
Controle integrado de informações distribuídas
fisicamente
6. OBJETIVOS DE UM SGBD
O grande objetivo de um SGBD é prover aos usuários
uma visão ABSTRATA dos dados
O sistema omite certos detalhes de como os
dados são armazenados e mantidos
Mas oferece mecanismos eficientes para BUSCA
e ARMAZENAMENTO
7. ARQUITETURA GERAL DE UM SGBD
Interface
Processamento
de Consultas
Processamento
de Transações
Acesso a
Arquivos
Modelagem de
Dados (“projeto
estrutural”)
Base de Dados
SGBD
8. ABSTAÇÃO DE DADOS
Mundo Real
Modelo
Conceitual
(modelo abstrato dos
dados)
Sistema Médico
Independente do
modelo de dados
Independente do
SGBD
Modelo Lógico
(estrutura dos dados)
Dependente do
modelo de dados
Independente do
SGBD
Médico Consulta Paciente
CRM nome
Relacional Orientado a
Objetos
Objeto-relacional
Modelo Físico
Dependente do
modelo de dados
Dependente do SGBD
Organisação física dos dados
Estruturas de armazenamento de dados
Índices de acesso
Médico (CRM, Nome)
9. EXERCÍCIOS
1. Qual o objetivo da modelagem de um banco de
dados?
2. Quais as etapas de um Projeto de Desenvolvimento de
um Sistema de Banco de Dados? O que é feito em cada
uma dessas etapas?
3. O que são modelos de dados?
4. Qual a diferença entre os modelos orientados a
registro e os modelos orientados a objetos? Cite
exemplos de cada um deles.
10. FUNÇÕES DE UM SGBD
Instâncias e Esquemas
Os bancos de dados mudam a medida que
informações são inseridas ou apagadas
A coleção de informações armazenadas é
chamada de INSTÂNCIA do bando de dados
(mudam com frequência)
O projeto geral do bando de dados é chamado
ESQUEMA do banco de dados (não mudam com
frequência)
11. INDEPENDÊNCIA DOS DADOS
O uso de banco de dados permite modificar o
ESQUEMA dos dados em um nível sem afetar a
definição do esquema em um nível mais alto. Isto é
chamado de INDEPENDÊNCIA DOS DADOS.
Projeto Conceitual
Projeto Lógico
Projeto Físico
Níveis
De
Abstração
Minimundo
esquema
instâncias
12. INDEPENDÊNCIA DOS DADOS
Existem 2 tipos de Independência
Independência física de dados: Habilidade de
modificar o esquema físico sem a necessidade
de reescrever os programas aplicativos
Estas modificações são necessárias para melhorar o
desempenho
Independência lógica de dados: Habilidade de
modificar o esquema conceitual sem a
necessidade de reescrever os programas
aplicativos
Estas modificações são necessárias quando a estrutura
lógica é alterada. EX: Adição de um novo atributo
13. INDEPENDÊNCIA DOS DADOS
A independência lógica dos dados é a mais difícil de
ser alcançada do que a independência física, pois os
programas são bastante dependentes da estrutura
lógica dos dados que eles acessam.
14. USUÁRIOS DO BANDO DE DADOS
Programadores de Aplicativos:
São os usuários que escrevem os programas de
aplicação através da DML (Linguagem de Manipulação
de Dados) EX: Um sistema bancário são programas que
geram cheques, fazem débito e crédito em contas,
transferem fundos entre contas
Usuários de alto nível:
Interagem com o sistema sem escrever programas
Formulam consultas em uma linguagem de consulta, e
cada consulta é submetida a um processador de
consulta, cuja função é gerar um comando da DML
15. USUÁRIOS DO BANDO DE DADOS
Usuários especializados (especialistas)
Escrevem aplicativos especializados como sistemas
especialistas
Usuário ingênuos
Interagem com o sistema invocando os programas
aplicativos. EX: um cliente do banco invocaria um
programa para efetuar a transferência de R$50,00 da
conta A para a conta B
16. USUÁRIOS DO BANDO DE DADOS
Administrador do banco de dados:
Tem o controle central dos dados e dos programas de
acesso aos dados
17. USUÁRIOS DO BANDO DE DADOS
Funções do Administrador do banco de dados:
Definição do esquema
Definição de estruturas de armazenamento e métodos
de acesso
Modificação de esquemas e de organização física
Concessão de autorização para acesso aos dados
Especificação de restrições de integridade
18. ESTRUTURA GERAL DO SGBD
Gerenciados de arquvos
Gerenciador do banco de dados
Processador de Consultas
Pré-compilador da DML
Compilador da DDL (Linguagem de Definição de
Dados)
Arquivos de dados
Dicionário de dados
Índices
20. ARQUITETURA DO SGBD
Quanto a arquitetura o SGBD pode ser classificados
dentre quatro tipos:
Arquitetura Stand-Alone (Sistema de Computador
Pessoal)
Arquitetura Centralizada
Arquitetura Cliente-Servidor
Arquitetura Distribuída
21. ARQUITETURA STAND-ALONE
Os computadores pessoais trabalham em sistema
stand-alone, ou seja, fazem seus processamentos
sozinhos.
O SGBD roda na própria máquina.
No começo esse procedimento era bastante limitado,
porém, com a evolução do hardware, tem-se PCs com
grande capacidade de processamento
Eles funcionam como hospedeiro e terminais.
Desta maneira, possuem um único aplicativo a ser
executado na máquina
A principal vantagem desta arquitetura é a
simplicidade.
23. ARQUITETURA CENTRALIZADA
Nessa arquitetura existe um computador com grande
capacidade de processamento, o qual é o hospedeiro
do SGBD e emuladores para os vários aplicativos.
Esta arquitetura tem como principal vantagem a de
permitir que muitos usuários manipulem grande
volume de dados.
Sua principal desvantagem esta no seu alto custo, pois
exige ambiente especial para mainframes e soluções
centralizadas.
25. ARQUITETURA CLIENTE-SERVIDOR
Nesse tipo de arquitetura o cliente (front end) executa
as tarefas do aplicativo, ou seja, fornece a interface do
usuário (tela, e processamento de entrada e saída)
O servidor (back end) executa as consultas no SGBD e
retorna os resultados ao cliente.
Apesar de ser uma arquitetura bastante popular, são
necessárias soluções sofisticadas de software que
possibilitem:
o tratamento de transações, as confirmações de
transações (commits), desfazer transações (rollbacks),
linguagens de consultas (stored procedures) e gatilhos
(triggers)
26. ARQUITETURA CLIENTE-SERVIDOR
O servidor do bando de dados faz a verdadeira
operação de busca e retorna somente os dados que
preencham corretamente a consulta do usuário.
O sistema cliente servidor possui algumas vantagens
como em arquitetura distribuída; são rápidos, pois as
consultas são feitas em servidores de alta potência.
A maior desvantagem dessa arquitetura é que eles
exigem que os dados sejam armazenados num único
sistema
28. ARQUITETURA DISTRIBUÍDA
Nesta arquitetura, a informação está distribuída em
diversos servidores.
Cada servidor atua como no sistema cliente-servidor,
porém as consultas oriundas dos aplicativos são feitas
para qualquer servidor indistintamente.
Caso a informação solicitada seja mantida por outro
servidor ou servidores, o sistema encarrega-se de
obter a informação necessária, de maneira
transparente para o aplicativo, que passa a atuar
consultando a rede, independente de conhecer seus
servidores, tanto os dados como as funções de
processamento são distribuídos em diversos locais.
30. ARQUITETURA DISTRIBUÍDA
Nos sistemas distribuídos os dados podem estar replicados,
ou seja, eles se repetem em cada nó da rede, o que
aumenta a disponibilidade do banco, ou os dados podem
estar fragmentados, ou seja, divididos por vários nós da
rede, aumentando a velocidade pois permite
processamento paralelo.
Dentre as vantagens dos sistemas distribuídos estão o
menor risco de falhas, pois quando um nó falha, o trabalho
é mantido pelos outros nós da rede entre e outras
vantagens.
Como desvantagem essa arquitetura é mais complexa de
ser implementada, e é mais propensa a falhas de segurança
tendo em vista os dados estar espalhados em vários locais.
31. EXERCÍCIOS
1. O que é um SGBD, e qual sua principal função?
2. Umas das características de um SGBD é o gerenciamento
de transações. O que é uma transação no contexto de
banco de dados?
3. Explique cada uma das propriedades ACID do
gerenciamento de transações do SGBD.
a) Atomicidade:
b) Consistência:
c) Isolamento:
d) Durabilidade:
4. Quando um SGBD executa um rollback?
5. Explique com suas palavras cada uma das características
do SGBD.
6. Quais as principais arquitetura de SGBD? Aponte
vantagens e desvantagens de cada um deles.
32. Técnico em Informática
Organização de Computadores
Aula 4 – Sistemas Gerenciadores de Banco de Dados
Prof. Vitor Hugo Melo Araújo