Buscar

Introdução a Banco de Dados e Usuários Envolvidos

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

1 
Parte 1 – Conceitos Introdutórios 
 
 
Dados – Matéria bruta de que é feita a informação. Valores fisicamente registrados no banco de dados. 
Informação – Dado que significa alguma coisa para alguém e é utilizado em algum contexto. 
 
 
Usuários/Profissionais e Atividades Envolvidas na Área de Banco de Dados 
 
- Considera-se haver quatro grandes classes de usuários de banco de dados: 
 
Usuário final: Precisa ter acesso à base de dados para consultar, modificar e gerar relatórios. 
 Interage com o sistema por meio de programas de aplicação ou através de interfaces integrantes do 
próprio sistema. 
 A maioria dos sistemas fornece pelo menos uma aplicação embutida, ou seja, um processador de 
linguagem de consulta interativo, com o qual o usuário é capaz de emitir instruções de alto nível para o 
SGBD. Outros possuem ainda interfaces adicionais através das quais os usuários operam escolhendo 
itens de menus ou preenchendo formulários. 
 
Projetista da base de dados: 
 Decide o conteúdo do banco de dados: Identifica os dados a serem armazenados e escolhe estruturas 
apropriadas para representar e armazenar tais dados, ou seja, faz o projeto conceitual do banco de 
dados. 
 
Programador de aplicações: 
1. Responsável pelo desenvolvimento dos programas que utilizam o banco de dados, 
caracteristicamente escritos em linguagens de terceira geração (Cobol, PL/I, C, Pascal, Java, etc). 
2. Tais programas operam sobre os dados de todas as formas usuais: recuperação, inserção, deleção e 
atualização de dados são executadas pelo envio de solicitações apropriadas ao SGBD. 
 
Administrador de banco de dados (DBA): 
 É a pessoa, ou grupo de pessoas, responsável pelo controle do sistema, tendo as seguintes 
responsabilidades: 
o Servir de elo com os usuários: Garantir a disponibilidade dos dados de que eles necessitam. 
o Definir os controles de segurança e de integridade: Acesso autorizado, quem pode acessar o que, 
encriptação de dados, auditoria da base de dados. Local físico de armazenamento, duplicação, 
etc. 
o Definir estratégias de recuperação: Na eventualidade de danos a partes do banco de dados, 
causados seja por erro humano, por falha no hardware ou no sistema operacional, é importante 
recuperar os dados o mais rapidamente possível e com o mínimo de conseqüências para o 
restante do sistema. 
o Monitorar o desempenho e atender as necessidades de modificações. 
 
 
Modelo Relacional e Outros 
 
 - Um sistema relacional é aquele no qual: 
1) Os dados são percebidos pelos usuários como tabelas; 
2) Os operadores à disposição dos usuários são operadores que geram novas tabelas a partir das antigas. 
 
 2 
 
 
- O modelo relacional resultou de um estudo teórico realizado por Codd (pesquisador da IBM), tendo por base a 
teoria dos conjuntos e a álgebra relacional. O estudo foi apresentado em 1970, mas só nos anos 80 foi 
implementado. 
- Revelou-se ser o mais flexível e adequado ao solucionar os vários problemas que se colocam ao nível da 
concepção e implementação das bases de dados. 
 
- A maioria dos sistemas de bancos de dados desenvolvidos nos últimos anos são relacionais, ao contrário dos 
sistemas mais antigos. 
 
- A abordagem relacional representa a tendência dominante no mercado de hoje e o modelo relacional é 
considerado como a evolução mais importante em toda a história do ramo de banco de dados. 
 
 
Os Outros 
 
- Pode-se dividir os sistemas de acordo com as estruturas de dados e os operadores que apresentam ao usuário 
em cinco categorias: hierárquico, rede, lista invertida, relacional e orientado a objetos. 
 
- O modelo orientado a objetos foi o último a surgir (meados dos anos 80), sendo utilizado em aplicações tais 
como Sistemas de Informações Geográficas (SIG) e sistemas CAD/CAM. 
 
- A seguir temos uma pequena lista com exemplos de sistemas comerciais das quatro categorias. 
 
 
Modelo Sistema Fabricante 
Relacional 
DB2 IBM 
SQL/DS IBM 
INGRES Relational Technology Inc. 
ORACLE ORACLE Corp. 
Rdb/VMS DEC 
Lista Invertida 
MODEL 204 CCA 
ADABAS Software AG 
DATACOM/DB Applied Data Research 
Hierárquico 
IMS IBM 
System 2000 Intel 
Rede 
IDMS Cullinet 
DMS 1100 Sperry 
TOTAL Cincorn Systems 
N O M E R U A C ID A D E N Ú M E R O 
C O N T A
J o ã o R ia c h u e lo S o ro c a b a 9 0 0
A n a G a l O só r io I tú 5 5 6
S a n d ra A c á c ia s S o ro c a b a 8 0 0
M a rc o s A p a re c id a S ã o R o q u e 6 4 7
N Ú M E R O 
C O N T A
S A L D O
9 0 0 5 5 ,0 0
5 5 6 1 0 0 0 0 0 ,0 0
8 0 0 4 2 6 7 ,0 0
6 4 7 3 5 8 ,0 0
 3 
Trabalho de Pesquisa 
 
1) Procure na Internet, em sites de ofertas de emprego, quais as denominações mais comuns para os profissionais 
de banco de dados e identifique quais as habilidades mais requisitadas para tais profissionais. Faça um resumo de 
uma página sobre o que encontrou. 
 
2) Novamente, tomando por base ofertas de emprego para profissionais de banco de dados, enumere quais são os 
SGBDs mencionados com maior frequência. Para cada SGBD, especifique o número de vezes (ofertas de emprego 
diferentes) em que foi mencionado. Verifique, no mínimo, 20 ofertas distintas. 
 
3) Faça o cálculo da média salarial dos profissionais de banco de dados, com base nas ofertas que encontrou. 
 
Algumas questões de concursos públicos 
 
1) (CESGRANRIO - 2010 - Petrobrás - Técnico em Informática) Existem muitas atividades envolvidas em um 
Sistema Gerenciador de Bancos de Dados, o que torna necessária a contratação de profissionais especializados para 
manter o bom funcionamento do sistema. Entre esses profissionais, aquele que tem a responsabilidade de 
identificar os dados que irão compor a base de dados e escolher estruturas apropriadas para representar e armazenar 
esses dados é o 
a) Analista de Suporte Sênior. 
b) Programador de Aplicações SQL. 
c) Administrador da Base de Dados. 
d) Técnico de Suporte a Usuários. 
e) Projetista da Base de Dados. 
 
2) (CESGRANRIO - 2010 - Petrobrás - Técnico em Informática) A linguagem, na qual um usuário requisita 
informações do Banco de Dados e que é de mais alto nível que uma linguagem de programação comum, constitui 
uma linguagem de 
a) Consulta. b) Conexão. c) Máquina. d) Manipulação. e) Requisição. 
 
3) (FCC - 2010 - AL-SP - Agente Técnico Legislativo Especializado - Admin e Arquitetura de Dados) A 
identificação dos dados que devem ser armazenados no banco de dados, escolhendo a estrutura correta para 
representar e armazenar dados, e, a avaliação das necessidades de cada grupo de usuários para definir as visões que 
serão necessárias, integrando-as, fazendo com que o banco de dados seja capaz de atender a todas as necessidades 
dos usuários, são de responsabilidade do 
a) projetista de Banco de Dados. 
b) DBA. 
c) DBM. 
d) ADB. 
e) usuário final. 
 
4) (FMP-RS - 2011 - TCE-RS - Auditor Público Externo – Administração) Um administrador de banco de dados 
(Data Base Administrator – DBA) é responsável por realizar uma série de funções sobre um determinado banco 
de dados. Entre as funções listadas abaixo, assinale a que NÃO É de competência específica de um DBA. 
a) Conceder autorização para acesso a dados a usuários. 
b) Zelar pela integridade do banco de dados e definir procedimentos para criação e recuperação de backups. 
c) Auxiliar equipes de desenvolvimento e de testes a maximizar o desempenho e uso do banco de dados. 
d) Planejar, documentar, gerenciar e integrar recursos de informações corporativas de forma a manter as regras de 
negócio coerentes. 
e) Projetar o armazenamento dos dados de forma a atender às necessidades de acesso. 
 
 4 
Parte 2 – Modelagem:MER 
 
Ciclo de vida de um banco de dados relacional 
 
1. Formulação e análise de requisitos: 
 Relacionamentos naturais entre os dados (independentes de processo). 
 Plataforma: hardware/software: SO, SGBD 
 Requisitos de desempenho e integridade. 
Resultado: Documento de especificação de requisitos. 
 
2. Projeto lógico do banco de dados: 
 Modelo ER (projeto conceitual) 
 Integração dos múltiplos diagramas ER da empresa. 
 Transformação dos diagramas ER para tabelas relacionais. 
 Normalização das tabelas relacionais. 
Resultado: Esquema global transformado para definições de tabelas. 
 
 
 
 
 
 
 5 
3. Projeto físico do banco de dados e distribuição: 
 Definição das estruturas físicas de armazenamento de dados: tipo e tamanho dos campos, nomenclaturas, etc. 
 Seleção de índices e métodos de acesso. 
 Fragmentação dos dados, replicação: Minimizar tempo de resposta, minimizar custos, maximizar 
disponibilidade. 
 
4. Implementação do banco de dados, monitoração e manutenção. 
 
 
Modelo Entidade-Relacionamento 
 
- O modelo Entidade-Relacionamento foi proposto originalmente por Peter Pin Shan-Chen (MIT) em 1976, no 
trabalho intitulado "The Entity-Relationship Model - Toward a Unified View of Data". 
- Tem sido usado rotineiramente na análise e modelagem de sistemas. 
- O modelo entidade-relacionamento (E-R) é baseado na percepção do mundo real como um conjunto de objetos 
básicos chamados entidades e nos relacionamento entre as mesmas. 
- Para a introdução dos conceitos associados ao modelo entidade-relacionamento e ao projeto de uma base de 
dados, vamos utilizar um exemplo: A base de dados COMPANHIA. 
 
A Base de Dados Companhia 
 
