SlideShare uma empresa Scribd logo
1 de 59
Baixar para ler offline
Banco de Dados
Prof. Ma. Fernanda Ferreira do Nascimento
fernanda.nascimento@ifce.edu.br
Usuários de Banco de dados
3
QUEM SÃO OS USUÁRIOS DE UM SGBD?
3
Data Administrator
Database
Administrator
Database Designer
Programadores
Usuários
finais
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
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
QUEM SÃO OS USUÁRIOS DE UM SGBD?
6
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
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
QUEM SÃO OS USUÁRIOS DE UM SGBD?
9
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
QUEM SÃO OS USUÁRIOS DE UM SGBD?
11
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
QUEM SÃO OS USUÁRIOS DE UM SGBD?
13
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
Vantagens
4
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
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
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
Quando não utilizar
5
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
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
CARACTERÍSTICAS DE UM SGBD
6
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
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.
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
❑ As transações realizadas pelo SGBD nos BD’s devem seguir
algumas propriedades fundamentais conhecidas como:
26
Características
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
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
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
❑ 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
❑ 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
► 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
❑ 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
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
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
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.
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
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
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
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
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
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
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
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
Arquitetura de um SGBD
7
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
Arquitetura Stand-Alone
47
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
49
Arquitetura Centralizada
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
Arquitetura Cliente-Servidor
51
❑ 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
❑ 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
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.
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
Arquitetura Distribuída
56
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
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
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

Mais conteúdo relacionado

Semelhante a Banco de Dados - conceitos, usuários, características

2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
2019-2 - BD I - Aula 01 C - Introdução a Banco de DadosRodrigo Kiyoshi Saito
 
Material Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos AlexandrukMaterial Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos AlexandrukHebert Alquimim
 
O fator manutenção no ciclo de vida de data warehouse
O fator manutenção no ciclo de vida de data warehouseO fator manutenção no ciclo de vida de data warehouse
O fator manutenção no ciclo de vida de data warehouseEderson Schwaickardt
 
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídosAula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídosMessias Batista
 
Apostila NoSql.pdf
Apostila NoSql.pdfApostila NoSql.pdf
Apostila NoSql.pdfEizo Edson
 
Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Carlos Melo
 
Visão geral sobre Bancos de Dados Univesp
Visão geral sobre Bancos de Dados UnivespVisão geral sobre Bancos de Dados Univesp
Visão geral sobre Bancos de Dados Univespinominavell
 
AULA 01.pptx
AULA 01.pptxAULA 01.pptx
AULA 01.pptxEizoKato
 
Banco de dados distribuídos mnt bd
Banco de dados distribuídos mnt bdBanco de dados distribuídos mnt bd
Banco de dados distribuídos mnt bdM Serafim
 
Data Mesh: O que é e quais tecnologias facilitam sua implementação?
Data Mesh: O que é e quais tecnologias facilitam sua implementação?Data Mesh: O que é e quais tecnologias facilitam sua implementação?
Data Mesh: O que é e quais tecnologias facilitam sua implementação?Denodo
 
Programação em Banco de Dados - Aula 16/08/2018
Programação em Banco de Dados - Aula 16/08/2018Programação em Banco de Dados - Aula 16/08/2018
Programação em Banco de Dados - Aula 16/08/2018Elaine Cecília Gatto
 

Semelhante a Banco de Dados - conceitos, usuários, características (20)

2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
 
Material Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos AlexandrukMaterial Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos Alexandruk
 
Banco dedados aula001
Banco dedados aula001Banco dedados aula001
Banco dedados aula001
 
TA1 - Slides Acessibilidade.pdf
TA1 - Slides Acessibilidade.pdfTA1 - Slides Acessibilidade.pdf
TA1 - Slides Acessibilidade.pdf
 
Banco de dados parte 01
Banco de dados parte 01Banco de dados parte 01
Banco de dados parte 01
 
Aula 2 banco de dados
Aula 2   banco de dadosAula 2   banco de dados
Aula 2 banco de dados
 
(Banco de dados distríbuidos bdd)
(Banco de dados distríbuidos   bdd)(Banco de dados distríbuidos   bdd)
(Banco de dados distríbuidos bdd)
 
O fator manutenção no ciclo de vida de data warehouse
O fator manutenção no ciclo de vida de data warehouseO fator manutenção no ciclo de vida de data warehouse
O fator manutenção no ciclo de vida de data warehouse
 
Apostila oracle
Apostila oracleApostila oracle
Apostila oracle
 
Banco aula 01
Banco aula 01Banco aula 01
Banco aula 01
 
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídosAula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
 
Apostila NoSql.pdf
Apostila NoSql.pdfApostila NoSql.pdf
Apostila NoSql.pdf
 
BDI_1_conceitos
BDI_1_conceitosBDI_1_conceitos
BDI_1_conceitos
 
Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1
 
Visão geral sobre Bancos de Dados Univesp
Visão geral sobre Bancos de Dados UnivespVisão geral sobre Bancos de Dados Univesp
Visão geral sobre Bancos de Dados Univesp
 
AULA 01.pptx
AULA 01.pptxAULA 01.pptx
AULA 01.pptx
 
Banco de dados distribuídos mnt bd
Banco de dados distribuídos mnt bdBanco de dados distribuídos mnt bd
Banco de dados distribuídos mnt bd
 
Data Mesh: O que é e quais tecnologias facilitam sua implementação?
Data Mesh: O que é e quais tecnologias facilitam sua implementação?Data Mesh: O que é e quais tecnologias facilitam sua implementação?
Data Mesh: O que é e quais tecnologias facilitam sua implementação?
 
BDD2
BDD2BDD2
BDD2
 
Programação em Banco de Dados - Aula 16/08/2018
Programação em Banco de Dados - Aula 16/08/2018Programação em Banco de Dados - Aula 16/08/2018
Programação em Banco de Dados - Aula 16/08/2018
 

Banco de Dados - conceitos, usuários, características

  • 1. Banco de Dados Prof. Ma. Fernanda Ferreira do Nascimento fernanda.nascimento@ifce.edu.br
  • 2. Usuários de Banco de dados 3
  • 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
  • 6. QUEM SÃO OS USUÁRIOS DE UM SGBD? 6
  • 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
  • 9. QUEM SÃO OS USUÁRIOS DE UM SGBD? 9
  • 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
  • 11. QUEM SÃO OS USUÁRIOS DE UM SGBD? 11
  • 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
  • 13. QUEM SÃO OS USUÁRIOS DE UM SGBD? 13
  • 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