Buscar

Modelagem de Informação - Aulas 1 a 23

Prévia do material em texto

1
Conteúdo:
Modelagem de Informação
Professores:
Geraldo Xexéo
Geraldo Zimbrão
Aula 001
2
Modelagem da Informação
O que é?
Quem faz?
Quando é feita?
Como é feita?
Por que é feita?
3
O que é um Modelo?
Uma representação abstrata e simplificada um sistema observado
Permite explicar, testar, analisar, resolver problemas
no sistema real
Nós veremos como o uso de abstrações nos permite construir
um modelo adequado
4
Sistemas
Usamos a palavra sistema de muitas formas
Sistemas no mundo real
Sistemas de informática
Composições de objetos, ações, pessoas, etc...
Sistemas de computador
Programas de computador
Sistemas de informação
5
Exemplo de Modelos
F = m × a
É um modelo matemático para relacionar grandezas físicas
Composições de objetos, ações, pessoas, etc...
É um modelo de uma célula 
6
O que é um Modelo de Informação?
É uma representação abstrata da informação em um sistema 
Mas sistemas de computação também são bastante abstratos
7
Exemplo de Modelo de Informação
8
Exemplo de Modelo de Informação
9
Exemplo de Modelo de Informação
(1,1)
Diretor
Capítulo
Ator
Pode ser
Atua
Compõe
Dirige
Novela
HorasTrabalhaAtor horista
(0,1)
(1,1)
(0,1)
(0,1)
(1,1)
(0,n)
(1,1)
(1,n)
(1,n)
10
Quem faz um modelo de informação?
Analista de Sistemas
Analista de Informações
Desenvolvedor
11
Modelagem de Informação: Por que é feita?
Facilita a comunicação
Desenvolve a compreensão 
Descreve diferentes perspectivas
Define, especificando e limitando, a informação a ser tratada
pelo sistema
Permite a verificação e validação
12
Verificar x Validar
Verificar:
Validar
Confirmar a correção de um modelo em relação a outro
modelo ou a si mesmo
Confirmar a correção de um modelo em relação ao
mundo real
13
Modelagem de Informação: Quando é feita?
A partir do início da análise
Progressivamente mais detalhada até a programação
Alterada quando necessário
14
Modelagem de Informação: Como é feita?
Existem vários métodos
Orientado a Objeto - UML
Entidades e Relacionamentos
Relacional
15
Técnica Geral
Entendimento dos conceitos
Identificar
Conceituar
Entender
Assimilar
Observação dos objetos
Representação dos objetos
Verificação da fidelidade e coerência
Validação do Modelo
16
Níveis de Abstração
Lógico
Físico
Conceitual
17
Modelo Conceitual
Independente da tecnologia
Não está sujeito às suas limitações
Modelo ER
Modelo OO
Representa o ambiente observado
Ideal para entendimento e conversação
Estável a longo prazo
Tipicamente: 
18
Modelo Lógico
Modelo Relacional
Modelo OO
Adota uma tecnologia
Não adota um produto, dispositivo específico ou meio
de armazenamento
Tipicamente:
19
Modelo Físico
Tecnologia
Produtos
Exige o conhecimento físico das estruturas de dados
Representa os dados na aplicação
Totalmente dependente da solução adotada
Modelo Relacional de um SGDB
Modelo OO + Relacional
Tipicamente:
20
O que veremos no curso?
Métodos diferentes de descrever o modelo de informação
Algumas formas de usar esses métodos
1
Conteúdo:
Abstração
O que é uma abstração
Formas principais de abstrações
Formas adicionais de abstração
Aula 002
Professores:
Geraldo Xexéo
Geraldo Zimbrão
2
Sumário
O que é uma abstração
Formas principais de abstrações
Classificação
Composição
Formas adicionais de abstração
Generalização
Identificação
Escolha do Caso Normal
3
O que é uma abstração
Parte I
4
Abstração
Abstração é o processo mental de separar um ou mais
elementos de uma totalidade complexa de forma a facilitar a
sua compreensão
Menos Detalhes
Seleção de Detalhes Específicos
Algo pode ser considerado abstrato se não existe em nenhum
lugar particular no tempo e espaço
O que existe são suas instâncias (membros da abstração)
5
Abstração: Mulher
Nada abstrato
6
Abstração: Mulher
Pouco abstrato
7
Abstração: Mulher
Bastante abstrato
8
Abstração: Mulher
Muito abstrato
9
Abstração: Mulher
Super abstrato
10
Abstração: Célula
11
Abstração: Célula
12
Abstração: explicando (I)
Uma abstração é:
Uma idéia
Um conceito
Uma abstração não existe no mundo real
Mas pode ser representada de alguma forma
13
Estratégia
Simplificação de Detalhe
Os detalhes são deixados
Vagos
Indefinidos
Ambíguos
14
Abstração: diferentes formas
O mesmo objeto pode ser abstraído de formas diferentes
As abstrações formam modelos
Mais tarde estudaremos detalhadamente um modelo
15
Diferentes Abstrações
16
Diferentes Abstrações (1)
17
Diferentes Abstrações (2)
18
Diferentes Abstrações (3)
19
Diferentes Abstrações (4)
20
Resumo: Abstração
Abstração:
Eliminar detalhes que aumentam a complexidade inutilmente
Utilizar detalhes que facilitam a compreensão
Escolher a forma mais interessante
21
Tipos Básicos de Abstração
Parte II
22
Tipos Básicos de Abstração
Classificação
Agregação
23
Classificação
É membro de...
É do tipo ...
Parte da individualidade do objeto ou sistema analisado é eliminada
Consideramos o objeto como um exemplar de uma "classe padrão"
Aceitamos que esse objeto, agora uma instância da classe,
divide com todas as outras instâncias da classe um conjunto
de características.
24
Classificação: Explicação
Na classificação o que estamos fazendo é imaginar uma idéia
única que descreve, de forma abstrata, todos os objetos de
uma classe.
Ao eliminar a necessidade de tratar cada objeto de forma única,
simplificamos o problema em questão.
25
Classificação: Exemplo
Times de Futebol
Países
Fluminense, Vasco, Botafogo, América, São Paulo,
Internacional
Brasil, Argentina, França, Estados Unidos
26
Classificação: Exemplo
Cachorro
Raça
Cor
Pedigree
27
Classificação: Instanciação
Processo reverso da Classificação
Escolhe um elemento da classe
Individualização
Também poderia ser chamada de:
28
Instanciação: Exemplo
Classe
Estudante de
graduação
Instância
José Maria
Classificação
Instanciação
29
Agregação ou Composição
É feito de
É composto de
É como vemos uma bicicleta ou um carro. Ao eliminar a
necessidade de descrever as partes, simplificamos a
compreensão do objeto analisado.
Na composição entendemos um objeto complexo formado de
um conjunto de outros objetos como um só objeto.
30
Composição: Exemplo (I)
Carro
Pneu
Motor
Assentos
31
Composição: Decomposição
32
Mais Abstrações
Generalização
Identificação
Escolha do Caso Normal
33
Generalização (é um, é como)
Com a generalização nós somos capazes de entender como
uma classe pode ser descrita por outra classe, mais geral.
O processo reverso da generalização é a especialização.
34
Generalização: Exemplos
Pessoa
Funcionário, Aluno,Professor
Meio de Transporte
Automóvel, Avião, Navio
Aparelhos Eletrônicos
Computador, Rádio, Televisão
35
Exemplo Longo
Meios de Transporte
Meios de Transporte Terrestres
Meios de Transporte Terrestres Públicos
Trem, Metrô, Bonde
Meios de Transporte Terrestres Públicos em Vias Férreas
36
Generalização x Classificação
Classificação:
Classes são outras classes mais bem detalhadas
(especificadas)
Generalização
Objetos formam classes
37
Generalização: Efeito nos Objetos
Com a generalização podemos compreender uma relação
muito comum entre classes, que é a que permite que qualquer
objeto de uma classe possa ser visto, de uma forma mais geral,
como um objeto de outra classe.
Utilizando judiciosamente a generalização podemos simplificar
a forma de tratar objetos de classes similares.
38
Identificação
Com a identificação nós somos capazes de entender como
caracterizar unicamente um objeto.
Ao identificar unicamente um objeto podemos separá-lo de
outro objeto semelhante e atribuir a entidades específicas
atributos e características que só pertencem a ela, e não
pertencem a outros elementos daquela classe.
Um nome identifica uma pessoa
39
Instância x Identidade
Há uma diferença entre instanciar e identificar. 
A identificaçãopermite a que duas instâncias sejam reconhecidas
como distintas ou como representações de um mesmo objeto
(normalmente devendo ser reunidas em uma).
Uma instância deve possuir uma identificação e uma identificação
se aplica a uma instância.
40
Escolha do Caso Normal
O mundo é muito complicado
Começamos sempre pelo modo mais fácil
Muitas coisas são feitas normalmente, ou idealmente, de um
modo fácil, porém permitem muitas exceções e tratamentos
especiais
"Cenário Feliz"
41
Escolha do Caso Normal
Exemplo
Normalmente, precisamos apenas do nome da pessoa
para identificá-la
Porém...
Existem pessoas com nome igual, logo vamos usar o CPF
Porém....
Existem pessoas sem CPF, então vamos usar o nome próprio,
o nome do pai, o nome da mãe e mais um CPF identificador,
dela ou dos pais.
Porém, assim já fica complicado demais...
É melhor gerar um número de matrícula...
42
Conclusão
Abstrações permitem que os problemas e soluções sejam
tratados de maneira adequada
Abstrações eliminam detalhes indesejados
Abstrações reforçam detalhes importantes
43
Conclusão
Abstrações Básicas
Abstrações Mais Avançadas
Classificação / Instanciação
Composição / Decomposição
Generalização / Especialização
Identificação
Escolha do Caso Normal
1
Conteúdo:
5W2H
Professores:
Geraldo Xexéo
Geraldo Zimbrão
Aula 003
3
O que é?
5W2H é o acrônimo em inglês para as palavras
What
When
Who
Where
Why
How
How Much
"Os Sete Bons Amigos"
4
Traduzindo
What?
Who?
When?
Where?
Why?
How?
How Much?
O quê?
Quem?
Quando?
Onde?
Por que?
Como?
Quanto Custa?
5
A Técnica 5W2H
Ao tentar resolver uma situação, responda a todas essas questões
Cada resposta deve ser clara ou
Não ser necessária, por não fazer sentido no contexto
Precisa ser melhor esclarecida
6
Exemplo de Uso:
Em uma reunião de projeto, cada item deverá ser
resolvido definindo
Quem é responsável
Quando deve ser feito/entregue?
Onde deve ser feito/entregue?
Por que deve ser feito?
Como vai ser feito?
Por quanto será feito?
O que deve ser feito
7
Em um Modelo Qualquer
O que é essa parte?
Como explicá-la
Quem apresentou, solicitou ou necessita dessa parte?
Por que essa parte está presente? O que ela significa?
Onde essa parte vai ser usada?
Como essa parte vai ser usada?
Quanto custará usar essa parte?
Quando essa parte vai ser usada?
8
Ao definir uma entidade 
Perguntas 5W2H
Que outras perguntas você pode imaginar?
O que ela é?
Quando deve ser utilizada?
Quem é o responsável por ela?
Em que parte do sistema será utilizada?
Por que ela é necessária?
Como ela é? (como será implementada, quais seus atributos?)
Quanto espaço ela ocupará (fator de custo)?
Quem pediu, quem indicou, quem usa?
9
Por que isso é útil?
Essas perguntas são abertas, não exigem apenas uma
resposta sim ou não, mas sim que pensemos sobre elas
Vamos usá-las para verificar nossos modelos
Elas cobrem grande parte das preocupações que temos ao
desenvolver um modelo
1
Conteúdo:
Modelo de Entidades
e Relacionamentos
Professores:
Geraldo Xexéo
Geraldo Zimbrão
Aula 004
2
Modelo de Entidades e
Relacionamentos
Um modelo gráfico que descreve o mundo como "...cheio de
coisas que possuem características próprias e que se relacionam
entre si"
Diagrama de Entidades e Relacionamentos
3
Conhecendo o Modelo (1)
(1,1)
Diretor
Capítulo
Ator
Pode ser
Atua
Compõe
Dirige
Novela
HorasTrabalhaAtor horista
(0,1)
(1,1)
(0,1)
(0,1)
(1,1)
(0,n)
(1,1)
(1,n)
(1,n)
4
Conhecendo o Modelo (2)
5
Muitos Diagramas?
Vários autores e empresas lançaram formas diferentes de
descrever o modelo de entidades e relacionamentos
Alguns se consideram modelos diferentes, mas todos seguem
os mesmos princípios
6
Modelo de Chen (o original)
Entidades:
retângulo
Relacionamentos:
losangos
Atributos:
Círculos
7
Modelos Engenharia da Informação (Erwin)
Entidades: Retângulos
Atributos: Listados no retângulo
Relacionamentos: Apenas as linhas, com símbolos que lembram
pés de galinha
8
Modelo IDEF1X (Erwin)
Entidades: Retângulos
Atributos: Listados no retângulo
Relacionamentos: Apenas as linhas, com bolas nas pontas
9
Esses Modelos Não São
Totalmente Iguais
Na prática, cada modelo apresenta algumas sutis diferenças,
que podem ajudar ou atrapalhar em alguns momentos
Os modelos mais modernos são mais apropriados ao desenho
em ferramentas CASE
10
Qual notação adotaremos
Nós adotaremos a notação da Engenharia da Informação
Nós veremos alguns casos específicos em outras notações
Os pés de galinha
Para ampliar nossos horizontes
11
Voltemos ao Início
Um modelo que descreve o mundo como "...cheio de coisas
que possuem características próprias e que se relacionam
entre si"
Coisas = Entidades
12
O que são as coisas?
Conceitos
Pessoas
Objetos
Eventos
Coisas Abstratas
Etc...
O que precisarmos para modelar a informação em um sistema
13
Exigência
Cada "coisa" modelada deve poder ser identificada unicamente
Ou seja, devemos ser capazes de identificar as instâncias
14
Entidades
Uma entidade é uma pessoa, objeto, local, animal, acontecimento,
organização ou outra idéia abstrata sobre a qual o sistema deve
se lembrar alguma coisa.
Uma entidade é uma classe de objetos
Abstração de Classificação
Uma entidade é um conjunto não vazio de objetos
A entidade deve ser de interesse para o sistema sendo modelado
15
Entidades
Cada instância de uma determinada entidade tem características
similares (mas não iguais), o mesmo comportamento e uma
identidade própria.
Entidades não possuem valor
Entidades possuem características, e estas possuem valores
Se você pode dar um valor a uma entidade, algo está errado
em seu modelo
16
Exemplo de Entidades
Locadora de Vídeo
Filme
Na Escola Primária
A locadora pode ter várias fitas de um mesmo filme
Fita
Cliente
Empréstimo
Aluno
Turma
Professor
17
Diagramando as Entidades
Normalmente as entidades são modeladas como retângulos
Nome da entidade
18
Diagrama Inicial para a Escola
19
Características das Entidades
Um modelo que descreve o mundo como
"...cheio de coisas que possuem características próprias
e que se relacionam entre si"
"...Entidades que possuem características próprias e que
se relacionam entre si"
Características = Atributos
20
Atributos
Características que toda instância possui, mas que variam
de valor entre uma instância e outra
Algumas características podem ser opcionais
Algumas podem variar mais do que outras
Atributos possuem valor
21
Exemplo de Atributos
Pessoa
Nome
Filme
CPF
Data de Nascimento
Nome
Diretor
Data de Lançamento
Estúdio
Ator Principal
Atriz Principal
22
Que atributos escolher para
uma Entidade?
Aqueles que são necessários e suficientes
Lembrar das principais características das nossas abstrações
Eliminar detalhes que não são importantes
Reforçar os detalhes importantes
23
Exemplo de Atributos
Filme (atributos possíveis)
Nome
Filme (atributos escolhidos)
Diretor
Data de Lançamento
Ator Principal
Atriz Principal
Diretor de Som
Cameraman
Empresa de divulgação
Cozinheiro
...
Estúdio
Nome
Diretor
Estúdio
Ator Principal
Atriz Principal
Data de Lançamento
24
Domínio
Um atributo deve possuir um valor
O valor deve ser de um domínio
O domínio é o conjunto de valores possíveis para os atributos
Conhecido também como Tipo
25
Domínios Gerais
Números
Strings
Data/Hora
Lógicos (Sim ou Não, Verdadeiro ou Falso)
Reais
Inteiros
Moeda (reais, dólares)
26
Domínios Específicos
Listas de Valores
Valores com Regras
Cores
Salas de um prédio
CPF
CNPJ
27
Notação para Atributos
Nossos atributos serão
listados em nossas
entidades
Precisamos modificar
um pouco nosso
desenho original
28
Notação para Atributos
Nome da Entidade
Atributo Identificador
Veremos isso logo
Atributos "Comuns"
29
Notação para Atributos
Nome da Entidade
Atributo Identificador
Veremos isso logo
Atributos "Comuns"
30
Notação paraAtributos
Nome da Entidade
Atributo Identificador
Veremos isso logo
Atributos "Comuns"
31
Notação para Atributos
Podemos também listar
os domínios de cada
atributo
32
Notação Chen Para Atributos
33
As Entidades se Relacionam...
Um modelo que descreve o mundo como
"...cheio de coisas que possuem características próprias
e que se relacionam entre si"
"...Entidades que possuem atributos e que se relacionam
entre si"
se relacionam entre si = relacionamentos
34
Relacionamentos
No mundo real, as entidades "se relacionam" com outras entidades
Na Escola
Na Locadora
Professores dão aula para uma turma
Aluno freqüentam uma turma
Clientes alugam fitas
35
Representação dos Relacionamentos
Relacionamentos são representados por linhas
As linhas possuem símbolos que vamos explicar
36
O que é um relacionamento
Uma entidade representa um conjunto de elementos de uma
mesma classe
Quando duas entidades se relacionam, podemos definir
uma relação, no sentido matemático do termo, entre os
dois conjuntos
37
Exemplo de Relacionamento
Esse conjunto representa a entidade Turma
Estamos aplicando os conceitos
mais básicos de matemática:
conjunto e elemento Matemática
Português
Ciências
Também poderíamos usar uma
notação mais "matemática"
Turma = { Matemática, Português,
 Ciências}
