Buscar

BANCO DE DADOS I (IL10327)_ebook

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 139 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 139 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 139 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

SISTEMA GERENCIADOR 
DE BANCO DE DADOS
SISTEMA GERENCIADOR 
DE BANCO DE DADOS
Copyright © UVA 2019
Nenhuma parte desta publicação pode ser reproduzida por qualquer 
meio sem a prévia autorização desta instituição.
Texto de acordo com as normas do Novo Acordo Ortográfico 
da Língua Portuguesa.
AUTORIA DO CONTEÚDO
Claudio Fico Fonseca
REVISÃO
Luiz Werneck
Clarissa Penna
Janaina Senna
Lydianna Lima
PROJETO GRÁFICO
UVA
DIAGRAMAÇÃO
UVA
SUMÁRIO
Apresentação
Autor
6
8
Modelo de Dados 36
• UML
• Levantamento de requisitos
• Modelagem de dados
UNIDADE 2
9
• Banco de dados
• Modelos de Banco de Dados
• Sistema Gerenciador de Banco de Dados – SGBD
Sistema de Gerenciamento de Banco de Dados
UNIDADE 1
SUMÁRIO
Normalização de dados 111
• Engenharia reversa
• As três formas normais
• Forma normal Boyce-Codd
UNIDADE 4
79
• Conceito
• Relacionamento entre as classes
• Modelando o diagrama de classes
Diagrama de classes
UNIDADE 3
6
A disciplina Sistema Gerenciador de Banco de Dados – SGBD visa ao entendimento da 
necessidade de aplicação e de implementação de um SGBD nas empresas. Ao longo 
das aulas, você vai perceber que o uso dessa tecnologia permite o fortalecimento e o 
engrandecimento do negócio junto ao mercado globalizado. Além disso, você vai ver 
que é importante ter um ou mais sistemas de informação conectados a uma excelente 
base de dados, para que os negócios possam ser geridos de forma plena e segura.
O SGBD consiste em um conjunto tecnológico de recursos utilizados para:
• Tratar a informação.
• Gerar segurança nos dados.
• Permitir eficiência e eficácia na comunicação, incluindo software, hardware e rede 
de comunicação de dados.
O SGBD vem se tornando cada vez mais importante no nosso contexto por conta da 
globalização, que permitiu, ao longo dos anos, que as empresas pudessem ter informa-
ções mais rápidas e precisas.
Além disso, o SGBD tem prospectado novas oportunidades de trabalho, crescimento de 
novos cenários de negócios, aumento do comércio e investimento de empresas inter-
nacionais. Entretanto, apesar dessas modificações positivas, os avanços em tecnologia 
estão gerando malefícios, como, por exemplo, os novos custos para os processos.
Nesta unidade, você verificará que os SGBDs são essenciais para as operações diárias 
das empresas, para que possam ter o controle sobre as suas informações e, a partir 
delas, criar estratégias para potencializar o negócio. 
APRESENTAÇÃO
7
As inovações tecnológicas permitirão que as empresas experimentem sempre um 
rápido crescimento, tendo em vista a qualificação oferecida a seus profissionais, 
bem como as oportunidades de aquisição de hardwares e softwares com maior po-
tência para o engrandecimento do negócio. Isso permitirá uma expansão até com o 
mercado internacional.
8
CLAUDIO FICO FONSECA
Graduado em Informática, especialista em Marketing, MBA em Gestão Empresarial, MBA 
em Gerenciamento de Projetos, mestre em Educação e doutor em Gestão Educacional. 
Exerce na Universidade Veiga de Almeida – UVA os cargos de diretor de Desenvolvimento 
Institucional, coordenador do curso de Sistemas da Informação (presencial e EAD), 
coordenador do curso de Análise e Desenvolvimento de Sistemas (EAD), coordenador 
do curso de Gestão da Tecnologia da Informação (EAD), coordenador do Núcleo de 
Certificação Profissional e Internacional, coordenador de MBA em Gestão Estratégica 
de TI. Exerceu o cargo de diretor da Escola de Tecnologia da Informação e Inovação 
das Faculdades Integradas de Jacarepaguá – FIJ; diretor de pós-graduação e extensão 
e consultor de Tecnologia da Informação na Master Educacional, pró-reitor acadêmico 
e diretor de tecnologia do Grupo Educacional Anglo-Americano, vice-reitor adjunto, 
diretor de Certificação Profissional e gerente de TI do Centro Universitário da Cidade 
do Rio de Janeiro. Atua como conselheiro de Educação e Novas Tecnologias, membro 
da Associação Brasileira de Educação, membro titular do Conselho Ibero-Americano, 
avaliador institucional e de cursos da área de informática e cursos superiores de tecnologia 
do Ministério da Educação/INEP, avaliador de cursos do Guia do Estudante e perito de 
Tecnologia da Informação da Justiça do Trabalho.
AUTOR
C. Lattes
http://lattes.cnpq.br/6387003742232768
Sistema de Gerenciamento 
de Banco de Dados
UNIDADE 1
10
Nesta unidade, você estudará o conceito e a importância do SGBD dentro uma pers-
pectiva teórica; conhecerá os diversos usos de um SGBD na empresa, bem como suas 
respectivas aplicações; saberá a importância dos princípios do gerenciamento da infor-
mação para a melhoria e a segurança do negócio. 
INTRODUÇÃO
Nesta unidade, você será capaz de:
• Conhecer os conceitos de banco de dados, seu papel na construção de um pro-
jeto de sistemas, especialmente o SGBD, para garantir a aplicação em um sistema 
computacional de informações e a importância da informação em um sistema, de 
acordo com a perspectiva de cada usuário ou grupo de usuários.
OBJETIVO
11
Banco de dados 
O que são bancos de dados?
Podemos trabalhar com duas nomenclaturas diferentes: bancos de dados e/ou bases 
de dados. Definir bancos de dados, por outro lado, não é tão simples. Observe, a seguir, 
algumas definições possíveis:
Bancos de dados são conjuntos de 
informações que se relacionam criando 
um sentido. São de grande importância 
para toda e qualquer empresa e, há duas 
décadas, tornaram-se peça-chave de 
todos os sistemas de informação.
Bancos de dados são conjuntos de 
arquivos que se comunicam entre si, 
proporcionando o armazenamento de 
uma grande quantidade de dados: nomes, 
telefones, documentos, pagamentos, 
endereços, clientes, serviços etc. 
Os bancos de dados precisam ser 
configurados e administrados por meio 
das linguagens de programação, como, por 
exemplo: JavaScript, SQL, PL/SQL etc.
De forma simples, um banco de dados nada mais é do que um ambiente de 
armazenamento de dados. Em um mundo cada vez mais digital, o controle, a 
necessidade e a gestão desses dados podem ser os diferenciais para conseguir 
sucesso no mercado.
Um banco de dados é, na verdade, 
uma estrutura de dados organizada, 
que possibilita a busca de informações 
direcionadas.
Bancos de dados são uma coleção
de dados interligados entre si e
organizados para fornecer informações
de grande importância.
Como um banco de dados é estruturado?
É importante frisarmos que um banco de dados pode possuir uma ou mais tabelas. Dentro 
da tabela, os dados são organizados em linhas e colunas e podem ser indexados ou
12
não (opção que a tabela oferece no momento de sua configuração), o que caracteriza 
uma grande facilidade para encontrar informações relevantes. Os dados, dentro de uma 
determinada tabela, podem ser incluídos, alterados e excluídos, conforme as informações 
são tratadas e em função das demandas. A tabela, em conjunto com o banco de dados, 
ajusta-se para criar e atualizar seu próprio volume, consultando os dados e executando 
aplicativos internos.
Nos dias de hoje, é possível encontrar diversos tipos de banco de dados, mas eles estão 
presentes na nossa vida há muito tempo. Como exemplo, podemos citar as antigas listas 
telefônicas, que, hoje, são os contatos dos respectivos smartphones. Podemos levar em 
consideração esse exemplo por se tratar de um conjunto de informações importantes 
com grande representatividade para o nosso dia a dia. Afinal, quem é que hoje memoriza 
um número de telefone?
No passado, era comum que as empresas 
armazenassem suas informações em arquivos 
físicos (folha de papel, cartão etc.), mas, com 
o surgimento e a evolução dos computadores 
portáteis e de grande porte, tornou-se possível o 
armazenamento de dados e informações de modo 
digital. Dessa forma, os bancos de dados passaram 
a evoluir em larga escala e começaram a se tornar 
o coração de vários sistemas de informação.
Dados versus informações
Muitos estudiosos consideram os termos dado e informação sinônimos, mas, na 
verdade,não são. Para que se possa entender, na íntegra, o que é um banco de dados é 
fundamental saber a diferença entre esses dois termos:
Dados são fatos brutos, não lapidados, 
em sua forma mais primária. Na maioria 
das vezes, os dados podem não fazer 
sentido quando estão sozinhos.
Informações consistem na união 
de dados bem organizados para 
que haja um sentido e, assim, gere o 
conhecimento necessário para uma ou 
mais demandas.
13
Exemplo
Observe o exemplo a seguir.
O número 2019 de forma isolada faz algum sentido? É claro que não! Isso é o 
que chamamos de “dado”. 
E se fosse dito que: “O ano do crescimento da economia é 2019”? Agora pode-
se dizer que há um sentido. Isso é o que chamamos de “informação”.
No exemplo anterior, do número 2019, o dado “o ano do crescimento da 
economia” pode ser considerado um metadado, pois ele é um dado relevante 
sobre o dado “2019”. 
Outro exemplo bem interessante em banco de dados é o campo “telefone” 
da tabela “FORNECEDOR”. Esse tipo de campo tem os seguintes metadados, 
entre outros: 
• Nome do campo (telefone).
• Tipo do campo (inteiro).
• Tamanho do campo (nove posições).
• Obrigatoriedade de preenchimento (não) etc.
Metadados
Todo dado que é pertinente a outro dado é denominado metadado. 
Exemplo
Um banco de dados é formado, obrigatoriamente, por dados e metadados. Sem a 
existência dos metadados não seria possível organizar e extrair informações pertinentes 
de um banco de dados e, assim, não seria possível atender às demandas.
14
A importância do banco de dados
O banco de dados armazena, controla e gerencia os bens mais valiosos que uma 
empresa, na atualidade, pode possuir. Isso se dá porque o mercado profissional está 
cada vez mais competitivo, acelerado e dinâmico, demandando das empresas respostas 
ágeis e assertivas, além da necessidade de estratégias bem estruturadas para uma 
determinada execução. O banco de dados armazena dados e, nessa gigantesca luta de 
competitividade, o dado preciso é sinal de poder.
Por meio dos processos de armazenamento, controle e gerenciamento de dados, toda a 
estrutura de funcionamento de uma empresa é galgada. Podemos afirmar que, em todo 
lugar, há um tipo de banco de dados. Por menor que seja o negócio, quando um gestor utiliza 
um aplicativo para organização financeira, por exemplo, está sendo utilizada uma espécie 
de banco de dados. Esse tipo de banco de dados pode ser classificado como simplificado 
e automatizado, que armazena, processa e fornece informações sobre finanças.
Por outro lado, quando se tem em seu negócio um banco de dados bem gerido e informações 
de qualidade, o resultado, na maior parte das vezes, é de total sucesso. Assim, é possível 
que o gestor possa analisar as informações e verificar em qual direção a sua empresa está 
caminhando, com isso poderá corrigir o caminho e/ou ampliar a sua atuação.
Outro ponto importante quanto ao uso de banco de dados é que é possível realizar uma 
série de levantamentos. Veja alguns exemplos: 
• O rendimento de um ou mais funcionários pode ser analisado. 
• Bem como a qualidade do atendimento desse funcionário. 
• O impacto das ações de marketing realizadas pela empresa. 
• O retorno obtido por ações empreendidas. 
• Outras inúmeras aplicações.
Para o cliente que também se utiliza do banco de dados, o efeito é rápido e objetivo. 
Acompanhe o exemplo a seguir:
15
Exemplo
Pense no cliente que compra um produto em um site e, depois, faz o 
acompanhamento do processo de pagamento, de preparação do produto e de 
todas as etapas da entrega. 
No dia a dia, quando se tem à disposição um banco de dados bem administrado, 
a relação cliente e empresa fica muito mais transparente e prazerosa, pois 
as necessidades do consumidor são reconhecidas de imediato e atendidas 
prontamente. Todos esses cuidados criam uma experiência mais salutar para 
o cliente.
Vantagens de um banco de dados
Você já percebeu que são muitas as vantagens do uso de bancos de dados. A seguir, 
listamos algumas:
Redução ou eliminação de redundâncias: faz com que haja a eliminação de dados 
repetidos entre cada sistema. Os dados, que serão os mesmos em mais de um sistema, 
possuem compartilhamento entre si, permitindo o acesso a uma mesma informação, 
sendo consultada por vários usuários em muitos sistemas.
Eliminação de inconsistências: a informação é armazenada em um só local, cujo 
acesso é descentralizado, e seu conteúdo é compartilhado com vários sistemas; isso 
permite que os usuários se utilizem de uma informação fidedigna. A inconsistência da 
informação ocorre quando um mesmo campo da tabela possui informações diferentes 
em sistemas diferentes. Veja o exemplo: o estado de moradia de uma pessoa é “SP” 
em um determinado sistema e “MG” em outro sistema da empresa. Isso ocorre porque 
a informação, de certa forma, foi atualizada em um campo da “Tabela A”, mas não foi 
atualizada no mesmo campo da “Tabela B”. Quando a informação é armazenada em um 
único local e compartilhada pelos devidos sistemas de forma integrada, esse problema 
certamente não ocorre.
Compartilhamento dos dados: faz com que ocorra o uso simultâneo e seguro de 
um dado de uma determinada tabela, utilizado por mais de um sistema ou usuário, 
independentemente da operação que esteja sendo realizada naquele momento. O 
importante é observar, apenas, o processo de atualização simultâneo da informação, 
16
para que não haja geração de erros no momento do processamento. Esse cuidado deve 
ser tomado uma vez que os aplicativos, nos dias de hoje, são, na sua maioria, sistemas 
multiusuários, ou seja, permitem que vários usuários tenham acesso simultâneo àquela 
informação.
Restrições de segurança: faz com que haja uma definição, deliberada por alguém de 
representatividade na empresa, para o nível de acesso ao sistema de cada usuário. Os 
níveis de acesso são: leitura, inclusão, alteração e exclusão. Dependendo do nível de acesso 
do usuário, ele será impedido de utilizar um ou outro recurso que possa impactar os dados 
da tabela do banco de dados. Um exemplo é o impedimento de excluir alguma informação.
Padronização dos dados: faz com que haja uma harmonização na forma como os dados 
são gravados nas respectivas tabelas. Por exemplo, para o campo “Sexo”, somente será 
permitido o armazenamento dos conteúdos “M” ou “F”. Assim, a tabela não aceitará 
nenhuma outra informação.
Manutenção da integridade: tem o objetivo de evitar que valores indevidos ou 
inconsistentes sejam gravados em uma respectiva tabela do banco de dados, como a 
inclusão do campo código ou da chave primária de uma tabela que não tenha correlação 
com outra tabela do banco de dados. Acompanhe um caso prático: a criação de um 
código de uma determinada disciplina na tabela “Histórico Escolar” sem que haja a 
existência desse código na tabela “Disciplina”.
Alguns importantes banco de dados utilizados no mercado
Mesmo com o crescimento dos bancos de dados no mercado corporativo, ainda é 
comum ouvir dos profissionais a pergunta: quais são os bancos de dados mais utilizados 
do mercado? 
Veja, a seguir, uma lista com os principais exemplos de banco de dados existentes no 
mercado profissional.
17
• O banco de dados Oracle foi lançado em 1980 e é o que temos de melhor no 
mercado. 
• É um banco de dados relacional que predomina no mercado há bastante 
tempo. 
• Sua linguagem de programação é o PL/SQL.
• Para os profissionais de TI, o domínio do SQL é algo fundamental. Mas ter o 
domínio do Oracle e PL/SQL é o segundo passo para se ter uma infinidade de 
oportunidades junto ao mercado de trabalho.
• Esse é o famoso banco de dados da empresa Microsoft e, no momento, é o 
terceiro colocado no ranking de preferências.
• Foi lançado em 1989 e também é um banco de dados relacional. 
• Com o crescimento das ferramentas de open source, depois de longos 27 
anos de mercado, a Microsoft lançou uma versão para o sistema operacional 
Linux.
• É um banco de dados bastante utilizado no mercado, mas devido ao fato 
deele, hoje, suportar linguagens do pacote .NET, além de a sua linguagem 
nativa ser o T-SQL, não é tão valorizado como o banco de dados Oracle. 
• É um banco de dados gratuito que tem sido muito utilizado em sistemas on-
line. Ele também pertence à família Oracle e foi lançado em 1996. 
• Também é considerado um banco de dados relacional.
• Os profissionais com conhecimentos em MySQL também são bem 
valorizados pelo mercado profissional, embora menos do que os profissionais 
com domínio do Oracle.
Oracle (pago)
SQL Server (pago)
MySQL (free)
18
• É um banco de dados relacional, com característica open source, da empresa 
PostgreSQL Global Development Group. Seu lançamento se deu em 1989.
• Pelo fato de ser open source, assim como o banco de dados MySQL da 
Oracle, é bastante utilizado para sistemas web.
PostgreSQL (free)
MIDIATECA
Acesse a midiateca da Unidade 1 e veja o conteúdo complementar indicado pelo 
professor sobre bancos de dados e sua importância no dia a dia das pessoas.
19
Modelos de Banco de Dados 
Neste tópico, você vai conhecer uma série de definições importantes para o 
desenvolvimento do trabalho com bancos de dados. Vamos lá?
Modelos de banco de dados
Um modelo de banco de dados demostra a sua estrutura lógica, inserindo e exibindo as 
relações e restrições que determinam como os respectivos dados poderão ser armazenados 
e acessados. Os modelos de banco de dados individuais são, na íntegra, projetados a 
partir das regras e dos conceitos do modelo de dados mais abrangente adotado pelos 
designers de banco de dados. A maior parte dos modelos de dados desenvolvidos pode 
ser representada por um determinado diagrama de banco de dados acompanhante.
Instâncias
É o conjunto de informações contidas em um banco de dados, em um dado momento.
Independência de dados
É a forma que se tem para a modificação e a respectiva definição dos esquemas existentes 
em determinado nível, sem que este afete de alguma forma o esquema do nível superior.
Existem dois tipos de independência. Conheça cada tipo, a seguir:
Permite que haja a possibilidade de 
modificação do esquema físico sem que 
qualquer programa utilizado no sistema precise 
ser refeito. As modificações oriundas no nível 
físico são deveras importantes, principalmente 
para que haja uma melhora significativa no 
desempenho do sistema e do banco de dados.
Faz com que se tenha uma capacidade de 
modificação do esquema lógico sem que 
qualquer programa desenvolvido na aplicação 
precise ser refeito. As modificações pertinentes 
no nível lógico são necessárias desde que uma 
referida estrutura lógica do banco de dados seja 
alterada por uma necessidade de adequação e/
ou melhoria de performance.
Física Lógica
20
Curiosidade
A independência lógica de dados é muito mais difícil de ser mensurada do que 
a independência física de dados. Isso porque os programas desenvolvidos no 
sistema são mais dependentes da estrutura lógica dos dados do que de seu 
acesso.
Os três níveis da arquitetura
A arquitetura ANSI/SPARC se divide em três níveis, conhecidos como nível interno, nível 
conceitual e nível externo. Entenda como cada um está organizado:
É conhecido, também, como nível físico. É o mais próximo do meio 
de armazenamento físico, ou seja, é aquele que se ocupa do modo 
como os dados são fisicamente armazenados.
Também conhecido como nível lógico do usuário. É o mais próximo 
dos usuários, ou seja, é aquele que se ocupa do modo como os 
dados são vistos por usuários individuais.
Esse nível, também conhecido como nível lógico comunitário, é um 
nível de simulação entre os dois níveis anteriores: interno e externo.
Nível interno
Nível externo
Nível conceitual
Tipos de modelos de bancos de dados
Temos vários tipos de modelos de dados utilizados no mercado profissional. Os mais 
comuns são:
21
• Hierárquico.
• Relacional.
• Rede.
• Entidade-relacionamento.
• Orientado para objetos.
• Entidade-atributo-valor.
• Modelo documental.
• Esquema em estrela.
• Relacional-objeto.
Com uma lista tão vasta de modelos de bancos de dados, você deve estar se perguntando: 
qual o melhor modelo a ser utilizado?
Nos dias de hoje, você poderá optar por desenvolver um banco de dados com qualquer 
um desses modelos. O fator diferenciador é se o sistema de gestão adotado pelo banco 
de dados que você usa suportará o modelo escolhido. A maior parte dos sistemas de 
gestão de banco de dados é construída com um modelo de dados particular e demanda 
que seus usuários adotem esse modelo, mesmo sabendo que alguns disponibilizam 
suporte a vários outros modelos.
Diante disso, diversos modelos de banco de dados aplicam-se para diferentes estágios 
do processo de criação de um banco de dados. Entenda que critérios colaboram para a 
escolha dos modelos de bancos de dados:
Os modelos de dados conceituais de 
alto nível são tidos como os melhores 
para coordenar as relações entre os 
dados de forma que os desenvolvedores 
percebam esses dados.
Os modelos lógicos, que são baseados 
em registros, refletem bem melhor 
as formas com que os dados são 
armazenados no servidor.
Importante
Definir qual o modelo de dados a ser usado é uma questão de definir suas 
prioridades para o banco de dados, tendo em vista os pontos fortes de um 
determinado modelo, independentemente de essas prioridades incluírem no 
seu contexto a questão da velocidade, da usabilidade e da redução de custos.
22
A seguir, saiba quais são os modelos de bancos de dados mais utilizados:
1. Modelo hierárquico
O modelo hierárquico foi muito utilizado, principalmente, pelos Sistemas de 
Gestão de Informações da IBM, entre os anos de 1960 e 1970. Hoje raramente 
são vistos devido a certas dificuldades operacionais.
Esse modelo organiza os dados em uma forma do tipo “árvore”, em que cada 
registro constituído tem um único “pai” ou uma raiz. Os registros caracterizados 
como “irmãos” são classificados em uma ordem específica. Essa ordenação é 
utilizada como a ordem física para armazenar o banco de dados. Esse modelo é 
bom para descrever muitas relações do mundo real.
2. Modelo relacional
O modelo relacional foi introduzido por E. F. Codd no ano de 1970. Os bancos de 
dados relacionais são escritos na linguagem SQL (Structured Query Language) 
e, atualmente, são considerados o modelo mais comum. Ele classifica os dados 
em tabelas, conhecidas como relações, e cada uma das tabelas é constituída de 
linhas e colunas:
• As colunas exibem atributos da entidade em questão, como data de nascimento, 
valor, CEP, entre outros. Unidos, os atributos em uma relação são denominados 
de domínio. Um atributo ou combinação de atributos específicos é determinado 
como uma chave primária que pode ser consultada em outras tabelas; quando 
isso acontece, existe a denominação de chave estrangeira.
• Cada linha da tabela, também denominada de tupla, inclui os dados sobre uma 
instância específica da entidade.
O modelo também ressalta os tipos de relações que há entre essas tabelas, 
incluindo as relações uma para uma, uma para muitas e muitas para muitas.
Dentro do banco de dados, é sabido que as tabelas podem ser normalizadas ou 
orientadas a seguir as regras de normalização que tornam o banco de dados 
adaptável, flexível e redimensionável. Quando normalizado, cada dado é atômico 
ou dividido em pequenos pedaços úteis.
23
3. Modelo de rede
Sua popularidade se deu nos anos de 1970, depois de ter sido validado pela 
Conferência sobre Linguagens de Sistemas de Dados ― CODASYL.
Esse modelo se caracteriza como o modelo hierárquico, permitindo que haja 
muitas possibilidades de relações entre os registros, formando vínculos. 
Isso implica a existência de vários registros do tipo “pai”. Com base na teoria 
dos conjuntos matemáticos, o modelo de rede é desenvolvido a partir de 
um conjunto de registros relacionados. Cada conjunto possui um registro 
proprietário, ou “pai”, e um ou mais registros membros, caracterizados como 
“filhos”. Um determinado registro pode ser caracterizadocomo membro ou 
como “filho”, em diversos conjuntos, permitindo, assim, que esse modelo seja 
capaz de transmitir relações complexas.
4. Modelo entidade-relacionamento
Esse modelo pega as relações entre as entidades do mundo real, de forma 
parecida com o modelo de rede, mas não está diretamente conectado com a 
estrutura física do banco de dados. Contudo, ele é constantemente utilizado 
para projetar um banco de dados de forma conceitual.
Temos definições de nomenclaturas como: pessoas; lugares; cidades. Essas 
definições serão armazenadas e referidas como “entidades”, cada uma 
possuirá determinados atributos que, em conjunto, compõem seu domínio. A 
cardinalidade, ou relação entre entidades, também é definida.
Uma forma bem comum do diagrama entidade-relacionamento é o uso do 
esquema em estrela, no qual uma tabela de fatos central se interliga a outras 
tabelas multidimensionais.
Modelos de banco de dados orientado para objetos
Esse modelo define o banco de dados como um conjunto de objetos, ou elementos 
reutilizáveis, com recursos e métodos associados. Existem dois tipos de bancos de 
dados orientados para objetos no mercado:
24
Saiba mais
O modelo de banco de dados orientado para objetos é tido como um modelo 
“pós-relacional”, tendo em vista que ele incorpora tabelas, mas não se limita a 
elas, necessariamente. 
Esse modelo de banco de dados também é tido como modelo híbrido. Um 
banco de dados híbrido faz a sinergia entre a simplicidade do modelo de banco 
de dados relacional com algumas das funcionalidades avançadas do modelo 
de banco de dados orientado para objetos. Na sua essência, ele flexibiliza para 
que os designers possam incorporar objetos na estrutura familiar da tabela.
As interfaces de linguagem de programação e chamadas incluem: linguagens 
de fornecedor; SQL3; JDBC; ODBC; interfaces proprietárias, cujas extensões 
permeiam as linguagens e interfaces usadas pelo modelo relacional.
Mais modelos de bancos de dados utilizados
Hoje temos uma gama de modelos de banco de dados que foram, ou ainda são, utilizados 
no mercado profissional para o desenvolvimento de softwares. Conheça esses modelos, 
a seguir:
• Plano: esse é o modelo mais simples a ser utilizado pelo desenvolvedor e também 
é o mais antigo. Permite a listagem de todos os dados em uma única tabela, que 
consiste em um conjunto de linhas e colunas.
• Arquivo invertido: esse modelo foi desenvolvido com base em uma estrutura 
de arquivo totalmente invertido. O objetivo desse desenvolvimento foi facilitar a 
agilidade em pesquisas e em textos com características mais complexas.
Multimídia
 