- Base que armazena dados sobre funcionários, departamentos e projetos. Descrição: 
 Companhia organizada em departamentos. Cada departamento tem: 
o Um nome; 
o Um número que identifica o departamento; 
o Número de funcionários; 
o Uma localização; 
o Um funcionário que gerencia o departamento: 
 Armazena-se a data de início em que o funcionário começou a gerenciar o departamento. 
 Um departamento é responsável pelo controle de diversos projetos. Cada projeto tem: 
o Um nome; 
o Um número que identifica o projeto; 
o Uma localização. 
 Sobre o funcionário armazena-se: 
o Nome; 
o Número do seguro social; 
o CPF; 
o Endereço; 
o Telefones; 
o Salário; 
o Sexo; 
o Data de nascimento; 
o Idade. 
 Todo funcionário é associado a um departamento, mas pode trabalhar em diversos projetos, não 
necessariamente controlados pelo mesmo departamento (todo projeto é controlado por algum departamento, 
mas há departamentos que não controlam nenhum projeto). Todo funcionário precisa atuar em pelo menos um 
projeto. Armazena-se: 
o Número de horas que o funcionário trabalha em cada projeto. 
 6 
o Quem é o supervisor direto de cada funcionário. Todo funcionário tem um supervisor. 
 Os dependentes de cada funcionário são armazenados para garantir os benefícios do seguro. Para cada 
dependente são armazenados: 
o Nome; 
o Sexo; 
o Data de nascimento; 
o Idade; 
o Relacionamento com o empregado. 
 
Símbolos Utilizados 
 
 
 
Retângulos – Representam entidades. 
Elipses – Representam atributos. 
Losângulos – Representam relacionamentos. 
Linhas – Ligam atributos a entidades e entidades a relacionamentos. 
 
Conceitos do Modelo Entidade-Relacionamento 
Entidades e Atributos 
 
- Entidade: - É uma classe de objetos do mundo real que possuem uma existência independente e que possuem 
propriedades em comum sobre as quais se deseja armazenar dados. 
 - Tais objetos podem ter existência física: Pessoa, Carro, Livro. 
 - Podem ainda ter apenas existência conceitual: Curso Universitário, Projeto. 
 7 
- Instância de entidade: - É uma ocorrência de uma entidade. O equivalente lógico de uma instância é um 
registro de uma tabela. Exemplo: A entidade Funcionário possui várias instâncias: o funcionário Pedro da Costa, 
com CPF 123456789, que mora no endereço R. A, 23; o funcionário Paulo da Silva, com CPF 987654321, que 
mora no endereço R. B, 32 e assim por diante. 
 
- Atributos: - Propriedades particulares de uma entidade (ou relacionamento). 
Exemplo: 
 Nome=João Nunes Silva da Silva 
f1 Endereço = R. Goiás, 711 
São Paulo - SP, CEP: 13011-000 
 
 Idade = 55 
 Fone residencial = 11-3713-3345 
 Salário = 2300,00 
 
- Classificação dos Atributos 
Os atributos são classificados em: 
 Simples OU Compostos 
 Monovalorados OU Multivalorados 
 Obrigatórios OU Opcionais 
 Derivados OU Não-Derivados 
 Chaves OU Não-Chaves 
As definições são como segue: 
 Atributo composto: Pode ser dividido em subpartes com significados independentes. 
Exemplos: Um endereço pode ser subdividido em Logradouro (rua e número), Cidade, Estado e CEP. 
 Um telefone pode ser subdividido em DDI, DDD e Número propriamente dito. 
É útil decompor um atributo em suas partes quando há a necessidade de se referenciar o mesmo como um 
todo, mas algumas vezes, ter acesso a apenas alguns de seus componentes. 
 
 Atributo simples: Em contraposição aos atributos compostos, um atributo simples é aquele cujo valor não 
se pode subdividir em partes. Exemplo: O atributo salário. 
 
Representação: 
 
 
 
 
 
 
 
 Atributo multivalorado: É aquele que pode assumir múltiplos valores para uma dada instância de uma 
entidade. 
Exemplos: É comum que uma pessoa tenha vários números de telefone ou vários endereços comerciais. 
Simples 
Composto 
Simples Simples Simples 
 8 
 Atributo monovalorado: Em contraposição aos atributos multivalorados, um atributo monovalorado 
assume um único valor para cada instância de uma entidade. 
Exemplos: Nome, CPF, data de nascimento são todos exemplos de atributos que, para uma dada pessoa, 
assumem um único valor. 
 
 Representação: 
 
 
 Atributo opcional: Quando uma entidade não possui valor para determinado atributo ou quando seu valor 
é desconhecido, um valor especial chamado null é usado neste caso. 
Exemplos: Um valor null é a representação de: 
 Um valor não aplicável: Funcionário com endereço sem número de apartamento porque 
reside em casa. 
 Um valor desconhecido no momento: Funcionário ainda não adquiriu um telefone 
residencial. 
 Valor indefinido: Funcionário encarregado de várias funções, sem cargo definido. 
 
 Atributo obrigatório: Atributo cujo valor sempre existe e é conhecido para todas as instâncias de uma 
entidade. 
Exemplos: Todo funcionário possui nome, data de nascimento, CPF, dentre outros. 
 
Representação: 
 
 
 
 
 
 
 
 
Nesta representação: 
- Um atributo opcional tem valor mínimo 0. 
- Um atributo obrigatório tem valor mínimo 1. 
 
 Observação: Também se pode utilizar esta representação para distinguir atributos monovalorados de 
atributos multivalorados. 
 
Representação: 
 
 
 
 
 
 
 
 
 
Nesta representação: 
- Um atributo monovalorado tem valor máximo 1. 
- Um atributo multivalorado tem valor máximo N. 
 
Mono Multi 
Entidade 
(0,1) 
Opcional 
Entidade 
(1,1) 
Obrigatório 
Valor 
mínimo 
Valor 
máximo 
Entidade 
(1,1) 
Mono 
Entidade 
(1,N) 
Multi 
 9 
 Atributo derivado: Aquele cujos valores que assume podem ser obtidos a partir de outro atributo ou a 
partir de relacionamentos entre entidades, através de um processo algébrico. Normalmente não são 
armazenados em bancos de dados. 
Exemplos: O atributo idade pode ser obtido a partir da data de nascimento do funcionário, fazendo-se uma 
conta de subtração entre datas. 
Oatributo número de funcionários da entidade Departamento pode ser obtido através de um processo de 
contagem do número de instâncias do relacionamento Trabalha entre Funcionário e Departamento. 
 
 Atributo não-derivado: Aquele cujos valores que assume não podem ser obtidos a partir de outro atributo 
ou a partir de relacionamentos entre entidades. 
Exemplo: A data de nascimento do funcionário não pode ser obtida a partir de sua idade. 
 
Representação: 
 
 
 
 
 
 Atributo Chave (Identificador): Atributo ou conjunto de atributos que identificam de modo único cada 
instância de uma entidade. Não pode haver duas instâncias de uma entidade com o mesmo conteúdo para o 
atributo identificador. Uma entidade pode ter várias chaves candidatas (também chamadas chaves 
alternativas). 
Exemplos: CPF, RG, CNH para pessoas. DDI para países. 
 
 Atributo Não-Chave: Atributo cujo valor pode se repetir entre instâncias de uma mesma entidade. 
Exemplos: Na maioria dos contextos o nome de uma pessoa não é um atributo chave, pois existem 
homônimos. 
 
Representação: 
 
 
 
- Chave-Primária: Deve ser escolhida dentre os atributos chave, devendo satisfazer aos seguintes critérios: 
 Unicidade: É a principal característica de uma chave. Seu valor é único para cada instância de uma 
entidade, permitindo que, através deste valor, se identifique cada uma destas instâncias. 
 Ser atributo obrigatório: Uma chave primária não pode assumir valores nulos. Assim, embora o número 
da CNH seja único, nem todos a possuem, de forma que este não é um bom candidato à chave-primária. 
 Ser mínima: Poderia se pensar em tomar a dupla de atributos (cpf, nome) como sendo a chave-primária da 
entidade Funcionário. No entanto, esta chave não seria mínima, pois o atributo cpf isoladamente já é um 
atributo chave. 
 Ser estável ao longo do tempo: Embora todo funcionário deva ter um número de conta bancária a si 
associado, necessária para que seja efetuado o seu pagamento mensal e, ainda que este atributo possa ser 
único e obrigatório, ele pode sofrer alterações ao longo do tempo. Por isso, esta não seria uma boa escolha 
para a chave-primária da entidade Funcionário. 
 
 
Não-Derivado Derivado 
Não-Chave Chave-Primária 
 10 
Relacionamentos 
 
- Relacionamento: Classe de associações entre duas ou mais entidades. 
Exemplo: Há um relacionamento “Trabalha-Para” entre a entidade Funcionário e a entidade Departamento. 
 
 
 
 
 
 
 
 
 
 
- Instância de relacionamento: Ocorrência particular de um relacionamento, envolvendo instâncias específicas de 
cada uma das entidades envolvidas. 
Exemplo: O Funcionário João Nunes Silva da Silva “trabalha para” o Departamento de Desenvolvimento de 
Produtos. 
 
Atributos de Relacionamentos 
- Os relacionamentos também podem ter atributos, da mesma forma que as entidades. 
Exemplo: Necessidade de se registrar o número de horas que um funcionário dedica a um determinado projeto. 
 
 
 
 
 
 
 
Grau de um relacionamento 
 
- Relacionamentos classificam-se quanto ao número de entidades envolvidas em: 
 Binários: Envolvem duas entidades. 
 
 
 
Funcionário 
 
Cpf 
Departamento 
 
Número 
TrabalhaPara 
TrabalhaEm Projeto 
 
Número 
Funcionário 
 
Cpf NumHoras 
TrabalhaEm 
Funcionário 
 
Projeto 
 
TrabalhaPara 
 11 
 Binários recursivos: Envolvem a associação entre diferentes instâncias de uma única entidade, as quais 
participam do relacionamento assumindo diferentes papeis. 
 
 
 
 
 
 
 Ternários: Envolvem três entidades. 
 
 
 
 
 
 
 
Mapeamento de Restrições 
 