38
Exemplo de Relacionamento
Esse conjunto representa a entidade Aluno
Também podemos descrever da
mesma forma
Aluno = { Alice, Bruno, Carlos, Daniela }
Alice
Bruno
Carlos
Daniela
39
Exemplo de Relacionamento
Que alunos freqüentam que turmas?
As possibilidades são muitas
Cada aluno pode freqüentar quantas turmas?
Quantas alunos podem freqüentar uma turma?
40
Exemplo de Relacionamento
Por exemplo
Matemática: Alice, Bruno e Carlos
Português: Alice, Carlos e Daniela
Ciência: ninguém
Matemática
Português
Ciências
Alice
Bruno
Carlos
Daniela
41
O que é um Relacionamento
Um relacionamento entre duas Entidades indica que as
instâncias de uma Entidade podem se relacionar, uma certa
quantidade de vezes, com instâncias da outra entidade
Matemática
Português
Ciências
Alice
Bruno
Carlos
Daniela
42
Quantas Vezes?
A pergunta sobre "quantas vezes as instâncias podem se
relacionar" é muito importante e deve ser modelada
A resposta é modelada na Cardinalidade do relacionamento
43
Cardinalidades Simples
A cardinalidade pode ser vista de uma maneira simples,
indicando-se quantas vezes, no máximo, uma instância pode
se relacionar com uma instância da outra entidade
1 x 1
1 x N
N x M
44
Cardinalidade 1x1
Cada instância de uma entidade só pode se relacionar com
uma instância de outra entidade
Como um "casamento"
45
1x1: Exemplo
No modelo de uma Igreja
No modelo de uma empresa de caminhões
Entidades: Homem, Mulher
Relacionamento: Casamento
Entidades: Caminhão, Reboque
Relacionamento: Usando
46
Cardinalidade 1xN
Cada instância de uma das entidades pode ser relacionar
com várias instâncias da outra entidade, mas essas só podem
se relacionar com uma da primeira
47
1xN: Exemplo
Em uma maternidade
Em uma escola primária
Entidade: Mãe, Filho/a
Relacionamento: "deu a luz"
Entidades: Turma, Aluno
Relacionamento: estuda
Em uma universidade esse relacionamento não é mais 1xN
48
Cardinalidade NxM
Quando são possíveis quantos relacionamentos quantos
quisermos nos dois lados
Relacionamento bastante comum
49
NxM: Exemplo
Falando sobre Filmes
Entidades: Ator, Filme
Relacionamento: Atua
50
Detalhando os Relacionamentos
Para melhor detalhar os relacionamentos, normalmente
falamos não só da Cardinalidade Máxima, mas também
da Cardinalidade Mínima
A cardinalidade mínima é sempre 0 ou 1
A cardinalidade máxima é sempre 1 ou N
51
Cardinalidade Mínima = Obrigatoriedade
Assim ficamos sabemos, basicamente, se o relacionamento é
obrigatório ou opcional
Isso é, se cada instância da entidade deve ter, ou não,
um relacionamento com instâncias da outra entidade
52
Desenhando Relacionamentos
53
Desenhando Relacionamentos
54
Lendo Relacionamentos
55
Conclusão
"...cheio de coisas que possuem características próprias
e que se relacionam entre si"
"...Entidades que possuem atributos e relacionamentos
56
Conclusão
Entidades são classes de objetos
Entidades possuem características, descritas por Atributos
Atributos possuem valores de um Domínio
Entidades se relacionam
Devem ser definidos um número mínimo e máximo de
relacionamentos entre as instâncias das Entidades
1
Professores:
Geraldo Xexéo
Geraldo Zimbrão
Conteúdo:
Ferramentas CASE para Modelo
de Entidades e Relacionamento
Aula 005
2
Ferramentas
Erwin
DBdesigner
DIA
Visio
Ferramentas ligadas a SGDBs
Outras
3
Erwin
Líder de mercado
Exclusivo Windows
Notações
Integrado com vários SGDB
IDEF1X
IE
4
5
DBDesigner
Gratuita
Windows/Linux
Notações
Integração forte com MySQL
Própria
Própria com cardinalidade
IE (Crow’s foot)
IDEF1X (tradicional)
6
7
DIA
Ferramenta de desenho
ER Tradicional
Linhas a vontade
Não é um CASE
Faz o que quiser, mas erra como quiser também
8
9
Visio
Ferramenta de desenho
CASE limitado
Comunica com algumas bases
Tabelas e não entidades
Notação própria, ligada diretamente ao modelo relacional
10
11
Ferramentas Ligadas a SGDBs
Oracle
IBM
Microsoft SQL
...
Todos esses produtos/vendedores possuem algum nível de
CASE, desde visualização simples até modelagem completa
12
Outros...
Vários vendedores independentes fornecem ferramentas
CASE para ER
System Architect
1
Professores:
Geraldo Xexéo
Geraldo Zimbrão
Conteúdo:
Modelo de Entidades e
Relacionamentos
Exercício 1
Aula 006
2
Administradora de Imóveis
Construa um diagrama ER (apenas entidades e relacionamentos
com cardinalidades máximas) para a administradora de imóveis
descrita abaixo.
A administradora trabalha administrando aluguéis em 
condomínios inteiros.
3
Administradora de Imóveis
As seguintes informaões foram obtidas da Administradora
A administradora administra condomínios formados por
unidades condominiais.
As unidades pertencem a uma pessoa, ou mais.
Uma pessoa pode possuir diversas unidades.
Apenas uma pessoa pode alugar uma unidade.
Uma pessoa pode alugar diversas unidades.
4
Quem pode ser Entidade
As seguintes informações foram obtidas da Administradora
A administradora administra condomínios formados por
unidades condominiais.
As unidades pertencem a uma pessoa, ou mais.
Uma pessoa pode possuir diversas unidades.
Apenas uma pessoa pode alugar uma unidade.
5
Que Coisas?
Candidatas a Entidade
Administradora
Condomínio
Unidade
Pessoa
6
Entidade Condomínio?
Existem vários condomínios
A administradora trabalha com eles
Eles possuem unidades
Boa Entidade
7
Unidade
Existem muitas unidades
Elas são possuídas e alugadas
Boa Entidade
8
Pessoa
Existem várias pessoas
Elas possuem e alugam
Boa Entidade
9
Entidade Administradora?
Quantas instâncias de administradoras existem no mundo,
para esse modelo?
Não é necessário criar uma entidade
Como o sistema é para uma administradora única,
só uma instância
Regra: Entidades que só possuem uma instância não são
boas entidades
10
E o diagrama? (Erwin)
11
Entendendo o Diagrama
Os condomínios são formados por unidades residenciais
Pelo menos uma unidade no condomínio
12
Entendendo o Diagrama
Uma unidade está só em um condomínio, e está em algum
condomínio obrigatoriamente
Traço simples
Linha contínua: o condomínio faz parte da identificação
da unidade
13
Entendendo o Diagrama
Entre Unidade e Pessoa
existem 2 relacionamentos
Um indica a posse de um
apartamento
Outro indica o aluguel
14
Entendendo o Diagrama
Uma unidade deve ser de
alguém
O relacionamento de
posse é obrigatório
15
Entendendo o Diagrama
Uma unidade deve ser de
alguém
O relacionamento de
posse é obrigatório
Uma unidade pode ser
alugada por alguém
O relacionamento aluga
não é obrigatório16
Entendendo o Diagrama
As linhas tracejadas indicam
que a unidade não é identificada
por seu proprietário ou seu inquilino
17
Resultado Final
Agora você já pode 
ler esse diagrama!
1
Professores:
Geraldo Xexéo
Geraldo Zimbrão
Conteúdo:
Modelo de Entidades e
Relacionamentos
Exercício 2
Aula 007
2
Locadora de Vídeo
Uma pequena locadora de vídeos
Modelo de Dados de um sistema para controlar empréstimo.
3
As Fitas
Cada fita recebe um identificador próprio,
Para cada fita é controlado que filme ela contém.
Cada fita contém somente um filme.
no formato apropriado para código de barras.
Fita Filme
4
Os Filmes
Para cada filme, é necessário saber seu título e sua categoria
(comédia, drama, aventura, ...).
Para cada filme há pelo menos uma fita
Não existem cópias de filmes
Filmes longos, não duas cópias
5
Os Atores
Os clientes podem desejar encontrar os filmes estrelados pelo
seu ator/atriz predileto.
Para cada ator os clientes às vezes desejam saber o nome real,
bem como a data de nascimento.
Por isso, é necessário manter a informação dos atores
que estrelam em cada filme. 
Nem todo filme possui estrelas.
Cliente Ator
6
Os Clientes
A locadora possui muitos clientes cadastrados.
Somente clientes cadastrados podem alugar fitas.
Para cada cliente é necessário saber seu nome e sobrenome,
seu telefone e seu endereço.
Além disso, cada cliente recebe um número de associado.
7
Os Empréstimos
Finalmente, desejamos saber que fitas cada cliente tem
emprestadas.
Um cliente pode ter várias fitas em um instante no tempo.
Não são mantidos registros históricos de aluguéis.
8
Lista de Entidades
Filme
Fita
Ator
Cliente
Empréstimo?
Filme
Fita
Ator
Cliente
9
Empréstimo
O Empréstimo é um relacionamento entre duas entidades
Precisamos guardar algum dado sobre o empréstimo
Fica como relacionamento
No caso, não foi pedido
10
Diagrama E-R Simples
11
Explicando ER Simples
Cada Fita contém um filme
12
Explicando ER Simples
Cada Fita contém um filme
Cada Filme está em pelo menos 1 fita, possivelmente em mais
de uma fita
13
Explicando ER Simples
Por que um retângulo é de bordas retas e o outro de bordas
arredondadas?
Mais tarde veremos a questão da "dependência"
Sem referenciar um filme
Indica que a fita não existe sem o filme
14
Explicando ER Simples
Filmes e Atores...
Um filme tem muitos atores
Um ator pode atuar em muitos filmes
No ERWin, não é possível indicar a
cardinalidade mínima em relacionamentos NxM
Suposta zero
15
Explicando ER Simples
No ERWIN, o relacionamento 1:N só
representa a cardinalidade mínima
se for zero
Nulls allowed
16
Explicando ER Simples
A linha pontilhada indica que o
relacionamento não é identificador
Não há dependência
Veremos isso mais tarde
17
Explicando ER Simples
Uma fita pode estar com apenas
um cliente
Uma fita pode não estar com
nenhum cliente
Um cliente pode estar com nenhuma ou
várias fitas
18
O Mesmo Modelo em IDEF1X
19
O Mesmo Modelo no DIA
20
O Mesmo Modelo no DBDesigner (1)
21
O que essa tabela faz aí?
O DBDesigner é uma adaptação direta do modelo relacional
Não são permitidos relacionamentos NxM
Deve ser criado uma entidade para representar isso
22
O Mesmo Modelo no DB Designer (2)
23
O Mesmo Modelo no DB Designer (3)
24
O Mesmo Modelo no DB Designer (4)
25
Colocando os Atributos
26
Dando Tipos aos Atributos
27
Algumas Melhorias
Números que não sofrem operações não são verdadeiramente
números, mas sim Strings
28
Uma Grande Mudança
29
Uma Grande Mudança
30
Uma Grande Mudança
Se quisermos controlar bem as categorias possíveis
Se quisermos registrar que os filmes só podem ser de algumas
categorias
Usamos uma entidade para definir uma especificação
Descrito mais a frente no curso
1
Conteúdo:
O Relacionamento de Herança
Professores:
Geraldo Xexéo
Geraldo Zimbrão
Aula 008
2
Lembrando
"...cheio de coisas que possuem características próprias e
que se relacionam entre si"
"...Entidades que possuem atributos e relacionamentos"
3
Lembrando
Entidades são classes de objetos
Entidades possuem características, descritas por Atributos
Atributos possuem valores de um Domínio
Entidades se relacionam
Devem ser definidos um número mínimo e máximo de
relacionamentos entre as instâncias das Entidades
4
Lembrando Generalização
Com a generalização nós somos capazes de entender
como uma classe pode ser descrita por outra classe, mais geral.
O processo reverso da generalização é a especialização.
5
O Relacionamento de Herança
Nos modelos modernos de Entidades e Relacionamentos
aparece a possibilidade de definir relacionamentos especiais
de generalização/especialização
Normalmente esses relacionamentos são conhecidos
como herança
Termos vindo da orientação a objetos
6
Exemplos
Aluno: Aluno de Graduação, Aluno de Pós-Graduação,
Aluno de Extensão
Animal: Carnívoro, Herbívoro, Onívoro
Automóveis: de Passeio, Utilitários
Funcionário: RJU, CLT, terceirizado
Professor: Substituto, Auxiliar, Adjunto, Titular
7
Qual a dificuldade?
Na prática, nenhuma dificuldade no modelo conceitual
Na implementação futura, dificuldades de encaixá-lo nos
SGDB disponíveis
8
Tipos de Herança
Quanto a totalidade da cobertura
Total
Parcial
Quanto a exclusividade da cobertura
Exclusiva
Sobreposta
9
Herança Total
As instâncias que pertencem a entidade mais geral
pertencem a pelo menos uma das entidade mais específicas
Exemplo
Aluno de Universidade (classe mais geral)
Aluno de Graduação, Aluno de Pós Graduação,
Aluno de Extensão (classes mais específicas)
10
Herança Parcial
Algumas instâncias pertencem a entidade mais geral e não
pertencem a nenhuma entidade mais específica
Exemplo
Cliente (classe mais geral)
Cliente VIP (classe mais específica)
11
Herança Exclusiva
Se uma instâncias pertence a uma entidade mais específica,
não pertence a outra
Exemplo
Automóvel (classe mais geral)
Carro de Passeio (classe mais específica)
Utilitário (classe mais específica)
12
Herança Sobreposta
Uma instância pode pertencer a várias entidades específicas
sob uma entidade mais geral
Exemplo
Aluno de Universidade (classe mais geral)
Aluno de Graduação, Aluno de Pós Graduação,
Aluno de Extensão (classes mais específicas)
13
Aviso
A Herança sobreposta deve ser evitada
Deve ser substituída por entidades que representem
os papéis associados
Devemos privilegiar as heranças totais e exclusivas
14
Desenhando Herança - IE
15
Desenhando Herança - IDEF1X
1
Conteúdo:
Desenvolvendo o Modelo ER
Professores:
Geraldo Xexéo
Geraldo Zimbrão
Aula 009
2
Lembrando
"...cheio de coisas que possuem características próprias e
que se relacionam entre si"
"...Entidades que possuem atributos e relacionamentos"
3
Lembrando Entidades
Uma entidade é uma pessoa, objeto, local, animal,
acontecimento, organização ou outra idéia abstrata
sobre a qual o sistema deve se lembrar alguma coisa
4
Um Modelo Muito Simples
O sistema trata das escolas da cidade e seus alunos. 
Cada aluno está registrado em no máximo uma escola,
ou não estar registrado em nenhuma. 
Uma escola pode ter zero, um ou mais alunos.
O aluno é identificado por seu CPF.
A escola é identificada por seu nome.
Da escola, só precisamos saber o endereço.
Do aluno, precisamos saber seu nome, seu endereço,
o nome do seu pai e o nome da sua mãe
5
Escola e seus Alunos
6
A Busca Por Entidades
Lembrando da Técnica Geral com Modelos
Observação dos objetos
Entendimento dos conceitos
Identificar
Conceituar
Entender
Assimilar
Representação dos objetos
Verificação da fidelidade e coerência
Validação do Modelo
7
Entidades no Discurso
No discurso fluente durante uma entrevista, entidades são
geralmente substantivos ocupando o papel de sujeito ou objeto
Os funcionários recebem salário
Os caminhões transportam cargas
8
Entidades são Completas
Outro sinal importante da necessidade de uma entidadeé o fato de algo que precisa ser lembrado representar um
conceito ou idéia completa.
Funcionário
Caminhão
Salário?
Carga?
9
Tipos Básicos de Entidade
Objetos tangíveis
Papéis exercidos
Eventos
Interações
Especificações
10
Objetos tangíveis
Tangível: o que podemos tocar
Representam um objeto que existe claramente no mundo real
Pessoas, Móveis, Veículos, Prédios, Documentos, etc...
Produtos, equipamentos
11
A Escola é um objeto tangível
12
Papéis exercidos
Objetos podem assumir funções diferentes
Principalmente Papéis assumidos por pessoas
Papéis diferentes
Funcionário, Professor, Aluno
Como no teatro
13
Aluno é um Papel (de uma pessoa)
14
Interações
Marcam a interação entre dois ou mais objetos
Também implicam em observar o tempo
Venda: Comprador, Vendendor, Objeto da Venda
Casamento: Marido, Mulher, Celebrante, Testemunhas
15
Estendendo nossa Escola
Um aluno faz uma Matrícula em uma certa data em uma escola
Essa matrícula é identificada pela escola, pelo aluno e pela data
16
Exemplo de Interação
Interação
A linha contínua indica relacionamento identificador
17
Exemplo de Interação
Acontece em um período de tempo
Exigem guardar data, hora, duração
Reunião, Aula
18
Estendendo ainda mais
Cada escola marca datas de reuniões de pais e filhos
Cada reunião é identificada pela data e pela escola
Cada reunião deve informar o motivo
19
Exemplo de Evento
Evento
20
Observação
Interação e eventos são semelhantes, pois nelas o
tempo é importante. 
Não há necessidade de se preocupar em classificar os
objetos, basta encontrá-los
Outros autores unificam os dois
21
Especificações
Uma entidade que serve para classificar outra entidade
Serve para substituir um atribute que rotula a classe,
controlando os possíveis valores
Exemplo:
Em um sistema de carros usados, a entidade
Automóvel pode ter um atributo fábrica ou o
modelo ER pode ter uma entidade Fábrica
relacionada com ele
22
Estendendo ainda mais...
Cada aluno pertencerá a um tipo
Cada tipo de aluno é identificado por um nome
Cada tipo de aluno dá direito a um desconto,
que é explicado em um motivo
23
Exemplo de especificação
Especificação
24
Atenção para as Mudanças
Aluno passou a ser identificado por duas "coisas"
Um relacionamento
Um atributo
25
Dicas Sobre Entidades
Toda entidade deve ter um papel único e definido no negócio,
se você não pode explicá-la, provavelmente não precisa
se lembrar dela.
Entidades devem ter ao menos um atributo que as descrevam
é preferível que tenham vários.
Entidades devem ter mais de uma instância.
Entidades não possuem valores, apenas atributos
possuem valores.
Entidades devem possuir instâncias unicamente identificáveis. 
26
Dicas Sobre Entidades
Pessoas e organizações que interagem com o sistema
são candidatos a entidade quando:
Para gerar relatórios ou processar dados entrados
Precisamos nos lembrar alguma coisa específica sobre elas
Devemos aplicar essa regra em relação à necessidade
de identificação e endereçamento, por exemplo.
Isso não se aplica a "logons" ou "passwords" utilizados
para a segurança do sistema, pois segurança é um
problema tratado no projeto físico. 
27
Dicas Sobre Entidades
Relatórios raramente são entidades.
Normalmente eles são apenas os resultados de um
processo que acessa várias entidades.
Nomes de colunas indicam entidades ou seus atributos. 
Porém, nenhum valor calculado ou derivado é atributo
ou entidade no modelo conceitual.
Linhas de relatório geralmente são entidades. 
Substantivos em regras de negócio são normalmente entidades
28
Dicas Sobre Entidades
Produtos, quando não são únicos, são normalmente entidades.
Papéis, como funcionário, atendente, apostador, etc.,
são bons candidatos para entidades.
Um grupo de dados que se repete em uma entrada ou
saída de dados é normalmente uma entidade (ou mais).
29
Onde Encontrar Entidades?
Relatórios
Formulários de entrada de dados
Arquivos, tanto de papel quanto no computador.
Fichas, como fichas de cadastro, de empréstimo, etc.
Pedidos, requisições e documentos do gênero.
Documentos contábeis e fiscais, como nota fiscal.
30
Onde Encontrar Entidades?
Planilhas de dados, em papel ou eletrônicas.
Listagens, registros, agendas, protocolos e outros
documentos de trabalho.
Sistemas já existentes
Bancos de dados já existentes
Outra forma de encontrar entidades é buscar sistemas
semelhantes já resolvidos e padrões de análise ou padrões
internacionais ou nacionais sobre o assunto sendo tratado.
31
Descrevendo as Entidades
Nome
Definição
Exemplos
Atributos
Relacionamentos
Correlação, descrevendo outras partes
da análise que se referem a ela
Sinônimos
Homônimos
Regras e exceções relacionadas
a essa entidade, incluindo
regras de negócio.
Outros comentários e
observações
Uma idéia da quantidade
esperada de instâncias no
sistema
32
Sinônimo e Homônimo
Sinônimo = palavras diferentes, conceito igual
Homônimo = palavras iguais, conceito diferente
Belo, bonito
Manga
De camisa, a fruta, do verbo mangar,
33
Ao definir uma entidade
Perguntas 5W2H
Que outras perguntas você pode imaginar?
O que ela é?
Quando deve ser utilizada?
Quem é o responsável por ela?
Em que parte do sistema será utilizada?
Por que ela é necessária?
Como ela é? (como será implementada, quais seus atributos?)
Quanto espaço ela ocupará (fator de custo)?
Quem pediu, quem indicou, quem usa?
34
Por que isso é útil?
Essas perguntas são abertas, não exigem apenas uma
resposta sim ou não, mas sim que pensemos sobre elas
Elas cobrem grande parte das preocupações que
temos ao desenvolver um modelo
35
Atributos
Todo atributo descreve de alguma forma a instância da entidade.
Atributos podem ser
Nominativos
Referenciais
36
Atributos Nominativos
Alguns atributos são especiais e definem a entidade
Mesmo que não de forma única
Nome
Endereço
37
Atributo Referencial
Permitem definir outro objeto que não é o sendo tratado
É uma opção do analista criar entidades que permitem
a substituição de um atributo referencial por um relacionamento
Um exemplo de atributo referencial é "fábrica" para
"automóvel", referenciando a fábrica onde foi construído. 
Especificações
38
Como Descrever um Atributo?
Descrição
Tipos de nulos aceitos
Domínio (valores válidos, como inteiro, real, string ou
uma lista de valores, ou ainda tipos criados pelo projetista)
Exemplos
39
Em uma conversação
Atributos possuem valor
Definem qualidades, características, propriedades
São substantivos
São conceitos incompletos, que não existem por si
40
Onde encontrá-los?
Colunas e Campos de relatórios, formulários e planilhas
Quando seu nome referencia o valor de algo para uma entidade
O nome do aluno
41
Onde Encontrar Relacionamentos?
A principal característica das entidades de um sistema é
formar uma rede de relacionamentos
Aparecem quando uma entidade se refere a outra
Funcionário do departamento
Contrato do veículo
42
Relacionamentos e Verbos
Os relacionamentos aparecem nos verbos
Máquina fabrica produto
Empresa contrata empresa
Aluno assiste aula
43
Relacionamentos comuns
Compõe
É um (herança)
Faz
Gera
Atende
Usa
Possui
44
Relacionamentos Identificam
Os relacionamentos também
servem para identificar entidades
Além dos atributos e até mesmo
sem exigir nenhum atributo
45
Descrevendo Relacionamentos
O nome escolhido para o relacionamento pode estar na voz
ativa (mãe gera filho) ou na voz passiva (filho é gerado por mãe).
Algumas notações permitem que se usem os dois nomes
(um por cima e um por baixo da linha de relacionamento).
Geralmente se usa o nome que permite a leitura do
relacionamento da esquerda para a direta na parte de cima
da linha (ou se dá preferência a esse nome quando apenas
um pode ser utilizado).
46
Como descrevê-los?
Nome
Função no sistema
Como? Quando? Por que? Por quem?
Valores normais (quantidades normais)
Comentários
São estabelecidos
São destruídos47
Identificando Entidades
Atributos e Relacionamentos permitem criar uma
identididade única para as entidades
No mínimo, o somatório de todos os atributos e relacionamentos
será essa identificação
Se todos os valores de atributos e relacionamentos
forem iguais, as entidades são a mesma entidade
48
Identificador
Conjunto de atributos e relacionamentos que identifica
unicamente a entidade
Existem vários possíveis
Chaves candidatas (na nomenclatura relacional)
Um deve ser escolhido
Chave primária (na nomenclatura relacional)
49
Como escolher?
Escolha o mais significativo no caso do modelo conceitual
Com a evolução da análise, muitas vezes acontece de
trocarmos essa escolha por um mais fácil de usar
50
Exemplo
51
Manipulando o Modelo
Operações Top-Down
Operações Bottom-Up
52
Top-Down
Dividir Entidade em
Entidade e Relacionamento
Transformar Atributo
em Entidade
Criar Sub-entidades
Dividir Entididade
Dividir Relacionamento
Criar Entidade em
Relacionamento
Criar Atributo
53
Dividir Entidade em 2 Entidades
e Relacionamento
Uma entidade pode estar escondendo duas entidades
que se relacionam
Escola 
Escola e Turma
54
Transformar Atributo em Entidade
Uma atributo pode ser um conceito complexo que precisa
ser descrito como uma entidade
Nome do Pai, Nome da Mãe podem ser transformados
em uma entidade chamada Responsável Legal 
55
Criar Sub-entidades
Uma entidade pode ser dividida em vários tipos
Escola pode ser dividida em escola de ensino básico
e escola de ensino médio
56
Dividir Entidade
Uma entidade pode ser dividida em entidades que não
se relacionam diretamente
Reunião pode ser dividida em reunião de pais e
professores e reuniões internas
57
Dividir Relacionamento
Um relacionamento pode ser dividido em vários
Aluno pode se matricular em uma escola
Aluno pode ser formado por uma escola
58
Criar Entidade em Relacionamento
Um relacionamento pode ser tão complexo que merece
ser descrito como entidade
Matrícula era um relacionamento, mas como precisa
guardar alguma informação (a data), virou entidade
Tendência dos métodos atuais, influência do modelo relacional
59
Criar Atributo
Relacionamentos e Entidades podem necessitar de
novos atributos
Aluno pode precisar de uma atributo Telefone
60
Operações Bottom-Up
Criar Entidade 
Unir Atributos
em Entidades
Hierarquizar
entidades
Criar Relacionamentos
entre Entidades
61
Criar Entidade
Ação mais normal no nosso caso
Sempre buscaremos criar as principais entidades desde o início
63
Hierarquizar entidades
Algumas vezes criamos as entidades "soltas" e depois
percebemos que há uma hierarquia
Equivale a criar um relacionamento ou uma herança
64
Criar Relacionamentos entre
Entidades
Ação normal no nosso caso
Esperamos que a maioria dos nossos relacionamentos
seja criada assim
65
Conclusão
Possuímos agora bastante ferramentas de trabalho com o
diagrama de Entidades e Relacionamentos
Podemos nos exercitar mais e desenvolver modelos
mais complexos
Conteúdo:
Modelo de Entidades e
Relacionamentos
Exercício 3 - Universidade do povo
1
Professores:
Geraldo Xexéo
Geraldo Zimbrão
Aula 010
2
Leitura
Por favor leiam o exercício chamado Sistema Acadêmico
da Universidade do Povo
Primeiro leiam o exercício todo
Depois, vamos resolver o exercício por partes
No final, juntaremos as partes
3
Relembrando
"...cheio de coisas que possuem características próprias
e que se relacionam entre si" 
"...Entidades que possuem atributos e relacionamentos"
4
Relembrando
Uma entidade é uma pessoa, objeto, local, animal,
acontecimento, organização ou outra idéia abstrata
sobre a qual o sistema deve se lembrar alguma coisa
5
Relembrando
Entidades
Objetos tangíveis
Papéis exercidos
Eventos
Interações
Especificações
6
Relembrando
Entidades não possuem valores
Entidades são conceitos completos
Atributos não são conceitos completos
Atributos possuem valor
7
Estrutura da Universidade
A UniPovo é dividida em centros universitários
No sistema acadêmico só precisam ser conhecidos o
identificador do centro (CCH, CCE, etc.) e seu nome
Cada centro universitário é composto de várias unidades.
Exemplos de centros são: O Centro de Ciências Exatas (CCE),
o Centro de Ciências da Saúde (CCS) e o
Centro de Ciências Humanas (CCH)
Uma unidade pode ser um instituto, um hospital,
uma escola, e várias outras denominações que
são agregadas ao nome
Por exemplo, a Escola Politécnica (EsPol) é uma unidade,
como são também o Hospital Universitário (HU)
e o Museu da Ciência (MC)
8
Estrutura da Universidade
Todo centro possui pelo menos uma unidade, e todas as
unidades pertencem a algum centro
As unidades, como os centros, também só precisam ser
identificadas pelo seu código (EsPol, HU, etc.) e seu nome
Por sua vez, as unidades são também obrigatoriamente
divididas em departamentos, que só podem existir dentro
das Unidades
Na verdade, o centro a que pertence faz parte da
identificação da Unidade
Os departamentos também possuem um nome e um código
(como Departamento de Ciência da Computação - DCC),
e algumas vezes nem se chamam departamento
(como Programa de Engenharia Oceânica - PEO)
9
Entidades?
São pessoas, objetos, locais,
animais, acontecimentos,
organizações ou outra idéia
abstrata
Candidatos
Buscamos
Substantivos Comuns
Objetos tangíveis
Papéis exercidos
Eventos
Interações
Especificações
Encontramos
Centro
Nome do Centro
Código do Centro
Unidade
Nome da Unidade
Código da Unidade
Departamento
Nome do Departamento
Código do Departamento
10
Análise
Descrevem um conceito como um todo, não possuem um valor
Descrevem um atributo valorado
Unidade
Nome do Centro
Código do Centro
Nome da Unidade
Código da Unidade
Nome do Departamento
Centro
Departamento
Código do Departamento
11
Tipos de Entidade
Centro
Unidade
Departamento
São organizações cumprindo um PAPEL dentro de uma
organização maior
12
Estrutura: Diagrama ER (Erwin-IE)
Primeiro, só as entidades
e relacionamentos
Escolhemos relacionamentos
identificadores
Setas contínuas
Fazem a entidade ficar
com cantos
arredondados
13
Estrutura: Diagrama ER (Erwin-IE)
Escolhemos nomes diferentes
para os relacionamentos
Exigimos que Centros e Unidades
tenham pelo menos uma divisão
Evitando nomes iguais
no modelo
14
Estrutura: Diagrama ER (Erwin-IE)
Agora os atributos
Todos possuem nomes diferentes
Escolhemos uma notação mais
moderna, que usa os nomes
iniciando em minúsculas e usando
maiúsculas para representar
palavras compostas
15
Estrutura: Diagrama ER (Erwin-IE)
Os atributos que fazem parte
das chaves estão definidas
sobre a linha que divide a
entidade em duas partes
Não esqueça que as chaves
incluem os relacionamentos
16
UniPovo?
Por que a UniPovo não é uma entidade?
Por que Universidade não é uma entidade?
Porque é um substantivo próprio, logo no máximo seria
um exemplo de uma entidade
Porque é um objeto único
Porque o sistema fala sobre a UniPovo,
descrevendo seu "interior"
Porque só teríamos, por definição, uma instância, ou seja,
é um objeto único
17
Uma Opção de Modelagem
Na UniPovo, nos garantiram que só existiam centros,
unidades e departamentos
Uma opcão é criar uma estrutura recursiva
Porém, em outras universidades (e talvez no futuro da UniPovo),
a estrutura organizacional tem muitas camadas e variadas
18
Opção Recursiva
19
Interpretação da Recursividade
20
Professores
Os professores estão alocados nos departamentos,
porém podem mudar de departamento
Não podem ser de nenhum departamento
É possível (mas não provável) que um departamento
não tenha professores
21
Entendendo
Uma pessoa é uma coisa tangível
O professor é um papel (função) que a pessoa toma
dentro do departamento
22
Departamento/Professor
23
Dados Professor
Sobre o professor, queremos saber:
Endereço, na forma rua ou
avenida, complemento,
cep, bairro, cidade, estado
CPF (que o identificará)
Nome, nome do pai,
nome damãe
2 números de telefone
24
O Que Temos Até Agora?
25
Cursos e Currículos
Cada departamento pode ser responsável por um ou mais cursos
Manter cursos e formar pessoas nesses cursos é a
função mais importante da Universidade
O Departamento de Ciência da Computação,
por exemplo, é responsável pelos cursos de
Bacharelado em Ciência da Computação e
Tecnólogo em Redes de Computadores
Um curso é equivalente a atribuição de um diploma
(que leva o nome do curso)
26
Analisando
Um curso é um conceito completo
Um curso existe
O curso possui atributos que podem ser valorados
Tipo?
Interpretação "entendida" de uma "coisa tangível"
Um curso existe durante um prazo
Interpretação "entendida" para um evento
27
Departamento/Curso
28
Cursos e Currículos
Os cursos possuem um código e um nome e um grau.
A UniPovo fornece vários graus de diploma, como
graduação, pós-graduação, extensão, etc...
29
Cursos e Currículos
Para cada curso é importante conhecer:
a data do primeiro diploma e
a licença do MEC, 
a data de abertura, 
avaliação corrente do MEC. 
Possivelmente um curso também tem uma data de
encerramento, o que é raro na graduação mas
bastante comum na extensão.
30
Curso
31
Cursos e Currículos
Um detalhe importante é que durante sua existência um curso
pode ter vários currículos
Esses currículos, inclusive, podem estar valendo simultaneamente
Quando um currículo começa, os alunos já inscritos no
curso ainda ficam no currículo anterior
É possível criar uma nova inscrição do aluno no currículo
novo, mas isso não é obrigatório
32
Curso/Currículo
33
Cursos e Currículos
Assim, cada currículo deve ter anotado quantos créditos
são precisos em cadeiras optativas (no mínimo)
Sobre um currículo queremos saber:
data de início, que o identifica junto com o curso, 
data de extinção
texto do currículo
34
Cursos e Currículos
Um currículo é formado de cadeiras
As cadeiras não são propriedades dos currículos
Por exemplo, Cálculo I é parte de quase todos os
currículos de cursos de Ciências Exatas
Vamos discutir elas mais a frente no texto
As cadeiras podem estar associadas a vários currículos
de cursos diferentes
35
Cursos e Currículos
As cadeiras de um currículo são divididas em
obrigatórias e optativas
As cadeiras optativas são muitas
Por exemplo, no currículo atual de Tecnólogo em
Redes de Computadores existem 20 cadeiras optativas,
cada uma valendo 4 créditos, porém só são precisos 12 créditos
Porém há um apenas requisito mínimo que precisa ser cumprido
36
Currículos/Cadeiras
37
Cursos, Currículos e Cadeiras
Cuidado, algumas informações
desse desenho só aparecerão
mais tarde
Relacionamentos: 
pré-requisito
fornece
38
Cursos, Currículos e Cadeiras
(com atributos)
Mudamos um pouco o formato para aproveitar a tela
Mas o significado é o mesmo
39
Observação
Sempre que encontrarmos sentenças como: "Um curso
possui vários currículos", devemos preferir modelar como
duas entidades
Veremos mais tarde que isso nos ajudará a criar
Modelos de Entidades e Relacionamentos já
compatíveis com a Primeira Forma Normal do
Modelo Relacional
40
Onde Estamos?
41
Cadeira
As cadeiras são fornecidas por um departamento,
sendo mantidas por eles
Cada cadeira possui um código, um nome, uma data de
criação, uma data de extinção e várias ementas
42
Pré-Requisitos
Cada cadeira possui, possivelmente, um conjunto de
cadeiras que são seus pré-requisitos. Uma cadeira pode
ser pré-requisito de muitas cadeiras
43
Departamento/Cadeiras/Ementas
44
Cadeira
45
Ementa
A ementa, porém, vai variando com o tempo, e é importante
guardar todas as ementas
Assim, cada cadeira possui, na verdade, um histórico
de ementas
Cada ementa possui uma data de início de validade, uma
data de final de validade, um objetivo, um texto de ementa
e um conjunto de livros de referência
A ementa também possui um número de horas e uma
quantidade de créditos
46
Cadeira/Ementa
47
Cadeira/Ementa
A cadeira é um conceito abstrato, que define muito pouco.
A definição mais detalhada é dada pela ementa
Mas a ementa também é um conceito abstrato. A cadeira/ementa
só existe realmente quando é criada uma turma que a implementa
48
Turma
A turma tem um código e uma lotação permida
É ministrada por um ou mais professores
Permite que os alunos se matriculem nela
(mais tarde trataremos de matrículas)
49
Turma/Horário
Cada turma possui vários horários, sendo que cada horário
tem uma sala, uma hora de início, um dia da semana e uma
duração em minutos
50
Turma
A turma, então, implementa uma ementa válida de uma cadeira.
Os horários indicam como a turma ocorre. Os professores são
responsáveis pela turma e os alunos se matriculam nela
(e não nos horários, nas ementas ou nas cadeiras)
51
Turma
52
Turma
53
Livros (e ISBN)
Para indicar os livros de uma ementa, devem ser informados:
o título, o autor, a edição, o ano de edição e a editora.
Cada livro é identificado por seu ISBN.
Veja no glossário informações mais detalhadas sobre o ISBN
Nesse trabalho, decidimos mostrar como algumas
coisas podem se complicar no mundo real. O ISBN
é uma dessas coisas que parecem bastante simples,
mas na verdade acabam exigindo bastante conhecimento.
E todo esse conhecimento para implantar apenas um
atributo do modelo
54
Livros e Ementas
Cada ementa pode usar vários livros e um livro pode ser
usado em várias ementas
Uma ementa pode não ter livro nenhum opcionalmente, porém
um livro deve aparecer em alguma ementa para estar presente
no sistema
55
Livros e Ementas
56
Os Autores
Se são vários autores, não deveríamos criar uma entidade autor?
Nesse caso não parece importante para o sistema ficar
controlando os autores do livro, assim, desprezamos o
fato que podemos diferenciar os autores e tratamos o
dados "autores" como uma string simples
57
O Que Temos Até Agora?
58
Aluno
O aluno possui:
um nome 
um DRE, que o identifica,
nome do pai, nome da mãe,
CPF (opcional, no
caso de alunos),
endereço completo (rua,
complemento, CEP, bairro,
cidade, estado),
telefone e telefone alternativo.
59
Inscrições
Um aluno faz inscrições em cursos
um número,
uma data de inscrição,
uma data de conclusão (opcional),
uma data de cancelamento (opcional),
um meio de inscrição (vestibular, transferência, etc.), e 
Cada Inscrição tem:
uma nota de vestibular (opcional).
60
Aluno/Inscrição/Currículo/Curso
61
Aluno/Inscrição
62
Matrícula
Em cada inscrição o aluno pode fazer matrículas em turmas
por exemplo, por ter a matrícula cancelada em algum
momento
Um aluno pode cursar cursos diferentes, com inscrições
diferentes e continua sendo o mesmo aluno
Ele pode se inscrever várias vezes no mesmo curso
por exemplo, por ser reprovado ou trancar a cadeira
Em cada inscrição, se matricular muitas vezes em cada cadeira
63
Matrícula
Cada matrícula possui:
uma data de aprovação,
uma data de trancamento,
uma identificação,
uma data de pedido,
um aproveitamento (a nota),
uma presença, 
um status (aceito, trancado, aprovado, reprovado por
média, reprovado por falta, etc.) e 
observações
64
Inscrição/Matrícula
65
Não é fácil
Veja outra complicação: no boletim de um aluno aparecem
as notas das matrículas da inscrição do aluno no curso,
porém as notas não são identificadas pela matrícula, mas
sim pela cadeira da ementa da turma da qual a matrícula pertence
O mundo real não é fácil para quem faz sistemas de informação
66
Qual a nota do João em Cálculo I?
67
Aproveitamento
Finalmente, um aluno pode, em uma inscrição, aproveitar
notas de outra inscrição, isto é, aproveitar matrículas onde
foi aprovado em outra inscrição. Assim, uma aluno de
Computação que foi transferido da Engenharia pode
aproveitar a nota de Cálculo I, por exemplo
Um aproveitamento exige um identificador, uma data de
pedido, uma data de aprovação e um número de processo. 
68
Aproveitamento
69
Esse pedaço do Modelo
70
O Modelo Completo
71
OModelo Completo
72
O Modelo Completo
1
Professores:
Geraldo Xexéo
Geraldo Zimbrão
Conteúdo:
Introdução ao Modelo Relacional
Aula 011
2
Sumário
Introdução Prática
Formalização
3
Sumário
Introdução Prática
Formalização
4
Composição de um BD Relacional
Um banco de dados relacional é composto de tabelas
Tabela é o nome usado na prática
Vem da noção de relação entre conjuntos
Academicamente, é usado o nome relação
5
Uma Tabela
Filme
6
Tabela
Uma tabela é um conjunto não-ordenado de linhas
As linhas são também chamadas de tuplas
(terminologia acadêmica)
Cada linha é composta por uma série de campos 
Valor de atributo (acadêmico)
7
Campos
Cada campo é identificado por um nome de campo
Nome de atributo
O conjunto de campos homônimos forma uma coluna
Atributo
8
Tabelas: Terminologia Prática
Filme
Coluna
Linha
Nome do campo
Valor do campo
9
Tabelas: Terminologia Acadêmica
Filme
Atributo
Tupla
Nome do atributo
Valor do atributo
10
Linhas não ordenadas!
As linhas não estão ordenadas
A ordem de recuperação é arbitrária
Porém
A ordenação é conseqüência da necessidade de listar
Não sabemos qual a n-ésima linha
Em alguns SGDB a implementação ordena as linhas e
dão um número para elas...
11
Valores dos Campos
Atômicos
Não podem ser divididos
Por exemplo, endereço
Monovalorados
Só possuem um valor
Por exemplo, matriz
12
Consulta
Existem linguagens de consulta
SELECT * FROM FILME
Essas linguagens permitem acessar os dados do banco a
partir de critérios envolvendo campos de uma ou mais linhas
SELECT * FROM FILME WHERE ANO=2003 
13
Exemplos de Tabela
Resultados do ENEM em 2005 Coluna
Notas dos alunos
14
Exemplos de Tabela
15
Sumário
Introdução Prática
Formalização
16
Formalizando
Domínios
Esquemas de Relação
Tuplas
Atributos
Relações
17
Domínio
Um domínio D é um conjunto de valores atômicos
Domínios são normalmente especificados definindo o
Tipo de Dados que define os possíveis Valores dos Dados
Atômico significa indivisível
18
Exemplos de Domínio
Nomes De Pessoa: conjunto de todos os nomes de
pessoas possíveis
Datas : conjunto de todas as datas possíveis
Números de Telefone Mundiais: conjunto de todas as
combinações possíveis de 12 dígitos
Números de Telefone Locais: conjunto de todas as
combinações possíveis de 8 dígitos
19
Formato
Normalmente especificamos um formato para o Domínio
Exemplo: Telefones Globais
+99 99 9999-9999
Significa a letra mais, seguida de dois números,
seguida de um espaço, seguida de dois números,
seguida de um espaço, seguida de quatro números,
seguida de um traço, seguida de quatro números
20
Definindo um Domínio
Um nome
Um tipo de dados
Um formato
Outras informações adicionais que auxiliam a interpretação
21
Exemplo de Domínio
Nome: Sexo
Tipo de Dados: { 0 , 1 , 2 , 9 }
Formato: o próprio número
Significado:
0 significa não informado
1 significa masculino
2 significa feminino
9 significa sem sentido
22
Exemplo de Domínio
Nome: Sexo
Tipo de Dados: { "F", "M" }
Formato: a letra isolada
Significado:
M significa masculino
F significa feminino
23
Exemplo de Domínio
Nome: Peso
Tipo de Dados: Números Reais entre 0 e 200
Formato: 999.99 (sempre com duas casas decimais)
Significado: peso de uma pessoa em quilogramas
24
Esquema de Relação
25
Esquema de Relação
O grau da relação é o número de atributos (n)
O esquema de relação descreve uma relação, chamada R
26
Exemplos de Esquema de Relação
Filme (CódigoFilme, NomeOriginal, Ano, Tipo)
Cliente (Nome, CPF, Telefone, Endereço, Sexo)
dom(Nome) = Nomes de Pessoas
dom(Telefone) = Números de Telefone Locais
dom(Sexo) = Sexo
dom(CPF) = ? Esse fica para vocês pensarem
27
Relação
28
O Valor Nulo
Valores nulos indicam que, para aquela tupla, o atributo:
Não se aplica
Não é conhecido
Não existe
29
Mais Simplesmente
Uma Relação R é um sub-conjunto do produto cartesiano
dos domínios que definem R
O produto cartesiano define todas as possíveis
combinações de valores dos domínios
Onde foram parar os nulos?
Você pode construir uma definição melhor?
Esse fica para vocês pensarem
30
O Estado Corrente
Estamos falando de bancos de dados
Por representarem algo no mundo real
Lista de Alunos
O esquema da relação define os valores possíveis para
os atributos das tuplas
Lista de Filmes
A relação é o conjunto de tuplas válido em algum momento
31
Exemplo: Os Domínios
1/1/1900
2/1/1900
...
2/7/1966
...
15/3/1980
...
31/12/2100
Datas
Aarão
Abel
...
Júlia
Júlio
...
Zéfiro
Nomes
Feminino
Masculino
Sexos
32
Exemplo: O Esquema
PESSOA = (NomePessoa, DataNascimentoPessoa, SexoPessoa)
dom(NomePesoa) = Nomes
dom(DataNascimentoPessoa) = Datas
dom(SexoPessoa) = Sexos
33
O Estado da Relação
r (PESSOA) = { < Abel, 2/7/1966, Masculino > ,
 < Júlia, 15/3/1980, Feminino > }