Faz a incorporação de mídias, como, por 
exemplo, as imagens, que não podem 
ser gravadas em um banco de dados do 
tipo relacional.
Hipertexto 
Possibilita que qualquer objeto seja ligado 
a qualquer outro objeto. É útil quando 
se tem a demanda de organizar lotes de 
dados diferentes, mas não é indicado 
para se trabalhar com análise numérica.
25
• Multidimensional: nada mais é do que uma variação do modelo relacional criado 
para facilitar o processamento analítico das informações. O modelo relacional é 
otimizado para o processamento de transações on-line – OLTP. Esse modelo, por 
sua vez, foi projetado para o processamento analítico on-line – OLAP.
• • Associativo: permite que haja a divisão de todos os dados com relação ao 
que eles representam em uma entidade (tabela) ou em uma associação entre as 
entidades (tabelas). Uma entidade pode existir de forma independente, enquanto 
uma determinada associação é um elo que só existirá quando houver um ponto de 
comunicação com uma outra entidade. É sabido que o modelo associativo permite 
a organização dos dados para que haja a existência de dois conjuntos:
• Conjunto de itens: fará com que haja um identificador exclusivo: nome e tipo.
• Conjunto de links: fará com que cada identificador exclusivo tenha uma fonte: 
verbo; destino. A informação armazenada tem relação com a fonte definida, e 
cada um dos dois identificadores poderá se conectar a um link ou a um item.
Modelos de bancos de dados denominados “não SQL”
Com a evolução dos modelos de banco de dados utilizados pelos desenvolvedores 
de softwares, tivemos a criação de modelos tidos como “não SQL”, que surgiram em 
comparação com o modelo de banco de dados relacional, são eles:
É ainda mais flexível do que um modelo de rede e permite 
que qualquer nó se conecte a qualquer outro.
Diferencia-se do modelo de banco de dados relacional, pois 
permite que os atributos contenham uma lista de dados em 
vez de um único ponto de dados.
É projetado para armazenar e gerenciar documentos ou 
dados semiestruturados, no lugar de dados atômicos, como 
a maioria dos modelos de banco de dados.
Gráfico
Multivalores
Documento
26
Bancos de dados usados na internet
A maioria dos sites desenvolvidos para 
empresas depende de algum tipo de 
banco de dados para armazenar, orga-
nizar, estruturar e apresentar resultados 
para os usuários. 
Cada vez que alguém acessa as funções 
de pesquisa contidas nesses sites, seus 
termos de pesquisa são transformados 
em consultas para um servidor de banco de dados processar e retornar com uma res-
posta. Geralmente, o “middleware” conecta o servidor da web com o banco de dados.
A grande presença dos bancos de dados nos sistemas desenvolvidos para os sites per-
mite que eles sejam usados em quase todas as áreas segmentadas, desde compras 
on-line até a microssegmentação de um determinado segmento.
MIDIATECA
Acesse a midiateca da Unidade 1 e veja o conteúdo complementar indicado pelo 
professor sobre a importância da modelagem dos bancos de dados utilizados 
na web.
27
Sistema Gerenciador de Banco de Dados – 
SGBD 
O que é um SGBD?
O SGBD é constituído por um conjunto de programas para acesso a todos os dados 
armazenados. O conjunto de dados, como você já sabe, é comumente chamado de banco 
de dados. O principal objetivo de um SGBD é proporcionar um ambiente tanto conveniente 
como eficiente para a recuperação e o armazenamento das informações do banco de 
dados. Esses sistemas são projetados para gerir grandes volumes de informações, o que 
implica:
• A definição de estruturas de armazenamento das informações. 
• A definição dos mecanismos para a manipulação dessas informações.
Além disso, um sistema de banco de dados deve garantir a segurança das informações 
armazenadas contra eventuais problemas com o sistema e impedir tentativas de acesso 
não autorizadas. Se os dados são compartilhados por diversos usuários, o sistema deve 
evitar a ocorrência de resultados anômalos.
Na sequência, você vai conhecer melhor os SGBDs e suas especificidades.
Componentes
Os componentes de um SGBD são:
• Ferramenta CASE.
• Gerador de relatórios.
• Linguagem de consulta.
• Planilhas eletrônicas.
• Pacotes estatísticos.
• Ferramentas para gerenciamento de cópias ou extração de dados.
28
Classificação quanto ao número de usuários
Como vimos anteriormente, o SGBD é um sistema de computador com um propósito 
geral de armazenar informações importantes e permitir aos usuários que tenham acesso 
para buscar e atualizar informações quando solicitado. Quanto ao número de usuários, 
os SGBDs podem ser classificados em dois tipos:
É um sistema em que no mínimo um 
usuário e no máximo um usuário poderá 
ter acesso à base de dados. 
Isso significa que somente um usuário 
poderá, por meio do sistema, acessar a 
base de dados.
É um sistema em que vários usuários, si-
multaneamente, poderão acessar o ban-
co de dados.
É a forma em que o mercado, nos dias 
de hoje, tem projetado seus bancos de 
dados.
Monousuário Multiusuário
Funcionalidades, requisitos e elementos
As funcionalidades, requisitos e elementos de um SGBD podem ser observados a seguir:
A diferenciação entre os SGBDs é feita 
pelo conjunto de funcionalidades e re-
quisitos que eles oferecem, tais como: 
• Controle de concorrência. 
• Integridade. 
• Recuperação/tolerância a falhas. 
• Segurança.
Os SGBDs também sãoidentificados por 
possuírem elementos como: 
• “Motor de arranque” da base de da-
dos. 
• Subsistema de manipulação de da-
dos. 
• Subsistema de definição dos dados. 
• Administração de dados. 
• Subsistema de geração das aplica-
ções.
É importante que os SGBDs abranjam as funcionalidades específicas necessárias para 
que as tabelas das bases de dados possam se relacionar plenamente e para que haja 
interação entre os dados constantes nos bancos de dados.
29
Características e funções
 