- O mundo real pode impor certas restrições que são refletidas nos relacionamentos. 
 
- Estas restrições podem ser decorrentes de: 
 Regras de negócio do empreendimento para o qual se modela o banco de dados. Exemplo: Uma regra 
segundo a qual um empregado trabalha apenas para um departamento. 
 Senso comum, isto é, aquilo que é de conhecimento de todos, sem precisar que seja enunciado. Exemplo: 
Toda pessoa tem uma única mãe natural. 
 
- Dois tipos principais de restrições de relacionamentos são a razão de cardinalidade de um relacionamento e a 
dependência de existência (restrição de participação). 
 
Razão de Cardinalidade 
 
- A cardinalidade expressa o número de instâncias de uma entidade às quais uma instância de outra entidade pode 
estar associada por meio de um relacionamento e é, obviamente, dependente das situações reais que estão sendo 
modeladas pelo relacionamento. 
 
- Para os relacionamentos binários entre entidades A e B, bem como para relacionamentos binários recursivos, a 
razão de cardinalidade pode ser: 
 Um para um (1:1): Uma instância da entidade A está associada a no máximo uma instância da entidade B, 
e uma instância da entidade B está associada a no máximo uma instância da entidade A. 
 
 
 
Supervisiona Funcionário 
 
Fornecedor 
 
Projeto 
 
Peça 
 
Fornece 
 12 
Exemplos: 
 Funcionário – Gerencia - Departamento 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Pessoa – Casada – Pessoa 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Um para muitos (1:N): Uma instância da entidade A está associada a várias instâncias da entidade B, e 
uma instância da entidade B está associada a, no máximo, uma instância da entidade A. 
Exemplo: Funcionário – Trabalha Para – Departamento 
 
 
 
Funcionário 
 
Departamento 
 
Gerencia 
1 1 
Casada Pessoa 
 
1 
1 
esposo 
esposa 
Funcionário 
 
Departamento 
 
TrabalhaPara 
N 1 
Gerencia 
Casamento 
João 
Nune
s 
Silva 
Maria 
Jussara 
Leôncio 
Marcia 
Joel 
Ana 
Ivo 
Pedro 
Lúcia 
Depto Pessoal 
Depto Compras 
Depto Marketing 
Depto Pesquisa 
José 
Marta 
Juliana 
Leonel 
Maira 
Igor 
 13 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Pessoa – É Mãe Natural de – Pessoa 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Muitos para muitos (N:M): Uma instância da entidade A está associada a várias instâncias da entidade B, 
e uma instância da entidade B está associada a várias instâncias da entidade A. 
Exemplo: Funcionário – AtuaEm - Projeto 
 
 
 
 
Progenitora Pessoa 
 
1 
N 
mãe 
filho 
Funcionário 
 
Projeto 
 
AtuaEm 
N N 
Trabalha Para 
João 
Nune
s 
Silva 
Maria 
Jussara 
Leôncio 
Marcia 
Joel 
Ana 
Ivo 
Pedro 
Lúcia 
Depto Pessoal 
Depto Compras 
Depto Marketing 
Depto Pesquisa 
Laura 
Larissa
a 
Mauro 
Meire 
Murilo 
Bia 
Ana 
Progenitora 
 14 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Peça – Compõe – Peça 
 
 
 
 
 
 
 
Restrição de Participação 
 
- Esta restrição especifica se a existência de uma instância de uma entidade depende de ela estar relacionada com 
uma instância de outra entidade através de um relacionamento. 
 
- Existem dois tipos de restrição de participação: 
 Total: Também chamada de dependência existencial. Ocorre quando a existência de uma instância de uma 
dada entidade depende da participação da mesma em um relacionamento. 
Exemplo: 
- Se uma companhia estabelece a regra de que todo Departamento deve ter um funcionário que atua como seu 
gerente, então uma instância da entidadeDepartamento só pode existir se participar de um relacionamento 
Gerencia com a entidade Funcionario. Por outro lado, nem todo funcionário é gerente de algum departamento. 
- A participação de Departamento em Gerencia é total, ao passo que a participação de Funcionario é parcial. 
- A entidade Funcionario é chamada de entidade dominante ou forte e a entidade Departamento de entidade 
dependente ou subordinada. 
 
 Parcial: Ocorre quando a existência das instâncias de uma dada entidade é independente de sua participação 
em qualquer relacionamento. 
 
Compõe Peça 
 
N 
N 
contida 
contém 
João 
Nune
s 
Silva 
Maria 
Jussara 
Leôncio 
Marcia 
Joel 
Ana 
Ivo 
Pedro 
Lúcia 
Proj ABC 
Proj XYZ 
 Proj XXX 
Proj DEF 
Atuação em Projeto 
 15 
Exemplo: 
- Não é esperado que todo funcionário gerencie um departamento, assim a participação de Funcionário no 
relacionamento Gerencia é parcial. 
- Não necessariamente todas as instâncias da entidade Funcionário estarão relacionadas a instâncias da entidade 
Departamento via Gerencia. 
- Uma possível notação para representar se a participação de uma entidade em um relacionamento é parcial ou 
total é através do uso de: 
 Linha simples ligando a entidade ao relacionamento para participação parcial. 
 Linha dupla ligando a entidade ao relacionamento para participação total. 
Exemplo: 
 
 
 
 
Outras Notações Possíveis 
 
Notação de Peter-Chen 
- A notação de cardinalidade mínima e máxima (notação de Peter-Chen) também é muito utilizada. 
- As cardinalidades mínima e máxima são expressas entre parênteses da seguinte forma: 
(cardinalidade mínima, cardinalidade máxima) 
- Os valores que a cardinalidade mínima pode assumir são: 
 0: Representa Participação Parcial da entidade que está no lado oposto no relacionamento. 
 1: Representa Participação Total da entidade que está no lado oposto no relacionamento. 
- Os valores que a cardinalidade máxima pode assumir são 1 ou N, tendo o mesmo significado já visto 
anteriormente. 
Exemplos: 
1) Um funcionário trabalha para apenas um departamento e todo funcionário tem que estar atrelado a um 
departamento. Expressamos isso como (1, 1), isto é, no mínimo 1 e, no máximo, 1. 
Todo departamento tem funcionários trabalhando nele. Um departamento pode ter vários funcionários 
trabalhando nele. Expressamos isto como (1, N), isto é, no mínimo 1 e, no máximo, N. 
 
 
 
2) Todo departamento tem um funcionário que atua como gerente dele. Um departamento pode ter um único 
gerente. Expressamos isso como (1, 1). 
Um funcionário pode ou não ser gerente de um departamento. Um funcionário só pode gerenciar um único 
departamento. Expressamos isso como (0, 1), isto é, no mínimo, 0 e, no máximo, 1. 
 
Funcionário 
 
Departamento 
 
Gerencia 
1 1 
(1, 1) Funcionário 
 
Departamento 
 
TrabalhaPara 
(1, N) 
 16 
 
 
 
 
Notação de James Martin 
- As principais diferenças com relação às notações anteriores são: 
 Os relacionamentos são representados apenas por uma linha. 
 Somente permite a representação de relacionamentos binários. 
 A notação de cardinalidade máxima e mínima é gráfica. 
 O símbolo mais próximo ao retângulo representa a cardinalidade máxima. 
 O símbolo mais distante representa a cardinalidade mínima. 
 
Representações: 
 
 
 
 
 
 
 
 
associados a: 
 
 
 
 
 
 
 
 
Exemplos: 
 
Um funcionário tem que trabalhar para um e apenas um departamento. 
Um departamento tem um ou mais funcionários trabalhando nele. 
 
 
 
 
 
 
 
 
Um passageiro pode ocupar, em uma viagem de avião, apenas uma poltrona. 
Uma poltrona pode estar ocupada por um ou nenhum passageiro. 
 
 
 
 
(0, 1) Funcionário 
 
Departamento 
 
Gerencia 
(1, 1) 
Muitos 
Um 
A ocorrência do relacionamento é opcional. 
A ocorrência do relacionamento é obrigatória. 
Passageiro 
 
Poltrona 
 
Funcionário 
 
Departamento 
 
Cardinalidade Mínima 
Cardinalidade Máxima 
 17 
Entidades Fracas 
 
- Algumas entidades podem não ter quaisquer atributos-chave. Isto implica que podem haver instâncias cuja 
combinação dos valores dos atributos são idênticas. 
 
- A identificação destas instâncias ocorre por estarem associadas a instâncias de uma outra entidade, em 
combinação com algum ou alguns de seus atributos. 
 
- Esta outra entidade é dita ser proprietária da identificação e o relacionamento que relaciona uma entidade fraca 
com a proprietária da identificação é chamado relacionamento de identificação. 
 
- Uma entidade-fraca sempre tem uma restrição de participação total (dependência existencial) com relação ao seu 
relacionamento de identificação. 
Exemplo: Entidade Dependente, relacionada a Funcionario. Trata-se de um relacionamento 1:N. 
 Os atributos de Dependente são Nome, DataNasc, Sexo e Relação com o funcionário (esposa, marido, 
filho, etc). 
 Dependentes de funcionários diferentes podem ter os mesmos valores para os atributos, e ainda assim 
tratam-se de entidades distintas. 
 Os dependentes serão identificados como entidades distintas após a determinação da entidade 
funcionário com a qual cada um está relacionado. 
 
- Uma entidade fraca possui uma chave parcial, que é um atributo ou conjunto de atributos que pode 
univocamente identificar instâncias da entidade fraca relacionadas à mesma instância da entidade proprietária. 
Exemplo: Considerando que os dependentes de um mesmo funcionário terão nomes diferentes, então o atributo 
Nome de Dependente será a chave parcial. 
 
 18 
Projeto da Base de Dados Companhia Utilizando o Modelo Entidade-Relacionamento 
 
