Você está na página 1de 56
Tecnologias e Linguagens para Banco de Dados I Prof.: Evandro Lopes da Silva Nilson Augustini

Tecnologias e Linguagens para Banco de Dados I

Tecnologias e Linguagens para Banco de Dados I Prof.: Evandro Lopes da Silva Nilson Augustini
Prof.: Evandro Lopes da Silva
Prof.: Evandro Lopes da Silva

Nilson Augustini

Modelo Entidade-Relacionamento Nesta aula conheceremos: • a técnica de modelagem entidade-relacionamento:  O que

Modelo Entidade-Relacionamento

Nesta aula conheceremos:

a técnica de modelagem entidade-relacionamento:

O que é Modelagem Entidade-Relacionamento ?

O que são Entidades ?

O que são Relacionamentos ?

O que são Atributos ?

O Modelo Entidade Relacionamento

?  O que são Atributos ?  O Modelo Entidade Relacionamento Tecnologias e Linguagens para
?  O que são Atributos ?  O Modelo Entidade Relacionamento Tecnologias e Linguagens para

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Objetivos: • Apresentar a técnica da Modelagem Entidade-Relacionamento; • Apresentar

Modelo Entidade-Relacionamento

Objetivos:

Apresentar a técnica da Modelagem Entidade-Relacionamento;

Apresentar os principais componentes do Modelo Entidade-

Relacionamento.

Apresentar os principais componentes do Modelo Entidade- Relacionamento. Tecnologias e Linguagens para Banco de Dados I
Apresentar os principais componentes do Modelo Entidade- Relacionamento. Tecnologias e Linguagens para Banco de Dados I

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Modelagem Entidade-Relacionamento : • Técnica de análise de dados que estabelece a

Modelo Entidade-Relacionamento

Modelagem Entidade-Relacionamento :

Técnica de análise de dados que estabelece a estrutura dos dados a

partir da identificação dos objetos a respeito dos quais é necessário

guardar informações.

Componentes utilizados por esta técnica:

Entidades;

Relacionamentos entre entidades;

Atributos das entidades e dos relacionamentos.

entre entidades;  Atributos das entidades e dos relacionamentos. Tecnologias e Linguagens para Banco de Dados
entre entidades;  Atributos das entidades e dos relacionamentos. Tecnologias e Linguagens para Banco de Dados

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento • O uso do Modelo Entidade-Relacionamento (MER) foi apresentado por Peter Cher em

Modelo Entidade-Relacionamento

O uso do Modelo Entidade-Relacionamento (MER)

foi apresentado por Peter Cher em 1976.

Atualmente não existe um padrão único de modelo E-R(Entidade -

Relacionamento) aceito universalmente; em vez disto, há um

conjunto de conceitos dos quais se origina a maioria das variantes do E-R.

No MER, os elementos que o compõe são representados

graficamente através da ferramenta denominada Diagrama Entidade - Relacionamento (DER).

da ferramenta denominada Diagrama Entidade - Relacionamento (DER) . Tecnologias e Linguagens para Banco de Dados
da ferramenta denominada Diagrama Entidade - Relacionamento (DER) . Tecnologias e Linguagens para Banco de Dados

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Diagrama representando os objetos sobre os quais guardamos dados e os relacionamentos que
Modelo Entidade-Relacionamento
Modelo Entidade-Relacionamento

Diagrama representando os objetos sobre os quais guardamos dados e os relacionamentos que existem entre eles

sobre os quais guardamos dados e os relacionamentos que existem entre eles Tecnologias e Linguagens para
sobre os quais guardamos dados e os relacionamentos que existem entre eles Tecnologias e Linguagens para

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Conceitos centrais do Mod. Entidade-Relacionamento • Entidade; • Atributo;

Modelo Entidade-Relacionamento

Conceitos centrais do Mod. Entidade-Relacionamento

Entidade;

Atributo;

relacionamento;

Generalização/Especialização;

Entidade Associativa.

• Generalização/Especialização; • Entidade Associativa. Tecnologias e Linguagens para Banco de Dados I
• Generalização/Especialização; • Entidade Associativa. Tecnologias e Linguagens para Banco de Dados I

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Entidades • Objeto que existe no mundo real com uma identificação distinta e

Modelo Entidade-Relacionamento

Entidades

Objeto que existe no mundo real com uma identificação distinta e com um significado próprio;

Conjunto de objetos da realidade modelada sobre os quais deseja

se manter informações na base de dados;

modelada sobre os quais deseja se manter informações na base de dados; Tecnologias e Linguagens para
modelada sobre os quais deseja se manter informações na base de dados; Tecnologias e Linguagens para

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Entidades • São as “coisas” que existem no negócio (objeto de análise), ou