Veja, na lista abaixo, as características mais importantes que um SGBD precisa ter:
• Controle de redundância de dados.
• Representatividade de associações complexas.
• Disponibilidade de dados.
• Várias interfaces.
• Controle de acesso aos dados.
• Recuperação de falhas.
• Restrições de integridade.
Agora, responda: você sabe para que servem os bancos de dados? Veja, na lista abaixo, 
alguns exemplos de dados que podem ser geridos pelos SGBDs:
• Listas de discussão.
• Informação financeira.
• Informação contábil.
• Dados oriundos de pesquisas científicas.
• Informações sobre clientes.
• Registros de pessoas.
• Informações acadêmicas.
Vantagens
E quais são as vantagens de um SGBD? Confira, a seguir:
• Maior segurança: permite que múltiplos usuários acessem os mesmos dados 
de forma isolada ou simultânea. Essa característica é, geralmente, vista como um 
benefício para o sistema.
• Maior disponibilidade: uma das grandes vantagens existentes em um SGBD é 
que a mesma informação encontrada na base de dados pode ser liberada para 
utilizadores diferentes, ou seja: compartilhamento de informações.
• Redundância minimizada: os dados existentes em um SGBD são mais concisos, 
pois, como regra, a informação aparece apenas uma única vez. Isso faz com que 
haja diminuição da redundância de dados. Como consequência, haverá redução 
significativa do custo de armazenamento de informações em discos rígidos e 
outros dispositivos de armazenamento.
30
• Programa e arquivo de consistência: com o uso de um SGBD, os formatos das 
tabelas e os programas do sistema obedecem a um padrão. Isso permite que as 
tabelas de dados sejam mais fáceis de serem mantidas, pois as mesmas diretrizes 
e regras se aplicam a todos os tipos de dados. O nível de consistência entre as 
tabelas e os programas também torna mais fácil o gerenciamento de dados quando 
vários programadores estão envolvidos no desenvolvimento de uma aplicação.
• Precisão: dados consistentes são um bom sinal de que há integridade dos dados. 
Os SGBDs caracterizam a integridade dos dados, uma vez que as atualizações e 
alterações dos dados só precisam ser realizadas em um só lugar.
Finalidades 
Você consegue listar as finalidades de um SGBD? Faça sua lista mental e, depois, confira 
com as finalidades detalhadas a seguir: 
Segurança da informação
Talvez essa seja a principal funcionalidade de um SGBD. 
É importante que os sistemas de gerenciamento de bancos de dados possuam 
regras para restringir e garantir o acesso somente de pessoas autorizadas ao 
banco de dados. Além disso, é preciso definir qual o nível de acesso que cada 
usuário irá possuir: escrita; alteração; leitura; exclusão. 
Outros pontos importantes que estão no contexto da segurança são a cópia e 
a recuperação de dados em caso de falhas, permitindo que informações sejam 
recuperadas a partir de outro local qualquer.
Controle de redundância de dados
Imagine um sistema sendo executado em diversos computadores. Esse siste-
ma certamente possui os dados armazenados em um único local (o servidor). 
O controle de redundâncias irá organizar o fluxo de acesso à base de dados no 
servidor, para que os dados inconsistentes não sejam armazenados, a fim de 
que uma série de regras sejam criadas visando a que os dados sejam armaze-
nados corretamente e não aconteça duplicação de dados e/ou dados inválidos.
31
Integridade de dados
Esse é um item que pode ser considerado como parte da segurança. O controle 
da integridade de dados deve impedir que aplicações ou acessos que possam 
comprometer a integridade dos dados sejam feitos. Sendo assim, o acesso 
ao sistema será permitido somente a pessoas autorizadas e, ainda, de acordo 
com os níveis de acesso.
Compartilhamento de dados
Todo SGBD deve possuir um controle de concorrência de dados para garantir 
a leitura e a escrita dos dados sem erros. É comum que os dados estejam 
sendo disponibilizados a mais de um usuário, e não pode haver prejuízos para 
nenhum deles.
Acesso
O controle de acesso é tido como um fator bem importante, pois colabora com 
a integridade dos dados. Como isso acontece? Com o SGBD é possível configu-
rar níveis de autoridade para cada usuário. Alguns usuários poderão ter acesso 
total às informações, enquanto outros poderão ter acesso a apenas algumas 
das funcionalidades previstas, como, por exemplo: leitura, escrita e atualização.
Interfaceamento
Permite uma forma de acesso gráfico ao ambiente, desenvolvido em lingua-
gem natural, menus de acesso e em SQL. Dessa forma, o banco de dados pode 
ser acessado diretamente, não tendo a necessidade de passar pela aplicação 
que utiliza.
Esquematização
Em um banco de dados a ser trabalhado, as tabelas se relacionam entre si, e, 
dessa forma, um SGDB deve fornecer meios para que haja compreensão des-
ses relacionamentos. 
32
Backups
As cópias de segurança são imprescindíveis para a segurança de qualquer infor-
mação em uma empresa, pois hoje a informação é o coração da empresa e, em 
um SGBD, isso é mais evidenciado. É fato que estamos sujeitos a falhas, tanto no 
componente de hardware como no desenvolvimento do software, e, por intermé-
dio de mecanismos previamente estabelecidos e ajustados, é possível recuperar 
as informações, minimizando as perdas.
Quem gerencia o SGBD?
Para realizar o gerenciamento do SGBD entra a figura do administrador, que pode ser de 
dois tipos:
Administrador de banco de dados (database administrator – DBA)
É a pessoa que fornece o suporte técnico necessário para implementação de decisões, como:
• Definir o esquema conceitual.
• Definir o esquema interno.
• Ligação com o usuário.
• Definir restrições de segurança e integridade.
• Definir normas de descarga e recarga.
Administrador de dados (data administrator – DA)
Toma as decisões estratégicas e de normas com relação aos dados da empresa, a saber:
• Que dados devem ser armazenados.
• Tratamento desses dados.
MIDIATECA
Acesse a midiateca da Unidade 1 e veja o conteúdo complementar indicado pelo 
professor sobre a importância de um SGBD, suas características e suas vantagens.
33
NA PRÁTICA
A questão da dificuldade no acesso aos dados é uma questão bem interessante 
e preocupante.
Temos o caso do banco Cicle S.A., que ainda não modernizou sua estrutura de 
dados e trabalha com o modelo de arquivos que armazenam as informações. 
O diretor de marketing do banco necessita encontrar os nomes de todos os 
clientes que vivem em uma rua da cidade com CEP 78733-001 para que seja 
ofertada uma campanha de empréstimo pessoal a esses correntistas. O diretor, 
então, solicita ao departamento de processamento de dados (TI da empresa) 
que gere tal relação. O problema é que, caso esse tipo de solicitação não tenha 
sido antecipado quando o sistema original foi projetado, não haverá nenhum 
programa/aplicativo disponível para fazê-lo. O máximo que a equipe de TI 
consegue é gerar uma lista de todos os clientes do banco, e o respectivo diretor 
terá agora duas saídas: ou ele pega a lista de clientes e extrai a informação 
necessária manualmente, ou pede ao departamento de processamento de 
dados para que um programador escreva o programa aplicativo necessário 
(o que demandará bastante tempo). Ambas as alternativas são obviamente 
insatisfatórias, mas, devido à falta de investimento em um bom banco de 
dados, isso é o que terá de ser feito.
34
Resumo da Unidade 1
Nesta unidade, você estudou toda a importância de se trabalhar com o SGBD.
Os bancos de dados são conjuntos de arquivos quefalam entre si, proporcionando o 
armazenamento de uma grande quantidade de dados: nomes, telefones, documentos, 
pagamentos, endereços, clientes, serviços etc. Daí sua importância. Os bancos de dados 
precisam ser configurados e administrados por meio das linguagens de programação, 
como, por exemplo: JavaScript; SQL; PL/SQL, entre outros.
Os modelos de banco de dados também são muito importantes, pois, de acordo com 
suas variações, permitirão que os desenvolvedores escolham um padrão que se adapte 
mais à realidade da empresa e do negócio que serão atendidos.
Por último, temos o entendimento de que os SGBDs são constituídos por um conjunto de 
programas para acesso aos dados. O principal objetivo de um SGBD é proporcionar um 
ambiente tanto conveniente como eficiente para a recuperação e o armazenamento das 
informações no banco de dados.
Nesta unidade, destacaram-se os conceitos fundamentais do que é um banco 
de dados e qual a sua importância, os diversos modelos de banco de dados 
existentes e as suas atuações frente ao mercado de trabalho. Por último, mos-
trou-se a necessidade e a importância de se ter um SGBD para poder admi-
nistrar o acesso, com segurança, a uma base de dados disponibilizada pela 
empresa para seus clientes.
CONCEITO
35
Referências 
ELMASRI, R.; NAVATHE, S. B. Sistemas de banco de dados. São Paulo: Pearson, 2005. 
Biblioteca Virtual.
VICCI, C. Banco de Dados. São Paulo: Pearson, 2015. Biblioteca Virtual.
Modelo de Dados
UNIDADE 2
37
Nesta unidade, você vai estudar o conceito e a importância do SGBD dentro da pers-
pectiva teórica dos diversos usos desse sistema na empresa, bem como as respectivas 
aplicações e importâncias de seus princípios no gerenciamento da informação para a 
melhoria e segurança do negócio.
INTRODUÇÃO
OBJETIVO
Nesta unidade, você será capaz de:
• Desenvolver um modelo de dados a partir de um problema que represente 
uma situação real de desenvolvimento de sistemas.
38
UML 
Introdução
Sabe-se que uma imagem pode representar muito mais do que muitas palavras. Por 
isso, a diagramação em linguagem de modelagem unificada – UML foi desenvolvida. 
Esse tipo de diagramação tem o objetivo de estabelecer relação e/ou uma linguagem 
visual comum no ambiente de desenvolvimento de softwares. Além disso, ela também 
poderia ser interpretada por todos os usuários do mundo dos negócios e/ou qualquer 
outra pessoa que queira entender mais sobre a aplicação desenvolvida.
A UML foi desenvolvida para criar uma relação da linguagem de modelagem visual 
comum, semanticamente, para a arquitetura, design e implementação dos softwares 
mais complexos, tanto de forma estrutural como em termos de comportamentos. 
Ela não é uma linguagem desenvolvida para a programação de aplicativos. Existem 
outras ferramentas que podem e devem ser usadas para gerar códigos de programas em 
várias linguagens por meio de diagramas UML. É sabido que a linguagem de modelagem 
unificada tem um elo direto com a análise para o desenvolvimento do software e com o 
design da orientação a objetos.
Existem diversos modelos para a resolução de problemas na informática, que é o estudo de 
algoritmos e de dados. Diante disso, temos quatro modelos para a resolução de problemas: 
1. Linguagens funcionais.
2. Linguagens declarativas. 
3. Linguagens imperativas. 
4. Linguagens orientadas a objetos. 
Nas linguagens orientadas a objetos, temos os algoritmos (sequência lógica e estruturada 
de ações) determinados com a definição de objetos (representarão, no futuro, a tabela 
no banco de dados), e por meio da ligação dos objetos entre si. Esses objetos serão 
manuseados, e eles fazem parte do nosso mundo.
As linguagens orientadas a objetos estão cada vez mais dominando o universo da 
programação, pois elas têm o poder de modelar os objetos pertencentes ao nosso 
mundo real. 
39
A UML é uma interseção de várias notações orientadas a objetos, que são:
• Técnica de modelagem de objetos.
• Design orientado a objetos.
• Engenharia de software orientada a objetos.
A UML usa todos os pontos fortes das abordagens citadas acima para caracterizar 
uma metodologia mais robusta e de fácil utilização. Ela visa a representar as melhores 
práticas para o desenvolvimento e para a documentação de aspectos diferenciados da 
modelagem de um software e dos sistemas corporativos.
Um ponto importante a ser observado nesse processo é que há um balizador para que a 
UML possa caminhar de forma sólida e respeitosa, ou seja, temos a Object Management 
Group – OMG, que supervisiona e controla a definição e a manutenção das especificações 
da UML. Todo esse controle é deveras importante, pois permite que os engenheiros e 
programadores utilizem uma única linguagem para muitas finalidades durante todas as 
fases do ciclo de vida do software.
Saiba mais
A UML em funcionamento com as bases da OMG visa:
• Fornecer aos desenvolvedores de sistemas, engenheiros de software 
e arquitetos de software as devidas ferramentas de análise e design do 
software e a implementação para sistemas baseados em software, bem 
como a oferta de recursos para a criteriosa modelagem dos processos de 
negócios que o software possa demandar.
• Desenvolver os caminhos e as condições necessárias da indústria ao permitir 
a união de ferramentas de modelagem visual de objetos existentes nesse 
contexto. Diante disso, para que haja a troca fundamental de informações 
dos modelos a serem utilizados entre as ferramentas, é importante que 
haja um acordo sobre o uso da semântica e da notação.
Requisitos
A UML visa atender aos seguintes requisitos:
• Estabelecer uma definição formal de um metamodelo – MOF, baseado em metaob-
jetos que são comuns e que especificam uma sintaxe abstrata da UML. A sintaxe 
40
abstrata estabelece um conjunto de conceitos da modelagem UML. Isso porque 
os seus devidos atributos e respectivos relacionamentos, bem como as regras que 
foram definidas para unir esses conceitos para a construção de modelos UML par-
ciais ou completos, tratam da relação entre os objetos.
• Oferecer uma explicação minuciosa da semântica de cada conceito aplicado na 
modelagem UML. A semântica tende a definir, de forma independente, como os 
conceitos aplicados na UML devem ser tratados pelos computadores.
• Determinar os elementos de notações legíveis, utilizados pelos seres humanos, 
com o intuito de representar os reais conceitos da modelagem UML individual. Da 
mesma forma, determinar as regras para combiná-los em uma determinada varie-
dade de tipos de diagramas, correspondentes a diferentes aspectos utilizados dos 
sistemas modelados.
• Estipular algumas maneiras para que as ferramentas UML possam entrar em con-
formidade com essa especificação. Tudo isso é suportado por uma outra especifi-
cação baseada em XML, cujos formatos de modelos e de intercâmbio correspon-
dentes devem ser realizados por ferramentas que sejam compatíveis.
Modelagem por meio da UML
O desenvolvimento dos sistemas está concentrado em três modelos gerais e diferentes. 
Conheça-os a seguir:
Diagrama de 
caso de uso, 
que descreve 
de que forma a 
funcionalidade do 
sistema irá partir 
sobre a visão do 
usuário.
Diagrama de 
classes, que 
descreve como 
a estrutura do 
sistema ficará 
no que tange 
aos objetos, aos 
atributos, às 
associações e 
às respectivas 
operações.
Temos o uso de 
três diagramas: 
diagramas de 
máquinas de 
estados, diagramas 
de interação e 
diagramas de 
atividade, que 
servem para 
descrever o 
comportamento 
interno do sistema.
FU
N
C
IO
N
A
L
O
B
JE
TO
D
IN
Â
M
IC
O
41
Esses três modelos de sistemas são visualizados a partir de dois tipos diferentes de 
diagramas: o diagrama estrutural e o diagrama comportamental. Você vai conhecer 
cada um desses tipos mais adiante.
Orientação a objetos na UML
Os objetos na UML são tidos como entidades do mundo real. No desenvolvimento de um 
determinado software, os objetos podem ser utilizados para descrever ou para modelar 
o sistema que estáem desenvolvimento. Os objetos também devem permitir que, no 
processo de decomposição de sistemas complexos em componentes compreensíveis, 
haja uma peça de cada vez que pode ser criada.
Existem alguns conceitos importantes referentes à orientação a objetos. Vamos conhe-
cê-los?
Objeto: é a representação de uma entidade e um componente básico essencial.
Abstração: é o devido comportamento de uma entidade.
Herança: é o mecanismo para criar novas classes a partir de uma já existente.
Classe: é o modelo de um objeto.
Encapsulamento: é o mecanismo para unir os dados e escondê-los do mundo exterior.
Polimorfismo: define o mecanismo de utilização em diferentes formatos.
Tipos definidos de diagramas UML
A linguagem de modelagem unificada utiliza elementos e os associa de diversas maneiras, 
com o objetivo de formar diagramas que tenham representatividade e aspectos estáticos 
ou estruturais de um sistema. Com isso formam diagramas comportamentais, que 
fazem o registro dos aspectos dinâmicos do sistema. Já os diagramas estruturais 
referem-se aos aspectos estáticos do sistema. 
Como visto anteriormente, os diagramas podem ser do tipo estrutural ou 
do tipo comportamental. Na sequência, entenda melhor cada tipo.
42
Diagrama Comportamental: é aquele em que há a necessidade de alguma alteração de 
comportamento das classes mapeadas.
Diagrama Estrutural: é utilizado nos casos em que há a necessidade para visualizar, 
especificar, construir e documentar os aspectos estáticos existentes em um sistema.
Os diagramas UML do tipo comportamental são:
DIAGRAMAS 
DE 
SEQUÊNCIA
Demonstram como os objetos interagem entre si e, da mesma forma, 
demonstram a ordem de ocorrência. Fazem a representatividade 
das interações para um cenário específico.
Conheça um exemplo:
43
DIAGRAMAS 
DE CASO DE 
USO
DIAGRAMAS 
DE 
ATIVIDADE
Representam uma funcionalidade específica de um determinado 
sistema. Foram elaborados para demonstrar a forma como as 
funcionalidades se relacionam e os respectivos controladores 
internos e externos (denominados de atores).
Observe o exemplo:
São os fluxos de trabalho de negócios ou operacionais, 
representados de forma gráfica, para a exibição de uma atividade 
de qualquer parte ou componente de um respectivo sistema.
Veja um exemplo:
44
DIAGRAMAS 
DA VISÃO 
GERAL DA 
INTERAÇÃO
DIAGRAMAS 
DE MÁQUINA 
DE ESTADOS
DIAGRAMAS 
DE TEMPO
DIAGRAMAS 
DE CLASSES
DIAGRAMAS 
DA 
COMUNICAÇÃO
Nesses diagramas, cujo objetivo é exibir uma sequência em que 
eles próprios atuam, temos determinados sete outros tipos de 
diagramas de interação.
Há uma semelhança com os diagramas de atividade, pois 
descrevem como o comportamento dos objetos irá ocorrer, mas 
de maneira diferente em seu estado atual.
Assim como o diagrama de sequência, esse diagrama representa 
o comportamento de objetos em um período de tempo específico. 
Havendo um único objeto, o diagrama é bem simples. Havendo 
mais de um objeto, as interações entre eles são exibidas durante o 
período de tempo determinado.
São os mais usados por serem considerados a principal base de 
qualquer solução orientada a objetos. Esses diagramas definem 
as classes dentro de um sistema, os atributos, as operações e a 
relação entre cada classe. As classes são agrupadas para criar 
diagramas de classes quando há uma diagramação de grandes 
sistemas.
Veja um exemplo do diagrama de classes:
São similares aos diagramas de sequência, mas focam as 
mensagens transmitidas entre os objetos utilizados. A mesma 
informação tratada pode ser representada no seu todo usando um 
diagrama de sequência e outros objetos em questão.
Os diagramas UML do tipo estrutural podem ser divididos em:
45
DIAGRAMAS
 DE 
