Você está na página 1de 55

TÉCNICO EM INFORMÁTICA

INFORMÁTICA
MODALIDADE SEMIPRESENCIAL

Apostila de Banco de
Dados Relacional
Informática

Agendas 3 e 4

Módulo 2
Informática
Banco de Dados Relacional
Eliana Cristina Nogueira Barion
Lilian Aparecida Bertini
Nádia Cristina de Azevedo Melli

2016
Sumário
CAPÍTULO I ......................................................................................................................................... 7
INTRODUÇÃO A BANCO DE DADOS ..................................................................................................... 7
1.1 CONCEITOS DE BANCO DE DADOS ............................................................................................... 8
1.2 SISTEMA GERENCIADOR DE BANCO DE DADOS – SGBD............................................................. 9
1.3 ABSTRAÇÃO DE DADOS ............................................................................................................. 10
1.4 LINGUAGENS DOS SGBDS......................................................................................................... 11
1.3.1 Linguagens de Definição de Dados (DDL) ................................................................. 12
1.3.2 Linguagem de Manipulação de Dados (DML) ............................................................ 12
1.4 ABORDAGEM BD VERSUS PROCESSAMENTO T RADICIONAL DE ARQUIVOS .............................. 13
1.4.1 Natureza de armazenamento de um Sistema de Banco de Dados ........................ 13
1.5 USUÁRIOS DE BANCO DE DADOS ............................................................................................... 14
1.5.1 Administrador de Banco de Dados (DBA) ................................................................. 14
1.5.2 PROJETISTA DE BANCO DE DADOS (DBD) ............................................................................. 14
1.5.3 USUÁRIOS FINAIS.................................................................................................................... 15
1.6 VANTAGENS DA ABORDAGEM DE BANCO DE DADOS .................................................................. 15
EXERCÍCIOS ................................................................................................................................. 17
CAPÍTULO 2 ...................................................................................................................................... 22
MODELAGEM DE DADOS................................................................................................................... 22
2.1 MODELO ENTIDADE RELACIONAMENTO (MER).......................................................................... 22
2.1.1 Tipos de Entidades......................................................................................................... 22
2.1.2 Atributos: ......................................................................................................................... 24
2.1.3 Relacionamentos ............................................................................................................ 26
Relacionamento 1:1 ................................................................................................................. 29
Relacionamento N:M ............................................................................................................... 29
EXERCÍCIOS ..................................................................................................................................... 30
CAPÍTULO 3 ...................................................................................................................................... 32
3.1 MAPEAMENTO DO MER PARA O MODELO DE DADOS RELACIONAL ........................................... 32
3.1.1 Primeiro Passo ................................................................................................................ 33
OBSERVAÇÕES: ...................................................................................................................... 33
3.1.2 Segundo Passo: .............................................................................................................. 34
3.1.3 Terceiro Passo ................................................................................................................ 35
DataIni foi adicionada porque é um atributo do relacionamento gerenciar ! ................ 36
3.1.4 Quarto Passo ................................................................................................................... 36
3.1.5 Quinto Passo ................................................................................................................... 38
3.1.6 Sexto Passo ..................................................................................................................... 39
3.2 EXEMPLO DE MAPEAMENTO ....................................................................................................... 40
3.2 EXPLICAÇÃO PASSO A PASSO SOBRE MAPEAMENTO: ................................................................ 42
3.2.1 Como mapear relacionamentos do tipo 1:1?............................................................. 42
3.2.2 Como mapear relacionamentos do tipo 1:N? ............................................................ 42
3.2.3 Como mapear relacionamentos do tipo N:M? ........................................................... 43
EXERCÍCIOS ................................................................................................................................. 45
CAPÍTULO 4 ...................................................................................................................................... 48

4.1 NORMALIZAÇÃO ....................................................................................................................... 48


4.1.11ª Forma Normal .......................................................................................................... 49
4.1.22ª Forma Normal .......................................................................................................... 50
4.1.33ª Forma Normal .......................................................................................................... 52
EXERCÍCIOS ..................................................................................................................................... 53
BIBLIOGRAFIA ................................................................................................................................. 55
Índice de Figuras

1- Representação do SGBD Relacional ........................................................................ 8


2 - Níveis de Abstração ............................................................................................... 11
3 - Instância ................................................................................................................ 13
5 - Natureza de Armazenamento de um Sistema de BD ............................................. 14
6 - Entidades e Relacionamentos no MER – cardinalidade 1: N ................................. 28
7 - Relacionamento 1:1 ............................................................................................... 28
8 - Relacionamento N:M ............................................................................................. 29
9 - Mapeamento 1º passo ........................................................................................... 33
10 - Mapeamento - 2º Passo...................................................................................... 34
12 - Mapeamento - 3º Passo....................................................................................... 35
13 - Mapeamento - 4º Passo....................................................................................... 37
14 - Mapeamento - 5º Passo....................................................................................... 38
15 - Mapeamento - 6º Passo....................................................................................... 39
Barion, Bertini e Melli

CAPÍTULO I

Introdução a Banco de Dados

Em uma grande organização, um sistema de Banco de Dados é apenas uma parte de


um grande sistema de informação que é utilizado para gerenciar os recursos de
informação da organização. Um sistema de informação inclui todos os recursos da
organização que estão envolvidos na coleta, gerenciamento, uso e disseminação da
informação. Estes recursos incluem os dados por si só, o sistema gerenciador de
Banco de Dados, o hardware, o meio de armazenagem, as pessoas na organização
que usam e gerenciam os dados, as aplicações que acessam e atualizam os dados,
etc.
Assim, os sistemas de Banco de Dados formam uma pequena parte de um grande
sistema organizacional.

A ideia de banco de dados Relacionais foi apresentada em 1970, por Coad Yourdon, o
qual partiu de uma visão intuitiva onde era possível associar um conjunto de atributos
de uma entidade do mundo real, como sendo uma relação. Além disso, Coad, propôs
a álgebra relacional, que seria um conjunto de operações que iriam atuar sobre estas
relações, cujo resultado seria sempre outra relação.

O modelo relacional mostrou-se muito útil para lidar com aplicações comerciais,
tornando-se a tecnologia mais difundida na área, nas décadas de 80 e 90.

Este modelo representa os dados armazenados em um Banco de Dados através de


relações, as quais contém informações sobre as entidades representadas e seus
respectivos relacionamentos. Utiliza o conceito de matrizes, onde as linhas seriam os
registros e as colunas seriam os campos. Tal modelo consiste em uma coleção de
tabelas, onde cada tabela possui seu respectivo nome.

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 7


Barion, Bertini e Melli

1.1 Conceitos de Banco de Dados

Banco de Dados é uma coleção de dados interrelacionados.

Dados são fatos que podem ser registrados e que têm um significado.

Entendendo o que é dado


Exemplo:
- Telefone (011) 289-3587 com Valdir;
Ou Importante: Dado é a
Telefone: menor unidade que em
- DDD: (011) si possui significância
- Fone: 289-3587 ao negócio
- Contato: Valdir

Registro ou Tupla é uma coleção de dados. É dividido em campos que é utilizado


para identificar os valores contidos no registro. Veja a figura a seguir:

A figura abaixo representa um registro de um cliente em Sistema Gerenciador de


Banco de Dados (SGBD) Relacional – conceitos relações de campos e tuplas. Veja a
figura abaixo:

1- Representação do SGBD Relacional

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 8