Modelo Entidade-Relacionamento

Entidades

São as “coisas” que existem no negócio (objeto de análise), ou ainda, descrevem o negócio.

Se alguma “coisa”, existente no negócio gera interesse de se manter

os dados, isto a caracteriza como uma Entidade do Negócio.

Entidades de um mesmo tipo são agrupadas em Classes de Entidade.

Exemplo: classe de entidades ALUNOS é o conjunto de todas as

instâncias de alunos (classes de entidades estão impressas em letra maiúscula).

de alunos (classes de entidades estão impressas em letra maiúscula). Tecnologias e Linguagens para Banco de
de alunos (classes de entidades estão impressas em letra maiúscula). Tecnologias e Linguagens para Banco de

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Entidades Podem representar: • Objetos concretos da realidade (uma pessoa, um

Modelo Entidade-Relacionamento

Entidades

Podem representar:

Objetos concretos da realidade (uma pessoa, um automóvel,

uma casa, etc);

Objetos abstratos (um departamento, em endereço, etc).

casa, etc); • Objetos abstratos (um departamento, em endereço, etc). Tecnologias e Linguagens para Banco de
casa, etc); • Objetos abstratos (um departamento, em endereço, etc). Tecnologias e Linguagens para Banco de

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Entidades A representação gráfica de uma entidade no MER se realiza através de

Modelo Entidade-Relacionamento

Entidades

A representação gráfica de uma entidade no MER se realiza

através de um retângulo, com o nome desta entidade em seu interior

(sem utilizar acentuação e com letras maiúsculas).

CURSOS

PROFESSORES

DISCIPLINAS

TURMAS

e com letras maiúsculas). CURSOS PROFESSORES DISCIPLINAS TURMAS LIVROS Tecnologias e Linguagens para Banco de Dados

LIVROS

e com letras maiúsculas). CURSOS PROFESSORES DISCIPLINAS TURMAS LIVROS Tecnologias e Linguagens para Banco de Dados

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Instância de uma Entidade • É a combinação de valores atribuídos a um

Modelo Entidade-Relacionamento

Instância de uma Entidade

É a combinação de valores atribuídos a um participante da entidade.

Imaginemos a entidade FUNCIONARIO e considerando que uma

empresa pode ter vários funcionários, esses valores atribuídos são as informações que a empresa deseja armazenar de seus

funcionários, por exemplo: nome, telefone, endereço, etc. Então,

chamamos de instância de entidade cada um desses funcionários.Refere-se a uma ocorrência da Entidade.

cada um desses funcionários.Refere-se a uma ocorrência da Entidade. Tecnologias e Linguagens para Banco de Dados
cada um desses funcionários.Refere-se a uma ocorrência da Entidade. Tecnologias e Linguagens para Banco de Dados

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Instância de uma Entidade Refere-se a uma ocorrência da Entidade. Alguns exemplos de

Modelo Entidade-Relacionamento

Instância de uma Entidade

Refere-se a uma ocorrência da Entidade.

Alguns exemplos de instancias de entidades:

O FUNCIONARIO João;

O VEICULO Corsa;

A ALUNA Maria;

O CLIENTE Pedro;

O PRODUTO A323

Corsa; • A ALUNA Maria; • O CLIENTE Pedro; • O PRODUTO A323 Tecnologias e Linguagens
Corsa; • A ALUNA Maria; • O CLIENTE Pedro; • O PRODUTO A323 Tecnologias e Linguagens

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Diagrama de Ocorrências E n t i d a d e P E

Modelo Entidade-Relacionamento

Diagrama de Ocorrências

Entidade PEESOAS

P16 P26 P6 P1 P11 P21 P17 P7 P27 P2 P12 P22 P8 P28 P18
P16
P26
P6
P1
P11
P21
P17
P7
P27
P2
P12
P22
P8
P28
P18
P3
P13
P23
P9
P29
P19
P4
P14
P24
P20
P30
P10
P5
P15
P25
P31

Entidade DEPARTAMENTOS

D10 D19 D15 D11 D12 D16
D10
D19
D15
D11
D12
D16
D13 D17
D13
D17

D14D10 D19 D15 D11 D12 D16 D13 D17 D18 D7 D1 D4 D2 D8 D5 D9

D18D10 D19 D15 D11 D12 D16 D13 D17 D14 D7 D1 D4 D2 D8 D5 D9

D7 D1 D4 D2 D8
D7
D1
D4
D2
D8
D5 D9
D5
D9
D3 D6
D3
D6
D16 D13 D17 D14 D18 D7 D1 D4 D2 D8 D5 D9 D3 D6 Tecnologias e
D16 D13 D17 D14 D18 D7 D1 D4 D2 D8 D5 D9 D3 D6 Tecnologias e

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Critérios para identificar Entidades Para cada substantivo ou nome que julgarmos ser uma