34
Exemplo: Os Domínios
1/1/1900
2/1/1900
...
2/7/1966
...
15/3/1980
...
31/12/2100
Datas
Aarão
Abel
...
Júlia
Júlio
...
Zéfiro
Nomes
Feminino
Masculino
Sexos
35
Interpretando um Relação
Normalmente, cada linha de uma relação é interpretada
como um afirmação
Um retrato da realidade
36
Outros Termos Acadêmicos
Intenção do esquema R
Extensão da Relação ou
Estado da Relação
É o esquema da relação
É o conjunto de tuplas que segue aquele estado
37
Ordem das Tuplas
Como a Relação não é ordenada na Teoria de Conjunto,
então tuplas de uma relação não são ordenadas
Como a lista de valores da tupla é ordenada, nossas os
atributos são ordenados dentro da tupla
Linhas de Tabelas
É possível definir um modelo relacional onde isso
não é necessário
38
Valores Atômicos
Exigimos que os valores dos atributos sejam atômicos
A teoria relacional chama isso de Primeira Forma Normal
39
Conclusão
Conhecemos os componentes básicos do Modelo Relacional
Conhecemos a forma prática de trabalhar com eles
Tabelas, colunas e linhas
Conhecemos a forma matemática de trabalhar com eles
Esquemas, Relações, Atributos e Tuplas
1
Professores:
Geraldo Xexéo
Geraldo Zimbrão
Conteúdo:
Modelo Relacional: Chaves e
Restrições 
Aula 012
2
Sumário
Abordagem Prática
Abordagem Acadêmica
3
Identificação de Linhas
A identidade de cada linha de uma tabela é definida pelos
valores dos campos
Não existem, no modelo relacional, duas linhas onde todos os
campos tenham o mesmo valor (campo a campo)
Pois essas linhas teriam a mesma identidade, isso é,
seriam a mesma linha
É possível quebrar essa regra em implementações
específicas de SGBD
4
Chave
Uma Chave é um conjunto de campos cujos valores
identificam unicamente uma linha em uma tabela
5
Tipos de Chave
Chave Candidata
Chave Primária
Chava Alternativa
Chave Estrangeira
6
Chave Candidata
Uma Chave Candidata é uma coluna ou conjunto de colunas
que pode ser usado para diferenciar uma linha de todas as
outras em uma tabela
Identificar as linhas
Pelo menos uma Chave Candidata existe sempre
Todos os campos da tabela
7
Chave Primária
A Chave Primária é a coluna ou combinação de colunas
escolhido como referência em uma tabela para diferenciar
uma linha das demais
A Chave Primária é escolhida entre as Chaves Candidatas
pelo Projetista do Banco da Dados
A escolha é obrigatória
8
Chave Alternativa
Uma Chave Alternativa é uma Chave Candidata que não
foi escolhida para ser Chave Primária
As Chaves Alternativas podem ser indicadas ou não, mas
recomenda-se que sejam indicadas
Porém, em muitos BDs isso só pode ser feito definindo-se
um índice, o que afeta o desempenho
9
Como Escolher?
A escolha da Chave Primária é uma escolha obrigatória
e também essencial
Veremos que as Chaves Primárias são usadas como Chave
Estrangeira, e isso é um fator importante na escolha
Então, melhor esperarmos um pouco...
10
Exemplo
Chaves Candidatas: Nome, CPF, Endereço
Nome não é uma boa chave primária
Endereço? E se dois funcionários morarem juntos?
Chave Primária:CPF
11
Chave Estrangeira
Uma Chave Estrangeira é uma coluna ou conjunto de colunas
de uma tabela que são Chave Primária em alguma tabela
"Alguma" pode ser a mesma tabela
As Chaves Estrangeiras permitem a implementação de
relacionamentos em um BD relacional
Chaves Estrangeiras implicam em Restrições
12
Chave Estrangeira: Exemplo
13
Não Confunda
Relação : tabela
Relacionamento : conceito do modelo ER
14
Restrições
Restrições de Integridade
Restrições de Chave Estrangeira
15
Restrição de Integridade
Chaves definem restrições de integridade
No caso da Chave Primária, a integridade é a unicidade
A princípio, um BD relacional não tem como saber nada em
relação a unicidade dos valores
A definição da Chave Primária define a restrição de integridade
16
Tipos de Restrições de Integridade
Integridade de Domínio
Integridade de Vazio
Integridade de Chave
Integridade Referencial
17
Integridade de Domínio
O valor de um campo deve pertencer ao domínio
18
Integridade de Vazio
Para cada campo, deve ser definido se ele pode assumir
o valor nulo
Implica em a coluna ser obrigatória (sem nulos) ou
opcional (admitindo nulos)
19
Integridade de Chave
Trata-se da definição das chaves primárias e alternativas
Indicam colunas e conjuntos de colunas que devem ter
valores únicos
20
Integridade Referencial
Indicam que os valores dos campos em uma Chave
Estrangeira devem aparecer na Chave Primária de
uma tabela referenciada
21
Restrições impostas pela
Chave Estrangeira
Na inclusão e alteração de uma linha na tabela que contém
a Chave Estrangeira
Deve ser garantido que o valor da Chave Estrangeira seja
uma Chave Primária na tabela referenciada
Na alteração e exclusão de uma linha na tabela referenciada
Deve ser garantido que o valor da Chave Primária nessa
linha não apareça como Chave Estrangeira
22
Formalizando
Restrições do Modelo Relacional
Restrições de Domínio
Restrições de Integridade do Esquema Relacional
Restrições de Chave
23
Notação
24
Notação
25
Notação
Q, R, S serão nomes de relações
q, r, s serão nomes de estados de relações
t, u, v serão nomes de tuplas
26
Notação
Um nome (como ALUNO) indicará o conjunto atual de
tuplas em uma relação (a instância ou estado atual)
Uma descrição como ALUNO(Nome,Nota) indicará um
esquema de relação
27
Restrições de Domínio
A mais simples
Cada valor de um atributo A precisa ser um valor atômico
daquele atributo
Já visto anteriormente
Ou nulo
28
Restrições de Chave
Uma relação é um conjunto de tuplas
Tuplas são diferentes
Em um conjunto, todos os elementos são diferentes
(definição de conjunto)
Nenhum par de tuplas pode ter a mesma comibão de
valores para todos os seus atributos
Normalmente existem outros sub-conjuntos de atributos
em um esquema de relação R com a propriedade que
nenhuma instância r de R possui a mesma combinação de
valores para esses atributos
Pode ser apenas um atributo
29
Restrições de Chave
30
Super Chave
Uma super chave de R é um conjunto de atributos para
o qual não é possível encontrar duas tuplas com os
mesmos valores para todos os atributos
Toda relação tem pelo menos uma super-chave
O conjunto de todos os atributos
31
Chave
Uma Chave C de uma Relação R é uma Super Chave de R
com a seguinte propriedade adicional
Removendo qualquer atributo A do conjunto de atributos
que define C, o conjunto resultante não é uma Super-Chave de R
Uma Chave é uma Super-Chave mínima, sem redundância
32
Chave Candidata - Chave Primária
Todas as Chaves são consideradas Chaves Candidatas
Uma Chave Candidata é designada como Chave Primária
da Relação (PK, de Primary Key)
A escolha é arbitrária, porém favorecemos as menores Chaves
A Chave Primária é usada como identificador da relação
33
Esquema de BD Relacional
34
Um Exemplo: Esquema de BD
Relacional
35
Instância de um BD Relacional
36
Empregado
37
Departamento
Local de Departamento
38
Projeto
39
Horas Trabalhadas
40
Dependentes
41
Restrições de Integridade do
Esquema Relacional
Integridade de Entidade
Integridade Referencial
Chaves Externas
42
Integridade de Entidade
A restrição de integridade de entidade diz que nenhum valor
de chave primária pode ser nulo
Para ser possível identificar a entidade
43
Restrição de Integridade Referencial
A restrição de integridade referencial é especificada
entre duas relações
Mantém a consistência
Ela diz que uma tupla de uma relação que possui uma
chave estrangeira que referencia outra relação deve
referenciar uma tupla existente
Precisamos definir formalmente Chaves Estrangeiras
44
Chaves Estrangeiras
45
FK: Regra 1
46
FK: Regra 2
47
Lembrem
48
Restrições de Integridade Referencial
As relações de integridade vêm da existência de relacionamentos
entre as entidades representadas pelos esquemas de relações
Lembrem do modelo de Entidades e Relacionamentos
As restrições de integridade
referencial podem ser
indicadas como setas
49
Um Exemplo: Esquema BDR
50
Conclusão
Chaves são identificadores
Relacionamentos são mostrados como Chaves Estrangeiras
Ainda existem outras restrições, conhecidas como restrições
semânticas, e que serão tratadas bem mais tarde no curso
1
Professores:
Geraldo Xexéo
Geraldo Zimbrão
Conteúdo:
Modelo Relacional: Álgebra 
Relacional
Aula 013
2
Relembrando
Relação : tabela
Domínio
conjunto de valores possíveis
Tupla : linha
número de tuplas: cardinalidade
Atributo : coluna
número de atributos: grau
Chave: atributos que identificam a linha
3
Para que servem bancos de dados?
Um banco de dados tem como objetivo guardar dados para que 
sejam posteriormente consultados
Existem várias linguagens de consulta
A álgebra relacional é uma linguagem de consulta formal (teórica)
4
Álgebra Relacional
Fornece um conjunto de operadores que permitam, a partir de 
tabelas, obter uma tabela com os dados desejados pelo usuário
Operações da Teoria dos Conjuntos
União, Interseção, Diferença, Produto
Operações Relacionais
Seleção, Projeção, Divisão, Junção
Programação
Atribuição ou Renomear
5
Álgebra Relacional
Restrição ou Seleção Projeção
Divisão
a x
a y
a z
b x
c y
x
z a
Junção (Natural)
a1 b1
a2 b2
a3 b3
b1 c1
b2 c2
b3 c3
a1 b1 c1
a2 b2 c2
a3 b3 c3
Produto
a
b
c
x
y
a x
a y
b x
b y
c x
c y
União Interseção Diferença
6
Chaves
Primárias:
 NUMF
 NUMP
 NUMPR