- Podemos especificar os seguintes tipos de relacionamentos extraídos da descrição sobre a companhia: 
Gerencia (1:1) entre Funcionário e Departamento. 
A participação de Funcionário é parcial. A participação de Departamento é total. 
O atributo DataIni é associado a esse relacionamento. 
Trabalha-Para (1:N) entre Departamento e Funcionário. 
Ambos têm participação total. 
Controla (1:N) entre Departamento e Projeto. 
A participação de Projeto é total e de Departamento é parcial. 
Supervisiona (1:N) entre Funcionário (no papel de supervisor) e Funcionário (no papel de 
supervisionado). 
A participação de Funcionário no papel de supervisor é parcial, pois nem todo funcionário é supervisor, 
mas a participação de Funcionário no papel de supervisionado é total, pois todo funcionário é 
supervisionado. 
Trabalha-Em (N:N) entre Funcionário e Projeto. 
Ambos têm participação total. 
O atributo Horas é associado a este relacionamento. 
Dependente-de (1:N) entre Funcionário e Dependente. 
É um relacionamento de identificação para a entidade-fraca Dependente. 
A participação de Funcionário é parcial e de Dependente é total. 
 
 
Telefone 
 19 
Mais sobre relacionamentos ternários 
 
- Muitas vezes é difícil decidir se um relacionamento deve ser representado como sendo ternário ou se não pode ser 
representado por vários relacionamentos binários entre as entidades participantes. O projetista da base de dados 
deve se guiar pelo significado da situação particular que estiver representando para decidir qual alternativa adotar. 
Exemplo1: 
 País 
 N 
 
Vende 
 
 N N 
Companhia Produto 
 
- Para um dado par (companhia, produto) há vários países para os quais o produto é vendido por aquela companhia. 
- Para um dado par (país, produto) há várias companhias exportando aquele produto para aquele país. 
- Para um dado par(companhia, país) há vários produtos exportados por aquela companhia para aquele país. 
 
Companhia Produto País 
A abóbora Alemanha 
A abóbora Bélgica 
B abóbora Alemanha 
A pepino Alemanha 
C pepino Bélgica 
 
- Deve-se notar que, no nosso exemplo hipotético, A não exporta pepino para a Bélgica. 
 
- Não conseguiríamos representar este fato através do seguinte diagrama ER, a partir do qual a leitura que se faz é 
de que uma companhia manufatura vários produtos e exporta todos para um número de diferentes países. 
 
 
 N Exporta N País 
Companhia 
 N Produz N Produto 
 
 
Uma companhia 
produz muitos 
produtos e exporta 
todos os produtos 
que produz para um 
número de 
diferentes países. 
 20 
Companhia País Companhia Produto 
A Alemanha A abóbora 
A Bélgica A pepino 
C Bélgica C pepino 
B Alemanha B abóbora 
 
- Também não conseguiríamos representar este fato através do DER abaixo: 
 
 N Exporta N 
Companhia País 
 N M 
Produz N Produto N Compra 
 
 
Companhia País Companhia Produto País Produto 
A Alemanha A abóbora Alemanha abóbora 
A Bélgica A Pepino Alemanha pepino 
C Bélgica C Pepino Bélgica abóbora 
B Alemanha B abóbora Bélgica pepino 
 
Exemplo 2: Relacionamento ternário 1:N:N 
 
 Gerente 
 1 
 
Gerencia 
 
 N N 
Engenheiro Projeto 
 
Para um dado par (Engenheiro, Projeto): Há apenas 1 gerente. Isto é, cada engenheiro trabalhando em um projeto 
particular tem exatamente um gerente. 
Para um dado par (Gerente, Projeto): Há vários engenheiros. Isto é, cada gerente de um projeto pode gerenciar 
muitos engenheiros. 
Para um dado par (Gerente, Engenheiro): Há vários projetos. Isto é, cada gerente de um engenheiro pode gerenciar 
aquele engenheiro em vários projetos. 
 21 
Exemplo 3: Relacionamento ternário 1:1:N 
 Projeto 
 1 
 
DesignadoA 
 
 1 N 
Local Funcionário 
 
Para um dado par (Funcionário, Projeto): Há apenas um local de trabalho. Isto é, cada funcionário designado para 
um projeto trabalha em apenas um local naquele projeto (mas pode estar em diferentes locais para diferentes 
projetos). 
Para um dado par (Funcionário, Local): Há apenas um projeto. Isto é, em um particular local um funcionário 
trabalha apenas em um projeto. 
Para um dado par (Projeto, Local): Há vários funcionários. Isto é, em um particular local podem haver muitos 
funcionários designados para um projeto. 
Atenção: Este DER não implica que um funcionário participe de um só projeto. 
 
Exemplo 4: Relacionamento ternário 1:1:1 
 Professor 
 1 
 
Usa 
 
 1 1 
Livro Curso 
 
Um professor usa um livro para um dado curso. 
Nenhum professor usa o mesmo livro para diferentes cursos. 
Mas diferentes professores podem usar o mesmo livro em diferentes cursos. 
 
Extensões do Modelo E-R 
 
- Apesar de ser possível modelar a maioria dos bancos de dados apenas com os conceitos básicos do E-R, alguns 
aspectos de um banco de dados podem ser expressos de modo mais conveniente por meio de algumas extensões. 
São estas: a Especialização/Generalização e as Entidades Associativas. 
 
 22 
Especialização/Generalização 
 
- Uma entidade pode conter subgrupos de instâncias que são, de alguma forma, diferentes de outras instâncias do 
conjunto. 
 
- O processo de projetar subgrupos de uma entidade é chamado especialização e é representado graficamente por 
um triângulo. 
Exemplo: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
- Estas entidades de nível inferior podem possuir atributos, ou mesmo participar de relacionamentos que não 
podem ser aplicados a todas as instâncias da entidade de nível superior. 
 
- O uso do mecanismo de especialização evita que se tenha entidades com muitos atributos opcionais. 
Exemplo: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
(0,1) 
Funcionário 
Nome 
Código 
TipoFuncionário 
CREA 
DataExpiracaoCarteiraHabilitacao 
NumeroCarteiraHabilitacao 
CRM 
(0,1) (0,1) 
(0,1) 
Funcionário 
Motorista Médico Engenheiro 
Nome 
Código 
DataExpiracaoCarteiraHabilitacao 
NumeroCarteiraHabilitacao 
CREA CRM 
Esta situação fica melhor modelada assim: 
G 
E 
N 
E 
R 
A 
L 
I 
Z 
A 
Ç 
à 
O 
 
Cliente 
PessoaFísica PessoaJurídica 
CPFouCNPJ 
Sexo 
Nome 
RazaoSocial DataNasc 
DataInaugura 
E 
S 
P 
E 
C 
I 
A 
L 
I 
Z 
A 
Ç 
à 
O 
 
 23 
- A generalização é simplesmente o inverso da especialização. 
 
- Existem dois tipos de generalização/especialização: Total (representada pela letra T) e Parcial (representada pela 
letra P): 
 
• Total: Toda ocorrência da entidade genérica corresponde a uma ocorrência de uma das entidades especializadas. 
 
• Parcial: Nem toda ocorrência da entidade genérica corresponde a uma entidade especializada. 
 
Exemplos: 
 
 
 
 
 
 
 
 
 
 
 
 
- No primeiro exemplo, todo Cliente é ou uma Pessoa Física ou uma Pessoa Jurídica. Não há outras opções além 
destas. 
 
- No segundo exemplo, uma Pessoa pode ser um Professor, um Aluno ou ainda um Funcionário da instituição de 
ensino. Os funcionários não estão representados como subentidades porque, neste caso, não haveria outros 
atributos (que fossem particulares de funcionários), além daqueles atributos comuns a todas as pessoas. 
 
- Não há limite para o número de níveis hierárquicos no processo de especialização/generalização. Temos um 
exemplo a seguir com três níveis. 
Exemplo: 
 
 
 
 
 
 
 
 
 
 
 
 
 
p 
Pessoa 
Professor Aluno 
t 
Cliente 
PessoaFísica PessoaJurídica 
ProfGraduacao ProfPos 
Pessoa 
Professor Aluno 
AlunoGraduacao AlunoPos 
 24 
Herança de Atributos e Relacionamentos 
 
- Os atributos das entidades de nível superior são herdados pelas entidades de nível inferior. 
 
- As entidades de nível inferior (ou subentidades) também herdam a participação em relacionamentos dos quais 
participam as entidades de nível superior (ou superentidades). 
 
Entidade Associativa 
 
- Um relacionamento é uma associação entre entidades. O Modelo ER original não comporta a possibilidade de se 
associar uma entidade com um relacionamento ou então de associar dois relacionamentos entre si. 
 
- No entanto, na prática, eventualmente surge esta necessidade. Vamos ilustrar isto com um exemplo. 
Exemplo: 
- Suponhamos que, em uma dada instituição de ensino, alunos que estejam tendo dificuldades em alguma disciplina 
tenham direito ao acompanhamento de um tutor nesta disciplina. 
- A função do tutor é acompanhar o desempenho do aluno na disciplina e auxiliá-lo nas suas dificuldades com a 
disciplina. 
- Representamos isso como segue: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Refletindo o aspecto temporal 
 
- A modelagem do banco de dados deve refletir o fato de que existem: 
 
 Atributos cujos valores sofrem modificações ao longo do tempo. 
Exemplo: 
 
 
 
 
 
 
 
 
 
CategoriaFunc 
salário 
CategoriaFunc 
 
Recebe Salário 
1 N 
data valor 
O banco de dados 
contém apenas o 
salário atual. 
O banco de dados 
contém o histórico dos 
salários. 
Aluno 
Tutor 
Disciplina 
Tutoria 
Matriculado Matriculado 
N N 
N 
1 
 25 Relacionamentos sofrem modificações ao longo do tempo. 
Exemplo: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Exercício sobre Classificação de Atributos 
Atividade envolvendo o cenário: Instituição de Ensino “Aprendendo a Aprender”. 
Considere a seguinte situação: 
A instituição de Ensino Técnico “Aprendendo a Aprender”, localizada na zona Norte de São Paulo, foi fundada em 
1970. 
Conta com aproximadamente 800 alunos, 10 professores e os cursos de Tecnologia da Informação e Magistério, 
que são oferecidos nos períodos manhã, tarde e noite. 
Conta também com 8 funcionários que dão suporte administrativo e financeiro à instituição. 
Inicialmente, a instituição controlava as suas informações manualmente por meio de fichas que continham o 
histórico dos alunos, os dados cadastrais de alunos, professores e funcionários, informações sobre os cursos, entre 
outras informações. 
Sabemos que os alunos são matriculados em um curso, que os cursos são compostos por disciplinas e que as 
disciplinas são ensinadas por professores. 
A seguir são apresentados alguns exemplos de relatórios com as informações que eram preenchidas: 
Aluno: 
Nome Curso Semestre Data de Nascimento RG Endereço completo 
Antonio Ubaldo 
da Silva 
Processamento de 
Dados 
1 15/08/1984 3789789 R. das Magnólias, 329 - Bela 
Vista – CEP:02460-044 
São Paulo – SP 
Ana Regina 
Domingues 
Magistério 4 07/02/1986 1234556 R. Madrigal, 875 - Pinheiros 
– CEP:42568-144 
São Paulo – SP 
 