Modelo Entidade-Relacionamento

Critérios para identificar Entidades

Para cada substantivo ou nome que julgarmos ser uma entidade, devemos fazer os seguintes questionamentos:

Há necessidade de guardar informações sobre este objeto ?

Há mais de um objeto deste tipo ?

Existe um valor capaz de identificar cada objeto de forma única ?

Se a resposta a essas três perguntas forem positiva, identificamos

uma entidade.

a essas três perguntas forem positiva, identificamos uma entidade. Tecnologias e Linguagens para Banco de Dados
a essas três perguntas forem positiva, identificamos uma entidade. Tecnologias e Linguagens para Banco de Dados

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Critérios para identificar Entidades Exemplo: Pedido seria uma entidade? Para saber temos

Modelo Entidade-Relacionamento

Critérios para identificar Entidades

Exemplo:

Pedido seria uma entidade?

Para saber temos de responder as seguintes perguntas:

Há necessidade de guardar informações sobre este objeto ?

Resposta:

Sim, temos de guardar informações sobre todos os pedidos.

? Resposta: Sim, temos de guardar informações sobre todos os pedidos. Tecnologias e Linguagens para Banco
? Resposta: Sim, temos de guardar informações sobre todos os pedidos. Tecnologias e Linguagens para Banco

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Critérios para identificar Entidades • Há mais de um objeto deste tipo ?

Modelo Entidade-Relacionamento

Critérios para identificar Entidades

Há mais de um objeto deste tipo ?

Resposta:

Sim, é claro que existem diversos pedidos, e não um só.

tipo ? Resposta: Sim, é claro que existem diversos pedidos, e não um só. Tecnologias e
tipo ? Resposta: Sim, é claro que existem diversos pedidos, e não um só. Tecnologias e

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Critérios para identificar Entidades • Existe um valor capaz de identificar cada objeto

Modelo Entidade-Relacionamento

Critérios para identificar Entidades

Existe um valor capaz de identificar cada objeto de forma única ?

Resposta:

Sim, podemos estabelecer um valor único para identificar cada registro (pedido).

Portanto, de acordo com as respostas, pedido é de fato uma

entidade.

Portanto, de acordo com as respostas, pedido é de fato uma entidade. Tecnologias e Linguagens para
Portanto, de acordo com as respostas, pedido é de fato uma entidade. Tecnologias e Linguagens para

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Critérios para identificar Entidades Exemplo: Quantidade (substantivo) é uma entidade?

Modelo Entidade-Relacionamento

Critérios para identificar Entidades

Exemplo:

Quantidade (substantivo) é uma entidade?

Apliquemos as perguntas:

Há necessidade de guardar informações sobre este objeto ?

Resposta:

Quantidade é uma informação que guardamos a respeito de um pedido, e não um objeto a respeito do qual guardamos dados.

respeito de um pedido, e não um objeto a respeito do qual guardamos dados. Tecnologias e
respeito de um pedido, e não um objeto a respeito do qual guardamos dados. Tecnologias e

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Critérios para identificar Entidades • Há mais de um objeto deste tipo ?

Modelo Entidade-Relacionamento

Critérios para identificar Entidades

Há mais de um objeto deste tipo ?

Resposta:

Sim, existem várias quantidades.

mais de um objeto deste tipo ? Resposta: Sim, existem várias quantidades. Tecnologias e Linguagens para
mais de um objeto deste tipo ? Resposta: Sim, existem várias quantidades. Tecnologias e Linguagens para

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Critérios para identificar Entidades • Existe um valor capaz de identificar cada objeto

Modelo Entidade-Relacionamento

Critérios para identificar Entidades

Existe um valor capaz de identificar cada objeto de forma única ?

Resposta:

Não faz sentido definir um valor único para identificar uma

quantidade.

Basta que uma das respostas seja negativa para descartar uma provável entidade.

que uma das respostas seja negativa para descartar uma provável entidade. Tecnologias e Linguagens para Banco
que uma das respostas seja negativa para descartar uma provável entidade. Tecnologias e Linguagens para Banco

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Propriedades de Entidades • Entidades isoladamente não informam nada; • É

Modelo Entidade-Relacionamento

Propriedades de Entidades

Entidades isoladamente não informam nada;

É necessário atribuir propriedades às entidades;

Propriedades especificadas na forma de:

Atributos; Relacionamentos;

Generalizações/Especializações.

Atributos;  Relacionamentos;  Generalizações/Especializações. Tecnologias e Linguagens para Banco de Dados I
Atributos;  Relacionamentos;  Generalizações/Especializações. Tecnologias e Linguagens para Banco de Dados I

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Atributos • Propriedades (características) de uma entidade ; • Dado que é associado

