Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

07/08/23, 20:08 Arquiteturas de Sistemas Gerenciadores de Bancos de Dados (SGBD)
https://ceadgraduacao.uvv.br/conteudo.php?aula=arquiteturas-de-sistemas-gerenciadores-de-bancos-de-dados-sgbd&dcp=arquitetura-de-dados-relacionais-i&topico=2 1/15
Arquiteturas de Sistemas Gerenciadores de
Bancos de Dados (SGBD)
Arquitetura de dados relacionais I
1. Introdução
Um sistema de gerenciamento de banco de dados (SGBD) é uma coleção de programas que
possibilita a definição, a implementação, a manipulação, o compartilhamento e a segurança dos
bancos de dados (BD). A partir dos programas de aplicação, os SGBDs permitem que os usuários
acessem e manipulem os dados armazenados em banco de dados, como mostra a Figura 01.
Entretanto, a forma como isso ocorre irá depender do tipo da demanda do programa de aplicação.
Essa demanda pode ser uma arquitetura simples, onde se tem apenas uma aplicação e um banco de
dados sendo executados em um mesmo local, ou uma arquitetura robusta e distribuída, onde se
pode ter diversos programas de aplicação e partes de um banco de dados distribuídos em uma rede
de computadores.
 
As arquiteturas dos SGBDs evoluíram de modo similar às arquiteturas dos sistemas
computacionais. Inicialmente, elas eram baseadas em computadores de grande porte (mainframes)
e processavam todas as funcionalidades do SGBD. Grande parte dos usuários acessavam o sistema
Arquitetura geral de um Sistema de Banco de Dados.
https://cead.uvv.br/conteudo/wp-content/uploads/2022/08/substituicao1-6.png
07/08/23, 20:08 Arquiteturas de Sistemas Gerenciadores de Bancos de Dados (SGBD)
https://ceadgraduacao.uvv.br/conteudo.php?aula=arquiteturas-de-sistemas-gerenciadores-de-bancos-de-dados-sgbd&dcp=arquitetura-de-dados-relacionais-i&topico=2 2/15
por meio de terminais de computador sem nenhum poder de processamento. Ao longo do tempo,
esses sistemas foram substituídos por SGBDs com design modular e arquitetura de sistema cliente/
servidor. Atualmente, o crescimento do volume de dados a serem armazenados conduziu à adesão
de sistemas com arquiteturas distribuídas, formadas por várias máquinas que gerenciam e
armazenam esses dados.
 
De acordo com Berg, Seymour e Goel (2012), a história dos Sistemas Gerenciadores de Banco de
Dados teve início na década de 60, mesma época da introdução da tecnologia de armazenamento
em disco. Nessa época, dois dos principais modelos de dados foram desenvolvidos: o modelo de
dados hierárquico, seguido do modelo de dados em rede.
Os primeiros SGBDs, conforme Patrick (2009) e Bachman (2009), nasceram nessa década, de
forma independente e em contextos diferentes. O primeiro SGBD de acesso direto foi o IDS -
Integraded Data Store (Depósito de Dados Integrados), lançado em 1964. Ele teve um traço mais
acadêmico e foi conduzido por Charles Bachman, na General Electric. Bachman também foi o
responsável pela criação do diagrama de estrutura de dados, denominado por Diagrama de
Bachman, que inspirou o trabalho Modelo Entidade-Relacionamento, do Peter Chen, na década
de 70 conforme relata Bachman (1969). O IDS foi a base do modelo de dados de rede, padronizado
no final da década de 60 pela CODASYL (Conference on Data Systems Languages). O outro SGBD
foi uma inovação nascida da necessidade de um ambiente industrial, no sul da Califórnia, o IMS
(Information Management System) da IBM, lançado pouco depois do IDS e que constituiu a base
do modelo de dados hierárquico, segundo Patrick (2013). O IMS foi muito útil para as
empresas que trabalhavam com uma abordagem mais centralizada para o gerenciamento de dados.
 
