Modelo...
Transcript of Modelo...
Prof. Antonio Almeida de Barros Jr.
Modelo Entidade-Relacionamento
Conteúdo
2
• 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
Contexto Histórico
3
Período Fato Marcante Exemplo de Recurso
Até 1960 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
Década de 90 até o presente
Modelo Orientado a Objetos JASMINE
BD 'Inteligentes' OBJECTSTORE
KRISIS
A Importância da Modelagem de Dados
4
• Planejar todas as etapas e dedicaratenção especial ao projeto deestruturação do banco de dados;
• Facilidade na manutenção do sistema;
• Tem como objetivo, obter uma descriçãoabstrata dos dados que serãoarmazenados no banco de dados.
5
Banco de Dados
A Importância da Modelagem de Dados
A Importância da Modelagem de Dados
6
• Sistemas isolados;
• Dados não compartilhados;
Produção
Arquivos produção
Produtos …
Vendas
Arquivos vendas
Produtos …
Compras
Arquivos compras
Produtos …
A Importância da Modelagem de Dados
7
• 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
A Importância da Modelagem de Dados
8
• Como evitar a redundância de dados
– Compartilhamento de dados;
– Cada informação é armazenada umaúnica vez;
– Usar o conceito de Banco de Dados;
A Importância da Modelagem de Dados
9
• Como evitar a redundância de dados
Produção Vendas
Banco de dados
Produtos …
Compras
Banco de Dados
=
Conjunto de arquivos integrados que
atendem a um conjunto de sistemas
A Importância da Modelagem de Dados
10
• A implementação de compartilhamento dedados tem reflexos na estrutura dosoftware:
– Estrutura interna dos arquivos passa a ser maiscomplexa;
– Devem atender às necessidades dos diferentessistemas;
• Solução:
– Usar sistema de gerência de banco de dados(SGBD).
Projeto de Banco de Dados
11
1. Modelagem Conceitual
2. Projeto Lógico
3. Projeto Físico
FASES
Projeto de Banco de Dados
12
• 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;
Projeto de Banco de Dados
13
• Modelo Conceitual
Produto
código
descrição
Tipo de produto
código
descrição
preço
n 1
Projeto de Banco de Dados
14
• Modelo Lógico
– Nível de abstração visto pelo usuário doSGBD;
– Dependente do tipo particular de SGBD queestá sendo usado.
TipoDeProduto(CodTipoProd,DescrTipoProd)
Produto(CodProd,DescrProd, PrecoProd,CodTipoProd)
CodTipoProd referencia TipoDeProduto
Projeto de Banco de Dados
15
• Modelo Físico
– Contém detalhes de armazenamento internode 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 bancode dados.
Fases do Projeto de Banco de Dados
16
O Modelo Entidade-Relacionamento
17
• Foi concebido em 1976, por PeterChen, com base na teoria de banco dedados relacionais de Edgard F. Codd.
• O conceito principal por trás domodelo E-R (Entidade-Relacionamento) está na definição dedois grupos de objetos que formamum negócio:– Entidades
– Relacionamentos
18
O Modelo Entidade-Relacionamento
19
The Entity-Relationship Model-Toward a Unified View of Data
http://bit.csc.lsu.edu/~chen/
O Modelo Entidade-Relacionamento
20
• Entidade
O Modelo Entidade-Relacionamento
Conjunto de objetos da realidade modelada sobre os quais deseja-se
manter informações no banco de dados.
Representação gráfica de entidades
Pessoa Departamento
21
• Relacionamento
O Modelo Entidade-Relacionamento
Conjunto de associações entre entidades
PessoaDepartamento Lotação
Representação gráfica de relacionamento
22
• Relacionamento – Diagrama de Ocorrências
O Modelo Entidade-Relacionamento
p1 p8p7
p5p6p4
p3
p2
p1,d1 p2,d1 p4,d2 p5,d3
d1 d3d2
entidade
EMPREGADO
relacionamento
LOTAÇÃO
entidade
DEPARTAMENTO
23
• Relacionamento
– Auto-relacionamento
O Modelo Entidade-Relacionamento
Pessoa
Casamento
Marido Esposa
24
• Relacionamento
– Auto-relacionamento
O Modelo Entidade-Relacionamento
p1p8
p7
p5
p6
p4
p3
p2
p1,p3
p6,p8
marido
esposa
marido
esposa
25
• Cardinalidade de Relacionamentos
O Modelo Entidade-Relacionamento
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.
PessoaDepartamento Lotação
1 N
Expressa que uma ocorrência de EMPREGADO pode estar associada ao máximo uma (“1”)
ocorrência de DEPARTAMENTO.
Expressa que uma ocorrência de DEPARTAMENTO pode estar associada a várias
(“N”) ocorrências de EMPREGADO.
26
• Cardinalidade de Relacionamentos
– Relacionamentos 1:1
O Modelo Entidade-Relacionamento
Pessoa
Casamento
Marido Esposa
1 1
27
• Cardinalidade de Relacionamentos
– Relacionamentos 1:N
O Modelo Entidade-Relacionamento
Empregado
Supervisão
Supervisor Supervisionado
1 N
DependenteEmpregado Contém1 N
28
• Cardinalidade de Relacionamentos
– Relacionamentos N:N
O Modelo Entidade-Relacionamento
PacienteMédico ConsultaN N
ProjetoEngenheiro AlocaçãoN N
29
• Cardinalidade de Relacionamentos
– Mínima
O Modelo Entidade-Relacionamento
Empregado
ALOCAÇÃO
(0,1)
(1,1)
Mesa
e1
e4e3
e2
e1,m1
e2,m2
e4,m4
m1 m6m4
m3m2 m5
e3,m6
30
• Relacionamento Ternário
– Cada ocorrência do relacionamento associa três ocorrências de entidade.
O Modelo Entidade-Relacionamento
Cidade
Distribuição
Distribuidor
Produto
31
• Relacionamento Ternário
O Modelo Entidade-Relacionamento
Cidade
Distribuição
Distribuidor
Produto
1N
N
a cardinalidade “1”
refere-se a um par
(cidade, fornecedor)
32
• Atributo
O Modelo Entidade-Relacionamento
Dado que é associado a cada ocorrência de uma entidade ou de um
relacionamento
Cidade
Codigo
Nome
UF
Atributos de uma entidade
33
• Atributo
– Identificador de Entidade
O Modelo Entidade-Relacionamento
Conjunto de atributos e relacionamentos cujos valores distinguem uma ocorrência
da entidade das demais.
34
• Generalização/Especialização
O Modelo Entidade-Relacionamento
ClienteFilial(1, 1) (0, N)
PessoaFisica PessoaJuridica
SexoCIC CNPJCGC
Nome
Codigo
35
• Generalização/Especialização Total
O Modelo Entidade-Relacionamento
Cliente
PessoaFisica PessoaJuridica
SexoCIC CNPJCGC
NomeCodigo
Indica que todo CLIENTE é ou PESSOA FÍSICA ou PESSOA
JURÍDICA.
t
36
• Generalização/Especialização Parcial
O Modelo Entidade-Relacionamento
Funcionario
Motorista Secretária
Tipo
Indica que nem todo FUNCIONÁRIO é MOTORISTA ou
SECRETÁRIA.
p
37
• Generalização/Especialização Compartilhada
O Modelo Entidade-Relacionamento
Pessoa
Professor Aluno
Tipo
Uma instância de PESSOApode aparecer em mais de
uma de suas especializações
c
Funcionário
38
• Generalização/Especialização Exclusiva
O Modelo Entidade-Relacionamento
Uma ocorrência de entidade genérica é especializada no
máximo uma vez.
Funcionario
Motorista Secretária
Tipo
x
39
• Tipos de Generalizações/Especializações
O Modelo Entidade-Relacionamento
Total (t) Parcial (p)
Exclusiva (x) xt xp
Compartilhada (c) ct cp
40
• Generalização/Especialização - Recursão
O Modelo Entidade-Relacionamento
BarcoVeículo Anfíbio
Veículo
Automóvel
Veículo
Aquático
Veículo
Terrestre
41
• Generalização/Especialização - Recursão
O Modelo Entidade-Relacionamento
BarcoVeículo Anfíbio
Veículo
Automóvel
Veículo
Aquático
Veículo
Terrestre
Herança Múltipla
Identificador de Raiz
42
• Generalização/Especialização – Caso Proibído
O Modelo Entidade-Relacionamento
BarcoVeículo AnfíbioAutomóvel
Veículo
Aquático
Veículo
Terrestre
43
• Generalização/Especialização – Caso Proibido
O Modelo Entidade-Relacionamento
BarcoVeículo AnfíbioAutomóvel
Veículo
Aquático
Veículo
Terrestre
Qual seria o identificador
desta entidade?
44
• Exemplo
O Modelo Entidade-Relacionamento
DER para controle acadêmica de uma universidade
45
Exercício 1
• Os dirigentes da Creche Municipal de São Francisco do Glória,cidade localizada na zona da mata mineira, desejam umsistema para controle e acompanhamento das criançascadastradas no estabelecimento. Para o desenvolvimento dosistema, foram coletados os seguintes requisitos:
– Elaborar um cadastro completo de crianças, onde devam constarinformações como: nome, endereço completo, tipo sanguíneo, sexo epaternidade.
– O cadastro de pais ou responsáveis deverá constar: nome, sexo, data denascimento, telefone, endereço completo, profissão, renda mensal ehorário de trabalho.
– Outro cadastro relevante é o de necessidades especiais, este por sua vezdeverá 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çõessejam tomadas por parte dos funcionários.
– Para acompanhamento diário, cada criança deverá ter seu horário dechegada 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 crechefunciona de segunda a sexta, e que cada criança tem horários distintospara os dias da semana.
– Com base nos dados descritos acima, elabore um modelo Entidade-Relacionamento para o sistema. Este modelo deve estar devidamentenormalizado na 3ª Forma Normal.
46
Exercício 2
• O Departamento de Trânsito do Espírito Santo (DETRAN-ES)necessita de um sistema para cadastro e controle dasinfrações cometidas por condutores de veículos. Para estesistema, foram coletados os seguintes requisitos:
– O sistema deverá conter um cadastro de agentes que possibilite olançamento das seguintes informações: nome, data de contratação, CPF etelefone;
– Atualmente o DETRAN-ES mantém um cadastro de localidades quepodem ser rodovias, ruas e até mesmo praças onde as blitz sãorealizadas. Neste cadastro é fundamental que seja lançada a velocidadepermitida;
– Para facilitar a inclusão das infrações, é necessário que o sistema jácontenha os tipos de infrações previamente cadastrados. O valor damulta é 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çõescomo: endereço completo, sexo, data de nascimento, CPF, CNH e telefonede contato;
– Ao realizar uma infração, o agente informa a localidade, o veículo, o tipode infração, a velocidade (no caso de excesso de velocidade), o condutor,a data e a hora.
47
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
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