Buscar

Banco de Dados - Especificação de Banco de Dados Relacional (Módulo IV)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 33 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 33 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 33 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Key (Chave)
� Elemento fundamental para se identificar um determinado registro
ou para estabelecer associações entre as tuplas de tabelas de dados.
� Na abordagem relacional existem 3 tipos de chaves:
1- Primary Keys (Chaves Primárias);
1
1- Primary Keys (Chaves Primárias);
2- Foreign Keys (Chaves Estrangeiras);
3- Alternate Keys (ChavesAlternativas).
Primary Key (PK)
� Atributo (coluna) ou conjunto de atributos que diferenciam um registro 
dos demais dentro de uma tabela.
matrícula nome curso
ALUNO
2
A coluna matrícula é a chave primária da tabela ALUNO uma vez que através
dela podemos distinguir uma tupla das demais.
matrícula nome curso
001 Pedro CC
002 Maria SI
003 José Redes
• Indica o relacionamento entre tabelas;
• Normalmente será a chave primária de uma das tabelas do
relacionamento.
Foreign Key (FK)
Matrícula CodCurso NomeAluno
001 C1 Pedro
002 C2 Maria
003 C3 José
ALUNO
CodCurso NomeCurso
C1 CC
C2 SI
C3 Redes
CURSO
3
Validando a Foreign Key
� Incluindo uma linha na tabela:
� Deve-se garantir a existência do valor da chave estrangeira na tabela referenciada.
� Atualizando o valor da chave estrangeira:
� Deve-se garantir que o valor da chave estrangeira na tabela referenciada de fato exista.
4
� Deve-se garantir que o valor da chave estrangeira na tabela referenciada de fato exista.
� Excluindo uma linha da tabela que contém a chave primária referenciada 
pela chave estrangeira:
� Deve-se garantir que a na coluna chave estrangeira não apareça o valor da chave 
primária que foi excluída.
EMPREGADO DEPENDENTEPossui
1 N
CPF Nome NSeq Nome
Conceitual
Foreign Key
CPF Nome
111 José
222 Maria
333 Pedro
NSeq Nome
1 Gil
2 Gal
1 Igor
CPF_EMPREGADO
111
EMPREGADO DEPENDENTE
333
555
Lógico
5
Alternate Key
� Há situações em que mais de uma coluna poderá ser usada para distinguir uma linha das 
demais, neste caso, escolhendo-se uma, as outras passam a ser denominadas Alternate Key 
ou Chaves Alternativas.
� No exemplo abaixo, não fará diferença adotar Matrícula ou CPF_Aluno como chave 
primária.primária.
6
Matrícula CPF_Aluno NomeAluno
001 444 Pedro
002 555 Maria
003 888 José
ALUNO
Observações Importantes
� Domínio: Tipos de valores que os campos de uma tabela podem assumir.
� Campo Vazio (NULL): Ocorre quando o campo de uma tabela não assume 
nenhum dos valores definidos no domínio. 
� Há situações em que não será admitido que determinados campos não assumam 
valores, neste caso teremos os campos obrigatórios.
� Haverá também situações em que será admitido que determinados campos 
assumam NULL, neste caso teremos os campos opcionais. 
� A foreign key poderá possuir campos opcionais.
� Isso não ocorre com a primary key, para a qual não é admitido que haja campos 
com valor NULL.
7
Restrições de Integridade
• Conjunto de requisitos visando a consistência dos dados e que é mantida
pelo SGBD.
• Principais Restrições de Integridade:
a) Integridade de Domínio;
8
b) Integridade deVazio;
c) Integridade de Chave;
d) Integridade Referencial;
e) Integridade de Unicidade;
• Não há necessidade de o programador implementá-las, uma vez que o
SGBD garante tais restrições.
Restrições de Integridade
� Integridade de Domínio:
- Estabelece quais os valores que podem ser assumidos pelos campos de uma coluna.
� Integridade de Vazio:
- Determina a possibilidade de os campos de uma coluna serem ou não serem vazios.
9
� Integridade de Chave:
- Determina que os valores assumidos pelas chaves primária e alternativa devem ser 
atômicos.
� Integridade Referencial:
- Estabelece que os valores dos campos que estão numa chave estrangeira devem estar 
também na chave primária da tabela referenciada.
� Integridade de Unicidade:
- Define que os valores das colunas da tabela sejam únicos.
Regras de Negócio
� Também definidas na Literatura como Restrições Semânticas.
� Haverá situações que precisarão ser implementadas pelo
programador.
10
programador.
� Exemplo:
� Determinado aluno não pode ter a sua nota maior do que 10.
Especificação de Banco de Dados 
Relacional
� A especificação (modelo) de um Banco de Dados
Relacional considera três fatores fundamentais:
As tabelas que formam o Banco de Dados;
11
1) As tabelas que formam o Banco de Dados;
2) As colunas das tabelas;
3) As restrições de integridade.
Especificação de Banco de Dados 
Relacional
� Cada uma das tabelas é identificada por seu respectivo nome.
� Imediatamente após o nome da tabela, vêm entre parêntesis os nomes das 
colunas, sempre entre vírgulas.
12
colunas, sempre entre vírgulas.
� A chave primária será sublinhada.
� Definida a tabela, é hora de especificar as chaves estrangeiras que estarão na 
tabela.
� No caso de a chave estrangeira ser composta por mais de uma coluna, basta 
separá-las com vírgulas. 
Especificação de Banco de Dados 
Relacional
CodTipoItem DescrTipoItem
CodItem DescrItem PreçoItem CodTipoItem
1 Detergente 1,20 1
TipoDoItem
Item
13
1 Limpeza
2 Alimentação
1 Detergente 1,20 1
2 Arroz 1,70 2
3 Sabão em Pó 2,60 1
4 Feijão 3,40 2
TipoDoItem (CodTipoItem,DescrTipoItem)
Item (CodItem,DescrItem,PrecoItem,CodTipoItem)
CodTipoItem referencia TipoDoItem
Transformando Modelos
14
nº conta corrente
saldo
seqüência saldo
Transformando Modelos
CONTA INVESTIMENTOPOSSUICONTA CORRENTE
(1,1) (0,n)
15
nº conta corrente
saldo
seqüência saldo
Transformando Modelos
CONTA INVESTIMENTOPOSSUICONTA CORRENTE
(1,1) (0,n)
Conta Investimento (NContaCorrente,Sequencia,Saldo)
16
Transformando Modelos
17
Grupo (CodGrup,Nome)
Transformando Modelos
18
Transformando Modelos
Empresa (CodGrup,NºEmpresa, Nome)
19
Transformando Modelos
Empregado 
(CodGrup,NºEmpresa,NºEmpregado,Nome)
20
Transformando Modelos
Dependente 
(CodGrup,NºEmpresa,NºEmpregado,NºSequencia,Nome)
21
Recursão
Grupo (CodGrup,Nome)
Empresa (CodGrup,NºEmpresa, Nome)
Transformando Modelos
Empregado 
(CodGrup,NºEmpresa,NºEmpregado,Nome)
Dependente 
(CodGrup,NºEmpresa,NºEmpregado,NºSequ
encia,Nome)
22
Transformando Modelos
23
Transformando Modelos
Empregado (CodEmp,Nome)
24
Transformando Modelos
Projeto (NºProj,Nome)
25
Empregado (CodEmp,Nome)
Transformando Modelos
Atuação (CodEmp,NºProj, Função)
26
Empregado (CodEmp,Nome)
Projeto (NºProj,Nome)
Generalização\Especialização
• Três maneiras de representar:
– Uma única TABELA para toda a cadeia hierárquica.
– Uma TABELA para cada entidade da cadeia.
27
– Uma TABELA para cada entidade da cadeia.
– Uma TABELA para cada entidade especializada.
Generalização\Especialização
28
Matricula Nome CREA OAB CRM Tipo
Empregado
Generalização\Especialização
111 GAL - A1 - ADV
222 GIL E1 - - ENG
333 BETE - A2 - ADV
444 PEDRO - - M1 MED
555 JOÃO - A3 - ADV
29
Empregado
Matricula Nome
111 GAL
222 GIL
333 BETE
444 PEDRO 
Generalização\Especialização
Advogado
Engenheiro
Médico
555 JOÃO
Matrícula CREA
222 E1
Matricula OAB
111 A1
333 A2
555 A3
Matrícula CRM
444 M1
30
Advogado Médico
Matricula OAB Nome
111 A1 GAL
Matricula CRM Nome
444 M1 PEDRO
Generalização\Especialização
Engenheiro
333 A2 BETE
555 A3 JOÃO
Matricula CREA Nome222 E1 GIL
31
1- Suponha que Médicos de um hospital realizam consultas em pacientes. Sabe-se que,
para ser considerado um paciente do hospital, é necessário ter, pelo menos, uma consulta
com um dos médicos do hospital, e, para ser considerado médico do hospital, basta ter
um código identificador único (ou seja, diferente dos códigos dos outros médicos) no
banco de dados. Os médicos e pacientes são descritos por código e nome e as consultas
são agendadas para um momento (data/hora) específico.
Exercício
são agendadas para um momento (data/hora) específico.
Diante do exposto acima, construa o DER, sabendo-se que:
- linhas mais grossas entre uma entidade E1 e um relacionamento R1 representam que a
entidade E1 é fraca em relação à(s) entidade(s) a que E1 está relacionada por R1;
- atributos chaves de uma entidade ou relacionamento são identificados por bolinhas pretas;
- atributos não chaves de uma entidade ou relacionamento são identificados por bolinhas
brancas.
32
Referências Bibliográficas
EMASRIEMASRIEMASRIEMASRI, , , , Ramez; NAVATHERamez; NAVATHERamez; NAVATHERamez; NAVATHE, , , , ShamkantShamkantShamkantShamkant B. Sistema de Banco de Dados. Pearson B. Sistema de Banco de Dados. Pearson B. Sistema de Banco de Dados. Pearson B. Sistema de Banco de Dados. Pearson EducationEducationEducationEducation do do do do Brasil. Brasil. Brasil. Brasil. 
São Paulo. 2005São Paulo. 2005São Paulo. 2005São Paulo. 2005....
SILBERSCHARTZ, Abraham; KORTH, SILBERSCHARTZ, Abraham; KORTH, SILBERSCHARTZ, Abraham; KORTH, SILBERSCHARTZ, Abraham; KORTH, Henry; SUDARSHAN, S. Sistemas de Banco de Dados. Henry; SUDARSHAN, S. Sistemas de Banco de Dados. Henry; SUDARSHAN, S. Sistemas de Banco de Dados. Henry; SUDARSHAN, S. Sistemas de Banco de Dados. 
3º 3º 3º 3º edição, São Paulo: Makron Books edição, São Paulo: Makron Books edição, São Paulo: Makron Books edição, São Paulo: Makron Books 1999.1999.1999.1999.
33

Outros materiais