Baseado na teoria de conjuntos, o pesquisador Edgar Frank Codd, propôs o modelo de dados
relacional em 1970. Esse modelo impulsionou o desenvolvimento de vários SGBDs, mas devido ao
baixo desempenho em relação aos modelos em rede e hierárquico, na prática, ainda eram pouco
utilizados. Na década de 1980, o modelo relacional se consolidou como modelo dos SGBDs e o seu
uso se difundiu. Nessa mesma época, a IBM desenvolveu o System R e a linguagem de consulta SQL
para os bancos de dados relacionais que, no final dessa mesma década, foi padronizada pela
American National Standards Institute (ANSI) e pela International Organization for
Standardization (ISO). Os primeiros bancos de dados relacionais foram o IBM DB2, o Oracle, o
Ingres e o DEC Rdb, eles tiveram grande influência para o desenvolvimento de novas técnicas para
geração de consultas mais eficientes.
Você conhece a história dos SGBDs?
Sabe quando foi criado o primeiro SGBD?
07/08/23, 20:08 Arquiteturas de Sistemas Gerenciadores de Bancos de Dados (SGBD)
https://ceadgraduacao.uvv.br/conteudo.php?aula=arquiteturas-de-sistemas-gerenciadores-de-bancos-de-dados-sgbd&dcp=arquitetura-de-dados-relacionais-i&topico=2 3/15
No final da década de 80, com o surgimento das linguagens de programação orientadas a objetos e
a necessidade de armazenamento de dados mais complexos e estruturados, foi iniciado o
desenvolvimento dos bancos de dados orientados a objetos (BDOO), de acordo com Elmasri
e Navathe (2018). A princípio, os BDOOs foram considerados concorrentes dos BDRs, pois
agregavam os conceitos do paradigma orientado a objetos. Entretanto, a sua adesão pelo mercado
foi baixa e, atualmente, são mais utilizados em aplicações especializadas. Conforme Silberschatz,
Korth e Sudarshan (2020), nessa mesma época, iniciaram as pesquisas sobre os bancos de dados
distribuídos.
Pesquisas para o desenvolvimento de modelos e linguagens de consulta mais robustas, que
atendessem às novas demandas das empresas, de forma especial, o suporte à decisão, cresceram
consideravelmente a partir dos anos 90. Alguns fabricantes incluíram em seus produtos a
capacidade de armazenar novos tipos de dados (imagens, vídeos, etc.) e realizar consultas mais
complexas, além de adicionarem suporte objeto-relacional, dando origem aos bancos de dados
objeto-relacional (BDOR). O crescimento da World Wide Web (WWW) demandou dos SGBDs o
suporte à altas taxas de processamento de transações, bem como alta confiabilidade e
disponibilidade.
Na década de 2000, houve um crescimento no uso dos tipos de dados semiestruturados e os
bancos de dados relacionais começaram a dar suporte aos formatos XML e JSON e aos dados
espaciais. O crescimento das redes sociais levou ao desenvolvimento de bancos de dados gráficos. A
demanda por análise e mineração de grandes volumes de dados nas empresas conduziu à criação de
sistemas de bancos de dados especializados. Nessa época, também foram criadas as primeiras
versões de Sistemas Gerenciadores de Banco de Dados do tipo NoSQL (not only SQL), com
várias limitações, como falta de suporte para consistência e consultas declarativas.
A partir de 2010, os sistemas NoSQL passaram a fornecer suporte e recursos padrão de um sistema
de banco de dados. Entretanto, essa década foi marcada pelo armazenamento em “nuvem”,
onde os dados são hospedados em servidores distribuídos e entregues aos usuários por meio de
serviços baseados na web, o que possibilitou um maior número de problemas de segurança e perda
de privacidade.
Com um número de usuários e volume de dados crescentes, iniciou-se uma nova década com
aumento de demandas de gerenciamento e análise de dados cada dia mais eficientes. Além disso,
os problemas de segurança e privacidade continuam desafiadores e requerendo novas pesquisas
para garantir a integridade e a robustez dos bancos de dados.
Para aprofundar um pouco mais sobre o assunto, indicamos a seguinte leitura:
BERG, K.; SEYMOUR, J. T., RICHA, G. History of databases. International Journal of Management &
Information Systems (IJMIS). v17. n.1, 2013.
Clique aqui
https://www.researchgate.net/publication/298332910_History_Of_Databases
07/08/23, 20:08 Arquiteturas de Sistemas Gerenciadores de Bancos de Dados (SGBD)
https://ceadgraduacao.uvv.br/conteudo.php?aula=arquiteturas-de-sistemas-gerenciadores-de-bancos-de-dados-sgbd&dcp=arquitetura-de-dados-relacionais-i&topico=2 4/15
2. Características, propriedades e recursos
dos sgbdsUma característica fundamental dos SGBDs, de acordo Elmasri e Navathe, (2016) é que eles
trabalham com vários níveis de abstração de dados, ocultando detalhes de como os dados são
armazenados e mantidos, e destacando características essenciais para o seu entendimento. O que
simplifica e melhora a interação dos usuários com o sistema, permitindo que eles percebam os
dados no nível de detalhe desejado. 
Essa abstração pode ser alcançada por meio dos modelos de dados. O modelo de dados é uma
forma de representar conceitualmente a estrutura dos bancos de dados que retratam o ambiente
observado (contexto), como os objetos, suas características, relacionamentos e restrições. De
acordo Silberschatz, Korth e Sudarshan (2020), um modelo de dados é “uma coleção de
ferramentas conceituais para descrever dados, relações de dados, semântica de dados e restrições
de consistência”.
Elmasri e Navathe (2018), classificam os modelos de dados em três grupos, de acordo com o
conceito utilizado para representação da estrutura do BD, são eles: o modelo conceitual, o modelo
de implementação (lógico) e o modelo físico. O modelo conceitual representa os conceitos e as
características observadas em um dado ambiente. Assim, os objetos, suas características e
relacionamentos têm a representação fiel ao ambiente observado, ou seja, o modelo conceitual é
independente de quaisquer limitações impostas por tecnologias, técnicas de implementação ou
dispositivos físicos. O modelo físico descreve como o dado é armazenado no computador, ou em
uma rede de computadores, mostrando formatos, ordenações e caminhos para acessá-lo. De acordo
com Cougo (1997), cada SGBD pode definir diferentes formas de implementação física para o
armazenamento e a manipulação das estruturas de dados. Pode-se ter, inclusive, um mesmo SGBD
com diferentes implementações físicas quando se encontra em diferentes ambientes operacionais
(por exemplo, um SGBD rodando em Windows e Linux terão formas diferenciadas de
implementação física). Entre os modelos conceitual e físico, temos o modelo de implementação
(ou lógico). Ele representa os objetos, as características desses objetos e seus relacionamentos de
acordo com as regras de implementação e limitações impostas por algum tipo de tecnologia. 
Como exemplo, vamos pensar no seguinte cenário: uma clínica médica que requer o
armazenamento de dados a respeito das consultas realizadas pelos médicos a seus pacientes. Os
dados a serem armazenados dos médicos são o CRM, o nome e a especialidade; os dados do
paciente, o CPF, o nome, o endereço e o telefone; e, por fim, a data e a hora de cada consulta. 
Os modelos conceitual e lógico, desse contexto, estão nas Figuras 02 (a) e (b), respectivamente.
Veja que, no modelo conceitual, os retângulos simbolizam as entidades (conjunto de objetos com
mesmas características), o losango representa o relacionamento entre essas entidades e as elipses
representam as características das entidades e relacionamento. A Figura 02 (b) mostra a derivação
do modelo conceitual para o modelo lógico relacional, onde as entidades, relacionamentos e
07/08/23, 20:08 Arquiteturas de Sistemas Gerenciadores de Bancos de Dados (SGBD)
https://ceadgraduacao.uvv.br/conteudo.php?aula=arquiteturas-de-sistemas-gerenciadores-de-bancos-de-dados-sgbd&dcp=arquitetura-de-dados-relacionais-i&topico=2 5/15
atributos passam a ser representados de acordo com as restrições impostas pela tecnologia
utilizada, neste caso, a relacional. Assim, as entidades e o relacionamento entre elas tornam-se
tabelas, onde suas colunas representam cada um dos atributos das respectivas entidades e
relacionamento.
Os SGBDs fornecem uma arquitetura denominada Arquitetura de Três Esquemas, que é baseada
em três níveis de abstração: o nível interno (ou físico), o conceitual (ou lógico) e o externo (ou de
visão). O objetivo dessa arquitetura é fazer a separação entre as aplicações do usuário e o banco de
dados físico, facilitando a interação dos usuários com o sistema. 
A Figura 03 mostra a relação entre os três níveis: o nível interno (ou nível físico) é o mais baixo,
nele temos o esquema interno (ou físico) que descreve os detalhes sobre a forma de
armazenamento dos dados (estruturas de dados) e os caminhos de acesso a eles. O nível
intermediário de abstração é o conceitual (ou lógico), que tem um esquema conceitual (lógico)
que descreve o BD em um nível mais alto. Ele esconde detalhes da implementação e se concentra na
a) Modelos de dados conceitual
b) Modelo de dados de implementação (lógico relacional).
Dois conceitos importantes na abordagem de banco de dados são: esquema e instância. Esquema
é a descrição do banco de dados em algum nível de detalhe, ele é baseado no modelo de dados;
enquanto a instância é o estado em que se encontra o banco de dados em um determinado
momento.  Silberschatz, Korth e Sudarshan (2020) os compara como um programa escrito em uma
linguagem de programação, onde o esquema de BD corresponde às declarações de variáveis no
programa que, a cada instante, vai possuir um valor específico. Esses valores correspondem à
instância de um esquema no BD.
https://cead.uvv.br/conteudo/wp-content/uploads/2022/08/substituicao1-11-768x525.png
07/08/23, 20:08 Arquiteturas de Sistemas Gerenciadores de Bancos de Dados (SGBD)
https://ceadgraduacao.uvv.br/conteudo.php?aula=arquiteturas-de-sistemas-gerenciadores-de-bancos-de-dados-sgbd&dcp=arquitetura-de-dados-relacionais-i&topico=2 6/15
descrição de dados, relacionamentos e restrições. Por fim, o nível mais alto de abstração, o nível
externo, que retrata apenas partes do BD, de acordo o interesse de um determinado grupo de
usuários, por meio dos esquemas externos, denominado de visões. Essa possibilidade de se ter
múltiplas visões particulares dos dados é, também, um recurso de segurança dos dados.
Os mapeamentos permitem que se altere um esquema em um determinado nível, sem ter que
alterar o esquema no próximo nível mais elevado. Assim, chamamos de independência lógica de
dados, a possibilidade de alterar o esquema conceitual sem ter que alterar os esquemas do nível da
visão, proporcionado pelo mapeamento externo/conceitual (veja a Figura 3). E temos a
independência física de dados, que é a propriedade de poder alterar o esquema físico sem ter
que alterar os esquemas conceituais, proporcionado pelo mapeamento conceitual/interno
(veja a Figura 3).
Outra característica importante dos SGBDs é a possibilidade de recuperação de falhas, que é
realizada por meio do subsistema de backup e recuperação. Esse subsistema garante a existência de
cópias, no caso de perda de dados, e restaura o estado do sistema após a execução parcial de uma
transação. Nesse caso, ele assegura a restauração da situação do BD a um estado consistente e
íntegro, garantindo a execução total ou cancelamento total da(s) transação(ões).
Os SGBDs, segundo Elmasri e Navathe (2018), possuem um módulo de processamento e otimização
de consultas que, com base nas estruturas de armazenamento existentes, escolhe um plano de
execução eficiente para cada consulta demandada. Um plano de execução é uma sequência de
operações que é usada para realizar uma consulta no BD.
Ramakrishnan e Gehrke (2011) apontam, dentre as vantagens do uso dos SGBDs, o acesso eficiente
e seguro aos dados, por meio da imposição de restrições de integridade de dados. As
restrições de integridade são as regras do ambiente de informação observado (contexto), que
precisam ser contempladas no banco de dados. De forma geral, podemos dizer que são limitações
impostas aos dados para que o banco de dados conserve o seu estado válido. Como exemplo,
retornemos ao nosso cenário da clínica médica, e suponha as seguintes regras e seus respectivos
tipos de restrições:
Regra: o código do CRM (Conselho Regional de Medicina) é um número com, no máximo, cinco
dígitos.
Arquitetura de três esquemas.
https://cead.uvv.br/conteudo/wp-content/uploads/2021/07/Screenshot_3-5.png
07/08/23, 20:08 Arquiteturas de Sistemas Gerenciadores deBancos de Dados (SGBD)
https://ceadgraduacao.uvv.br/conteudo.php?aula=arquiteturas-de-sistemas-gerenciadores-de-bancos-de-dados-sgbd&dcp=arquitetura-de-dados-relacionais-i&topico=2 7/15
Restrição de integridade a ser aplicada: restrição de domínio (quando um atributo é associado a
um determinado conjunto de valores). Declarar o atributo ‘CRM’ como número inteiro com valores
entre 0 e 99999.
 