Curso: 
Nome Duração (horas) Disciplinas Portaria de aprovação 
Processamento de Dados 2000 Cálculo numérico 
Português, 
Fundamentos de computação 
... 
578/70 
Magistério 1800 Português, 
Literatura, 
Pedagogia 
... 
579/70 
Funcionário 
Mesa 
Alocação 
1 
1 
Alocação 
Funcionário 
Mesa 
N 
N 
data 
O banco de dados 
contém apenas a 
alocação atual. 
O banco de dados 
contém o histórico das 
alocações. 
 26 
Disciplina: 
Nome Carga Horária Semestre Professor Turma Curso 
Cálculo 
Numérico 
80 2 Murilo Maciel 1 
2 
Processamento de Dados 
Pedagogia 80 4 Maria Luiza Passos 1 
2 
Magistério 
 
Professor: 
Nome Data de Nascimento RG Endereço completo 
Murilo Maciel 14/10/1970 17172545 R. das Acácias, 41 - Ibirapuera – CEP:12345-544 
São Paulo – SP 
Maria Luiza 
Passos 
27/04/1972 3216548 R. Arquimedes, 85 – Cerqueira Cesar – CEP:74125-632 
São Paulo – SP 
 
1. Para cada tabela classifique os atributos quanto a se são: 
simples ou compostos, multivalorados ou monovalorados, opcionais ou não, derivados ou não, chaves candidatas 
ou não. 
 
2. Para cada tabela, identifique um campo candidato à chave primária. Caso não haja nenhum, sugira o acréscimo 
de uma nova coluna à tabela, indicando o nome da coluna e o tipo de dado. 
 
 
Exercícios sobre Modelo Entidade Relacionamento – Parte 1 
 
1. Represente o modelo Entidade-Relacionamento correspondente aos seguintes enunciados. Coloque pelo menos 
três atributos em cada entidade, identificando um como chave-primária. Identifique as cardinalidades e restrições 
de participação: 
 
a) Atletas participam de competições. Em uma competição participam vários atletas. 
b) Em uma rede de hotelaria, os hotéis possuem quartos. Cada quarto pertence a apensa um hotel. 
c) Um país possui estados. Um estado pertence a apenas um país. Atenção: O Vaticano é um país que não 
possui estados. 
d) Todo soldado, que possui as características: Nome, Registro Militar (RM), data de nascimento, possui 
armas. Toda arma, que possui as características de série, registro e calibre, é de um soldado. Uma arma é 
limpa por vários soldados. Um soldado limpa várias armas. 
 
2. Represente os diagramas do exercício anterior usando a notação de Peter-Chen (cardinalidade máxima e 
mínima). 
 
Exercícios sobre Modelo Entidade Relacionamento – Parte 2 
 
1) Minerais 
Solicita-se o projeto de um banco de dados para armazenar informações sobre os países do mundo e suas 
reservas de minerais. 
Para cada mineral deve-se registrar o nome do mineral e o seu preço corrente em dólares, por grama. 
Para cada país, a informação a ser registrada inclui o nome do país, seu produto interno bruto (PIB) e, para cada 
mineral encontrado no país, a produção anual (em toneladas) e reserva estimada (em toneladas). 
Um país pode ter reservas de muitos minerais e cada mineral pode ser encontrado em muitos países. 
 
2) Colégio 
Um professor ministra várias disciplinas. 
 27 
Uma determinada disciplina só é ministrada por um único professor. Por exemplo, apenas um professor é 
responsável por ministrar Literatura. 
Cada disciplina é identificada por um código e possui um nome e uma carga horária. 
Um aluno pode estar matriculado em várias disciplinas. 
Sobre o aluno registra-se o nome, endereço (Rua, Número, Cidade, Estado e CEP) e telefone. Todo aluno 
tem um código que o identifica de forma única dentro do colégio. 
Sobre o professor registra-se o nome, endereço (Rua, Número, Cidade, Estado e CEP), telefone e titulação 
máxima. Todo professor também possui um código que o identifica de forma única dentro do colégio. 
Para cada disciplina em que o aluno está matriculado são armazenadas, ao final do período letivo a sua 
média final e a sua frequência na disciplina. 
 
3) Clínica 
Em uma clínica trabalham vários médicos. 
Um médico pode ter várias especialidades. 
Uma especialidade é identificada por um código e possui um nome que a descreve. Além disso, registra-se 
se se trata de uma especialidade reconhecida ou não pelo Conselho de Medicina. 
Sobre os médicos registra-se o seu Nome, CRM, CPF, RG, Endereço (Rua, Número, Cidade, Estado e CEP) 
e Telefone. 
Diariamente pacientes são atendidos na clínica por diferentes médicos. 
Para cada consulta armazena-se a data e o valor da consulta. 
Para todo paciente atendido na clínica é feito um cadastro aonde consta o seu nome e endereço. Além disso, 
cada novo paciente ganha um código de identificação dentro da clínica. 
 
4) Componentes eletrônicos 
Uma companhia que produz componentes eletrônicos deseja manter uma base de dados a respeito dos 
dispositivos que manufatura e dos componentes de que cada dispositivo necessita para ser manufaturado. 
Para cada componente, deve-se armazenar um número de identificação (único), um nome, descrição, o 
nome e o endereço do fornecedor. 
Cada componente possui apenas um fornecedor, mas um dado fornecedor pode fornecer muitos 
componentes diferentes. 
Para cada dispositivo, deseja-se registrar um número de identificação único e o seu nome, juntamente com o 
preço corrente do dispositivo e a quantidade em estoque. 
Deseja-se registrar também a quantidade de cada componente necessária para a manufatura de cada 
dispositivo. 
 
5) Aluguel de carros 
Uma firma de aluguel de carros deseja manter um banco de dados para registrar detalhes a respeito da sua 
frota de carros e vans e sobre os alugueis que são feitos. 
Para cada carro ou van os detalhes a serem registrados incluem: o número de registro (único), a marca, o 
modelo, número de portas, cor, potência do motor e a data de registro do veículo. 
Para cada van uma informação adicional é a sua carga máxima, em toneladas. 
Para cada carro, por sua vez, deseja-se armazenar adicionalmente o volume do porta-malas. 
A cada vez que um veículo é alugado, o nome, endereço, número de telefone e número da carteira de 
motorista do cliente devem ser registrados, juntamente com a identificação do veículo que está sendo alugado. 
A data e o horário do início e do final do período de aluguel também são registrados, bem como o número 
de quilômetros rodados pelo clientee o custo total do aluguel. 
 
6) Administradora de condomínios 
Construir um diagrama E-R para uma administradora de condomínios, considerando que: 
 Um condomínio é formado por diversas unidades habitacionais. 
 Cada unidade habitacional pertence a um proprietário, que pode possuir diversas unidades. 
 28 
 Cada unidade pode ser alugada. 
 Toda pessoa (proprietário ou locatário) possui um código, um nome e um endereço. Para o locatário, deseja-se 
armazenar o CPF do fiador. 
 Toda unidade possui um código que a identifica no condomínio e um endereço. Também deseja-se armazenar 
qual é a área construída. 
 Um condomínio é identificado por um código e endereço. 
 Entre os proprietários de um condomínio, um é síndico. 
 
7) Companhia aérea 
Suponha que você tenha sido contratado pela companhia aérea Tomara-Que-Chegue-Lá para projetar um 
banco de dados para administrar sua operação. 
Atualmente a companhia possui dois aviões B747, cujos números de série são N1001 e N1002, e um avião 
MD11, cujo número de série é N2001. 
O N1001 foi comprado em 1990, o N1002 em 1995, e o N2001 em 1985. 
A capacidade de cada B747 é de 200 passageiros e do MD11 é de 150 passageiros. 
Na empresa trabalham três pilotos: Comandante Ventolateral, Comandante Furacão e Comandante 
Kamikaze, nascidos, respectivamente, em 1960, 1965 e 1970. 
O Comandante Ventolateral pode voar B747s; o Comandante Furacão pode voar B747s e MD11s, e o 
Comandante Kamikaze pode voar MD11s. 
Três vôos estão programados diariamente: Vôo F001 com partida às 8:00 h e chegada às 10:00 h (usa 
N1001); vôo F002 com partida às 9:00 h e chegada às 15:00 h (usa N2001) e o vôo F003 com partida às 14:00 h e 
chegada às 17:00 h (usa N1001). 
As partidas são canceladas caso não haja nenhum passageiro a transportar. 
Os horários de partida e de chegada são os programados. 
O Comandante Ventolateral pilotou o vôo F001 em 15/01/03 e em 20/01/03. 
O Comandante Furacão comandou o vôo F002 em 20/01/03 e o vôo F003 em 25/01/03. 
Cada vôo envolve um piloto e um avião. 
Vôos diferentes podem envolver o mesmo piloto e o mesmo avião. 
O passageiro com código de cliente C001, que vive em São Paulo, viajou no vôo F001, em 15/01/03 e no 
vôo F003 em 25/01/03. 
O passageiro com código de cliente C002, que mora em Fortaleza, viajou no vôo F002, em 20/01/03. 
O passageiro com código de cliente C003, que vive em Belo Horizonte, viajou no vôo F003 em 25/01/03. 
O horário de partida do vôo F001 em 15/01/03 foi às 8:05 h e sua chegada se deu às 10:05 h. 
 