Modelo Entidade-Relacionamento

Atributos

Propriedades (características) de uma entidade ;

Dado que é associado a cada ocorrência de uma entidades;

entidade ; • Dado que é associado a cada ocorrência de uma entidades; Tecnologias e Linguagens
entidade ; • Dado que é associado a cada ocorrência de uma entidades; Tecnologias e Linguagens

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Exemplos: Atributos • Atributos de cliente:  Código do cliente  Nome do

Modelo Entidade-Relacionamento

Exemplos:

Atributos

Atributos de cliente:

Código do cliente

Nome do cliente;

Endereço do cliente;

Data de nascimento do cliente

Atributos de pedido (entre outros):

Número do pedido;

Número da filial;

Data emissão do pedido

Número do pedido;  Número da filial;  Data emissão do pedido Tecnologias e Linguagens para
Número do pedido;  Número da filial;  Data emissão do pedido Tecnologias e Linguagens para

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Atributos Exemplos: • Atributos de funcionário:  Número de matrícula;  Nome

Modelo Entidade-Relacionamento

Atributos

Exemplos:

Atributos de funcionário:

Número de matrícula;

Nome do funcionário;

Data da admissão

Entidade FUNCIONARIOS

numero_Matricula

nome

data_Admissao

4455 João

 

24/04/1991

4456 Pedro

 

20/03/1992

4457 Manuel

 

14/04/1992

4458 Carlos

 

01/04/1995

4457 Manuel   14/04/1992 4458 Carlos   01/04/1995 Tecnologias e Linguagens para Banco de Dados I
4457 Manuel   14/04/1992 4458 Carlos   01/04/1995 Tecnologias e Linguagens para Banco de Dados I

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Atributos • É representado graficamente por um círculo ligado por uma linha à

Modelo Entidade-Relacionamento

Atributos

É representado graficamente por um círculo ligado por uma linha à entidade ao qual pertence. O nome do atributo aparece ao lado do

círculo.

pertence. O nome do atributo aparece ao lado do círculo. PROJETOS Tipo Codigo Nome ou Tecnologias
PROJETOS Tipo Codigo Nome
PROJETOS
Tipo
Codigo
Nome

ou

do atributo aparece ao lado do círculo. PROJETOS Tipo Codigo Nome ou Tecnologias e Linguagens para

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Atributos • Pode ser representado graficamente por uma elipse em torno de seu

Modelo Entidade-Relacionamento

Atributos

Pode ser representado graficamente por uma elipse em torno de seu nome.

graficamente por uma elipse em torno de seu nome. PROJETOS Tipo Codigo Nome Tecnologias e Linguagens
PROJETOS Tipo Codigo Nome
PROJETOS
Tipo
Codigo
Nome
por uma elipse em torno de seu nome. PROJETOS Tipo Codigo Nome Tecnologias e Linguagens para

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Chave Primária • Atributo(s) responsável(is) por identificar de forma única cada

Modelo Entidade-Relacionamento

Chave Primária

Atributo(s) responsável(is) por identificar de forma única cada

instância de uma entidade, uma vez que não existem duas instâncias

de entidades iguais.

Possui duas restrições importantes:

Não se repete;

Não contém valor NULO.

Um VALOR NULO é um valor que não tem significado algum para o mundo real, somente para o conceitual.

não tem significado algum para o mundo real, somente para o conceitual. Tecnologias e Linguagens para
não tem significado algum para o mundo real, somente para o conceitual. Tecnologias e Linguagens para

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Superchave, Chaves Candidatas e Chave Secundária Além da chave primária também temos:

Modelo Entidade-Relacionamento

Superchave, Chaves Candidatas e Chave Secundária

Além da chave primária também temos:

Superchave: é o conjunto de um ou mais atributos que, tomado

coletivamente, permite-nos identificar unicamente uma entidade no

conjunto de entidade.

Chaves candidatas: chaves com unicidade em uma relação: Ex: CPF,

RG, título eleitoral. Todos os atributos que conseguem identificar

uma Relação.

Chave secundária: chave sem unicidade em uma relação. Ex: idade, sexo, endereço.

chave sem unicidade em uma relação. Ex: idade, sexo, endereço. Tecnologias e Linguagens para Banco de
chave sem unicidade em uma relação. Ex: idade, sexo, endereço. Tecnologias e Linguagens para Banco de

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Chave Primária • É representada graficamente por um círculo ligado por uma linha

Modelo Entidade-Relacionamento

Chave Primária

É representada graficamente por um círculo ligado por uma linha à entidade ao qual pertence. O nome do atributo aparece ao lado do

círculo e é sublinhado.

