scc0141 - bancos de dados e suas aplicações prof. jose fernando rodrigues junior material...
TRANSCRIPT
![Page 1: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/1.jpg)
SCC0141 - Bancos de Dados e Suas Aplicações
Prof. Jose Fernando Rodrigues Junior
Material original: Elaine Parros Machado de Sousa
Modelo Relacional
![Page 2: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/2.jpg)
Modelo Relacional Criado por E. F. Codd (IBM)
“A relational model of data for large shared data banks“. Communications of the ACM, Volume 13 , Issue 6, June 1970.
Modelo de Implementação projeto lógico
USP – ICMC – GBDI 2
![Page 3: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/3.jpg)
Ciclo de VidaCiclo de Vida
Sistemas de Banco de Dados
Dados eMetadados
SGBDSGBD Aplicação
Mundo Real
RequisitosFuncionais
Requisitosde Dados
Desenvolvimento de Sistemas de Banco de Dados
• Projetistas de BD
• DBA• Pessoal de Suporte e Operação
• Usuários • Operadores de Aplicação
• Projetistas de Interface
Projeto Conceitual
Projeto Lógico
Projeto Físico
Análise Funcional
Projeto
Implementação
Coleta/Especificaçãode Requisitos
Protótipo
![Page 4: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/4.jpg)
USP – ICMC – GBDI 4
Definição do Modelo
▪“O modelo relacional representa uma base de dados como uma coleção de relações ” [Elmasri&Navathe]
▪Modelo Relacional – base teórica em Teoria de Conjuntos
![Page 5: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/5.jpg)
USP – ICMC – GBDI 5
Definição do Modelo
▪Valores▪ dados do mundo real
▪Tabelas▪ dados mantidos em tabelas representam coleções de objetos, entidades, associações, etc, do mundo real▪ tabelas são uma noção intuitiva para as RELAÇÕESRELAÇÕES
![Page 6: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/6.jpg)
USP – ICMC – GBDI 6
▪ Relação▪ Tabela
▪ Tupla▪ Registro, linha
▪ Atributo▪ Campo
▪ Valor▪ Relation Intension
▪ Esquema▪ Relation Extension
▪ Instância
Terminologia
![Page 7: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/7.jpg)
USP – ICMC – GBDI 7
Modelo Intuitivo
Esquema
Instância
Nome NUSP Curso
Paulo
Izabella
João
9999
8888
1111
Info
Info
Comp
….
![Page 8: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/8.jpg)
USP – ICMC – GBDI 8
Modelo Intuitivo
Nome NUSP Curso
Paulo
Izabella
João
9999
8888
1111
Info
Info
Comp Relaçã
o
AtributoTupla
Valor
Esquem
a
de Rel
ação
![Page 9: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/9.jpg)
Valores
Modelo relacional valores são atômicos Valor AtômicoValor Atômico
indivisível não pode ser recuperado em partes ex: endereço definido como um único atributo
monovalorado pode ter apenas um valor ex:
Idade de aluno é monovalorado Irmãos de aluno é multivalorado
USP – ICMC – GBDI 9
![Page 10: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/10.jpg)
USP – ICMC – GBDI 10
▪ Domínio de aplicaçãoDomínio de aplicação
▪ Exemplos:Exemplos:
▪ EscolaEscola
▪ UniversidadeUniversidade
▪ CidadeCidade
▪ DomínioDomínio de atributo
▪ Exemplos:
▪ Nomes de Alunos
▪ Códigos de Disciplinas
▪ Idade
Domínios
![Page 11: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/11.jpg)
USP – ICMC – GBDI 11
▪Especificação do Domínio de Domínio de atributoatributo: ▪Nome ▪Definição lógica▪Tipo de dado e formato de dado
Domínios
![Page 12: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/12.jpg)
USP – ICMC – GBDI 12
▪ NomeNome e Definição lógicaDefinição lógica. Ex:▪Nomes de Alunos: conjunto de todos
os nomes possíveis para pessoas▪Códigos de Disciplinas: conjunto
dos códigos das disciplinas oferecidas no ICMC
▪ Idade: conjunto de idades possíveis para alunos
Especificação do Domínio
![Page 13: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/13.jpg)
USP – ICMC – GBDI 13
▪ Tipo de dado e/ou formatoTipo de dado e/ou formato. Ex:
▪Nomes de Alunos – string de 60 caracteres
▪Códigos de Disciplinas – string com três letras seguidas de um traço e de quatro dígitos: SCC-0240
▪ Idade – inteiro entre 15 e 100
Especificação do Domínio
![Page 14: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/14.jpg)
USP – ICMC – GBDI 14
▪ Esquema de relaçãoEsquema de relação: descreve a relação▪R R (A1, A2, ..., An)
▪ou R = R = {A1, A2, ..., An}
▪RR - nome da relação
▪(A1, A2, ..., An) - conjunto de atributos que formam a relação
Esquema de Relações
![Page 15: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/15.jpg)
USP – ICMC – GBDI 15
▪ N - graugrau da relação descrita por RR▪número de atributos em RR
▪ Dom(ADom(Aii)) - Domínio do Atributo Ai
▪ Ex:▪uma relação de Alunos que tenha os
atributos Nome, RG e Idade, tem o seguinte esquema:
Esquema de Relações
Aluno(Nome, RG, Idade)
![Page 16: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/16.jpg)
USP – ICMC – GBDI 16
Exemplo Especificação dos domínios: Especificação dos domínios:
▪ Nomes de Alunos: conjunto de todos os nomes possíveis para pessoas – strings de 60 caracteres
▪ RG: conjunto dos RGs válidos no Brasil – números de 9 dígitos
▪ Idade: conjunto de idades possíveis para alunos – inteiro entre 0 e 100
![Page 17: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/17.jpg)
USP – ICMC – GBDI 17
Exemplo (cont.)
Esquema da relação Aluno: Aluno={Nome, RG, Idade}
Domínios dos atributos de Aluno: Dom(Nome) = Nomes de Alunos Dom(RG) = RG Dom(Idade) = Idade
![Page 18: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/18.jpg)
USP – ICMC – GBDI 18
Relações Relação RRelação R – instância do Esquema de
Relação R R (A1, A2, ..., An)
R(RR) R Dom(A1) X Dom(A2) X ... Dom(An) R é um conjunto de tuplas R={t1, t2, ... tk}
t = {v1, v2, ... vn}, vi Dom(Ai)
![Page 19: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/19.jpg)
USP – ICMC – GBDI 19
▪ Número total de tuplas possíveis:
▪ |Dom(A1)| X |Dom(A2)| X ... X|Dom(An)|
▪ R(RR) contém apenas as tuplas válidas que representam a situação de um determinado instante do mundo real
▪ Esquema de Relação RR (relation intension) mudanças pouco freqüentes
▪ Relação R (relation extension) dinâmica
Relações
![Page 20: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/20.jpg)
USP – ICMC – GBDI 20
▪ Exemplo:
▪Esquema de Relação Aluno:
▪Aluno = {Nome, RG, Idade}
▪Possível relação:
▪R(Aluno) = {<José, 12345, 21>,
<Pedro, 54321, 18>,
<Paulo, 321321, 22>}
Relações
![Page 21: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/21.jpg)
USP – ICMC – GBDI 21
▪ Ordem das tuplas de uma relação ▪ relação conjunto de tuplas
▪ matematicamente não existe a idéia de ordem em conjuntos não existe uma ordem em particular para as tuplas de uma relação
OBS: na implementação de um SGBDR existe uma ordem física de armazenamento das tuplas, determinando uma ordem na recuperação das informações
Relações
![Page 22: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/22.jpg)
USP – ICMC – GBDI 22
▪ Ordem dos valores de uma tupla▪ tupla lista de n valores dispostos em uma ordem determinada de acordo com a disposição dos atributos no esquema da relação
▪ Valores nas tuplas▪ os valores de uma tupla são atômicos▪ valor nulo (null )
▪ valor desconhecido▪ valor não se aplica ▪ valor conhecido mas não disponível
Relações
![Page 23: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/23.jpg)
USP – ICMC – GBDI 23
Restrições das Relações Restrição de domínio
o valor de cada atributo A deve ser um valor atômico pertencente a Dom(A)
Restrição de null para atributo determina quando o valor especial null é ou
não permitido para um atributo Restrição de unicidade (CHAVE)
deve ser possível identificar univocamente cada tupla da relação
![Page 24: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/24.jpg)
USP – ICMC – GBDI 24
▪ Relação é um conjunto de tuplas▪ pela teoria de conjuntos todas as tuplas
devem ser distintas▪ para garantir esta propriedade de maneira
eficiente▪ especifica-se uma Restrição de
Unicidade definição de chave
Restrição de Unicidade
![Page 25: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/25.jpg)
USP – ICMC – GBDI 25
▪ SuperchaveSuperchave▪conjunto de atributos de uma relação
R que identifique univocamente cada tupla
▪SCHk(RR) = {Aj, ..., Ai}|{Aj, ..., Ai}
RR▪Combinação de valores não se repete▪Exemplo:
▪ Aluno = {Nome, Idade, Curso, NUSP}
▪ SCH1(Aluno) = {Nome, Curso, Idade}
▪ SCH2(Aluno) = {NUSP, Nome}
Restrição de Unicidade
![Page 26: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/26.jpg)
USP – ICMC – GBDI 26
▪ ChaveChave▪é uma superchave da qual não se
pode retirar nenhum atributo e ainda preservar a propriedade de identificação unívoca superchave mínima
Restrição de Unicidade
![Page 27: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/27.jpg)
USP – ICMC – GBDI 27
▪CHk(RR) = {Ai, ..., Aj}|{Ai, ..., Aj} RR
tg[CHk]≠ th[CHk] g, h R, g ≠ h
▪Exemplo:▪Aluno = {Nome, Idade, Curso,
NUSP}▪ SCH1(Aluno) = {Nome, NUSP}▪ CH1(Aluno) = {Nome}▪ CH2(Aluno) = {NUSP}
CHAVE
![Page 28: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/28.jpg)
USP – ICMC – GBDI 28
▪ Chave Candidata:Chave Candidata:▪pode existir mais de uma chave
para uma mesma relação▪cada uma das chaves é chamada
de Chave Candidata▪ CH1(Aluno) = {Nome}▪ CH2(Aluno) = {NUSP}
Chave
![Page 29: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/29.jpg)
USP – ICMC – GBDI 29
▪ Chave PrimáriaChave Primária▪escolhida entre as chaves
candidatas ▪a chave primária é
freqüentemente a mais utilizada para acessos à relação
▪Exemplo:▪CH0(Aluno) = {NUSP}
Chave
![Page 30: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/30.jpg)
USP – ICMC – GBDI 30
▪Notação no Esquema da Relação
▪CH0(Aluno) = {NUSP}▪CH1(Aluno) = {Nome}
Aluno = {Nome, Idade, Curso, NUSP}
Chave
Chave primária
Chave secundária
![Page 31: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/31.jpg)
USP – ICMC – GBDI 31
▪ O esquema SS de uma base de dados relacional é composto por: 1) um conjunto de esquemas de
relações SS = {R R 1, RR 2, ..., RR n}
2) um conjunto de Restrições de Integridade
Base de Dados Relacional
![Page 32: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/32.jpg)
USP – ICMC – GBDI 32
▪ Uma base de dados relacional (uma instância) é composta por:
▪ um conjunto de relações
BD = {R1, R2, ..., Rn}
tal que cada Ri é uma instância de R R ii e cada Ri satisfaz todas as restrições indicadas em
Base de Dados Relacional
![Page 33: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/33.jpg)
USP – ICMC – GBDI 33
R1 R2
BASE DE DADOS
R3 R4
Base de Dados Relacional
![Page 34: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/34.jpg)
USP – ICMC – GBDI 34
▪ Base de Dados para armazenar informações sobre as diversas turmas de disciplinas oferecidas num semestre
▪ Esquemas de Relações:▪ Aluno = {Nome, NUSP, Idade, Curso}▪ Disciplina = {Sigla, Nome, NCreditos}▪ Matricula = {Aluno, Disciplina, Semestre, Ano,
Nota}
Exemplo
![Page 35: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/35.jpg)
USP – ICMC – GBDI 35
▪Restrições de integridade▪regras a respeito dos valores
que podem ser armazenados nas relações▪ objetivo: garantir consistência
▪quando definidas no domínio do problema, devem ser sempre satisfeitas na base de dados
Restrições de Integridade
![Page 36: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/36.jpg)
USP – ICMC – GBDI 36
▪ Principais restrições de integridade para um BD relacional:
▪Restrições de Integridade da Entidade
▪Restrições de Integridade Referencial
Restrições de Integridade
![Page 37: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/37.jpg)
USP – ICMC – GBDI 37
▪Restrição de Integridade da Entidade▪a chave primária não pode ser
nula em nenhuma tupla de qualquer relação
▪se a chave primária for composta por mais de um atributo, nenhum deles pode ser nulo
Restrições de Integridade
![Page 38: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/38.jpg)
USP – ICMC – GBDI 38
▪ Restrição de Integridade Referencial▪ definida entre duas relações▪ usada para manter consistência entre
tuplas de duas relações▪ define que: se uma tupla t1 em uma
relação R1 faz referência a uma relação R2, então t1 deve fazer referência a uma tupla existente em R2
Restrições de Integridade
![Page 39: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/39.jpg)
USP – ICMC – GBDI 39
Restrição de Integridade Referencial está vinculada ao conceito de chave estrangeira conceito fundamental:
compatibilidade de domínio
Restrições de Integridade Referencial
![Page 40: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/40.jpg)
USP – ICMC – GBDI 40
▪ Compatibilidade de DomínioCompatibilidade de Domínio:▪dados dois conjuntos de atributos
quaisquer C e D, ambos são compatíveis quando o primeiro atributo de C tem o mesmo domínio do primeiro atributo de D, o segundo atributo de C tem o mesmo domínio do segundo atributo de D, e assim por diante
▪ex:???
Restrições de Integridade Referencial
![Page 41: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/41.jpg)
USP – ICMC – GBDI 41
▪ FK é uma Chave estrangeiraChave estrangeira em R1 que referencia R2 se:
1) FK é compatível em domínio com toda a chave primária PK de R2
2) o valor dos atributos FK numa tupla ti qualquer
da relação R1:
ou é igual ao valor dos atributos PK de alguma tupla tk da relação R2 ti[FK] = tk[PK], ti R1,
tkR2
ou é nulo ti[FK] = null
Restrições de Integridade Referencial
![Page 42: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/42.jpg)
USP – ICMC – GBDI 42
▪ As duas condições para a ocorrência da chave estrangeira determinam a Restrição de Integridade Referencial entre duas relações R1 e R2
RR 1[FK] CE RR 2[PK]
Restrições de Integridade Referencial
![Page 43: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/43.jpg)
USP – ICMC – GBDI 43
▪Chave Estrangeira:
X = {A, B, C} Y = {F, G, H}
Dom(F, G) = Dom(A, B) {A, B} é chave primária em X{F, G} é chave estrangeira em Y
Restrições de Integridade Referencial
Pergunta: a chave estrangeira {F,G} pode ser nula? Por que?
![Page 44: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/44.jpg)
USP – ICMC – GBDI 44
▪ Exemplo:
Restrições de Integridade Referencial
Departamento = {Cod, NomeD}
Empregado = {NomeE, Departamento}
Pergunta: a chave estrangeira {Departamento} pode ser nula? Por que?
![Page 45: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/45.jpg)
Alunos = {Nome, No.USP, Idade}
R1(Alunos) = {<Mario, 1234, 20>, <Paulo, 4321, null >, <null , 1234, 22>, <Thais, null, 24>, <Mario, 1235, 22>}
Disciplina = {Sigla, Monitor}
R2(Disciplina) = {<SCE_104, 1234>, <SCE_123, 2222>, <SCE_149, 1234>, <SCE_532, null >}
ExemploQuais restrições de relação e de integridade não são satisfeitas nas tuplas do exemplo? Por quê?
![Page 46: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/46.jpg)
Sugestão de Leitura ELMASRI, R; NAVATHE, S.B. –
Sistemas de Banco de Dados, Addison Wesley, 4a Edição. Capítulo 5 – O Modelo de Dados
Relacional e as Restrições de um Banco de Dados Relacional
USP – ICMC – GBDI 46
![Page 47: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/47.jpg)
Exercício:Exercício:
Um médico deseja informatizar sua clínica, armazenando as informações de seus pacientes, dos convênios utilizados e dos exames realizados por eles. Cada paciente pode realizar vários exames na clínica, sendo que cada exame pode ser feito por um convênio diferente. Além disso, a cada exame realizado por um paciente está associado um diagnóstico principal. É necessário armazenar o nome, RG, telefone e endereço de cada paciente. Os exames possuem um código e um tipo. Os convênios possuem nome, CNPJ, e nome e telefone da pessoa de contato. É importante ainda que o sistema permita a geração de um relatório mensal de todos os exames realizados no mês por um determinado convênio.
a) crie o esquema relacional para a base de dados, indicando chave primária e chaves candidatas (se houver), e as restrições de integridade referencial;
continua…
![Page 48: SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Modelo Relacional](https://reader036.vdocument.in/reader036/viewer/2022062512/552fc10b497959413d8c32b6/html5/thumbnails/48.jpg)
b) defina todos os domínios (nome, definição lógica, tipo de dado e formato) necessários para o esquema criado no item a);
ex: Nomes de Pessoas: conjunto de todos os nomes possíveis para pessoas – string de 60 caracteres
c) para cada esquema de relação: • defina o domínio de cada atributo
ex: Dom(Nome) = Nomes de Pessoas• indique quais atributos podem e quais não podem receber valor nulo (restrições de null)
d) crie uma instância da base de dados, e exemplifique tuplas válidas e inválidas de acordo com as restrições de integridade de uma BD relacional. Explique cada caso (qual é restrição e por que é ou não atendida em cada tupla).
e) na sua opinião, o que é mais fácil: criar um esquema usando Modelo Relacional ou usando MER?