Modelo Entidade-Relacionamento

Propaganda
Modelo Entidade-Relacionamento
Prof. Antonio Almeida de Barros Jr.
Conteúdo
• Contexto Histórico
• A Importância da Modelagem de Dados
• Projeto de Banco de Dados
– Modelagem Conceitual
– Projeto Lógico
– Projeto Físico
• Fases do Projeto de BD
• Modelo Entidade-Relacionamento
– Entidade
– Relacionamento
• Cardinalidade de Relacionamentos
• Relacionamento Ternário
– Atributo
– Generalização/Especialização
• Exemplo
• Exercícios
• Referências
2
Contexto Histórico
Período
Até 1960
Fato Marcante
Exemplo de Recurso
Sistema de Arquivo.
Arquivos Indexados.
ISAM VSAM
Arquivos Integrados.
Anos 60
Modelos Hierárquico Modelo de Redes
IMS (IBM)
DMS(UNISYS)
Década de 70
Modelo Relacional (Codd)
DB2 (IBM)
Década de 80
Modelo Relacional Estendido
INFORMIX
(Objeto-Relacional)
ORACLE
Modelo Orientado a Objetos
JASMINE
BD 'Inteligentes'
OBJECTSTORE
Década de 90 até o
presente
KRISIS
3
A Importância da Modelagem de Dados
• Planejar todas as etapas e dedicar
atenção especial ao projeto de
estruturação do banco de dados;
• Facilidade na manutenção do sistema;
• Tem como objetivo, obter uma descrição
abstrata dos dados que serão
armazenados no banco de dados.
4
A Importância da Modelagem de Dados
Banco de Dados
5
A Importância da Modelagem de Dados
• Sistemas isolados;
• Dados não compartilhados;
Produção
Arquivos produção
Produtos …
Vendas
Arquivos vendas
Produtos …
Compras
Arquivos compras
Produtos …
6
A Importância da Modelagem de Dados
• Problema: redundância de dados
• Tipos de redundância de dados:
– redundância controlada de dados:
• Software gerencia redundância
– redundância não controlada de dados:
• usuário gerencia redundância
– Entrada repetida da mesma informação
– Inconsistências de dados
7
A Importância da Modelagem de Dados
• Como evitar a redundância de dados
– Compartilhamento de dados;
– Cada informação é armazenada uma
única vez;
– Usar o conceito de Banco de Dados;
8
A Importância da Modelagem de Dados
• Como evitar a redundância de dados
Banco de Dados
=
Conjunto de arquivos integrados que
atendem a um conjunto de sistemas
Produção
Vendas
Compras
Banco de dados
Produtos …
9
A Importância da Modelagem de Dados
• A implementação de compartilhamento de
dados tem reflexos na estrutura do
software:
– Estrutura interna dos arquivos passa a ser mais
complexa;
– Devem atender às necessidades dos diferentes
sistemas;
• Solução:
– Usar sistema de gerência de banco de dados
(SGBD).
10
Projeto de Banco de Dados
1. Modelagem Conceitual
FASES
2. Projeto Lógico
3. Projeto Físico
11
Projeto de Banco de Dados
• Modelo Conceitual
– Independente de tipo de SGBD;
– Registra:
• Estrutura dos dados podem aparecer no banco de
dados;
– Não registra:
• Como estes dados estão armazenados no nível de
SGBD;
12
Projeto de Banco de Dados
• Modelo Conceitual
preço
n
1
Tipo de produto
Produto
descrição
código
descrição
código
13
Projeto de Banco de Dados
• Modelo Lógico
– Nível de abstração visto pelo usuário do
SGBD;
– Dependente do tipo particular de SGBD que
está sendo usado.
TipoDeProduto(CodTipoProd,DescrTipoProd)
Produto(CodProd,DescrProd, PrecoProd,CodTipoProd)
CodTipoProd referencia TipoDeProduto
14
Projeto de Banco de Dados
• Modelo Físico
– Contém detalhes de armazenamento interno
de informações.
– Detalhes que:
• não têm influência sobre a programação de
aplicações no SGBD,
• mas, influenciam a performance da aplicações.
– Usados por profissionais que fazem sintonia
(ajuste de desempenho – “tuning”) de banco
de dados.
15
Fases do Projeto de Banco de Dados
16
O Modelo Entidade-Relacionamento
• Foi concebido em 1976, por Peter
Chen, com base na teoria de banco de
dados relacionais de Edgard F. Codd.
• O conceito principal por trás do
modelo
E-R
(EntidadeRelacionamento) está na definição de
dois grupos de objetos que formam
um negócio:
– Entidades
– Relacionamentos
17
O Modelo Entidade-Relacionamento
18
O Modelo Entidade-Relacionamento
The Entity-Relationship Model-Toward a Unified View of Data
http://bit.csc.lsu.edu/~chen/
19
O Modelo Entidade-Relacionamento
• Entidade
Conjunto de objetos da realidade
modelada sobre os quais deseja-se
manter informações no banco de dados.
Pessoa
Departamento
Representação gráfica de entidades
20
O Modelo Entidade-Relacionamento
• Relacionamento
Conjunto de associações entre entidades
Departamento
Lotação
Pessoa
Representação gráfica de relacionamento
21
O Modelo Entidade-Relacionamento
• Relacionamento – Diagrama de Ocorrências
p3
p1
p4
p2
p1,d1
d1
p7
p6
p2,d1 p4,d2
d2
p8
p5
p5,d3
d3
entidade
EMPREGADO
relacionamento
LOTAÇÃO
entidade
DEPARTAMENTO
22
O Modelo Entidade-Relacionamento
• Relacionamento
– Auto-relacionamento
Pessoa
Marido
Esposa
Casamento
23
O Modelo Entidade-Relacionamento
• Relacionamento
– Auto-relacionamento
p3
p7
p1
p8
p6
p2
p4
p5
marido
marido
esposa
esposa
p1,p3
p6,p8
24
O Modelo Entidade-Relacionamento
• Cardinalidade de Relacionamentos
Cardinalidade (mínima, máxima) de entidade
em relacionamento representa o número
(mínimo, máximo) de ocorrências de entidade
associadas a uma ocorrência da entidade em
questão através do relacionamento.
Departamento
Pessoa
Lotação
1
Expressa que uma ocorrência de EMPREGADO
pode estar associada ao máximo uma (“1”)
ocorrência de DEPARTAMENTO.
N
Expressa que uma ocorrência de
DEPARTAMENTO pode estar associada a várias
(“N”) ocorrências de EMPREGADO.
25
O Modelo Entidade-Relacionamento
• Cardinalidade de Relacionamentos
– Relacionamentos 1:1
Pessoa
1
1
Marido
Esposa
Casamento
26
O Modelo Entidade-Relacionamento
• Cardinalidade de Relacionamentos
– Relacionamentos 1:N
Empregado
Contém
1
N
Dependente
Empregado
1
N
Supervisor
Supervisionado
Supervisão
27
O Modelo Entidade-Relacionamento
• Cardinalidade de Relacionamentos
– Relacionamentos N:N
Médico
Engenheiro
Consulta
N
N
Alocação
N
N
Paciente
Projeto
28
O Modelo Entidade-Relacionamento
• Cardinalidade de Relacionamentos
– Mínima
e1
Empregado
e3
e4
e2
(0,1)
e1,m1
ALOCAÇÃO
e3,m6
e4,m4
e2,m2
(1,1)
Mesa
m4
m1
m2
m3
m6
m5
29
O Modelo Entidade-Relacionamento
• Relacionamento Ternário
– Cada ocorrência do relacionamento associa
três ocorrências de entidade.
Cidade
Distribuidor
Distribuição
Produto
30
O Modelo Entidade-Relacionamento
• Relacionamento Ternário
Cidade
Distribuidor
N
1
a cardinalidade “1”
refere-se a um par
(cidade, fornecedor)
Distribuição
N
Produto
31
O Modelo Entidade-Relacionamento
• Atributo
Dado que é associado a cada ocorrência
de uma entidade ou de um
relacionamento
Cidade
Codigo
Nome
UF
Atributos de uma entidade
32
O Modelo Entidade-Relacionamento
• Atributo
– Identificador de Entidade
Conjunto de atributos e relacionamentos
cujos valores distinguem uma ocorrência
da entidade das demais.
33
O Modelo Entidade-Relacionamento
• Generalização/Especialização
Filial
(1, 1)
(0, N)
PessoaFisica
CIC
Sexo
Cliente
Nome
Codigo
PessoaJuridica
CGC
CNPJ
34
O Modelo Entidade-Relacionamento
• Generalização/Especialização Total
Cliente
t
PessoaFisica
CIC
Sexo
Nome
Codigo
Indica que todo CLIENTE é ou
PESSOA FÍSICA ou PESSOA
JURÍDICA.
PessoaJuridica
CGC
CNPJ
35
O Modelo Entidade-Relacionamento
• Generalização/Especialização Parcial
Funcionario
p
Motorista
Tipo
Indica que nem todo
FUNCIONÁRIO é MOTORISTA ou
SECRETÁRIA.
Secretária
36
O Modelo Entidade-Relacionamento
• Generalização/Especialização Compartilhada
Pessoa
c
Professor
Funcionário
Tipo
Uma instância de PESSOA
pode aparecer em mais de
uma de suas especializações
Aluno
37
O Modelo Entidade-Relacionamento
• Generalização/Especialização Exclusiva
Funcionario
x
Motorista
Tipo
Uma ocorrência de entidade
genérica é especializada no
máximo uma vez.
Secretária
38
O Modelo Entidade-Relacionamento
• Tipos de Generalizações/Especializações
Total (t)
Parcial (p)
Exclusiva (x)
xt
xp
Compartilhada (c)
ct
cp
39
O Modelo Entidade-Relacionamento
• Generalização/Especialização - Recursão
Veículo
Veículo
Terrestre
Automóvel
Veículo
Aquático
Veículo Anfíbio
Barco
40
O Modelo Entidade-Relacionamento
• Generalização/Especialização - Recursão
Veículo
Identificador
de Raiz
Veículo
Terrestre
Automóvel
Veículo
Aquático
Veículo Anfíbio
Barco
Herança Múltipla
41
O Modelo Entidade-Relacionamento
• Generalização/Especialização – Caso Proibído
Veículo
Terrestre
Automóvel
Veículo
Aquático
Veículo Anfíbio
Barco
42
O Modelo Entidade-Relacionamento
• Generalização/Especialização – Caso Proibido
Veículo
Terrestre
Automóvel
Veículo
Aquático
Veículo Anfíbio
Barco
Qual seria o
identificador
desta entidade?
43
O Modelo Entidade-Relacionamento
• Exemplo
DER para controle acadêmica de uma universidade
44
Exercício 1
• Os dirigentes da Creche Municipal de São Francisco do Glória,
cidade localizada na zona da mata mineira, desejam um
sistema para controle e acompanhamento das crianças
cadastradas no estabelecimento. Para o desenvolvimento do
sistema, foram coletados os seguintes requisitos:
– Elaborar um cadastro completo de crianças, onde devam constar
informações como: nome, endereço completo, tipo sanguíneo, sexo e
paternidade.
– O cadastro de pais ou responsáveis deverá constar: nome, sexo, data de
nascimento, telefone, endereço completo, profissão, renda mensal e
horário de trabalho.
– Outro cadastro relevante é o de necessidades especiais, este por sua vez
deverá ser relacionado ao cadastro de crianças, onde uma criança poderá
ter nenhuma, uma ou mais necessidades especiais.
– Bem como o cadastro de necessidades especiais, o sistema deverá
permitir o lançamento de alergias. Este último serve para que precauções
sejam tomadas por parte dos funcionários.
– Para acompanhamento diário, cada criança deverá ter seu horário de
chegada e saída no turno da manhã e ou no turno da tarde. Assim, é
necessário o lançamento deste horário considerando que a creche
funciona de segunda a sexta, e que cada criança tem horários distintos
para os dias da semana.
– Com base nos dados descritos acima, elabore um modelo EntidadeRelacionamento para o sistema. Este modelo deve estar devidamente
normalizado na 3ª Forma Normal.
45
Exercício 2
• O Departamento de Trânsito do Espírito Santo (DETRAN-ES)
necessita de um sistema para cadastro e controle das
infrações cometidas por condutores de veículos. Para este
sistema, foram coletados os seguintes requisitos:
– O sistema deverá conter um cadastro de agentes que possibilite o
lançamento das seguintes informações: nome, data de contratação, CPF e
telefone;
– Atualmente o DETRAN-ES mantém um cadastro de localidades que
podem ser rodovias, ruas e até mesmo praças onde as blitz são
realizadas. Neste cadastro é fundamental que seja lançada a velocidade
permitida;
– Para facilitar a inclusão das infrações, é necessário que o sistema já
contenha os tipos de infrações previamente cadastrados. O valor da
multa é dado de acordo com o tipo de infração;
– O DETRAN-ES mantém um cadastro de todos os veículos do ES, onde verá
constar a placa do veículo, o proprietário, a UF de origem do veículo,
além do modelo e categoria;
– O cadastro de proprietários ou condutores deve conter informações
como: endereço completo, sexo, data de nascimento, CPF, CNH e telefone
de contato;
– Ao realizar uma infração, o agente informa a localidade, o veículo, o tipo
de infração, a velocidade (no caso de excesso de velocidade), o condutor,
a data e a hora.
46
SQL (Structured Query Language)
•
ANSI (American Nacional Standards Institute)
• ANSI-86 SQL / ANSI-89 SQL
• SQL2 (ou SQL92) / SQL3 (Modelo OO).
•
DDL (Data Definition Language)
• DROP, CREATE, ALTER
DML (Data Manipulation Language)
• INSERT, UPDATE, DELETE
DQL (Data Query Language)
• SELECT
•
•
47
Referências
Heuser, C. A.; Projeto de Banco de Dados. 6ed, Ed.
Artmed, 2009. ISBN: 9788577803828.
Silberschatz, A.; Korth, H. F.; Sudarshan, S.; Sistema de
Banco de Dados. 5ed, Ed. Campus, 2006. ISBN:
8535211071.
Date, C. J.; Introdução a Sistemas de Banco de Dados.
8ed, Ed. Campus, 2004. ISBN: 8535212736.
48
Download