Barion, Bertini e Melli

Propriedades de um Banco de Dados

 Um banco de dados é uma coleção lógica e coerente de dados com algum


significado com dados com algum significado em comum.

 Um Banco de Dados é projetado, construído e “preenchido” com dados para


um propósito específico. Existe sempre um grupo de usuários e um conjunto de
aplicações pré-estabelecidas que vão trabalhar em torno de um Banco de
Dados.

 Um Banco de Dados representa algum aspecto do mundo real, também


chamado de “Mini-Mundo”. Toda a mudança no mini-mundo deve ser refletida
no Banco de Dados.

 Um Banco de Dados pode variar em tamanho e Complexidade.

Exemplos: Banco de Dados da Receita Federal


Banco de Dados de uma microempresa

Esta grande quantidade de informações deve ser bem organizada e bem


gerenciada, de modo que permita ao usuário manipular estes dados através de
consultas e atualizações.

 Um Banco de dados deve ser criado e mantido ou por um pacote de


ferramentas específicas ou por um sistema gerenciador de Banco de Dados.

1.2 Sistema Gerenciador de Banco de Dados – SGBD

Um SGBD é um pacote de ferramentas com um propósito geral que facilita os


processos de definição, construção e manipulação de Banco de Dados para qualquer
aplicação.

Definição de um B.D
É a especificação dos tipos de dados que serão armazenadas no B.D com uma
descrição detalhada de cada tipo de dado.

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 9


Barion, Bertini e Melli

Construção de um B.D
É o processo de armazenagem dos dados em algum meio de armazenamento.

Manipulação de um B.D
Aplicação de algumas funções como a consulta para a recuperação de alguns
dados específicos, atualização para refletir mudanças no mini-mundo e a
geração de documentos.

1.3 Abstração de Dados

Quando um usuário utiliza um Banco de Dados, ele não faz idéia da quantidade de
informações que ele está manipulando. Isto porque, o SGBD oculta certos detalhes de
como os dados são armazenados ou mantidos, proporcionando ao usuário uma visão
abstrata dos dados. Os Bancos de Dados são freqüentemente utilizados por pessoas
sem conhecimentos na área de Banco de Dados. É missão do SGBD manipular a
grande quantidade de dados complexos, sem que o usuário precise se preocupar.
Para isto, temos três níveis de abstração.

Nível Físico – Nível mais baixo de abstração. Descreve como os dados são
armazenados. Descreve com detalhes as estruturas complexas de baixo nível.

Nível Conceitual – Descreve quais dados são realmente armazenados no Banco de


Dados. Assim como, o relacionamento entre esses dados.

Nível Visão – Nível mais alto da abstração no qual se expõem apenas parte do BD.
Podem existir diferentes visões para um mesmo banco de dados.

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 10


Barion, Bertini e Melli

2 - Níveis de Abstração

1.4 Linguagens dos SGBDs

Os SGBDs Relacionais usam as linguagens de Definição de Dados (DDL) e de Manipulação de


Dados (DML).
A Linguagem de Definição de Dados (DDL) é constituída por um conjunto de definições que
especificam um esquema de Banco de Dados. O resultado da compilação de instrução DDL é
um conjunto formado por tabelas que são armazenadas no catálogo. A estrutura de
armazenamento e os métodos de acesso utilizados para SGBD são especificados por um
conjunto de definições de uma DDL especial, chamado Linguagem de Definição de Dados e
memória. O resultado da compilação dessas definições é um conjunto de instruções que
especificam os detalhes de implementação dos esquemas de BD.

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 11


Barion, Bertini e Melli

1.3.1 Linguagens de Definição de Dados (DDL)

Conjunto de definições que especificam um esquema de Banco de Dados.

O resultado da compilação de instrução DDL é um conjunto formado por tabelas que


são armazenadas no catálogo. A estrutura de armazenamento e os métodos de
acesso utilizados para SGBD são especificados por um conjunto de definições de uma
DDL especial, chamado Linguagem de Definição de Dados e memória. O resultado da
compilação dessas definições é um conjunto de instruções que especificam os
detalhes de implementação dos esquemas de BD.

Exemplo:

Aluno alfanumérico 50
A definição do tipo de dados, tamanho e
RG numérico 10 formatos de cada campo, consiste na
Mensalidade moeda - Linguagem de Definição de Dados !

A Linguagem de Definição de Dados (DDL) compõe o Esquema do Banco de Dados!

1.3.2 Linguagem de Manipulação de Dados (DML)

A manipulação de Dados consiste em :

- Consultas;
- Atualizações Inserção de informações
Remoção de informações

Uma linguagem de manipulação de dados (DML) permite aos usuários acessar e


manipular dados organizados por um modelo de dados apropriado.
- Procedimental
- Não procedimental

A parte da DML que trata de consultas é chamada de linguagem de consultas.


Quando os comandos de uma DML estão incorporados em uma linguagem de
propósito geral, isto é chamada de linguagem host e a DML é chamada de sub
linguagem de dados.

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 12


Barion, Bertini e Melli

3 - Instância

A Linguagem de Manipulação de Dados (DML) compõe a Instância do Banco de Dados!

1.4 Abordagem BD versus Processamento Tradicional de Arquivos

Na abordagem tradicional, o usuário define e implementa os arquivos necessários


para uma determinada aplicação.

Exemplo: O departamento de contabilidade pode ter arquivos diferentes dos arquivos


da secretaria sobre o mesmo grupo de alunos.
A redundância dos dados ocasiona em perda de espaço de armazenamento e em um
esforço considerável para manter os arquivos atualizados.

1.4.1 Natureza de armazenamento de um Sistema de Banco de Dados

Um Banco de Dados contém não apenas os dados, mas também a descrição completa
do banco de dados. Esta definição contém informações como a estrutura de cada
arquivo. A estrutura e o formato de cada item de dado e várias restrições de acesso.
Estas informações são chamadas de “Meta de Dados” e são armazenados com um
arquivo chamado catálogo ou “meta de banco de dados”. No processamento
tradicional, a definição dos dados é inerente ao programa. Deste modo, o programa se
restringe a manipular somente dados definidos no próprio programa.

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 13


Barion, Bertini e Melli

5 - Natureza de Armazenamento de um Sistema de BD

Separação entre Programas e Dados

Como no processamento tradicional a definição da estrutura de dados está embutida


no programa qualquer mudança necessária na estrutura de dados implica em
mudanças no programa em um BD. A mudança só será necessária no meta BD, pois
os programas de acesso aos dados são escritos independentemente de qualquer
arquivo. Esta independência é chamada “Independência-Dados-Programa”.

1.5 Usuários de Banco de Dados

Os usuários de Banco de Dados interagem direta ou indiretamente com o SGBD.

1.5.1 Administrador de Banco de Dados (DBA)

Um grande BD precisa de uma grande equipe trabalhando para que ele se mantenha
íntegro e coeso. Para isto, há a necessidade de uma pessoa para manter o controle
central dos dados e dos programas que acessam os dados. Esta pessoa é o
Administrados de BD. O DBA é responsável pela concessão de autorização para
acesso aos dados.

1.5.2 Projetista de Banco de Dados (DBD)

O DBD tem como função principal identificar os dados a serem armazenados e definir
a estrutura apropriada para representar e armazenar estes dados para a obtenção

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 14


Barion, Bertini e Melli

