Buscar

Modelagem e Banco Dados (UniGoiás)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 225 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 225 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 225 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Sistemas de 
banco de dados 
 BRISIGHELLO, V.
Sistemas de banco de dados / Vinícius Brisighello 
Florianópolis, 2019; 20 páginas.
Copyright © 2019. Delinea Tecnologia Educacional. Todos os direitos reservados.
3
Sistemas de banco 
de dados
Apresentação
Neste momento, estudaremos sobre o processo de modelagem de banco de dados 
e, para isso, precisaremos fazer uma análise de suas definições e das três estruturas 
fundamentais dos sistemas: os dados, a informação e o conhecimento. A seguir, 
refletiremos as características e diferenças entre Sistema de Arquivos e Sistema de 
Banco de Dados.
Estudaremos os diferentes modelos de sistemas de banco de dados, sua evolução 
histórica, bem como suas principais funções, recursos e finalidades. Analisaremos 
os tipos de perfis e as perspectivas dos usuários e os profissionais relacionados a 
esses sistemas. Na sequência, veremos como funciona a arquitetura de sistemas de 
bancos de dados.
Definições
Para entendermos sobre Banco de Dados (BD, e em inglês database, sigla DB), 
primeiramente é necessário compreender as definições de Manãs (2007) e Rezende 
(2007) a respeito de três estruturas fundamentais dos sistemas: os dados, a 
informação e o conhecimento.
Os dados são os fatos em sua forma primária e sem qualquer tipo 
de tratamento, “uma representação simbólica (isto é, feita por meio 
de símbolos), quantificada ou quantificável” (SETZER; SILVA, 2005, 
p. 2). 
Atenção
Os itens de dados referem-se a como a organização irá armazenar suas informações 
e como elas serão registradas, levando em consideração que essas informações 
armazenadas não são organizadas para transmitir qualquer significado específico. 
Sendo que esses dados podem ser números, letras, figuras, sons ou imagens. 
4
Quando os dados são processados, ou seja, quando são relacionados logicamente 
e organizados para atingir um resultado definido, eles são transformados em 
informação. Exemplos de dados: número (1, 2), a palavra ‘cachorro’, nome ‘Teco’, 
cor ‘preta’, dentre outros. Exemplo de informação: ‘tenho um cachorro de cor preta, 
com 2 anos de idade, chamado Teco’. Veja na figura a seguir a representação desse 
processamento de dados, onde input (entrada) são os dados, e output (saída) é a 
informação. 
Figura: Transformação de dados (entrada) em informação (saída) 
Fonte: Plataforma Deduca (2018). 
Segundo Stair e Reynolds (2006), a informação pode ser aplicada na prática, 
funcionando como transmissora de entendimento e possibilitando a geração de 
cenários, o que consiste em conhecimento. Exemplo de conhecimento é reconhecer 
uma foto, associando à uma informação prévia. Com relação à parte de informação, 
de acordo com Turban, Rainer e Potter (2007), refere se aos dados que foram 
organizados de modo que tenham significado e valor para o receptor. Outro aspecto 
importante para o SI, conforme Imoniana (2005), está ligado ao conhecimento, 
que consiste em dados e/ou informações que, organizadas e processadas, 
emitirão entendimento, experiência e prática aplicados a um problema ou atividade 
empresarial.
Ao irmos ao supermercado fazer compras e ao final, após passar pelo caixa, 
recebemos o cupom fiscal com a relação dos itens comprados, seus respectivos 
códigos, quantidade e valores unitários, pode-se dizer que a pessoa tem dados em 
sua forma bruta, ou seja, por si só pode ou não ser relevante. Porém, quando esses 
5
dados passam por alguma transformação e passam a ter algum valor ou propósito 
para a empresa no tocante à tomada de decisões, eles passam a ser conhecidos 
como informação, que é o caso do cupom possuir data, hora, o número do caixa, 
nome do atendente, do supermercado, subtotal por item, total da compra, forma de 
pagamento e CPF do comprador.
A informação tornou-se recurso estratégico. Sua importância, como bem explica 
Valentim (1997), resulta numa busca constante por melhores resultados, sustentada 
pelo crescente desenvolvimento tecnológico, o qual possibilitou a transformação 
das organizações, principalmente no que diz respeito à sua estruturação, divisão do 
trabalho, acompanhamento de processos e novas formas de coordenação.
Durante muito tempo, a TI foi tratada e operacionalizada pelas empresas em 
ambientes circunscritos a Centros de Processamento de Dados (CPD), com pessoas 
altamente especializadas que respondiam por suas funções. Rezende e Abreu 
(2008) contam que esse período foi caracterizado pelo custo elevado na aquisição 
de equipamentos de informática e manutenção de uma equipe especializada no 
trato com aquelas tecnologias. Diante desse fato, e aliado às transformações pelas 
quais o ambiente empresarial vem passando ao longo dos últimos anos, o simples 
fato de se ter uma boa estrutura de informática deixou de ser fator diferencial para 
empresas na busca e manutenção de determinada vantagem de ordem competitiva 
(MAÑAS, 2007). Isso está relacionado à falta de estratégia objetiva de implantação 
de tecnologia, pela desconsideração de aspectos comportamentais e políticos 
envolvidos na implantação de um SI na organização e pela valorização apenas da 
tecnologia em detrimento da gestão da informação, cuja definição é
Decidir o que fazer com base em informação e decidir o que fazer 
sobre informação. É ter a capacidade de selecionar dum repositório de 
informação disponível aquela que é relevante para uma determinada 
decisão e, também, construir a estrutura e o design desse repositório. 
(ZORRINHO, 1995, p. 146). 
Entretanto, considera-se que: 
O conhecimento dos sistemas implica em conhecimento não só da parte 
técnica, mas também da parte organizacional com sua hierarquia, regras, 
organização e métodos, e também da parte das pessoas que irão compor 
o sistema: suas funções, necessidade de treinamentos, aspectos sociais 
e psicológicos que no conjunto atuarão para o bom funcionamento do 
sistema. (BOGHI; SHITSUKA, 2007, p. 81). 
6
A produção de conhecimento é realizada em três níveis: estratégico, tático e 
operacional. O nível estratégico é aquele destinado ao assessoramento para 
tomadores de decisões sobre assuntos de maior complexidade, possibilitando a 
adoção de medidas preventivas por parte da direção geral. A atividade em nível 
tático é direcionada a uma determinada área de interesse. E o nível operacional tem 
como objetivo a tomada de decisões baseada em fatos / ações (LIRA et al., 2008). 
Audy (2005) compreende conhecimento como o entendimento de um conjunto de 
informações e de como estas podem ser úteis para apoiar determinado processo, 
tarefa ou tomada de decisão. Em resumo, o dado gera informação e esta gera 
conhecimento. Segundo Laudon e Laudon (2004), um sistema de informação pode 
ser definido como um conjunto de componentes inter-relacionados trabalhando 
juntos para coletar, recuperar, processar, armazenar e distribuir informações, com 
a finalidade de facilitar o planejamento, o controle, a coordenação, a análise e o 
processo decisório em organizações. Um sistema de informação é formado por 
todos os componentes que coletam, manipulam e disseminam informações. Neste 
sistema há o uso de hardware, software, pessoas, sistemas de comunicação como 
linhas telefônicas, e os dados em sua forma primária. Suas principais atividades são 
a entrada de dados, o processamento dos dados em informação, o armazenamento 
destes e, por objetivo principal de um SI, a informação filtrada (REZENDE; ABREU, 
2008). 
Os SIs podem ter diversas classificações, como a forma evolutiva, quanto à 
abrangência da organização, bem como quanto ao suporte às decisões. Para 
Pereira e Fonseca (1997, p. 241), os sistemas de informação têm por finalidade “a 
captura e/ou a recuperação de dados e sua análise em função de um processo de 
decisão envolvem, de modo geral, o decisor, o contexto, o objetivo da decisão e a 
estrutura de apresentação das informações”. 
De forma estruturada, os Sistemas de Informação dão condições para que as 
empresas reajam às mutações do mercado e se sintam alicerçadas por um processodecisório forte o suficiente para garantir a resolução dos problemas. Veja na figura a 
seguir a sequência do processo de tomada de decisão: 
7
Figura: Processo de tomada de decisão
Fonte: Plataforma Deduca (2018). 
Logo, BD é uma coleção de dados relacionados que representam aspectos do 
mundo real (minimundo ou universo de discurso) e mudanças no mundo real devem 
ser refletidas neste ambiente. Esta coleção lógica e coerente de dados possui 
significado inerente e é construída em atendimento a uma proposta específica. Uma 
organização randômica (aleatória) de dados não pode ser considerada um BD. 
Minimundo é uma “porção da realidade captada pelo analista, 
que a gestão de negócios de uma organização tem interesse 
em observar, controlar e administrar. A complexidade existente 
no momento de analisar um minimundo pode levar o analista a 
subdividi-lo em partes menores, às quais damos o nome de visão 
de processo de negócio” (MACHADO, 2014, p. 18). 
Atenção
Os bancos de dados estão cada vez mais presentes em nosso dia a dia, visto que a 
maioria das atividades que realizamos envolvem, direta ou indiretamente, o uso de 
uma base de dados. Eis algumas aplicações representativas: 
8
• Aviação comercial – para reservas e informações de horários; 
• Bancos – para informações de clientes, contas, empréstimos e transações 
financeiras; 
• Economia – para armazenar informações sobre valores mobiliários, vendas e 
compras de instrumentos financeiros como ações e títulos; 
• Escolas – para informações de alunos, registros de cursos e notas; 
• Telecomunicações – para manter registros de chamadas realizadas, contro-
lar fluxo de dados móveis, gerar cobranças; 
• Transações de Cartão de Crédito – para compras com cartões de crédito e 
geração de faturas mensais. 
Sistema de Arquivos X Sistemas de 
Banco de Dados
Quando o acesso aos dados e seu gerenciamento são feitos diretamente por 
programas aplicativos, trata-se de um Sistema de Arquivos, também chamado de 
Sistema de Processamento de Arquivos Convencional. Nele, o processamento é sem 
BD, portanto os dados de diferentes aplicações não estão integrados, pois foram 
projetados para atender a uma aplicação específica. O mesmo objeto é múltiplas 
vezes representado nas várias aplicações, gerando redundância não controlada dos 
dados, inconsistência e redigitação.
Você lembra de alguma outra aplicação em que o banco de dados 
se faz útil? Há lugares em que ainda não há sistema gerenciador? 
Se houvesse, melhoraria a execução de tarefas? 
Reflita
Esses métodos mais antigos de gerenciamento computadorizado de dados 
comerciais (que infelizmente ainda podemos verificar em empresas de menor 
porte) eram típicos da década de 1960, em que as informações do computador 
eram armazenadas em arquivos no Sistema Operacional (SO). Para permitir que os 
usuários as manipulassem, o SO possuía diversos programas aplicativos, que tinham 
como desvantagens: 
9
• Anomalias de acesso concorrente – muitos sistemas permitem que múltiplos 
usuários atualizem os dados simultaneamente, sem controle. Imaginemos 
uma conta poupança com R$100,00 de saldo. Se dois titulares desta conta 
conjunta sacarem dinheiro (R$50,00 e R$100,00) ao mesmo tempo, em distin-
tos terminais de autoatendimento, o resultado das transações concorrentes 
pode deixar a conta inconsistente; 
• Dificuldade no acesso aos dados – supondo que o diretor de uma empresa 
solicite uma lista de todos os clientes que vivem numa rua da cidade com um 
determinado CEP. Se o sistema não foi projetado para tal solicitação, uma 
saída seria obter uma lista geral dos clientes e extrair a informação neces-
sária manualmente, requisitar um programa para processamento de dados 
necessário. 
• Se o filtro for outro, provavelmente o sistema também não conseguirá recupe-
rar os dados necessários de maneira conveniente e eficiente; 
• Isolamento de dados – se os dados estiverem desorganizados e com formatos 
diferentes, será difícil os programas recuperarem os dados adequadamente; 
• Redundância e inconsistência de dados - ao longo do tempo, arquivos têm 
seus formatos diferentes e os programas são desenvolvidos em diversas lin-
guagens de programação. Além disso, ocorre informação duplicada em di-
versos lugares, como numa instituição financeira que guarda o endereço e 
o número do telefone de um cliente em um arquivo que contém registros da 
conta de poupança e em um outro arquivo que contém registros da conta cor-
rente. E a inconsistência de dados pode ocorrer se a mudança de endereço de 
um cliente for efetuada num registro de conta corrente, mas não em qualquer 
outro lugar no sistema; 
• Problemas de segurança – cada perfil de usuário do sistema de banco de da-
dos deve ter um tipo de acesso específico. Exemplificando, o departamento 
de pessoal de uma instituição financeira hipotética que necessita apenas de 
parte do banco de dados para ter informações sobre os funcionários não pre-
cisam ter acesso às contas dos clientes do banco; 
• Problemas de integridade – caso seja necessário satisfazer certos tipos de 
restrições de consistência, como não permitir que o estoque de canetas esfe-
rográficas de uma papelaria seja menor que 10. 
Já o tratamento realizado por um Sistema Gerenciador de Banco de Dados (SGBD) 
funciona como uma interface entre o BD e os programas aplicativos. Portanto, um 
Sistema de Banco de Dados (SBD) envolve usuários (peopleware), dispositivos 
físicos (hardware), programas (softwares) e SGBD. 
10
Vamos agora observar na figura do que é composto um sistema de banco de dados. 
Diagrama: Componentes de um sistema de banco de dados 
 Fonte: Cardoso e Cardoso (2012, p. 18). 