Partes-Fornecedores
FORNECEDORES
NUMF NOMEF STATUS CIDADE
1
2
3
4
5
Selma
João
Branco
Carlos
Aline
20
10
30
20
30
São Paulo
Rio de Janeiro
Rio de Janeiro
São Paulo
Belo Horizonte
PROJETOS
NUMPR NOMEJR CIDADE
1
2
3
4
5
Ordenador
Vídeo
Teclado
Console
Disco
Rio de Janeiro
Porto Alegre
Belo Horizonte
Belo Horizonte
São Paulo
6 Telefone Niterói
7 Fita São Paulo
PEDIDOS
NUMPRNUMF QUANTIDADE
1
1
2
2
2
200
300
400
500
600
2 100
2 600
NUMP
1
1
3
3
3
3
3
1
4
1
2
3
4
5
2 5003 6
2 3003 7
2 4005 2
3 5003 1
3 4004 2
4 6006 3
4 3006 7
5 1002 2
5 7005 7
5 5006 2
5 2001 7
5 3003 2
5 4004 4
5 1005 4
5 5006 4
PARTES
NUMP NOMEP COR CIDADE
1
2
3
4
5
Caixa
Parafuso
Parafuso
Parafuso
Arruela
Vermelha
Verde
Azul
Vermelha
Azul
São Paulo
Rio de Janeiro
Porto Alegre
São Paulo
Rio de Janeiro
6 Alavanca Vermelha São Paulo
PESO
12
17
17
14
12
19
7
União
Retorna uma relação consistindo das tuplas aparecendo em 
quaisquer das relações especificadas
8
União: Notação
Notação: A UNION B
Notação: A B
9
União: Exemplo
FORNECEDORESA UNION FORNECEDORESB
FORNECEDORESA
NUMF NOMEF STATUS CIDADE
1
2
5
Selma
João
Aline
20
10
30
São Paulo
Rio de Janeiro
Belo Horizonte
FORNECEDORESB
NUMF NOMEF STATUS CIDADE
3
4
5
Branco
Carlos
Aline
30
20
30
Rio de Janeiro
São Paulo
Belo Horizonte
FORNECEDORES
NUMF NOMEF STATUS CIDADE
1
2
3
4
5
Selma
João
Branco
Carlos
Aline
20
10
30
20
30
São Paulo
Rio de Janeiro
Rio de Janeiro
São Paulo
Belo Horizonte
10
Interseção
Retorna uma relação consistindo de todas as tuplas que 
aparecemem duas relações especificadas
11
Interseção : Notação
Notação: A INTERSECTION B
Notação: A B
12
Interseção: Exemplo
FORNECEDORESA INTERSECT FORNECEDORESB
FORNECEDORESA
NUMF NOMEF STATUS CIDADE
1
2
5
Selma
João
Aline
20
10
30
São Paulo
Rio de Janeiro
Belo Horizonte
FORNECEDORESB
NUMF NOMEF STATUS CIDADE
3
4
5
Branco
Carlos
Aline
30
20
30
Rio de Janeiro
São Paulo
Belo Horizonte
FORNECEDORES
NUMF NOMEF STATUS CIDADE
5 Aline 30 Belo Horizonte
13
Diferença
Retorna uma relação consistindo das tuplas que aparecem na 
primeira relação especificada e não aparecem na segunda relação
14
Diferença : Notação
Notação: A MINUS B
Notação: A - B
15
Diferença : Exemplo
FORNECEDORESA MINUS FORNECEDORESB
FORNECEDORESA
NUMF NOMEF STATUS CIDADE
1
2
5
Selma
João
Aline
20
10
30
São Paulo
Rio de Janeiro
Belo Horizonte
FORNECEDORESB
NUMF NOMEF STATUS CIDADE
3
4
5
Branco
Carlos
Aline
30
20
30
Rio de Janeiro
São Paulo
Belo Horizonte
FORNECEDORES
NUMF NOMEF STATUS CIDADE
1
2
Selma
João
20
10
São Paulo
Rio de Janeiro
16
Produto
Retorna uma relação consistindo em todas as possíveis tuplas 
que podem ser formadas combinando duas tuplas, uma de cada
uma das relações especificadas
a
b
c
x
y
a x
a y
b x
b y
c x
c y
17
Produto : Notação
Notação: A TIMES B
Notação: A X B
18
Produto : Exemplo
PESSOAS TIMES CIDADES
PESSOAS
NOMEP
Selma
João
Branco
Carlos
Aline
CIDADE
NOMEC
Rio de Janeiro
Porto Alegre
Niterói
São Paulo
PESSOAS X CIDADES
NOMEP
Aline
Aline
Aline
Aline
Branco
Branco
Branco
NOMEC
Branco
Carlos
Carlos
Carlos
Carlos
João
João
João
João
Selma
Selma
Selma
Selma
Rio de Janeiro
Porto Alegre
Niterói
São Paulo
Rio de Janeiro
Porto Alegre
Niterói
São Paulo
Rio de Janeiro
Porto Alegre
Niterói
São Paulo
Rio de Janeiro
Porto Alegre
Niterói
São Paulo
Rio de Janeiro
Porto Alegre
Niterói
São Paulo
19
Seleção (ou Restrição)
Retorna uma relação consistindo de um conjunto de tuplas de uma
relação que satisfaz uma condição
20
Seleção : Notação
Notação: A WHERE X op Y
x e y são atributos do mesmo domínio (ou valores)
 é um operador
