Você está na página 1de 41

06/18/2021 Prof.

Eudes Souza 1/41

BANCO DE DADOS I
Modelagem de Dados usando o modelo
Entidade - Relacionamento
06/18/2021 Prof. Eudes Souza 2/41

MODELOS DE ALTO NÍVEL


Banco da Dados I
06/18/2021 Prof. Eudes Souza 3/41

Modelos de Alto Nível


• Exemplo de aplicações de Banco de Dados
• Aplicação de um Banco: Saques, Depósitos, Pagamentos,
Extratos
• Bolsa de Valores
• Inscrição em vestibular
• Uso de Eng. de Software para escrever tais aplicações
• Modelo Entidade-Relacionamento
• Diagramas ER
• Unified Modeling Language (UML)
• Diagramas de Classes
• Especificação de requisitos funcionais
06/18/2021 Prof. Eudes Souza 4/41

Modelos de
Alto Nível
A Figura 7.1 mostra uma
descrição simplificada do
processo de projeto de banco
de dados

1. Levantamento e Análise de
requisitos, requisitos de
dados e funcionais
2. Requisitos concisos e
detalhados
3. Definição de operações
aplicadas ao BD.
1. Diagramas de fluxo
2. Diagramas de sequência
3. Diagramas de cenários...
4. Esquema conceitual
5. Projeto conceitual
06/18/2021 Prof. Eudes Souza 5/41

Modelos de
Alto Nível
1. Implementação do BD
1. Modelo Relacional
2. Modelo Objeto-relacional
3. Projeto Lógico ou
Mapeamento do Modelo
de Dados
2. Projeto físico
1. Índices
2. Caminhos de acesso
3. Parâmetros físicos
3. Paralelamente programas
de aplicação são projetados
06/18/2021 Prof. Eudes Souza 6/41

EXEMPLO DE APLICAÇÃO
DE BANCO DE DADOS
Banco de Dados I
06/18/2021 Prof. Eudes Souza 7/41

Exemplo de aplicação de BD
• Nesta seção apresentamos um exemplo de uma
aplicação de banco de dados chamado EMPRESA,
que serve para ilustrar os conceitos básicos do
modelo ER e seu uso no projeto do esquema.
Listamos os requisitos para o banco de dados, então
criamos o esquema conceitual passo a passo,
enquanto introduzimos os conceitos do modelo ER.
• O banco de dados EMPRESA controla os empregados da
empresa, os departamentos e os projetos. Vamos
supor que, após a fase de levantamento e análise
dos requisitos, o projetista tenha fornecido a seguinte
descrição do 'minimundo' — parte da empresa a ser
representada no banco de dados:
06/18/2021 Prof. Eudes Souza 8/41

Descrição do Minimundo
1. A empresa está organizada em departamentos. Cada departamento
tem um nome único, um número único e um empregado que gerencia
o departamento. Temos a data em que o empregado começou a
gerenciar o departamento. E este pode ter diversas localizações.
2. Um departamento controla um número qualquer de projetos, cada
qual com um único nome, um único número e uma única localização.
3. Armazenamos o nome de cada empregado, o número do seguro
social, endereço, salário, sexo e data de nascimento. Um empregado
está alocado a um departamento, mas pode trabalhar em diversos
projetos que não são controlados, necessariamente, pelo mesmo
departamento. Controlamos o número de horas semanais que um
empregado trabalha em cada projeto. Também controlamos o supervisor
direto de cada empregado.
4. Queremos ter o controle dos dependentes de cada empregado para
fins de seguro. Guardamos o primeiro nome, sexo, data de
nascimento de cada dependente, e o parentesco dele com o empregado
06/18/2021 Prof. Eudes Souza 9/41

Diagrama ER
A Figura 7.2 mostra
como o esquema para
essa aplicação de um
banco de dados pode
ser representado por
meio de notações
gráficas
06/18/2021 Prof. Eudes Souza 10/41

TIPOS DE ENTIDADE,
CONJUNTOS DE ENTIDADES,
ATRIBUTOS E CHAVES
Banco de Dados I
06/18/2021 Prof. Eudes Souza 11/41