COMPONENTES
Mostram a relação estrutural de elementos do sistema de software. 
Na maioria das vezes, são utilizados quando se trabalha com 
sistemas complexos com múltiplos componentes. Os componentes 
têm a sua comunicação por meio de interfaces.
Observe um exemplo:
DIAGRAMAS 
DE 
ESTRUTURA 
COMPOSTA
São utilizados para demonstrar a estrutura interna de uma classe 
utilizada no diagrama.
DIAGRAMAS
 DE 
IMPLEMENTAÇÃO
Exibem o hardware utilizado no sistema e o seu respectivo software. 
São importantes quando uma determinada solução de software é 
implantada em diversos computadores com configurações únicas.
Veja um exemplo:
46
DIAGRAMAS 
DE 
OBJETOS
DIAGRAMAS 
DE 
PACOTES
Demonstram a relação existente entre os objetos, usando 
exemplos do mundo real, e retratam um sistema em um momento 
específico. É sabido que os dados estão disponibilizados dentro 
dos objetos, e eles podem ser usados para esclarecer as relações 
existentes entre objetos.
Nesse cenário, existem dois tipos especiais de dependências 
definidas entre os respectivos pacotes: 
• A importação do pacote. 
• A mesclagem do pacote. 
Para que haja o apontamento da arquitetura utilizada, os pacotes 
irão representar os diferentes níveis de um sistema. As respectivas 
dependências de pacotes podem ser marcadas para demonstrar 
o real mecanismo de comunicação entre os respectivos níveis.
MIDIATECA
Acesse a midiateca da Unidade 2 e veja o conteúdo complementar indicado 
pelo professor sobre UML.
47
Levantamento de requisitos 
Introdução
Dentro do cenário do desenvolvimento de um excelente banco de dados é fundamental 
que o levantamento de requisitos seja muito bem executado pelo analista 
responsável pelo projeto, pois por meio dele toda a modelagem UML será executada. 
Importante
O levantamento de requisitos e/ou informações com um ou mais usuários 
permitirá que o analista responsável tenha uma visão clara e objetiva do 
negócio proposto. 
Sabe-se que o início do desenvolvimento de um novo software para uma 
empresa é marcado pelo levantamento de requisitos. Essa atividade deve ser 
repetida de forma constante, e realizada até por outros analistas responsáveis, 
nas demais etapas da engenharia de requisitos.
É importante que o processo de levantamento e análise de requisitos contenha as 
seguintes atividades:
Compreensão do domínio: os analistas de sistemas devem desenvolver sua 
compreensão do domínio com relação à aplicação a ser desenvolvida.
Coleta de requisitos: é o processo de interagir com os parceiros do sistema para 
determinar seus requisitos. O entendimento do domínio desenvolve-se fortemente 
durante essa atividade.
Classificação: a atividade executada leva em consideração o conjunto não estruturado 
dos requisitos e os organiza em respectivos grupos com a devida coerência.
48
Resolução de conflitos: quando há vários parceiros envolvidos, os requisitos deverão 
apresentar conflitos. Essa atividade visa à solução desses conflitos.
Definição das prioridades: nos conjuntos de requisitos teremos alguns mais importan-
tes do que outros. Nesse momento há envolvimento e interação com os parceiros para 
a definição dos requisitos mais importantes.
Verificação de requisitos: os requisitos serão checados para descobrir se estão consis-
tentes e se estarão em consonância com o que os parceiros desejam para o sistema.
O levantamento e análise de requisitos é um processo interativo, com uma contínua 
validação de uma atividade para outra.
REQUISITOS
Fonte Status
Grupo de importânciaPonto de vista
Tipo
Agora que você já sabe a importância da etapa de levantamento de requisitos para a 
construção de um sistema, conheça as dificuldades que podem ser encontradas ao 
longo desse processo.
Dificuldades encontradas no processo de levantamento de 
requisitos
Não saber especificar, claramente, o que o sistema deverá fazer e/ou produzir é uma 
questão que acontece de longa data. Na maior parte das vezes os usuários são temerosos
49
com esse processo, pois acreditam que, com a chegada do novo sistema, o seu cargo 
estará ameaçado. Isso faz com que, muitas vezes, os usuários omitam informações 
importantes. Além disso, é fato que também nossos analistas de sistemas podem pecar 
em alguns processos. 
Entre as razões para o baixo graude satisfação dos usuários com relação aos sistemas, 
destacam-se:
• A fase de levantamento de requisitos, quando não é usada uma técnica adequada 
para extrair os requisitos do sistema.
• Falha do analista de sistema em não descrever os requisitos do sistema de modo 
claro e efetivo, sem uma atuação ambígua, de forma concisa e coerente com todos 
os aspectos significativos para o sistema proposto.
Dentre as mais variadas dificuldades encontradas na fase de levantamento de requisitos 
temos: 
• O usuário responsável pelo sistema não sabe o que deseja e quer que ele faça e não 
consegue passar adiante as informações pertinentes para o analista de sistemas.
• Requisitos que são identificados, mas não são realistas nem identificam os 
requisitos similares informados por pessoas diferentes.
• Um parceiro equivocado no processo fará com que haja perda de tempo e de 
dinheiro para ambas as partes envolvidas no desenvolvimento do sistema.
Podemos verificar que o levantamento de requisitos deve ser adequado e coerente, feito a 
partir de uma ótima definição do projeto, visando à aquisição de informações pertinentes 
e necessárias para o diagnóstico das necessidades do sistema e à proposição de 
soluções inteligentes.
Quando o levantamento de requisitos é inadequado, o resultado será um diagnóstico 
ruim, com conclusões comprometedoras, não caracterização das causas dos problemas, 
custos altamente elevados, prazos vencidos e/ou comprometedores, além da omissão 
dos processos fundamentais.
Técnicas importantes para o levantamento de requisitos
As técnicas utilizadas para o levantamento de requisitos têm por objetivo superar as 
grandes dificuldades relativas a essa fase tão importante. Todas as técnicas possuem
50
um conceito definido, que caracteriza suas respectivas vantagens e desvantagens, e 
podem ser utilizadas em conjunto com outras técnicas pelo analista de sistemas.
Na sequência, conheça oito técnicas que podem ser utilizadas no levantamento de requisitos.
1. Prototipagem
Essa técnica tem como objetivo fazer análises dos aspectos críticos dos requisitos 
de um determinado produto, implementando, de forma rápida e objetiva, um pequeno 
subconjunto de funcionalidades do produto que está sendo tratado. 
O protótipo tem como indicação básica:
• Estudo de alternativas de interface para o bem-estar do usuário. 
• Problemas de comunicação com os demais produtos.
• Viabilidade para o atendimento dos requisitos de desempenho. 
As técnicas utilizadas na elaboração do protótipo são várias. Dentre elas, podemos citar: 
• Interface de usuário.
• Relatórios gráficos.
• Relatórios textuais.
2. Levantamento orientado a pontos de vista
No desenvolvimento de sistemas, seja no âmbito de médio ou de grande porte, na maior 
parte das vezes, há diferentes tipos de usuários finais. Muitos usuários que fazem uso 
de um ou de outro processo têm algum tipo de interesse nos requisitos do sistema a 
ser desenvolvido. Dessa forma, mesmo para um sistema mais simples, existem muitos 
pontos importantes que diferem dos que devem ser considerados. 
Os vários pontos de vista a respeito de um determinado problema podem ser enxergados 
de diversas formas. Diante disso, as suas perspectivas não serão independentes, mas, 
de um modo geral, podem apresentar alguma duplicidade, de forma que teremos 
requisitos comuns.
51
O método VORD (viewpoint-oriented requirements definition, ou “definição dos requisitos 
orientados para o ponto de vista”) teve na sua essência de concepção a estruturação 
como um framework orientado a serviço para o levantamento e análise de requisitos.
Ele é definido em quatro etapas, detalhadas a seguir:
• Primeira etapa: sua conexão é com o ponto de vista que tem como objetivo 
identificar os possíveis pontos importantes a serem observados. Nesse momento, 
os analistas de sistemas responsáveis pelo projeto se reúnem com os respectivos 
parceiros e utilizam a tradicional abordagem de brainstorming para elencar os 
devidos serviços em potencial e as entidades que interagem com o sistema em 
desenvolvimento.
• Segunda etapa: é a estruturação de pontos de vista, com o objetivo de envolver e de 
agrupar os pontos de vista relacionados, de acordo com uma hierarquia. Serviços 
comuns estão localizados nos níveis mais altos da hierarquia e são herdados por 
pontos de vista existentes no nível inferior.
• Etapa de documentação: tem como objetivo aprimorar a descrição dos pontos de 
vista e dos serviços identificados pelos analistas.
• Mapeamento de sistema: conforme o ponto de vista, há um envolvimento e uma 
identificação de objetos em um projeto orientado a objetos, que se utilizam das 
informações e dos serviços que estão encapsulados nos pontos de vista.
A seguir, veja, graficamente, a estruturação das etapas:
Identificação de 
ponto de vista
Documentação de 
ponto de vista
Estruturação de 
ponto de vista
Mapeamento de 
sistema de ponto de 
vista
3. Etnografia
Essa técnica visa ao desenvolvimento de um olhar atento para o entendimento dos 
requisitos, ou seja, tem como objetivo ajudar o analista a compreender como se dá a 
política organizacional, bem como a cultura dos trabalhos realizados para que ele se 
familiarize com o sistema e sua história.
Na prática, o analista de sistemas insere-se no ambiente dinâmico de trabalho em que o 
sistema será usado. O trabalho realizado diariamente é observado e as tarefas reais são
52
anotadas para identificar o ponto de atuação do sistema. O principal objetivo é ajudar a 
descobrir requisitos que estejam implícitos no sistema, que possam refletir os processos 
reais, no lugar dos processos formais, em que algumas pessoas estão envolvidas.
A etnografia é eficaz na descoberta de dois tipos de requisitos:
• Aqueles oriundos da forma como as pessoas realmente trabalham, em vez da 
forma pelas quais as definições de processo dizem como elas deveriam trabalhar.
• Os oriundos da conscientização das atividades de outras pessoas.
4. Questionários
O uso de questionário é sempre recomendado, sobretudo quando há vários grupos de 
usuários que podem estar em locais diferentes do país.
Dessa forma, elaboram-se pesquisas extremamente específicas de acompanhamento, 
com usuários selecionados no processo, cuja contribuição em potencial pareça mais 
importante. Essa seleção prévia tem como objetivo evitar um grande número de entrevistas, 
pois não seria nada prático ter que entrevistar todas as pessoas em todos os locais.
Existem diversos tipos de questionários que podem ser utilizados no processo. Entre 
eles podemos elencar: múltipla escolha, lista de verificação e questões com espaços em 
branco. O questionário deve sempre ser desenvolvido de maneira a minimizar o tempo 
gasto em sua resposta.
5. Workshops
Trata-se de uma técnica aplicada para um grupo em uma reunião estruturada. Os 
analistas de sistemas devem estar envolvidos e deve ser feita uma seleção dos parceiros 
que melhor representam a organização e o contexto em que o sistema será utilizado, 
angariando assim um conjunto de requisitos bem estruturados.
O workshop tem por objetivo o acionamento do trabalho em grupo. Nele, existe a figura 
do facilitador, cujo papel é conduzir a técnica aplicada e promover a discussão entre 
os diversos grupos. As tomadas de decisão feitas durante o evento são baseadas em 
processos extremamente definidos e com o real objetivo de obter um processo de 
negociação, mediado pelo facilitador.
53
Uma técnica bastante usada em workshops é o brainstorming, que será detalhado mais 
adiante. 
Após a realização dos workshops, serão produzidas documentações que reflitam os 
requisitos e as decisões tomadas sobre o sistema a ser desenvolvido.
Aspectos importantes que precisam ser levados em conta: 
• A postura que o facilitador deve adotar é de ser mediador e observador. 
• A convocação a ser realizada deve conter: dia, hora, local, horário de início e término, 
o assunto que será abordado e a documentação a ser tratada.
6. JAD
Técnica que visaa promover cooperação, entendimento, integração e trabalho em equipe 
entre os diversos usuários desenvolvedores do sistema.
O uso dessa técnica visa a facilitar a criação de uma visão que será compartilhada por 
todos com base no que o produto de software deve ser. Com isso, os desenvolvedores 
de sistemas ajudam os demais usuários na formulação de problemas e na exploração de 
soluções. Dessa forma, todos os usuários ganharão um determinado sentimento de pura 
sinergia e envolvimento, além do desenvolvimento do sentimento de responsabilidade 
com o sucesso do produto a ser desenvolvido.
Princípios básicos da técnica:
• Dinâmica de grupo.
• Uso de técnicas visuais.
• Manutenção do processo organizado e racional.
• Utilização de documentação padrão.
7. Entrevistas
Técnica bem tradicional e muito simples de ser utilizada. As entrevistas produzem bons 
resultados na fase inicial de obtenção de informações. 
É importante que o entrevistador permita ao entrevistado expor suas ideias. Para tanto, 
é necessário ter um bom plano de entrevista, que evite a dispersão do assunto principal
54
e impeça que ela se alongue além do necessário, fazendo com que o entrevistado fique 
exausto e não produza bons resultados.
Para elaborar perguntas detalhadas, o entrevistador deve:
• Explicar a relação entre o que se quer discutir e as demais partes do sistema.
• Descrever o ponto de vista dos demais usuários com base no ponto em discussão.
• Descrever as informações que o analista de sistemas deseja obter.
• Verificar, com o usuário, se o ponto em questão está ligado a outro item. Dessa forma, 
poderá ser juntado com os requisitos comuns do sistema em desenvolvimento, 
permitindo que haja um escopo conciso.
8. Brainstorming
Técnica desenvolvida para geração de ideias. Essa técnica consiste em uma sequência 
de reuniões que permitirão que as pessoas envolvidas possam sugerir e explorar diver-
sas ideias. 
As principais etapas de condução de uma brainstorming são:
• Seleção minuciosa dos seus participantes.
• Explicação da técnica a ser utilizada, bem como as regras a serem adotadas.
• Produção de muitas ideias.
MIDIATECA
Acesse a midiateca da Unidade 2 e veja o conteúdo complementar indicado 
pelo professor sobre modelagem de dados tutorial.
55
Modelagem de dados 
A seguir serão apresentados alguns conceitos importantes para o entendimento da 
modelagem de dados. 
Instâncias
São definidas como um conjunto de informações quaisquer que estão armazenadas em 
um determinado banco de dados.
Independência de dados
É a capacidade de transformar a definição dos esquemas desenvolvidos em um 
determinado nível, sem afetar o esquema do nível superior. Pode ser classificada em 
dois tipos:
Independência física: capacidade de 
modificar o esquema físico projetado 
sem que, com isso, qualquer 
programa de aplicação precise ser 
refeito. As modificações exercidas 
no nível físico são importantes, 
principalmente para melhorar o 
desempenho da aplicação.
Independência lógica: capacidade de 
transformar o esquema lógico sem 
que, com isso, qualquer programa 
de aplicação precise ser refeito. 
As modificações no nível lógico 
são importantes sempre que uma 
estrutura lógica do banco de dados é 
alterada para a melhoria da aplicação.
É sabido que a independência lógica de dados é mais difícil de ser mensurada do que a 
independência física, pois os programas de aplicação são mais fortemente dependentes 
da estrutura lógica dos dados do que particularmente o seu acesso.
Os três níveis da arquitetura
A arquitetura ANSI/SPARC se divide em três níveis, conhecidos como nível interno, nível 
conceitual e nível externo. Os níveis foram definidos na Unidade 1, abaixo você pode ver 
como eles se relacionam graficamente:
56
Nível externo
Nível conceitual
Nível físico
Agora que você já está a par dos principais conceitos, vamos avançar no estudo da 
modelagem dos dados.
Modelagem de dados
A modelagem de dados é definida como uma técnica utilizada para a especificação das 
regras de negócio e as estruturas de dados que um banco de dados precisa ter para 
ser definido e/ou criado. Essa técnica está em sintonia com o ciclo de desenvolvimento 
de um sistema de informação para uma empresa e é de suma importância para o bom 
resultado de um projeto. 
Modelar os dados consiste em conceber/desenhar o sistema de informações a ser utilizado, 
concentrando-se nas entidades e nas dependências lógicas entre essas entidades.
A modelagem de dados pode ser conceituada, ainda, como uma técnica que envolve um 
conjunto de aplicações teóricas e práticas, com o objetivo de construir um modelo de 
dados consistente, robusto, não redundante e aplicável em qualquer SGBD.
Para que esse objetivo seja atingido, devemos considerar a definição de um conjunto 
de conceitos para a representação de dados. Como exemplos, podemos citar: entidade, 
tabela, atributo etc.
Modelos de representação de dados
Existem modelos para diferentes níveis de abstração de representação de dados:
A. Modelos conceituais.
B. Modelos lógicos.
C. Modelos físicos.
57
Os modelos físicos têm como características:
• Organização dos arquivos de dados em disco rígido (organização sequencial, uso 
de índices hashing ou b-trees). 
• Os dados não são manipulados por intermédio de usuários ou de aplicações que 
acessam o banco de dados, mas diretamente pelas ferramentas do próprio banco 
de dados.
• A caracterização sobre a importância e as decisões de implementação de cada 
SGBD para a gestão do banco de dados.
Na sequência, conheça, detalhadamente, os modelos de representação de dados e suas 
particularidades.
A. Modelo conceitual
O modelo conceitual está caracterizado pelo mais alto nível, e é importante que seja 
usado para envolver o cliente, pois o foco fundamental é tratar dos aspectos do negócio 
do cliente, e não da tecnologia em si. 
Os diversos exemplos de modelagem de dados tratados pelo modelo conceitual são 
fáceis de compreender, já que não existem limitações ou aplicação de uma tecnologia 
específica. O diagrama de dados que deverá ser construído pelo analista responsável é 
tido como o diagrama de entidade e relacionamento – DER. É importante que nesses 
diagramas sejam identificados, diante da necessidade do cliente, todas as entidades e 
os relacionamentos entre elas. Esse diagrama é a mola mestra para a compreensão do 
modelo conceitual de dados.
Algumas características importantes do modelo conceitual são:
• Modelam de forma mais natural os fatos do mundo real, suas propriedades e seus 
relacionamentos.
• São independentes do banco de dados.
• Possuem preocupação com a semântica da aplicação.
58
Exemplo
Exemplo
Observe um exemplo de modelagem conceitual:
Observe um exemplo de modelagem lógica de dados:
Alunos AlunosCursam
B. Modelo lógico
O modelo lógico leva em consideração algumas limitações no mapeamento das 
necessidades do cliente e implementa recursos como adequação de padrão e 
nomenclatura, definição das chaves primárias e estrangeiras, normalização, integridade 
referencial, entre outras. 
É importante que o modelo lógico seja criado levando em consideração a modelagem de 
dados criada no modelo conceitual.
Conheça, a seguir, algumas características importantes do modelo lógico:
• Também são chamados de modelo de banco de dados.
• São dependentes do banco de dados.
Podemos citar como exemplos de utilizações:
• O modelo relacional (tabelas). 
• O modelo hierárquico e XML (árvore).
• O modelo orientado a objetos (classes - objetos - complexos).
59
Percebe-se a ligação das tabelas Alunos e Cursos por meio dos seus respectivos 
campos Curso e Cod_Curso.
Dessa forma, há um elo entre as tabelas: uma determinada matrícula possui 
um curso, e esse curso está referendado na tabela Cursos..
Como suporte aos métodos de acesso à base de dados, o modelo lógico possui:
• Especificação dos conceitos do modelo (DDL):
– Dados, seus domínios, relacionamentos e restrições existentes.
• Manipulação de conceitosmodelados (DML):
– Esquema (lógico) de um banco de dados.
• Resultado da especificação dos dados de um domínio de aplicação em um modelo 
de banco de dados, conforme mostrado no esquema a seguir:
Requisitos da aplicação Modelo de banco 
de dados
Esquema lógico
60
C. Modelo físico
É realizada a modelagem física do esquema criado para o novo banco de dados. Dessa 
forma, são levadas em consideração as limitações impostas pelo SGBD escolhido, 
devendo ser criado com base nas modelagens de dados produzidos no modelo lógico.
O modelo físico irá partir do modelo lógico e descreve as estruturas físicas de 
armazenamento de dados, tais como: tamanho de campos, índices, tipo de preenchimento 
desses campos etc.
Agora que você já sabe como são os modelos de representação de dados, 
conheça as gerações dos modelos de banco de dados.
Geração dos modelos de banco de dados
Pode-se dizer que os modelos de bancos de dados possuem três gerações.
Primeira geração: 
modelos pré-
relacionais. Dentre 
os modelos 
pré-relacionais 
destacam-se 
os modelos 
hierárquico e de 
rede.
Terceira geração: 
modelos pós-
relacionais. Dentre 
os modelos 
pós-relacionais, 
destacam-se 
os modelos 
orientados a 
objetos, objeto-
relacional, 
temporal, 
geográfico.
Segunda geração: 
modelo relacional.
Conheça cada geração com mais detalhe, a seguir.
61
Modelos pré-relacionais:
• Modelos com várias limitações: não há representatividade de forma 
adequada.
• Os relacionamentos dos objetos no mundo real são do tipo hierarquias 
(1-1 ou 1-N).
• Problema de performance: varredura em estruturas em grafo (rede).
• Inexistência de uma linguagem de consulta declarativa.
• As consultas exigem programação pela aplicação:
– Há manipulação de um registro por vez.
– Existência de baixa performance de acesso às informações.
Modelo relacional:
• Foi criado no ano de 1970. Seu criador foi E. Codd – IBM/Califórnia.
• Esse modelo de dados possui uma sólida base formal, baseada na teoria 
dos conjuntos.
• É um modelo simples: com estruturas tabulares e poucos conceitos.
• Utiliza linguagens declarativas para a manipulação de dados na base de 
dados:
– Uso de álgebra relacional e cálculo relacional.
– Linguagem SQL, de uso comercial.
Modelos pós-relacionais:
• Banco de dados orientado a objetos utilizado para a linguagem Python. 
• Alto grau de transparência dos processos.
• Objetos atualizados por meio das interações normais dos objetos.
• Alto desempenho para tratar as informações e uso eficiente da memória.
Saiba mais
O modelo relacional
O modelo relacional é um modelo de dados representativo ou um modelo de 
implementação, pois se trata de um modelo subjacente de um SGBD, que se baseia na 
concepção de que todos os dados estão armazenados em tabelas. Esse conceito foi 
criado por Edgar Frank Codd no ano de 1970.
62
No âmbito da gerência de bases de dados (SGBD), o modelo relacional é tido como um 
modelo de dados baseado em lógica e na teoria de conjuntos.
Esse modelo é amplamente utilizado. Por isso, você vai conhecê-lo em detalhes na 
sequência.
Características do modelo relacional
• Organização dos dados:
 – Conceitos do modelo de dados:
 > Atributo, relação, chave.