Notação: 
21
Seleção : Exemplo 1
FORNECEDORES WHERE CIDADE="Rio de Janeiro"
FORNECEDORES
NUMF NOMEF STATUS CIDADE
2
3
João
Branco
10
30
Rio de Janeiro
Rio de Janeiro
FORNECEDORES
NUMF NOMEF STATUS CIDADE
1
2
3
4
5
Selma
João
Branco
Carlos
Aline
20
10
30
20
30
São Paulo
Rio de Janeiro
Rio de Janeiro
São Paulo
Belo Horizonte
22
Seleção : Exemplo 2
PEDIDOS WHERE NUMF=NUMP
PEDIDOS
NUMPRNUMF QUANTIDADE
1
1
2
2
2
200
300
400
500
600
2 100
2 600
NUMP
1
1
3
3
3
3
3
1
4
1
2
3
4
5
2 5003 6
2 3003 7
2 4005 2
3 5003 1
3 4004 2
4 6006 3
4 3006 7
5 1002 2
5 7005 7
5 5006 2
5 2001 7
5 3003 2
5 4004 4
5 1005 4
5 5006 4
PEDIDOS
NUMPRNUMF QUANTIDADE
1
1
200
300
NUMP
1
1
1
4
3 5003 1
5 7005 7
5 1005 4
23
Seleção : Exemplo 3
PEDIDOS WHERE QUANTIDADE>500
PEDIDOS
NUMPRNUMF QUANTIDADE
1
1
2
2
2
200
300
400
500
600
2 100
2 600
NUMP
1
1
3
3
3
3
3
1
4
1
2
3
4
5
2 5003 6
2 3003 7
2 4005 2
3 5003 1
3 4004 2
4 6006 3
4 3006 7
5 1002 2
5 7005 7
5 5006 2
5 2001 7
5 3003 2
5 4004 4
5 1005 4
5 5006 4
PEDIDOS
NUMPRNUMF QUANTIDADE
2 600
2 600
NUMP
3
3
3
5
4 6006 3
5 7005 7
24
Projeção
Retorna uma relação consistindo de um conjunto de tuplas que
 remanescem em uma relação depois que alguns atributos são
 eliminados