do atributo aparece ao lado do círculo e é sublinhado. PROJETOS Tipo Codigo Nome ou Tecnologias
PROJETOS Tipo Codigo Nome
PROJETOS
Tipo
Codigo
Nome

ou

ao lado do círculo e é sublinhado. PROJETOS Tipo Codigo Nome ou Tecnologias e Linguagens para

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Chave Primária • Pode ser representado graficamente por uma elipse em torno de

Modelo Entidade-Relacionamento

Chave Primária

Pode ser representado graficamente por uma elipse em torno de seu nome o qual deve ser sublinhado.

uma elipse em torno de seu nome o qual deve ser sublinhado. PROJETOS Tipo Codigo Nome
PROJETOS Tipo Codigo Nome
PROJETOS
Tipo
Codigo
Nome
torno de seu nome o qual deve ser sublinhado. PROJETOS Tipo Codigo Nome Tecnologias e Linguagens

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Atributos Multivalorados • Atributos que para cada instância de uma entidade, pode

Modelo Entidade-Relacionamento

Atributos Multivalorados

Atributos que para cada instância de uma entidade, pode ocorre várias vezes.

Ex.: Telefones para clientes ou alunos, Nomes de cidades à beira

de uma rodovia, Nomes dos autores de um livro, etc.

No DER, é representado por duas elipses em torno do nome do

atributo.

CLIENTES RG Telefone Nome
CLIENTES
RG
Telefone
Nome

Atributo Multivalorado

do nome do atributo. CLIENTES RG Telefone Nome Atributo Multivalorado Tecnologias e Linguagens para Banco de
do nome do atributo. CLIENTES RG Telefone Nome Atributo Multivalorado Tecnologias e Linguagens para Banco de

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Represent. em um SGBD de atributos multivalorados RG Nome RG Telefone  

Modelo Entidade-Relacionamento

Represent. em um SGBD de atributos multivalorados

RG

Nome

RG

Telefone

 

3382-0000

 

João

1116

1116

1116

9711-1111

1220

Pedro

1220

9700-0000

1116 1116 1116 9711-1111 1220 Pedro 1220 9700-0000 Tecnologias e Linguagens para Banco de Dados I
1116 1116 1116 9711-1111 1220 Pedro 1220 9700-0000 Tecnologias e Linguagens para Banco de Dados I

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Atributos Compostos • Atributos formados por outros atributos.  Ex.: Endereços,

Modelo Entidade-Relacionamento

Atributos Compostos

Atributos formados por outros atributos.

Ex.: Endereços, nome, área de uma sala, etc.

SALA NUMERO DIMENSAO ALTURA COMPRIMENTO LARGURA
SALA
NUMERO
DIMENSAO
ALTURA
COMPRIMENTO
LARGURA
de uma sala, etc. SALA NUMERO DIMENSAO ALTURA COMPRIMENTO LARGURA Tecnologias e Linguagens para Banco de
de uma sala, etc. SALA NUMERO DIMENSAO ALTURA COMPRIMENTO LARGURA Tecnologias e Linguagens para Banco de

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Represent. em um SGBD de atributos compostos Numero Comprimento Largura Altura

Modelo Entidade-Relacionamento

Represent. em um SGBD de atributos compostos

Numero

Comprimento

Largura

Altura

100

5

3

3

200

5

2

3

300

7

3

3

Altura 100 5 3 3 200 5 2 3 300 7 3 3 Tecnologias e Linguagens
Altura 100 5 3 3 200 5 2 3 300 7 3 3 Tecnologias e Linguagens

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Atributos Derivados • Atributos resultantes (derivados) de outros atributos ou

Modelo Entidade-Relacionamento

Atributos Derivados

Atributos resultantes (derivados) de outros atributos ou originados de algum cálculo.

Ex.: idade, qtde_de_func

CODIGO
CODIGO

SALA

DATA_NASCTO
DATA_NASCTO
QTDE_DE_FUNC
QTDE_DE_FUNC
IDADE
IDADE
 Ex.: idade, qtde_de_func CODIGO SALA DATA_NASCTO QTDE_DE_FUNC IDADE Tecnologias e Linguagens para Banco de Dados
 Ex.: idade, qtde_de_func CODIGO SALA DATA_NASCTO QTDE_DE_FUNC IDADE Tecnologias e Linguagens para Banco de Dados

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Entidades Fracas • Entidade cuja chave contém a chave de outra entidade; •

Modelo Entidade-Relacionamento

Entidades Fracas

Entidade cuja chave contém a chave de outra entidade;

Entidade que possui um dependência existencial com outra instância

de entidade;

São entidades que são dependentes da existência ou da identificação de uma outra entidade.

Dizer que uma entidade é fraca, significa dizer: QUE NÃO INTERESSA MANTER NA BASE OS DADOS DE UMA ENTIDADE SE ELA NÃO ESTIVER RELACIONADA COM OUTRA

