Buscar

Banco de Dados: Arquitetura e Propriedades

Prévia do material em texto

alfaconcursos.com.br 
 
MUDE SUA VIDA! 
1 
 
SUMÁRIO 
Banco de Dados ........................................................ 2 
Arquitetura de Três-Esquemas ............................. 2 
Independência de Dados .................................. 2 
Propriedades das Transações em Bancos de 
Dados .................................................................... 2 
Sistema Gerenciador de Banco de Dados (SGBD) .... 3 
Características de um SGBD ................................. 3 
Linguagens dos SGBDs .......................................... 4 
Interfaces do SGBD ............................................... 4 
Arquiteturas de Banco de Dados .............................. 4 
Exercícios .................................................................. 6 
Gabarito ................................................................ 6 
Conceitos Banco de Dados ....................................... 6 
Esquema ............................................................... 6 
Instância ............................................................... 6 
Entidade ................................................................ 6 
Relacionamento .................................................... 6 
Atributos ............................................................... 6 
Tupla ..................................................................... 7 
Chaves................................................................... 7 
 
 
https://www.alfaconcursos.com.br/
alfaconcursos.com.br 
 
MUDE SUA VIDA! 
2 
 
BANCO DE DADOS 
ARQUITETURA DE TRÊS-
ESQUEMAS 
arquitetura dos três-esquemas, 
conforme Figura 1, é empregada, ela 
apresenta 3 níveis: Interno, Conceitual e 
Externo. 
O nível interno descreve como os dados 
estão armazenados fisicamente no banco de 
dados, assim utiliza o modelo físico de 
descrição que é bastante detalhado. 
O nível conceitual neste nível utiliza-se 
o modelo conceitual, nesse cenário o 
objetivo são as descrições de forma mais 
próximas ao entendimento dos usuários, por 
isso ele se concentra em descrever as 
entidades, tipos de dados, conexões 
(relações), operações de usuários e restrições. 
já o nível externo se preocupa com a 
parte que cada usuário precisa, ou tem a 
necessidade, de ver, ocultando deste o resto 
das informações (dados) que não precisa ou 
que não deve acessar. Neste nível temos as 
Views (visões) de um banco de dados. 
 
Figura 1: A arquitetura de três-esquemas [1] 
INDEPENDÊNCIA DE DADOS 
➢ Independência de dados lógica: “é a 
capacidade de alterar o esquema 
conceitual sem mudar o esquema 
externo ou os programas” [2]. 
➢ Independência física de dados: “é a 
capacidade de mudar o esquema 
interno sem ter de alterar o esquema 
conceitual” [2]. 
PROPRIEDADES DAS 
TRANSAÇÕES EM BANCOS DE 
DADOS 
Existem algumas propriedades que 
garantem que transações em um Banco de 
Dados são processadas de forma correta; 
portanto, garantindo a confiabilidade: 
➢ Atomicidade: indivisível (todas as 
operações são executadas ou nada 
acontece); 
➢ Consistência: transações não podem 
quebrar as regras do BD (manter 
consistência); 
➢ Isolamento: transações simultâneas 
não sofrem interferências umas das 
outras; 
➢ Durabilidade: efeitos de uma 
transação de sucesso são persistidos 
no BD (mesmo em presença de 
falhas). 
mecanismos para controlar transações 
no banco de dados. No exemplo a seguir 
veremos como os comandos COMMIT e 
ROLLBACK são utilizados. 
Exemplo: transferir R$ 500,00 da conta 
corrente para conta poupança. Durante a 
transferência, expirou bloqueio ou o servidor 
desligou. 
Etapas: 
1. Inicia 
2. Invoca instruções SQL 
3. Se algo errado, ROLLBACK (desfaz os 
comandos, abortando a operação como um 
todo). 
Se não, COMMIT (efetiva a transação – 
operações executadas no banco de dados). 
Veja a imagem a seguir que ilustra como 
a transação do exemplo acima é 
implementada com comandos SQL. 
https://www.alfaconcursos.com.br/
alfaconcursos.com.br 
 
MUDE SUA VIDA! 
3 
 
 
Sistema Gerenciador de Banco de 
Dados (SGBD) 
Um SGBD é um conjunto de programas 
que possibilita ao usuário manipular e 
gerenciar uma base de dados, ou seja, uma 
coleção de dados que estão relacionados entre 
si. 
Um SGBD pode ser definido como “um pacote de 
software, um sistema de finalidade genérica para 
gerenciar os Bancos de Dados” (Caiut, 2015) 
Em via de regra um SGBD deve permitir 
definir um banco de dados, construir o banco 
e manipular as informações. 
Um Sistema de Gerenciamento de banco 
de dados (SGBD) é um software que incorpora 
e 
facilita as funções de definição, 
recuperação e alteração de dados em um 
Banco de Dados. 
“Tem a função de proteção (contra 
falhas de hardware e software) e de segurança 
(acessos não autorizados ou maliciosos) dos 
dados nele armazenados, ao mesmo tempo em 
que permite o compartilhamento desses 
dados entre vários usuários e aplicações” 
(Cayres, 2015). 
Organização Lógica do Banco de Dados 
(instâncias) 
SGBD 
Camada Física de armazenamento dos dados 
(discos, storage, métodos de acesso, clustering 
de dados etc.) 
 