8) Representantes de venda – Versão 1 
Um banco de dados deve conter informações relativas a representantes de vendas, áreas de vendas e 
produtos. 
Cada representante é responsável pelas vendas em uma ou mais áreas; cada área tem um ou mais 
representantes responsáveis. 
De modo semelhante, cada representante é responsável pelas vendas de um ou mais produtos, e cada 
produto tem um ou mais representantes responsáveis. 
Cada produto é vendido em diversas áreas, porém dois representantes nunca vendem o mesmo produto na 
mesma área. 
Projete um DER para este banco de dados. 
 
9) Representantes de venda – Versão 2 
Um banco de dados deve conter informações relativas a representantes de vendas, áreas de vendas e 
produtos. 
Cada representante é responsável pelas vendas em uma ou mais áreas; cada área tem um ou mais 
representantes responsáveis. 
 29 
De modo semelhante, cada representante é responsável pelas vendas de um ou mais produtos, e cada 
produto tem um ou mais representantes responsáveis. 
Finalmente, cada produto é vendido em uma ou mais áreas, e cada área tem um ou mais produtos vendidos 
nela. 
Ainda mais, se o representante R é responsável pela área A, e o produto P é vendido na área A, e o 
representante R é responsável pelo produto P, então R vende P em A. 
Projete um DER para este banco de dados. 
 
10) Medicamentos prescritos 
Médicos (identificados por seu CRM) que trabalham em uma clínica diariamente atendem pacientes 
(identificados por seu CPF) e, para cada consulta, deseja-se armazenar a data e o valor da mesma. Isto é 
representado como segue: 
 
 
 
 
 
Deseja-se agora armazenar os medicamentos prescritos em uma consulta. Medicamentos são identificados 
pelo seu nome. Complete o diagrama acima. 
 
11) Museu 
Considere o contexto de um museu. 
Cada obra no museu possui um código, um título e um ano. Obras ou são pinturas ou são esculturas. No 
primeiro caso, são dados importantes o estilo (por exemplo, impressionista). No caso de esculturas, são importantes 
o peso e os materiais de que é feita (por exemplo, argila, madeira, etc). 
Uma obra pode estar exposta em um único salão, em uma determinada posição neste salão. Um salão, que 
geralmente abriga várias obras, é identificado por um número e está em um andar do museu. Certos dados a 
respeito dos autores de cada obra também são relevantes: código, nome e nacionalidade. 
Uma obra é produzida por apenas um autor, porém, pode existir mais de uma obra de um mesmo autor no 
museu. No museu trabalham restauradores, cada um possuindo um ID, CPF, nome e especialidade. 
Um restaurador pode estar realizando a manutenção de várias obras. Uma obra, caso esteja em manutenção, 
está nas mãos de apenas um restaurador. Para cada manutenção deve-se registrar a data de início e a data prevista 
de término do trabalho, uma descrição do serviço a ser feito e um custo previsto para realizar a manutenção. 
Uma manutenção pode estar utilizando uma ou mais matérias-primas. Uma matéria-prima possui um 
código, um nome e uma quantidade em estoque. Uma matéria-prima pode estar sendo utilizada em várias 
manutenções, em uma certa quantidade. 
 
Exercícios sobre Modelo Entidade Relacionamento – Relacionamentos Ternários 
 
1. 
 
 
 
 
 
 
 
Considere as situações ilustradas pelas seguintes tabelas e diga se estão de acordo com o DER a seguir. Justifique 
suas respostas. 
 
 
Dados os gerentes: 
 João Nunes Silva 
Paulo 
 Ana Cláudia 
 Elaine Dias 
 
dados os projetos: 
 “Desenvolvimento do produto A” 
 “Implantação da plataforma B” 
 “Aperfeiçoamento do método C” 
 
dados os engenheiros: 
 Leila 
 Karina 
 Luciano 
 Maurício 
 
 
Médico Paciente Consulta 
Valor Data 
 30 
 
 
 
 
 
 
 
 
 
 
 
 
a) b) 
Projeto Gerente Engenheiro 
“Desenvolvimento do produto A” João Pedro Leila 
“Implantação da plataforma B” João Pedro Luciano 
“Aperfeiçoamento do método C” Ana Cláudia Maurício 
“Desenvolvimento do produto A” Ana Cláudia Leila 
“Implantação da plataforma B” João Pedro Karina 
“Implantação da plataforma B” João Pedro Leila 
 
 
2. 
 
 
 
 
 
Considere as situações ilustradas pelas seguintes tabelas e diga se estão de acordo com o DER a seguir. Justifique 
suas respostas. 
 
 
 
 
 
 
 
 
 
 
 
 
 
a) b) 
Projeto Local Funcionário Projeto Local Funcionário 
“Desenvolvimento do produto A” Lab X Leila “Desenvolvimento do produto A” Lab X Leila 
“Implantação da plataforma B” Sala Y Luciano “Implantação da plataforma B” Sala Y Luciano 
“Aperfeiçoamento do método C” Lab X Maurício “Aperfeiçoamento do método C” Lab X Maurício 
“Desenvolvimento do produto A” Sala Y Leila “Desenvolvimento do produto A” Lab X Luciano 
“Implantação da plataforma B” Lab X Maurício “Aperfeiçoamento do método C” Sala Y Luciano 
“Implantação da plataforma B” Sala Y Maurício “Implantação da plataforma B” Sala Y Maurício 
 
Projeto Gerente Engenheiro 
“Desenvolvimento do produto A” Elaine Karina 
“Implantação da plataforma B” Elaine Maurício 
“Aperfeiçoamentodo método C” Ana Cláudia Luciano 
“Desenvolvimento do produto A” Ana Cláudia Maurício 
“Implantação da plataforma B” Elaine Leila 
“Implantação da plataforma B” Elaine Karina 
Dados os locais de trabalho: 
 Laboratório X 
 Sala Y 
 Complexo Z 
 
dados os projetos: 
 “Desenvolvimento do produto A” 
 “Implantação da plataforma B” 
 “Aperfeiçoamento do método C” 
 
dados os funcionários: 
 Leila 
 Karina 
 Luciano 
 Maurício 
 
 
Gerente 
Engenheiro Projeto 
Gerencia 
1 
N N 
Projeto 
Local Funcionário 
Designado
A 
1 
1 N 
 31 
3. 
 
 
 
 
 
 
Considere as situações ilustradas pelas seguintes tabelas e diga se estão de acordo com o DER a seguir. Justifique 
suas respostas. 
a) b) 
Livro Curso Professor 
“A Moreninha” Literatura I Marta 
“Crime do Padre Amaro” Literatura I Laércio 
“O Guarani” Lit. Portug. Laércio 
“Sítio do Pica-Pau Amarelo” Literatura II Miriam 
“Crime do Padre Amaro” Literatura II Marta 
“Sítio do Pica-Pau Amarelo” Lit. Portug. Marta 
 
 
 
 
 
 
 
 
 
 
 
 
 
Algumas questões de Concursos Públicos 
 
1) (FCC - 2008 - METRÔ-SP - Analista Treinee - Análise de Sistemas) A cardinalidade de um relacionamento 
ternário, em um modelo de dados, refere-se à quantidade de ocorrências de 
a) todas as três entidades somadas em conjunto. 
b) cada entidade, independentemente uma das outras. 
c) uma entidade em relação apenas com uma outra entidade. 
d) uma entidade em relação às outras duas entidades. 
e) de duas entidades somadas em relação à terceira entidade. 
 
2) (CESPE - 2011 - Correios - Analista de Correios - Analista de Sistemas – Produção) Com relação a banco de 
dados, julgue os itens a seguir. 
Os registros armazenados em banco de dados podem conter, ou não, campos com valores nulos. 
Certo Errado 
 
 
3) (Prova: FUMARC - 2011 - BDMG - Analista de Sistemas) 
Em relação aos conceitos do modelo Entidade- Relacionamento, observe o diagrama ER abaixo e analise as 
seguintes afirmativas: 
Livro Curso Professor 
“Crime do Padre Amaro” Literatura I Laércio 
“A Moreninha” Literatura II Miriam 
“O Guarani” Lit. Portug. Miriam 
“Sítio do Pica-Pau Amarelo” Literatura I Marta 
“Crime do Padre Amaro” Literatura II Laércio 
“Sítio do Pica-Pau Amarelo” Lit. Portug. Laércio 
Dados os professores: 
 Laércio 
 Marta 
 Miriam 
 
dados os cursos: 
 Literatura I 
 Literatura II 
 Literatura Portuguesa 
 
dados os livros: 
 “A Moreninha” 
 “O Guarani” 
 “Sítio do Pica-Pau Amarelo” 
 “Crime do Padre Amaro” 
 
 
Professor 
Livro Curso 
Usa 
1 
1 1 
 32 
 
I. O atributo Num_agencia do tipo de entidade AGENCIA é conhecido como chave primária. 
II. De acordo com as restrições de participação definidas, uma entidade de BANCO obrigatoriamente deve estar 
relacionada a pelo menos uma entidade de AGENCIA. 
III. AGENCIA é um tipo de entidade fraca e POSSUI é um relacionamento identificador, cuja razão de 
cardinalidade é 1:N. 
 
Marque a alternativa CORRETA: 
a) apenas as afirmativas I e II são verdadeiras. 
b) apenas as afirmativas I e III são verdadeiras. 
c) apenas as afirmativas II e III são verdadeiras. 
d) todas as afirmativas são verdadeiras. 
 
4) (Prova: FGV - 2009 - MEC - Analista de Sistemas – Especialista) O Modelo de dados é representado através de 
um modelo entidade-relacionamento - modelo ER, enquanto que o – diagrama entidade-relacionamento (DER) 
constitui a representação gráfica do modelo ER. No que diz respeito à simbologia utilizada, para 
globalização/especialização e entidade associativa são empregados, respectivamente, os seguintes símbolos: 
a) e 
b) e 
c) e 
d) e 
e) e 
 
5) (FUNIVERSA - 2010 - MPE-GO - Técnico de Informática) Quando se constrói um banco de dados, define-se o 
modelo de entidade e relacionamento (MER), que é a representação abstrata das estruturas de dados do banco e 
seus relacionamentos. Cada entidade pode se relacionar com uma ou mais entidades diferentes, resultando em 
mapeamentos, por exemplo: 1:1, 1:N, N:1 ou N:M. Esses mapeamentos, com base no número de entidades às quais 
outra entidade pode ser associada, denominam-se 
a) cardinalidade. 
b) hierarquia. 
 33 