destes dados, o DBD deve interagir com os usuários para descobrir suas
necessidades e encontrar a solução ideal para as mesmas.
O projeto final do BD deve ser capaz de atender as necessidades de todos os
grupos de usuários do mesmo.

1.5.3 Usuários Finais

 Usuários Ocasionais- são usuários habituados ao uso do


SGBD e que não utilizam programas, elaborando suas
consultas diretamente em linguagens de consultas.

 Usuários simples – são usuários que precisam dos programas de


aplicações para interagir com o sistema.

 Usuários especializados – são usuários que elaboram sistemas


altamente especializados, que não se encaixam no processamento de
dados normal.

1.6 Vantagens da abordagem de Banco de Dados

Controle de Redundância

No processamento de Dados Tradicional, cada grupo de usuários mantêm seus


próprios arquivos. Isto leva ao armazenamento múltiplo dos mesmos dados, causando
problemas de espaços e inconsistência dos dados.

Compartilhamento de Dados

Um SGBD multiusuário deve permitir que vários usuários possam acessar os dados ao
mesmo tempo.
O SGBD deve incluir um software de controle de concorrência para evitar o acesso
desordenado ao BD, fazendo com que os resultados das atualizações sejam sempre
corretos. Um SGBD multiusuário facilita o controle de visões, pois as mesmas podem
ser especificadas para grupos de usuários.

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 15


Barion, Bertini e Melli

Restrições de acesso não autorizado

Um SGBD deve manter um programa de segurança e autorização, o qual é utilizado


para manter o controle das pessoas que poderão acessar quais dados e de que forma.

Restrições de Integridade

As aplicações de BD possuem restrições de integridade que devem ser mantidas. As


restrições devem ser especificadas para DBD durante o projeto de Banco de Dados.

Manutenção de Backup e Recuperação

Um SGBD deve prover sistema de recuperação de falha de hardware ou software. O


sub-sistema de recuperação deve assegurar que o programa seja reinicializado do
ponto do qual foi interrompido.

Padronização

A abordagem BD permite ao DBD (Projetista de Banco de Dados) manter uma


padronização entre os usuários de BD. Os padrões podem ser definidos a nível de
elementos de dados, telas, estruturas de documentos, etc. Torna-se muito mais fácil
manter padronização em um sistema BD centralizado do que em um ambiente onde
cada grupo de usuário mantém controle sobre seus arquivos e softwares.

Flexibilidade

Alguns SGBDs permitem que as estruturas sejam alteradas sem que haja grandes
alterações nos programas de aplicações.

Disponibilidades de informações atualizadas

Um SGBD mantém um banco de dados disponível para todos os usuários. Deste


modo, quando um usuário atualiza um BD, todos os usuários irão perceber esta
atualização de imediato. Esta disponibilidade de dados é muito importante para
diversos sistemas, como controle de reservas, sistemas bancários, etc, e é mantida
pelo sistema de concorrência do SGBD.

Quando não usar Banco de Dados

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 16


Barion, Bertini e Melli

- Alto investimento inicial


- Necessidade de hardware adicional
- BD e aplicações simples e bem definidas
- Uso somente de acesso centralizado.

Interfaces dos SGBDs

- Baseada em Menus
- Gráfica
- Baseada em Formulários
- Linguagem Natural
- Interfaces para o DBA

EXERCÍCIOS

1) Um catálogo telefônico pode ser considerado um exemplo de:


a) Banco de dados
b) Registro
c) Tupla
d) DBA
Justifique sua resposta:

2) Em uma clínica veterinária são usados 2 cartões de controle de vacinação para


cada animal vacinado, ficando um com o veterinário que aplica as vacinas e o
outro com o atendente que controla o pagamento. Certo dia, o atendente foi ao
banco enquanto o veterinário vacinou um animal. No mês seguinte, devido às
divergências entre as duas fichas (a do atendente e a do veterinário) a clínica ficou
em dúvida a respeito da vacinação do animal em questão. O fato acima exemplifica
um problema de:

a) Redundância de dados
b) Inconsistência de Dados
c) Definição de Banco de dados
d) Meta de dados
e) Nenhuma das alternativas

Neste caso, o que poderia ser feito para resolver este problema?

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 17


Barion, Bertini e Melli

3) Em um canhoto de talão de cheques, são anotados para todo cheque emitido, data
de emissão, valor e destino do cheque. Cada um desses itens constitui:
a) Dado
b) Meta de dados
c) Banco de dados
d) Sistema Gerenciador de Banco de Dados
e) DBA

4) A direção de um hospital determinou que fosse feito um cadastro de todos os


doentes e de seus acompanhantes. Neste cadastro deveria constar: nome, idade
endereço e RG de cada pessoa. Quando o modelo do cadastro ficou pronto, a
secretária mostrou-o ao diretor para saber se estava OK. O que a secretária
mostrou ao diretor foi:

a) O esquema do banco de dados


b) A instância do banco de dados
c) Uma tupla
d) Um registro
e) Nenhuma das alternativas

5) A seguir, o modelo foi preenchido com os dados dos pacientes e acompanhantes,


gerando aproximadamente 100 registros. Neste caso, o que temos é:

a) O esquema do banco de dados


b) A instância do banco de dados
c) Uma tupla
d) Um registro
e) DBD

6) Em seguida, a secretária verificou que alguns dados do paciente numero 54 do


banco de dados estavam errados e corrigiu-os. O que ela modificou foi:

a) Uma tupla
b) O SGBD
c) DML
d) A abstração
e) A linguagem

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 18


Barion, Bertini e Melli

7) Das sentenças abaixo, é correto afirmar que “Dado”:

a) Tem um significado
b) Só faz parte de uma grandes organizações
c) Pode ser registrado
d) Vem sempre acompanhado de um SGBD
e) Só é encontrado em meios eletrônicos

8) A loja x desenvolveu uma lista para controlar seu clientes inadimplentes,


logicamente, os dados constantes nesta lista eram os nomes e registros dos maus
pagadores . A lista foi distribuída aos vendedores da loja, para que estes
estivessem cientes dos nomes constantes nela, sendo orientados que a cada
“inadimplente” que acertasse sua situação junto à loja, tivesse seu nome marcado .
Posteriormente, a idéia da lista foi copiada por uma grande loja, mas com o mesmo
propósito e foram utilizadas ferramentas informatizadas para poder excluir os
nomes da lista, assim com incluir novos nomes e consultar a lista para ver quem
ainda estava nela. Estas características descrevem:

a) Um banco de dados
b) Processamento tradicional de arquivos
c) Abstração de dados
d) Administrador de banco de dados
e) Compartilhamento de dados

9) Um certo sistema foi desenvolvido em uma locadora para controlar as entradas e


as saídas de seus filmes. O analista contratado definiu que cada registro do
programa teria os seguintes campos:

Nome do filme string 50


Data de entrega numérico 08
Data de devolução numérico 08

Após montagem do esquema, o analista definiu que os dados seriam armazenados


na unidade c: (winchester) durante o expediente e toda noite seria feito o backup
em fitas Dat. Desenvolveu também aplicações para incluir novos filmes (quando

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 19


Barion, Bertini e Melli

fossem comprados), excluir filmes danificados e consultar quais os filmes atuais e


emitir relatórios. O exemplo acima reflete:

a) Um SGBD
b) Um DBA
c) Um DBD
d) Um mini-mundo
e) Um registro