Exemplos: PostgreSQL, MySQL, 
OracleDB, MS SQLServer, MS Access, FireBird, 
etc. 
CARACTERÍSTICAS DE UM SGBD 
Controle de Redundância: um SGBD 
deve ser capaz de gerenciar os arquivos de 
modo a evitar a duplicação de dados que leva 
a desperdício de espaço de armazenamento 
como também a possível inconsistência uma 
vez que apenas um dos arquivos possa ser 
alterado enquanto o outro não. 
Compartilhamento de Dados: também 
é responsabilidade do gerenciador controla o 
acesso simultâneo aos dados de modo que as 
alterações sejam devidamente salvas sem que 
haja duplicidade. Normalmente um arquivo 
pode ser lido por vários usuários ao mesmo 
tempo, porém somente um pode salvar por 
vez. 
Restrições de Acesso Multiusuário: os 
SGBDs devem ter a capacidade de controlar o 
acesso de forma hierárquica aos dados, de 
modo que impeça o acesso por pessoas sem a 
devida autorização. 
Fornecimentos de Múltiplas 
Interfaces: os programas atendem as 
necessidades dos usuários, logo alguns 
precisam de interfaces mais simples como a 
de um formulário, outros tem conhecimento 
mais aprofundado e desenvolvem programas, 
como também oferecem interfaces para 
consultas diretas. 
Representação de Relacionamento 
Complexo entre os Dados: as bases de dados 
muitas vezes possuem sentido por meio de 
seus inter-relacionamento de dados, logo os 
SGBDs devem oferecem estruturas que 
permitam organizar os dados relacionando-os 
da maneira mais eficiente. 
https://www.alfaconcursos.com.br/
alfaconcursos.com.br 
 
MUDE SUA VIDA! 
4 
 
Reforçar Restrições de Integridade: a 
integridade preza por manter os dados 
fidedignos as suas definições, como definir um 
atributo do tipo numérico, nesse caso o SGBD 
deve viabilizar a restrição para não possa ser 
inserido um texto nesse campo. 
Fazer Backup e Restauração: é comum 
a ocorrência de falhas nos processos de 
comunicação e armazenamento, logo as 
ferramentas devem oferecem o mínimo de 
recursos para regredir ao último estado 
estável dos dados. 
LINGUAGENS DOS SGBDS 
A linguagem SQL é uma só, porém ela é 
dividida em tipos de acordo com a 
funcionalidade dos comandos. Os tipos da 
linguagem SQL são: 
➢ DDL - Data Definition Language - 
Linguagem de Definição de Dados. 
São os comandos que interagem com 
os objetos do banco. 
➢ São comandos DDL: CREATE, ALTER 
e DROP 
➢ DML - Data Manipulation Language - 
Linguagem de Manipulação de 
Dados. São os comandos que 
interagem com os dados dentro das 
tabelas. 
➢ São comandos DML: INSERT, DELETE 
e UPDATE 
➢ DQL - Data Query Language - 
Linguagem de Consulta de dados. São 
os comandos de consulta. 
➢ São comandos DQL: SELECT (é o 
comando de consulta) 
Aqui cabe um parêntese. Em algumas 
bibliografias o SELECT fica na DML em outros 
tem esse grupo próprio. 
• DTL - Data Transaction Language - 
Linguagem de Transação de Dados.São os comandos para controle de 
transação. 
o São comandos DTL: BEGIN 
TRANSACTION, COMMIT E 
ROLLBACK 
• DCL - Data Control Language - 
Linguagem de Controle de Dados. São 
os comandos para controlar a parte de 
segurança do banco de dados. 
o São comandos DCL: GRANT, 
REVOKE E DENY. 
• SDL Linguagem de Definição de 
Armazenamento (storage) é usada 
para especificar o esquema interno. 
• VDL Linguagem de Definição de 
Visões, embora na maioria dos SGBDs 
a linguagem DDL acaba sendo usada 
para definir o conceitual e o externo; 
INTERFACES DO SGBD 
➢ Baseadas em Menus para os Clientes 
Web ou Navegação: uso de menus de 
seleção de opções, com isso o usuário 
isenta-se de conhecer comandos 
específicos de consulta; 
➢ Baseadas em Formulários: utilização 
de formulários a serem preenchidos 
pelo usuário de modo que o SGBD 
complete os campos ou dados 
faltantes, para a pesquisa; 
➢ Gráficas para Usuários: apresenta 
diagramas para usuário realizar a 
busca; 
➢ Linguagem Natural: uso de 
expressões idiomáticas para realizar 
a pesquisa no banco de dados; 
➢ Usuários Parametrizáveis: utilizado 
em ambientes limitados, em que o 
usuário se utiliza de poucos 
comandos com frequência para 
realizar pesquisa no banco de dados, 
como fixar comandos de pesquisa a 
combinações de atalhos de teclado; 
➢ Para o DBA: é a interface de uso 
específico para a criação e 
gerenciamento de um banco de 
dados. 
Arquiteturas de Banco de Dados 
A arquitetura de um banco de dados 
depende da arquitetura computacional usada, 
https://www.alfaconcursos.com.br/
alfaconcursos.com.br 
 