c) relacionamento. 
d) diagrama. 
e) agregação. 
 
6) (VUNESP - 2009 - CETESB - Analista de TI - Administração de Dados) 
Considere o seguinte trecho de um diagrama entidade-relacionamento, relativo a um banco de dados relacional. 
 
No relacionamento R, a participação de E2 é chamada de 
a) fraca. 
b) total. 
c) parcial. 
d) adaptada. 
e) derivada. 
 
7) (VUNESP - 2009 - CETESB - Analista de Tecnologia da Informação - Banco de Dados) 
Considere o seguinte trecho de um diagrama entidade-relacionamento relativo a um banco de dados relacional: 
 
E1 e E2 representam, respectivamente, conjuntos de entidades 
a) constantes e variáveis. b) fortes e fracas. c) macros e micros. 
d) paralelas e ortogonais. e) temporárias e permanentes. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 34 
Parte 3 - Modelo de Dados Relacional 
 
- O modelo de dados relacional foi introduzido por E. F. Codd, da IBM, em 1970, através de um artigo 
publicado com o título “A Relational Model of Data for Large Shared Data Bases” (Communications of the 
ACM, 13, n
o
 6, 1970, 377-387). 
 
- A fundamentação matemática para o modelo proposto é a teoria dos conjuntos. 
 
Conceitos do Modelo Relacional 
 
- O modelo de dados relacional representa os dados como uma coleção de relações. 
 
- Uma tabela bidimensional é a estrutura de dados mais adequada para se representar o conceito abstrato de 
relação. 
 
- Quando uma relação é vista como uma tabela de valores, cada linha representa uma coleção de valores 
relacionados que podem ser interpretados como um fato que descreve uma instância de entidade ou uma 
instância de relacionamento. 
 
Exemplo: 
 
Estudante: Nome Código Telefone Endereço TelComercial CPF 
 Maria 1782 233-5678 R. X, 123 null 125811728-27 
 João 2345 432-8900 Av. H., 45 345-2356 225832729-57 
 José 5667 345-7867 Al. R, 56 null 322311728-29 
 Alfredo 2156 3456-9087 R. D, 67 321-7890 765817928-45 
 
 
- O nome da tabela e os nomes das colunas são usados para ajudar a interpretar o significado dos valores em 
cada linha da tabela. 
 
- Assim, no exemplo anterior a tabela se chama estudante porque cada linha representa uma particular 
entidade estudante. Os nomes das colunas: Nome, Código, Telefone, Endereço, TelComercial, CPF 
especificam como devem ser interpretados os valores de cada linha, conforme a coluna em que se 
encontram. 
 
- Na terminologia do modelo relacional: 
o Cada linha é chamada de tupla. 
o Cada coluna é chamada de atributo. 
o A tabela é chamada de relação. 
 
- O número de atributos de uma relação é chamado grau da relação. 
 
- Assim, uma relação de grau 1 é dita unária, uma de grau 2 é dita binária, de grau 3, ternária, de grau n n-
ária. 
 
- O tipo de dado que especifica o tipo dos valores que podem ocorrer para um atributo da relação é chamado 
de domínio. 
 
 
 
 35 
Exemplo: 
 
Conjunto de 
todos os 
possíveis 
nomes de pessoas 
Conjunto 
de todos 
os 
possíveis 
códigos 
de aluno 
Conjunto 
de todos os 
possíveis 
números de 
telefone 
Conjunto 
de todos os 
possíveis 
endereços 
Conjunto 
de todos os 
possíveis 
números de 
telefone 
Conjunto de todos 
os possíveis 
números de CPF 
 Domínios 
 
Nome Código TelefoneEndereço TelComercial CPF 
 
 
Maria 1782 233-5678 R. X, 123 null 125811728-27 
João Nunes Silva 2345 432-8900 Av. H., 45 345-2356 225832729-57 
José 5667 345-7867 Al. R, 56 null 322311728-29 
Alfredo 2156 3456-9087 R. D, 67 321-7890 765817928-45 
 
Atributos 
Grau = 6 
 
- Uma relação-esquema é denotada por R(A1, A2, A3, ..., An) aonde A1, A2, A3, ..., An são os nomes dos 
atributos e R o nome da relação. Uma relação esquema é utilizada para descrever uma relação. 
Exemplo: 
Estudante(Nome, Código, Endereço, Telefone, TelComercial, CPF) 
 
Atributos Chave de uma Relação 
 
- Uma relação é definida como um conjunto de tuplas. 
 
- Por definição, todos os elementos de um conjunto são distintos. Assim, todas as tuplas de uma relação 
também são distintas. 
 
- Isto significa que nenhuma tupla pode ter a mesma combinação de valores para todos os seus atributos. 
 
- Uma super-chave de uma relação é um subconjunto de atributos de uma relação com a propriedade de 
que não existam duas tuplas que tenham a mesma combinação de valores para esses atributos. 
 
- Toda relação tem ao menos uma super-chave que é o conjunto de todos os seus atributos. 
 
- Uma chave de uma relação R é uma super-chave de R com a propriedade adicional de não se poder 
remover qualquer atributo da mesma, sem que ela deixe de ser super-chave de R. 
 
- Assim, uma chave é uma super-chave mínima. 
 
Exemplo: 
- Considerando a relação-esquema: 
Estudante(Nome, Código, Endereço, Telefone, TelComercial, CPF) 
 
- O conjunto de atributos {CPF} é uma super-chave de Estudante, porque sabe-se que nenhum estudante irá 
ter o mesmo valor para CPF de outro estudante. 
- O conjunto de atributos {CPF} é também uma chave, pois não se pode remover nenhum atributo do 
conjunto. 
Tuplas 
 36 
- Qualquer conjunto de atributos que inclua CPF, como por exemplo {Nome, Endereço, CPF} também será 
uma super-chave. 
- No entanto, {Nome, Endereço, CPF} não é uma chave porque removendo Nome ou Endereço, o conjunto 
resultante ainda será uma super-chave. 
 
- O valor de um atributo-chave pode ser usado para identificar unicamente uma tupla em uma relação. Assim, 
o valor 225832729-57 identifica unicamente a tupla correspondente à ‘João Nunes Silva’ na relação 
Estudante. 
- Por outro lado, o atributo Nome na relação Estudante não pode ser tomado como uma chave, pois nada 
garante que não existam homônimos. 
 
- Em geral, uma relação-esquema pode ter mais de uma chave. Nestes casos, cada chave é chamada de 
chave-candidata. Por exemplo, na relação-esquema Estudante tanto CPF como Código (número de 
identificação do Estudante na Escola) seriam duas chaves-candidatas. 
 
- Qualquer uma das chaves-candidatas pode ser escolhida como chave-primária da relação. 
 
- Embora a escolha da chave-primária seja arbitrária, é sempre melhor escolher uma chave-primária com o 
menor número de atributos. 
 
Propriedades de Tabelas 
1. Não existem tuplas duplicadas: 
- Um corolário importante deste fato é que há sempre uma chave-primária: como tuplas são únicas, pelo 
menos a combinação de todos os atributos da relação tem a propriedade de unicidade. 
 
2. Não há ordem entre os atributos: 
- O rearranjo de colunas não tem nenhum efeito sobre a significação dos dados em uma tabela relacional. 
 
Nome Código Telefone Endereço TelComercial CPF 
Maria 1782 233-5678 R. X, 123 null 125811728-27 
João 2345 432-8900 Av. H., 45 345-2356 225832729-57 
José 5667 345-7867 Al. R, 56 null 322311728-29 
Alfredo 2156 3456-9087 R. D, 67 321-7890 765817928-45 
 
é idêntica a : 
Código Nome CPF TelComercial Telefone Endereço 
1782 Maria 125811728-27 Null 233-5678 R. X, 123 
2345 João 225832729-57 345-2356 432-8900 Av. H., 45 
5667 José 322311728-29 Null 345-7867 Al. R, 56 
2156 Alfredo 765817928-45 321-7890 3456-9087 R. D, 67 
 
3. Não há ordem entre tuplas: 
- Um rearranjo da posição das tuplas em uma tabela relacional não altera a significação dos dados. 
- Trata-se de uma conseqüência do fato de que uma relação é um conjunto matemático e conjuntos não são 
ordenados. 
Nome Código Telefone Endereço TelComercial CPF 
Maria 1782 233-5678 R. X, 123 null 125811728-27 
João 2345 432-8900 Av. H., 45 345-2356 225832729-57 
José 5667 345-7867 Al. R, 56 null 322311728-29 
Alfredo 2156 3456-9087 R. D, 67 321-7890 765817928-45 
 37 
é idêntica a: 
Nome Código Telefone Endereço TelComercial CPF 
João 2345 432-8900 Av. H., 45 345-2356 225832729-57 
Maria 1782 233-5678 R. X, 123 null 125811728-27 
Alfredo 2156 3456-9087 R. D, 67 321-7890 765817928-45 
José 5667 345-7867 Al. R, 56 null 322311728-29 
 
4. Todos os valores dos atributos são atômicos: 
- Cada célula (posição linha-coluna) de uma tabela relacional pode conter apenas um valor de dado. 
 
 
Nome Código Telefone Endereço TelComercial CPF 
Maria 1782 233-5678 R. X, 123 null 125811728-27 
342-7634 
467-9056 
João 2345 432-8900 Av. H., 45 345-2356 225832729-57 
José 5667 345-7867 Al. R, 56 null 322311728-29 
Alfredo 2156 3456-9087 R. D, 67 321-7890 765817928-45 
 
- Implica em dizer que todas as relações no modelo relacional têm que estar na sua primeira foma normal. 
 
Mapeamento do Modelo Entidade-Relacionamento para o Modelo de Dados Relacional 
 
- O passo seguinte à modelagem dos dados usando o Modelo Entidade-Relacionamento é o mapeamento do 
Diagrama Entidade-Relacionamento para um modelo de dados de implementação. No caso, estaremos 
tratando do Modelo de Dados Relacional. 
 