• Integridade de dados:
 – Restrições básicas para dados e relacionamentos entre as tabelas.
• Manipulação de dados:
 – Linguagens formais e SQL.
Organização do modelo relacional
• O modelo apresenta cinco conceitos:
 – Domínio.
 – Atributo.
 – Tupla.
 – Relação.
 – Chave.
Entenda cada um desses conceitos, na tabela abaixo:
63
Conceito
Domínio
Atributo
Tupla
Relação
Detalhamento
• Conjunto de valores permitidos para um dado:
 – Tipos de dados:
 > Tipo inteiro, tipo string (domínios básicos).
 > Tipo data e hora (domínios compostos).
 > [0, 120], (‘M’, ‘F’) (domínios definidos).
• Em um domínio existem operações válidas:
 – Tipo inteiro (somar, dividir, i1 maior que i2).
 – Tipo data (obter o dia, obter o mês, d1 anterior a d2).
• Definição de domínios de dados:
 – DDL (indicação de tipos de dados).
• Um conjunto de pares (atributo, valor).
• Define uma ocorrência de um fato do mundo real ou de um 
relacionamento entre fatos.
• Valor de um atributo:
 – Deve ser definido no momento da criação de uma tupla.
 – Precisa ser:
 > Compatível com o domínio OU NULL (valor inexistente 
ou indeterminado).
 > Atômico (indivisível: não estruturado e monovalorado).