MUDE SUA VIDA! 
5 
 
se baseada em mainframes, modelo 
cliente/servidor ou paralela. 
O sistema pode ainda ser dividido em 
duas categorias principais: 
➢ Front-end: (interface de usuário) 
uma interface gráfica familiar mais 
simplificada para o usuário como 
formulários, tabelas, geradores de 
relatórios, por uso de linguagens de 
consulta SQL. 
➢ Back-end: (servidor) responsável por 
interpretar a linguagem SQL e 
executar a consulta, bem como 
gerenciar o acesso e controle de 
recuperação e execução simultânea 
(concorrência). 
➢ Deve-se avaliar o desempenho do 
sistema de banco de dados por meio 
de: 
➢ Throughput: que descreve a 
quantidade de tarefas por período de 
tempo; 
➢ Tempo de resposta: ou tempo de 
execução de cada tarefa. 
Os principais sistemas são descritos a 
seguir. 
1.1 Sistemas Centralizados 
Baseada no uso de mainframes, o que 
gera custo elevado para a manutenção do 
supercomputador. Nesse modelo o mainframe 
concentra os dados que são acessados pelos 
terminais. 
Vantagens: 
➢ Um único host fornece alto grau de 
segurança, concorrência e controle de 
cópias de segurança e recuperação. 
➢ Não há necessidade de um diretório 
distribuído, já que todos os dados 
estão localizados em um único host. 
➢ Não existe a necessidade de junções 
distribuídas, já que todos os dados 
estão em um único host. 
Desvantagens: 
➢ Todos os acessos aos dados 
realizados por outro que não seja o 
host onde o banco de dados está, gera 
alto custo de comunicação. 
➢ O host em que o banco de dados está 
localizado pode criar um “gargalo”, 
dependendo da quantidade de 
acessos simultâneos. 
➢ Podem acontecer problemas de 
disponibilidade dos dados, se o host 
onde os dados estão armazenados 
sair do ar. 
 
1.2 Local 
O modelo local é empregado no próprio 
computador de uso pessoal. Geralmente é 
usado para aplicações que funcionam 
isoladamente de modo que o PC funciona 
como hospedeiro do banco como terminal de 
acesso. Esse modelo é mais simples, pois 
isenta-se da necessidade de sincronização e 
controle de acesso simultâneo. 
1.3 Cliente/Servidor 
Formato popularmente usado e que usa 
amplamente o formato front-end e back-end. 
Apresenta a necessidade de confirmações de 
gravação após a realização correta das ações 
(commit), possibilidade de retroceder em 
caso de erros (rollback), funções de consulta 
(store procedures) e execução automatizada 
de tarefas de acordo com gatilhos (triggers). 
Neste modelo ao invés de terminais usa-se 
como clientes os computadores pessoais. 
https://www.alfaconcursos.com.br/
alfaconcursos.com.br 
 
MUDE SUA VIDA! 
6 
 
1.4 Distribuídos 
As informações (banco de dados) são 
armazenadas em computadores diferentes 
que interagem por meio da rede. A exemplo de 
sites que quando um servidor apresenta 
problema demais mantem-se em 
funcionamento, até mesmo podendo 
substituir o servidor com problema (nesse 
caso necessita-se da replicação dos dados). A 
desvantagem desse formato é a dificuldade 
em desenvolver e sistemas que mantenham a 
simetria e precisão das informações. 
 
 
1.5 Paralelos 
Os sistemas paralelos são usados em 
limitadas situações, pois é necessário que o 
conjunto de dados possa ser dividido em 
partes para que sejam processadas 
simultaneamente por computadores 
diferentes, ou seja, cada computador executa 
uma parte da informação. Nesse método pode 
haver compartilhamento da memória ou disco 
ou mesmo sem realizar o compartilhamento 
do hardware. 
 