ENTIDADE.

DADOS DE UMA ENTIDADE SE ELA NÃO ESTIVER RELACIONADA COM OUTRA ENTIDADE. Tecnologias e Linguagens para
DADOS DE UMA ENTIDADE SE ELA NÃO ESTIVER RELACIONADA COM OUTRA ENTIDADE. Tecnologias e Linguagens para

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Entidades Fracas Exemplo: Em um sistema onde tenhamos em nosso banco de dados

Modelo Entidade-Relacionamento

Entidades Fracas

Exemplo:

Em um sistema onde tenhamos em nosso banco de dados a

entidade FUNCIONARIOS e a entidade DEPENDENTES, a entidade

DEPENDENTES seria uma Entidade Fraca, pois a mesma só existe se existir o funcionário.

Representação gráfica de uma Entidade Fraca :

funcionário. Representação gráfica de uma Entidade Fraca : DEPENDENTES Tecnologias e Linguagens para Banco de Dados

DEPENDENTES

funcionário. Representação gráfica de uma Entidade Fraca : DEPENDENTES Tecnologias e Linguagens para Banco de Dados

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Representação das entidades FUNCIONARIOS e DEPENDENTES FUNCIONARIOS Num_Func Nome

Modelo Entidade-Relacionamento

Representação das entidades FUNCIONARIOS e DEPENDENTES

FUNCIONARIOS

Num_Func

Nome

Data_Admissão

4455

João

24/04/1991

4456

Pedro

20/03/1992

4457

Manuel

14/04/1992

4458

Carlos

01/04/1995

DEPENDENTES

Num_Func

Nome_dependente

Parentesco

4455

Francisco

Filho

4456

Daniel

Filho

4456

Maria

Filho

Francisco Filho 4456 Daniel Filho 4456 Maria Filho Tecnologias e Linguagens para Banco de Dados I
Francisco Filho 4456 Daniel Filho 4456 Maria Filho Tecnologias e Linguagens para Banco de Dados I

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Relacionamentos • Conjunto de associações entre entidades sobre as quais deseja-se

Modelo Entidade-Relacionamento

Relacionamentos

Conjunto de associações entre entidades sobre as quais deseja-se manter informações no Banco de Dados;

Existe quando um ou mais dados de uma entidade estão

relacionados de alguma forma com um ou mais dados de outra entidade.

estão relacionados de alguma forma com um ou mais dados de outra entidade. Tecnologias e Linguagens
estão relacionados de alguma forma com um ou mais dados de outra entidade. Tecnologias e Linguagens

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Relacionamentos Para determinar se entre duas entidades existe um relacionamento,

Modelo Entidade-Relacionamento

Relacionamentos

Para determinar se entre duas entidades existe um relacionamento, perguntamos:

Existe um vínculo entre os objetos destas entidades ?

Existe um vínculo entre os objetos destas entidades ?
Existe um vínculo entre os objetos destas entidades ?
Existe um vínculo entre os objetos destas entidades ?

A

partir de

um objeto

de uma entidade somos capazes de

localizar um objeto associado na outra entidade ?

Se a resposta for simpara algumas destas questões, está caracterizado um relacionamento entre as entidades envolvidas.

está caracterizado um relacionamento entre as entidades envolvidas. Tecnologias e Linguagens para Banco de Dados I
está caracterizado um relacionamento entre as entidades envolvidas. Tecnologias e Linguagens para Banco de Dados I

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Relacionamentos Exemplo: • Dado um sócio, eu sou capaz de localizar um título

Modelo Entidade-Relacionamento

Relacionamentos

Exemplo:

Dado um sócio, eu sou capaz de localizar um título ?

Resposta:

Sim, preciso saber que título ele possui.

Dado um título, eu sou capaz de localizar um sócio ?

Resposta:

Sim, quero saber a que sócio este título pertence.

um sócio ? Resposta: Sim, quero saber a que sócio este título pertence. Tecnologias e Linguagens
um sócio ? Resposta: Sim, quero saber a que sócio este título pertence. Tecnologias e Linguagens

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Relacionamentos Exemplo: Cliente faz empréstimos. Desta frase, o que é Entidade e o

Modelo Entidade-Relacionamento

Relacionamentos

Exemplo:

Cliente faz empréstimos.

Desta frase, o que é Entidade e o que é Relacionamento ?

Podemos dizer que os SUBSTANTIVOS são as Entidades e os

VERBOS são os Relacionamentos. Assim sendo, temos que:

ClLIENTE e EMPRESTIMO são Entidades e

FAZ é Relacionamento.

