3. QUEM SÃO OS USUÁRIOS DE UM SGBD?
3
Data Administrator
Database
Administrator
Database Designer
Programadores
Usuários
finais
4. QUEM SÃO OS USUÁRIOS DE UM SGBD?
ADMINISTRADOR DE DADOS (DA - DATA ADMINISTRATOR)
❑ O grande objetivo do DA é permitir que vários usuários compartilhem
os dados corporativos.
❑ Deste modo, os dados não pertencem a nenhum sistema ou usuário
de forma específica, e sim, à organização como um todo.
❑ O DA se preocupa basicamente com a organização dos dados, e não
com o seu armazenamento propriamente dito.
4
5. QUEM SÃO OS USUÁRIOS DE UM SGBD?
ADMINISTRADOR DE DADOS (DA - DATA ADMINISTRATOR)
❑ As principais funções do DA são:
❑ Gerenciar o dado como um recurso da empresa.
❑ Planejar, desenvolver e divulgar as bases de dados da empresa.
❑ Permitir a descentralização dos processos, mas manter
centralizado os dados.
❑ Permitir, fácil e rápido acesso às informações a partir dos dados
armazenados.
5
7. QUEM SÃO OS USUÁRIOS DE UM SGBD?
ADMINISTRADOR DE BD (DBA - DATABASE ADMINISTRATOR)
❑ Em qualquer organização que compartilha muitos recursos
computacionais, existe a necessidade de um administrador para gerenciar
esses recursos.
❑ Em um ambiente de BD, o recurso primário é o próprio Banco de Dados e o
recurso secundário é o SGBD (e os recursos relacionados).
❑ O DBA é o responsável pela autorização de acesso ao BD e pela
coordenação e monitoração de seu uso.
7
8. QUEM SÃO OS USUÁRIOS DE UM SGBD?
ADMINISTRADOR DE BD (DBA - DATABASE ADMINISTRATOR)
❑ É a pessoa que, numa equipe de desenvolvimento, centraliza tanto o
controle dos dados quanto os programas de acesso a eles.
❑ As principais funções do DBA são:
❑ Definição do esquema do BD;
❑ Definição da estrutura de dados e métodos de acesso;
❑ Modificações no esquema ou na organização física;
❑ Controle das autorizações de acesso ao sistema;
❑ Especificação das regras de integridade.
8
10. QUEM SÃO OS USUÁRIOS DE UM SGBD?
PROJETISTA DE BANCO DE DADOS (DB DESIGNER)
❑ O DB Designer é responsável pela identificação dos dados que devem ser
armazenados no BD.
❑ Ele escolhe a estrutura mais adequada para representar e armazenar esses
dados.
❑ É função do DB Designer também avaliar as necessidades de cada grupo de
usuários.
❑ Muitas vezes, os projetistas de Banco de Dados atuam como “staff” do DBA,
assumindo outras responsabilidades após a construção do BD.
10
12. QUEM SÃO OS USUÁRIOS DE UM SGBD?
PROGRAMADORES DE APLICAÇÕES
❑ Interage indiretamente com o SGBD escrevendo aplicações que submetem
comandos de manipulação de dados.
❑ Desenvolve trabalhos de montagem, depuração e testes de programas,
executando serviços de manutenção nos programas já desenvolvidos.
❑ Executa a manutenção dos sistemas, fazendo eventuais correções
necessárias, visando atender às necessidades dos usuários.
12
14. QUEM SÃO OS USUÁRIOS DE UM SGBD?
Usuários Finais
❑ Existem basicamente quatro categorias de usuários de BD, que fazem operações mais
básicas nos SGBD, tais como consultas, atualizações e geração de documentos:
❑ Casuais: acessam o BD casualmente, mas que podem necessitar de diferentes informações a
cada acesso.
❑ Novatos ou Paramétricos: utilizam visões do BD, utilizando consultas preestabelecidas que já
foram exaustivamente testadas.
❑ Sofisticados: são usuários que estão familiarizados com o SGBD e realizam consultas mais
complexas;
❑ Especialistas: usuários sofisticados que chegam a escrever aplicações especializadas.
14
16. VANTAGENS
1. Controle de Redundância
No processamento tradicional de arquivos, cada grupo de usuários deve
manter seu próprio conjunto de arquivos e dados. Desta forma, acaba
ocorrendo redundâncias que prejudicam o sistema com problemas
como:
■ Falta de integridade dos dados
■ Redundância desnecessária
16
17. VANTAGENS
2. Compartilhamento de Dados
○ Um SGBD multiusuário deve permitir que múltiplos usuários acessem o banco de
dados ao mesmo tempo.
○ Este fator é essencial para que múltiplas aplicações integradas possam acessar o
banco.
3. Restrição a Acesso não Autorizado
○ Um SGBD deve fornecer um subsistema de autorização e segurança, o qual é utilizado
pelo DBA para criar “contas” e especificar as restrições destas contas
17
18. VANTAGENS
4. Representação de Relacionamentos Complexos entre Dados
○ Um banco de dados pode incluir uma variedade de dados que estão
inter-relacionados de várias formas.
○ Um SGBD deve fornecer recursos para se representar uma grande
variedade de relacionamentos entre os dados, bem como, recuperar e
atualizar os dados de maneira prática e eficiente.
5. Tolerância a Falhas
○ Um SGBD deve fornecer recursos para recuperação de falhas tanto de software
quanto de hardware.
18
20. Bancos de dados NÃO são sempre a
solução!!!
● Apesar das vantagens de utilização, a escolha por uma ambiente de banco de
dados tem um alto custo atrelado. A sua adoção deve, então, compensar ou ser
compatível com este custo.
● Sobrecustos vinculados:
○ Alto investimento inicial em software, pela aquisição do banco de dados e licenças, e
em hardware que suporte este ambiente.- Custo da generalidade do SGBD, ou seja, na
definição e no processamento dos dados.
○ “Overhead” de processamento. Neste ambiente, overhead significa tudo aquilo que o
SGBD tem que fazer além de gerenciar os dados. Isto envolve tarefas, tais como:
garantir segurança, controlar concorrência (utilização do mesmo dado por aplicações
e usuários distintos simultaneamente), recuperação de falhas e garantia de
integridade.
20
21. QUANDO NÃO USAR UM SGBD
● Em algumas situações, o uso de um SGBD pode
representar uma carga desnecessária aos custos
quando comparado à abordagem de
processamento tradicional de arquivos.
1. Volume de dados pequeno, aplicações simples, bem
definidas.
2. Mudanças não são esperadas.
3. Ambientes de sistemas que exigem resposta em tempo
real.
4. Acessos múltiplos e concorrentes não são necessários.
21
23. Características
Tudo que fazemos em um BD passa pelo SGBD!
Ele é responsável por:
❑ Salvar os dados no dispositivo físico,
❑ Manter em memória os dados mais acessados,
❑ Ligar dados e metadados,
❑ Disponibilizar uma interface para programas e usuários
externos acessem o BD,
❑ Encriptar dados,
❑ Controlar o acesso a informações,
❑ Manter cópias dos dados para recuperação de uma possível
falha,
❑ Garantir transações no banco de dados,
23
24. Características
O SGBD faz todo o gerenciamento de transações dos BD’s
contidos nele.
24
Uma transação consiste em um conjunto de operações que
são tratadas como uma unidade lógica indivisível.
25. Características
Por exemplo:
❑ Quando vamos fazer uma transferência bancária, são feitas no
mínimo duas operações:
1. a retirada do dinheiro da conta de quem está transferindo, e
2. o depósito na conta da pessoa que vai receber o valor transferido.
3. A operação de transferência é o conjunto dessas operações.
25
26. ❑ As transações realizadas pelo SGBD nos BD’s devem seguir
algumas propriedades fundamentais conhecidas como:
26
Características
27. ATOMICIDADE:
❑ Capacidade de uma transação ter todas as suas operações executadas ou
nenhuma delas.
É tudo ou nada.
❑ Caso a transação não aconteça totalmente o banco de dados executa um
rollback e retorna ao seu estado consistente anterior, caso todas a transação
aconteça é executado o commit;
CONSISTÊNCIA:
❑ A execução de uma transição deve levar o banco de dados de um estado
consistente a outro estado consistente.
27
Características
28. ISOLAMENTO:
❑ A propriedade de isolamento garante que a transação não será
interferida por nenhuma outra transação concorrente.
DURABILIDADE:
❑ A propriedade de durabilidade garante que o que foi salvo, não
será mais perdido. 28
Características
29. Outras Características
❑ Além da gerência de transações, o SGBD possui algumas
características que permitem controlar e acompanhar melhor os
dados armazenados.
As características básicas de um SGBD são:
29
30. ❑ A independência de dados é uma forma de gerenciamento de BD que
mantém os dados separados de todos os programas que os utilizam.
❑ Nenhum programa ou aplicativo pode fazer alterações nos dados em um
sistema de independência de dados.
❑ O gerenciamento de banco de dados é mais fácil com o uso de
independência de dados.
30
Independência de dados
31. ❑ A independência dos dados em relação a aplicação representa o
um avanço no sentido de tornar qualquer modificação das
estruturas dos arquivos imperceptível para os programas.
❑ Desta forma, as mudanças na organização dos dados não gera
qualquer necessidade de alteração dos programas que o
manipulam.
Exemplo:
Inclusão de um novo campo (atributo) em um arquivo (tabela) é
feita sem que sejam alterados os programas, pois nos programas
não estão definidos as estruturas dos arquivos.“
31
Independência de dados
32. ► INDEPENDÊNCIA LÓGICA:
► é a capacidade de alterar o esquema conceitual sem a necessidade de reescrever
os programas aplicativos.
► As modificações no nível conceitual são necessárias quando a estrutura lógica do
banco de dados é alterada (por exemplo, a adição de contas de bolsas de
mercado num sistema bancário)
► INDEPENDÊNCIA FÍSICA:
► É a capacidade de alterar o esquema interno (organização ou procedimentos de
armazenamento) sem a necessidade de reescrever o esquema conceitual ou os
programas aplicativos.
► As modificações no nível físico são ocasionalmente necessárias para melhorar o
desempenho.
32
Independência de dados
33. ❑ A independência lógica dos dados é mais difícil de ser alcançada
do que a independência física, porém os programas são
bastante dependentes da estrutura lógica dos dados que eles
acessam.
❑ A independência de dados garante que as informações
armazenadas em um disco rígido não possam ser corrompidas
durante o uso por um SBD.
33
Independência de dados
34. Dúvida 1: Explique as diferenças entre
independência lógica de dados e independência
física de dados.
34
Independência de dados
35. Dúvida 2: Explique as diferenças entre esquemas externo,
conceitual e interno. Como esses conceitos se
relacionam com os conceitos de independência de
dados?
35
Independência de dados
36. Redundância de Dados
Redundância é armazenar o mesmo dado várias vezes, para
atender diversas aplicações.
❑ Para manter a consistência do banco de dados, deve-se armazenar
o dado uma única vez e em apenas um lugar, no BD. Isto permite
manter a consistência e economizar espaço de armazenamento.
36
Em alguns casos, a redundância é necessária,
porém ela deve ser controlada pelo sistema de
gerenciamento de banco de dados.
37. Problemas Da Redundância De Dados:
❑ Duplicação de esforço para manter os dados atualizados.
❑ Desperdício de espaço de armazenamento.
❑ Possibilidade de inconsistência dos dados.
37
Redundância de Dados
38. Permitir, a usuários diferentes, a utilização simultânea de um mesmo dado.
Exemplos:
❑ As informações sobre clientes podem ser acessadas pelo sistema de
vendas, de contas a receber e faturamento simultaneamente.
❑ A mesma base de dados sobre empregados pode ser usada
simultaneamente pelo sistema de recursos humanos e pelo sistema de
vendas.
38
Compartilhamento de Dados
39. Restrição de acesso
Um SGBD deve prover controles de segurança e autorização, que são utilizados para criar contas e seus
respectivos direitos de acesso, quando múltiplos usuários compartilham um banco de dados.
Exemplos:
❑ O sistema de pagamento poderá atualizar o cargo ocupado pelo empregado, enquanto o sistema de
vendas poderá apenas consultar qual o cargo de um determinado empregado.
❑ O sistema de controle de material poderá incluir um novo material no cadastro existente, enquanto a
área de compras consultará as informações sobre os materiais necessários para o processo de
produção.
39
40. Segurança e Autorização
❑ Senhas para usuários e para grupos de usuários
❑ Restrições de acesso a parte do banco de dados;
❑ Proibição de executar certas operações;
❑ Proibição de uso de software privilegiado, como o software de criação de
contas.
40
Restrição de acesso
41. Restrições de integridade
❑ A maioria dos SGBD provém certas restrições de integridade que
devem ser aplicadas aos dados.
❑ O SGBD deve ter mecanismos para possibilitar a definição das
restrições e assegurar o respeito a estas.
❑ Um exemplo de restrição de integridade é a definição de um tipo
de dado para cada item de dado
41
42. Exemplo:
❑ Ao definir o tipo cores como: azul, vermelho, amarelo e verde.
❑ E em seguida definir um atributo “cor_parede” como do tipo cores.
O SGBD aceitará apenas os tipos definidos ou seja azul, vermelho,
amarelo e verde como válidos para este atributo.
❑ Pergunta: O que aconteceria se o usuário informasse a cor branco
para o tributo cor a parede?
42
Restrições de integridade
43. Mecanismos de backup e recuperação
❑ Um SGBD deve prover facilidades para recuperação de
falhas do hardware ou software.
❑ Estes mecanismos evitam que cada aplicação tenha
que projetar e desenvolver seus próprios controles
contra a perda de dados.
❑ Exemplo:
❑ Se o sistema falha no meio de um programa de alteração
complexo, o mecanismo de recuperação é responsável por
assegurar que o banco de dados será restaurado para o estágio
que ele se encontrava antes do início da execução do programa.
43
44. Múltiplas interfaces
Um ambiente de BD é acessado por variados tipos de usuários, com variadas
necessidades de informação e com diferentes níveis de conhecimento técnico.
Para atender essa diversidade de usuários, o SGBD deve fornecer diferentes
tipos de interfaces.
Múltiplas Interfaces
❑ Linguagens de consulta para usuários casuais.
❑ Linguagens de programação para programadores de aplicações.
❑ Interfaces gráficas com formulários (telas) e menus para usuários paramétricos (novatos).
❑ Interfaces para DBA.
❑ Linguagem natural.
44
46. Arquitetura Stand-Alone
❑ Os PC’s trabalham em sistema stand-alone, ou seja, fazem seus
processamentos sozinhos (o SGBD roda na própria máquina).
❑ No começo esse processamento era bastante limitado, porém, com a
evolução do hardware, tem-se hoje PCs com grande capacidade de
processamento.
❑ Eles funcionam como hospedeiros e terminais. Desta maneira, possuem
um único aplicativo a ser executado na máquina.
❑ A principal vantagem desta arquitetura é a simplicidade.
46
48. 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.
❑ Neste ambiente, dados, SGBD e os programas que acessam ficam
restritos a uma única máquina. O acesso se dá por meio de terminais
burros, ou seja, terminais com funcionalidades restritas.
❑ Vantagem: permitir que muitos usuários manipulem grande volume de
dados.
❑ Desvantagem: alto custo, pois exige ambiente especial para
mainframes e soluções centralizadas.
48
50. 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).
50
52. ❑ Devido ao surgimento das redes de computadores e a possibilidade de conexão
entre diversas máquinas com alto poder de processamento, o BD pode ser
deslocado para uma máquina específica, o servidor de arquivo.
❑ Programas e SGBD podem funcionar em uma ou várias máquinas da rede.
❑ O servidor de banco de dados é quem faz a operação de busca e retorna somente
os dados que preencham corretamente a consulta do usuário.
52
Arquitetura Cliente-Servidor
53. ❑ Vantagens:
❑ menor intensidade de tráfego de dados na rede comparado a
arquitetura distribuída;
❑ Pode de processamento, pois as consultas são feitas em
servidores de alta potência.
❑ E a principal, é a divisão do processamento entre dois sistemas, o
que reduz o tráfego de dados na rede.
❑ Desvantagem: é que eles exigem que os dados sejam
armazenados num único sistema.
53
Arquitetura Cliente-Servidor
54. Arquitetura Distribuída
Os bancos de dados crescem em volume de dados e as redes se
tornam quase ilimitadas em tamanho.
Para garantir a eficiência nestes ambientes, surge a necessidade de
distribuição da própria base de dados.
Surgem, então, os:
54
Bancos de Dados Distribuídos.
55. 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. 55
57. Arquitetura Distribuída
❑ Nos sistemas distribuídos os dados podem ser 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.
Exemplo de Aplicação:
❑ BD corporativas, com volume de informação muito grande e, por
isso, deve ser distribuído em diversos servidores.
57
58. Arquitetura Distribuída
Vantagens:
❑ Os sistemas distribuídos estão com menor risco de falhas, pois
quando um nó falha, o trabalho é mantido pelos outros nós da
rede entre e outras vantagens.
Desvantagem:
❑ Essa arquitetura é mais complexa de ser implementada, e é
mais propensa a falhas de segurança tendo em vista os dados
estarem espalhados em vários locais.
58
59. Bibliografia Básica
❑ KORTH, H.F.; SILBERSCHATZ, A. Sistema de Banco de Dados. Edição 3ª,
Makron Books, 1999.
❑ ELMASRI e NAVATHE, Sistemas de Bancos de Dados - Fundamentos e
Aplicações, 3a edição, LTC, 2002.
❑ COUGO, P. Modelagem conceitual e Projeto de Banco de Dados. Editora
Campus.
❑ HEUSER, C. A. - Projeto de Banco de Dados, Nº 4, Instituto de Inf. da UFRGS
❑ Notas em sala de aula.
59