Tipos de entidade, conjuntos de entidades, atributos


e chaves
•O modelo ER descreve os dados como entidades,
relacionamentos e atributos como veremos a seguir:

1. Entidades e atributos
1. Entidades e seus atributos
2. Atributos compostos versus simples (atômicos)
3. Atributos de valor único versus multivalorados
4. Atributos armazenados versus derivados
5. Atributos complexos
2. Tipos de entidade, conjuntos de entidade, chaves e
conjuntos de valores
1. Tipos de entidade e conjuntos de entidade
2. Atributos-chave de um tipo de entidade
3. Conjuntos (domínios) de valores dos atributos
06/18/2021 Prof. Eudes Souza 12/41

Entidades e seus atributos


• O objeto básico que o modelo ER representa é uma entidade,
que é algo no mundo real com uma existência independente
• Uma entidade pode ser um objeto com uma existência física
(por exemplo, uma pessoa, um carro, uma casa ou um
funcionário) ou um objeto com uma existência conceitual (por
exemplo, uma empresa, um trabalho ou um curso universitário).
• Cada entidade tem atributos — propriedades particulares
que a descrevem. Por exemplo, uma entidade empregado
pode ser descrita pelo nome do empregado, idade, endereço,
salário e trabalho (função). Uma dada entidade terá um valor
para cada um de seus atributos. Os valores dos atributos
que descrevem cada entidade se tornarão a maior parte
dos dados armazenados no banco de dados
06/18/2021 Prof. Eudes Souza 13/41

Entidade e
seus atributos
A Figura 7.3 mostra
duas entidades e os
valores de seus
atributos.
06/18/2021 Prof. Eudes Souza 14/41

Entidades e seus atributos


• Diversos tipos de atributos ocorrem no modelo ER:
simples versus composto, univalorado versus
multivalorado, e armazenado versus derivado.
• Primeiro, definiremos esses tipos de atributos e os
ilustraremos por meio de exemplos. Depois,
introduziremos o conceito de valor null (nulo) para um
atributo
06/18/2021 Prof. Eudes Souza 15/41

Atributos compostos versus simples


• Os atributos compostos podem ser divididos em
subpartes menores, que representam a maioria dos
atributos básicos com significados independentes. Por
exemplo, o atributo Endereço da entidade empregado,
mostrado na Figura 3.3, pode ser subdividido em
Logradouro, Cidade, Estado e CEP, com os valores ‘Av.
José Moreira Sobrinho, 751', ‘Jequié', ‘BA' e ‘45206190'. Os
atributos que não são divisíveis são chamados simples ou
atributos atômicos.
• Os atributos compostos podem formar uma hierarquia; por
exemplo, Logradouro pode ser subdividido em três atributos
simples: Número, Rua e Numero_apartamento, como mostra a
Figura 7.4. O valor de um atributo composto é a concatenação
dos valores de seus atributos simples.
06/18/2021 Prof. Eudes Souza 16/41

Atributos compostos – Figura 7.4


06/18/2021 Prof. Eudes Souza 17/41

Atributos compostos versus simples


• Os atributos compostos são úteis para modelar as
situações nas quais o usuário algumas vezes se
refere ao atributo como um grupo e, em outras
ocasiões, se refere especificamente a um de seus
componentes. Se o atributo composto é referenciado
apenas como um todo, não há necessidade de
subdividi-lo em atributos componentes. Por exemplo,
se não é necessário referir-se a um componente
individual deum endereço (CEP, rua, e assim por diante),
então o endereço pode ser definido como um atributo
simples
06/18/2021 Prof. Eudes Souza 18/41

Atributos monovalorados versus multivalorados


