SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
Prof. Michael Trindade da Silva
Modelo de Dados Relacional
parte III
Banco de Dados
Prof. Michael Trindade da Silva
2023
Chaves e Índices
1 - Chave
Designa o item de busca, ou seja, um dado que será empregado nas
consultas à base de dados. É um conceito lógico da aplicação.
2 - Índice
É um recurso físico que visa otimizar a recuperação de uma informação
por um método de acesso. Seu objetivo principal está relacionado com a
performance de um sistema.
Uma chave pode ser utilizada como índice, mas um índice não é
necessariamente uma chave. A forma de criação do índice depende do
ambiente relacional.
2
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Chaves
Chave Primária (primary key):
É o atributo, ou conjunto de atributos, de uma tabela que identifica
univocamente um registro (tupla/linha) no BD.
Uma chave primária não tem nenhuma ligação com o conceito de ordenação
e com o acesso à tabela, pois declarar um atributo como primário e acessar a
tabela por outro atributo servem para manter duas restrições de integridade
determinadas por Codd.
3
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Chaves
Chave Secundária (secondary key):
Serve para definir uma segunda chave primária. Identifica sempre um item
de busca, pelo qual desejamos recuperar uma informação ou um conjunto de
informações.
É o atributo ou conjunto de atributos de uma tabela que identifica um
subconjunto de linhas (tuplas) que pode ter apenas uma linha (tupla).
No ambiente tradicional, só é possível acessar um registro se declarar que
aquele campo é chave. No ambiente relacional, uma tabela é acessível por
qualquer campo (atributo), independente de ser declarado como chave ou não.
Usamos normalmente a declaração de chave única (unique key) para agilizar
o acesso àquela tabela naquele atributo chave secundário.
4
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Chaves
Chave Candidata ou Alternativa:
Uma tabela relacional pode possuir alternativas de identificador único, ou
seja, várias colunas ou concatenações diferentes de colunas podem ter essa
propriedade.
Esses identificadores são candidatos à chave primária. Como um e somente
um será escolhido como chave primária, o restante passa a ser considerado
chave alternativa (alternate Key). Podem ou não ser declarados como chave
única (unique key).
No SQL, a constraint unique key é uma regra implementada no SGBD que
garante que não haverá valores duplicados da mesma coluna ou em um
conjunto de colunas da mesma tabela.
5
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Chaves
Chave Estrangeira (foreign key):
As chaves estrangeiras constituem um conceito de vital importância no
modelo relacional. São elos entre as tabelas.
Quando dizemos que duas tabelas estão relacionadas por atributos comuns,
provavelmente essa coluna em uma das tabelas é uma chave primária.
Na outra tabela, esse atributo vai caracterizar o que se denomina chave
estrangeira, propiciando, assim, uma ligação lógica (relacionamento) entre as
tabelas.
6
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Regras de Integridade do MR
1 - Integridade de Identidade (ou entidade)
A chave primária não pode conter um valo nulo (NULL). O NULL não é o
valor 0 (zero) nem o caractere branco, é simplesmente a não existência
de conteúdo nesse campo.
2 - Integridade Referencial
Se uma determinada tabela A possui uma chave estrangeira, a qual é
chave primária em outra tabela B, então ela deve:
 Ser igual a um valor de chave primária existente em B; ou
 Ser nula (NULL)
7
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Regras de Integridade do MR
Não pode existir na chave estrangeira um valor que não exista na tabela em
que ela é a chave primária, porém pode-se ter uma chave estrangeira sem valor,
ou seja, nula.
As regras de integridade do modelo relacional representam a garantia de que
as tabelas guardam as informações compatíveis.
São de extrema importância para a confiabilidade das informações contidas
no banco de dados.
Estas regras de integridade são implementadas por meio de Constraints na
linguagem de definição de dados.
8
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Características do MR
1 – Uma tabela é acessível por qualquer campo (atributo), independente de
ele ser declarado como chave ou não.
2 – O relacionamento entre os conjuntos de dados (tabelas) não existe
fisicamente, pois é apenas lógico e representado por chaves estrangeiras.
3 – Utilização de linguagens autocontidas e não procedurais.
4 – Os ambientes relacionais possuem um otimizador estratégico para
escolher o melhor caminho para recuperação dos dados.
9
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Derivação do ER para o MR
Nesta etapa, o desenvolvedor passará as visões do modelo conceitual para
o modelo lógico relacional.
Os dados são vistos como estruturas de dados voltadas para as
características do modelo lógico escolhido, visando a implementação do banco
de dados.
Regras de Conversão
 Existem regras precisas que não dão margem a erros.
 Uma vez projetado o ER, as tabelas que o representam num nível mais
baixo podem ser obtidas de forma clara.
 É evidente que nesta passagem devem ser observadas as características
do SGBD que será utilizado, pois existem diferenças que podem auxiliar
ou dificultar algumas soluções propostas.
 Alguns SGBDs necessitam de adaptações específicas.
10
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Derivação do ER para o MR
Mapeamento das Entidades
 Toda entidade torna-se uma tabela carregando todos os atributos
(definidos para a entidade).
 Cada atributo vira um campo da tabela criada.
 Cada uma das chaves gera “estruturas de acesso”.
 A chave primária e as chaves candidatas são projetadas para não