Com SBD, cada informação é armazenada uma única vez. E, mesmo que possa 
ocorrer eventuais redundâncias, são controladas pelo sistema e invisíveis para 
o usuário. Esses sistemas são projetados para gerenciar blocos de informação, 
com estruturas definidas para armazenamento e mecanismos para manipulação e 
segurança, apesar das falhas de sistema ou de tentativas de acesso não autorizado. 
Se os dados precisarem ser compartilhados entre vários usuários, o sistema precisa 
evitar possíveis resultados anômalos. Segundo Date (2003, p. 6), um SBD é “um 
sistema computadorizado cuja finalidade geral é armazenar informações e permitir 
que os usuários busquem e atualizem essas informações quando as solicitar”. 
Sistema gerenciador de banco de 
dados 
Um Sistema Gerenciador de Banco de Dados (SGBD, em inglês: Database 
Management System, sigla DBMS) é uma coleção de programas que permite 
aos usuários criar e manter um banco de dados, facilitando os processos de 
compartilhamento, construção, definição e manipulação de BD entre vários usuários 
e aplicações. Suas principais funções são: 
11
• inclusão (INSERT) – são especificadas as colunas e os dados a serem inseri-
dos nas tabelas; 
• alteração (UPDATE) – são atualizados registros únicos ou em conjunto; 
• exclusão (DELETE) – são apagados dados desnecessários e/ou errados; e 
• consulta (SELECT) – são retornados resultados de uma pesquisa. 
 O papel do SGBD é fundamental na estrutura e consistência de SIs modernos, 