• A maioria dos atributos tem um valor único para uma dada
entidade; esses atributos são chamados monovalorados.
• Por exemplo, Idade é um atributo monovalorado de uma pessoa. Em
alguns casos, um atributo pode ter um conjunto de valores para a mesma
entidade — por exemplo, um atributo Cor para um carro ou um atributo
Titulação para uma pessoa.
• Os carros com uma cor têm um valor único, enquanto aqueles com
dois tons contêm dois valores para Cor. Da mesma forma, uma pessoa
pode não ter um título acadêmico, outra pessoa pode ter um e, uma
terceira pessoa, dois ou mais títulos, portanto, pessoas diferentes
podem ter números de valores diferentes para o atributo
Titulação. Esses atributos são chamados multivalorados.
• Um atributo multivalorado deve ter limite inferior e superior para restringir o
número de valores permitidos a cada entidade individual. Por exemplo, o
atributo Cor de um carro pode ter entre um e três valores, se presumirmos
que um carro possa ter, no máximo, três cores.
06/18/2021 Prof. Eudes Souza 19/41

Atributos Armazenados versus Derivados


• Em alguns casos, dois (ou mais) valores de atributos
estão relacionados
• Por exemplo, os atributos Idade e DataNascimento de uma
pessoa. Para uma entidade pessoa em particular, o valor de
Idade pode ser determinado pela data corrente (hoje) e o valor
de DataNascimento da pessoa.
• Portanto, o atributo Idade é chamado atributo
derivado, e é dito derivado do atributo DataNascimento,
que, por sua vez, é chamado atributo armazenado. Alguns
valores de atributos podem ser derivados de entidades
relacionadas;
• Por exemplo, um atributo NumerodeEmpregados, de uma entidade
departamento, pode ser derivado da contagem do número de
empregados relacionados (que trabalham) nesse departamento
06/18/2021 Prof. Eudes Souza 20/41

Valores nulls (Nulos)


• Em alguns casos, determinada entidade pode não
ter um valor aplicável a um atributo.
• Por exemplo, o atributo Apartamento de um endereço
se aplica apenas a endereços que estão em edifícios
de apartamentos, e não a outros tipos de residência,
como as casas.
• Por analogia, um atributo Titulação só se aplica a
pessoas com titulação acadêmica. Para essas
situações é criado um valor especial chamado null
(nulo).
• Um endereço de uma casa teria valor null para seu
atributo Apartamento, e uma pessoa sem titulação
acadêmica teria valor null para Titulação.
06/18/2021 Prof. Eudes Souza 21/41

Valores nulls (Nulos)


• O valor null pode ser usado também quando não
conhecemos o valor de um atributo para uma
entidade em particular;
• por exemplo, se não soubermos o telefone residencial de 'John
Smith', na Figura 3.3.
• O sentido do primeiro tipo de null corresponde a não aplicável,
ao passo que o sentido do último se refere a desconhecido.
• A categoria 'desconhecido' de null pode ser, ainda, classificada
em dois casos.
• O primeiro aparece quando se sabe que o valor do atributo existe
mas está faltando — por exemplo, se o atributo Altura de uma pessoa é
dado como null.
• O segundo caso surge quando não se sabe se o valor do atributo existe
— por exemplo, se o atributo FoneResidencial de uma pessoa é null.
06/18/2021 Prof. Eudes Souza 22/41

Atributos Complexos
• Observa-se que os atributos compostos e
multivalorados podem ser aninhados de uma maneira
arbitrária.
• Podemos representar essa organização arbitrária
agrupando os componentes de um atributo composto
entre parênteses (), separando os componentes por meio
de vírgulas e mostrando os atributos multivalorados entre
chaves { }. Esses atributos são chamados atributos
complexos. Por exemplo, se uma pessoa pode ter
mais de uma residência e cada uma delas pode ter
múltiplos telefones, um atributo EnderecoFone para uma
pessoa pode ser especificado como mostrado na Figura
7.5
06/18/2021 Prof. Eudes Souza 23/41

Atributos complexos
06/18/2021 Prof. Eudes Souza 24/41

Tipo de Entidade e Conjunto de Entidade


