Prévia do material em texto
Bases de Dados – Aula 0
Célio Santana
Celio.santana@gmail.com
Sumário
o Apresentação do Professor;
o Apresentação do Aluno;
o Do que a disciplina se trata;
o Site da Disciplina;
o Funcionamento da Disciplina;
o Avaliação;
o Projetos;
Apresentação do Professor
Expectativas da Turma
Do que se trata a Disciplina?
Como será o andamento da
disciplina (Cronograma)
Site da Disciplina
https://sites.google.com/site/basedadosbibliotecomia/
E a disciplina…
• Disciplina de 60 Horas;
• Segundas das 14:00 – 18:00
• 15 Faltas são permitidas;
• Projeto previsto para Novembro
Algumas Regras :D
• Sim, eu faço chamada;
• Sim, eu respondo email;
• Não, não atendo telefone (caso consigam);
• Sim, eu reviso projeto (fora do horário de aula);
• Sim, eu tiros dúvidas em qualquer lugar que
você me encontrar pessoalmente;
• Não, NINGUÉM gosta de entra e sai em sala
de aula.
Projetos…
O Que acontecerá nas aulas…
• Sim, o material é expositivo (powerpoint, não
tem prezi (ainda));
• O Projeto está diluido ao longo da disciplina.
O que eu vou encontrar no
site...
• Na aba aulas vocês encontrarão links para
uma pasta no dropbox onde elas contem:
• Os slides da aula
• Outros Materiais Relevantes;
O que eu vou encontrar no
site...
• Informações da Disciplina (Página inicial);
• Calendário;
• Plano de Ensino (Documentos);
• Planilha de Frequencia e Notas;
• Equipes de projeto
Duvidas?
DCI – Curso Biblioteconomia
Base de Dados (Aula 1)
Célio Santana
Celio.santana@gmail.com
Introdução
Para você, hoje…
O que é uma base de dados?
Base de Dados
São um conjunto de dados organizados,
relacionados entre si (inter-relacionados) de
acordo com um determinado contexto, de forma
a apoiar todo o ciclo de vida da informação.
Conjunto de dados inter-relacionados,
oriundos de fontes variadas, armazenados de
forma lógica, com propósito específico,
permitindo recuperação da informação
armazenada, atendendo um determinado grupo
de usuários.
Base de Dados
Repositório de informação, relacionada a um
determinado assunto ou finalidade, armazenada
em computador em forma de arquivos.
Exemplos:
Lista telefônica;
Dados sobre as atividades de uma organização;
Livros de um acervo;
Dados sobre artigos publicados em periódicos;
Clientes de uma empresa;
Produtos de uma empresa, etc.
Bases de Dados
Definições Formais
Conjunto de arquivos e programas de computador
coordenados e estruturados que constituem um depósito de
informações que podem ser acessados por diversos
utilizadores. A base de dados contém:
a) os arquivos ou depósitos de informação;
b) os programas de tratamento que são colocados à disposição
do usuário com o intuito de lhe assegurar serviços básicos de
acesso, interrogação, apresentação dos resultados e, em alguns
casos, tratamento da informação contida na base de dados.
(CUNHA; CAVALCANTI, 2008, p. 43)
É uma coleção geral e integrada de dados junto com a
descrição deles, gerenciada de forma a atender a diferentes
necessidades de seus usuários (ROWLEY, 2002)
Bases de Dados
Objetivo
Fornecer informação:
atualizada (recursos estruturais);
precisa e completa (não dar a informação pela metade);
confiável; e
de acordo com a demanda (oferecer o que o usuário
necessita);
Serve para gerir vastos conjuntos de informação
de modo a facilitar a organização, manutenção e
pesquisa de dados.
Base de Dados
De uma forma genérica, qualquer conjunto de
dados é uma Base de Dados (BD):
uma agenda com as moradas de pessoas conhecidas;
uma lista de CDs/DVDs;
um livro;
apontamentos tirados nas aulas;
os dados guardados nos computadores das Finanças
sobre os contribuintes…
Muitas bases de dados começam como uma lista
em um programa de processamento de texto ou
folha de cálculo.
Até mesmo em papel!
8
Base Dados
Conjunto de dados e suas descrições;
Organizados de forma lógica;
Inter-relacionados;
Dependem do contexto;
Apoia ciclos de vida da informação;
Oriundos de diversas fontes;
Possui propósitos específicos;
Atende a necessidade dos usuários;
Gerenciada;
Se a gente considerar tudo
isso...
Essas coisas são bases de dados?
Lista telefônica;
Dados sobre as atividades de uma organização;
Livros de um acervo;
Dados sobre artigos publicados em periódicos;
Clientes de uma empresa;
Produtos de uma empresa, etc.
Problemas em Bases não
estruturadas
À medida que a lista vai crescendo, as
redundâncias e inconsistências começam a
aparecer nos dados.
Os dados tornam-se difíceis de compreender
na forma de lista e os meios para procurar ou
retirar subconjuntos de dados para revisão
são limitados.
Assim que estes problemas começam a surgir,
convém transferir os dados para uma base de
dados estruturada.
E a famosa relação
E essa relação considerando
Conjunto de dados e suas descrições;
Organizados de forma lógica;
Inter-relacionados;
Dependem do contexto;
Apoia ciclos de vida da informação;
Oriundos de diversas fontes;
Possui propósitos específicos;
Atende a necessidade dos usuários;
Gerenciada;
Motivação
Aumento do
volume de
informação.
Maiores
dificuldades
de gestão.
Aparecimento das
Bases de Dados
E quando temos isso?
Bases de Dados
Importância
Proporciona um rápido acesso à informação, com
atualidade, confiabilidade, permitindo um
gerenciamento das informações.
O que se pode recuperar depende do que existe na base
de dados e da forma como as informações tiverem sido
estruturadas.
Armazenam as informações de acordo com a
função ou a utilidade para usuários ou grupo de
usuários, bem como dados que também, em
qualquer momento, quando manipulados, se
tornam úteis para cada usuário dessas bases,
podendo se transformar em informações.
Bases de Dados
Vantagens
Diminuir o espaço ocupado pela informação;
Facilitar o acesso e a atualização da informação;
Aumentar a velocidade da pesquisa;
Evitar a redundância da informação.
Evolução das Bases de Dados
Década de 70: as primeiras bases de dados
foram comercializadas em terminais ou
impressas;
Década de 80: as bases eram disponibilizadas em
CD-ROM para ser usadas em
microcomputadores;
Década de 90: as bases de dados tornam-se
online;
E Banco de Dados, o que é?
Banco de dados é um conjunto de bases de
dados, podendo ser construído com tecnologia
específica permitindo a estruturação,
armazenamento e recuperação dos dados no
computador;
Exemplos:
Banco de dados de uma empresa pode ser formado por
uma base de dados de funcionários, outra de clientes e
outra de pagamentos;
Banco de dados de uma biblioteca pode ser formado por
uma base de dados do acervo, uma de usuários e outra
de empréstimos.
E Banco de Dados, o que é?
Outros autores dizem que a diferença entre
banco de dados e base de dados é que o primeiro
se refere aos programas e o segundo aos dados a
serem utilizados.
Apesar de não ser essa a definição faz sentido...
Mas o que as pessoas chamam de Banco de
Dados, vocês irão conhecer como Sistemas
Gerenciadores de Banco de Dados (SGBD).
Mas isso é assunto de outras aulas.
Visão Geral de um Banco de Dados
Registro 2
Camp
o 1
Camp
o 3
Camp
o 2
Registro 1
Camp
o 1
Camp
o 3
Camp
o 2
Arquivo 1
Base deDados 1
Registro 2
Campo
1
Campo
3
Campo
2
Registro 1
Campo
1
Campo
3
Campo
2
Arquivo 2
Registro 2
Camp
o 1
Camp
o 3
Camp
o 2
Registro 1
Camp
o 1
Camp
o 3
Camp
o 2
Arquivo 1
Base de Dados 2
Registro 2
Campo
1
Campo
3
Campo
2
Registro 1
Campo
1
Campo
3
Campo
2
Arquivo 2
Bases de Dados
Elementos
Dependem dos tipos de bases de dados pesquisados,
podem variar os termos que designam os elementos
Dado: informação, representativa para quem insere, valor
físico;
Informação: valor representativo do campo, dado
processado.
Arquivos
Arquivo é uma coleção de registros similares,
com relações definidas entre si.
A base de dados pode ter vários arquivos.
Arquivos...
Normalmente se referem a disposição física dos
dados.
Mas e a disposição lógica?
Tabelas
Tabela é uma estrutura de armazenamento da
informação, formada por um conjunto de
registros;
As tabelas agrupam informações da mesma
relação (entidade);
A base de dados pode ter várias tabelas.
Relação???
Vamos relembrar a Teoria dos Conjuntos
Registros/Tuplas
Registro/Tupla é a informação contida na base
de dados que diz respeito a um documento ou
item:
Em uma base de dados catalográficos, um registro
conteria dados de um livro;
Cada cliente de uma base de clientes de uma
organização é um registro.
Um registro é a composição de uma série de
campos que podem ter tipos e tamanhos
variados.
Cada linha de um arquivo ou tabela.
Também chamado de termo.
Campos
Campo é uma unidade lógica de informação que forma
um registro:
Os campos de um registro de livro seria o título, o ano de
publicação e a editora, por exemplo;
A escolha dos campos depende da base de dados que se quer
desenvolver. Ex: cabelo.
É a menor unidade de informação de uma base de
dados (Indivisível).
Um campo contém, normalmente, um tipo e um
tamanho definido.
Os tipos de campos utilizados, sua extensão e a quantidade
de campos são escolhidos de acordo com a aplicação;
Podem ter um tamanho fixo ou variável de número de
caracteres.
Campos
É a menor unidade de informação de uma base
de dados (Indivisível).
Quem diz isso.
Exemplo – Endereço (Cep, rua, bairro).
Exemplo de Campos de um
Registro de um Inventário
Nome do
campo
Tipo do dado Tamanho do
campo
Número do
item
Número 4 bytes
Descrição do
item
Texto 128 caracteres
Localização Texto 16 caracteres
Quantidade Número 4 bytes
Imagine
O atendente chama pela Sra. Maria
Provavelmente acontecerá isso
Como distinguir elementos?
Chaves de Busca -
identificadores
Chaves de busca são campos utilizados como
dados para localizar registros e, assim, recuperar
informações.
É ideal que uma chave de busca possa identificar
unicamente um registro na tabela ou arquivo.
Que chave de busca é usada para nos identificar perante
os órgãos públicos governamentais?
Qual sua chave de busca como aluno aqui da UFPE?
A escolha das chaves de busca também depende
da base de dados que se quer desenvolver.
Imagine o conjunto dos
alimentos
Tipos de dados
Texto
Número
Data/hora
Moeda
Auto numeração
Sim/Não ou verdadeiro/falso (binário)
Hyperlink
Objeto OLE (Object Linking and Embedding) – permite
disponibilizar um objeto de outro editor. Ex: um mapa, uma
imagem, um vídeo.
documentos incorporados mantêm todas as suas propriedades
originais.
Suportes e Acessos das
Bases de Dados
As bases de dados podem usar os seguintes
suportes:
Impresso: sub-produtos das bases de dados:
Ex: Index Medicus;
Meios magnéticos, como CD-ROM ou HD (disco rígido);
Ex: MEDLINE/CD-ROM;
Online por uma rede de telecomunicação:
Ex: http://www.usp.br/sibi/
O acesso pode ser público ou privado e remoto
ou local.
Considerações Finais
Em virtude das bases de dados serem essenciais
para facilitar o acesso à informação, é importante
conhecer:
Os tipos e estruturas de bases de dados;
Os formatos-padrão de registros;
Como modelar e compreender a modelagem de base de
dados;
Os tipos diversificados de bases de dados.
As ferramentas de consultas a base de dados.
Atividade 1 – para a próxima aula
No seu caderno ou em uma folha de papel,
esquematize (como achar melhor) como você criaria
uma lista de livros da sua biblioteca pessoal (pelo
menos uns 10):
Que dados fariam parte dessa base, ou seja, que
informações seriam armazenadas sobre o que é
importante para identificar um livro;
Depois imagine uma outra lista de empréstimos de
seus livros. Simule ao menos 5 empréstimos, entre
eles, devem ser feito empréstimo do mesmo livro
para pessoas diferentes e do mesmo livro para a
mesma pessoa.
Como você organizaria isso?
Referências
ROWLEY, J. A Biblioteca Eletrônica. Briquet de
Lemos / Livros, 2002:
Capítulo 5;
Material de aula da Professora Sandra Siebra
(DCI/UFPE).
Alguma dúvida?
Base de Dados
Especializadas
Célio Santana
Sumário
o Conceitos Básicos de SGBD;
o Arquitetura de SGBD;
o Modelagem de Dados;
o Aplicações;
o Aspectos Operacionais do SGBD;
o Projeto de Banco de Dados;
o Requisitos de Dados;
Sistemas de Arquivos
Sistemas de Gerenciamento
de Banco de Dados
Banco de Dados
Banco de Dados
SGBD
SGBD
SGBD
SGBD
SGBD
SGBD
SGBD
SGBD
SGBD
SGBD
SGBD
SGBD
Projeto de BD
Requisitos de Dados (Mini
Mundos)
o Banco de Dados de uma companhia
– Organizada em departamentos que têm um nome e um
número únicos e um empregado que gerencia o
departamento. A data de quando o empregado começou a
gerenciar o departamento deve ser registrada. Um
departamento pode ter varias localizações
– Um departamento controla um número de projetos, cada
qual com um nome e número únicos e uma única localização
Requisitos de Dados (Mini
Mundos)
o Banco de Dados de uma companhia
– Nós armazenamos para cada empregado seu nome,
identidade, endereço, salário, sexo, e data de
nascimento. Um empregado é assinalado a um
departamento mas pode trabalhar em diversos
projetos, os quais não são necessariamente
controlados pelo mesmo departamento. Nos
registramos o número de horas por semana que o
empregado trabalha em cada projeto e o supervisor
direto de cada empregado
– Nós mantemos registro para cada empregado, do
numero de dependentes (para seguro) e para cada
dependente o primeiro nome, sexo, data de
nascimento e relacionamento com o empregado.
Base de Dados
Célio Santana
Fundamentos de Banco
de Dados
Célio Santana
Sumário
o Motivação;
o Contextualização;
o Conceitos;
Motivação
Motiavação
o Muitos erros são realizados durante a
elicitação e definição dos requisitos de dados;
o Grande parte dos erros nos requisitos podem
ser detectados cedo no ciclo de
desenvolvimento de um produto;
o Quanto mais tarde um erro é detectado,
maior o custo de corrigí-lo;
o Estudos mostram que o custo de um
problema é 200 vezes maior se reparado
após a implantação.
Motivação
Motivação
• Problemas nos Requisitos;
– Não refletem a real necessidade dos clientes
– Inconsistentes ou incompletos
– Custo alto de mudanças após a implementação
– Mal entendidos entreclientes e equipe de
desenvolvimento
• Erros nos requisitos constituem uma das maiores
preocupações da indústria de software;
o Pesquisas empíricas revelam que o processo de
engenharia de requisitos é deficiente em 75% de
empresas de tecnologia.
Ciclo de Vida dos Projetos de
BD
Conceitos Básicos
o Requisito
– Uma facilidade no nível de usuário; por exemplo, um
corretor de gramática e ortografia
– Uma propriedade muito geral do sistema; por exemplo, o
sigilo de informações sem a devida autorização
– Uma restrição específica no sistema; por exemplo, o tempo
de varredura de um sensor
– Uma restrição no desenvolvimento do sistema; por
exemplo a linguagem que deverá ser utilizada para o
desenvolvimento do sistema.
Abordagem Prática de BD
• Descrição do Minimundo – Sistema Universitário
Requisitos :
• O sistema deve cadastrar alunos com os seguintes dados :
nome, cpf, sexo, data de nascimento, departamento de
habilitação.
• O sistema deve possibilitar a matrícula do aluno nas
disciplinas oferecidas no período letivo.
• O sistema deve permitir a consulta do histórico escolar do
aluno, visualizando as disciplinas cursadas e suas
respectivas notas
• O tempo de resposta de uma consulta de histórico não
pode exceder 5 segundos.
• O sistema deve utilizar o Oracle como SGBD.
• Visualização na Ferramenta
Exercício
o Crie um mini-mundo que represente a
sua biblioteca e o sistema de
empréstimos bolado por você na aula 1.
Fundamento de Banco de
Dados
Célio Santana
DCI – Curso de
Biblioteconomia
Base de Dados
Célio Santana
Celio.santana@gmail.com
Agenda
Modelo de Dados
Modelagem
Modelagem Conceitual
Modelo Entidade-Relacionamento
Modelo de Dados
Visão Geral
Aplicação Usuário SGBD
Bases
de
dados
Modelo de
Dados
Um modelo de dados especifica as regras segundo
as quais os dados são estruturados.
É uma técnica para a descrição formal dos dados,
relações entre os dados e limitações de uso.
Modelo de Dados
Representa conceitualmente a estrutura do BD
Os modelos de dados descrevem:
Os relacionamentos entre os dados,
A semântica dos dados e
As regras de consistência
Existem os seguintes modelos de dados:
Modelos com base em objetos
Também Conhecido como apenas Modelo Conceitual
Modelos com base em registros
Também Conhecido como apenas Modelo Lógico
Modelos físicos
5
Modelo de Dados
A modelagem de dados é uma das etapas do
ciclo de Desenvolvimento de Sistemas de Banco
de Dados
Investigar quais dados deverão fazer parte do banco
de dados, a fim de representar bem o problema a ser
resolvido e poder atender as necessidades de
armazenamento (persistência) dos dados da aplicação Analisar como esses dados podem ser
representados e relacionados (olhando para o
mundo real) através de um
modelo de dados
Transformar o modelo de dados criado em
estruturas de mais baixo nível que possam
realmente ser criadas dentro do SGBD
Implementar o BD usando algum
dos SGBDs disponíveis no mercado
mantido e monitorado pelo
administrardor de banco de
dados
Ferramenta: BR-Modelo
É uma ferramenta freeware voltada para ensino de
modelagem em banco de
dados relacional, com base na notação de Peter Chen e no
livro de autoria do Professor Carlos A. Heuser chamado
“Projeto de Bando de Dados”
Esta ferramenta foi desenvolvida por Carlos Henrique
Cândido sob a orientação do Prof. Dr. Ronaldo dos Santos
Mello (UFSC), como trabalho de conclusão do curso de
pósgraduação em banco de dados (UNVAG - MT e UFSC).
Atualmente, está na versão 3.0 e possui o seu código-fonte
disponibilizado para quem desejar modificar a ferramenta
A ferramenta é simples de usar e possui uma interface
amigável e toda a notação usada é a notação do livro de
Heuser.
O link para baixar encontra-se no site da disciplina.
Modelagem de
Dados
Modelagem de Dados
Ciclo de
Desenvolvimento de
Sistemas de BD
9
Monitoramento e
Manutenção do BD
Investigação
dos Dados
Modelagem
dos Dados
Projeto do
Banco de Dados
Implementação do
Banco de Dados
Modelagem dos Dados
É o processo de transformar aspectos do mundo
real (fatos) em um modelo formal igualmente
representativo.
Deve mostrar, de forma abstrata, como os fatos
estão relacionados
10
Modelo Entidade-Relacionamento (ER)
– modelagem conceitual
A visão de uma dada realidade baseia-se
no relacionamento entre entidades.
Representa o significado dos dados como:
Entidades,
Relacionamentos e
Atributos
11
Entidades
Objeto básico do MER.
É um conjunto de objetos concretos
(cliente,livro,...) ou abstratos (conta,
empréstimo,...) que são de um mesmo tipo e que
compartilham as mesmas propriedades.
Conjunto de objetos da realidade modelada sobre
os quais deseja-se armazenar informações no
BD.
Representadas por um retângulo.
O nome da entidade deve vir no singular e deve
ser representativo. Ex: não pode ser COISA.
12
O Que pode ser entidade?
Coisas tangíveis
Animal, equipamento, produto, meio de transporte
Funções assumidas
Cliente, médico, professor, aluno
Locais
Banco, livraria, biblioteca, departamento, empresa
Documentos
Histórico escolar, boletim de ocorrência, pedido de
compra
Eventos
Festa, jogo, campeonato
Entidades
• Entidade Concreta: Pode ser um objeto com uma
existência física ou um local.
• Ex: uma pessoa, um DVD, um carro, um livro, um
banco, um supermercado, uma biblioteca.
• Entidade Abstrata: Pode ser um objeto com existência
conceitual
• Ex: uma locação, um curso, um empréstimo, um
boletim de ocorrência, um pedido de compra, um
histórico escolar ou um projeto.
Entidades
Entidades fortes ou dominantes – são aquelas
que existem independente de outras.
Ex: Aluno, Professor, Funcionário, Livro.
Entidade fraca ou subordinadas - são aquelas de
dependem de outras para existir.
Ex: Dependente, cartão crédito adicional
Aluno Professor
Dependente
Instância de Entidades
Cada entidade tem um conjunto de propriedades
(atributos) que assumem valores e, em alguns
casos, assumem valores que devem ser únicos.
Por exemplo, uma entidade EMPREGADO pode ser
descrita pelas propriedades nome, cargo que ocupa,
idade e estado civil.
Essas propriedades seriam os atributos da entidade
EMPREGADO.
Para referir a um ocorrência em particular de
uma entidade fala-se em instância ou
ocorrência de entidade
Ex: (João da Silva, analista, 35 anos, casado) seria
um exemplo de instância da entidade EMPREGADO
16
Dicionário de Dados
Toda entidade deve ser descrita em um dicionário de dados
É preciso dizer o que cada entidade significa no contexto do que você
está modelando.
Dicionário de dados é um documento com a explicação de todos os
objetos criados no banco de dados (entidades, atributos e
relacionamentos);
Permite que se obtenham informações sobre todos os objetos do
modelo de forma textual, contendo explicações por vezes difíceis
de incluir no diagrama;
A maioria dos SGBDs atuais já fornece ferramentas para facilitar a
inclusão de informações.
17
Atributos
São propriedades descritivas de uma entidade ou
relacionamento.
Uma entidade sempre é representado por um conjunto de
atributos
Atributos de uma entidade CLIENTE
nome, RG, rua, cidade, telefone...
Atributos de uma entidade CONTA
numero, data_abertura, saldo... O conjunto de valores permitidos para cada atributo é chamado
de domínio do atributo (definição do tipo do atributo).
Por exemplo:
nome = texto ou alfanumérico com 60 posições
conta = numérico sem casa decimal
saldo= numérico com casa decimal
18
Atributos
Em algumas situações relacionamentos também
podem ter atributos
Ex: Atributos do relacionamento entre EMPREGADO e o
PROJETO onde ele está alocado.
Colocar um atributo no relacionamento, significa que
ele só será preenchido quando o relacionamento for
instanciado.
19
A função do empregado
só será definida, quando
ele for designado a um
projeto – ou seja, quando
o relacionamento ocorrer.
Atributos
Cada instância de uma entidade ou
relacionamento tem seu próprio valor para cada
atributo.
Esse valor tem de estar dentro do domínio
definido para o atributo.
Ex: nome Rita, Ana, João, José, ...
conta 123, 321, 456, 654, ...
consulta C1, C2,C3, C4, ...
Os atributos podem ser:
Simples ou Compostos;
Monovalorados ou Multivalorados;
Nulos e
Derivados.
20
Atributos simples ou composto
Atributo simples: não pode ser dividido
em partes. Ex: idade, CPF, número da
conta, etc
Atributo composto: pode ser dividido em
atributos mais simples ou elementares.
Tudo vai depender do contexto sendo
modelado.
Ex: nome do cliente pode ser estruturado em
prenome, nome-intermediário e sobrenome.
Data pode ser dividida em dia, mês e ano.
Endereço pode ser dividido em tipo logradouro,
logradouro, número, complemento, bairro,
cidade, estado e cep.
21
Idade
Endereço
Rua
Cidade
Estado
Atributos simples ou composto
Atributos compostos são usados quando o
usuário desejar se referir ao atributo como um
todo em certas ocasiões e somente a parte dele
em outras.
Às vezes são usados para facilitar as consultas.
Ex: CPF e nome no exemplo abaixo são atributos
simples e endereço é atributo composto.
CPF Nome Endereço
Rua Bairro Num Compl CEP
1234 R. 21
abr
San
Martin
34 51089-
345
Atributos mono ou multivalorados
Atributo Monovalorado – possuem apenas
um valor por instância da entidade.
Ex: o atributo CPF de uma entidade Cliente refere-se
apenas a um nº de CPF é, então, mono-valorado.
Atributo Multivalorado – podem possuir um
conjunto de valores para um única instância
de entidade.
Ex: o atributo telefone – um CLIENTE pode ter um,
nenhum ou vários telefones
Autor de um livro – um livro pode ter um ou mais
autores.
Foi possível colocar mais de um valor em um mesmo
atributo, ele é multivalorado.
23
Telefones
Atributos - exemplo
Código, Título, Editora e Ano são atributos
monovalorados.
Autor é um atributo multivalorado.
Codigo Título Autor Editora Ano
1 Objetos
Digitais
FULANO, T. Briquet de
Lemos
2012
2 Biblioteca
Eletrônica
ROWLEY, J. Briquet de
Lemos
1998.
Atributos opcionais ou nulos
Usado quando um atributo de uma entidade
puder não ser preenchido. Ou seja, quando ele
puder receber valor nulo (ficar vazio).
Nulo significa que o valor do atributo é vazio ou ainda
não foi informado (desconhecido).
Ex: Telefone deve ser um atributo opcional, assim como
o complemento do endereço. Ou seja, podemos deixar
eles sem preencher, pois alguém pode não ter telefone
ou morar em casa – logo não tem complemento a
informar.
OBS: Um atributo não opcional é um atributo de
preenchimento obrigatório.
OBS: Nulo Zero !
25
Atenção
Atributos Derivados
O valor deste tipo de atributo pode ser derivado
de outros atributos ou entidades a ele
relacionados.
Ex: o atributo idade da entidade CLIENTE seria um
atributo derivado da data de nascimento. Ou seja,
poderia ser calculado a partir dela.
Ex: CLIENTE poderia ter o atributo QTD_Conta que ele
possui, porém, pode-se derivar o valor deste atributo
contando o número das entidades Contas associadas ao
cliente em questão.
O uso de atributos derivados é uma decisão de
projeto e requer bom senso.
Espaço X Integridade X Desempenho
26
Tempo_de_casa
Identificador da entidade
(chave)
Refere-se a um (simples) ou mais (composto) atributos
cujos valores identificam unicamente uma entidade.
O identificador deve possuir um valor único para cada
entidade, não admitindo valores repetidos do atributo (ou
dos atributos) que o compõem.
Por convenção, o atributo identificador é representado
sempre de forma diferenciada dos outros atributos.
Existem várias notações para representar um Atributo
Identificador:
Sublinhado
Círculo preto (Peter Chen) – a notação que vamos adotar
Sublinhado duplo
Identificador Simples de Entidade
Apenas um dos atributos já serve para recuperar
uma única ocorrência de entidade.
Ex: CPF do CLIENTE ou código do ALUNO.
Identificador Composto de
entidade
Apenas um dos atributos não
serve para recuperar uma única
ocorrência de entidade. Assim, é
preciso que mais de um atributo
faça parte do identificador.
Ex: Um Prateleira pode ser localizada
pelo número do corredor associado
ao número do armário e ao número
da prateleira. Apenas com um ou
outro, não se localiza a prateleira
Relacionamentos
São funções que mapeiam um conjunto de
instâncias de uma entidade em um outro
conjunto de instâncias de outra entidade (ou da
mesma entidade: “auto relacionamento”).
São associações entre diversas entidades.
Exemplos:
“Um empregado trabalha em um projeto”
“Um cliente possui conta bancária”
“Um filme possui vários atores”
Formalmente o relacionamento é uma relação
matemática com
n >= 2 (n = número de conjuntos entidades).
30
Relacionamentos
31
CLIENTES CLIENTES CLIENTES CLIENTES CONTAS CONTAS CONTAS CONTAS
POSSUEM
Notação do relacionamento
Relacionamentos são representados
por um losango interligando uma ou
mais entidades com um verbo
significativo.
Relacionamento tem cardinalidade e
um grau.
Relacionamentos podem ter papéis.
Restrição de participação (total ou
parcial)
Trabalha
Funcionario
Departamento
emprega
Relacionamento
Relacionamento X Instância de Relacionamento
Para referir um relacionamento particular fala-se em
instância ou ocorrência de relacionamento
Tem autores que consideram uma associação específica
como um relacionamento e o conjunto de associações
como conjunto de relacionamentos
Exemplo
Nos relacionamentos CLIENTE – CONTA, um
relacionamento que associa o cliente Luiz com a conta
1234, especificando que o cliente Luiz é o cliente
proprietário da conta, seria um exemplo de instância de
relacionamento.
33
Exemplo
CPF
Grau do Relacionamento
É o número de entidades que participam do
relacionamento.
O relacionamento abaixo é Grau 2.
Funcionario
Departamento
emprega
Grau do Relacionamento
Grau 2 - Binário: O relacionamento está ligando
duas entidades.
Grau 3 - Ternário: O relacionamento entre três
entidades é dito de grau três.
Por Exemplo:
O relacionamento TRABALHA pode ser Binário ou
Ternário.
Cardinalidade do Relacionamento
A cardinalidade expressa o número de entidades
as quais outra entidade pode estar associada em
um relacionamento.
Podem ser:
Um para um (1 para 1)
Um para muitos (1 para N)
Muitos para um (N para 1)
Muitos para muitos (N para N) - pode ser substituido por
qualquer outra letra, como M, P, Q)
Cardinalidade do Relacionamento Caracterizam o número mínimo e máximo de
instâncias de cada entidade que podem estar
associadas através do relacionamento
Exemplo:
1. Com quantos elementos de B se relaciona cada um
dos elementos de A?
2. Com quantos elementos de A se relaciona cada
um dos elementos de B?
38
A B R
Relacionamento Um-para-Um (1:1)
Uma entidade de A está associada, no máximo, a uma
entidade de B, e uma entidade de B está associada a, no
máximo, uma entidade de A.
É como se cada instância da entidade A só encontrasse
uma instância correspondente na entidade B.
Por exemplo, “Pessoa recebe Certidão de Óbito”.
Cada pessoa só pode receber uma única certidão de óbito
E uma certidão de óbito só deve pertencer a uma única
pessoa
Logo, esse relacionamento é dito um para um.
39
PESSOA
CERTIDÃO
DE ÓBITO recebe
(1,1) (1,1)
Tipos de Mapeamento – 1:1
Um-para-um: Uma entidade A está associada
no máximo a uma entidade B e B está associada
no máximo a uma entidade A (pelo menos, de
cada vez)
40
CLIENTE CLIENTE CÔNJUGE
Tipos de Mapeamento – 1:1
Um-para-um:
41
Cônjuge
Cliente
possui
Quando não colocamos
nada, significa 1.
Pode-se usar a notação
(1,1), que quer dizer, no
mínimo 1 e no máximo 1.
Lê-se, um somente um.
Relacionamento Um-para-
Muitos (1:N)
Relacionamento Um-para-Muitos
(1:N)
• Uma entidade em A está associada a várias entidades em B, e uma
entidade em B, entretanto, deve estar associada a, no máximo, uma
entidade em A
• É como se cada instância da entidade A encontrasse zero ou mais
instâncias correspondentes na entidade B, porém, cada instância da
entidade B só encontrasse uma única instância correspondente em A
• Por exemplo, “Empresa possui Filial”
Cada empresa pode possuir zero ou mais filiais (ou seja, N
filiais, porque o N significa 0, 1, 2 ou mais).
Mas uma filial só pertence a uma única empresa
43
EMPRESA FILIAL possui
(1,1) (0,N)
onde N = 0, 1 ou mais
Relacionamento Muitos-para-
Muitos (M:N) ou (N:N)
• Uma entidade em A está associada a qualquer número de
entidades em B e uma entidade em B está associada a um número
qualquer de entidades em A.
• É como se cada instância da entidade A encontrasse zero, um ou
mais instâncias correspondentes na entidade B. E cada instância
da entidade B encontrasse zero, uma ou mais instâncias
correspondentes na entidade A
• Por exemplo, “Atleta pratica esporte”
Um atleta pratica um ou mais esportes. Um esporte é
praticado por zero ou mais atletas (porque pode ser que tenha
um esporte que ninguém ainda pratique).
44
ATLETA ESPORTE pratica
(0,N) (1,N)
Relacionamento Muitos-para-
Muitos (M:N) ou (N:N)
“Aluno cursa Disciplina”
Um aluno cursa zero ou mais disciplinas e uma
disciplina é cursada por zero ou mais alunos
45
ALUNO DISCIPLINA CURSA
(0,N) (0,N)
Relacionamento Muitos-para-
Muitos (M:N) ou (N:N)
Muitos-para-muitos: Uma entidade A está
associada a qualquer número de entidades B e
uma entidade B está associada a qualquer
número de entidades A.
46 CLIENTE VENDEDOR
Relacionamento Muitos-para-
Muitos (M:N) ou (N:N)
Muitos-para-muitos:
47
Vendedor
Cliente
atende
(0,N)
(0,N)
Tipos de Mapeamento
Notas Importantes
O mapeamento apropriado da cardinalidade ou
multiplicidade de um relacionamento é,
obviamente, dependente da realidade a ser
modelada.
Por Exemplo: A relacionamento “Empregado trabalha em Projeto”
pode ter a cardinalidade N:1 ou M:N, depende da realizada a ser
modelada
Não existe uma “receita de bolo”!
48
Exercícios
Represente através da notação E-R os
seguintes relacionamentos, incluindo a
cardinalidade:
a) Médico atende paciente
b)Estado é governado por Governador
c) Autor escreve livro
e) Empregado possui dependente
f) Curso possui várias disciplinas que são
ministradas por professores. Cada professor
pode ministrar mais de uma disciplina.
49
Exercício 1 - Descrição
Um Sistema Único de Saúde Ideal seria:
Hospitais são formados por um ou mais ambulatórios e cada um destes está
em um único hospital
Médicos clinicam em um único hospital, cada um deles agregando vários
médicos
Hospitais solicitam exames clínicos em vários laboratórios, cada um destes
pode ter solicitações de vários hospitais
Pacientes consultam vários médicos e estes são consultados por vários
pacientes
Ambulatórios atendem vários pacientes, enquanto estes só podem ser
atendidos em um único ambulatório
Pessoal de apoio está alocado em um ambulatório, e cada ambulatório tem
vários integrantes do pessoal de apoio.
Pacientes realizam vários testes e cada teste é realizado por um paciente
Laboratórios fazem vários testes e cada um dos testes é feito em um único
laboratório
Cada paciente pode receber vários diagnósticos e cada diagnóstico é de um
único paciente.
50
Atributos em relacionamentos
51
CLIENTE CÔNJUGE
Cidade
Nome
R.G.
Endereço
Data
Nome
CPF
CASA-SE
Data
Assim como Entidades, Relacionamentos também
podem possuir atributos (ex: data casamento)
Relacionamento
Existem relacionamentos entre entidades
distintas
52
Empregado
Projeto trabalha
(1, N) (1,N)
Relacionamento
As vezes, pode existir mais de um
relacionamento entre as mesmas entidades
53
Professor Curso
Atua
Coordena
(1, N) (1, N)
(1, 1) (1, 1)
Auto-Relacionamento
Existem relacionamentos entre uma entidade e
ela mesma (auto-relacionamento).
54
Empregado supervisiona
1..N
0..1
Auto-relacionamento
Um relacionamento não associa apenas entidades
diferentes
As vezes é necessário relacionar instâncias de
uma mesma entidade, ou seja, fazer um auto-
relacionamento
Nestes casos é necessário o conceito de Papel
Papel = Função que uma instância de uma entidade
cumpre em uma instância de um relacionamento
Relacionamento entre entidades diferentes não requer
papéis
55
Diagramas E-R:
Autorelacionamento
56
CLIENTE
CASADO Marido Esposa
Papeis
Auto-Relacionamentos
•São relacionamento que associam uma mesma entidade, ou seja, relacionar
a entidade com ela mesma
•É chamado auto-relacionamento ou relacionamento recursivo.
• Por Exemplo: O relacionamento “Empregado supervisiona
Empregado”, significando que um supervisor também é um empregado
e ele supervisiona outros empregados.
Nesse caso, não seria correto usar duas entidades Empregado
diferentes, porque estamos falando da mesma entidade.
Dessa forma, o relacionamento seria entre a entidade Empregado e ela
mesma, através do relacionamento supervisiona.
Conseqüentemente, a entidade EMPREGADO participa duas vezes do
relacionamento: uma vez no papel de supervisor e outra no papel de
supervisionado.
papéis
Relacionamento
Um relacionamento pode ser N-ário (relacionar
várias entidades)
58
Cliente Conta
Agência
CCA
Cardinalidade em Relacionamentos Ternários
•Para determinar a cardinalidade em relacionamentos ternários é necessário
unir duas entidades e verificar a cardinalidade das duas em relação à terceira
• Por Exemplo:
• Um Empregado em Um Projeto pode trabalhas para quantos
Clientes?
• Um Empregado para Um Cliente pode trabalhar em quantos
Projetos?
• Um Projeto de um Cliente pode possuir quantos Funcionários?
Relacionamentos com Atributos
•Assim como entidades possuem atributos, relacionamentos também podem
possuir atributos
• Por Exemplo: O relacionamentoATUA possui um atributo chamado
função.
Esse atributo função vai representar a função/papel que um empregado
exerce dentro de um projeto. Essa função só é atribuída, quando o
empregado é alocado em um projeto.
Relacionamento com atributos
61
ENGENHEIRO PROJETO
Código Nome
Código Título
ATUA
Função
O mesmo Engenheiro pode desempenhar funções
diferentes em projetos diferentes
Relacionamento com atributos
62
FINANCEIRA VENDA FINANCIA
Qtd_Parcelas
Por que não em vendas?, porque nem todas as
vendas são feitas a prazo ! (ficariam muito
atributos nulos em vendas)
Tx_Juros
Relacionamento Identificador
Há casos em que o identificador de uma entidade é
composto não somente por atributos da própria entidade,
mas, também, por relacionamentos dos quais a entidade
participa (relacionamento identificador)
O relacionamento usado como identificador é indicado por
uma linha mais densa o ligando às entidades ou por um
losango ou a entidade fraca com linhas duplas.
Por exemplo: Um Cliente possui vários Dependentes. Cada
dependente está relacionado a exatamente um cliente.
Um dependente é identificado pelo CPF do cliente ao qual
ele está relacionado e por um número sequencial que o
distingue dos diferentes dependentes que um mesmo cliente
possa ter.
Relacionamento Identificador
Metáfora
No mundo real normalmente pode-se
correlacionar:
Entidades = Substantivos
Empregado, Nota Fiscal, Livro, Consulta
Atributos = características das entidades.
Nome, Número, Valor, Cor
Relacionamentos = Verbos
Tem, Emprega, Prescreve, Gerencia, possui, compra
65
Metáfora
66
Isto não é regra, pois existem
relacionamentos que não são bem
expressos por verbos.
Quando isto ocorrer, pode-se unir os
nomes das entidades para dar nome
ao relacionamento
Exemplo: cliente_conta
Notação E-R Básica
Um diagrama E-R basicamente consiste dos
seguintes componentes gráficos:
67
RETÂNGULOS: conjunto-entidade
ELIPSES: atributos
LOSANGOS: conjunto-
relacionamento
LINHAS: ligam atributos a
conjunto-entidade e conjunto-
entidade a conjunto-
relacionamento
Exercício 2 - Descrição
Um Sistema para controle acadêmico fictício
seria:
Cada disciplina possui exatamente um e somente um
departamento responsável, o qual pode ser responsável
por muitas disciplinas, inclusive nenhuma
Uma disciplina pode possuir diversas disciplinas como pé-
requisitos, inclusive nenhuma. Uma disciplina pode ser
pré-requisito de muitas disciplinas, inclusive nenhuma.
Uma disciplina pode aparecer no currículo de muitos
cursos (inclusive nenhum) e um curso pode possuir
muitas disciplinas em seu currículo (inclusive nenhuma)
68
Exercício 3 - Descrição
Um Sistema para controle de vendas fictícias seria:
Em cada venda são vendidos vários produtos e um determinado
produto pode aparecer em diferentes vendas.
Cada venda é efetuada por um vendedor para um determinado
cliente.
Um produto está armazenado um uma prateleira.
Para cada cliente é necessário conhecer seu código, seu nome,
seu endereço (rua, no., complemento, CEP, cidade, estado) e
seu telefone.
Para cada vendedor, é necessário conhecer seu código, seu
nome, seu telefone e sua senha no sistema de vendas.
Para cada venda é necessário conhecer a data e o no da nota
fiscal.
Para cada produto, é necessário conhecer o seu no, seu código
de barras e sua descrição.
Cada prateleira tem um número e uma localização.
69
Exercício 4 - Descrição
Altere o modelo ER do sistema de vendas para incorporar
as seguintes informações:
Tanto clientes, quanto vendedores podem ter vários telefones.
Um produto pode ter vários preços, cada um com uma data de
início e de fim de validade.
Para cada produto vendido em uma venda, é necessário
conhecer o número de unidades vendidas e o preço de venda.
Atenção:
Não deve existir atributos opcionais ou multivalorados
Atributos julgados essenciais podem ser acrescentados
Deve-se identificar as entidade e relacionamentos quando
necessário
70
Referência
SIEBRA, S. A. Banco de Dados. Coordenação
Geral de Educação à Distância (EAD/UFRPE), v.
2, Recife: UFRPE, 2010.
SILBERSCHATZ, Abraham; KORTH, Henry
F;SUDARSHAN, S. Sistema de banco de
dados. 6a ed. Traduzido por Daniel Vieira. Rio de
Janeiro: Campus, 2012. 904p.
Aula da Profª. Sandra Siebra
Alguma dúvida?
DCI – Curso Biblioteconomia
Base de Dados
Sandra de Albuquerque Siebra
profa.ssiebra@gmail.com
Agenda
Modelo de Dados
Modelagem
Modelagem Conceitual
Modelo Entidade-Relacionamento
Que conceitos vimos na aula
passada?
Entidades
Classificação 1
Concreta
Abstrata
Classificação 2
Forte
Fraca
Entidades
Concreta
Abstrata
Forte
Fraca
Aluno
Emprestimo
Aluno
Dependente
Que conceitos vimos na aula
passada?
Atributos
Simples
Composto
Monovalorado
Multivalorado
Opcional ou Nulo
Derivado
Atributos
Simples
Composto
Monovalorado
Multivalorado
Opcional ou Nulo
Derivado
Identificador ou
Chave
Vamos praticar, como criar esse diagrama na ferramenta?
Que conceitos vimos na aula
passada?
Relacionamentos
Binário
Ternário
Autorelacionamento
Relacionamento com
Atributo
Relacionamentos
Binário
Ternário
Autorelacionamento
(1,N)
(1,1)
Vamos praticar, como criar esse diagrama na
ferramenta?
Cardinalidade em Relacionamentos Ternários
•São pouco usados e não recomendados – sempre há uma solução
alternativa a eles.
• É mais difícil determinar a cardinalidade deles. Para determinar a
cardinalidade em relacionamentos ternários é necessário unir duas entidades
e verificar a cardinalidade das duas em relação à terceira
• Um Empregado em Um Projeto pode trabalhas para quantos
Clientes?
• Um Empregado para Um Cliente pode trabalhar em quantos
Projetos?
• Um Projeto de um Cliente pode possuir quantos Funcionários?
Relacionamento
Existem relacionamentos entre entidades
distintas
10
Empregado
Projeto trabalha
(1, N) (1,N)
Relacionamento
As vezes, pode existir mais de um
relacionamento entre as mesmas entidades
11
Professor Curso
Atua
Coordena
(1, N) (1, N)
(1, 1) (1, 1)
Vamos praticar, como criar esse diagrama na
ferramenta?
Relacionamentos
Relacionamento com Atributo
Vamos praticar, como criar esse diagrama na
ferramenta?
Esse atributo função
vai representar a
função/papel que um
empregado exerce
dentro de um projeto.
Essa função só é
atribuída, quando o
empregado é alocado
em um projeto.
Relacionamentos
Relacionamento com Atributo
CLIENTE CÔNJUGE
Cidade
Nome
CPF
Endereço
Nome
CPF
CASA-SE
Data_casamento
Vamos praticar, como criar esse diagrama na
ferramenta?
Relacionamento com atributos
14
FINANCEIRA VENDA FINANCIA
Qtd_Parcelas
Apenas quando uma venda é relacionada a uma
FINANCEIRA é que a quantidade de parcelas é
especificada, assim como a taxa de juros.
Tx_Juros
Metáfora
No mundo real normalmente pode-se
correlacionar:
Entidades = Substantivos
Empregado, Nota Fiscal, Livro, Consulta
Atributos = características das entidades.
Nome, Número, Valor, Cor
Relacionamentos = Verbos na 3ª pessoa
Tem, Emprega, Prescreve, Gerencia, possui, compra15
Exercícios de
Modelagem
Lembrando do exercício das listas que
fizemos no início da disciplina…
Como você transformaria a sua lista de livros em
uma entidade LIVRO?
Como você transformaria a pessoa a quem você
emprestou o livro em uma entidade USUÁRIO?
Como sua lista de empréstimo daria origem ao
relacionamento EMPRÉSTIMO?
Como representar na
ferramenta?
Entidade USUÁRIO
Atributos
CPF (atributo identificador)
Nome (atributo simples)
Telefone (atributo multivalorado e opcional)
Endereço (atributo composto com Rua, No,
complemento e bairro)
Email (atributo opcional)
Entidade Livro
Atributos: CDD, titulo, autor, editora, ano.
Relacionamento Emprestimo – o que teria
dentro dele?
Exercício 1 - Descrição
Um Sistema Único de Saúde Ideal seria:
Hospitais são formados por um ou mais ambulatórios e cada um destes está
em um único hospital
Médicos clinicam em um único hospital, cada um deles agregando vários
médicos
Hospitais solicitam exames clínicos em vários laboratórios, cada um destes
pode ter solicitações de vários hospitais
Pacientes consultam vários médicos e estes são consultados por vários
pacientes
Ambulatórios atendem vários pacientes, enquanto estes só podem ser
atendidos em um único ambulatório
Pessoal de apoio está alocado em um ambulatório, e cada um destes conta
com vários integrantes do pessoal de apoio.
Pacientes realizam vários testes e cada teste é realizado por um paciente
Laboratórios fazem vários testes e cada um dos testes é feito em um único
laboratório
Cada paciente pode receber vários diagnósticos e cada diagnóstico é de um
único paciente. 19
Exercício 2 - Descrição
Um Sistema para controle acadêmico fictício seria:
Cada disciplina possui exatamente um e somente um
departamento responsável, o qual pode ser responsável por
muitas disciplinas, inclusive nenhuma
Uma disciplina pode possuir diversas disciplinas como pé-
requisitos, inclusive nenhuma. Uma disciplina pode ser pré-
requisito de muitas disciplinas, inclusive nenhuma.
Uma disciplina pode aparecer no currículo de muitos cursos
(inclusive nenhum) e um curso pode possuir muitas
disciplinas em seu currículo (inclusive nenhuma)
Um aluno esta escrito em exatamente um e somente um
curso e um curso pode ter muitos alunos inscritos, inclusive
nenhum
20
Exercício 3 - Descrição
Um Sistema para controle de vendas fictícias seria:
Em cada venda são vendidos vários produtos e um determinado
produto pode aparecer em diferentes vendas.
Cada venda é efetuada por um vendedor para um determinado
cliente.
Um produto está armazenado um uma prateleira.
Para cada cliente é necessário conhecer seu código, seu nome,
seu endereço (rua, no., complemento, CEP, cidade, estado) e
seu telefone.
Para cada vendedor, é necessário conhecer seu código, seu
nome, seu telefone e sua senha no sistema de vendas.
Para cada venda é necessário conhecer a data e o no da nota
fiscal.
Para cada produto, é necessário conhecer o seu no, seu código
de barras e sua descrição.
Cada prateleira tem um número e uma localização.
21
Exercício 4 - Descrição
Altere o modelo ER do sistema de vendas para incorporar
as seguintes informações:
Tanto clientes, quanto vendedores podem ter vários telefones.
Um produto pode ter vários preços, cada um com uma data de
início e de fim de validade.
Para cada produto vendido em uma venda, é necessário
conhecer o número de unidades vendidas e o preço de venda.
Atenção:
Não deve existir atributos opcionais ou multivalorados
Atributos julgados essenciais podem ser acrescentados
Deve-se identificar as entidade e relacionamentos quando
necessário
22
Extensões do Modelo E-R
Especialização/Generalização
Um conjunto de entidades pode conter subgrupos de
entidades que são diferentes de outras entidades do
conjunto.
Esta diferença pode estar caracterizada por um subgrupo
possuir atributos que não são compartilhados pelas demais
entidades do conjunto.
A especialização permite atribuir propriedades particulares
a um subconjunto de entidades especializadas através da
herança de propriedades (atributos) de uma entidade mais
genérica.
A especialização no diagrama é representada pelo
triângulo. Alguns autores
utilizam um triângulo rotulado de ISA (de “is a” em inglês,
ou seja, “ é um(a)”)
Especialização/Generalização
Por exemplo, uma entidade genérica CLIENTE e
duas entidades especializadas que derivam dela:
P. FÍSICA e P. JURÍDICA.
Qual a vantagem
disso?
P. FÍSICA e P.
JURÍDICA irão ter todos
os atributos da entidade
CLIENTE possuir.
Mas podem ter atributos
adicionais, diferentes
entre elas.
Especialização/Generalização
Generalização/Especialização - é um(a)
Permite atribuir propriedades particulares a um subconjunto de
entidades especializadas
Permite a herança de propriedades (atributos)
Agrega ao seu conjunto de propriedades as propriedades da
entidade genérica
Tipos de Generalização/Especialização:
Total: Pelo menos uma entidade especializada tem que estar
relacionada a entidade genérica
Parcial: Pelo menos uma entidade especializada não está
relacionada a entidade genérica
Exclusiva: A entidade genérica está associada a uma única
entidade especializada
Não exclusiva: A entidade genérica está associada a duas
ou mais entidades especializadas 26
Generalização/Especialização Total
•Especialização Total: Para cada ocorrência da entidade genérica EXISTE
SEMPRE uma ocorrência em uma das entidades especializadas.
•Esse tipo de generalização/especialização é simbolizado por um “t”, ao lado
do triângulo ou por não colocar nada.
• Por exemplo: Toda ocorrência da entidade CLIENTE corresponde a
uma ocorrência de uma das duas especializações (P.FISICA ou
P.JURÍDICA).
Generalização/Especialização Parcial
•Generalização/especialização parcial: Nem toda ocorrência da entidade
genérica possui uma ocorrência correspondente em uma entidade
especializada.
•Esse tipo de generalização/especialização é simbolizado por um “p” ao lado
do triângulo.
• Por exemplo: Nem toda entidade FUNCIONÁRIO possui uma entidade
correspondente em uma das duas especializações (ou seja, nem todo
funcionário é CHEFE ou DIRETOR).
Tp_Func
Funcionário
Chefe Diretor
p
Haverá casos de
preenchimento só da
entidade genérica. Ou
seja, a pessoa é
APENAS
FUNCIONÁRIO.
Generalização/Especialização -
Exemplos
29
Tp_Func
Cliente
P.Física P.Jurídica
t
Funcionário
Chefe Diretor
p
Pessoa
Aluno Funcionário
ñ
Professor
Veículo
Terrestre Aquático
e
Todo cliente ou é
Pessoa Física ou é
Pessoa Jurídica
Nem todo
funcionário é
Chefe ou Diretor
Uma Pessoa pode
ser Aluno em um
curso e Professor
em outro
Um Veículo ou é
Terrestre ou é
Aquático
Entidade Associativa ou
agregação
Uma limitação do modelo E-R é que não é
possível expressar relacionamento entre
relacionamentos.
Logo, a entidade associativa ou agregação é
usada para substituir a associação entre
relacionamentos (ou seja, ela ajuda a
representar um relacionamento entre
relacionamentos)
Isto faz o relacionamento passar a ser tratado
como uma entidade.
Notações para entidade
associativa
Exemplo de Entidade
Associativa
Apenas quando ocorre o relacionamento entre o
MÉDICO e o PACIENTE, criando uma CONSULTA,
é que poderá ser prescrito um MEDICAMENTO.
Médico PacienteConsulta
Medicamento
Prescrição
n
nn
nMédico PacienteConsultaConsulta
Medicamento
PrescriçãoPrescrição
n
n
n
n(1,N)
(1,N)
(1,N)
(1,N)
Alternativa à entidade
associativa
Criar uma Entidade ao invés de uma Associação.
Mais usado.
Caso não se deseje
usar o conceito de
entidade associativa,
deve-se transformar o
relacionamento em
entidade, a qual deve
ser relacionada com as
outras entidades
existentes.
Exercício 5- Descrição
Um Sistema para uma vídeo locadora fictícia seria:
Uma pequena locadora de vídeos possui ao redor de 2.000 DVDs,
cujo empréstimo deve ser controlado.
Cada cópia de DVD possui um número e o filme que ele contém.
Cada DVD contém somente um filme ou parte dele (ex: parte I,
parte II). Para cada filme, é necessário saber seu título, seu ano de
lançamento e sua categoria (comédia, drama, aventura, …). Cada
filme recebe um identificador próprio. Para cada filme há pelo
menos um DVD. Há filmes que estão gravados em mais de um
DVD.
Os clientes podem desejar encontrar os filmes estrelados pelo seu
ator predileto. Por isso, é necessário manter a informação dos
atores que estrelam cada filme. Todo filme possui um ou mais
atores.
Deve-se guardar o nome do ator e o seu papel no filme.
34
Exercício 5- Descrição
A locadora possui muitos clientes cadastrados. Somente
clientes cadastrados podem alugar DVDs.
Para cada cliente é necessário saber seu nome, seu
telefone e seu endereço. Além disso, cada cliente recebe
um número de associado.
Finalmente, é preciso guardar informações sobre o
empréstimo dos DVDs. Cada cliente pode pegar um ou
mais DVDs emprestados. O empréstimo se refere a um
DVD específico (pois podem existir várias cópias de DVD
de um mesmo filme). É preciso saber a data do
empréstimo.
Devem ser mantidos registros históricos de aluguéis dos
DVDs por cada cliente.
35
Restrição Existencial
Dependência de Existência
Se a existência de uma entidade X depende da existência
de uma entidade Y, então X é dito ser dependente da
existência de Y.
Operacionalmente, se Y for excluído, o mesmo deve
acontecer com X.
A entidade Y é chamada Forte (dominante) e a X fraca
(subordinada)
36
Restrição Existencial
Entidade Fraca
Não possui atributos suficientes para formar seu
identificador.
Só existe quando relacionada a outra entidade
Usa o identificador da entidade Forte para formar o seu
Relacionamento Identificador
Relacionamento Identificador
Há casos em que o identificador de uma entidade é
composto não somente por atributos da própria entidade,
mas, também, por relacionamentos dos quais a entidade
participa (relacionamento identificador)
O relacionamento usado como identificador é indicado por
uma linha mais densa o ligando às entidades ou por um
losango ou a entidade fraca com linhas duplas.
Por exemplo: Um Cliente possui vários Dependentes. Cada
dependente está relacionado a exatamente um cliente.
Um dependente é identificado pelo CPF do cliente ao qual
ele está relacionado e por um número sequencial que o
distingue dos diferentes dependentes que um mesmo cliente
possa ter.
Exercício 6 - Descrição
Dado o relacionamento EMPREGADO-
DEPENDENTE abaixo. Considere que um
dependente de um empregado possa ser também
empregado. Como o modelo deveria ser
modificado para evitar o armazenamento
redundante das informações das pessoas que são
tanto dependentes quanto empregados?
40
Referência
SILBERSCHATZ, Abraham; KORTH, Henry
F;SUDARSHAN, S. Sistema de banco de
dados. 6a ed. Traduzido por Daniel Vieira. Rio de
Janeiro: Campus, 2012. 904p.
SIEBRA, S. A. Banco de Dados. Coordenação
Geral de Educação à Distância (EAD/UFRPE). V.
2, Recife: UFRPE, 2010.
Alguma dúvida?
DCI – Curso Biblioteconomia
Base de Dados
Sandra de Albuquerque Siebra
profa.ssiebra@gmail.com
Dúvidas que
foram trazidas
Dúvidas
Quando usar relacionamentos (1,1)? O que
significa usar esse tipo de relacionamento?
Vamos pelos exemplos, o que significa cada uma
das ligações?
Caso 1
Nesse caso, cada livro (um único livro) só pode
ser publicado por uma única editora.
Que é o mais comum no caso de editora.
Se no lugar de editora fosse autor, nem sempre poderia
ser (1,1) no lugar da editora. Pois nem sempre o livro
tem apenas um único autor.
Caso 2
Nesse caso, um mesmo livro (um livro só) pode
ter um ou mais editoras publicando ele ao
mesmo tempo.
Se no lugar de editora, fosse autor, ficaria bom
esse relacionamento, pois um mesmo livro pode
ter um ou mais autores.
Caso 3
Um mesmo livro pode ser publicado por uma
única editora por vez, mas em períodos
diferentes. A data no relacionamento é que vai
deixar claro isso, vai permitir que isso aconteça.
Esse caso não poderia ser utilizado com autores.
Senão seria plágio
Dois autores publicarem o mesmo livro em épocas
diferentes.
Dúvida
Quando colocar atributos no relacionamento?
Quando você tiver algum atributo que só deve ser
preenchido quando você for preencher o relacionamento.
O empregado – os dados dele podem ser preenchidos sem
você saber em qual projeto ele vai trabalhar.
O projeto – você pode cadastrar o projeto sem saber ainda
quem vai trabalhar nele.
Mas a função do empregado no projeto só pode ser
definida quando você diz em qual projeto o empregado vai
trabalhar.
Exercícios de
Modelagem
Exercício 2 - Descrição
Um Sistema Único de Saúde Ideal seria:
Hospitais são formados por um ou mais ambulatórios e cada um destes
está em um único hospital
Médicos clinicam em um único hospital, cada um deles agregando vários
médicos
Exames clínicos são realizados em vários laboratórios, cada laboratório
pode ter solicitações de vários exames clínicos. Esses exames são solicitados
por vários hospitais e os hospitais podem solicitar vários exames.
Pacientes podem ser consultados vários médicos e estes consultam vários
pacientes
Ambulatórios atendem vários pacientes, enquanto estes só podem ser
atendidos em um único ambulatório.
Pessoal de apoio está alocado em um ambulatório, e cada um destes conta
com vários integrantes do pessoal de apoio.
Pacientes realizam vários testes e cada teste é realizado por um paciente
Laboratórios fazem vários testes e cada um dos testes é feito em um único
laboratório
Cada paciente pode receber vários diagnósticos e cada diagnóstico é de um
único paciente.
9
Exercício 3 - Descrição
Um Sistema para controle de vendas fictícias seria:
Em cada venda são vendidos vários produtos e um determinado
produto pode aparecer em diferentes vendas.
Cada venda é efetuada por um vendedor e este pode efetuar várias
vendas. Uma venda é feita para um determinado cliente. E um cliente
pode fazer várias vendas.
Um produto está armazenado em uma prateleira e uma prateleira tem
vários produtos.
Para cada cliente é necessário conhecer seu código, seu nome, seu
endereço (rua, no., complemento, CEP, cidade, estado) e seu telefone.
Para cada vendedor, é necessário conhecer seu código, seu nome, seu
telefone e sua senha no sistema de vendas.
Para cada venda é necessário conhecer a data e o no da nota fiscal.
Para cada produto, é necessário conhecer o seu no, seu código de barras
e sua descrição.
Cada prateleira tem um número e uma localização.
10
Exercício 4 - Descrição
Altere o modelo ER do sistema de vendas para incorporar
as seguintes informações:
Tanto clientes, quanto vendedores podem ter vários telefones. Um produto pode ter vários preços, cada preço tem uma data
de início e de fim de validade. Como você atenderia esse
requisito?
Para cada produto vendido em uma venda, é necessário
conhecer a quantidade de produtos vendidas e o preço de
venda daquele produto.
Atenção:
Atributos julgados essenciais podem ser acrescentados
Deve-se identificar as entidade e relacionamentos quando
necessário
11
Exercício 5- Descrição
Um Sistema para uma vídeo locadora fictícia seria:
Uma pequena locadora de vídeos possui ao redor de 2.000 DVDs,
cujo empréstimo deve ser controlado.
Cada cópia de DVD possui um número e o filme que ele contém.
Cada DVD contém somente um filme ou parte dele (ex: parte I,
parte II). Para cada filme, é necessário saber seu título, seu ano de
lançamento e sua categoria (comédia, drama, aventura, …). Cada
filme recebe um identificador próprio. Para cada filme há pelo
menos um DVD. Há filmes que estão gravados em mais de um
DVD.
Os clientes podem desejar encontrar os filmes estrelados pelo seu
ator predileto. Por isso, é necessário manter a informação dos
atores que estrelam cada filme. Todo filme possui um ou mais
atores. Um ator pode estrelar em vários filmes.
Deve-se guardar o nome do ator e o seu papel no filme.
12
Exercício 5- Descrição
A locadora possui muitos clientes cadastrados. Somente
clientes cadastrados podem alugar DVDs.
Para cada cliente é necessário saber seu nome, seu
telefone e seu endereço. Além disso, cada cliente recebe
um número de associado.
Finalmente, é preciso guardar informações sobre o
empréstimo dos DVDs. Cada cliente pode pegar um ou
mais DVDs emprestados. O empréstimo se refere a um
DVD específico (pois podem existir várias cópias de DVD de
um mesmo filme). É preciso saber a data do empréstimo.
Devem ser mantidos registros históricos de aluguéis dos
DVDs por cada cliente.
13
Restrição Existencial
Dependência de Existência
Se a existência de uma entidade X depende da existência
de uma entidade Y, então X é dito ser dependente da
existência de Y.
Operacionalmente, se Y for excluído, o mesmo deve
acontecer com X.
A entidade Y é chamada Forte (dominante) e a X fraca
(subordinada)
14
Restrição Existencial
Entidade Fraca
Só existe quando relacionada a outra entidade
Usa o identificador da entidade Forte para formar o seu
próprio identificador.
Tem uma dependência existencial de uma entidade forte,
por isso usa algo chamado RELACIONAMENTO
IDENTIFICADOR.
No BRModelo
Entidade fraca e relacionamento
identificador – apenas a linha do
relacionamento fica mais grossa.
Relacionamento Identificador
Há casos em que o identificador de uma entidade é
composto não somente por atributos da própria entidade,
mas, também, por relacionamentos dos quais a entidade
participa (relacionamento identificador)
O relacionamento usado como identificador é indicado por
uma linha mais densa o ligando às entidades ou por um
losango ou a entidade fraca com linhas duplas.
Por exemplo: Um Cliente possui vários Dependentes. Cada
dependente está relacionado a exatamente um cliente.
Um dependente é identificado pelo CPF do cliente ao qual
ele está relacionado e por um número sequencial que o
distingue dos diferentes dependentes que um mesmo cliente
possa ter.
Alguma dúvida?
DCI – Curso Biblioteconomia
Base de Dados
Célio Santana
Celio.santana@gmail.com
Agenda
Modelo Relacional
Elementos do modelo relacional
O Modelo
Relacional
Resultado da
modelagem lógica do
Banco de Dados e é a
etapa seguinte a
modelagem conceitual
O Modelo Relacional (MR)
Modelo Relacional
Introdução
Abordagem de modelagem de dados usada
nos SGBD do tipo relacional
Foi definido em 1970 por E.F. Codd
Principais razões para sua grande aceitação:
Simplicidade: Fundamentado na teoria dos
conjuntos
Expressividade/formalismo: Operadores baseados
na álgebra relacional
5
Modelo Relacional
Introdução
O modelo relacional é um modelo lógico
(dependente de tecnologia), onde os dados são
representados por relações ou tabelas.
Neste modelo, um banco de dados é visto como
um conjunto de relações.
Os dados em uma relação representam fatos
reais a respeito de uma entidade ou de um
relacionamento do mundo real.
6
Modelo Lógico Relacional
Definição Clássica:
“São conjuntos de dados vistos segundo
um conjunto de TABELAS e as
operações sobre elas (tabelas) são feitas
por linguagens que manipulam a álgebra
relacional, manipulando conjuntos de
uma só vez”
7
Modelo Relacional
Estrutura Básica
Tabelas (ou Relações)
Compostas de
Linhas (ou tuplas)
Colunas (ou atributos)
Chaves primárias
Relacionadas através de
Chaves estrangeiras
8
O Modelo Relacional (MR)
Uma tabela é uma representação bi-dimensional de dados
composta de linhas e colunas.
Linha
Coluna Coluna
Coluna
Coluna Coluna
Linha
Linha
Linha
Linha
Modelo Relacional
Estrutura Básica
Um banco de dados relacional consiste de
uma coleção de tabelas de nomes
únicos.
Uma tabela é formada por:
um conjunto de colunas denominadas de
atributos
Para cada atributo existe um conjunto de
valores permitidos, chamado de domínio
um conjunto de linhas denominadas de tuplas
(que são valores assumidos pelas
colunas).
10
Modelo Relacional
Estrutura Básica
11
É a estrutura que armazena os dados
referentes a as ocorrências de uma
entidade ou relacionamento (MER)
Modelo Relacional
Domínio
Conjunto de valores permitidos para um dado
Exemplos
inteiro, string (domínios básicos)
data, hora (domínios compostos)
[0, 120], (‘M’, ‘F’) (domínios definidos)
É uma coleção de valores admissíveis para cada
atributo.
Para cada domínio existem operações válidas:
inteiro (é possível somar, dividir, comparar, i1
maior que i2, ...)
data (extrair dia, extrair mês, d1 anterior a d2, ...)
String (concatenar, comparar, …) 12
Modelo Relacional
Domínio
É possível que vários atributos de uma relação possuam o
mesmo domínio.
Os domínios, em geral, são designados como tipo de
dados, que especificam a formação dos valores
Ex:
Nomes dos clientes [caracter tamanho 50]
Números das contas [inteiro – números sem parte decimal]
Valores dos saldos das contas [real com formato 6(2) –
números considerando a parte decimal]
◦ A parte decimal pode ser configurada. Ex: 6(2), quer dizer
que o número vai ser representado com seis digitos, sendo 2
deles na parte decimal.
Apenas valores que pertençam ao mesmo domínio podem
ser comparados. Ex: não é possível comparar um inteiro
(ex: idade) com um caracter (ex: nome). 13
Modelo Relacional
Domínio
O domínio a ser especificado para cada atributo variará de
nome dependendo do banco de dados a ser utilizado.
Em geral:
Nomes, considerando letras maiúsculas e minúsculas,
símbolos e números (com os quais não se pode realizar
operaçõs matemáticas) são ALFANUMÉRICO, CARACTER,
CHAR, VARSHAR ou STRING.
Números sem parte decimal e com os quais se deseje
realizar operações matemáticas são INTEIROS, INT ou
NUMBER.
Números com parte decimal e com os quais se deseje
realizar operações matemáticas são REAL ou DOUBLE.
Datas são DATA ou DATE,
Horas são TIME ou TIMESTAMP.
Modelo Relacional
Atributo ou Coluna
Uma coluna da tabela
Representa os atributos do modelo conceitual.
É definido, no mínimo, por um nome e um
domínioe, às vezes, um tamanho.
Exemplos: Funcionario
nome: caracter (50)
idade: inteiro
Data_admissao: data
Salario: real
15
Modelo Relacional
Linha ou Tupla
Um conjunto de pares (atributo, valor)
define uma ocorrência de um fato do mundo real ou de um
relacionamento entre fatos
No momento da criação de uma tupla, valores são
definidos para cada atributo da tabela.
Os valores definidos devem:
Ser compatíveis com o domínio de cada atributo ou ser
NULL (valor inexistente ou indeterminado)
Ser Atômicos (indivisíveis: não-estruturados e
monovalorado)
Exemplos
Aluno: {(nome, ‘João’), (idade, 34), (matrícula,
03167034)}
Funcionario: {(nome, ‘Ana’), (idade, 25),
(data_admissao, ‘10/03/1991’), (salario, 2500.25)}
16
Modelo Relacional
Linha ou Tupla
Um valor da tupla pode ser “desconhecido” ou
“indefinido”, sendo assim chamado de “null” ou
valor nulo
(cod_artista, nome_artista, data_nasc,cidade,
país)
(1, ’Julia Roberts’,’23/09/66’, ’Boston’, ’USA’)
(2, ‘Glória Pires’, NULL, NULL, ‘Brasil’)
A característica do nulo poderá ser interrogada
em consultas ou atualizada com valores válidos,
mudando, assim, o status do campo
Ou seja, NULL é um valor que pode ser acessado no BD. 17
O Modelo Relacional (MR)
tupla
atributo atributo atributo atributo atributo
tupla
tupla
tupla
tupla
RELAÇÃO
(entidade ou
relacionamento
)
Atributo
-1
Atributo
-2
Atributo
-3
Atributo
-4
Atributo
-5
RELAÇÃO
ALUNO
O Modelo Relacional (MR)
O grau de uma relação é o número de atributos
que a compõe.
EX: O grau da relação ALUNO[Nome, CPF, Telefone,
Endereço, Idade] é cinco, porque essa relação possui 5
atributos.
Modelo Relacional
Propriedades de uma Relação
Os atributos em uma tupla não são ordenados, ou
seja, não importa a ordem que as colunas aparecem.
20
Do ponto de
vista conceitual
não há diferença
entre essas duas
relações
Modelo Relacional
Propriedades de uma Relação
As tuplas de uma relação não são ordenadas
A ordem de recuperação pelo SGBD é arbitrária
A não ser que a instrução de consulta tenha
especificado explicitamente uma ordenação
=
21
nome_agência número_conta saldo
Downtown A-101 500
Mianus A-215 700
Perryridge A-102 400
Round Hill A-305 350
Brighton A-201 900
Redwood A-222 700
Brighton A-217 750
nome_agência número_conta saldo
Mianus A-215 700
Perryridge A-102 400
Downtown A-101 500
Round Hill A-305 350
Redwood A-222 700
Brighton A-201 900
Brighton A-217 750
Relação Conta Relação Conta
Modelo Relacional
Propriedades de uma Relação
A ordem dos atributos é importante, se for
necessária a correspondência entre os mesmos e
seus respectivos valores
(cod_artista, nome_artista, data_nasc,cidade, país)
(1,’Julia Roberts’,’23/09/66’,’Boston’,’USA’)
Quando você for fazer inserções na base de dados,
vai precisar disso!
A mudança da ordem dos valores poderá causar
inconsistência no banco de dados.
22
Modelo Relacional
Propriedades de uma Relação
Não há tuplas duplicadas em uma mesma
relação
Não deve haver duas linhas na tabela com exatamente
os mesmos valores
Senão isso seria redundância!
Cada relação possui um número fixo de
atributos, todos com nomes distintos.
Não podem existir duas colunas com mesmo nome em
uma única tabela.
23
Modelo Relacional
Nomeclaturas
Terminologias Utilizadas (são sinônimos)
24
Modelo Relacional
Esquema
O esquema de uma relação/tabela é a definição
de seu nome e da sua estrutura (atributos com
seus domínios)
Formato do esquema de relação:
R[A1 D1,...,An Dn] onde
R é o nome do esquema
A1,...,An é a lista de atributos de R
Di é o domínio de Ai
Notação simplificada:
Freqüentemente omite-se a definição do domínio,
adotando-se a notação simplificada
R[A1,...,An]
25
Modelo Relacional
Esquema
Nome Pode ser Nulo? Tipo
-------------------- -------------- ----------------------------
COD_ARTISTA NOT NULL INT
NOME_ARTISTA VARCHAR(50)
CIDADE VARCHAR(30)
DATA_NASC DATE
26
Exemplos
Professor[Matricula char(6) NOT NULL, Nome char(20)]
Artista[Cod_Artista int NOT NULL, Nome_artista
varchar(50), cidade varchar(30), data_nasc date]
ARTISTA
Modelo Relacional
Esquema Relacional
Esquema Relacional: é a lista de
esquemas de relação que compõe o seu
banco de dados.
Exemplo:
Professor[Matr varchar(6) NOT NULL, Nome
varchar(20)]
Disciplina[Cod varchar(5) NOT NULL, Nome
varchar(10)]
Coordena[Matr varchar(6) NOT NULL, Cod
varchar(5) NOT NULL]
27
Modelo Relacional
Esquema Relacional
Um esquema costuma ser pouco atualizado
(porque ele é a estrutura do BD)
Já que ele é a definição de cada relação
Uma instância, por sua vez, pode ser constantemente
atualizada, uma vez que ela corresponde aos valores que
preenchem o BD.
Lembrem-se que a forma de definir o “esquema”
varia de um SGBD para outro.
28
Modelo Relacional
Chaves
Conceito usado para especificar restrições
de integridade básicas de um SGBD
relacional
Três tipos
chave primária
chave estrangeira
chave alternativa (ou candidata)
29
Modelo Relacional
Chave Primária
É uma coluna ou uma combinação de colunas
cujos valores distinguem uma linha das demais
dentro de uma tabela.
A chave primária deve ser mínima
Todas as suas colunas são efetivamente necessárias para
garantir o requisito de unicidade de valores
Também chamada de PK (Primary Key)
Atenção: A chave primária não pode ter
valor nulo (ou desconhecido)
30
Chave Primária x Índices
Convenciona-se sublinhar os atributos que
compõem a chave primária. Ex.:Empregado
(Matrícula, Nome, Endereço, Função,Salário)
Índice é um recurso físico visando otimizar a
recuperação de uma informação, via 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 banco
de dados
Modelo Relacional
Índices
Índice = “Chave secundária” = “Chave de
Procura”
Serve para definir um segundo campo ordenado de
acesso (otimização das consultas).
Qualquer campo pode ter um índice.
Só defina índices quando realmente
necessário.
Cada índice definido representa uma tabela a
mais para o SGBD gerenciar.
Aumento da base de dados
Inserção/Remoção exigem muito para ordenação dos
dados
32
Modelo Relacional
Chave Primária
Exemplo:
33
Modelo Relacional
Chave Estrangeira
Uma coluna ou uma combinação de colunas,
cujos valores aparecem necessariamente na
chave primária de uma outra tabela
Mecanismo que permite a implementação de
relacionamentos em um banco de dados
relacional
Estrangeira porquê?
É uma chave pertencente a uma tabela;
Mas ela não está no seu local de origem, mas sim no
local para onde foi migrada (estrangeiro)
Também chamada de FK (Foreign Key)
34
Modelo Relacional
Chave Estrangeira
Exemplo
35
Modelo Relacional
Chave Estrangeira
36
Tabela: FUNCIONÁRIO
Tabela: CARGO
Matrícula
(PK)
Nome Data de Admissão CodCargo
(FK)
3478 JoséCarlos 29/04/95 01
6754 Maria Célia 23/07/99 02
1256 Pedro Góes 21/09/02 03
4568 Ana Dias 01/02/03 01
CodCargo(PK) Descrição Salário Base
01 Técnico Administrativo 700,00
03 Vigilante 300,00
02 Secretária 1000,00
Modelo Relacional
Chave Estrangeira
Validação pelo SGBD
Quando da inclusão de uma linha na tabela que contém
a chave estrangeira
O valor da chave estrangeira deve aparecer na coluna
da chave primária referenciada em outra tabela
Quando da alteração do valor da chave estrangeira
O novo valor de uma chave estrangeira deve aparecer
na coluna da chave primária referenciada
Quando da exclusão de uma linha da tabela que contém
a chave primária referenciada pela chave estrangeira
Na coluna chave estrangeira não deve aparecer o valor
da chave primária que está sendo excluída ou
A exclusão não poderá ser efetuada, visto que possui
registros dependentes de sua existência
37
Modelo Relacional
Chave Estrangeira
Chave Estrangeira na mesma tabela (representa
o Auto-Relacionamento)
38
Modelo Relacional
Chave Alternativa ou Candidata
Mais de uma coluna ou combinações de colunas
podem servir para distinguir uma linha das
demais
Uma das colunas (ou combinação de colunas) é
escolhida como chave primária, as demais
colunas ou combinações são denominadas
chaves alternativas
Cuidado: Chave Alternativa não faz
relacionamento com Chave Estrangeira !
39
Modelo Relacional
Chave Alternativa ou Candidata
Exemplo: “Escolha a Chave Primária da Tabela
ELEITOR”, cujos atributos são:
Nome do Eleitor
Junta Eleitoral
Seção Eleitoral
Número de Identidade
Número de CPF
Número do Título de Eleitor
40
Modelo Relacional
Chave Alternativa ou Candidata
Tabela: ELEITOR
Chaves Candidatas:
Número do Título de Eleitor
Número de Identidade
Número de CPF
Chave Primária Escolhida:
Número do Título de Eleitor
As chaves candidatas restantes se tornam
boas escolhas para se tornarem índices.
41
Modelo Relacional
Chave Alternativa ou Candidata
Exemplo
42
CPF
O Modelo Relacional (MR)
ATRIBUTO CHAVE
• chave candidata
• chave primária
• chave secundária
• chave estrangeira
Quando há a possibilidade de mais
de um atributo (isoladamente)
poder ser chaveem uma relação.
Quando um único atributo identifica
univocamente cada entrada de uma
relação.
Outras chaves candidatas que não
forem escolhidas para chave primária,
são chamadas de chaves
secundárias
Quando uma coluna
(ou combinação de colunas) que indica
um valor que deve existir como chave
primária em
uma outra tabela (chamada de Tabela
Pai) pode identificar univocamente cada
entrada de uma relação.
Referências
SILBERSCHATZ, Abraham; KORTH, Henry
F;SUDARSHAN, S. Sistema de banco de
dados. 6a ed. Traduzido por Daniel Vieira. Rio de
Janeiro: Campus, 2012. 904p.
SIEBRA, S. A. Banco de Dados. Coordenação
Geral de Educação à Distância (EAD/UFRPE). V.
3, Recife: UFRPE, 2010.
Alguma dúvida?