permitirem ocorrências múltiplas nem admitem nulos.
As chaves das entidades fracas são formadas pelos atributos indicados,
precedidos pelos atributos que compõe a chave primária das entidades da qual
ela depende para sua existência.
11
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Derivação do ER para o MR
Você vê um retângulo. O que fazer?
Transformá-lo em uma tabela; não há como errar.
Por que não há como errar?
Porque estamos falando de um modelo conceitual previamente
elaborado e validado junto com o usuário e os processos que vão trabalhar com
esses dados.
Exemplo:
Imagine um banco de dados com empregado e departamento. O usuário olha
para o banco e diz: quero um relatório que imprima o número de empregados de
cada departamento. Então você valida: esses dados respondem ao relatório que
o usuário quer? Sim, está perfeito; não, tenho de ajustar o banco de dados, pois
não vai responder a necessidade do usuário. A validação é sempre com o
usuário; ele confirma e vê se o banco responde.
12
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Derivação do ER para o MR
Mapeamento dos Atributos
 Os atributos das entidades e relacionamentos (que possuam atributos)
devem ser gerados na ordem que minimize o consumo de espaço de
armazenamento e torne mais eficiente a recuperação.
 Devem ser exploradas todas as características de um SGBD em uso.
 Para tanto, deve ser considerado se os campos têm ou não a
especificação de extensão em bytes, se existe localização no interior do
registro que propicie vantagens na recuperação e se existe compactação
de espaços não ocupados.
13
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Derivação do ER para o MR
Mapeamento dos Relacionamentos
As alternativas possíveis são divididas em dois grandes grupos:
 Navegação incorporada: trabalha diretamente com o conceito de chave
estrangeira.
 Navegação disjunta: trabalha sem a modificação das definições dos