independentemente do porte ou do segmento empresarial. A maior parte dos 
BDs desenvolvidos nos SGBDs baseiam-se no modelo relacional para aplicações 
convencionais. Entretanto, esse modelo apresenta algumas limitações quando os 
dados a serem manipulados são mais complexos, como ocorre em: arquitetura, 
engenharia, experiências científicas, multimídia, sistemas de informações 
geográficas, telecomunicações, dentre outras, necessitando de melhores técnicas de 
acesso a estes dados. 
O paradigma de programação orientado a objetos vem ganhando cada vez mais 
espaço no cenário de desenvolvimento de aplicações, que faz com que o SBD 
também comporte os conceitos desta tecnologia. Neste contexto, novos modelos 
de banco de dados estão em ascendência (RODRIGUES JUNIOR, 2005). Dentre 
eles podemos citar os Sistemas Gerenciadoresde Banco de Dados Orientado 
a Objetos (SGBDOO) e os Sistemas Gerenciadores de Banco de Dados Objeto-
Relacional (SGBDOR). Os SGBDORs combinam as características da programação 
orientada a objetos com as estruturas utilizadas no modelo relacional. Num passado 
não tão distante, escolher o SGBD a ser utilizado em uma aplicação dependia 
de questões técnicas e do custo das licenças destes sistemas. Atualmente, 
isso não é impedimento, devido ao surgimento e disponibilidade de diversos 
SGBDs de qualidade, gratuitos e open source. O SGBD permite que os BDs sejam 
compartilhados por muitos usuários e aplicações, simultaneamente, através de 
estratégias de otimização de armazenamento e desempenho. Além do mais, 
preserva a integridade dos dados ao serem manipulados (NEVES, 2002). Vale a pena 
citarmos alguns exemplos de inúmeros SGBDs comerciais e gratuitos que estão 
disponíveis no mercado: 
• Cassandra: multiplataforma, código aberto; 
• DB2: multiplataforma, da IBM; 
• Firebird: multiplataforma, código aberto; 
• Interbase: multiplataforma, proprietário; 
• MS-Access: ambiente Windows, pertencente ao pacote Office; 
• MS-SQL Server: multiplataforma, proprietário; 
12
• MySQL: multiplataforma, da Oracle; 
• MongoDB: multiplataforma, NoSQL e código aberto; 
• Oracle: multiplataforma, edições proprietárias e livre; 
• PostgreSQL: multiplataforma, código aberto; 
• SQLite: multiplataforma, código aberto. 
Há também alguns programas utilitários que encontramos em um SGBD. Vamos 
conferi-los a seguir: 
• Backup: cria uma cópia completa do banco de dados, geralmente descarre-
gando (dumping) todo o banco de dados em um repositório. 
Também possibilita os backups incremental e diferencial. 
• Carregamento (loading): carrega arquivos e dados existentes dentro do ban-
co de dados. Útil para transferência de dados entre SGBDs ou entre SGBDs e 
outros sistemas (são ferramentas de conversão). 
• Monitoramento de desempenho: monitora o uso do BD e fornece estatísticas 
para o DBA, que pode tomar decisões para melhorar o desempenho. 
• Reorganização de arquivos: reorganiza os arquivos do banco de dados em 
uma nova forma, buscando melhorar seu desempenho. O SGBD oferece iso-
lamento das aplicações em relação aos dados, possibilitando que as aplica-
ções vejam os dados de forma abstrata, independente de detalhes físicos de 
implementação. 
O SGBD oferece isolamento das aplicações em relação aos dados, possibilitando 
que as aplicações vejam os dados de forma abstrata, independente de detalhes 
físicos de implementação. 
A linguagem SQL (Structured Query Language — Linguagem Estruturada de Consulta) 
é uma ferramenta utilizada para a comunicação com o banco de dados, via SGBD. 
Para Cardoso e Cardoso (2012), a SQL possibilita controle, definição e manipulação 
de dados, além de ser classificada, segundo Alves (2014), em três categorias: 
• DDL — Data Definition Language: trabalha com a estrutura e os objetos, tais 
como tabelas, banco de dados, visões (consultas previamente programadas 
para visualização rápida, sem armazenar e alterar) e índices (ordenam e me-
lhorar a velocidade de processamento do BD), de acordo com um determinado 
modelo de dados, criando (create), alterando (alter) e removendo ou excluindo 
(drop). 
13
Pense numa tabela que guarde dados de clientes com as colunas para: código, 
nome, endereço, cidade, UF (unidade federativa) e telefone. Para esta tabela existir, 
tem que haver um espaço dentro do SGBD, que será o banco de dados, que poderá 
ter a Tabela Clientes e outras, se necessário. Para criar o banco de dados, usamos: 
CREATE DATABASE MINHALOJA;
Caso não seja necessário mais o uso do BD, para apagá-lo: 
DROP DATABASE MINHA LOJA;
Se precisar mudar o nome do BD, não precisamos exclui-lo: 
ALTER DATABASE TESTE RENAME TO LOJA;
Dentro do BD, podemos criar as tabelas. Na loja, será preciso armazenar dados de 
clientes (código, nome, endereço, cidade, estado e telefone). Sua criação ficaria 
assim: 
CREATE TABLE CLIENTES (IDCLIENTE INT)
IDCLIENTE INT,
NOME VARCHAR (50), 
ENDEREÇO VARCHAR (100), 
CIDADE VARCHAR (30), 
UF CHAR (2) 
TELEFONE VARCHAR (15)
• DML — Data Manipulation Language: trabalha com linhas, excluindoas, inse-
rindo-as (cláusula insert), modificando-as (cláusula update) e recuperando-as 
(cláusula select). 
Para inserirmos dados na tabela Clientes, devemos indicar as colunas e os seus 
valores: 
14
INSERT INTO CLIENTES (IDCLIENTE, NOME, 
ENDERECO, CIDADE, UF, TELEFONE) 
VALUES (1, ‘Antônio’, ‘Rua Elis 
Joaquim, 123, Centro’, Santos’, ‘SP’, 
‘(11) 1234-1234’);
Caso precise alterar algum registro, como o nome do cliente que antes estava só o 
primeiro nome e será atualizado com o nome completo, utilizamos a sintaxe: 
UPDATE CLIENTES 
SET NOME – ‘Antônio Silva’
WHERE idcliente = 1;
E para podermos consultar todos os dados inseridos na tabela, digitamos e 
executamos o seguinte script: 
SELECT * FROM CLIENTES;
Se quisermos apenas alguns campos, como nome, cidade e UF: 
SELECT NOME, CIDADE, UF FROM CLIENTES
• DCL — Data Control Language: trabalha com usuários, atribuindo permissão 
(grant), removendo permissão (revoke) e negando permissão (deny). 
Todo SGBD precisa de um usuário para trabalhar com suas estruturas, que podemos 
controlar para que o público possa somente fazer consultas: 
GRANT SELECT ON CLIENTES TO PUBLIC
Se precisarmos tirar essa permissão concedida, o comando é: 
REVOKE SELECT ON products FROM PUBLIC;
SQL é a linguagem mais usada pelos SGBDs, que no seu primórdio eram 
incompatíveis entre seus diversos fornecedores. Houve, então, a necessidade de se 
gerar um padrão para a linguagem SQL, com a união de esforços entre o ANSI e a 
ISO (ELMASRI; NAVATHE, 2011). Para um sistema de banco de dados aplicado em 
um projeto de média ou alta complexidade, existe grande número de profissionais 
15
(usuários) envolvidos, desde a fase de criação do projeto, até a fase de manutenção 
propriamente dita. De acordo com Cardoso e Cardoso (2012, p. 24), “no ambiente 
de um sistema de banco de dados é importante definir os usuários e suas funções 
específicas, sendo que a cada um cabe uma tarefa diferenciada”. Enquanto alguns 
buscam conteúdo, outros apenas se preocupam em manter o sistema funcionando 
efetivamente. Para Alves (2014), os usuários podem ser classificados (diferenciados 
ou agrupados) da seguinte maneira: 
• DBA (Database Administrator, ou Administrador do Banco de Dados): respon-
sável pela parte física e por autorizar os acessos ao BD, coordenando e moni-
torando o uso do SGBD; 
• AD (Administrador de Dados): responsável pela parte lógica, sendo o projetis-
ta de BD, que constrói partes do modelo da base de dados;
• Analista de Sistemas: define e projeta aplicações sobre a base de dados.
• Programador: constrói aplicações usando os modelos lógicos existentes;
• Usuários Finais (casuais, especializados e leigos): acessam a base de dados 
por meio de aplicações, sem necessariamente possuir conhecimentos técni-
cos;
• Profissionais de Apoio Técnico: projetistas e desenvolvedores de ferramentas 
do SGBD. A arquitetura de três esquemas, também conhecida como arquite-
tura ANSI/SPARC, tem o objetivo de separar o usuário da aplicação do banco 
de dados físico, por meio de três diferentes níveis de esquemas (ELMASRI; 
NAVATHE, 2011, p. 23).
Vamos conhecer cada um deles:
• Visão interna: é aquela vista pelo responsável pela manutenção e desenvolvi-
mento do SGBD, que se preocupa com a recuperação e manipulação dos da-
dos dentro do BD (menor nível de abstração) e com características da tabela 
e do banco de dados, como tipos de dados a serem inseridos, como valores 
numéricos, lógicos, caracteres, data, hora, entre outros;
• Visão conceitual (ou lógica): utilizada pelo AD e pelo DBA, que são quem defi-
ne normas, procedimentos, o que será armazenado, relacionamentos e garan-
te segurança e confiabilidade, através de diagramas de modelagem;
• Visão externa: é aquela do usuário que operaos sistemas aplicativos, por 
meio de interfaces desenvolvidas pelo analista (programas), buscando o aten-
dimento de suas necessidades, conforme convenções da linguagem, platafor-
ma e arquitetura utilizadas (maior nível de abstração).
16
Arquitetura de sistemas de banco de 
dados
Agora que vimos sobre o Sistema Gerenciador de Banco de Dados, vamos 
compreender a sua arquitetura, que começou centralizada e hoje existe como 
cliente-servidor, monousuária e distribuída. 
Centralizada
Para Elmarsu e Nevathe (2011), a primeira arquitetura que surgiu foi a centralizada, 
em que um computador com grande capacidade de processamento para a época 
(conhecido como mainframe) era o hospedeiro do SGBD e dos emuladores para os 
vários aplicativos. Todo o processamento era executado nos servidores centrais, 
em que os usuários interagiam com o sistema via terminais que só apresentavam 
imagem e se comunicavam a partir dos comandos realizados nos denominados 
‘terminais burros’, conectados ao mainframe por redes de comunicação. Embora a 
arquitetura permitisse que muitos usuários manipulassem grande volume de dados, 
o custo operacional era alto, pois exigia um ambiente especial para as soluções 
centralizadas. Com o barateamento do hardware, os terminais foram sendo trocados 
por estações de trabalho, e naturalmente a tecnologia de banco de dados começou a 
aproveitar esse potencial de processamento no lado do usuário. 
Cliente-servidor 
Em seguida, veio a segunda (e mais utilizada) arquitetura, Cliente- -Servidor, que 
dividiu as tarefas de processamento, o que também reduz o tráfego de dados 
na rede, criando servidores especializados, como os servidores de arquivos. As 
máquinas clientes disponibilizam as interfaces para os usuários, de forma a 
capacitá-los ao uso de servidores. Esta arquitetura também tem autonomia para 
executar aplicações locais.
17
Figura: Banco de dados compartilhados em rede
Fonte: Plataforma Deduca (2019).
Mesmo assim, são necessárias soluções sofisticadas de software que possibilitem 
o tratamento de transações, suas confirmações (commits), desfazê-las (rollbacks), 
coleções de consultas (stored procedures) e gatilhos programados de consistência 
(triggers). No caso específico de BD, nesta arquitetura, um SGBD centralizado é 
implantado no servidor, e assim, as consultas (pelo servidor SQL) e funcionalidades 
transacionais são executadas no servidor. E no lado do cliente (múltiplos usuários), 
é possível formular as consultas e desenvolver programas aplicativos. O servidor 
SQL é conhecido como back-end machine (executa as consultas no SGBD e retorna 
os resultados ao cliente) e o cliente como front-end machine (executa as tarefas do 
aplicativo, fornecendo interface do usuário, a partir da tela e do processamento de 
entrada e saída).
Monousuária 
Há também a arquitetura Monousuária, típica de computadores pessoais, 
em que o BD se encontra no mesmo computador em que são executadas as 
aplicações por um único usuário. O computador pessoal (personal computer 
em inglês, ou simplesmente PC) trabalha em sistema stand-alone, ou seja, faz 
seus processamentos sozinhos. Antigamente esse processamento era bastante 
limitado; porém, com a evolução do hardware, vemos PCs com grande capacidade 
de processamento. Eles utilizam o padrão Xbase e, quando se trata de SGBDs, 
funcionam como hospedeiros e terminais. Desta maneira, possuem um único 
aplicativo a ser executado na máquina. 
18
Distribuída
Por fim, mas não menos importante, existe a arquitetura Distribuída, que é 
estruturada com dois ou mais BD armazenados em locais distintos, em uma rede 
de computadores, possibilitando tolerância a falhas, independência de localização, 
processamento distribuído de consultas e controle de consistência. Nesta arquitetura, 
cada servidor atua semelhante ao 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(es), o sistema se encarrega 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. Exemplos 
típicos são as bases de dados corporativas, que costumam ficar hospedadas em 
servidores virtuais (na nuvem, ou seja, na internet), em que o volume de dados é 
gigantesco e, por isso, deve ser distribuído em diversos servidores. Porém, não é 
dependente de aspectos lógicos de carga de acesso aos dados, ou base de dados 
fracamente acopladas, em que uma informação solicitada vai sendo coletada 
numa propagação da consulta numa cadeia de servidores. Computação em 
nuvem proporciona serviços de Tecnologia da Informação (TI) sob demanda, com 
alcance global e provê serviços para as massas que vão desde o usuário final que 
hospeda seus documentos pessoais na Internet até empresas que terceirizam 
toda infraestrutura de TI para outras empresas. Não só recursos computacionais 
e de armazenamento são entregues sob demanda, mas toda a computação pode 
ser aproveitada na nuvem, o que já vemos com Office 365, Dropbox, Documentos 
do Google, hospedagens de sites, entre muitos outros. A característica básica é a 
existência de diversos programas aplicativos consultando a rede para acessar os 
dados necessários; porém, sem o conhecimento explícito sobre quais servidores 
dispõem desses dados. Agora que vimos sobre a arquitetura do Sistema Gerenciador 
de Banco de Dados, vamos estudar o histórico do banco de dados.
Fechamento 
Ao longo de nossos estudos, tivemos a oportunidade de identificar quais os 
componentes de um sistema de banco de dados e como é o seu funcionamento, 
bem como analisamos os fatores, bem como a sequência de características no 
processo de tomada de decisão para resolução de problemas. Vimos, também, as 
diferenças entre Sistema de Arquivos e Sistema de Banco de Dados.
19
Aprendemos sobre o a evolução, a arquitetura e as finalidades dos sistemas de 
bancos de dado. Conhecemos, portanto, os recursos disponíveis e os perfis de 
usuários e profissionais que utilizam o Sistema Gerenciador de banco de dados. 
20
Referências 
SETZER, V. W.; SILVA, F. S. C. Bancos de dados: aprenda o que são, melhore seu 
conhecimento, construa os seus. São Paulo: Edgard Blücher, 2005. 
SILBERSCHATZ, A.; KORTH, H. F.; SURDASHAN, S. Sistema de Banco de Dados. 3. ed. 
São Paulo: Pearson Makron Books, 1999. 
SILVA, R. P. UML 2 em Modelagem Orientada a Objetos. Florianópolis: Visual Book, 
2007. 
SOMMERVILLE, I. Engenharia de Software. 8. ed. São Paulo: Pearson Addison - 
Wesley, 2007. 
STAIR, R. M.; REYNOLDS, G. W. Princípios de Sistemas de Informação. São Paulo: 
Pioneira Thomson, 2006. 
S.; SUMATHI, S.; ESAKKIRAJAN, S. Fundamental of Relational Database Management 
Systems. Studies in Computational Intelligence. v. 47, 2007. 
TAKAI, O.K.; ITALIANO, I.C.; FERREIRA, J.E. Introdução a banco de dados. 2005. 
Disponível em: <https://www.ime.usp.br/~jef/apostila.pdf>. Acesso em: 10 maio 
2018. 
TONSIG, S. L. Engenharia de Software: Análise e Projeto de Sistemas. São Paulo: 
Futura, 2003. 
TURBAN, E., RAINER, JR. R. K., POTTER, R. E. Introdução a Sistemas de Informação. 
1. ed. Rio de Janeiro: Elsevier, 2007. 
 ZORRINHO, C. Gestão da informação: condição para vencer. Lisboa: Instituto de 
