Upload
rubens
View
223
Download
2
Embed Size (px)
DESCRIPTION
sfffdvffvf
Citation preview
MODELO E-R (cont.) E MODELO RELACIONAL
Professor Victor Sotero
1Banco de Dados
PARTICIPAO TOTAL
Uma entidade tem participao total em um relacionamento quando todos os indivduos participam desse relacionamento.
Ex.: EMPREGADO e DEPARTAMENTO tm participao total no relacionamento TRABALHA_PARA.
TRABALHA_PARA
Banco de Dados 2
e1e2e3
...
e4e5
d1
...
d2
d3
r1
...
r2
r3
r4
r5
EMPREGADO
TRABALHA_PARA
DEPARTAMENTO
PARTICIPAO PARCIAL
Uma entidade tem participao parcial em um relacionamento quando nem todos os indivduos participam desse relacionamento.
Ex.: EMPREGADO tem participao parcial no relacionamento GERENCIA.
No entanto, DEPARTAMENTO tem participao total.
Banco de Dados 3
e1
e2
e3
...
e4
e5
d1
...
d2
d3
r1
...
r2
r3
EMPREGADO GERENCIA DEPARTAMENTO
PARTICIPAO NO DIAGRAMA E-R
Banco de Dados 4
MODELO E-R (cont.)
ESPECIALIZAO
Ocorre quando uma entidade tem subgrupos que precisam ser representados.
Ex.: A entidade EMPREGADO pode ter os subgrupos ENGENHEIRO, TECNICO e GERENTE.
Alm disso, o empregado pode ser:
HORISTA (recebe por hora de trabalho, sem vnculo com a empresa)
ou ASSALARIADO (recebe mensalmente, com carteira assinada).
Note que todos esses subgrupos so empregados, mas tm suas particularidades.
Banco de Dados 5
MODELO E-R (cont.)
No Modelo ER:
cada subgrupo chamado de subclasse,
e a entidade principal chamada de superclasse.
O relacionamento entre superclasse e subclasse indicado por um sinal de est contido :
o mesmo sinal usado em Matemtica para indicar que um conjunto est contido em outro:
Banco de Dados 6
EXEMPLO DE ESPECIALIZAO
Ex.: Uma entidade CARRO (subclasse) tambm faz parte de VEICULO (superclasse).
Banco de Dados 7
ESPECIALIZAO TOTAL E PARCIAL
Especializao total:
Toda entidade da superclasse deve pertencer a alguma subclasse.
Banco de Dados 8
ESPECIALIZAO TOTAL E PARCIAL
Especializao parcial:
Nem toda entidade da superclasse precisa pertencer a alguma subclasse.
Banco de Dados 9
DISJUNO E OVERLAP
Disjuno:
Indivduo de uma subclasse no pode pertencer a outra.
Banco de Dados 10
DISJUNO E OVERLAP
Sobreposio (overlap):
Indivduo de uma subclasse pode pertencer a outra.
Banco de Dados 11
HERANA DE ATRIBUTOS
Banco de Dados 12
Uma subclasse herda todos os atributos da superclasse, mas tambm pode ter seus atributos especficos. Ex.: A entidade CARRO tem os 3 atributos gerais e seus 2
atributos especficos.
QUANDO CRIAR UMA ESPECIALIZAO?
Em geral, ocorre pelos seguintes motivos:
necessidade de ter atributos especficos para cada subgrupo;
Ex.: A informao Tipo de Engenheiro (eletrnico, mecnico, civil, Ex.: A informao Tipo de Engenheiro (eletrnico, mecnico, civil, etc.) s faz sentido para o subgrupo ENGENHEIRO, e no para toda a entidade EMPREGADO.
necessidade de ter relacionamentos que envolvem apenas um subgrupo, e no a entidade toda.
Ex.: Um relacionamento de gerncia de projeto s faz sentido para o subgrupo GERENTE, e no para toda a entidade EMPREGADO.
Banco de Dados 13
CATEGORIAS
Nos casos vistos at agora, uma nica superclasse d origem a algumas subclasses.
Em alguns casos, algumas superclasses do origem a uma nica subclasse.
Ex.: Entidades PESSOA, BANCO e EMPRESA, que, vez por outra, podem ter o papel de proprietrio de um veculo.ter o papel de proprietrio de um veculo.
Nesse caso, usa-se uma categoria.
indicada no diagrama como um subconjunto da unio das entidades originais.
As entidades so agrupadas em uma unio, e a categoria um subconjunto dessa unio.
Banco de Dados 14
Exemplo de Categoria
Um PROPRIETARIO de veculo pode ser uma PESSOA, um BANCO ou uma EMPRESA.
Uma nica subclasse se origina de vrias superclasses.
Banco de Dados 15
Unio
Categoria
HERANA EM UMA CATEGORIA
Note que o conceito de herana um pouco diferente:
Um PROPRIETARIO s herda os atributos de PESSOA, BANCO ou EMPRESA, dependendo do caso.
Banco de Dados 16
CATEGORIA COM ATRIBUTO
Uma categoria pode ter atributo prprio:
Ex.: Quando CARRO ou CAMINHAO for VEICULO_REGISTRADO, ter uma placa de licena.uma placa de licena.
Ser um atributo comum para qualquer caso.
Os demais atributos vo depender de ser CARRO ou CAMINHAO.
Banco de Dados 17
Especializao ou Categoria
A escolha subjetiva, no entanto recomendvel:
usar especializao quando h muitos atributos em comum;
usar categoria em caso contrrio.
Banco de Dados 18
MODELO RELACIONALMODELO RELACIONAL
Banco de Dados 19
MODELO RELACIONAL
Aps concluir o projeto conceitual do banco (diagrama ER), feito o projeto lgico.
Para esse fim, o modelo mais usado o Modelo Relacional.
O processo de transformar o Modelo ER no Modelo Relacional conhecido como mapeamento.conhecido como mapeamento.
Enquanto o Modelo ER trabalha com conceitos mais abstratos (entidades e relacionamentos),
o Modelo Relacional trabalha com conceitos mais concretos (tabelas).
Nesta aula, veremos os passos para realizar esse mapeamento.
Banco de Dados 20
MODELO RELACIONAL
Conceito
O modelo relacional representa os dados num BD como uma coleo de tabelas (relaes). Cada tabela ter um nome, que (relaes). Cada tabela ter um nome, que ser nico, e um conjunto de atributos com seus respectivos nomes e domnios.
Banco de Dados 21
TERMINOLOGIAS
Profissional Acadmica
Tabela Relao
Linha TuplaLinha Tupla
Coluna Atributo
Valor do Campo Valor do atributo
Banco de Dados 22
EXEMPLO DE UMA TABELANOME DA TABELA
ATRIBUTOS
Banco de Dados 23
VALORESObs.: no Banco de Dados Relacional tabela tambm chamada de Relao
TUPLAS
EXEMPLOS
Atributos (ou colunas)
Nome da relao (ou tabela)
Banco de Dados 24
578 Ana Barbosa 25 4003-313123 Joo Silva 47 null149 Maria Santos 31 3391-627184 Pedro Gomes 29 null
CDIGO NOME IDADE TELEFONE
Tuplas(ou linhas)
EMPREGADO
ORDENAO DE TUPLAS
Matematicamente, os elementos de um subconjunto no tem ordem entre eles, portanto as tuplas em uma relao(tabela) portanto as tuplas em uma relao(tabela) no tem qualquer ordem particular.
Banco de Dados 25
CHAVES CANDIDATAS E PRIMRIAS
Uma chave um atributo cujo valor diferente para cada linha.
Serve para identificar (diferenciar) as linhas.
Uma tabela pode ter mais de uma chave. Uma tabela pode ter mais de uma chave.
Nesse caso, cada uma chamada de chave candidata.
Entre essas chaves candidatas, escolhemos uma para ser a chave primria da tabela.
a principal identificadora da tabela.
Banco de Dados 26
Escolha da Chave Primria
Banco de Dados 27
Entre as chaves candidatas, escolhe-se a chave primria.
Obs.: Uma chave candidata no pode ter valores nulos.
No h regra para essa escolha (depende de cada projeto). Em geral, escolhe-se a mais simples para o funcionamento do
sistema.
Chave Composta
Uma chave pode ser formada pela combinao de alguns atributos.
Recebe o nome de chave composta.
Nesse caso, cada atributo separado pode conter repeties, mas a combinao dos atributos nunca se repetir.
Banco de Dados 28
Chave Estrangeira
578 Ana Barbosa 323 Joo Silva 1
MATR NOME NUM_DEPTEMPREGADO
Chave estrangeira
Uma chave estrangeira um atributo cujos valores fazem parte da chave primria de outra tabela.
Banco de Dados 29
23 Joo Silva 1149 Maria Santos84 Pedro Gomes 2
1 Recursos Humanos2 Informtica3 Financeiro
NUM NOMEDEPARTAMENTO
estrangeira
Chave primria
Chave primria
MAPEAMENTO
A partir de um diagrama ER, realizamos o mapeamento para obter um esquema relacional (tabelas).
O mapeamento feito em uma seqncia de passos. O mapeamento feito em uma seqncia de passos.
Em cada passo, convertemos cada tipo de estrutura do diagrama ER para tabelas do esquema relacional.
Cada um dos passos ser visto a seguir.
Banco de Dados 30
PASSO 1: ENTIDADE REGULARES
Passo 1: Entidades regulares (normais)
Cada entidade do diagrama ER se torna uma tabela.
Os atributos simples se tornam colunas da tabela.
Alguns atributos podem ter uma relao entre si. Por
exemplo, idade e data-nascimento de uma pessoa. Para
uma pessoa em particular, podemos determinar o valor
atual de idade atravs do atributo data-nascimento.
Ento idade chamado um atributo derivado e derivado do atributo data-nascimento.
Se houver atributo composto, suas partes se tornam colunas da tabela.
Se houver atributo derivado, no convertido para a tabela, pois ser calculado pela aplicao (no fica armazenado no banco).
Por enquanto, devemos ignorar os atributos multivalorados.
Devemos escolher um dos atributos chave para ser a chave primria da tabela.
Banco de Dados 31
PASSO 1: ENTIDADES REGULARES
Matricula DataNascIdade
EnderecoRuaNum
Apt BairroCidade
Estado
Nome
NumLocalizacoes
Banco de Dados 32
EMPREGADONome
Sexo
Idade
DEPARTAMENTO
GERENCIA11
TRABALHA_PARAN 1
PROJETO
Nome Num
PARTICIPAN NHoras
SUPERVISO1 N
PASSO 1: ENTIDADES REGULARES
Banco de Dados 33
PASSO 1: ENTIDADES REGULARES
Banco de Dados 34
PASSO 2: RELACIONAMENTOS 1:1 Passo 2: Relacionamentos 1:1
Escolhemos uma das tabelas para acrescentar uma chave estrangeira, apontando para a chave primria da outra tabela.
Recomendao: Dar preferncia entidade que tiver Recomendao: Dar preferncia entidade que tiver participao total no relacionamento (se houver).
Porque essa tabela sempre ter a chave estrangeira preenchida.
Acrescentamos, nessa mesma tabela escolhida, os atributos do relacionamento (se houver).
Banco de Dados 35
PASSO 2: RELACIONAMENTOS 1:1
Banco de Dados 36
PASSO 2: RELACIONAMENTOS 1:1
Banco de Dados 37
PASSO 3: RELACIONAMENTOS 1:N
Passo 3: Relacionamentos 1:N
Na tabela do lado N, acrescentar uma chave estrangeira apontando para a chave primria da outra tabela.
Porque, no lado N, cada indivduo se liga a apenas um indivduo do lado 1.
Acrescentamos, na mesma tabela, os atributos do relacionamento (se houver).
Banco de Dados 38
PASSO 3: RELACIONAMENTOS 1:N
Banco de Dados 39
PASSO 3: RELACIONAMENTOS 1:N
Banco de Dados 40
PASSO 4: RELACIONAMENTOS N:N
Passo 4: Relacionamentos N:N
Criamos uma nova tabela, que tem duas chaves estrangeiras, cada uma apontando para as chaves primrias das tabelas originais.primrias das tabelas originais.
A composio dessas chaves estrangeiras forma a chave primria da nova tabela.
Acrescentamos, na nova tabela, os atributos do relacionamento (se houver).
Banco de Dados 41
PASSO 4: RELACIONAMENTOS N:N
Banco de Dados 42
PASSO 4: RELACIONAMENTOS N:N
Banco de Dados 43
PASSO 5: ATRIBUTO MULTIVALORADO
Passo 5: Atributos Multivalorados
Criamos uma nova tabela, contendo:
uma coluna que guardar o atributo multivalorado; uma coluna que guardar o atributo multivalorado;
e uma chave estrangeira que aponta para a chave primria da tabela original.
A composio da coluna do atributo multivalorado com a chave estrangeira forma a chave primria da nova tabela.
Banco de Dados 44
PASSO 5: ATRIBUTO MULTIVALORADO
Banco de Dados 45
PASSO 5: ATRIBUTO MULTIVALORADO
Banco de Dados 46
EXERCCIOEXERCCIO
Banco de Dados 47