- As recomendações de mapeamento baseiam-se na análise da cardinalidade dos relacionamentos. Com base 
nesta análise, algumas alternativas de mapeamento podem ser adotadas: 
1. Entidades relacionadas podem ser fundidas em uma única tabela. 
2. Tabelas podem ser criadas para o relacionamento. 
3. Chaves estrangeiras podem ser criadas em tabelas a fim de representar adequadamente o relacionamento. 
 
- Vamos descrever todos os passos necessários para mapear o Diagrama Entidade-Relacionamento de 
Companhia para o Modelo de Dados Relacional. 
 
PASSO 1: 
- Identificar no DER todas as entidades regulares (não fracas e não subtipos). 
- Para cada entidade regular E criar uma relação-esquema R que inclua todos os atributos simples de E e 
decidir aqui se serão armazenados ou não, separadamente, os componentes simples dos atributos 
compostos. Não considerar aqui os atributos derivados, nem os atributos multivalorados, que serão tratados 
em um passo subsequente. 
- Escolher um dos atributos chave de E como sendo a chave-primária de R. 
- As chaves-primárias das relações devem aparecer grifadas. 
 
- No banco de dados Companhia identificamos as entidades regulares: Funcionário, 
Departamento e Projeto. 
- As relações-esquema correspondentes seriam: 
Funcionario(CPF, NSS, Nome, DataNasc, Endereço, Sexo, Salario) 
Departamento(DNome, DNumero, DLocalizacao) 
Projeto(PNome, PNumero, PLocalizacao) 
 38 
- Foram escolhidas as chaves-primárias CPF para Funcionário, DNumero para Departamento e PNumero 
para Projeto. 
 
- Os atributos decorrentes de relacionamentos serão adicionados em passos subsequentes. 
 
PASSO 2: 
- Identificar no DER todas as entidades fracas. 
- Para cada entidade fraca do DER criar uma relação-esquema R e incluir nela todos os atributos simples e 
os componentes simples dos atributos compostos (tomar decisão se vai armazenar separadamente os 
componentes) da entidade. Não considerar aqui os atributos derivados, nem os atributos multivalorados, 
que serão tratados em um passo subsequente. 
- Incluir na relação R a chave-primária da relação que corresponde à entidade proprietária da 
identificação. 
- A chave-primária de R fica sendo formada pelacombinação da chave-primária da entidade proprietária da 
identificação com a chave parcial da entidade fraca. Trata-se assim de uma chave-primária composta. 
 
- No banco de dados Companhia identificamos a entidade fraca Dependente. A 
relação-esquema correspondente fica: 
 
Dependente(CPFFunc, NomeDependente, Sexo, DataNasc, Relacao) 
 
- CPFFunc é chamado, na relação Dependente, de chave-estrangeira, visto que tem 
o mesmo domínio da chave-primária CPF da relação Funcionário. 
 
Atenção: 
Neste segundo passo, surge pela primeira vez, o conceito de chave-estrangeira. 
Quando se inclui na relação R um atributo que referencia a chave-primária da relação que corresponde à 
entidade proprietária da identificação, tem-se aí uma chave estrangeira. 
Uma chave estrangeira é uma coluna ou uma combinação de colunas, cujos valores aparecem necessariamente 
na chave primária de uma outra (ou da mesma) tabela. 
A chave estrangeira é o mecanismo que permite a implementação de relacionamentos em um banco de dados 
relacional. 
A presença de uma chave estrangeira sempre denuncia a existência de um relacionamento entre a tabela onde 
ela é inserida e a tabela cuja chave-primária ela referencia. 
 
A integridade referencial é um conceito intimamente associado ao de chave-estrangeira. Trata-se de uma 
restrição que define que os valores dos campos que aparecem em uma chave estrangeira devem constar 
necessariamente na coluna que é a chave primária da tabela referenciada. 
 
PASSO 3: 
- Identificar no DER todos os relacionamentos binários 1:1. 
- Para cada relacionamento binário 1:1 do DER, escolher uma das relações que participam do 
relacionamento (aquela que possua participação total no relacionamento) e incluir nela como chave-
estrangeira, a chave primária da outra relação participante. 
- Incluir nesta relação, além disso, todos os atributos simples e os componentes simples de atributos 
compostos que estão associados ao relacionamento. 
 
- No banco de dados Companhia identificamos o relacionamento 1:1 Gerencia entre 
as entidades Funcionario e Departamento. 
- Como a participação de Departamento no relacionamento é total (pois todo 
departamento tem um gerente), inclui-se na relação-esquema Departamento como 
 39 
chave-estrangeira, a chave-primária da relação-esquema Funcionario. Na relação 
Departamento este atributo recebe o nome de CPFGer. 
- Além disso, inclui-se também na relação Departamento o atributo simples 
DataInicio, renomeando-o para DataInicGer. 
 
Departamento(DNome, DNumero, DLocalizacao, CPFGer, DataInicGer) 
 
- Uma outra alternativa para o mapeamento de um relacionamento 1:1 seria unir as duas entidades e o 
relacionamento em uma única relação. Isto é particularmente apropriado quando ambas as entidades 
possuem participação total e quando as entidades não participam em quaisquer outros relacionamentos. 
Vejamos exemplo a seguir: 
 
 
 
 
 
 
 
 
Conferencia(Sigla, Nome, DataIniOrg, CodComissao, EMailComissao) 
- Por outro lado, quando ambas as entidades possuem participação parcial e participam em outros 
relacionamentos, deve-se criar uma relação à parte para representar o relacionamento. Nesta relação-
esquema devem ser inclusas as chaves primárias de cada uma das relações que representam as entidades 
participantes, bem como quaisquer atributos simples e componentes simples dos atributos compostos 
associados ao relacionamento. A chave primária desta nova relação poderá ser a chave de qualquer uma 
das relações que representam as entidades participantes. Vejamos um exemplo: 
 
 
 
 
 
 
 
Homem(CPF, Nome) 
Mulher(CPF, Nome) 
Casamento(CPFH, CPFM, Data) 
 
PASSO 4: 
- Identificar no DER todos os relacionamentos binários 1:N. 
- Para cada relacionamento 1:N, identificar a entidade que participa do lado N no relacionamento. 
- Se a participação desta entidade no relacionamento for total, incluir na relação-esquema que representa 
esta entidade, como chave-estrangeira, a chave-primária da entidade que participa do lado 1 no 
relacionamento. 
- Incluir também nesta relação quaisquer atributos simples e os componentes simples de atributos compostos 
que estejam associados ao relacionamento. 
 
- No banco de dados Companhia, temos o relacionamento Trabalha-Para entre 
Funcionário e Departamento. 
 
- Neste relacionamento, cada funcionário está relacionado a apenas um 
Departamento e a participação de Funcionario no relacionamento é total. Sendo 
assim, incluímos na relação-esquema Funcionario como chave-estrangeira, a 
chave-primária de Departamento, com o nome NDepto. 
Conferência ComissaoOrganizadora Organização 1 1 
Sigla Nome Codigo E-Mail DataInic 
Homem Mulher Casamento 1 1 
CPF Nome CPF Nome Data 
 40 
- O relacionamento Trabalha-Para não possui nenhum atributo a si associado. 
 
Funcionario(CPF, NSS, Nome, DataNasc, Endereco, Sexo, Salario, NDpto) 
 
- No banco de dados Companhia, temos ainda o relacionamento Supervisiona do qual 
participa a entidade Funcionário ora no papel de supervisor, ora no papel de 
supervisionado. 
- Inclui-se, então, na relação-esquema Funcionario como chave estrangeira, a 
chave-primária de Funcionario, com o nome de CPFSuper. 
 
Funcionario(CPF, NSS, Nome, DataNasc, Endereco, Sexo, Salario, NDpto, CPFSuper) 
- Temos ainda o relacionamento Controla entre Departamento e Projeto. Neste 
relacionamento, cada Projeto está relacionado a apenas um Departamento. Desta 
forma, incluímos na relação-esquema Projeto como chave-estrangeira, a chave-
primária de Departamento, com o nome de NDpto. 
- O relacionamento Controla não possui nenhum atributo a si associado. 
 
Projeto(PNome, PNumero, PLocalizacao, NDpto) 
 
- Por outro lado, se a entidade que participa do lado N do relacionamento tiver participação parcial, então o 
relacionamento deve ser representado por uma relação-esquema à parte, contendo as chaves primárias das 
relações que representam ambas as entidades participantes, bem como quaisquer atributos simples e os 
componentes simples de atributos compostos que estejam associados ao relacionamento. A chave primária desta 
nova relação será a chave primária da relação que representa a entidade que participa do lado N do 
relacionamento. Vejamos exemplo a seguir: 
 
 
 
 
 
 
 
Cliente(CPF, Nome) 
Automovel(Chassi, Modelo, Ano) 
Posse(Chassi,CPF, DataCompra) 
 
 
PASSO 5: 
- Identificar no DER todos os relacionamentos binários N:N. 
- Para cada relacionamento binário N:N, criar uma relação-esquema para representar o relacionamento. 
- Incluir como chaves estrangeiras nesta relação as chaves primárias das duas entidades participantes do 
relacionamento. A combinação destas formará a chave-primária da relação que representa o 
relacionamento. 
- Incluir na relação também quaisquer atributos simples e os componentes simples dos atributos 
compostos que estejam associados ao relacionamento. 
 
- No banco de dados Companhia identificamos o relacionamento Trabalha-Em entre 
Funcionario e Projeto. 
- Criamos então, a relação TrabalhaEm, aonde são incluídas a chave primária de 
Funcionario, com o nome CPFFunc e a chave primária de Projeto com o nome 
ProjNum. 
- Também incluímos o atributo Horas, pertencente ao relacionamento TrabalhaEm. 
TrabalhaEm(CPFFunc, ProjNum, Horas) 
Automovel Cliente Posse 
N 1 
Chassi Modelo CPF Nome DataCompra 
Ano 
 41 
 
- Note-se que a chave-primária da relação TrabalhaEm é a combinação das chaves-
estrangeiras CPFFunc e ProjNum. 
 
PASSO 6: 
- Identificar no DER os atributos multivalorados com as respectivas entidades (ou relacionamentos) a que 
pertencem. 
- Para cada atributo multivalorado, criar uma nova

Continue navegando