Você está na página 1de 19

UNIVERSIDADE*FEDERAL

DE*MINAS*GERAIS

Introdução a Banco de Dados

Modelo Relacional
Rodrygo L. T. Santos
rodrygo@dcc.ufmg.br
Projeto de banco de dados Minimundo

(em IBD)
Análise de requisitos

Requisitos do BD

Projeto conceitual

Independente de SGBD Esquema conceitual

Dependente de classe de SGBD Projeto lógico

Esquema lógico
Modelos conceituais

Descrevem a estrutura de um BD de uma forma mais


próxima da percepção dos usuários
◦ Independentes de aspectos de implementação
◦ Construções: entidades, relacionamentos, atributos
Modelo entidade-relacionamento (ER)

The entity-relationship model—toward a unified view of data by P. Chen / ACM TODS March 1976
Esquema ER
ID Supervisão
1 n ID Nome Locais TotalEmp
Primeiro
Supervisor Supervisonado n 1
Nome Vínculo
Último
Sexo Empregado DataInício Departamento

DataNasc 1 Gerência 1
1 1

Dependência Controla
Endereço

n Horas n
Salário

Dependente Alocação Projeto


m n

Nome Sexo DataNasc Parentesco ID Nome Local


Modelos lógicos (representacionais)

Descrevem a estrutura de um BD da forma como será


manipulado através do SGBD
◦ Independentes de um SGBD específico
◦ Construções: estruturas de dados
Modelo relacional

A relational model of data for large shared data banks by E. F. Codd / CACM June 1970
Modelo relacional

Especificação de dados
◦ Estruturação via relações
◦ Consistência via restrições
Esquema relacional
Empregado ID Nome Salário Dept

Departamento ID Nome Ramal

Empregado.ID deve ser único e não-nulo


Departamento.ID deve ser único e não-nulo

Empregado.Dept deve ser não-nulo


Empregado.Dept deve referenciar um valor válido de Departamento.ID
Modelo relacional

Especificação de dados
◦ Estruturação via relações
◦ Consistência via restrições
◦ Qualidade via normalização
Consulta a dados
◦ Álgebra e cálculo relacional
UNIVERSIDADE*FEDERAL
DE*MINAS*GERAIS

Introdução a Banco de Dados

Relações
Rodrygo L. T. Santos
rodrygo@dcc.ufmg.br
Relação

Principal construção do modelo relacional


◦ Bases em teoria de conjuntos e lógica de predicados
Matematicamente: 𝑅 ⊆ 𝐷! ×𝐷" × ⋯ ×𝐷#
◦ Subconjunto do produto cartesiano de 𝑛 conjuntos
◦ Conjunto de 𝑛-tuplas (𝑑! , 𝑑" , … , 𝑑# ), 𝑑$ ∈ 𝐷$ ∀𝑖
Informalmente: uma tabela com 𝑛 colunas
Tabela

Empregado
ID Nome Salário Dept
cabeçalho (esquema)
032 J Silva 380 21
linhas (instâncias)
074 M Reis 400 25
089 C Melo 520 28
092 R Silva 480 25
112 R Pinto 390 21
121 V Simão 905 28
Esquema de relação

Empregado
Esquema de relação
ID Nome Salário Dept
Empregado(ID, Nome, Salário, Dept)
032 J Silva 380 21
nome atributos
074 M Reis 400 25
089 C Melo 520 28
092 R Silva 480 25
112 R Pinto 390 21
121 V Simão 905 28
Relação
Esquema de relação
Empregado(ID, Nome, Salário, Dept)
Empregado
ID Nome Salário Dept Relação
032 J Silva 380 21 𝑒(Empregado) ⊆
074 M Reis 400 25 𝑑𝑜𝑚 ID ×
089 C Melo 520 28 𝑑𝑜𝑚 Nome ×
092 R Silva 480 25 𝑑𝑜𝑚(Salário)×
112 R Pinto 390 21 𝑑𝑜𝑚(Dept)
121 V Simão 905 28
Tupla
𝑒! ∈ 𝑒(Empregado)
e.g. 𝑒!: (032, J Silva, 380, 21)
Relação (teoria de conjuntos)

dom(ID) dom(Nome) dom(Salário) dom(Dept)

032 J Silva 380 21 Esquema de relação


Empregado(ID, Nome, Salário, Dept)
074 M Reis 400 25
Relação
089 C Melo 520 28
𝑒(Empregado) ⊆
092 R Silva 480 𝑑𝑜𝑚 ID ×
𝑑𝑜𝑚 Nome ×
112 R Pinto 390
𝑑𝑜𝑚(Salário)×
121 V Simão 905 𝑑𝑜𝑚(Dept)
... ... ... ...
Características de uma tupla

Tupla: sequência (lista ordenada) de atributos


◦ Um atributo possui nome e domínio
◦ Um atributo possui somente valores atômicos
(simples e monovalorados)
◦ O valor de um atributo pode não ser especificado
(e.g., desconhecido ou não aplicável)
Características de uma relação

Relação como conjunto


◦ Tuplas como elementos únicos
◦ Tuplas como elementos não-ordenados
Esquema de relação como predicado lógico
◦ Tuplas como proposições válidas
◦ Consultas como expressões lógicas
Relação (lógica de predicados)

dom(ID) dom(Nome) dom(Salário) dom(Dept)

032 J Silva 380 21 Predicado


Empregado(ID, Nome, Salário, Dept)
074 M Reis 400 25

089 C Melo 520 28


Proposições
✓ 𝑒!: Empregado(032, J Silva, 380, 21)
092 R Silva 480
✓ 𝑒": Empregado(074, M Reis, 400, 25)
112 R Pinto 390
✗ 𝑒#: Empregado(121, R Silva, 520, 42)
121 V Simão 905
... ... ... ...

Você também pode gostar