Regra: para agendar uma consulta, o paciente deve ter um cadastro na clínica.
Restrição de integridade a ser aplicada: restrição de integridade referencial (um atributo em
uma tabela-A que referencia uma tabela-B precisa existir nessa tabela-B). Declarar o atributo ‘CPF’
da tabela ‘Consulta’ como chave-estrangeira (fazendo referência à tabela ‘Paciente’).
Outra vantagem é o controle de concorrência, que permite múltiplos usuários acessarem o
banco de dados ao mesmo tempo, garantindo que as transações concorrentes operem de maneira
correta e eficiente.
3. Linguagens de acesso e gerenciamento de
um sgbd
Todas as consultas e atualizações realizadas em um BD devem ser especificadas em uma linguagem
no SGBD.
Linguagens usadas para definição de dados:
A linguagem utilizada para criação dos esquemas conceitual (lógico) e interno (físico), na grande
maioria dos SGBDs, é a Data Definition Language - DDL (linguagem de definição de dados). De
acordo com Silberschatz, Korth e Sudarshan (2020), ela permite definir os esquemas de cada tabela
(estrutura de armazenamento), os tipos de valores de cada atributo, as restrições de integridade, os
índices, a segurança e autorizações de acesso.
Elmasri e Navathe (2018), relatam que em alguns SGBDs a DDL é utilizada apenas para definição
do esquema conceitual (lógico), enquanto a Storage Definition Language - SDL (linguagem de
definição de armazenamento) é utilizada para definir o esquema interno (físico).
Uma terceira linguagem, a View Definition Language - VDL (linguagem de definição de visões) é
utilizada para definir o esquema externo, ou seja, as diversas visões dos usuários. Contudo, na
grande maioria dos SGBDs, a DDL é utilizada para a criação dos três esquemas.
 