10) Denise trabalha em uma grande empresa de implementos agrícolas. Ela controla
os navios que vão para o exterior, bem como os estoques da filiais fora do Brasil.
Os dados envolvidos nestas operações são muitos e bastante complexos. Como
Denise não entende muito de informática, toda modificação de estrutura ,
permissão de acesso e problemas eventuais do seu banco de dados são
resolvidos pelos DBA e DBD da empresa. O fato de Denise não enxergar o Banco
em profundidade pode ser chamado de:

a) Separação entre dados e programas


b) Abstração de dados
c) Manipulação de dados
d) Meta de dados
e) Compartilhamento de Dados

11) Um grupo de analistas se juntou para elaborar um sistema de Folha de pagamento.


Resolveram então se dividir em subgrupos para dividir as tarefas. O primeiro grupo
definiu a estrutura dos dados, o segundo grupo definiu quais dados seriam
armazenados no banco. Do trabalho dos dois grupos surgiu a seguinte tabela:

Nome do empregado Caractere 50


Salário Numérico 10
INSS Numérico 08

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 20


Barion, Bertini e Melli

O terceiro grupo preencheu os campos do banco e manipulou estes dados com


consultas, inclusões, alterações e exclusões. Os níveis acima referidos são
respectivamente:

a) Conceitual, físico e visão


b) Físico, visão e Conceitual
c) Físico, Conceitual e visão
d) Visão, físico e conceitual
e) Conceitual, Visão e Físico

12) Sérgio comanda uma grande equipe em uma grande organização. É ele quem
controla o acesso dos funcionários aos dados da empresa. Ele também mantém o
controle central e responde por todo problema que possa haver com o banco de
dados. Marcelo, por sua vez, subordinado a Sérgio, define quais dados devem
constar no banco e suas estruturas, também define como estes dados serão
armazenados. Marcelo e Sérgio são respectivamente:

a) DBA e DBD
b) DBD e DBA
c) Usuário Final e DBD
d) Usuário Final e DBA
e) Nenhuma das alternativas

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 21


Barion, Bertini e Melli

CAPÍTULO 2

Modelagem de Dados

2.1 Modelo Entidade Relacionamento (MER)

- Coleta e Análise de requisitos


- Criação de um esquema conceitual
- Implementação do BD usando SGBD
- Projeto de BD Físico

Conceitos

Entidade: é a representação de um objeto no mundo real com existência


interdependente. Pode ser um objeto com existência física ou conceitual.

A Reserva do Avião

Existência Física Existência Conceitual

Podemos comparar uma Entidade a um Arquivo de Dados.

A representação de uma Entidade no modelo Entidade-Relacionamento é feita por um


retângulo, com o nome desta entidade em seu interior, como mostra a figura abaixo:

PESSOA CARRO AVIÃO RESERVA


DO AVIÃO

2.1.1 Tipos de Entidades

Um BD geralmente contém grupos de entidades que são similares. Estas entidades


possuem os mesmos atributos, embora cada entidade possua os próprios valores.
Entidades similares definem um “tipo entidade”, o qual é um conjunto de entidades que
possuem o mesmo atributo.

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 22


Barion, Bertini e Melli

A descrição de um tipo entidade é chamada “Esquema do tipo entidade“, e especifica


uma estrutura comum partilhada por entidades individuais daquele tipo. O esquema
especifica o nome do tipo entidade, o nome e o significado de cada atributo e as
restrições entre as entidades.

Entidade Fraca

Alguns tipos de entidade podem não ter algum atributo chave por si só. Isto implica
que não poderemos distinguir certas entidades, porque a combinação dos valores de
seus atributos pode ser idêntica. Estes são os tipos de Entidade Fraca.

Entidades pertencentes a um tipo de Entidade Fraca são identificadas inicialmente por


relacionarem-se com entidades específicas de outro tipo de entidade, em combinação
com alguns de seus valores dos atributos.

A outra entidade é chamada Proprietária Identificadora e o tipo relacionamento que


liga uma entidade fraca a sua proprietária é chamado Relacionamento Identificador
do tipo entidade fraca. Um tipo entidade fraca sempre tem participação total
(dependência de existência) em seu relacionamento identificador.

A participação total não implica que a entidade seja fraca; pois pode não ser possível
identificar uma entidade fraca sem sua entidade proprietária.

Um tipo entidade fraca tem uma chave parcial, a qual é um conjunto de atributos que
identificam unicamente entidades fracas relacionadas à mesma entidade proprietária.
Um tipo entidade fraca pode ser substituído por atributos compostos multivalorados.

Critérios para escolha: Se o tipo entidade possui muitos atributos ou se participa em


outro relacionamento além do tipo relacionamento identificador, geralmente escolhe-se
o tipo entidade fraca à atributos.

Empregado Dependente
CódigoDoDependente
CódigoDoEmpregado
Possui CódigoDoEmpregado
NomeDoEmpregado
NomeDoDependente
FunçãoDoEmpregado
ParentescoDoDependente
SalárioDoEmpregado

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 23


Barion, Bertini e Melli

2.1.2 Atributos:

São propriedades particulares que descrevem uma determinada entidade. Uma


entidade, em particular, irá Ter valores próprios em seus atributos.

Atributo Composto: É um atributo formado por vários atributos que não pode ser
dividido, é chamado de atômico ou simples.

Atributo Simplesmente Valorado: É um atributo que assume um único valor para


uma determinada entidade.

Atributo Multi-Valorado: É um atributo que pode assumir diversos valores para uma
determinada entidade.

Atributo Derivado: um atributo pode ser chamado de derivado quando seu valor é
determinado a partir de um ou mais atributos. Estes atributos mantêm uma “relação”.

Chave Primária

Uma chave primária é um atributo que possui um valor único para cada entidade
individual. Esta é uma restrição que proíbe que duas entidades possuam o mesmo
valor para um determinado atributo ao mesmo tempo. Alguns tipos de entidades
podem Ter mais que um atributo formando uma chave ou mais que um atributo chave.

Chave Candidata

Uma tabela pode possuir alternativas de identificador único, ou seja, várias colunas ou
concatenações diferentes de colunas podem ter esta propriedade. Estes
identificadores

são candidatos à chave primária, como um e somente um será escolhido como chave
primária, o restante passa a ser considerado como chave alternativa, por isso
candidata.

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 24


Barion, Bertini e Melli

Chave Concatenada

Se diz que uma chave é concatenada (ou composta) quando apresentar vários
atributos individuais agrupados na formação da chave primária. Por exemplo: A chave
primária da entidade [Dependente] é composta pelos atributos [Código do Empregado]
e [Código do Dependente], sendo, portanto, uma chave concatenada.

Chave Estrangeira

Quando uma entidade apresenta um atributo importado de outra entidade, esse


atributo é denominado de chave estrangeira. Chaves estrangeiras são o resultado de
associações entre entidades através de relacionamentos 1:1 – 1:N (um para vários).

No exemplo a seguir, o atributo [NúmeroDoDepartamento] é chave estrangeira na


entidade Funcionário importada da entidade Departamento.

Departamento Funcionário

NumeroDoDepartamento trabalha Matrícula DoFuncionário


NomeDoDepartamento NomeDoFuncionário
LocalizacaoDoDepto EndereçoDoFuncionário
NúmeroDoDepartamento

Chave Estrangeira

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 25


Barion, Bertini e Melli

Representações Gráficas

Tipo Tipo
Entidade Entidade
Fraca