registros já existentes, criando registros (entidades) diferentes dos
existentes, que tem a finalidade de propiciar a navegação.
]
Nas modelagem de dados, vamos utilizar as alternativas do primeiro grupo,
por ser mais simples e de uso mais comum hoje em dia. A segunda
alternativa vamos tentar ver nos relacionamentos N:M.
14
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Derivação do ER para o MR
Relacionamento – 1:N (envolvendo entidades distintas)
A entidade (tabela) cuja conectividade é N carrega o identificador da
entidade (tabela) cuja conectividade é 1 (chave estrangeira), e os atributos do
relacionamento.
Ou seja, quem está com o ‘N’ do lado carrega a chave do outro.
15
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Derivação do ER para o MR
Relacionamento – 1:N (envolvendo entidades distintas)
16
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Derivação do ER para o MR
Relacionamento – 1:N (envolvendo autorrelacionamento)
Deve-se incluir a chave primária da entidade na própria entidade como
chave estrangeira, gerando uma estrutura de acesso a partir dessa chave
estrangeira.
17
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Derivação do ER para o MR
Relacionamento – 1:1 (envolvendo entidades distintas)
As entidades (tabelas) envolvidas nesse relacionamento carregam o
identificador da outra (uma ou outra ou ambas) conforme a conveniência do
projeto (de acordo com o acesso a essas tabelas).
18
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Derivação do ER para o MR
Relacionamento – 1:1 (envolvendo entidades distintas)
19
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Derivação do ER para o MR
Relacionamento – 1:1 (envolvendo autorrelacionamento)
Deve-se incluir a chave primária da entidade na própria entidade (chave
estrangeira) e gerar uma estrutura de acesso para ela.
20
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Derivação do ER para o MR
Relacionamento – M:N (envolvendo autorrelacionamento e entidades distintas)
O relacionamento torna-se uma tabela que carrega os atributos (se houver)
e os identificadores das tabelas (entidades) que relaciona.
Este é o único caso em que um relacionamento torna-se uma tabela, pois
para a transformação no modelo relacional implementamos uma entidade
Associativa.
21
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Derivação do ER para o MR
Relacionamento – M:N (envolvendo autorrelacionamento e entidades distintas)
22
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Derivação do ER para o MR
Relacionamento – M:N (envolvendo autorrelacionamento e entidades distintas)
23
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Derivação do ER para o MR
Relacionamento Múltiplo
O relacionamento é mapeado em uma tabela e são geradas tantas
estruturas de acesso quanto for o grau do relacionamento. A chave primária de
cada uma das entidades associadas gera uma estrutura de acesso. A chave
dessa nova tabela é a concatenação das chaves estrangeiras.
24
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Derivação do ER para o MR
As Generalizações
Exemplo: dado o conjunto ‘funcionário’, existe uma variação para ele. Há um
ponto básico para os funcionários que são engenheiros, pois têm informações
adicionais, enquanto para o vendedor existem outros dados que não seriam
semelhantes aos de engenheiro.
O artifício, pois não se pode ter campos com tamanho variável, é criar
subconjuntos para os casos em que as informações variam.
Um elemento de ‘funcionário’ pode ter um e somente um subconjunto.
As informações dos engenheiros serão completadas pelo subconjunto
‘engenheiro’.
25
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Derivação do ER para o MR
As Generalizações
Se não houvesse atributo diferente para os outros, todos os que não fossem
engenheiros ou vendedores só teriam seus dados no conjunto ‘funcionário’.
Não é possível para um empregado cuja função é engenheiro atuar como
vendedor, porque os elementos não podem se sobrepor.
Os subconjuntos tornam-se tabelas que carregam o identificador do
conjunto ao qual pertencem.
A garantia de não sobreposição dos subconjuntos é uma restrição de
integridade que deve ser expressa na linguagem de acesso ao banco de dados
(exemplo: SQL).
O conjunto ‘funcionário’ vira uma tabela (regra padrão) e os subconjuntos
serão transformados em outras tabelas, carregando a chave primária matrícula.
26
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Derivação do ER para o MR
As Generalizações
27
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Mapeamento MER  MR
O mapeamento é feito em etapas para não perdermos nenhuma informação
e restrições já impostas no projeto.
É possível mapear em esquemas de tabelas os seguintes elementos do
diagrama entidade-relacionamento: entidades, atributos e relacionamentos.
Para fazermos essa migração, a indicação básica e determinante é a
cardinalidade prescrita.
O mapeamento será descrito em passos para compreendermos com mais
clareza o que é preciso ser feito.
28
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Mapeamento MER  MR
Entidades e Tabelas
1º. Passo: as entidades transformam em tabelas, e atributos em campos ou
colunas da tabela.
Temos a entidade Alunos e os atributos matrícula, nome e endereço.
O atributo matrícula é o atributo identificador no MER, e para o MR esse
atributo passa a ser a chave primária, trazendo consigo as mesmas
propriedades do atributo identificador.
A chave primária deve ser destacada, sublinhada, negritada ou com outra
forma de identificação.
29
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Mapeamento MER  MR
Entidades e Tabelas
1º. Passo: as entidades transformam em tabelas, e atributos em campos ou
colunas da tabela.
Temos o mapeamento da entidade Alunos para a tabela Alunos, em um
modelo relacional.
30
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Mapeamento MER  MR
Relacionamentos e a Cardinalidade
2º. Passo: mapear o relacionamento obedecendo a cardinalidade.
Temos um MER com apenas duas entidades e um relacionamento. O
principal indicativo para esse processo é a cardinalidade.
CASO 1: Relacionamento 1:1
31
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Mapeamento MER  MR
CASO 1: Relacionamento 1:1
Em primeiro lugar, passamos as entidades existentes para o formato de
tabela, com todos os seus atributos.
O mapeamento do relacionamento deve seguir a cardinalidade, e deve feita
com a chave primária.
32
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Mapeamento MER  MR
CASO 1: Relacionamento 1:1
Para entendermos melhor, o campo chave primária vai para a tabela
relacionada como chave estrangeira.
Esse nome é bem significativo, pois remete a ideia de um campo que não
pertence a tabela, que veio de fora, como é chave em sua tabela pertencente,
seu papel continua, mas como chave estrangeira.
Não pode esquecer que a chave primária permanece em sua tabela e passa
a ser um campo, chave estrangeira, em outra tabela, na tabela relacionada.
33
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Mapeamento MER  MR
CASO 1: Relacionamento 1:1
Para este relacionamento, é bem simples, pois podemos escolher a tabela
para a qual queremos enviar a chave primária, mas somente uma chave deve ir
para a outra tabela.
Temos a tabela Professores, então, podemos pegar a chave primária de
Professores (CPF) e levar para a tabela Disciplinas, em que será chave
estrangeira.
A chave estrangeira não precisa ser destacada, pode ser indicada como uma
linha reta ligando a chave primária à chave estrangeira.
34
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Mapeamento MER  MR
CASO 1: Relacionamento 1:1
Não podemos esquecer de observar a restrição imposta pela cardinalidade,
ou seja, “um professor pode ministrar somente uma disciplina e uma disciplina
pode ser ministrada por apenas um professor”.
35
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Mapeamento MER  MR
CASO 1: Relacionamento 1:1
Neste caso temos outra opção, podemos levar a chave primária de
Disciplinas para a tabela Professores.
É importante lembrar que, apesar de termos duas opções, devemos escolher
uma.
36
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Mapeamento MER  MR
CASO 1: Relacionamento 1:1
Uma diferença notável é que, na tabela Professores, o quarto registro (tupla)
está com o campo código em branco. É comum isso ocorrer, mesmo que se siga
outra opção.
Em um grande projeto é importante estudar qual seria a melhor opção, ou
seja, aquela que teria menos espaços em branco.
37
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Mapeamento MER  MR
CASO 2: Relacionamento 1:N
Temos um relacionamento em que o professor pode ministrar várias
disciplinas, mas uma disciplina só pode ser ministrada por um professor.
Nesse relacionamento, temos somente uma opção, e é sempre a regra.
38
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Mapeamento MER  MR
CASO 2: Relacionamento 1:N
A chave primária do lado 1 deve ser a chave estrangeira do lado N. Se o
modelo apresentar atributo do relacionamento, esse deve ser incluído na tabela
em que for a chave estrangeira, ou seja, onde a cardinalidade é N.
39
Banco de Dados
Modelo de Dados Relacional
A chave primária de
Professores (CPF)
deve ser a chave
estrangeira na tabela
Disciplinas.
Prof. Michael Trindade da Silva
2023
Mapeamento MER  MR
CASO 2: Relacionamento 1:N
Observa-se que a configuração é a mesma do caso 1 na primeira opção, e
só será feita a distinção dessa restrição imposta com os valores na tabela.
Podemos verificar, por meio dos valores, que um professor pode ministrar mais
de uma disciplina.
40
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Mapeamento MER  MR
CASO 3: Relacionamento N:1
A regra a seguir é a mesma mostrada no caso 2. No relacionamento
mostrado, no MER em que um professor pode ministrar somente uma disciplina,
mas uma disciplina pode ser ministrada por mais de um professor.
A chave primária do lado 1 deve ser a chave estrangeira do lado N.
41
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Mapeamento MER  MR
CASO 3: Relacionamento N:1
Seguindo a regra, temos a chave primária de Disciplinas, que vai ser chave
estrangeira na tabela Professores, como está indicado. Esse mapeamento tem
como produto as mesmas tabelas do caso 1 em uma de suas opções.
As restrições só podem ser distinguíveis por meio dos valores, tornando
assim, visível a modelagem imposta pela cardinalidade.
42
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Mapeamento MER  MR
CASO 3: Relacionamento N:1
Na representação dos valores desse caso, uma disciplina pode ser
ministrada por mais de um professor, assim, a disciplina de artes tem como
professores a Ana e o Pedro. Já no sentido contrário, cada professor só pode
ministrar uma disciplina.
43
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Mapeamento MER  MR
CASO 4: Relacionamento N:N
Neste tipo de relacionamento, temos que o professor pode ministrar várias
disciplinas, e uma disciplina pode ser ministrada por mais de um professor.
44
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Mapeamento MER  MR
CASO 4: Relacionamento N:N
Para mapear esse caso, a regra difere dos demais. Uma tabela deve ser
criada, a tabela relacionamento.
Essa nova tabela deve conter a chave primária de Professores e a chave
primária de Disciplinas.
Se o relacionamento possuir atributo, ele será campo nessa nova tabela.
Ela terá duas chaves estrangeiras, mas, como ela surgiu a partir do
relacionamento, quem será a chave primária?
45
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Mapeamento MER  MR
CASO 4: Relacionamento N:N
Observe, que as duas chaves estrangeiras estão destacadas. Elas indicam
uma chave primária composta.
Essa chave é formada pelas duas chaves estrangeiras, e cada campo
isolado continua sendo chave estrangeira cuja união com a outra forma a chave
primária.
46
Banco de Dados
Modelo de Dados Relacional
Prof. Michael Trindade da Silva
2023
Mapeamento MER  MR
CASO 4: Relacionamento N:N
Nesta cardinalidade, é um caso genérico, sem restrições, pois um professor
pode ministrar várias disciplinas e uma disciplina pode ser ministrada por mais
de um professor.
47
Banco de Dados
Modelo de Dados Relacional