Linguagens usadas para a manipulação dos dados
A recuperação, inserção, remoção e modificação dos dados são realizadas por meio da Data
Manipulation Language - DML (linguagem de manipulação de dados). Conforme Silberschatz,
Korth e Sudarshan (2020), existem dois tipos de linguagem de manipulação de dados: as DMLs
07/08/23, 20:08 Arquiteturas de Sistemas Gerenciadores de Bancos de Dados (SGBD)
https://ceadgraduacao.uvv.br/conteudo.php?aula=arquiteturas-de-sistemas-gerenciadores-de-bancos-de-dados-sgbd&dcp=arquitetura-de-dados-relacionais-i&topico=2 8/15
procedurais, que necessitam que os usuários especifiquem quais dados são necessários e como
obtê-los; e as DMLs declarativas, que necessitam apenas que o usuário especifique quais dados
são necessários.
 
Structured Query Language – SQL
Efetivamente, na maioria dos SGBDs, essas linguagens fazem parte de uma única linguagem. Como
exemplo, temos a Structured Query Language – SQL (linguagem de consulta estruturada) que foi
padronizada para os bancos de dados relacionais pela American National Standards Institute -
ANSI e a International Standards Organization – ISO. A Figura 04 ilustra a estrutura das
linguagens que compõem a SQL e seus principais comandos.
Além de agrupar as linguagens DML e DDL, conforme mostrado na Figura 04, fazem parte da
estrutura da SQL a Data Control Language - DCL (linguagem de controle de dados), e a Data
Transaction Language – DTL (linguagem de transação de dados). De acordo com Elmasri e
Navathe (2018), a DCL permite atribuir ou remover tipos de permissões a um ou mais usuários.
Essas permissões são autorizações concedidas pelo SGBD para leitura, inclusão, remoção ou
atualização de dados em uma relação (tabela) ou em uma visão (tabela virtual). Enquanto a DTL é
responsável pela confirmação ou reversão de uma transação.
Exemplos do uso da SQL:
 
 
- Criação da tabela Medico e alteração da tabela Paciente (adição do atributo cidade):
- Mostrar todas as consultas marcadas para o paciente “João Paulo”
Resumo dos comandos da SQL por sublinguagens.
https://cead.uvv.br/conteudo/wp-content/uploads/2022/08/substituicao1-7-768x202.png
07/08/23, 20:08 Arquiteturas de Sistemas Gerenciadores de Bancos de Dados (SGBD)
https://ceadgraduacao.uvv.br/conteudo.php?aula=arquiteturas-de-sistemas-gerenciadores-de-bancos-de-dados-sgbd&dcp=arquitetura-de-dados-relacionais-i&topico=2 9/15
4. Componentes e arquiteturas dos sgbds
De acordo com Silberschatz, Korth e Sudarshan (2020), os componentes funcionais de um SGBD
podem ser divididos em gerenciador de armazenamento, componentes do processador de
consulta e componente de gerenciamento de transações. A Figura 05, mostra de forma
resumida esses componentes.
O gerenciador de armazenamento é o responsável por armazenar, recuperar e atualizar os
dados no BD. Seus componentes incluem: gerenciador de autorização de integridade, gerenciador
de transação, gerenciador de arquivos e gerenciador de buffer.
O processador de consultas é o responsável por interpretar e traduzir as instruções DML para o
mecanismo de avaliação de consulta executá-las a um menor custo possível. Ele compreende os
seguintes componentes: interpretador DLL, compilador DML e mecanismo de avaliação de
consulta. 
O gerenciador de transações é o responsável por garantir que, mesmo na ocorrência de falhas
do sistema, o BD permaneça em estado consistente (correto). Além disso, ele garante que as
transações concorrentes sejam efetuadas sem conflitos. O gerenciador de transação consiste no
gerenciador de recuperação e no gerenciador de controle de concorrência.
Segundo Elmasri e Navathe (2018), “uma transação é um programa em execução que forma uma
unidade lógica de processamento de dados”. As transações devem possuir as propriedades de
Atomicidade, Preservação da Consistência, Isolamento e Durabilidade, denominada ACID. 
 