Tipo Tipo
Relacionamento
Relaciona Identificador
mento

Atributo Atributo
simplesmente Atributo
Chave Derivado
valorado

Atributo Multi-
Valorado Atributo
Composto

2.1.3 Relacionamentos

No mundo real uma entidade raramente apresenta-se isolada, tendo existência


completamente independente de quaisquer outras. Geralmente ocorre o contrário: é
detectada a existência de uma associação entre as ocorrências de duas entidades
distintas. A essa conexão lógica entre duas ou mais entidades damos o nome de
relacionamento.

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 26


Barion, Bertini e Melli

Um bom exemplo de relacionamento seria aquele existente entre Funcionário e


Departamento: uma ocorrência da entidade Funcionário deverá sempre estar
associada a uma ocorrência da entidade Departamento.

Poderíamos inclusive nomear de “Pertence” a associação entre essas duas entidades,


visto que um funcionário sempre pertence a um departamento.

Um relacionamento possui sempre algumas características básicas, uma das quais é a

Cardinalidade

Um relacionamento consiste na especificação do sentido da associação existente


entre as entidades envolvidas. Por exemplo, um funcionário pertence sempre a no
mínimo um e no máximo um departamento, ou seja, é obrigatório que exista, uma
ocorrência específica da entidade Funcionário, tão somente uma ocorrência da
entidade Departamento associativa. Por outro lado, para um determinado
departamento é possível que existam vários funcionários relacionados: mais de uma
ocorrência da entidade Funcionários refere-se à mesma ocorrência da entidade
Departamento. Dizemos nesse caso que a cardinalidade do relacionamento “Pertence”
é de 1:N (“um para ene” ou um para muitos” ).

No Modelo Entidade Relacionamento (Modelo E-R ou MER) de Peter Chen as


entidades são representadas por um retângulo com seu nome no interior e os
relacionamentos são representados por losangos e com um verbo, o que explicita o
relacionamento como um objeto de associação. O que é importante é entendermos o
que são entidades inicialmente e num segundo instante as formas possíveis destas
entidades se relacionarem. A cardinalidade dos relacionamentos será explicitada
diretamente através da inserção dos símbolos 1 e N para representar uma ou mais
ocorrências respectivamente.

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 27


Barion, Bertini e Melli

Modelo E-R Peter Chen

6 - Entidades e Relacionamentos no MER – cardinalidade 1: N

Os relacionamentos de cardinalidade 1:N são clássicos, pois representam a maioria


das situação encontradas no desenvolvimento de sistemas comerciais. Contudo,
existem também relacionamentos que representam outras cardinalidades.

Relacionamento 1:N

Funcionário Pertence Departamento


João R1 Recursos Humanos
Pedro R2 Financeiro
Paulo R3 Compras
Maria R4
Carmem R5

O primeiro deles é o relacionamento 1:1 (“um para um”). Um exemplo seria aquele que
existe entre Gerente e Departamento, onde um gerente pode responder por apenas
um departamento e um departamento só pode ser gerenciado por um único gerente.

7 - Relacionamento 1:1

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 28


Barion, Bertini e Melli

Apesar de existirem no mundo rela situações que surgem cardinalidades 1:1, devemos
sempre desconfiar de tais relacionamentos questionando-nos se na realidade as duas
entidades envolvidas não são uma só. Uma forma de analisar essa possibilidade
consiste em verificar se o principal identificador da primeira entidade é diferente do
principal identificador da Segunda entidade. Caso não o sejam, muito provavelmente
estamos interpretando dois aspectos de uma mesma entidade como sendo entidades
distintas.

Relacionamento 1:1

Gerente Gerencia Departamento

Joaquim R1 Recursos Humanos


Manoel R2 Financeiro
Eduardo R3 Compras

Existem também os relacionamentos N:M ou N:N (“muitos para muitos”). São aqueles
em que uma ocorrência da entidade “A” pode ter ligação com mais de uma ocorrência
da entidade “B” e vice versa.

Um exemplo de relacionamento N:M ocorre entre as entidades Ator e Filme, onde um


ator pode atuar em mais de um filme e um filme pode Ter mais de um ator.

Relacionamento N:M

8 - Relacionamento N:M

Ator Atua Filme

Tarcísio Meira R1 O Impaciente Inglês


Regina Duarte R2 Velocidade Mínima
Francisco Cuoco R3 E a Chuva Lavou

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 29


Barion, Bertini e Melli

Exercícios

Monte o Modelo Entidade Relacionamento (MER), a partir do enunciado abaixo:

1) Uma biblioteca deseja informatizar os Cadastros de seus livros. Para isso nos
passou as seguintes informações:

Os livros são definidos pelo número do ISBN, Título, Número de Páginas e Preço. Um
livro pode ser escrito por vários autores, sendo os autores definidos pelo Número do
autor, Nome e Sobrenome. As Editoras são definidas pelo Código da editora, Nome,
Endereço, telefone e E-Mail. Um livro pode conter vários assuntos, sendo que vários
livros podem falar sobre o mesmo assunto. Os dados que devemos registrar para o
assunto são: Código do assunto e a descrição. Alguns livros podem Ter várias Cópias
cadastradas na biblioteca, sendo estas cópias definidas pelo número da Cópia e Data
de Aquisição desta cópia. É claro, que só podemos Ter a cópia de algum livro na
biblioteca se existir o livro , caso contrário, não é permitido.

2) Uma empresa deseja manter controle dos projetos desenvolvidos por seus
departamentos. Temos as seguintes informações:

Cada departamento é responsável por um único projeto em desenvolvimento, sendo


que em cada projeto pode ter mais de um departamento responsável pelo seu
desenvolvimento. Estes projetos desenvolvem peças para motores hidráulicos. Um
projeto envolve várias peças e estas peças estão envolvidas em vários projetos. Para
cada departamento há um gerente responsável, sendo que cada departamento possui
um único gerente. Para os funcionários que trabalham nos departamentos da empresa
deseja-se manter um cadastro de seus responsáveis.

Departamentos: Número do departamento, Nome e Local.


Projetos: Código do Projeto, Descrição e Duração
Peças: Número da Peça e Descrição
Gerente e Funcionários: Matrícula, Nome e Cargo
Responsáveis: Nome e Parentesco

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 30


Barion, Bertini e Melli

3) Deseja-se criar um banco de dados para uma agência de turismo, contendo as


informações sobre os recursos oferecidos por algumas cidades:

Cada cidade possui hotéis, restaurantes e casas de show. Deseja-se armazenar os


dados dos shows típicos de cada casa de show e os cardápios principais de cada
restaurante da cidade. Para cada hotel existe uma pessoa responsável com quem a
agência de turismo deve manter contato (para cada hotel existe uma única pessoa que
cuida da hospedagem desta agência de turismo e cada pessoa é responsável por um
único hotel). Os cardápios somente devem ser cadastrados se forem realmente
utilizados pelos restaurantes.

Cidade: Cep, nome, estado


Hotel: Cnpj, nome, categoria, endereço(rua,nr,bairro), quantidade de apartamentos,
telefone
Casa de Show: Cnpj, dias de funcionamento, horário, nome, endereço, telefone
Restaurante: Cnpj, nome, categoria, telefone, endereço
Cardápio: Código, nome, descrição(café da manhã, almoço e jantar)
Responsável pela agencia de turismo: Cpf., nome, telefone(celular e comercial)