Apoio às Pequenas e Médias Empresas (IAPMEI), 1995. 
Construção de 
modelo de dados
 BRISIGHELLO, V.
Construção de modelo de dados / Vinícius Brisighello 
Florianópolis, 2019; 23 páginas.
Copyright © 2019. Delinea Tecnologia Educacional. Todos os direitos reservados.
Construção de modelo 
de dados
3
Apresentação
Neste momento, buscaremos uma compreensão do que é um banco de dados, 
analisando seus aspectos introdutórios, bem como as características e as 
finalidades de seus diferentes modelos, sendo eles: o conceitual, o lógico, o físico e o 
de entidade e relacionamento.
Histórico de banco de dados
O primeiro BD surgiu no final de 1960, como evolução dos sistemasde arquivos 
de armazenamento em disco, criando estruturas de armazenamento. Conforme 
a evolução tecnológica, diferentes formas de representação, conhecidas como 
modelos de dados, foram criadas “para descrever a estrutura de um banco de dados, 
as operações para manipular estas estruturas, e certas restrições que o banco de 
dados deve obedecer” (ELMASRI, 2011, p. 137).
Segundo Elmasri e Navathe (2011), o modelo de dados consiste em: conjunto de 
estruturas de dados, como tabelas; conjunto de operadores, como linguagem de 
manipulação; e regras de integridade, definidas no esquema do BD. 
Para compreendermos como se deu a evolução do banco de dados, vamos discutir 
sobre o modelo hierárquico, o modelo em rede, o modelo relacional (amplamente 
utilizado), e por fim, o modelo orientado a objetos. Vamos detalhar cada um deles.
Modelo hierárquico
Os primeiros sistemas de banco de dados chegaram no fim da década de 1960. 
Os modelos de bancos de dados hierárquicos são considerados como o primeiro 
tipo de banco de dados de que se tem notícia. Esse modelo foi desenvolvido 
devido à consolidação dos discos endereçáveis e, em função dessa característica, 
a organização de endereços físicos do disco é utilizada na sua estrutura (ALVES, 
2014). Vamos conferir na figura a seguir um exemplo deste banco de dados.
4
Diagrama: Exemplo de um banco de dados hierárquico
Fonte: Adaptada de Takai et al. (2005).
De acordo com Alves (2014), um BD hierárquico é composto de árvores de registros. 
Dentre os diferentes tipos de registros (segmentos), existem as ligações pai-filho, 
sendo que um determinado registro somente pode possuir um registro pai. Em 
caso de problemas não hierárquicos, criava-se a redundância de dados, pois eram 
necessários mais índices, tornando os tempos de consulta e de processamento 
extremamente altos.
Cada nó da árvore contém registros; cada registro é um conjunto de campos 
(atributos); cada um contendo apenas uma informação. O registro da hierarquia que 
precede a outros é o registro-pai, os outros são chamados de registros-filhos.
A IBM criou o IMS (Information Management System), um dos 
bancos de dados hierárquicos mais conhecidos do mundo
Atenção
Só é possível representar relacionamentos um para (1:1) e (1:n) na forma hierárquica, 
pois o acesso ao BD é feito através de operações de ponteiros de baixo nível que 
unem (por links) os registros. As ferramentas que trabalharam com esta estrutura 
foram as linguagens de programação Clipper e Cobol, e o SGBD DB2.
Agora que conhecemos o modelo hierárquico, vamos abordar o modelo em rede.
5
Modelo em rede
Entre as décadas de 1970 e 1980, surgiu o modelo em rede, com estrutura derivada 
e mais completa do que o modelo hierárquico, composta por entidades (registros), 
atributos (itens de dados), tipos e ocorrência de registros, Linguagem de Definição 
de Dados (DDL) e Linguagem de Manipulação de Dados (DML). 
Em um BD em rede, um determinado registro pode possuir diversos registros pai. A 
única restrição é que em um tipo de ligação, um registro somente pode participar 
uma vez. O IDMS da Cullinet Software (final da década de 1980 foi adquirido pela 
Computer Associates, detentora da linguagem de programação Clipper) tornou-se um 
dos mais conhecidos (ALVES, 2014).
Vamos agora observar na figura a seguir um exemplo deste tipo de banco de dados.
Diagrama: Exemplo de banco de dados em rede
Fonte: Adaptada de Takai et al. (2005).
Agora que compreendemos um pouco sobre o modelo em rede, vamos nos 
aprofundar no modelo relacional.
Modelo relacional
Em meados da década de 1980, fruto dos trabalhos teóricos de Edgard F. Codd 
(IBM), surgiram o System R (IBM) e o INGRES (Universidade da Califórnia), que 
6
inauguraram o modelo relacional, que consiste em um BD com regras básicas de 
integridade que permitem o controle de preenchimento dos campos (das colunas) 
das tabelas existentes no banco de dados.
Assim, um sistema relacional é aquele no qual os dados são percebidos pelos 
usuários como tabelas. Vamos observar no quadro a seguir como está estruturado 
um modelo relacional.
Quadro: Exemplo de banco de dados relacional
COD_CLIENTE NOME RUA CIDADE
1 PEDRO A SÃO PAULO
2 MARIA B JUNDIAI
NUM_CC SALDO COD_CLIENTE NUM_CC
20121 1200 1 20121
21582 1320 2 21582
21352 652 2 21352
Fonte: Adaptada de Takai et al. (2005).
As ligações entre linhas de diferentes tabelas são feitas através do uso de valores 
de atributos. Cada instância do esquema (linha) é chamada de tupla (registro). As 
estruturas de dados desse modelo permitem: 
• Segurança - resguardar o BD de uma possível perda ou destruição de dados, 
a partir da restauração parcial ou total do banco de dados através de cópias 
de segurança;
• Compartilhamento - controle centralizado dos dados compartilhados por di-
versas aplicações, reduzindo a repetição de dados a um mínimo;
• Integridade dos dados - controles de acesso para que os dados possam ser 
acessados somente por pessoas autorizadas, separando programas dos da-
dos;
• Relacionamento entre tabelas com chaves primárias (primary key) e estran-
geiras (foreign key).
Segundo Heuser (2011), previamente à construção de bancos de dados, são 
utilizados padrões em textos e gráficos para modelar (planejar), fazendo uso de três 
níveis de abstração de dados para descrever e propor a uma organização. 
7
Como muitos usuários de BD são leigos nas técnicas de informática, faz-se 
necessário simplificar em um projeto a sua estrutura para oferecer uma visão geral 
dos dados, com os aspectos de interesse, possibilitado BD flexíveis (COUGO, 1997). 
Um dos momentos mais críticos no processo de desenvolvimento de um software 
é a modelagem de banco de dados, pois o produto final deve atingir os objetivos 
estabelecidos pelo requisitante.
Um erro durante a modelagem compromete a usabilidade do sistema final, tendo 
em vista a necessidade de retrabalho, que aumenta o custo do processo de 
desenvolvimento.
Para que isso não ocorra, detalharemos a seguir os passos fundamentais no 
processo de modelagem de um banco de dados. A figura a seguir elucida as etapas 
da modelagem de dados para o desenvolvimento de banco de dados. 
Diagrama: Etapas de modelagem de dados
Fonte: Adaptado de Cougo (1997).
Estas etapas referem-se às atividades de: 
• •	 Identificação	do	problema: estudo detalhado das atividades em questão. 
Quando não há conhecimento prévio sobre o negócio, entrevistas podem le-
vantar informações relevantes sobre as necessidades dos futuros usuários. 
Os Administradores de Dados se reúnem como usuários para entender e do-
cumentar seus requisitos, especificados e detalhados; 
• •	 Modelagem	conceitual	(alto	nível): é a representação que considera exclu-
sivamente o ponto de vista do usuário criador dos dados, levando em consi-
deração fatores técnicos para sua implementação. O nível conceitual especi-
fica como os dados são armazenados e relacionados, independentemente de 
como será implementado no BD. O Diagrama Entidade Relacionamento (DER) 
utiliza elementos gráficos, identificando entidades (um objeto ou evento do 
mundo real sobre o qual desejamos manter um registro, como, por exemplo, 
8
Aluno, Carro, Produto), atributos (é propriedade ou característica que descreve 
uma entidade; tais como nome, data de nascimento, telefone de uma pessoa) 
e relacionamentos (relação entre uma, duas ou mais entidades, na qual asso-
ciamos através da ação entre as entidades, como acontece com Pai – possui 
– Filho), para descrever o modelo de dados de uma aplicação com alto nível 
de abstração (CALIARI, 2007). Peter Chen criou o modelo Entidade-Relaciona-
mento (ER) para modelagem de dados para ambientes relacionais.
Diagrama: Ambientes relacionais
Fonte: Elaborado pelo autor (2018).
• Modelagem	 lógica	 (representativa	 ou	 de	 implementação): de acordo com 
Heuser (2011) e Machado (2014), o modelo lógico descreve e mapeia as es-
truturas que estarão presentes no BD, de acordo com as características da 
abordagem,de modo a não considerar ainda característica específica do 
SGBD que será utilizado. Evitam-se: um grande número de tabelas; tempo lon-
go de resposta nas consultas e atualizações de dados; desperdício de espaço; 
muitos controles de integridade no BD e muitas dependências entre dados;
• Modelagem	física	(baixo	nível): ocorre a implementação da estrutura lógica 
em um SGBD, administrando fisicamente os dados armazenados. Resume-se 
ao Structure Query Language (SQL), que é a linguagem necessária para geren-
ciar um BD relacional (OLIVEIRA, 2002). Aqui são detalhados os componentes 
da estrutura física do banco, como tabelas, campos, tipos de valores, índices, 
etc. Entram em cena os detalhes técnicos do projeto, atendendo a necessida-
de do cliente e já implantando a política de backup e segurança. Nessa fase, 
há a geração dos scripts em código SQL que vão criar a base de dados do 
sistema. Por isso, aqui a tecnologia aplicada já toma o lugar primordial, pois a 
parte de negócios já foi definida e estabelecida.
9
Figura: Os três níveis de modelagem, do maior ao menor grau de abstração
Fonte: Plataforma Deduca (2018).
Os requisitos podem ser descritos graficamente por diagramas, com declarações 
sobre as funções que o sistema deve oferecer de forma abstrata de alto nível. 
Também levando em consideração a engenharia de requisitos, que é um processo 
que engloba todas as atividades que contribui com a elaboração de um documento 
com todos os requisitos e sua manutenção, a etapa de engenharia de requisitos é a 
fase de descobrir analisar, verificar funções e restrições (GIMENES; HUZITA, 2005).
Os requisitos são a base de todos os produtos de software. Sua elucidação, 
gerenciamento e entendimento são problemas comuns a todas as metodologias 
de desenvolvimento. Segundo Pressman (2011) a tarefa de análise de requisitos é 
um processo de descoberta, refinamento, modelagem e especificação. O escopo do 
software, inicialmente estabelecido pelo engenheiro de sistemas e refinado durante o 
planejamento do projeto de software, é aperfeiçoado em detalhes. Modelos de fluxo 
de informação e controle exigidos, comportamento operacional e conteúdo de dados 
são criados. Soluções alternativas são analisadas e atribuídas a vários elementos de 
software (PRESSMAN, 2011).
A análise de requisitos possibilita que o engenheiro de software especifique a função 
e o desempenho do software, indique a interface do software com outros elementos 
do sistema e estabeleça quais são as restrições de projeto que o software deve 
enfrentar. A análise de requisitos proporciona ao projetista de software uma 
representação da informação e da função que pode ser traduzida em projeto 
procedimental, arquitetônico e de dados, oferecendo ao desenvolvedor e cliente os 
critérios para avaliar a qualidade logo que o sistema for construído. 
10
A Unified Modeling Language (UML) é uma linguagem de modelagem não 
proprietária de terceira geração. A UML não é um método de desenvolvimento, o 
que significa que ela não diz ao desenvolvedor o que fazer primeiro e em seguida, 
ou como projetar seu sistema, mas ela lhe auxilia a visualizar seu desenho e a 
comunicação entre objetos (SILVA, 2007). 
Observe no exemplo do diagrama a seguir, que ilustra três casos de uso, com suas 
respectivas ações: administrador, faculdade e usuário.
Figura: Exemplo de caso de uso
Fonte: ArgoUML Tours (2018).
A UML não indica como fazer um software. Ela indica apenas as formas que 
podem ser utilizadas para representar um software em diversos estágios de 
desenvolvimento, porque é uma forma de comunicar uma ideia. Portanto, a UML não 
pode ser considerada um processo de desenvolvimento, além de ser uma grande 
forma de padronizar as modelagens.
A UML é composta de um conjunto de diagramas, cada um enfocando um aspecto 
distinto do software a ser implementado. A utilização de diversos diagramas 
permite que falhas possam ser descobertas nos diagramas anteriores, diminuindo a 
possibilidade da ocorrência de erros durante a fase de desenvolvimento do software. 
É importante destacar que, embora cada diagrama tenha sua utilidade, nem sempre 
é necessário modelar um sistema utilizando-se de todos os diagramas, pois alguns 
deles possuem funções muito específicas (SAMPAIO, 2007). 
11
Segundo Martins (2007), quando se inicia o desenvolvimento de um novo sistema, 
ou mesmo de uma nova funcionalidade para um sistema existente, um dos primeiros 
passos a ser executado é o estudo e levantamento dos requisitos necessários para a 
construção do produto final. 
O Modelo Entidade de Relacionamento (MER) é um modelo muito usado na 
Engenharia de Software para referenciar objetos, também chamado de entidades, 
envolvido em um domínio de negócios, com seus atributos e como elas se 
relacionam entre si.
Este modelo evidencia de uma forma abstrata a estrutura na qual o banco de dados 
e aplicações irá se encontrar. O banco pode contar com muitas outras entidades, 
como tabelas e chaves, que só vão fazer sentido no contexto do banco de dados 
(MARTINS, 2007). 
Entidades são as partes envolvidas em bancos e podem ser físicas ou lógicas, de 
acordo com a realidade. Entidades físicas são aquelas que existem e são visíveis, 
como, por exemplo, um fornecedor. Já as logicas são aquelas que existem em razão 
de outras entidades físicas, que só irão fazer sentido dentro do domínio de negócio, 
porém na realidade não são objetos físicos, como, por exemplo, uma venda.
Atributos são características que expõem cada entidade dentro do domínio. Um 
exemplo de atributo seria o nome de um cliente (PRESSMAN, 2011). 
Veja que aluno é uma entidade, e cada aluno possui RA (Registro Acadêmico) que o 
identifica com nome e data de nascimento:
Diagrama: Exemplo de registro acadêmico
Fonte: Elaborado pelo autor (2018).
Silberschatz et al. (1999) afirmam que relacionamento é o nome do termo que 
referencia uma interação entre entidades.
12
Outras fases, além dessas apontadas anteriormente, ocorrem em paralelo. Na fase 
de especificação dos requisitos de dados, são especificados os requisitos funcionais 
da aplicação, por meio de Diagramas de Fluxo de Dados (DFD).
Os requisitos funcionais podem ser declarados como as funções de negócio ou 
atividades que o software ou sistemas faz ou fará para a satisfação do cliente 
(REZENDE, 2007). 
Os requisitos funcionais referem-se à descrição das diversas funções que o cliente 
necessita que o software ofereça. Esses requisitos definem a funcionalidade do 
sistema, ou seja, funções, ações ou operações que poderão ser utilizadas (TONSIG, 
2003).
O requisito funcional é parte fundamental, pois define uma função de um software ou 
parte dele. Os requisitos funcionais podem ser definidos como funções de negócio 
ou atividades de uma aplicação. Em outras palavras, requisitos funcionais são 
aqueles que caracterizarão o sistema e os serviços por ele oferecidos.
Requisitos não funcionais descrevem níveis desejáveis de qualidade da aplicação, 
como quão segura a aplicação será, o seu nível de usabilidade entre outros aspectos 
(ALVES,2009).
Para Bezerra (2003 apud AREND, 2013), requisitos não funcionais correspondem a 
especificações ou qualidades relacionadas aos requisitos funcionais. E requisitos 
suplementares são demais qualidades que não se enquadram nos requisitos 
anteriores e pertencem ao sistema como um todo.
Os requisitos não funcionais são aqueles que não estão relacionados diretamente 
às funções do sistema, mas se relacionam com propriedades emergentes do 
sistema, como confiabilidade, tempo de resposta e espaço de armazenamento. Eles 
podem definir restrições como capacidade de entrada e saída, representações de 
dados usadas nas interfaces do sistema; eles podem especificar o desempenho, 
proteção, disponibilidade, entre outras. Os requisitos não funcionais são raramente 
associados às caraterísticas individuais do sistema (SOMMERVILE, 2007). Sendo 
assim, requisitos não funcionais estão relacionados ao uso da aplicaçãoem 
termos de desempenho, usabilidade, confiabilidade, disponibilidade, segurança e 
tecnologias envolvidas. São aqueles que apresentam determinadas restrições que 
devem ser consideradas durante o desenvolvimento da aplicação tanto quanto na 
sua utilização.
13
Para Pfleeger (2004), os requisitos funcionais e os não funcionais devem ser 
identificados com os clientes de uma maneira formal e cuidadosa, já que os clientes 
nem sempre conseguem descrever com exatidão o que querem ou precisam, e os 
aspectos de negócios nem sempre são fáceis de serem entendidos. Os clientes 
possuem conhecimento sobre seus negócios, mas nem sempre conseguem 
descrever seus problemas para pessoas que não são da sua área. Descrições 
cheias de jargões e suposições podem trazer significados diferentes para a mesma 
coisa. Por isso, se não for bem organizada, a comunicação entre desenvolvedores e 
clientes pode levar a uma especificação equivocada ou incompleta.
Figura: Conversa com cliente, para identificação de requisitos funcionais e não funcionais
Fonte: Plataforma Deduca (2018).
Uma característica de sistemas de software é a complexidade do seu 
desenvolvimento, que aumenta à medida que o tamanho do sistema cresce 
(BEZERRA, 2015). “Essa necessidade leva o conceito de modelo, tão importante no 
desenvolvimento de sistemas. De uma perspectiva mais ampla, um modelo pode 
ser visto como uma representação idealizada de um sistema a ser construído” 
(BEZERRA, 2015, p. 4).
Um modelo consiste na captura de uma visão de um sistema físico. É uma 
abstração do sistema com um propósito de descrever aspectos estruturais ou 
comportamentais do software (GUEDES, 2011). Modelo é uma visão simplificada 
que descreve um sistema de um ponto de vista.
14
Modelos definem um conjunto de atividades, ações, tarefas, marcos e produtos 
de trabalho necessários para a engenharia de software. Esses modelos não são 
perfeitos, mas fornecem um roteiro útil para o desenvolvimento (PRESSMAN, 2011).
Modelo é uma visão simplificada que descreve um sistema de um ponto de vista e 
define um conjunto de atividades necessárias para construção de uma aplicação. A 
modelagem nada mais é que uma atividade de construir modelos que expliquem as 
características e o comportamento de uma aplicação.
Assim, a modelagem facilita o entendimento entre os envolvidos ao processo 
de levantamento de requisitos. As formas de modelagem mais utilizadas são 
a prototipação e a modelagem gráfica. Paralelamente ao projeto físico, são 
projetados os programas a serem usados acima do BD, descritos em linguagens de 
programação que suportam comandos da linguagem SQL.
Segundo Neves (2002), o BD relacional é utilizado preferencialmente pelos 
comércios e para problemas cotidianos. O modelo relacional surgiu do estudo 
realizado por Codd, em 1970, influenciado pela teoria dos conjuntos e pela álgebra 
relacional. O objetivo era que usuário entendesse conceitualmente a organização 
interna de um banco de dados. Além disso, o modelo de dados deveria estar 
normalizado, o que significa que deveria seguir regras para garantir a eficaz 
organização dos dados. 
Normalização de dados é o processo de organização das colunas e das próprias 
tabelas do BD relacional para minimizar a redundância e a dependência. Este 
processo comumente envolve a divisão de tabelas grandes em pequenas (e menos 
redundantes) e define relacionamentos entre elas.
De forma objetiva, o que se deseja é isolar dados de forma que a entrada, a 
remoção e a alteração de informações em um campo possam ser feitas em 
apenas uma tabela e se propagar pelo resto do banco de dados, de acordo com os 
relacionamentos já definidos.
Para isso, com auxílio da matemática, regras foram estabelecidas para se obter 
desempenho na manipulação dos dados, que resultou no conjunto de propriedades 
conhecido como Atomicidade, Consistência, Isolamento e Durabilidade (ACID). 
Atomicidade indica que todas ou nenhuma das operações devem ser aplicadas de 
maneira correta no banco de dados; Consistência significa que, independentemente 
da quantidade de transações, deve-se garantir que uma transação não execute 
operações concorrentes, que gerem estado inconsistente ao SGBD; Isolamento: 
transações podem ser executadas simultaneamente, sem que uma saiba o que 
15
(e se) a outra está executando; e Durabilidade vai determinar que a execução seja 
realizada com sucesso (SUMATHI; ESAKKIRAJAN, 2007).
Porém, só na década de 1980 que foi implementado, revelando-se versátil e 
adequado para solucionar casos nos níveis de conceituais e lógicos. A sua estrutura 
fundamental é a relação (ou relacionamento) constituída por um ou mais atributos 
(campos), que referenciam o domínio (tipo de dados a armazenar). Cada instância 
do esquema (linha) é designada por uma tupla (registro). Essas linhas e colunas 
formam as tabelas, também chamadas de relações (SILBERSCHATZ et al., 1999). 
Todavia, para evitar aspectos indesejáveis no modelo relacional, como repetição 
de informação, incapacidade de representação e até perdas, trabalhamos com 
integridade referencial (assegura que um valor que aparece em uma tabela para um 
determinado conjunto de atributos apareça em outro conjunto de atributos em outra 
tabela), chaves (primárias e estrangeiras) e junções de tabelas (podemos ter duas 
ou mais tabelas relacionadas, já que é comum precisarmos de dados de diferentes 
tabelas, agrupando-as por regras especificadas). 
No modelo relacional, cada linha de uma tabela representa um fato que corresponde 
geralmente a uma entidade ou a um relacionamento do mundo real. O nome da 
tabela e os nomes das colunas são utilizados para auxiliar na interpretação do 
significado dos valores em cada linha.
Para que o SGBD seja genuinamente relacional, deve armazenar os dados como 
relações de tal maneira que cada coluna seja identificada independentemente 
de seus nomes sem que a ordenação das linhas seja importante. As operações 
disponíveis para o usuário e as operações usadas internamente pelo sistema devem 
ser operações relacionais verdadeiras; e suportar pelo menos uma variante de 
operação de junção (ELMASRI; NAVATHE, 2011).
Chaves
Dependendo das características dos dados que se pretende armazenar, são 
estabelecidas restrições de integridade para relacionar as tabelas, utilizando-se de 
um campo identificador como chave. Se a chave primária corresponde a uma ou 
mais colunas, não possuindo valores duplicados dentro de uma tabela, uma chave 
estrangeira pode corresponder a uma ou mais colunas em que os valores estejam 
identificados necessariamente como chave primária da outra tabela. A chave 
estrangeira é o mecanismo de ligação e definição dos relacionamentos em um 
banco de dados relacional (DATE, 2000). 
16
A chave primária é escolhida a partir de chaves candidatas (possíveis de identificar 
exclusivamente as tuplas), que irá representar um valor único e não nulo (DATE, 
2000). Por exemplo, se tivermos as tabelas ‘clientes’ e ‘pedidos’, o atributo IDCliente 
da tabela ‘pedidos’ identifica a ligação com a tabela ‘clientes’. Este atributo é 
considerado chave estrangeira na tabela ‘pedidos’, e primária na tabela ‘clientes’. 
Quando a chave primária é simples, ela é formada por um único campo da tabela, 
sendo que este campo não pode ter dois valores ou mais registros de mesmo valor, 
e não pode conter registro nulo. Quando a chave é composta, portanto, formada por 
mais de um campo, os valores podem se repetir, mas não a combinação desses 
valores.
Com essa chave estrangeira, podemos facilitar as consultas e fazer cruzamento de 
dados através destas referências. Perceba que a chave estrangeira não será única 
dentro de uma tabela, mas no caso da chave primária, sempre será e deverá ser 
única.
Restrições do modelo relacional
Enquanto a aplicabilidade do modelo relacional se faz pertinente à prestação de 
serviços e ao comércio, o avanço da tecnologia influencia no desenvolvimento e na 
evolução de sistemas, adicionando novas características,conforme necessidade 
de se representar tipos de dados mais complexos, dando suporte a aplicações em 
Indústria, Comércio, Médica, Científica, Geoprocessamento, Eletrônica, Multimídia, 
Conhecimento e uma infinidade. 
As limitações do modelo relacional estão na dificuldade em representar objetos do 
mundo real, na incompatibilidade com as linguagens de programação orientada a 
objetos, na falta de suporte a grandes bancos de dados e a transações longas. Logo, 
os BD orientados a objetos oferecem flexibilidade, sem ser limitado pelos tipos de 
dados e linguagens de consulta (ELMASRI; NAVATHE, 2011). 
Atualmente, o volume de dados gerados por algumas organizações, como é o caso 
do Google, Amazon, Facebook, Netflix, entre outros, atinge o nível de petabytes 
(equivale a 1.000 terabytes, ou a 1.000.000 de gigabytes). Esses ambientes têm 
se mostrado bastante problemáticos nos processos de gerenciamento desses 
imensos volumes de dados, pois os principais problemas gerados com a utilização 
dos SGBDs relacionais estão concentrados na necessidade de conciliar o modelo 
relacional com a frequente demanda por escalabilidade.
17
Para analisar esse cenário, podemos usar o seguinte exemplo: considere uma 
aplicação web que é executada sobre um SGBD relacional. Devido a um aumento do 
número de usuários e acessos ao aplicativo, o sistema começa a ter uma perceptível 
queda de desempenho. Para corrigir o problema, podemos considerar duas soluções 
alternativas: fazer um upgrade nos recursos no servidor ou adicionar novos de 
servidores para a aplicação.
No entanto, essas soluções seriam totalmente ineficientes se o número de usuários 
continuar crescendo exponencialmente, isso porque o problema passa a ser os 
acessos à base de dados. A melhor solução, nesse caso, seria escalar o banco de 
dados de forma distribuída em vários servidores.
Agora que compreendemos o modelo relacional, vamos conhecer um pouco sobre o 
modelo orientado a objetos.
Modelo orientado a objetos
Os bancos de dados não convencionais, também conhecidos como BDs multimídia 
ou BD orientado a objetos, armazenam dados não alfanuméricos. De acordo com 
Elmasri e Navathe (2011), os dados não convencionais se dividem em quatro 
tipos diferentes, sendo eles: a imagem, os clipes de vídeo, os clipes de áudio e 
documentos (como livros e artigos). 
Quando se usa esse tipo de armazenamento, de maneira geral, ele funciona bem, 
exceto quando o volume de dados passa a ser descontrolado, muito grande, 
precisando de um sistema que gerencie as alterações, que facilite as consultas, 
e nesse ponto o banco de dados é um fator de extrema valia funcional. Segundo 
Silberschatz, Korth e Surdashan (1999), esse tipo de banco de dados ainda tem 
atributos referenciando cada objeto multimídia a quando ele foi criado, quem o criou 
e a qual categoria ele pertence.
Figura: Exemplo de banco de dados orientado a objetos
Fonte: Adaptada de Takai et al. (2005).
18
Além disso, mapear uma linguagem orientada a objetos para um banco relacional 
é sinônimo de custo, e esse paradigma economiza tempo na produção de um 
software. Nas áreas espaciais, telecomunicações, e nas áreas de física e biologia é 
comum seu uso, pois aumenta a performance.
Existem vários bancos de dados orientados a objeto, cada qual para uma aplicação 
e linguagem(ns) de programação também com mesmo paradigma. Vejamos alguns 
exemplos:
• Caché: suporta Java, .Net, C++ e XML;
• DB4Objects: utiliza uma linguagem própria, Object Query Language (OQL), su-
porta Java e .Net;
• Gemstone: DML como linguagem de consulta, suporta Java, C++, C# e XML;
• Jasmine: suporte a Java, Visual Basic, C e C++;
• Matisse: suporta Java, C#, C++, VB, Delphi, Perl, PHP, Eiffel, SmallTalk; 
• Objectivity/DB: suporta C#; C++; Java; Python, Smalltalk; SQL++ e XML;
• Ozone: suporta Java e XML; 
• O2: suporta C e C++;
• Versant: aplicado em áreas financeiras e médicas, sistemas de telecomunica-
ções, redes de transporte e logística, suporta Java e C++.
O BD Orientado a Objetos oferece modelo atual e intuitivo para o desenvolvimento 
de aplicações. De acordo com Larman (2000), o paradigma Orientação a Objeto (OO) 
aproxima a linguagem de computadores ao mundo real, facilitando a modelagem e a 
codificação, pois organiza objetos que interagem entre si. 
Esta técnica propõe reusabilidade, pois elimina redundância de código, aumentando 
a produtividade e melhorando a manutenibilidade, já que o encapsulamento impede 
o acesso direto aos dados dos objetos (LARMAN, 2000). 
Para Elmasri e Navathe (2011), o objeto tem identidade própria, possuindo atributos 
(característica) e métodos (ações). Já a classe é um conjunto de objetos que 
possuem características e comportamentos em comum. Por exemplo, os objetos 
‘Francisco’ e ‘Aparecida’ pertencem à classe ‘Pessoa’. 
De acordo com Deitel e Deitel (2010), o design orientado a objetos (Object-Oriented 
Design - OOD) modela software de maneira parecida àquela utilizada para descrever 
objetos do mundo real. Desta forma, objetos com características similares são 
abstraídos em classes, como, por exemplo, uma classe veículo, onde os objetos 
carro, caminhão e caminhonete possuem características em comum. De acordo 
19
com Guedes (2009), uma classe trata-se de uma abstração de um grupo de objetos 
semelhantes; portanto não é possível trabalhar com uma classe propriamente dita, 
mas apenas com suas instâncias, ou seja, com os objetos da mesma. Desta maneira 
o autor traz o exemplo da classe Pessoa. Segundo o autor, é possível trabalhar 
apenas com as instâncias desta classe como, por exemplo, João e Pedro, que são 
nomes que identificam seus objetos. O autor ainda faz uma analogia entre uma 
planta de uma casa, que exprime o conceito da classe, e uma casa de verdade. 
Assim, não é possível morar numa planta de uma casa, mas a partir dela pode-se 
contruir várias casas. 
De acordo com esta perspectiva, a planta da casa é vista como a classe enquanto 
a casa construída é considerada o objeto. O OOD ainda tem como característica 
o uso do princípio de herança, no qual novas classes são criadas observando as 
características de classes já existentes. Guedes (2009) explica que a utilização de 
herança permite o reaproveitamento de atributos e métodos, otimizando o tempo 
de desenvolvimento e diminuição de linhas de código, além de facilitar futuras 
manutenções.
Outro aspecto do design orientado a objetos é o encapsulamento de atributos e 
operações. De acordo com Deitel e Deitel (2010), os objetos possuem a propriedade 
de ocultamento de informações. 
Desta maneira, um objeto pode se comunicar com outro através de interfaces 
bem definidas, porém não têm permissão de saber como outros objetos são 
implementados, ou seja, os detalhes de implementação estão ocultos dentro do 
próprio objeto.
Por fim, as linguagens de programação tiram proveito do paradigma de orientação 
a objetos para construir softwares com baixo acoplamento e componentes 
reutilizáveis. Conforme destaca Deitel e Deitel (2010), a linguagem de programação 
Java é considerava uma linguagem orientada a objetos. Nesta linguagem, a unidade 
de programação é a classe, onde são definidos métodos, que implementam 
operações, e campos, que implementam atributos. O autor afirma que empacotar 
software como classes permite que sistemas de software futuros reutilizem as 
mesmas. Assim, grupos de classes relacionadas são normalmente empacotados 
como componentes reutilizáveis. Entre as vantagens da reutilização de classes 
existentes para construção de novas classes e programas, está a economia de 
tempo e esforço, além de possibilitar a construção de sistema mais confiáveis e 
eficientes, pois classes e componentes já existentes costumam já ter passado por 
extensos testes de depuração e ajuste de desempenho. 
20
Os BDOOs constituem uma importante etapa na evolução dos SGBDs, satisfazendo 
às exigências das aplicações com persistência e outros recursos na área de padrões 
e modelos ajustados.
FechamentoAo longo de nossos estudos, conseguimos revisar conceitos a respeito de banco 
de dados. Vimos sua evolução desde os sistemas de arquivos, até as arquiteturas 
que foram sendo criadas para poder gerenciar de modo eficaz dados para auxiliar 
nas tomadas de decisão. Concluímos, também, que não podemos ir direto ao SQL, 
usando um SGBD sem planejamento. Ou seja, para um banco de dados ter forma, 
existem fases de modelagem, que subsidiam o projeto de desenvolvimento de 
sistemas de informação.
Referências
AUDY, J. L. N.; ANDRADE, G. K. de; CIDRAL, A. Fundamentos de sistemas de 
informação. Porto Alegre: Bookman, 2005.
ALVES, P. R.C. Engenharia	de	Requisitos	para	Aplicação	WEB.Recife, 2009. 
Disponível em: <http://www.cin.ufpe.br/~in1020/arquivos/ monografias/2009_1/
pablo.pdf> Acesso em: 12 maio 2018.
ALVES, W. P. Banco de dados. São Paulo: Érica, 2014. 
AREND, R. C. Implementação	de	aplicação	web	para	controle	de	gastos	da	central	
telefônica da UTFPR. Pato Branco,2013. Disponível em: <http://repositorio.roca.
utfpr.edu.br/jspui/bitstream/1/2019/1/PB_COADS_2012_2_10.pdf> Acesso em: 12 
maio 2018.
BEZERRA, E. Princípios de Análise e Projeto de Sistemas com UML. 3. ed. Rio de 
Janeiro: Elsevier, 2015.
BIO, S. R. Sistemas	de	informação: um enfoque gerencial. São Paulo: Atlas, 1996.
BOGHI, C.; SHITSUKA, R. Sistemas	de	Informação: um enfoque dinâmico. São Paulo: 
Érica, 2007.
21
BUILDING A USE CASE DIAGRAM. ARGOUML. Disponível em: <http://argouml.tigris.
org/tours/bdUseCaseDiagram.html>. Acesso em: 11 jun. de 2018.
CALIARI, F. M. Método	para	construção	de	ontologias	a	partir	de	Diagramas	
Entidade-Relacionamento. Curitiba, 2007. Disponível em: <http://livros01.
livrosgratis.com.br/cp035899.pdf>. Acesso em:10 abr. de 2018.
CARDOSO, V.; CARDOSO G. Sistemas de banco de dados: Uma abordagem 
introdutória e aplicada. São Paulo: Saraiva, 2012. 
COUGO, P. S. Modelagem conceitual e projeto de banco de dados. Rio de Janeiro: 
Elsevier,1997.
DATE, C. J. Introdução	a	sistemas	de	bancos	de	dados. 8. ed. Rio de Janeiro: 
Elsevier, 2003. 
DEITEL, P.; DEITEL, H. Java como programar. 8. ed. São Paulo: Pearson Prentice Hall, 
2010.
ELMASRI R.; NAVATHE S. B. Sistemas de banco de dados. São Paulo: Pearson, 2011. 
GIMENES, I.M.S., HUZITA, E.H.M. Desenvolvimento baseado em componentes: 
Conceitos e Técnicas. (s.c.): Ciência Moderna, 2005. 
GORDON, S. R.; GORDON, J. R. Sistema	de	informação: uma abordagem gerencial. 3. 
ed. Rio de Janeiro: LTC, 2006.
GUEDES, G. T. A. UML 2: uma abordagem prática. 2. ed. São Paulo: Novatec, 2011.
HEUSER, C. A. Projeto de banco de dados. Porto Alegre: Bookman, 2011. 
IMONIANA, J. O. Auditoria	de	Sistemas	de	Informação. 1. ed. São Paulo: Atlas, 2005.
LARMAN, C. Utilizando UML e padrões. Porto Alegre: Bookman, 2000. 
LAUDON, K. C.; LAUDON, J. P. Sistemas	de	Informação	Gerenciais	administrando	a	
empresa digital. 5. ed. São Paulo: Pioneira Thomson, 2004.  
LIRA, W. S. et al. A busca e o uso da informação nas organizações. Perspect.	ciênc.	
inf.	[on	line], v. 13, n. 1, 2008. Disponível em <http:// dx.doi. org/10.1590/S1413-
99362008000100011> Acesso em: 10 maio 2018. 
MACHADO, F. N. R. Projeto	e	implementação	de	banco	de	dados. São Paulo: Érica, 
2014. 
http://argouml.tigris.org/tours/bdUseCaseDiagram.html
http://argouml.tigris.org/tours/bdUseCaseDiagram.html
22
MAÑAS, A. V. Administração	de	Sistemas	de	Informação. 7. ed. São Paulo: Érica, 
2007. 
NEVES, D. L. F. PostgreSQL: conceitos e aplicações. São Paulo: Érica, 2002. 
OLIVEIRA, C. H. P. SQL: curso prático. São Paulo: Novatec, 2002.
OLIVEIRA, D. P. C. Sistemas de Informações Gerenciais: Estratégicas Táticas 
Operacionais. 12. ed. São Paulo: Atlas, 2008.
PEREIRA, M. J. L. B.; FONSECA, J. G. M. Faces	da	Decisão: as mudanças de 
paradigmas e o poder da decisão. São Paulo: Makron Books, 1997. 
PFLEEGER, S. L. Engenharia	de	software: teoria e prática. 2. ed. São Paulo: Prentice 
Hall, 2004.
PRESSMAN, R. S. Engenharia	de	software - uma abordagem profissional. 7. ed. São 
Paulo: McGraw-Hill, 2011.
REZENDE, D. A. Planejamento de informações públicas municipais: sistemas de 
informação e de conhecimento, informática e governo eletrônico integrados aos 
planejamentos das prefeituras e municípios. Revista	de	Administração	Pública, Rio 
de Janeiro, v. 41, n. 3, p., mai.-jun. 2007. 
REZENDE, D. A.; ABREU, A. F. Tecnologia	da	informação: aplicada a sistemas de 
informação empresariais. 5. ed. São Paulo: Atlas, 2008.
RODRIGUES JUNIOR, M. C. A implementação objeto-relacional no Oracle. SQL 
Magazine, ed. 15, ano 2, p. 8, 2005. 
SAMPAIO, M. C. História de UML. 2017. Disponível em: <http://www. dsc.ufcg.edu.br/
sam paio>. Acesso em: 9 ago. 2018.
SETZER, V. W.; SILVA, F. S. C. Bancos de dados: aprenda o que são, melhore seu 
conhecimento, construa os seus. São Paulo: Edgard Blücher, 2005.
SILBERSCHATZ, A.; KORTH, H. F.; SURDASHAN, S. Sistema de Banco de Dados. 3. ed. 
São Paulo: Pearson Makron Books, 1999.
SILVA, R. P. UML 2 em Modelagem Orientada a Objetos. Florianópolis: Visual Book, 
2007.
SOMMERVILLE, I. Engenharia	de	Software. 8. ed. São Paulo: Pearson Addison - 
Wesley, 2007.
23
STAIR, R. M.; REYNOLDS, G. W. Princípios	de	Sistemas	de	Informação. São Paulo: 
Pioneira Thomson, 2006. 
S.; SUMATHI, S.; ESAKKIRAJAN, S. Fundamental of Relational Database Manage 
ment Systems. Studies in Computational Intelligence, v. 47, 2007. 
TAKAI, O.K.; ITALIANO, I.C.; FERREIRA, J.E. Introdução	a	banco	de	dados. 2005. 
Disponível em: <https://www.ime.usp.br/~jef/apostila. pdf>. Acesso em: 10 maio 
2018.
TONSIG, S. L. Engenharia	de	Software: Análise e Projeto de Sistemas. São Paulo: 
Futura, 2003.
TURBAN, E., RAINER, JR. R. K., POTTER, R. E. Introdução	a	Sistemas	de	Informação. 
1. ed. Rio de Janeiro: Elsevier, 2007.
ZORRINHO, C. Gestão	da	informação: condição para vencer. Lisboa: Instituto de 
Apoio às Pequenas e Médias Empresas (IAPMEI), 1995. 
Banco de dados: 
conceito e aspectos 
 BRISIGHELLO, V.