25
Projeção : Notação
Notação: A [X,Y,...,Z]
x,y,...,z são atributos da relação
Notação:
26
Projeção : Exemplo 
FORNECEDORES [NOMEF,CIDADE]
FORNECEDORES
NOMEF CIDADE
Selma
João
Branco
Carlos
Aline
São Paulo
Rio de Janeiro
Rio de Janeiro
São Paulo
Belo Horizonte
FORNECEDORES
NUMF NOMEF STATUS CIDADE
1
2
3
4
5
Selma
João
Branco
Carlos
Aline
20
10
30
20
30
São Paulo
Rio de Janeiro
Rio de Janeiro
São Paulo
Belo Horizonte
27
Junção (Natural)
Retorna uma relação consistindo de todas as possíveis tuplas que 
são uma combinação de duas duplas, tal que as duas duplas que 
contribuem para a combinação possuem um valor comum nos 
atributos comum das duas relações
a1 b1
a2 b2
a3 b3
b1 c1
b2 c2
b3 c3
a1 b1 c1
a2 b2 c2
a3 b3 c3
28
Junção (Natural) : Notação
A JOIN B
29
Junção (Natural) : Exemplo 1 
FORNECEDORES 
JOIN PEDIDOS
FORNECEDORES JOIN PEDIDOS
NUMF NUMPR QUANTIDADE
1
1
2
2
2
200
300
400
500
600
2 100
2 600
NUMP
1
1
3
3
3
3
3
1
4
1
2
3
4
5
2 5003 6
2 3003 7
2 4005 2
3 5003 1
3 4004 2
4 6006 3
4 3006 7
5 1002 2
5 7005 7
5 5006 2
5 2001 7
5 3003 2
5 4004 4
5 1005 4
5 5006 4
NOMEF STATUS CIDADE
Selma 20 São Paulo
João 10 Rio de Janeiro
João 10 Rio de Janeiro
João 10 Rio de Janeiro
João 10 Rio de Janeiro
João 10 Rio de Janeiro
João 10 Rio de Janeiro
João 10 Rio de Janeiro
João 10 Rio de Janeiro
João 10 Rio de Janeiro
Branco 30 Rio de Janeiro
Branco 30 Rio de Janeiro
Carlos 20 São Paulo
Carlos 20 São Paulo
Aline 30 Belo Horizonte
Aline 30 Belo Horizonte
Aline 30 Belo Horizonte
Aline 30 Belo Horizonte
Aline 30 Belo Horizonte
Aline 30 Belo Horizonte
Aline 30 Belo Horizonte
Aline 30 Belo Horizonte
FORNECEDORES
NUMF NOMEF STATUS CIDADE
1
2
3
4
5
Selma
João
Branco
Carlos
Aline
20
10
30
20
30
São Paulo
Rio de Janeiro
Rio de Janeiro
São Paulo
Belo Horizonte
NUMF
PEDIDOS
NUMPR QUANTIDADE
1
1
2
2
2
200
300
400
500
600
2 100
2 600
NUMP
1
1
3
3
3
3
3
1
4
1
2
3
4
5
2 5003 6
2 3003 7
2 4005 2
3 5003 1
3 4004 2
4 6006 3
4 3006 7
5 1002 2
5 7005 7
5 5006 2
5 2001 7
5 3003 2
5 4004 4
5 1005 4
5 5006 4
30
Junção (Natural) : Exemplo 2 
FORNECEDORES JOIN PARTES
FORNECEDORES
NUMF NOMEF STATUS CIDADE
1
2
3
4
5
Selma
João
Branco
Carlos
Aline
20
10
30
20
30
São Paulo
Rio de Janeiro
Rio de Janeiro
São Paulo
Belo Horizonte
PARTES
NUMP NOMEP COR CIDADE
1
2
3
4
5
Caixa
Parafuso
Parafuso
Parafuso
Arruela
Vermelha
Verde
Azul
Vermelha
Azul
São Paulo
Rio de Janeiro
Porto Alegre
São Paulo
Rio de Janeiro
6 Alavanca Vermelha São Paulo
PESO
12
17
17
14
12
19
FORNECEDORES JOIN PARTES
NUMF NOMEF STATUS CIDADE
1
2
3
4
Selma
João
Branco
Carlos
20
10
30
20
São Paulo
Rio de Janeiro
Rio de Janeiro
São Paulo
NUMP NOMEP COR PESO
1 Selma 20 São Paulo
1 Selma 20 São Paulo
2 João 10 Rio de Janeiro
3 Branco 30 Rio de Janeiro
4 Carlos 20 São Paulo
4 Carlos 20 São Paulo
1 Caixa Vermelha 12
4 Parafuso Vermelha 14
6 Alavanca Vermelha 19
2 Parafuso Verde 17
2 Parafuso Verde 17
5 Arruela Azul 12
5 Arruela Azul 12
1 Caixa Vermelha 12
4 Parafuso Vermelha 14
6 Alavanca Vermelha 19
31
Divisão
32
Divisão
b e c não possuem todos os valores 
da segunda relação
z não faz diferença em a
a x x
a y z
a z
b x
c y
x
z
a
33
Divisão : Notação
A DIVIDEDBY B
A B
34
Divisão : Exemplo 
PARTES2
NUMP NOMEP COR CIDADE
1
2
3
4
Caixa
Parafuso
Parafuso
Parafuso
Vermelha
Azul
Vermelha
Vermelha
São Paulo
Porto Alegre
São Paulo
Rio de Janeiro
6 Alavanca Vermelha São Paulo
PESO
12
17
14
14
19
1 Caixa Vermelha Rio de Janeiro12
CIDADE
NOMEC
Rio de Janeiro
São Paulo
NUMP
PARTES2
NOMEP COR
1
4
Caixa
Parafuso
Vermelha
Vermelha
PESO
12
14
35
Renomear
Troca o nome de atributos
Simplifica a notação
36
Renomear: Notação
R RENAME A AS ALFA, B AS BETA
37
Renomear: Exemplo
PROJETOS RENAME NUMPR AS NUM, NOMEJR AS NOME
PROJETOS
NUMPR NOMEJR CIDADE
1
2
3
4
5
Ordenador
Vídeo
Teclado
Console
Disco
Rio de Janeiro
Porto Alegre
Belo Horizonte
Belo Horizonte
São Paulo
6 Telefone Niterói
7 Fita São Paulo
PROJETOS
NUM NOME CIDADE
1
2
3
4
5
Ordenador
Vídeo
Teclado
Console
Disco
Rio de Janeiro
Porto Alegre
Belo Horizonte
Belo Horizonte
São Paulo
6 Telefone Niterói
7 Fita São Paulo
1
Professores:
Geraldo Xexéo
Geraldo Zimbrão
Conteúdo:
Exercícios de Álgebra Relacional
Aula 014
2
Exercícios
Nomes de fornecedores da parte P21)
Nomes de fornecedores que fornecem ao menos uma parte 
vermelha
2)
Nomes de fornecedores que fornecem todas as partes3)
Números dos fornecedores que fornecem todas as partes 
fornecidas pelo fornedor

Continue navegando