• Vejamos um exemplo: 
 – Tupla de aluno: {(nome, ‘João’), (idade, 34), (matrícula, 
03167034)}.
• Composto por um cabeçalho e um corpo.
• Cabeçalho:
 – Número fixo de atributos (grau da relação).
 – Atributos não ambíguos.
• Corpo:
 – Número variável de tuplas (cardinalidade existente na 
relação).
• Definição formal:
 – Subconjunto do produto cartesiano de todos os domínios 
(D1 X D2 X... X Dn) de atributos.
• Relação é um conjunto.
• Na prática, uma relação em um banco de dados é chamada 
de tabela, e uma tabela definida no banco de dados admite 
uma coleção de tuplas.
• Um item de dado do banco de dados.
• Possui um nome e um domínio:
 – Nome: string (tipo definido para o atributo).
 – Idade: [0,100] (intervalo de valores do atributo idade).
64
Chave
• Conjunto de um ou mais atributos de uma relação.
• Tipos de chaves:
 – Chave primária (primary key – pk).
 – Atributo(s) cujo (conjunto de) valor(es) identifica 
unicamente uma tupla em uma relação.
 – Notação para a pk de uma relação R: pk(R).
• Conceitos associados:
 – Chaves candidatas e chaves alternativas.
• Veja alguns exemplos:
 – Alunos: matrícula.
 – Cidades: (nome, estado).