Mais conteúdo relacionado

Semelhante a Aula_17-18_Modelo_Relacional_parte_III_BD_FMM.pdf

Aula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfAula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfedilson42986
 
Banco de dados
Banco de dadosBanco de dados
Banco de dadospadinho
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basicoAmadeo Santos
 
Introdução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoIntrodução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoDaniel Brandão
 
Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Emiliano Barbosa
 
Coletanea BD e BI (ESAF) - Jaime Correia
Coletanea BD e  BI (ESAF) - Jaime CorreiaColetanea BD e  BI (ESAF) - Jaime Correia
Coletanea BD e BI (ESAF) - Jaime CorreiaWalter Cunha
 
Aula Modelo Relacional
Aula Modelo RelacionalAula Modelo Relacional
Aula Modelo RelacionalMauro Duarte
 
Banco de Dados (parte 01)
Banco de Dados (parte 01)Banco de Dados (parte 01)
Banco de Dados (parte 01)Alex Camargo
 
Banco dados i prof ivan (acesse www.portalgsti.com.br)
Banco dados i prof ivan (acesse  www.portalgsti.com.br)Banco dados i prof ivan (acesse  www.portalgsti.com.br)
Banco dados i prof ivan (acesse www.portalgsti.com.br)Andre Sidou
 
1º trabalho base dados
1º trabalho base dados1º trabalho base dados
1º trabalho base dadosessa
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoRademaker Siena
 
Introdução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de DadosIntrodução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de Dadosinfo_cimol
 

Semelhante a Aula_17-18_Modelo_Relacional_parte_III_BD_FMM.pdf (20)

Aula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfAula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdf
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Apostila de bd
Apostila de bdApostila de bd
Apostila de bd
 
Modelos de base de dados
Modelos de base de dadosModelos de base de dados
Modelos de base de dados
 
Bases De Dados
Bases De DadosBases De Dados
Bases De Dados
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basico
 
Sql - introdução
Sql -  introduçãoSql -  introdução
Sql - introdução
 
Introdução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoIntrodução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel Brandão
 
Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8
 
Coletanea BD e BI (ESAF) - Jaime Correia
Coletanea BD e  BI (ESAF) - Jaime CorreiaColetanea BD e  BI (ESAF) - Jaime Correia
Coletanea BD e BI (ESAF) - Jaime Correia
 
Aula Modelo Relacional
Aula Modelo RelacionalAula Modelo Relacional
Aula Modelo Relacional
 
Modelagem de Dados
Modelagem de DadosModelagem de Dados
Modelagem de Dados
 
Banco de Dados (parte 01)
Banco de Dados (parte 01)Banco de Dados (parte 01)
Banco de Dados (parte 01)
 
Aula5pbd
Aula5pbdAula5pbd
Aula5pbd
 
Diagrama de E-R.pptx
Diagrama de E-R.pptxDiagrama de E-R.pptx
Diagrama de E-R.pptx
 
Banco dados i prof ivan (acesse www.portalgsti.com.br)
Banco dados i prof ivan (acesse  www.portalgsti.com.br)Banco dados i prof ivan (acesse  www.portalgsti.com.br)
Banco dados i prof ivan (acesse www.portalgsti.com.br)
 
1º trabalho base dados
1º trabalho base dados1º trabalho base dados
1º trabalho base dados
 
Ara7129 unidade-1-v1
Ara7129 unidade-1-v1Ara7129 unidade-1-v1
Ara7129 unidade-1-v1
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Introdução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de DadosIntrodução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de Dados
 