• Um banco de dados contém, geralmente, grupos de
entidades que são similares. Por exemplo, uma empresa
com centenas de empregados pode querer armazenar
informações similares referentes a cada um deles. Essas
entidades empregado compartilham os mesmos atributos,
mas cada uma delas tem seu(s)próprio(s) valor(es) para
cada atributo.
• Um tipo de entidade define uma coleção (ou conjunto)
de entidades que possuem os mesmos atributos. Cada
tipo de entidade no banco de dados é descrito por seu
nome e atributos.
06/18/2021 Prof. Eudes Souza 25/41

Tipos Entidade
e Conjuntos de
Entidade
A Figura 7.6 mostra dois
tipos entidade, chamados
EMPREGADO e EMPRESA,
com uma lista de atributos
para cada um.
06/18/2021 Prof. Eudes Souza 26/41

Tipo de Entidade e Conjunto de Entidade


• A coleção de todas as entidades de um tipo entidade em
particular, em um ponto no banco de dados, é chamada
conjunto de entidades, que normalmente é chamado pelo
mesmo nome do tipo entidade. Por exemplo, EMPREGADO
refere-se ao tipo de entidade, assim como ao atual conjunto
de todas as entidades empregado no banco de dados.
• Um tipo de entidade é representado nos diagramas ER como
uma caixa retangular delimitando seu nome. Os nomes de
atributo são delimitados em elipses, sendo ligados a seu tipo
de entidade por linhas retas. Os atributos compostos são
conectados aos seus atributos componentes por linhas retas.
Os atributos multivalorados são identificados por elipses
duplas.
06/18/2021 Prof. Eudes Souza 27/41

Tipo de Entidade e Conjunto de Entidade


• Um tipo entidade descreve o esquema ou conotação
para um conjunto de entidades que possuem a mesma
estrutura. O conjunto de entidades deum tipo entidade
particular, agrupado em um conjunto, também é chamado
extensão do tipo entidade
06/18/2021 Prof. Eudes Souza 28/41

Atributos-chave de um tipo de entidade


• Uma restrição importante das entidades de um tipo
entidade é a chave ou restrição de unicidade em
atributos. Um tipo entidade tem, geralmente, um atributo
cujos valores são distintos para cada uma das entidades
do conjunto de entidade. Esse atributo é chamado
atributo-chave e seus valores podem ser usados para
identificar cada entidade univocamente.
06/18/2021 Prof. Eudes Souza 29/41

Atributos-chave de um tipo de entidade

• O atributo Nome é uma chave do tipo entidade EMPRESA,


porque não é permitido que duas empresas tenham o mesmo
nome. Para o tipo entidade PESSOA, um atributo-chave típico é
o CadastroPessoaFísica (CPF)
06/18/2021 Prof. Eudes Souza 30/41

Atributos-chave de um tipo de entidade


• Algumas vezes, diversos atributos juntos formam uma
chave, significando que a combinação dos valores dos
atributos deve ser distinta para cada entidade. Se um
conjunto de atributos possuir essa propriedade, a forma
adequada de representação no modelo ER, que
utilizaremos, será a definição de um atributo composto
e sua designação como atributo-chave do tipo entidade
• Observemos que essa chave composta deve ser mínima,
isto é, todos os atributos componentes devem ser
incluídos no atributo composto para garantir a
propriedade da unicidade
06/18/2021 Prof. Eudes Souza 31/41

Atributos-chave
de um tipo de
entidade
Na notação
diagramática ER,
cada atributo-
chave tem seu
nome sublinhado
dentro da elipse,
conforme
Ilustrado na
Figura 7.2
06/18/2021 Prof. Eudes Souza 32/41

Atributos-chave de um tipo de entidade


• Definir um atributo como chave de um tipo entidade
significa que a propriedade de unicidade deve ocorrer
para todo conjunto de entidades do tipo entidade.
Portanto, essa restrição proíbe quaisquer duas entidades
de terem, ao mesmo tempo, o mesmo valor para o
atributo-chave
• Em nossa notação diagramática, se dois atributos forem
sublinhados separadamente, então cada um é uma chave
por si só.
• Diferentemente do modelo relacional – que ainda
veremos – , não existe o conceito de chave primária
no modelo ER
06/18/2021 Prof. Eudes Souza 33/41