4) Uma imobiliária deseja manter controle condomínios pelo quais são responsáveis.
Temos as seguintes informações:

Um condomínio é formado por diversos apartamentos. Cada apartamento possui uma


única garagem. Existem os síndicos dois responsáveis por cada condomínio. Deseja-
se manter os dados dos proprietários de cada apartamento (um apartamento pode ser
de propriedade de mais de uma pessoa). Pode haver casos de um proprietário possuir
mais de um apartamento. A imobiliária deve também manter o cadastro dos herdeiros
de cada proprietário.

Condomínio: Código, Nome e Endereço.


Apartamento: Número, Tipo
Proprietário: RG, Nome, Telefone, E-Mail
Herdeiro: RG, Nome, Telefone
Garagem: Número, Tipo
Síndico: Matrícula, Nome, Endereço, Telefone

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 31


Barion, Bertini e Melli

CAPÍTULO 3

3.1 Mapeamento do MER para o Modelo de Dados Relacional

É comum, em projetos de banco de dados, realizar a modelagem dos dados através


de um modelo de dados de alto-nível. O produto gerado por esse processo são os
esquemas de visões que são posteriormente integradas para formar um único
esquema. O modelo de dados de alto-nível normalmente é adotado é o Modelo
Entidade Relacionamento (MER) e o esquema das visões e de toda a base de dados
são especificadas em diagrama entidade-relacionamento (DER).

O passo seguinte á modelagem dos dados é o mapeamento do diagrama da base de


dados global, obtido na fase anterior, para um modelo de dados de implementação.
Existem três tipos de modelos de dados de implementação: hierárquico, rede e
relacional. Para cada um desses modelos, pode-se definir estratégias de tradução a
partir de um DER específico. A estratégia de tradução, ou de mapeamento, tratado
nesta apostila é para o modelo de dados relacional.

Uma vez que se consegue representar a semântica de uma aplicação através de


modelos de dados, em especial pelo Modelo Entidade Relacionamento, é importante
garantir que as informações contidas neste modelo sejam representadas corretamente
no Modelo Relacional.

Para garantir uma representação fiel das informações no Modelo Relacional é preciso
seguir algumas diretrizes, com objetivo de restringir as opções dos desenvolvedores
em um conjunto efetivo de regras.
Este documento propõe a modelagem de uma Empresa, e descreve os passos
propostos por [Elmasri & Navathe 1994] para o mapeamento do esquema Entidade
Relacionamento para o Modelo Relacional.

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 32


Barion, Bertini e Melli

Vamos estudar os seis passos do mapeamento:

3.1.1 Primeiro Passo

Mapear Conjuntos de Entidades Regulares

Identificar todas as entidades regulares (não fracas) e seus atributos

9 - Mapeamento 1º passo

Primeiro Passo:

Funcionário = {FNúmero, FNome, Endereço, Salário}

Departamento = {DNúmero, DNome}

Projeto = {PNúmero, PNome}

OBSERVAÇÕES:

1) O atributo "Localização" não foi representado na relação "Departamento" pois é um


atributo multi-valorado e será tratado no passo 6.
2) O conjunto de entidade "Dependente", é um conjunto de entidade fraco e será
tratado no seguinte, o passo 2.

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 33


Barion, Bertini e Melli

3.1.2 Segundo Passo:

Mapear Conjuntos de Entidades Fracas

Relacionar todos os atributos da entidade fraca, acrescentando também o atributo


chave da entidade da qual ela depende.

Veja que o atributo da entidade Funcionário (FNumero), vai para a entidade


Dependentes como um atributo chave!

É importante notar que um conjunto de entidade fraca só pode ser mapeado quando
os demais conjuntos de entidades envolvidos no conjunto de relacionamento total, que
torna esse conjunto de entidade fraca, já estiverem mapeados.

10 - Mapeamento - 2º Passo

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 34


Barion, Bertini e Melli

Primeiro Passo:

Funcionário = {FNúmero, FNome, Endereço, Salário}


Departamento = {DNúmero, DNome}
Projeto = {PNúmero, Pnome}

Segundo Passo:
Dependente = {DependNome, FNúmero, DataNiver, Parentesco}

3.1.3 Terceiro Passo

Mapear Conjuntos de Relacionamentos Binários 1:1

No 3º passo, escolha uma entidade para receber o atributo chave da outra entidade
relacionada.

Note que o atributo chave de uma entidade vai para a outra como um atributo simples!

No exemplo, Fnumero (número do funcionário) foi para a entidade departamento como


um atributo simples e não como chave!

11 - Mapeamento - 3º Passo

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 35


Barion, Bertini e Melli

Primeiro Passo:

Funcionário = {FNúmero, FNome, Endereço, Salário}


Departamento = {DNúmero, Dnome, FNúmero, DataIni}
Projeto = {PNúmero, Pnome}

Segundo Passo:
Dependente = {DependNome, FNúmero, DataNiver, Parentesco}

Terceiro Passo:
Os atributos FNúmero e DataIni são adicionados à relação "Departamento",
definida no primeiro passo. Note que o atributo Fnúmero é adicionado como um
atributo não chave na relação "Departamento".

DataIni foi adicionada porque é um atributo do relacionamento gerenciar !

3.1.4 Quarto Passo

Mapear Conjuntos de Relacionamento Binário Regular 1:N

No 4º passo, deve-se acrescentar à entidade de lado N, o atributo chave da entidade


de lado 1.

Note que o atributo chave do lado 1vai para a entidade de lado N, como um atributo
simples. Veja no exemplo.

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 36


Barion, Bertini e Melli

12 - Mapeamento - 4º Passo

Primeiro Passo:

Funcionário = {FNúmero, FNome, Endereço, Salário, SuperNúmero, DNum}


Departamento = {DNúmero, Dnome, FNúmero, DataIni}
Projeto = {PNúmero, Pnome, DNro}

Segundo Passo:
Dependente = {DependNome, FNúmero, DataNiver, Parentesco}

Quarto Passo:

 Neste passo são mapeados os relacionamentos: supervisionar, trabalhar


e controlar.

 Avaliando o relacionamento supervisionar, nota-se que este


relacionamento não possui atributos, logo, apenas o atributo
SuperNúmero foi adicionado a relação "Funcionário", definida no primeiro
passo.

 O mesmo acontece com o relacionamento trabalhar; apenas o atributo


DNum foi adicionado a relação "Funcionário".

 No relacionamento controlar, que também não possui atributos, foi


adicionado o atributo DNro na relação Projeto que já havia sido definida
no primeiro passo.

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 37


Barion, Bertini e Melli

3.1.5 Quinto Passo

Mapear Relacionamento Binário M:N

Para cada relacionamento binário M:N cria-se uma nova relação. Os atributos da
relação são os atributos do conjunto de relacionamento juntamente com os atributos
chave das relações que mapeiam os conjuntos de entidades envolvidos. A chave da
relação é a concatenação dos atributos chave das relações que mapeiam os conjuntos
de entidades envolvidos.

13 - Mapeamento - 5º Passo

Primeiro Passo:
Funcionário = {FNúmero, FNome, Endereço, Salário, SuperNúmero, DNum}
Departamento = {DNúmero, Dnome, FNúmero, DataIni}
Projeto = {PNúmero, Pnome, DNro}

Segundo Passo:
Dependente = {DependNome, FNúmero, DataNiver, Parentesco}

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 38


Barion, Bertini e Melli