Banco de dados: conceito e aspectos / Vinícius Bri-
sighello 
Florianópolis, 2019; 15 páginas.
Copyright © 2019. Delinea Tecnologia Educacional. Todos os direitos reservados.
3
Banco de dados: 
conceitos e aspectos
Apresentação 
Neste momento de nossos estudos, os aspectos introdutórios e o conceito de banco 
de dados, as principais vantagens de um banco de dados. Em seguida, analisaremos 
as especificidades e finalidades dos diferentes modelos. 
Aspectos Introdutórios
Segundo Heuser (2009, p. 22), banco de dados “é um conjunto de dados integrados 
que tem por objetivo atender uma comunidade de usuários”. E entre as principais 
vantagens de um banco de dados, podemos destacar: 
• Volume: como os dados são armazenados de forma digital, não há necessida-
de de arquivos de papel. 
• Agilidade nas informações: os computadores têm maior capacidade de pro-
cessamento que os seres humanos. 
• Menor trabalho: com eliminação do papel, as tarefas são sempre feitas pelo 
usuário final, por meio de um sistema. 
• Confiabilidade: as informações são mais precisas e atualizadas, pois estão 
disponíveis a qualquer momento. 
• Proteção: os dados não ficam expostos para qualquer pessoa acessar, mas 
sim apenas pessoas autorizadas têm acesso. 
• Compartilhamento de informações: como os dados podem ficar disponíveis a 
qualquer momento, vários departamentos dentro da organização têm acesso 
às informações simultaneamente. 
Neste contexto, uma forma de comunicação padronizada de acesso às informações 
de um banco de dados é por meio dos Sistemas de Gerenciamento de Banco 
de Dados (SGBDs). Amadeu (2015, p. 26) define o “SGBD como parcialmente 
responsável por garantir que todo estado do banco de dados seja um estado 
válido, isto é, um estado que satisfaça a estrutura e as restrições especificadas no 
esquema”. Assim, os SGBDs apresentam como base o modelo de dados relacionais, 
também conhecido por abordagem relacional. Silberschatz, Korth e Sudarshan 
4
(2006, p. 15) definem os modelos de dados relacionaiscomo “um conjunto de 
tabelas para representar tanto os dados quanto às relações entre eles”: 
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. 
Um modelo de dados oferece uma maneira de descrever o projeto de um 
Banco de Dados no nível físico, lógico e de view. (SILBERSCHATZ; KORTH; 
SUDARSHAN; 2006, p. 5). 
Vale ressaltar que neste momento adotaremos o termo modelo relacional em vez 
de abordagem relacional, optando assim pela forma mais utilizada na literatura. 
A abordagem relacional ou modelo de dados relacionais surgiu em 1970 por Ted 
Cood da IBM Research, tendo como conceito a relação matemática, tabelas e 
valores, e sua teoria está vinculada à teoria de conjuntos e na lógica de predicados 
de primeira ordem. 
Segundo Elmasri e Navathe (2011, p. 90), 
“[...] o modelo relacional representa o banco de dados como uma coleção 
de relações. Informalmente, cada relação se parece com uma tabela de 
valores ou, em alguma extensão, com um arquivo de registros plano”. 
O modelo relacional permite a representação da estrutura lógica do projeto com 
uma visão genérica. Sua estrutura é feita de forma clara e simples, possibilitando 
representar os dados do mundo real como objetos denominados entidade ou 
conjunto de entidades. 
Dessa forma, podemos entender que o modelo relacional é utilizado pela maioria dos 
SGBDs para a criação e a manipulação de informações em um banco de dados. No 
entanto, para que essas informações sejam manipuladas, faz-se necessário adotar 
uma modelagem de dados. 
Para Puga, França e Goya. (2013, p. 77): 
[...] a modelagem de dados é um método de análise que, a partir de fatos 
relevantes a um contexto de negócio, determina a perspectiva dos dados, 
permitindo organizá-los em estruturas bem definidas e estabelecer regras 
de dependência entre eles, além de produzir um modelo expresso por 
uma representação descritiva e gráfica. 
Como objetivos da modelagem de dados, que é considerado por muitos autores como 
a mais importante etapa no desenvolvimento de um banco de dados, podemos citar: 
5
• Entender melhor a regra de negócio do cliente. 
• Colher as informações que compõem o sistema. 
• Elaborar o banco de dados. 
• Contribuir na organização das informações. 
Agora que fizemos uma explanação geral do que tratará este assunto, vamos 
abordar o modelo conceitual. 
Modelo Conceitual 
O que seria o modelo conceitual? O que ele objetiva? Bem, podemos dizer que esse 
modelo tem como objetivo solucionar problemas do mundo real, criando elementos 
globais e interligando-os por meio de estruturas de informação. Para a criação de 
um banco de dados, devemos sempre dar o “start” primeiramente pelo modelo 
conceitual. Mas por que o modelo conceitual é o primeiro a ser criado? Justamente 
porque ele tem por obrigação demonstrar ao usuário final, que nem sempre terá um 
conhecimento de banco de dados, qual a estrutura e as regras de negócios que serão 
implementadas no banco. O modelo conceitual deve atender a todo o processo de 
solicitações cotidiana para que possamos ter esses dados estruturados fisicamente.
É importante destacarmos que o modelo conceitual não é associado 
e não faz parte de nenhum SGDB (Sistema Gerenciador de Banco 
de Dados). O modelo conceitual é útil para identificar e analisar se 
as regras de negócio estão bem definidas e dessa forma não haver 
erros futuros. 
Atenção
A figura a seguir demonstra de forma gráfica a criação de um modelo conceitual. 
6
Figura: Exemplo de modelo conceitual 
 
