Escolar Documentos
Profissional Documentos
Cultura Documentos
MODELAGEM
DE DADOS
César Torres Fernandes
E-book 3
Neste E-Book:
INTRODUÇÃO���������������������������������������������� 3
SISTEMA DE GERENCIAMENTO
DE BANCO DE DADOS OBJETO-
RELACIONAL������������������������������������������������ 4
VISÃO GERAL DE UM SGBDOR�������������� 8
Modelagem de dados����������������������������������������������8
Modelagem de banco de dados objeto-
relacional��������������������������������������������������������������� 10
SISTEMA DE GERENCIAMENTO DE
BANCO DE DADOS DISTRIBUÍDOS���� 14
SISTEMA DE BANCO DE DADOS
DISTRIBUÍDO����������������������������������������������19
SGBDD E AMBIENTE ������������������������������ 22
PROJETO DE BANCO DE DADOS
DISTRIBUÍDO���������������������������������������������29
Fragmentação de dados �������������������������������������� 29
REPLICAÇÃO DE DADOS�����������������������30
ALOCAÇÃO DE DADOS���������������������������31
CONSIDERAÇÕES FINAIS���������������������� 32
SÍNTESE������������������������������������������������������� 33
2
INTRODUÇÃO
Neste módulo, estudaremos os sistemas de geren-
ciamento de banco de dados objeto-relacional e
suas principais características. Em seguida, pas-
samos ao estudo dos sistemas de gerenciamento
de banco de dados distribuídos.
3
SISTEMA DE
GERENCIAMENTO DE
BANCO DE DADOS
OBJETO-RELACIONAL
Neste tópico, conheceremos um pouco sobre os
sistemas de gerenciamento de banco de dados
objeto-relacional e suas principais características.
4
Um modelo de dados é uma organização lógica de
objetos (entidades) do mundo real, suas restrições
e seus relacionamentos, que podem ser representa-
dos por diagramas utilizando diversas técnicas de
modelagem. Independentemente do método esco-
lhido para o projeto de banco de dados, a notação de
modelagem é importante porque permite a represen-
tação de relacionamentos entre entidades usando
uma representação padrão, que os projetistas de
banco de dados podem transformar em esquemas
de banco de dados usados para armazenar objetos
e seus relacionamentos.
5
(voz, vídeo), dados que não estão na primeira forma
normal e tipos de dados definidos pelo usuário.
Podcast 1
Trata-se modelo que possui as seguintes vantagens:
● Remoção de incompatibilidade de impedância: a
principal vantagem de recorrer a um banco de da-
dos objeto-relacional em aplicações desenvolvidas
usando linguagens de programação orientadas a
objetos está na remoção da incompatibilidade de
impedância, ou seja, incompatibilidades que ocorrem
em cada interface entre dois conjuntos de ferramen-
tas devido aos diferentes modelos de representação
(Relacional e Orientado a objeto), pois representam
diferentes dados e tipos de computação.
● Facilidade de modelar objetos do mundo real e
relações entre eles: o uso dos sistemas de gerencia-
mento de banco de dados objeto-relacional oferece
uma maneira mais natural de representar entidades
do mundo real e seus relacionamentos. O SGBDOR
6
permite que o projetista pense nos problemas em
um nível mais alto de abstração sem o ônus de ma-
pear os dados da aplicação para tabelas no modelo
relacional.
● Capacidade de criar tipos de dados definidos pelo
usuário: a capacidade de criar tipos de dados de-
finidos pelo usuário em um banco de dados é algo
necessário, dado que capacita o sistema a aceitar a
criação de outros tipos de dados, o que aumenta a
expressividade e a capacidade de aplicações orien-
tadas a objeto, pois os objetos podem ser armaze-
nados diretamente em um banco de dados sem a
necessidade de converter objetos de aplicativo em
tipos de dados relacionais.
● Objetos e métodos armazenados juntos: nos sis-
temas de gerenciamento de banco de dados re-
lacionais, os dados são armazenados em tabelas
relacionais, ao passo que as store procedures são
armazenadas no esquema do banco de dados. No
entanto, em um sistema de gerenciamento de banco
de dados objeto-relacional, os dados e métodos para
manipular esses dados são armazenados juntos.
● Referências a objetos: em um SGBDR, as junções
relacionais são consideradas uma das mais caras
operações, pois elas consomem muitos recursos
para se executar. Em um sistema de gerenciamento
de banco de dados objeto-relacional, as tabelas re-
lacionadas podem ser acessadas usando referências
de objeto em vez de junções de tabela. As referên-
cias a objetos facilitam a navegação entre objetos
usando a notação de ponto orientada a objetos.
7
VISÃO GERAL DE UM
SGBDOR
À medida que se desenvolvem mais aplicativos
orientados a objetos, cada vez mais aparecem re-
quisitos complexos para os tipos de relacionamen-
tos e dados que esses aplicativos devem manipular.
Os sistemas de gerenciamento de banco de dados
objeto-relacional têm a capacidade de representar
dados complexos e os relacionamentos entre obje-
tos complexos. Em outras palavras, ele representa a
combinação de recursos das linguagens de progra-
mação orientadas a objeto e um sistema de banco
de dados relacional.
Modelagem de dados
A modelagem de dados é uma das partes mais im-
portantes do desenvolvimento de banco de dados
e aplicativos, visto que ela especifica os tipos de
propriedade e operações do mundo real, bem como
de que maneira deve ser representado no banco de
dados. Um modelo de dados consiste em um con-
junto de estruturas de dados para armazenar dados,
relacionamentos e restrições de integridade.
8
como o sistema será utilizado e todos os atributos
necessários para desenvolver o sistema. Uma vez
identificado o objetivo do sistema, os projetistas
podem determinar quais atributos serão necessários
para desenvolver o sistema.
9
Modelagem de banco de dados
objeto-relacional
Semelhante ao modelo relacional, um modelo de
dados objeto-relacional deve ter os seguintes
componentes:
● Estruturas de dados usadas para armazenar dados:
a linguagem SQL (a partir da versão SQL: 2003)
fornece tipos de objetos e tabelas de objetos para
armazenar dados de objetos. Um tipo de objeto é
uma estrutura lógica que contém atributos de um
objeto. Antes de criar uma tabela de objetos, um
tipo de objeto deve ser criado com os atributos que
definem o tipo de objeto. Depois que um tipo de
objeto existe, uma tabela de objetos pode ser criada
usando comando SQL.
● Cada linha em uma tabela de objetos é uma ins-
tância de objeto único com os tipos de dados es-
pecificados no tipo de objeto. Os objetos são arma-
zenados em uma tabela relacional como objetos de
coluna, objetos de linha, ou tabelas aninhadas. Os
tipos de objetos usados como atributos em uma
tabela de objetos são armazenados como objetos
de coluna.
10
● Restrições de integridade: restrições existem nos
objetos do mundo real e nos relacionamentos entre
objetos. Datas, horários e propriedades físicas dos
objetos são exemplos de restrições em entidades
físicas. Há, em outras palavras, restrições tanto no
mundo físico quanto no mundo abstrato. No mundo
abstrato, por exemplo, as restrições são colocadas
nos objetos por humanos ou por limites em tecno-
logia. Nos bancos de dados, as restrições são usa-
das para implementar as regras de negócios. Pode
haver também restrições impostas aos atributos
relacionados às limitações de hardware ou software.
As restrições definem, portanto, quais valores são
válidos para cada atributo.
● Relacionamentos: uma das principais diferenças
entre um SGBDR e um SGBDOR encontra-se em
como as relações são gerenciadas. Um banco de
dados relacional tem chaves primárias e estran-
geiras que relacionam tabelas entre si. Entretanto,
em um banco de dados objeto-relacional, os rela-
cionamentos entre objetos são dão por padrão com
identificadores de objetos (OID – Object Identifier).
11
Ao utilizar um OID para representar relacionamentos,
em vez de chaves primárias e estrangeiras, resulta
em melhor desempenho para um banco de dados
objeto-relacional, pois as junções não são neces-
sárias para acessar dados em tabelas relacionadas.
Além dos OID, existem outros relacionamentos no
modelo objeto-relacional que são herança, isto é,
associação e agregação.
● Herança: a herança possibilita que projetistas to-
mem objetos que tenham atributos e métodos se-
melhantes, bem como abstraiam as semelhanças,
criando subclasses que herdam de uma superclasse.
Todas as instâncias de subclasses também são
instâncias da superclasse, assim como todas as
propriedades da superclasse são propriedades da
subclasse.
12
● Relacionamentos de agregação: além da herança e
da associação, os bancos de dados objeto-relacional
também devem fornecer relacionamentos de agre-
gação entre os objetos. Uma agregação é um agru-
pamento de objetos cuja relação é todo-parte. Esse
relacionamento é uma coleção de objetos (subpar-
tes) que compõem uma coleção inteira.
● Encapsulamento objeto-relacional: um recurso das
linguagens de programação orientadas a objetos, o
encapsulamento é a capacidade de armazenar dados
e métodos juntos em um objeto. O encapsulamento
em um SGBDOR fornece independência lógica de
dados, permitindo modificações nos métodos dos
objetos sem ter que fazer alterações nos aplicativos
que os acessam.
● Abstração objeto-relacional: a abstração é um
recurso das linguagens de programação orientadas
a objeto que tem a capacidade de isolar aspectos
de um problema ou de certos dados importantes, ao
suprimir as informações que não são importantes
para a resolução do problema. A abstração permite
que os projetistas quebrem os problemas em pro-
blemas menores, quando da utilização dos dados
acessados por meio de métodos públicos.
SAIBA MAIS
Saiba mais sobre a Abstração. Leia o artigo Mo-
delos teóricos em ciência da informação: abstra-
ção e método científico, de Luís Fernando Sayão
(2001), disponível em: http://www.scielo.br/pdf/ci/
v30n1/a10v30n1. Acesso em: 19 nov. 2019.
13
SISTEMA DE GERENCIAMENTO
DE BANCO DE DADOS
DISTRIBUÍDOS
Durante as décadas de 1970 e 1980, as instituições
usavam sistemas de gerenciamento de banco de
dados centralizados, ou seja, todos os dados es-
tavam armazenados em um único local, normal-
mente em um mainframe, o acesso aos dados for-
necido por meio de terminais sem capacidade de
processamento.
SGBD
Resposta
Solicitação
Banco de Dados
Local
14
Surgia, então, a necessidade de acesso rápido e não
estruturado aos bancos de dados, utilizando con-
sultas para gerar informações no momento em que
eram necessárias para a tomada de decisão. Dessa
forma, os sistemas de gerenciamento de banco de
dados relacionais eram capazes de oferecer um am-
biente em que se atendesse às necessidades de
informações não estruturadas, empregando con-
sultas por uma linguagem declarativa (linguagem
SQL, por exemplo).
15
cada vez mais rápidas, complexas e com custos de
implantação mais acessíveis às instituições, sendo
consequentemente adotada cada vez mais pelas
corporações, como soluções computadorizadas
alinhadas às suas estratégias.
16
SAIBA MAIS
Leia Data Mining e Data Warehouse, de Ederson
Tyiuji Noya, Guilherme de Freitas Perinazzo, Gui-
lherme Masao Oyakawa e Rafael Silva de Milha
e saiba mais de datamining e datawarehouse. Dis-
ponível em:
https://edisciplinas.usp.br/pluginfile.php/777919/
course/section/288273/Seminario_Data%20Mi-
ning%20e%20Data%20Warehouse.pdf. Acesso
em: 19 nov. 2019.
17
O ambiente mais moderno e dinâmico de negócios
gerou uma demanda por aplicações com acesso a
dados de diferentes fontes em diferentes localiza-
ções geográficas, surgiu assim a necessidade de
um sistema de gerenciamento de banco de dados
distribuído.
18
SISTEMA DE BANCO DE
DADOS DISTRIBUÍDO
Para Rob e Coronel (2011), um sistema de geren-
ciamento de banco de dados distribuído (SGBDD)
controla o armazenamento e o processamento de
dados relacionados logicamente por meio de siste-
mas interconectados, sendo que dados e operações
de processamento são distribuídos em diversas lo-
calizações geográficas.
19
● Promoção e aprimoramento das comunicações
entre departamentos, equipes e clientes.
● Possibilidade de ampliação da rede de uma local
sem afetar as operações de outras localizações.
● Diminuição dos custos operacionais, pois os com-
putadores têm baixo custo e bom desempenho, per-
mitindo adicionar estações de trabalho a uma rede.
● Visto que os dados se distribuem em vários locais,
existe a diminuição de risco de falha em ponto único,
pois o trabalho se mantém nas outras estações.
● Transformação de computadores e seus sistemas
com interface gráfica mais amigáveis, simplificando
o treinamento e a utilização por parte dos usuários
finais.
● Existência da independência do processador, pois
os usuários finais com seus computadores, indepen-
dente do processador, podem acessar e processar
os dados armazenados localmente.
20
● Responsabilidade da segurança dos dados é com-
partilhada por diversas pessoas em diferentes locais.
● Falta de padrões de comunicação de dados no
nível do banco de dados.
● Necessidade de ampliação do armazenamento e
infraestrutura, pois são necessárias várias cópias
de dados em diferentes locais.
● Existência do aumento de custos associados ao
treinamento, pois o valor desses cursos costuma
ser mais elevado.
● Bancos de dados distribuídos exigem infraestru-
tura duplicada para operar, aumentando os custos
de projeto de um banco de dados desse tipo.
21
SGBDD E AMBIENTE
No processamento distribuído, o processamento
lógico do banco de dados é compartilhado entre
dois ou mais locais fisicamente independentes e
conectados por uma rede de computadores. Observe
a Figura 2.
Local 1
Local 2
SGBD
Rede de
Comunicação Local 3
Banco de Dados
Local
22
fragmento gerenciado por seu processo de banco
de dados local.
Local 2
SGBD
Local 1
SGBD
Fragmento 2
Rede de
Comunicação
Local 3
Fragmento 1
SGBD
Fragmento 3
23
● Software:
Processador de transações – PT: software que
recebe e processa as solicitações de dados das
aplicações locais ou remotas.
Processador de dados – PD: software residente
em cada estação de trabalho, armazenando e re-
cuperando dados existentes no local.
24
3. Uma função de transformação para decompor
as solicitações de dados com maior complexidade
em componentes atômicos.
25
Todas essas funções devem ser realizadas pelo
sistema de gerenciamento de banco de dados dis-
tribuído de forma transparente para as aplicações e
para os usuários finais. Assim, os usuários finais não
precisam saber que o banco de dados está dividido
em fragmentos, tampouco onde estão localizados.
26
6. Transparência de replicação: para o usuário, exis-
te um único banco de dados lógico, pois o SGBDD
gerencia todos os fragmentos de modo transparente.
Podcast 2
27
– MPMD), em que o SGBDD tem suporte para vários
processadores de dados e de transações em diver-
sas localizações. Nesse cenário, podemos classificar
os SGBDDs como homogêneos ou heterogêneos,
dependendo dos níveis de suporte e dos diferentes
tipos de SGBD utilizados:
● SGBDD homogêneo: neste ambiente, temos um
único tipo de SGBD centralizado na rede, assim, o
mesmo sistema é executado em diferentes plata-
formas de servidores.
● SGBDD heterogêneo: neste ambiente, temos di-
ferentes tipos de SGBD centralizados na rede, po-
dendo dar suporte, inclusive, a SGBD com diferentes
modelos (hierárquico, em rede ou relacional), sendo
executados em vários tipos de plataformas, sistemas
operacionais e tipos de redes.
28
PROJETO DE BANCO DE
DADOS DISTRIBUÍDO
Em um projeto de banco de dados distribuído, além
dos conceitos relacionados aos projetos de mo-
delos de banco de dados em rede, hierárquicos e
relacionais, devemos considerar outros aspectos,
como fragmentação de dados, replicação de dados
e alocação de dados.
Fragmentação de dados
A fragmentação de dados é a possibilidade de dividir
um objeto simples (banco de dados ou uma tabela)
em dois ou mais fragmentos, uma vez que as in-
formações dessa operação ficam armazenadas no
catálogo de dados distribuído. Existem três formas
de realizar a fragmentação:
1. Fragmentação horizontal: possibilita a divisão
de uma tabela em subconjuntos de linhas (tuplas),
nos quais cada fragmento é armazenado em um nó
diferente.
2. Fragmentação vertical: possibilita a divisão de
uma tabela em subconjuntos de atributos (colu-
nas), e cada fragmento armazenado fica em um nó
diferente.
3. Fragmentação mista: possibilita a combinação
das estratégias anteriores, ou seja, uma tabela pode
ser dividida em vários fragmentos horizontais, cada
um com um subconjunto de atributos.
29
REPLICAÇÃO DE DADOS
A replicação de dados é a possibilidade do arma-
zenamento de cópias de dados em diversas loca-
lizações por meio de uma rede de computadores,
atendendo a necessidades específicas de informa-
ção do projeto de banco de dados, auxiliando na
disponibilidade de dados e no tempo de resposta,
reduzindo diretamente os custos de comunicação e
consulta. No entanto, a replicação acarreta cargas
adicionais de processamento ao SGBDD para a ma-
nutenção de cada cópia de dados existente, além de
aumentar os custos de armazenamento e tempos
de processamento das transações.
30
ALOCAÇÃO DE DADOS
A alocação de dados tem relação direta com o modo
como o banco de dados é fragmentado, pois a dis-
tribuição de dados por uma rede de computadores
pode ser realizada por meio de particionamento,
replicação de dados ou uma combinação de ambas.
Os tipos de alocação de dados são:
31
CONSIDERAÇÕES FINAIS
Neste texto, abordamos uma visão geral sobre o sis-
tema de gerenciamento de banco de dados objeto-
-relacional, no qual apresentamos todos os concei-
tos e as características desse tipo de SGBD, suas
vantagens e desvantagens, bem como sua relação
com as linguagens de programação orientadas a
objeto.
32
SÍNTESE
ESTRUTURA E
MODELAGEM DE DADOS
MODELAGEM DE DADOS 3