• ClLIENTE e EMPRESTIMO são Entidades e • FAZ é Relacionamento. Tecnologias e Linguagens para Banco
• ClLIENTE e EMPRESTIMO são Entidades e • FAZ é Relacionamento. Tecnologias e Linguagens para Banco

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Relacionamentos • É representado graficamente por um losango que une as entidades

Modelo Entidade-Relacionamento

Relacionamentos

É representado graficamente por um losango que une as entidades relacionadas;

O nome do relacionamento é representado dentro do losango.

relacionamento
relacionamento
O nome do relacionamento é representado dentro do losango. relacionamento Tecnologias e Linguagens para Banco de
O nome do relacionamento é representado dentro do losango. relacionamento Tecnologias e Linguagens para Banco de

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Relacionamento e Instância • Relacionamento é um conjunto de associações entre

Modelo Entidade-Relacionamento

Relacionamento e Instância

Relacionamento é um conjunto de associações entre instâncias de entidades;

Uma instância (ocorrência) é uma associação específica entre

determinadas instâncias de entidades.

uma associação específica entre determinadas instâncias de entidades. Tecnologias e Linguagens para Banco de Dados I
uma associação específica entre determinadas instâncias de entidades. Tecnologias e Linguagens para Banco de Dados I

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Ocorrência Exemplo: relacionamento trabalham • Ocorrência = par específico formado

Modelo Entidade-Relacionamento

Ocorrência

Exemplo:

relacionamento trabalham

Ocorrência = par específico formado por uma ocorrência de

PESSOAS e uma ocorrência de DEPARTAMENTOS.

PESSOAS

PESSOAS
trabalham
trabalham
DEPARTAMENTOS

DEPARTAMENTOS

PESSOAS e uma ocorrência de DEPARTAMENTOS. PESSOAS trabalham DEPARTAMENTOS Tecnologias e Linguagens para Banco de Dados
PESSOAS e uma ocorrência de DEPARTAMENTOS. PESSOAS trabalham DEPARTAMENTOS Tecnologias e Linguagens para Banco de Dados

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Diagrama de Ocorrências p4 p8 p1 p5 p2 p7 p6 p3 p5,d3 p1,d1

Modelo Entidade-Relacionamento

Diagrama de Ocorrências p4 p8 p1 p5 p2 p7 p6 p3 p5,d3 p1,d1 p4,d2 p2,d1
Diagrama de Ocorrências
p4
p8
p1
p5
p2
p7
p6
p3
p5,d3
p1,d1
p4,d2
p2,d1
d2
d3
d1

Entidade

PESSOAS

relacionamento

trabalham

Entidade

DEPARTAMENTOS

d2 d3 d1 Entidade PESSOAS relacionamento trabalham Entidade DEPARTAMENTOS Tecnologias e Linguagens para Banco de Dados
d2 d3 d1 Entidade PESSOAS relacionamento trabalham Entidade DEPARTAMENTOS Tecnologias e Linguagens para Banco de Dados

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Auto-Relacionamento • Ocorre toda vez que temos uma ocorrência de uma entidade estar

Modelo Entidade-Relacionamento

Auto-Relacionamento

Ocorre toda vez que temos uma ocorrência de uma entidade estar associada a uma ou mais ocorrências da mesma entidade.

associada a uma ou mais ocorrências da mesma entidade. ENTIDADE Relacio- namento Tecnologias e Linguagens para
ENTIDADE Relacio- namento
ENTIDADE
Relacio-
namento
a uma ou mais ocorrências da mesma entidade. ENTIDADE Relacio- namento Tecnologias e Linguagens para Banco

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Exemplos de Auto-Relacionamento FUNCIONARIOS gerencia PESSOAS fliacao PRODUTOS Composi-

Modelo Entidade-Relacionamento

Exemplos de Auto-Relacionamento

FUNCIONARIOS

gerencia
gerencia

PESSOAS

fliacao
fliacao

PRODUTOS

Composi- cao
Composi-
cao
PESSOAS casamento
PESSOAS
casamento
gerencia PESSOAS fliacao PRODUTOS Composi- cao PESSOAS casamento Tecnologias e Linguagens para Banco de Dados I
gerencia PESSOAS fliacao PRODUTOS Composi- cao PESSOAS casamento Tecnologias e Linguagens para Banco de Dados I

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Papel de Relacionamento • Função que uma ocorrência de uma entidade cumpre em

Modelo Entidade-Relacionamento

Papel de Relacionamento

Função que uma ocorrência de uma entidade cumpre em uma ocorrência de um relacionamento;

Exemplo:

Relacionamento de casamento:

Uma ocorrência de pessoa exerce o papel de marido

Uma ocorrência de pessoa exerce o papel de esposa;

Relacionamento entre entidades diferentes:

Não é necessário indicar os papéis das entidades.