Exercícios 
1) Quanto aos níveis de abstração de bancos 
de dados, é correto afirmar que: 
(A) no nível lógico os usuários do computador 
vêem um conjunto de programas de 
aplicação que ocultam detalhes dos tipos 
de dados. 
(B) no nível view os usuários do computador 
vêem um conjunto de programas de 
aplicação e os detalhes dos tipos de dados. 
(C) no nível lógico, não há descrição de cada 
tipo de registro. 
(D) no nível view, cada tipo de registro é 
descrito por um tipo de informação, como 
um segmento de código anterior e a relação 
desses tipos de registro também é definida. 
(E) no nível view os usuários do computador 
vêem um conjunto de programas de 
aplicação que ocultam detalhes dos tipos 
de dados. 
GABARITO 
1) E. 
Conceitos Banco de Dados 
Nesta seção vamos conhecer os termos 
usados em bancos de dados e alguns conceitos 
de projeto. 
ESQUEMA 
Um esquema é o projeto do banco de 
dados, composto por suas entidades e 
relacionamentos, indicando a organização dos 
dados, um esquema consiste na descrição de 
um banco de dados. 
INSTÂNCIA 
É um esquema populado com dados 
visto em determinado instante. 
ENTIDADE 
Também muito citada como tabela é 
uma estrutura composta por colunas 
chamadas atributos, e linhas chamadas tuplas. 
Ela é a representação de uma variedade de 
objetos com suas caraterísticas. 
RELACIONAMENTO 
É uma associação entre entidades que 
aponta sua interligação, exemplo: uma 
pessoa trabalha em um departamento, são 
entidades departamento e pessoa, a 
definição trabalha em é um relacionamento 
entre as entidades. 
Grau de relacionamento é o número de 
entidades que participam do relacionamento. 
ATRIBUTOS 
https://www.alfaconcursos.com.br/
alfaconcursos.com.br 
 
MUDE SUA VIDA! 
7 
 
Os atributos são os dados armazenados 
acerca de uma informação e que são definidos 
com domínios específicos, ou seja, os 
atributos são definidos com uma descrição (o 
que ele armazena) e com o domínio (tipo de 
informação: valor inteiro, real, texto, palavra, 
caractere, booleano - aqui citados a fim de 
entendimento na aplicação prática recebem 
outros nomes). 
Os atributos podem ser classificados em: 
Simples ou compostos: Os atributos 
simples são aqueles que são únicos e não 
possuem subdivisão. Já os compostos podem 
ser divididos como, endereço, pode ser 
estruturado em logradouro, número, bairro, 
CEP e complemento. 
Monovalorados ou multivalorados: 
Um exemplo de um atributo monovalorado 
poderia ser o atributo CPF, o qual teria 
associado apenas um número de CPF. Pode 
acontecer, no entanto, que uma determinada 
instância possua um conjunto de valores para 
uma única entidade. Por exemplo, o atributo 
filho, da entidade pessoa, que pode ter um, 
nenhum ou vários filhos cadastrados. 
Nulo: um atributo é nulo quando pode 
ser vazio, como o nome do filho caso a pessoa 
não possua filhos, aocontrário do campo CPF 
que por ser chave jamais poderá ser nulo. 
Derivado: ou calculado, é o atributo que 
pode ser obtido por intermédio de consultas 
como a idade de uma pessoa, que por decisões 
de projeto pode vir a ser guardada, sendo que 
poderia ser calculada com base na data de 
nascimento. 
Ao definir um relacionamento entre 
duas entidades é necessário definir qual é essa 
relação bem como a sua cardinalidade. A 
cardinalidade define se uma entidade pode ter 
apenas uma instancia de outra entidade 
atrelada a ela (um pra um) ou se ela pode ter 
várias instâncias (um pra muitos), também é 
possível que várias instâncias de uma 
entidade sejam relacionadas com uma 
instância de outra entidade, que por sua vez 
pode ser ligada a várias outras instâncias da 
primeira entidade (muitos pra muitos). 
Exemplos: 
Um pra muitos: um departamento de 
uma empresa pode ter vários empregados, 
mas um empregado só pode estar em um 
departamento da empresa. 
Muitos pra muitos: podemos pegar o exemplo 
similar ao anterior, mas dessa vez um empregado 
pode trabalhar em dois departamentos diferentes ao 
mesmo tempo. 
TUPLA 
Uma tupla é uma linha de uma tabela, ou 
seja, são os dados de uma instância de uma 
entidade que possui atributos. 
CHAVES 
Uma chave é um valor usado para 
identificar/selecionar uma tupla dentre as 
demais. 
 
https://www.alfaconcursos.com.br/

Continue navegando