A atomicidade exige que a uma transação seja toda executada ou que nada seja executado. O
gerenciador de recuperação é o responsável por manter a atomicidade da transação.
Arquitetura simplificada de um SGBD
https://cead.uvv.br/conteudo/wp-content/uploads/2022/08/substituicao1-8-768x162.png
https://cead.uvv.br/conteudo/wp-content/uploads/2021/07/Screenshot_6-5.png
07/08/23, 20:08 Arquiteturas de Sistemas Gerenciadores de Bancos de Dados (SGBD)
https://ceadgraduacao.uvv.br/conteudo.php?aula=arquiteturas-de-sistemas-gerenciadores-de-bancos-de-dados-sgbd&dcp=arquitetura-de-dados-relacionais-i&topico=2 10/15
A preservação da consistência deve assegurar que o BD não perca sua consistência após a
execução da transação. Um BD consistente significa que ele atende todas as restrições de
integridades impostas pelo programador ou pelo SGBD.
O isolamento não permite que a transação seja interferida ou que interfira na execução de
outra. Essa propriedade é imposta pelo gerenciador de controle de concorrência.
A durabilidade, cuja responsabilidade é do gerenciamento de recuperação, deve garantir que
as modificações realizadas no BD pela transação, não se percam por alguma falha.
 