Fonte: Elaborada pelo autor (2018).
O modelo conceitual também pode ser representado por meio de texto, como: 
• Cadastro de responsáveis: dados necessários: campo Identificador único, 
nome do pai, nome da mãe, telefones. 
• Cadastro de alunos: dados necessários: campo identificador único, código 
identificador do responsável, nome do aluno, idade. 
Para verificarmos se realmente você entendeu como criar um modelo relacional, 
imagine agora se nós perguntássemos a você como você descreveria o modelo 
conceitual para armazenar os dados de um livro? Pense sobre isso e responda para 
você mesmo quais os itens cida. Vamos a ela: Cadastro de livros: identificador do 
livro, título, autor, editora, número de páginas, preço, ano de publicação, número de 
edição, ISBN. Agora que vimos sobre o modelo conceitual, vamos abordar o modelo 
lógico. 
Modelo Lógico
No que será que este modelo difere do modelo conceitual? Bem, podemos dizer 
que o modelo lógico só deve ser inicializado logo após a conclusão do modelo 
conceitual. Diferente do modelo conceitual, o modelo lógico será criado com base 
em um tipo de banco de dados, como SQL Server, Oracle, MySQL, dentre outros. 
Muitos analistas não aceitam que a etapa do modelo conceitual seja importante, 
pois na verdade muitos dizem que não há necessidade e, devido aos prazos curtos 
dos projetos, não criam o modelo conceitual e já começam o desenvolvimento para 
o modelo lógico. Muitos se dão conta de que então nem todo requisito ou solicitação 
ficou completa ou foi atendida corretamente e que poderia ser facilmente criada 
7
e interpretada na elaboração do modelo conceitual. Veja a seguir a representação 
gráfica do modelo lógico, seriam importantes para esse problema. 
A solução que iremos dar agora pode não ser exatamente igual à qual você pensou, 
mas existe uma grande chance de ser muito parecida. Vamos a ela: 
Cadastro de livros: identificador do livro, título, autor, editora, número de páginas, 
preço, ano de publicação, número de edição, ISBN. Agora que vimos sobre o modelo 
conceitual, vamos abordar o modelo lógico.
Figura: Exemplo de modelo lógico 
Fonte: Elaborado pelo autor (2018). 
O modelo lógico também pode ter sua representação de forma textual: 
• Parents (parent_id, father, mother). 
• Students (student_id, name, age, parent_id) parent_id referência Parents. 
• Telephone (telefone_number, parent_id) parent_id referência Parents. 
Agora que compreendemos um pouco sobre o modelo lógico, vamos ao modelo 
físico. 
Modelo Físico
De onde vem o modelo físico? Ele é concebido por meio do modelo lógico e nesse 
modelo é onde será definido os tipos de dados que serão armazenados. No modelo 
físico são criados os componentes de tabelas, campos, tipo de dados e valores, 
índice e uma série de outras informações que serão abordadas mais à frente. 
8
Figura: Exemplo de modelo físico
Fonte: Elaborado pelo autor (2018). 
Para entendermos melhor esse conceito de tabelas, representaremos o modelo 
físico apresentado na figura com tabelas e alguns respectivos valores, como 
podemos observar no quadro a seguir. 
Quadro: Modelo físico representado por tabelas 
Fonte: Elaborado pelo autor (2018). 
Vamos agora abordar sobre o modelo de entidade e relacionamento. 
9
Modelo Entidade Relacionamento 
Esse modelo é composto por três elementos: 
• Entidades; 
• Relacionamentos; 
• Atributos. 
Nesse modelo que iremos criar agora, o objetivo é entendermos a regra de negócio 
para que possamos projetar um sistema por meio das representações gráficas e de 
dados. 
Entidade
A entidade é um elemento/objeto/evento no qual queremos armazenar uma 
informação. Essa entidade corresponde a qualquer coisa do nosso cotidiano. As 
entidades são nomeadas com substantivos concretos ou abstratos que representem 
de forma clara sua função dentro do domínio. Para entendermos o que é essa 
entidade e qual a sua finalidade, podemos citar aqui que uma entidade pode ser, por 
exemplo, comum em vários sistemas como Cliente, Produto, Venda, Turma, Função, 
entre outros. No modelo ER as entidades são representadas graficamente por 
retângulos. 
Figura: Entidade 
Fonte: Elaborado pelo autor (2018).
Uma entidade é a representação de um elemento de dados para um fim específico 
existente no mundo real. Essa entidade terá uma ou várias informações. Cada 
ocorrência

Outros materiais