Quinto Passo:

O relacionamento participar que envolve os conjuntos de entidades


"Funcionário" e "Projeto", é avaliado neste passo.

Cria-se uma nova relação:

Participar = {FNum, PNum, horas}

3.1.6 Sexto Passo

Mapear Atributos Multi-valorados

No 6º passo, identificamos os atributos multivalorados. Para este atributo, deve-se


criar uma nova entidade, inserindo o atributo multivalorado e o atributo chave da
entidade da qual ele pertence. Ambos os atributos devem ser chaves primárias,
compondo uma chave concatenada.

14 - Mapeamento - 6º Passo

Primeiro Passo:

Funcionário = {FNúmero, FNome, Endereço, Salário, SuperNúmero, DNum}


Departamento = {DNúmero, Dnome, FNúmero, DataIni}
Projeto = {PNúmero, Pnome, DNro}

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 39


Barion, Bertini e Melli

Segundo Passo:
Dependente = {DependNome, FNúmero, DataNiver, Parentesco}

Quinto Passo:
Participar = {FNum, PNum, horas}

Sexto Passo:
LocalDep = {DNúmero, Localização}

3.2 Exemplo de Mapeamento

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 40


Barion, Bertini e Melli

Resolução:

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 41


Barion, Bertini e Melli

3.2 Explicação passo a passo sobre Mapeamento:

3.2.1 Como mapear relacionamentos do tipo 1:1?

Exemplo de relacionamento 1:1 (“um para um”):

Um empregado possui um único cartão de ponto e um cartão de ponto pertence


a apenas um empregado.
Matrícula
Para escolher qual entidade deverá receber o atributo da outra entidade, devemos
sempre fazer a seguinte pergunta:

- Todo empregado possui um cartão de ponto? Resposta: Não necessariamente. Por


exemplo, um empregado que é diretor ou gerente não possui cartão de ponto.
Concorda? Então, não é interessante que empregado receba a chave primária de
cartão de ponto (no caso, o número do cartão).

Agora fazemos a pergunta ao contrário:

- Todo o cartão de ponto pertence a um empregado? Resposta: Sim, pois se existe o


cartão de ponto é sinal que pertence a um empregado da empresa. Concorda?

Sendo assim, cartão de ponto receberá a chave primária de empregado. Neste caso, o
mapeamento do relacionamento entre essas duas entidades ficará assim:

Empregado – Matrícula, nome, telefone

Cartão de Ponto – Número, mês, matrícula do empregado.

Dizemos que o atributo recebido pela outra entidade é chamado de chave estrangeira.
Portanto, matrícula do empregado é a chave estrangeira de cartão de pontos.

3.2.2 Como mapear relacionamentos do tipo 1:N?

Exemplo de relacionamento 1:N (“um para N ou 1 para Muitos”):

Um empregado pertence a um único departamento, mas um departamento possui


muitos empregados (muitos empregados pertencem a um mesmo departamento, não
é mesmo?

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 42


Barion, Bertini e Melli

Matrícula
Num relacionamento 1:N, o lado N sempre recebe a chave primária do lado 1 (Para
não esquecer, pense sempre nisso: muitos (N) são mais fortes do que 1)! É
uma brincadeirinha, apenas para não se esquecer, ok?

Neste caso, o mapeamento do relacionamento entre essas duas entidades ficará


assim:

Empregado – Matrícula, nome, telefone, Código do Departamento

Departamento – Código, nome

Dizemos que o atributo recebido pela outra entidade é chamado de chave estrangeira.
Portanto, código do departamento é a chave estrangeira de empregado.

3.2.3 Como mapear relacionamentos do tipo N:M?

Exemplo de relacionamento N:M (“N para M ou Muitos para Muitos”):

Um aluno pode cursar mais de uma disciplina e uma disciplina pode ser cursada
por mais de um aluno, concorda?

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 43


Barion, Bertini e Melli

Matrícula
Para cada relacionamento binário M:N cria-se uma nova relação. Os atributos da
relação são os atributos do conjunto de relacionamento juntamente com os atributos
chave das relações que mapeiam os conjuntos de entidades envolvidos. A chave da
relação é a concatenação dos atributos chave das relações que mapeiam os conjuntos
de entidades envolvidos.

Por que isso? Veja nesse exemplo que para você conseguir cadastrar um mesmo aluno
em várias disciplinas, deverá fazer um registro para cada uma das disciplinas que o
aluno cursa, concorda:

Exemplo:

Maria cursa matemática

Maria cursa português

Maria cursa história

E assim por diante.... Da mesma forma,

João cursa matemática

João cursa português

João cursa história

Perceba que você poderá repetir a matrícula da Maria para vários códigos de
disciplinas diferentes e poderá repetir os códigos das disciplinas para vários alunos
diferentes. A única coisa que você não poderá fazer é cadastrar duas vezes o mesmo
aluno para a mesma disciplina, não é?

Ora, e como você poderá fazer para que isso não aconteça? A única forma é colocar os
dois atributos como chave primária (matrícula do aluno e código da disciplina).
Concorda? Então, a terceira entidade criada pelo relacionamento N:M, terá como
chave primária tanto a chave de Aluno quanto a chave de disciplina. Veja como ficará o
mapeamento:

Aluno – Matrícula, nome, idade

Disciplina – Código, nome

Aluno-Disciplina – Matrícula do Aluno, Código da Disciplina

Dizemos que os atributos da classe criada pelo relacionamento Aluno cursa Disciplina é
uma concatenação (junção) das chaves primárias de Aluno e Disciplina.

Agora mãos à obra! Você já consegue fazer sua lista de exercício. Vamos lá?

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 44


Barion, Bertini e Melli

EXERCÍCIOS

Para os Diagramas Entidade-Relacionamento abaixo, faça o mapeamento.

1)

Código
1 N
Departamento possui Orientador
Nome

1
Nr. Nome

é
orientado

Notas
N

N cursa M
Disciplina Aluno

Média
Código Nome Nr. Nome

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 45


Barion, Bertini e Melli

2)

Nº Bairro
Rua
Cidad
Nr. Nome Endereç e
pass Nome o Funções
ag M
Endereço EMPREGADO
PASSAGEIRO
Número-
fone 1 emp.
N Escalado
para

Registra possui
do em

Horá
M
1 rio_e
data ntrad
SAÍDA N a
CARTÃO DE
Horá
PONTO rio_s
N aída
Total
Número_ de
Cartão Horas
Instância
de

Modelo
origem 1 Hora-
saída
VÔO Hora- AERONAVE Numero
chegada Serial
destino Número
N 1

designa

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 46


Barion, Bertini e Melli

3)

E-mail Telefone Código Data Hora

1 N
Efetua
Usuário Empréstimo

Data
Devolução N
Matrícula Nome
Contém

M
1 N
Sessão Pertence
Livro

Código Descrição ISBN Título

Localização Autor

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 47


Barion, Bertini e Melli

CAPÍTULO 4

4.1 Normalização

Normalização é um processo formal passo a passo que examina os atributos de uma


entidade com o intuito de evitar anomalias de armazenamento de tuplas específicas. Esse
processo causa a simplificação dos atributos dentro da respectiva tupla, eliminando
grupos repetitivos, dependências parciais de chaves concatenadas, dependências
transitivas, entre outros, colaborando para a integridade e a estabilidade do modelo. A
experiência tem mostrado que o investimento de tempo que se faz para efetuar
manutenções em uma base de dados implementada é inversamente proporcional ao
tempo aplicado no processo de normalização.