A seguir, conheça outro tipo de modelo: o modelo entidade-relacionamento. Na sequên-
cia serão detalhados o modelo entidade-relacionamento, os tipos de entidades, os seus 
atributos e o que é relacionamento.
Modelo entidade-relacionamento
Consiste em mapear o mundo real do sistema em um modelo gráfico que irá representar 
o modelo e o relacionamento existente entre os dados. Hoje, sabemos que várias empre-
sas usam esse modelo por meio de conceitos de UML e do diagrama de classe.
A seguir, você vai conhecer as características que envolvem o modelo entidade-relacio-
namento para que todo o seu mapeamento seja criado da forma correta e atenda à de-
manda do usuário.
Tipos de entidades
No que diz respeito a entidades, ainda podemos classificá-las de duas formas: entidade 
forte e entidade fraca.
Entidade Fraca Entidade Forte
É uma entidade dependente da 
existência de alguma outra entidade, 
no sentido que ela não pode existir se a 
outra entidade também não existir.
É uma entidade que não é dependente 
da existência de alguma outra entidade.
65
Atributos
Todo objeto, para ser uma entidade, possui propriedades que são descritas por seus 
atributos e valores. Atributos e valores, juntos, descrevem as instâncias de uma entidade.
Os atributos podem ser:
Simples ou 
compostos
Chave
Chave 
primária
Chave 
estrangeira
Chave 
secundária
Chave 
candidata
Índice
Univalorado ou 
multivalorado
O atributo simples é único, já o atributo composto pode ser 
desmembrado em vários atributos (mais de um).
Designa o conceito de item de busca, ou seja, um dado que será 
empregado nas consultas à base de dados.
É o atributo da tabela que identifica univocamente uma tupla.
É o elo entre as tabelas.
Serve para definir uma segunda chave primária.
Uma tabela pode possuir alternativas de identificador único, ou seja, 
várias colunas ou concatenações diferentes de colunas podem ter 
essa propriedade.
É o recurso físico que visa a otimizar a recuperação de uma 
informação, via método de acesso. Seu objetivo principal está 
relacionado com a performance de um sistema.
Um atributo univalorado possui um único valor. Por sua vez, um 
atributo multivalorado possui vários valores.
Relacionamentos
As entidades envolvidas em um dado relacionamento são ditas participantes desse re-
lacionamento. O número de participantes em um dado relacionamento é chamado de 
cardinalidade

Outros materiais