Atributos-chave
de um tipo de
entidade
Alguns tipos
entidade têm
mais de um
atributo-chave.
Por exemplo,
cada um dos
atributos
IDVeiculo e
Registro do tipo
entidade
CARRO (Figura
3.7) é uma
chave por si só.
06/18/2021 Prof. Eudes Souza 34/41

Atributos-chave
de um tipo de
entidade
O atributo Registro
é um exemplo de
uma chave
composta, formada
por dois atributos
componentes
simples, o
NumeroRegistro e
Estado — nenhum
deles, sozinho, é
uma chave. Um tipo
entidade pode
também não ter
chave; nesse caso
é chamado tipo de
entidade fraca –
veremos adiante
06/18/2021 Prof. Eudes Souza 35/41

Conjuntos de valores de atributos ou


Domínios de atributos
• Cada atributo simples de um tipo entidade está associado
a um conjunto de valor (ou domínio de valores), que
determina o conjunto de valores válidos para os atributos
de cada entidade. Na Figura 3.6, se o limite de idade
permitido para os empregados está entre 16 e 70 anos,
podemos estabelecer que o conjunto de valores para o
atributo Idade, de EMPREGADO, seja o conjunto de
números inteiros entre16 e 70.
06/18/2021 Prof. Eudes Souza 36/41

Conjuntos de valores de atributos ou


Domínios de atributos
• Por analogia, podemos determinar o conjunto de valores
para o atributo Nome como o conjunto de strings dos
caracteres alfabéticos, separados por caracteres brancos,
e assim por diante. Os conjuntos de valores não são
mostrados nos diagramas ER. Eles são determinados
utilizando-se os tipos de dados básicos, disponíveis na
maioria das linguagens de programação, como número
inteiro, cadeia de caracteres (strings), booleano, número
real com ponto flutuante, tipo enumerado, subfaixa, e
assim por diante. Os tipos adicionais de dados para
representar data, hora e outros conceitos também são
empregados
06/18/2021 Prof. Eudes Souza 37/41

PROJETO CONCEITUAL DO
BANCO DE DADOS
EMPRESA
Banco Dados I
06/18/2021 Prof. Eudes Souza 38/41

Projeto conceitual do banco de dados empresa


• Agora podemos definir os tipos entidade para o
banco de dados EMPRESA com base nos requisitos
descritos a seguir. Depois de definirmos os diversos
tipos entidade e seus atributos, refinaremos nosso
projeto após introduzirmos o conceito de
relacionamento. Conforme os requisitos apresentados
podemos identificar quatro tipos de entidade —
correspondentes a cada um dos quatro itens da
especificação (Figura3.8)
06/18/2021 Prof. Eudes Souza 39/41

Projeto conceitual do banco de dados empresa


1. Um tipo entidade DEPARTAMENTO, com os atributos Nome, Numero,
Localizações, Gerente e DataInicioGerencia. O atributo Localizações é o
único multivalorado. Nome e Numero são atributos-chave (separados), pois
foram definidos como únicos (não existe mais de um com o mesmo valor).
2. Um tipo entidade PROJETO, com os atributos Nome, Numero,
Localização e DepartamentoControle. Nome e Numero são atributos-chave
(separados).
3. Um tipo entidade EMPREGADO, com os atributos Nome, SSN (para o
número do seguro social), Sexo, Endereço, Salário, DataNascimento,
Departamento e Supervisor. Nome e Endereço podem ser atributos
compostos, no entanto, isso não foi especificado nos requisitos. Devemos
voltar aos usuários para ver se algum deles vai utilizar os componentes
individuais de Nome — PrimeiroNome, InicialMeio, UltimoNome — ou de
Endereço.
4. Um tipo entidade DEPENDENTE, com os atributos Empregado,
NomeDependente, Sexo, DataNascimento e Parentesco (com o
empregado).
06/18/2021 Prof. Eudes Souza 40/41

Projeto conceitual do banco de dados empresa


06/18/2021 Prof. Eudes Souza 41/41

Dúvidas

Você também pode gostar