O conceito de normalização no modelo relacional foi introduzido por Codd Yourdon em


seu primeiro artigo sobre o modelo relacional de 1970, onde estabeleceu o que
posteriormente chamou-se de 1º Forma Normal.

A teoria de Normalização está montada em torno deste conceito de formas normais. Uma
tabela (entidade) está numa forma normal se ela atender a um conjunto específico de
restrições.

A normalização é um processo formal passo a passo que examina os atributos de uma


entidade com o objetivo de evitar anomalias na inclusão, exclusão e alteração de tuplas
específicas.

Principais Formas Normais:

 1ª Forma Normal
 2ª Forma Normal
 3ª Forma Normal

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 48


Barion, Bertini e Melli

4.1.1 1ª Forma Normal

Remove grupos de repetição.


É a normalização da Tupla, de forma que o relacionamento entre a sua chave e seus
atributos seja UNÍVOCA, isto é, para cada chave há a ocorrência de um e somente um
dado de cada atributo.

Passos da 1ª Forma Normal

1. Identifique atributos que possuam valores para uma ocorrência da entidade.


2. Remova os atributos com uma cópia da chave primária.

Exemplo:

Cliente(Número, Nome, {EnderecoEntrega}) => Não é 1ª Forma Normal

Número Nome Endereço-Entrega


124 João dos Santos Rua 9 de Julho, 56
Av. 15 de Novembro, 1980
256 José Ferreira Av. Campos Sales, 250
311 André Alves Av. São Carlos, 95
Rua Jorge Assef, 900
Rua Rui Barbosa, 935
Conversão para 1FN

Cliente(Número, Nome, End_Entrega)

Número Nome Endereço_Entrega


124 João dos Santos Rua 9 de Julho, 56
124 João dos Santos Av. 15 de Novembro, 1980
256 José Ferreira Av. Campos Sales, 250
311 André Alves Av. São Carlos, 95
311 André Alves Rua Jorge Assef, 900
311 André Alves Rua Rui Barbosa, 935

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 49


Barion, Bertini e Melli

4.1.2 2ª Forma Normal

É a normalização da tupla de forma que, já submetida à 1FN, apresente uma chave


Concatenada que se relacione de forma integral com todos os seus atributos.

A relação está na 2FN se está na 1FN e se não existir atributo não chave que é
dependente de só uma parte de qualquer chave candidata.

Passos da 2ª Forma Normal

1- Identifique atributos dependentes somente de parte da chave primária


2- Remova os atributos encontrados com uma cópia de parte da chave primária.

Exemplo:

Pedido(Nr_Ped, Data, Nr_Peça, Descrição, Quantidade_Comprada, Preço_Cotado)

Não é 2FN, pois:

Nr_Ped, Nr_Peça => Quantidade_Comprada, Preço_Cotado

Nr_Ped => Data Só dependem de uma


parte da chave primária
Nr_Peça => Descrição

Anomalias de Atualização (Não é 2FN)

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 50


Barion, Bertini e Melli

Pedido

Nr_Ped Data Nr_Peça Descrição Qtd_Comprad Preço_Cotado


a
1000 14/11/98 AX12 Bicicleta 3 100,00
1020 15/11/98 BT04 TV 10 400,00
1030 15/11/98 BZ66 Bola 300 10,00
1040 16/11/98 BT04 TV 4 390,00
1050 17/11/98 CB03 Video-Game 5 380,00
1070 20/11/98 BT04 TV 2 410,00

- Gasto de Espaço de Armazenamento e anomalias

1- Atualização
 Mudar descrição de BT04 implica em várias mudanças (tempo!)

2- Dados Inconsistentes
 A Peça BT04 pode Ter descrições diferentes

3- Adições
 Adicionar nova peça e descrição sem pedido para ela. Qual é o valor de Nr_Ped ?
(Faz parte da Chave Primária !)

4- Eliminações
 Eliminar o Pedido 1000 = perde-se a informação de que a peça AX12 é Bicicleta

Para corrigir o Problema:

- Incluir nas relações os atributos correspondentes à Chave Primária apropriada


(coleção mínima da qual dependem)

- Atribuir um nome para cada relação

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 51


Barion, Bertini e Melli

Pedido (Nr_Ped, Data)


2FN Peça (Nr_Peça, Descrição)
Linha_Pedido (Nr_Pedido, Nr_Peça, Quantidade_Comprada, Preço_Cotado)

4.1.3 3ª Forma Normal

Uma relação está na 3FN se e somente se estiver na 2FN e todo atributo não chave não é
transitivamente dependente de qualquer outro não chave.

Passos para a 3ª Forma Normal

1- Identifique atributos dependentes de outros atributos não chave.


2- Remova esses atributos com uma cópia do atributo do qual depende.
Exemplo:

Cliente(Nr_Cli, Nome, Endereço, Nr_Vendedor, Nome_Vendedor)

Não está na 3FN, pois

Nome do Vendedor é transitivamente dependente de Nr_Vendedor que por sua vez não é
chave.

Para corrigir o Problema:

Cliente (Nr_Cliente, Nome, Endereco)


3FN
Vendedor (Nr_Vendedor, Nome_Vendedor)

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 52


Barion, Bertini e Melli

Exercícios

Para os exercícios abaixo, realize o processo de normalização (1FN, 2FN e 3FN):

1) Levando em consideração que o funcionário pode ter vários cargos e vários


dependentes, normalize a tabela abaixo para que sejam armazenados os dados
cadastrais dos funcionários da empresa:

2) Normalize a tabela abaixo com o objetivo de armazenar os dados das fichas


médicas de todos os pacientes de uma clínica. Leve em consideração que o CRM
do médico serve para identificá-lo unicamente.

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 53


Barion, Bertini e Melli

3) Normalize a tabela abaixo com o objetivo de armazenar os dados das ordens de


compra de materiais de uma fábrica. Leve em consideração que cada ordem de
compra é direcionada para um único fornecedor.

______________________
Exercícios de Normalização adaptado de
https://docente.ifrn.edu.br/nickersonferreira/disciplinas/programacao-com-acesso-a-banco-de-
dados-3o-ano/lista-de-exercicios-01-normalizacao

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 54


Barion, Bertini e Melli

BIBLIOGRAFIA

ELMASRI, RAMEZ E NAVATHE, SHAMKANT B. “Fundamentals of Database Systems”,


World Student Series Edition, 1989

FULAN José Davi. “Modelagem de Negócio”, Editora Makron Books, 1997

KORTH, H.F e SILBERSCHATZ, A. “Sistemas de Banco de Dados”, Ed. Mc. Graw-Hill,


1995

MACHADO, F.N.R e Abreu, M. Projeto de Banco de Dados: Uma Visão Prática, Editora
Érica, 1996

SARRO, Larissa Pinça. Mapeamento do ME-R para o Modelo Relacional. Capturado


em 11/07/2002. Online. Disponível na Internet
http://gbdi.icmc.sc.usp.br/documentacao/apostilas/me-r/

FERREIRA, Nickerson. Programação com Acesso a Banco de dados. Instituto Federal


de Educação, Ciência e Tecnologia. Rio Grande do Norte, 2015.

Agendas 3 e 4 - Banco de Dados Relacional - Técnico em Informática EaD – Módulo 2 - Pág. 55