Aula_17-18_Modelo_Relacional_parte_III_BD_FMM.pdf

  • 1. Prof. Michael Trindade da Silva Modelo de Dados Relacional parte III Banco de Dados
  • 2. Prof. Michael Trindade da Silva 2023 Chaves e Índices 1 - Chave Designa o item de busca, ou seja, um dado que será empregado nas consultas à base de dados. É um conceito lógico da aplicação. 2 - Índice É um recurso físico que visa otimizar a recuperação de uma informação por um método de acesso. Seu objetivo principal está relacionado com a performance de um sistema. Uma chave pode ser utilizada como índice, mas um índice não é necessariamente uma chave. A forma de criação do índice depende do ambiente relacional. 2 Banco de Dados Modelo de Dados Relacional
  • 3. Prof. Michael Trindade da Silva 2023 Chaves Chave Primária (primary key): É o atributo, ou conjunto de atributos, de uma tabela que identifica univocamente um registro (tupla/linha) no BD. Uma chave primária não tem nenhuma ligação com o conceito de ordenação e com o acesso à tabela, pois declarar um atributo como primário e acessar a tabela por outro atributo servem para manter duas restrições de integridade determinadas por Codd. 3 Banco de Dados Modelo de Dados Relacional
  • 4. Prof. Michael Trindade da Silva 2023 Chaves Chave Secundária (secondary key): Serve para definir uma segunda chave primária. Identifica sempre um item de busca, pelo qual desejamos recuperar uma informação ou um conjunto de informações. É o atributo ou conjunto de atributos de uma tabela que identifica um subconjunto de linhas (tuplas) que pode ter apenas uma linha (tupla). No ambiente tradicional, só é possível acessar um registro se declarar que aquele campo é chave. No ambiente relacional, uma tabela é acessível por qualquer campo (atributo), independente de ser declarado como chave ou não. Usamos normalmente a declaração de chave única (unique key) para agilizar o acesso àquela tabela naquele atributo chave secundário. 4 Banco de Dados Modelo de Dados Relacional
  • 5. Prof. Michael Trindade da Silva 2023 Chaves Chave Candidata ou Alternativa: Uma tabela relacional pode possuir alternativas de identificador único, ou seja, várias colunas ou concatenações diferentes de colunas podem ter essa propriedade. Esses identificadores são candidatos à chave primária. Como um e somente um será escolhido como chave primária, o restante passa a ser considerado chave alternativa (alternate Key). Podem ou não ser declarados como chave única (unique key). No SQL, a constraint unique key é uma regra implementada no SGBD que garante que não haverá valores duplicados da mesma coluna ou em um conjunto de colunas da mesma tabela. 5 Banco de Dados Modelo de Dados Relacional
  • 6. Prof. Michael Trindade da Silva 2023 Chaves Chave Estrangeira (foreign key): As chaves estrangeiras constituem um conceito de vital importância no modelo relacional. São elos entre as tabelas. Quando dizemos que duas tabelas estão relacionadas por atributos comuns, provavelmente essa coluna em uma das tabelas é uma chave primária. Na outra tabela, esse atributo vai caracterizar o que se denomina chave estrangeira, propiciando, assim, uma ligação lógica (relacionamento) entre as tabelas. 6 Banco de Dados Modelo de Dados Relacional
  • 7. Prof. Michael Trindade da Silva 2023 Regras de Integridade do MR 1 - Integridade de Identidade (ou entidade) A chave primária não pode conter um valo nulo (NULL). O NULL não é o valor 0 (zero) nem o caractere branco, é simplesmente a não existência de conteúdo nesse campo. 2 - Integridade Referencial Se uma determinada tabela A possui uma chave estrangeira, a qual é chave primária em outra tabela B, então ela deve:  Ser igual a um valor de chave primária existente em B; ou  Ser nula (NULL) 7 Banco de Dados Modelo de Dados Relacional
  • 8. Prof. Michael Trindade da Silva 2023 Regras de Integridade do MR Não pode existir na chave estrangeira um valor que não exista na tabela em que ela é a chave primária, porém pode-se ter uma chave estrangeira sem valor, ou seja, nula. As regras de integridade do modelo relacional representam a garantia de que as tabelas guardam as informações compatíveis. São de extrema importância para a confiabilidade das informações contidas no banco de dados. Estas regras de integridade são implementadas por meio de Constraints na linguagem de definição de dados. 8 Banco de Dados Modelo de Dados Relacional
  • 9. Prof. Michael Trindade da Silva 2023 Características do MR 1 – Uma tabela é acessível por qualquer campo (atributo), independente de ele ser declarado como chave ou não. 2 – O relacionamento entre os conjuntos de dados (tabelas) não existe fisicamente, pois é apenas lógico e representado por chaves estrangeiras. 3 – Utilização de linguagens autocontidas e não procedurais. 4 – Os ambientes relacionais possuem um otimizador estratégico para escolher o melhor caminho para recuperação dos dados. 9 Banco de Dados Modelo de Dados Relacional
  • 10. Prof. Michael Trindade da Silva 2023 Derivação do ER para o MR Nesta etapa, o desenvolvedor passará as visões do modelo conceitual para o modelo lógico relacional. Os dados são vistos como estruturas de dados voltadas para as características do modelo lógico escolhido, visando a implementação do banco de dados. Regras de Conversão  Existem regras precisas que não dão margem a erros.  Uma vez projetado o ER, as tabelas que o representam num nível mais baixo podem ser obtidas de forma clara.  É evidente que nesta passagem devem ser observadas as características do SGBD que será utilizado, pois existem diferenças que podem auxiliar ou dificultar algumas soluções propostas.  Alguns SGBDs necessitam de adaptações específicas. 10 Banco de Dados Modelo de Dados Relacional
  • 11. Prof. Michael Trindade da Silva 2023 Derivação do ER para o MR Mapeamento das Entidades  Toda entidade torna-se uma tabela carregando todos os atributos (definidos para a entidade).  Cada atributo vira um campo da tabela criada.  Cada uma das chaves gera “estruturas de acesso”.  A chave primária e as chaves candidatas são projetadas para não permitirem ocorrências múltiplas nem admitem nulos. As chaves das entidades fracas são formadas pelos atributos indicados, precedidos pelos atributos que compõe a chave primária das entidades da qual ela depende para sua existência. 11 Banco de Dados Modelo de Dados Relacional
  • 12. Prof. Michael Trindade da Silva 2023 Derivação do ER para o MR Você vê um retângulo. O que fazer? Transformá-lo em uma tabela; não há como errar. Por que não há como errar? Porque estamos falando de um modelo conceitual previamente elaborado e validado junto com o usuário e os processos que vão trabalhar com esses dados. Exemplo: Imagine um banco de dados com empregado e departamento. O usuário olha para o banco e diz: quero um relatório que imprima o número de empregados de cada departamento. Então você valida: esses dados respondem ao relatório que o usuário quer? Sim, está perfeito; não, tenho de ajustar o banco de dados, pois não vai responder a necessidade do usuário. A validação é sempre com o usuário; ele confirma e vê se o banco responde. 12 Banco de Dados Modelo de Dados Relacional
  • 13. Prof. Michael Trindade da Silva 2023 Derivação do ER para o MR Mapeamento dos Atributos  Os atributos das entidades e relacionamentos (que possuam atributos) devem ser gerados na ordem que minimize o consumo de espaço de armazenamento e torne mais eficiente a recuperação.  Devem ser exploradas todas as características de um SGBD em uso.  Para tanto, deve ser considerado se os campos têm ou não a especificação de extensão em bytes, se existe localização no interior do registro que propicie vantagens na recuperação e se existe compactação de espaços não ocupados. 13 Banco de Dados Modelo de Dados Relacional
  • 14. Prof. Michael Trindade da Silva 2023 Derivação do ER para o MR Mapeamento dos Relacionamentos As alternativas possíveis são divididas em dois grandes grupos:  Navegação incorporada: trabalha diretamente com o conceito de chave estrangeira.  Navegação disjunta: trabalha sem a modificação das definições dos registros já existentes, criando registros (entidades) diferentes dos existentes, que tem a finalidade de propiciar a navegação. ] Nas modelagem de dados, vamos utilizar as alternativas do primeiro grupo, por ser mais simples e de uso mais comum hoje em dia. A segunda alternativa vamos tentar ver nos relacionamentos N:M. 14 Banco de Dados Modelo de Dados Relacional
  • 15. Prof. Michael Trindade da Silva 2023 Derivação do ER para o MR Relacionamento – 1:N (envolvendo entidades distintas) A entidade (tabela) cuja conectividade é N carrega o identificador da entidade (tabela) cuja conectividade é 1 (chave estrangeira), e os atributos do relacionamento. Ou seja, quem está com o ‘N’ do lado carrega a chave do outro. 15 Banco de Dados Modelo de Dados Relacional
  • 16. Prof. Michael Trindade da Silva 2023 Derivação do ER para o MR Relacionamento – 1:N (envolvendo entidades distintas) 16 Banco de Dados Modelo de Dados Relacional
  • 17. Prof. Michael Trindade da Silva 2023 Derivação do ER para o MR Relacionamento – 1:N (envolvendo autorrelacionamento) Deve-se incluir a chave primária da entidade na própria entidade como chave estrangeira, gerando uma estrutura de acesso a partir dessa chave estrangeira. 17 Banco de Dados Modelo de Dados Relacional
  • 18. Prof. Michael Trindade da Silva 2023 Derivação do ER para o MR Relacionamento – 1:1 (envolvendo entidades distintas) As entidades (tabelas) envolvidas nesse relacionamento carregam o identificador da outra (uma ou outra ou ambas) conforme a conveniência do projeto (de acordo com o acesso a essas tabelas). 18 Banco de Dados Modelo de Dados Relacional
  • 19. Prof. Michael Trindade da Silva 2023 Derivação do ER para o MR Relacionamento – 1:1 (envolvendo entidades distintas) 19 Banco de Dados Modelo de Dados Relacional
  • 20. Prof. Michael Trindade da Silva 2023 Derivação do ER para o MR Relacionamento – 1:1 (envolvendo autorrelacionamento) Deve-se incluir a chave primária da entidade na própria entidade (chave estrangeira) e gerar uma estrutura de acesso para ela. 20 Banco de Dados Modelo de Dados Relacional
  • 21. Prof. Michael Trindade da Silva 2023 Derivação do ER para o MR Relacionamento – M:N (envolvendo autorrelacionamento e entidades distintas) O relacionamento torna-se uma tabela que carrega os atributos (se houver) e os identificadores das tabelas (entidades) que relaciona. Este é o único caso em que um relacionamento torna-se uma tabela, pois para a transformação no modelo relacional implementamos uma entidade Associativa. 21 Banco de Dados Modelo de Dados Relacional
  • 22. Prof. Michael Trindade da Silva 2023 Derivação do ER para o MR Relacionamento – M:N (envolvendo autorrelacionamento e entidades distintas) 22 Banco de Dados Modelo de Dados Relacional
  • 23. Prof. Michael Trindade da Silva 2023 Derivação do ER para o MR Relacionamento – M:N (envolvendo autorrelacionamento e entidades distintas) 23 Banco de Dados Modelo de Dados Relacional
  • 24. Prof. Michael Trindade da Silva 2023 Derivação do ER para o MR Relacionamento Múltiplo O relacionamento é mapeado em uma tabela e são geradas tantas estruturas de acesso quanto for o grau do relacionamento. A chave primária de cada uma das entidades associadas gera uma estrutura de acesso. A chave dessa nova tabela é a concatenação das chaves estrangeiras. 24 Banco de Dados Modelo de Dados Relacional
  • 25. Prof. Michael Trindade da Silva 2023 Derivação do ER para o MR As Generalizações Exemplo: dado o conjunto ‘funcionário’, existe uma variação para ele. Há um ponto básico para os funcionários que são engenheiros, pois têm informações adicionais, enquanto para o vendedor existem outros dados que não seriam semelhantes aos de engenheiro. O artifício, pois não se pode ter campos com tamanho variável, é criar subconjuntos para os casos em que as informações variam. Um elemento de ‘funcionário’ pode ter um e somente um subconjunto. As informações dos engenheiros serão completadas pelo subconjunto ‘engenheiro’. 25 Banco de Dados Modelo de Dados Relacional
  • 26. Prof. Michael Trindade da Silva 2023 Derivação do ER para o MR As Generalizações Se não houvesse atributo diferente para os outros, todos os que não fossem engenheiros ou vendedores só teriam seus dados no conjunto ‘funcionário’. Não é possível para um empregado cuja função é engenheiro atuar como vendedor, porque os elementos não podem se sobrepor. Os subconjuntos tornam-se tabelas que carregam o identificador do conjunto ao qual pertencem. A garantia de não sobreposição dos subconjuntos é uma restrição de integridade que deve ser expressa na linguagem de acesso ao banco de dados (exemplo: SQL). O conjunto ‘funcionário’ vira uma tabela (regra padrão) e os subconjuntos serão transformados em outras tabelas, carregando a chave primária matrícula. 26 Banco de Dados Modelo de Dados Relacional
  • 27. Prof. Michael Trindade da Silva 2023 Derivação do ER para o MR As Generalizações 27 Banco de Dados Modelo de Dados Relacional
  • 28. Prof. Michael Trindade da Silva 2023 Mapeamento MER  MR O mapeamento é feito em etapas para não perdermos nenhuma informação e restrições já impostas no projeto. É possível mapear em esquemas de tabelas os seguintes elementos do diagrama entidade-relacionamento: entidades, atributos e relacionamentos. Para fazermos essa migração, a indicação básica e determinante é a cardinalidade prescrita. O mapeamento será descrito em passos para compreendermos com mais clareza o que é preciso ser feito. 28 Banco de Dados Modelo de Dados Relacional
  • 29. Prof. Michael Trindade da Silva 2023 Mapeamento MER  MR Entidades e Tabelas 1º. Passo: as entidades transformam em tabelas, e atributos em campos ou colunas da tabela. Temos a entidade Alunos e os atributos matrícula, nome e endereço. O atributo matrícula é o atributo identificador no MER, e para o MR esse atributo passa a ser a chave primária, trazendo consigo as mesmas propriedades do atributo identificador. A chave primária deve ser destacada, sublinhada, negritada ou com outra forma de identificação. 29 Banco de Dados Modelo de Dados Relacional
  • 30. Prof. Michael Trindade da Silva 2023 Mapeamento MER  MR Entidades e Tabelas 1º. Passo: as entidades transformam em tabelas, e atributos em campos ou colunas da tabela. Temos o mapeamento da entidade Alunos para a tabela Alunos, em um modelo relacional. 30 Banco de Dados Modelo de Dados Relacional
  • 31. Prof. Michael Trindade da Silva 2023 Mapeamento MER  MR Relacionamentos e a Cardinalidade 2º. Passo: mapear o relacionamento obedecendo a cardinalidade. Temos um MER com apenas duas entidades e um relacionamento. O principal indicativo para esse processo é a cardinalidade. CASO 1: Relacionamento 1:1 31 Banco de Dados Modelo de Dados Relacional
  • 32. Prof. Michael Trindade da Silva 2023 Mapeamento MER  MR CASO 1: Relacionamento 1:1 Em primeiro lugar, passamos as entidades existentes para o formato de tabela, com todos os seus atributos. O mapeamento do relacionamento deve seguir a cardinalidade, e deve feita com a chave primária. 32 Banco de Dados Modelo de Dados Relacional
  • 33. Prof. Michael Trindade da Silva 2023 Mapeamento MER  MR CASO 1: Relacionamento 1:1 Para entendermos melhor, o campo chave primária vai para a tabela relacionada como chave estrangeira. Esse nome é bem significativo, pois remete a ideia de um campo que não pertence a tabela, que veio de fora, como é chave em sua tabela pertencente, seu papel continua, mas como chave estrangeira. Não pode esquecer que a chave primária permanece em sua tabela e passa a ser um campo, chave estrangeira, em outra tabela, na tabela relacionada. 33 Banco de Dados Modelo de Dados Relacional
  • 34. Prof. Michael Trindade da Silva 2023 Mapeamento MER  MR CASO 1: Relacionamento 1:1 Para este relacionamento, é bem simples, pois podemos escolher a tabela para a qual queremos enviar a chave primária, mas somente uma chave deve ir para a outra tabela. Temos a tabela Professores, então, podemos pegar a chave primária de Professores (CPF) e levar para a tabela Disciplinas, em que será chave estrangeira. A chave estrangeira não precisa ser destacada, pode ser indicada como uma linha reta ligando a chave primária à chave estrangeira. 34 Banco de Dados Modelo de Dados Relacional
  • 35. Prof. Michael Trindade da Silva 2023 Mapeamento MER  MR CASO 1: Relacionamento 1:1 Não podemos esquecer de observar a restrição imposta pela cardinalidade, ou seja, “um professor pode ministrar somente uma disciplina e uma disciplina pode ser ministrada por apenas um professor”. 35 Banco de Dados Modelo de Dados Relacional
  • 36. Prof. Michael Trindade da Silva 2023 Mapeamento MER  MR CASO 1: Relacionamento 1:1 Neste caso temos outra opção, podemos levar a chave primária de Disciplinas para a tabela Professores. É importante lembrar que, apesar de termos duas opções, devemos escolher uma. 36 Banco de Dados Modelo de Dados Relacional
  • 37. Prof. Michael Trindade da Silva 2023 Mapeamento MER  MR CASO 1: Relacionamento 1:1 Uma diferença notável é que, na tabela Professores, o quarto registro (tupla) está com o campo código em branco. É comum isso ocorrer, mesmo que se siga outra opção. Em um grande projeto é importante estudar qual seria a melhor opção, ou seja, aquela que teria menos espaços em branco. 37 Banco de Dados Modelo de Dados Relacional
  • 38. Prof. Michael Trindade da Silva 2023 Mapeamento MER  MR CASO 2: Relacionamento 1:N Temos um relacionamento em que o professor pode ministrar várias disciplinas, mas uma disciplina só pode ser ministrada por um professor. Nesse relacionamento, temos somente uma opção, e é sempre a regra. 38 Banco de Dados Modelo de Dados Relacional
  • 39. Prof. Michael Trindade da Silva 2023 Mapeamento MER  MR CASO 2: Relacionamento 1:N A chave primária do lado 1 deve ser a chave estrangeira do lado N. Se o modelo apresentar atributo do relacionamento, esse deve ser incluído na tabela em que for a chave estrangeira, ou seja, onde a cardinalidade é N. 39 Banco de Dados Modelo de Dados Relacional A chave primária de Professores (CPF) deve ser a chave estrangeira na tabela Disciplinas.
  • 40. Prof. Michael Trindade da Silva 2023 Mapeamento MER  MR CASO 2: Relacionamento 1:N Observa-se que a configuração é a mesma do caso 1 na primeira opção, e só será feita a distinção dessa restrição imposta com os valores na tabela. Podemos verificar, por meio dos valores, que um professor pode ministrar mais de uma disciplina. 40 Banco de Dados Modelo de Dados Relacional
  • 41. Prof. Michael Trindade da Silva 2023 Mapeamento MER  MR CASO 3: Relacionamento N:1 A regra a seguir é a mesma mostrada no caso 2. No relacionamento mostrado, no MER em que um professor pode ministrar somente uma disciplina, mas uma disciplina pode ser ministrada por mais de um professor. A chave primária do lado 1 deve ser a chave estrangeira do lado N. 41 Banco de Dados Modelo de Dados Relacional
  • 42. Prof. Michael Trindade da Silva 2023 Mapeamento MER  MR CASO 3: Relacionamento N:1 Seguindo a regra, temos a chave primária de Disciplinas, que vai ser chave estrangeira na tabela Professores, como está indicado. Esse mapeamento tem como produto as mesmas tabelas do caso 1 em uma de suas opções. As restrições só podem ser distinguíveis por meio dos valores, tornando assim, visível a modelagem imposta pela cardinalidade. 42 Banco de Dados Modelo de Dados Relacional
  • 43. Prof. Michael Trindade da Silva 2023 Mapeamento MER  MR CASO 3: Relacionamento N:1 Na representação dos valores desse caso, uma disciplina pode ser ministrada por mais de um professor, assim, a disciplina de artes tem como professores a Ana e o Pedro. Já no sentido contrário, cada professor só pode ministrar uma disciplina. 43 Banco de Dados Modelo de Dados Relacional
  • 44. Prof. Michael Trindade da Silva 2023 Mapeamento MER  MR CASO 4: Relacionamento N:N Neste tipo de relacionamento, temos que o professor pode ministrar várias disciplinas, e uma disciplina pode ser ministrada por mais de um professor. 44 Banco de Dados Modelo de Dados Relacional
  • 45. Prof. Michael Trindade da Silva 2023 Mapeamento MER  MR CASO 4: Relacionamento N:N Para mapear esse caso, a regra difere dos demais. Uma tabela deve ser criada, a tabela relacionamento. Essa nova tabela deve conter a chave primária de Professores e a chave primária de Disciplinas. Se o relacionamento possuir atributo, ele será campo nessa nova tabela. Ela terá duas chaves estrangeiras, mas, como ela surgiu a partir do relacionamento, quem será a chave primária? 45 Banco de Dados Modelo de Dados Relacional
  • 46. Prof. Michael Trindade da Silva 2023 Mapeamento MER  MR CASO 4: Relacionamento N:N Observe, que as duas chaves estrangeiras estão destacadas. Elas indicam uma chave primária composta. Essa chave é formada pelas duas chaves estrangeiras, e cada campo isolado continua sendo chave estrangeira cuja união com a outra forma a chave primária. 46 Banco de Dados Modelo de Dados Relacional
  • 47. Prof. Michael Trindade da Silva 2023 Mapeamento MER  MR CASO 4: Relacionamento N:N Nesta cardinalidade, é um caso genérico, sem restrições, pois um professor pode ministrar várias disciplinas e uma disciplina pode ser ministrada por mais de um professor. 47 Banco de Dados Modelo de Dados Relacional