Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Eng. da Computação
UFC Sobral-Ce
• Modelos físicos
– Utilizados para descrever como os dados são
fisicamente armazenados
Modelo Entidade-Relacionamento
Modelo ER - Conceitos
• Entidades:
– Objetos do mundo real que são de interesse
para alguma aplicação
• Atributos:
– Propriedades utilizadas para descrever uma
entidade
Name = John
Address = 2311 Kirby, Houston, TX
Age = 55
e1 Home Phone = 713-749-2630
(Employee)
Modelo ER - Conceitos
• Tipos (classes) de atributo:
– Simples ou compostos
• Ex. Endereço (Endereço da Rua (número, nome da rua,
número do apto), Cidade, Estado, CEP)
– Monovalorados ou multivalorados
• Ex. Profissão
– Armazenados ou derivados
• Data de Nascimento Idade, Empregados trabalhando
no departamento NumeroDeEmpregados
– Valores Null
• Não aplicável
– Ex. Número do apartamento
• Desconhecido
– Ex. Telefone de casa
Modelo ER - Conceitos
• Tipo de entidade:
– Define um conjunto de entidades que têm
os mesmos atributos (propriedades)
– Descreve o esquema para um conjunto de
entidades que compartilham a mesma
estrutura
– Exemplos:
• Employee, Company
Modelo ER - Conceitos
Esquema conceitual
Modelo ER - Conceitos
• Relacionamentos:
– Associações entre duas ou mais entidades
distintas (instâncias) com um significado
– Exemplo:
• Employee John Smith Works-for Department
Research
• Employee Fred Brown Manages Department
Research
• Departament Research Controls Project X
Modelo ER - Conceitos
• Tipo de Relacionamento:
– Define um conjunto de associações entre n
tipos de entidade E1, E2,...,En
– Exemplo:
• Works-for entre Employee e Department
• Tipo de Relacionamento:
– Matematicamente, um tipo de relacionamento R é
um conjunto de (instâncias de) relacionamentos ri,
onde cada ri associa n (instâncias de) entidades
(e1,...,en) e cada ej pertence a um tipo de entidade
Ej
– R E1 x E2 x ... x Em
• Grau de um Tipo de Relacionamento
– Número de tipos de entidade participantes de um
tipo de relacionamento
Aula02
Modelo de Dados Relacional
Introdução
Trabalha-para 1
N
Empregado Departamento
1 1 1 1
Gerencia
Possui M Controla
N N
Participa-de N
Dependente Projeto
NEmp
Empregado NomeEmp
Salário
Empregado (NEmp(nn),NomeEmp,Salário)
Representação de Tipos de Entidade
(com atributos multivalorados)
NDept
NomeDept
Departamento
Ramal
Departamento (NDept(nn),NomeDept)
N
Empregado 1 Possui Dependente
Empregado (NEmp(nn),...)
NEmp NDept
Empregado (NEmp(nn),...)
Departamento (NDept(nn),...)
Trabalha-para (NEmp(nn),NDept(nn))
p
Representação de Tipos de Relacionamento N:1
(mapeamento otimizado)
N 1
Empregado Trabalha-para Departamento
NEmp NDept
Empregado (NEmp(nn),...,NDept(nn))
Departamento (NDept(nn),...)
Empregado [NDept]b Departamento [NDept]
Representação de Tipos de Relacionamento 1:1
(mapeamento otimizado)
1 1
Empregado Gerencia Departamento
NEmp NDept
Empregado (NEmp(nn),...)
Departamento (NDept(nn),...,NEmp(nn))
Chave alternativa
Departamento [NEmp]b Empregado [NEmp]
Representação de Tipos de
Relacionamento M:N
M N
Empregado Participa-de Projeto
Empregado (NEmp(nn),...)
Projeto (NProj(nn), ...)
Participa-de (NEmp(nn),NProj(nn), HsTrab)
Participa-de [NEmp]p Empregado [NEmp]
Participa-de [NProj]p Projeto [NProj]
2.1 Modelo Entidade Relacionamento
Relacionamentos Simples
41
2.1 Modelo Entidade Relacionamento
Relacionamentos Múltiplos
Entidade3
42
2.1 Modelo Entidade Relacionamento
Mapeamento de Restrições
Expressa o numero de entidades as
Cardinalidade quais outra entidade poder estar
associada via um conjunto de
A B relacionamentos. A B
a1 b1 a1
b1
a2 b2 a2
A B b2
a3 b3 a3
b3
a4 b4 b1 a4
b4
a1 b2
1:1 N:N
a2 b3
a3 b4
b5
1:N 43
2.1 Modelo Entidade Relacionamento
Mapeamento de Restrições
Empréstimo -
Empréstimo Pagamento
Pagamento
45
Entidades Fracas
Empréstimo -
Empréstimo Pagamento
Pagamento
Funcionário Material
1 N N N
gerencia gerenciado é componente tem como
por de componente
Gerenciamento Composições
de Pessoal
47
Restrições de Integridade em SQL
• Chave primária
primary key (<attribute list>)
• Chaves alternativas
unique (<attribute list>)
create table Departamento
( ...
primary key (NDept),
unique (NomeDept),
...)
Restrições de Integridade Referencial
Atributos
(Nomes
das colunas)
Nome Fabricante
Tuplas
Winterbrew Pete’s
(linhas) Bud Lite Anheuser-Busch
Cervejas
Nome
da Relação
Esquemas
http://pt.wikipedia.org/wiki/Edgar_Frank_Codd
Exemplo
Cervejas(nome, fabr)
Bares(nome, end, licença)
Consumidores(nome, end, tel)
Gosta(consumidor, cerveja)
Vend(bar, cerveja, preço)
Frequenta(consumidor, bar)
• Sublinhado = chave (tuplas não podem ter o
mesmo valor em todos os atributos-chave).
– Um ótimo exemplo de Restrição de Dados
Os 3 níveis de abstração de um SGBD
57
Modelos de Dados, Esquemas e Instâncias
59
Arquitetura de BD
• Arquitetura em 3 níveis
60
Arquitetura de BD
Conceittual
Funcionário: Registro char(6)
NumDepto char(4)
Salário Numeric(5)
Externo
Visão do usuário 1 Visão do usuário 2
NumFunc char(6) NumeroFuncionário char(6)
NumDepto char(4) Salário integer(5)
61
4.1 Introdução
▫ Integridade: a linguagem Sequel o System R
inclui comandos para verificação de restrições de
integridade complexas. O padrão ANSI(86) limitou
estas restrições. Porém, novos padrões tipo SQL-
99 incorporam várias formas de expressar
restrições de integridade (Assertivas e Triggers).
• Modelo Conceitual
Modelos de Banco de Dados
• Modelo Conceitual
Também conhecido como Modelo Lógico com Base em
Objetos;
Registra que dados podem aparecer no banco de dados,
mas não registra como estes dados estão armazenados a
nível de SGBD;
Existem vários técnicas de modelagem conceitual:
- Abordagem Entidade-Relacionamento; e
- Abordagem orientada a objetos.
Outras formas de representar o
DER
Modelos de Banco de Dados
• Modelo Lógico
Modelos de Banco de Dados
• Modelo Lógico
Também conhecido como Modelo Lógico com Base
em Registros;
Dependente do tipo particular de SGBD que está
sendo usado;
Modelos de Banco de Dados
Fazer o DER
Resposta
Máquina
Construa o Modelo E-R
• Uma empresa de venda de automóveis pretende implementar um sistema para gerir
a informação relativa às reparações de oficina efetuadas nos veículos dos seus
clientes.
• O sistema de informação deverá permitir manter um histórico de todas as reparações
efetuadas. A empresa pretende manter dos clientes a seguinte informação: código
de identificação, nome, endereço e telefone.
• A empresa pretende também saber os veículos que um dado cliente teve ou tem e
as datas em que foram adquiridos. Dos funcionários da oficina a empresa pretende
manter a seguinte informação: código de identificação, nome, endereço, telefone e
categoria. O custo horário de mão de obra depende da categoria do funcionário e é
definido através de uma tabela que é atualizada regularmente.
• A empresa pretende saber para cada reparação: qual o veículo, qual o cliente, a data
em que foi efetuada e o custo total da reparação.
• A empresa pretende também armazenar para cada reparação as peças que foram
utilizadas e o seu preço, bem como o tempo de mão de obra gasto por cada
funcionário e o respectivo custo.
• A empresa pretende manter para as peças em armazém a seguinte informação:
código de identificação, designação, custo unitário e quantidade em armazém.
Construa o Modelo E-R
Faça o mapeamento ER para Relacional