4.1 Arquitetura dos SGBDs
Como dito inicialmente, as arquiteturas dos SGBDs evoluíram de acordo com a evolução dos
sistemas computacionais. Nessa seção vamos falar um pouco mais sobre essas arquiteturas.
Na arquitetura centralizada, os bancos de dados são executados em um único sistema de
computador. Inicialmente, eram baseadas em mainframes e grande parte dos usuários acessaram o
sistema por meio de terminais de computador que não tinham poder de processamento. O esquema
dessa arquitetura é ilustrado na Figura 6.
No ambiente com a arquitetura cliente-servidor tem-se servidores especializados (de arquivos,
impressão, web, correio-eletrônico, etc.) que compartilham seus recursos com as estações de
trabalho, ou seja, os clientes. As máquinas clientes oferecem aos usuários as interfaces adequadas
para que possaminteragir com os servidores, além de capacidade de processamento local para
executar as aplicações.
Uma arquitetura cliente-servidor bastante simples é que distribui seus componentes apenas entre o
cliente e o servidor, chamado de duas camadas. Normalmente, os servidores são chamados de
servidor de consulta ou servidor de transação, e nos SGBDs relacionais é também
denominado de servidor SQL. A Figura 7 ilustra essa arquitetura.
Arquitetura centralizada.
Arquitetura cliente-servidor lógica de 2 camadas.
https://cead.uvv.br/conteudo/wp-content/uploads/2022/08/substituicao1-9-768x443.png
https://cead.uvv.br/conteudo/wp-content/uploads/2021/07/Screenshot_8-3.png
07/08/23, 20:08 Arquiteturas de Sistemas Gerenciadores de Bancos de Dados (SGBD)
https://ceadgraduacao.uvv.br/conteudo.php?aula=arquiteturas-de-sistemas-gerenciadores-de-bancos-de-dados-sgbd&dcp=arquitetura-de-dados-relacionais-i&topico=2 11/15
A arquitetura de três camadas possui uma camada intermediária entre o cliente e o servidor de
banco de dados, denominada servidor de aplicação ou servidor web, como mostra a Figura 8. De
acordo com Elmasri e Navathe (2018), a camada de aplicação permite que os usuários entrem com
os dados. A camada lógica de negócios lida com as regras e restrições do negócio antes de serem
encaminhadas para a terceira camada, o servidor do SGBD, ou devolvidas para o cliente. Essa
arquitetura é mais segura e possui melhor desempenho do que a de duas camadas.
Para aprofundar no tema e conhecer sobre as particularidades das arquiteturas denominadas
paralelas e distribuídas, recomendamos as seguintes leituras:
Arquitetura cliente-servidor lógica de 3 camadas com as nomenclaturas geralmente utilizadas.
RAMAKRISHNAN, Raghu; GEHRKE, Johannes. Capítulo 22 – Banco de Dados Paralelos e Distribuídos.
In: Sistemas de Gerenciamento de Bancos de Dados. 3a. ed. Porto Alegre: McGraw-Hill,
2011.p.604-641.
ALMEIDA, F. G.; FARIN, R. M. Rede de farmácias: um estudo utilizando banco de dados distribuídos. 
Clique aqui
5. Classificação dos sgbds
Uma das formas comumente empregadas para classificar os SGBDs é em relação ao modelo de
dados utilizado. O modelo de dados comercialmente mais utilizado é o modelo de dados
relacional, que foi baseado na teoria dos conjuntos e lógica de predicados, por Codd em 1970. No
modelo relacional, os bancos de dados são representados por várias tabelas relacionadas entre si e
armazenadas como um arquivo.
https://cead.uvv.br/conteudo/wp-content/uploads/2022/08/substituicao1-10.png
https://semanaacademica.org.br/system/files/artigos/revista_cientifica_bdd_rede_de_farmacias14ago.pdf
07/08/23, 20:08 Arquiteturas de Sistemas Gerenciadores de Bancos de Dados (SGBD)
https://ceadgraduacao.uvv.br/conteudo.php?aula=arquiteturas-de-sistemas-gerenciadores-de-bancos-de-dados-sgbd&dcp=arquitetura-de-dados-relacionais-i&topico=2 12/15
O modelo de dados orientado a objetos descreve o banco de dados usando os conceitos de
objetos, suas propriedades e operações. Ele elevou o nível de abstração e pôde simplificar alguns
problemas do modelo relacional. Entretanto, seu uso não se tornou tão generalizado,
comercialmente, como o relacional. Por outro lado, o modelo relacional tem evoluído e incorporado
conceitos relacionados ao modelo orientado a objeto, o que fez surgir a categoria denominada
modelo objeto-relacional.
O crescimento de aplicações, cujas restrições impostas pelos modelos relacionais dificultam a
implementação de suas estruturas de dados, fez com que novos modelos fossem desenvolvidos.
Dessa forma, de acordo Elmasri e Navathe (2016), surgiram os seguintes modelos de dados:
Modelo de dados de documentos, que é baseado em JSON (Java Script Objetcr Notation)
e “armazena os dados como documentos”.
Modelo de dados chave-valor, associa uma chave a um valor que pode ser um registro ou
objeto.
Modelo de dados de grafo, onde os nós dos grafos representam os objetos e suas arestas as
relações entre os objetos.
Modelo de dados em colunas, armazena no disco as colunas de linhas que são agrupadas e,
assim, otimiza a recuperação e armazenamento de dados.
Para conhecer um pouco mais a respeito desses modelos, assista o seguinte vídeo:
Além desses modelos, alguns SGBDs têm empregado o modelo XML que utiliza estruturas de
árvores hierárquicas onde os dados são representados como elementos e podem ser aninhados para
criar estruturas complexas. Alguns SGBDs relacionais têm adicionado, também, esses recursos.
Considerados como modelos de dados legados, os modelos de dados hierárquico e em rede
foram os primeiros a serem concebidos, como comentamos na introdução desta lição. No modelo
hierárquico os dados eram organizados como uma árvore invertida, onde cada entidade tinha
apenas um pai, mas podia ter vários filhos e, no topo da hierarquia, existia uma entidade chamada
de raiz, como mostra a Figura 09(a). O modelo de dados de rede, considerado como uma
extensão do modelo hierárquico, tinha as entidades organizadas como um grafo, no qual algumas
entidades poderiam ser acessadas por diversos caminhos, conforme ilustra a Figura 09 (b).
CODD, E. F.; A Relational Model of Data for Large Shared Data Banks. Communications of the
ACM. v. 13, n. 6, 1970.
Clique aqui
https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf
07/08/23, 20:08 Arquiteturas de Sistemas Gerenciadores de Bancos de Dados (SGBD)
https://ceadgraduacao.uvv.br/conteudo.php?aula=arquiteturas-de-sistemas-gerenciadores-de-bancos-de-dados-sgbd&dcp=arquitetura-de-dados-relacionais-i&topico=2 13/15
Os SGBDs também podem ser categorizados de acordo com o número de dados suportados, sendo
monousuários, quando o sistema pode ser acessado por apenas um usuário por vez, ou
multiusuários, quando permitem o acesso de vários usuários simultaneamente.
Quanto ao número de locais distribuídos, eles podem ser centralizados, onde todo o sistema está
armazenado em um único computador, ou distribuídos, onde o SGBD encontra-se distribuído em
vários locais e conectados a uma rede de computadores. Eles podem utilizar um mesmo software de
SGBD em todos os locais, sendo homogêneos, ou podem usar diferentes softwares de SGBD em
cada local, heterogêneos.
Outras classificações podem ser encontradas nas seguintes referências:
a) Modelo de dados hierárquico de uma universidadeb) Modelo de dados de rede de uma universidade
ELMASRI, Ramez; NAVATHE, Shamkant B. Classificação dos Sistemas Gerenciadores de Banco de
Dados. Sistemas de Banco de Dados. 7a. ed. São Paulo: Editora Pearson, 2018, p.47-50.
6. Conclusão
Nesta lição, vimos a importância dos SGBDs para o gerenciamento de informações e que a escolha
da sua arquitetura dependerá da demanda dos programas de aplicação. Vimos também que, as
arquiteturas dos SGBDs têm evoluído similarmente às arquiteturas dos sistemas computacionais,
passando de um único software integrado e monousuário a um software modular e distribuído.
Os primeiros SGBDs introduziram os modelos de dados em rede e hierárquico, seguindo o modelo
de dados relacional que é o mais utilizado até os dias de hoje, ainda que as novas tecnologias
possibilitem o gerenciamento de dados não estruturados.
https://cead.uvv.br/conteudo/wp-content/uploads/2021/07/Screenshot_10-3.png
07/08/23, 20:08 Arquiteturas de Sistemas Gerenciadores de Bancos de Dados (SGBD)
https://ceadgraduacao.uvv.br/conteudo.php?aula=arquiteturas-de-sistemas-gerenciadores-de-bancos-de-dados-sgbd&dcp=arquitetura-de-dados-relacionais-i&topico=2 14/15
As principais características e benefícios dos SGBDs incluem a abstração de dados, o suporte à
múltiplas visões dos dados, a independência entre os dados e a aplicação, a recuperação das falhas
do sistema, dentre outras. As linguagens utilizadas nos SGBDs se resumem na DDL e DML, sendo
que a SQL é a linguagem padrão para os SGBDs relacionais e que contém todas as funcionalidades
das demais.
Os componentes funcionais dos SGBDs podem ser divididos em: gerenciador de armazenamento,
processador de consultas e gerenciador de transações.Também exploramos sobre as arquiteturas
dos SGBDs: a centralizada, a cliente-servidor de uma ou mais camadas; e, por fim, abordamos
sobre as formas de classificar os SGBDs.
7. Referências
ALMEIDA, F. G.; FARIN, R. M. Rede de farmácias: um estudo utilizando banco de dados
distribuídos. Disponível em:
https://semanaacademica.org.br/system/files/artigos/revista_cientifica_bdd_rede_de_farmacias1
4ago.pdf
BACHMAN C. W., The Origin of the Integrated Data Store (IDS): The First Direct-Access DBMS.
IEEE Annals of the History of Computing, v. 31, n. 4, 2009. pp. 42-54. doi:
10.1109/MAHC.2009.110.
BACHMAN, C. W. Data structure diagrams. ACM SIGMIS Database: the DATABASE for Advances
in Information Systems. v.1, n.2, 1969. pp 4-10. https://doi.org/10.1145/1017466.1017467
BERG, Kristi L.; SEYMOUR, Tom; GOEL, Richa. History of databases. International Journal of
Management & Information Systems. v.17, n.1, 2013. Disponível em:
https://clutejournals.com/index.php/IJMIS/article/view/7587/7653 Acessado em: 07 jun. 2021.
DATE, C.J. Introdução a Sistemas de Banco de Dados. 8a. ed. Rio de Janeiro: Elsevier, 2003.
ELMASRI, Ramez; NAVATHE, Shamkant B. Fundamentals of Database Systems. 7th edition.
Hoboken: Pearson Education, 2016.
ELMASRI, Ramez; NAVATHE, Shamkant B. Sistemas de Banco de Dados. 7a. ed. São Paulo:
Editora Pearson, 2018.
07/08/23, 20:08 Arquiteturas de Sistemas Gerenciadores de Bancos de Dados (SGBD)
https://ceadgraduacao.uvv.br/conteudo.php?aula=arquiteturas-de-sistemas-gerenciadores-de-bancos-de-dados-sgbd&dcp=arquitetura-de-dados-relacionais-i&topico=2 15/15
PATRICK, Robert L. IMS @ Conception. IEEE Annals of the History of Computing, v. 31, n. 4,
2009, pp. 62-65. doi: 10.1109/MAHC.2009.102.
RAMAKRISHNAN, Raghu; GEHRKE, Johannes. Sistemas de Gerenciamento de Bancos de Dados.
3a. ed. Porto Alegre: McGraw-Hill, 2011 (ebook).
SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. Modelo Relacional. In: Sistema de
banco de dados. 6. ed. Rio de Janeiro: Elsevier, 2006, pp.25-31.
SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. Sistema de banco de dados. 7. ed.
- Rio de Janeiro: LTC, 2020 (ebook).
YOUTUBE. Canal TI. (2018). NoSQL em 5 minutos. 4:53 Disponível em:
https://youtu.be/DnfcIuqa0xo

Mais conteúdos dessa disciplina