diferentes:  Não é necessário indicar os papéis das entidades. Tecnologias e Linguagens para Banco de
diferentes:  Não é necessário indicar os papéis das entidades. Tecnologias e Linguagens para Banco de

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Auto-Relacionamento Diagrama de Ocorrências p4 p8 p1 p5 p2 p7 p6 p3 esposa

Modelo Entidade-Relacionamento

Auto-Relacionamento Diagrama de Ocorrências

p4 p8 p1 p5 p2 p7 p6 p3 esposa marido marido esposa p6,p7 p1,p2
p4
p8
p1
p5
p2
p7
p6
p3
esposa
marido
marido
esposa
p6,p7
p1,p2

Entidade

PESSOAS

relacionamento

casamento

marido esposa p6,p7 p1,p2 Entidade PESSOAS relacionamento casamento Tecnologias e Linguagens para Banco de Dados I
marido esposa p6,p7 p1,p2 Entidade PESSOAS relacionamento casamento Tecnologias e Linguagens para Banco de Dados I

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Atributos nos Relacionamentos Assim como entidades possuem atributos, os relacionamentos

Modelo Entidade-Relacionamento

Atributos nos Relacionamentos

Assim como entidades possuem atributos, os relacionamentos também podem possuir atributos.

Exemplo 1: relacionamento N:N

ENGENHEIROS Codigo
ENGENHEIROS
Codigo
atributos. Exemplo 1: relacionamento N:N ENGENHEIROS Codigo Nome (0,N) (0,N) atuacao funcao Codigo PROJETOS Titulo

Nome

(0,N) (0,N) atuacao funcao
(0,N)
(0,N)
atuacao
funcao

Codigo

PROJETOS
PROJETOS
Codigo Nome (0,N) (0,N) atuacao funcao Codigo PROJETOS Titulo Tecnologias e Linguagens para Banco de Dados

Titulo

Codigo Nome (0,N) (0,N) atuacao funcao Codigo PROJETOS Titulo Tecnologias e Linguagens para Banco de Dados
Codigo Nome (0,N) (0,N) atuacao funcao Codigo PROJETOS Titulo Tecnologias e Linguagens para Banco de Dados

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Atributos nos Relacionamentos • ATUAÇÃO – a função que um engenheiro exerce

Modelo Entidade-Relacionamento

Atributos nos Relacionamentos

ATUAÇÃO a função que um engenheiro exerce dentro de um projeto.

Esta não pode ser considerada atributo da entidade ENGENHEIROS,

já que um engenheiro pode atuar em diversos projetos exercendo diferentes funções.

Também não é atributo da entidade PROJETOS, já que em um

projeto podem atuar diversos engenheiros com funções diferentes.

em um projeto podem atuar diversos engenheiros com funções diferentes. Tecnologias e Linguagens para Banco de
em um projeto podem atuar diversos engenheiros com funções diferentes. Tecnologias e Linguagens para Banco de

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento

Atributos nos Relacionamentos

Exemplo 2: relacionamento 1:N

Em uma organização comercial, são realizadas vendas à vista e

outras à prazo. As vendas à prazo são financiadas por uma

financeira, e de acordo com o número de parcelas é estabelecido a taxa de juros a ser cobrada.

FINANCEIRAS Codigo
FINANCEIRAS
Codigo

Nome

(0,1) (0,N) financia Nº parcelas Taxa juros
(0,1)
(0,N)
financia
Nº parcelas
Taxa juros

Codigo

VENDAS
VENDAS
Nome (0,1) (0,N) financia Nº parcelas Taxa juros Codigo VENDAS Data Tecnologias e Linguagens para Banco

Data

Nome (0,1) (0,N) financia Nº parcelas Taxa juros Codigo VENDAS Data Tecnologias e Linguagens para Banco
Nome (0,1) (0,N) financia Nº parcelas Taxa juros Codigo VENDAS Data Tecnologias e Linguagens para Banco

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento Atributos nos Relacionamentos • Estes dois atributos poderiam ter sido incluídos na

Modelo Entidade-Relacionamento

Atributos nos Relacionamentos

Estes dois atributos poderiam ter sido incluídos na entidade VENDAS. Neste caso, seriam atributos opcionais, já que nem toda

venda é à prazo e possui estes atributos. Assim sendo, optou-se em

usar o modelo do diagrama exatamente para explicitar o fato de os atributos nº de parcelas e taxa de juros pertencerem somente a

vendas à parzo.

nº de parcelas e taxa de juros pertencerem somente a vendas à parzo. Tecnologias e Linguagens
nº de parcelas e taxa de juros pertencerem somente a vendas à parzo. Tecnologias e Linguagens

Tecnologias e Linguagens para Banco de Dados I