Buscar

Aula2_Modelagem_Relacional

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 23 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 23 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 23 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

Modelagem Relacional
Banco de Dados
Prof. Me. Orlando da Silva Junior / Prof. Me. Cesar Fernandes
O que vamos estudar?
 Modelo relacional
 Restrições
 Integridade referencial
 Chaves
 Operações do modelo relacional
 Na prática: DBDesigner
2
Histórico
 O modelo de dados relacional foi introduzido pela IBM na década 
de 1970 e atraiu atenção imediata da comunidade e das empresas 
por sua simplicidade e base matemática.
 O modelo de dados relacional tem como fundamentos:
 A relação matemática como seu bloco de montagem básico;
 A teoria dos conjuntos; e
 A lógica de predicados
 As primeiras implementações comerciais surgiram na década de 
1980, como o SDBG Oracle.
 Posteriormente, outros sistemas implementaram o modelo 
relacional, tanto comerciais, como o Access e o SQL Server 
(Microsoft), quanto de código aberto, com o MySQL e o 
PostgreSQL.
3
Linguagens
 A linguagem de consulta SQL, que é padrão nos SGBDs
relacionais comerciais, é uma das linguagens associadas ao 
modelo relacional.
 A álgebra relacional e o cálculo relacional são duas linguagens 
formais associadas ao modelo relacional. Elas são a base da 
linguagem SQL.
 No caso da álgebra relacional, ela é usada nos detalhes 
internos de muitas implementações de banco de dados para 
processamento e otimização de consultas.
 Existem outros modelos de dados anteriores ao relacional, 
como o modelo hierárquico e o modelo em rede, que foram 
propostos na década de 1960 e implementados até o início da 
década de 1970.
4
O modelo relacional
 O modelo relacional representa o BD como uma coleção 
de relações:
 Cada relação é semelhante a uma tabela de valores;
 Cada linha da tabela é uma coleção de valores de dados 
relacionados e representa um fato correspondente a uma 
entidade ou a um relacionamento do mundo real.
 Os nomes da tabela e de coluna são usados para ajudar 
a interpretar o significado dos valores de cada linha.
5
6
(ELMASRI & NAVATHE, 2019)
Na imagem abaixo, você pode observar:
▪ A relação Aluno apresentada em uma tabela; e
▪ As linhas da relação representando cada uma delas um 
aluno.
7
(ELMASRI & NAVATHE, 2019)
Domínio
 Um domínio é um conjunto de valores atômicos:
 Atômico quer dizer que cada valor no domínio é 
indivisível em se tratando do modelo relacional 
formal;
 Um tipo de dado também é especificado para cada 
domínio.
 Podemos especificar um domínio definindo o tipo de 
dado do qual são retirados os valores de dados que 
formam o domínio.
 Observe nos exemplos ao lado como o tipo de dado 
também está especificado no domínio.
8
Exemplo 1
Nome do domínio: Nomes
Especificação:
conjuntos de cadeias de 
caracteres que representam 
nomes de pessoas.
Exemplo 2
Nome do domínio: Cadastro_Pessoa_Fisica
Especificação:
conjunto de números do CPF 
com 11 dígitos
Esquema relacional
 Um esquema relacional 𝑅 é formado por:
 Um nome de relação 𝑅; e 
 Uma lista de atributos 𝐴.
 Cada atributo 𝐴𝑖 é o nome de um papel desempenhado 
por algum domínio no esquema de relação;
 O domínio de 𝐴𝑖 é indicado por dom 𝐴𝑖 ;
 O grau de uma relação é o número de atributos 𝑛 desse 
esquema de relação.
9
10
ALUNO (Nome, Cpf, Telefone_residencial, 
Endereco, Telefone_comercial, Idade, Media)
ALUNO(Nome: string, Cpf: string, 
Telefone_residencial: string, Endereco: 
string, Telefone_comercial: string, Idade: 
integer, Media: real)
dom(Nome) = Nomes
dom(Cpf) = Cadastro_Pessoa_Fisica
O esquema relacional ALUNO com 𝑔𝑟𝑎𝑢 = 7
O esquema relacional ALUNO usando o tipo de dado de cada 
atributo
A especificação dos domínios dos atributos Nome e Cpf
Relação
Uma relação 𝑟 do esquema relacional 𝑅 é um conjunto de 𝑛 tuplas 𝑡, sendo 
diferente arquivo ou uma tabela porque apresenta as seguintes características:
1. Os elementos do conjunto não possuem ordem entre eles. 
 As tuplas em uma relação não possuem nenhuma ordem particular. 
 Dados de arquivos e tabelas são organizados ou exibidos em uma certa ordem;
2. A ordem dos valores de uma tupla é importante, mas a ordem dos atributos e 
seus valores não é tão importante, desde que a correspondência entre atributos 
e valores seja mantida;
3. Os valores de uma tupla são atômicos, ou seja, não é admitida a existência de 
atributos compostos ou multivalorados; e
4. O esquema de relação pode ser interpretado como uma asserção, em que cada 
tupla na relação pode ser interpretada como um fato.
11
Restrições
 As restrições são regras derivadas das regras no 
minimundo que o banco de dados representa.
 Elas ocorrem sobre os valores reais em um estado do 
banco de dados.
Os principais tipos de restrição são:
1. Restrições implícitas: inerentes no modelo de dados;
2. Restrições explícitas: podem ser expressas 
diretamente nos esquemas do modelo de dados, como 
NOT NULL;
3. Regras de negócio: não podem ser expressas nos 
esquemas do modelo de dados, devem ser expressas e 
impostas pelos programas.
12
Restrições de chave
 Vamos assumir que:
 Todas as tuplas em uma relação precisam ser distintas;
 Duas tuplas não podem ter a mesma combinação de 
valores para todos os seus atributos.
 Normalmente, existem outros subconjuntos de 
atributos assumindo que duas tuplas não têm a 
mesma combinação de valores para esses atributos. 
 Qualquer um desses subconjuntos é chamado de 
superchave.
 Uma superchave especifica uma restrição de 
exclusividade na qual duas tuplas distintas em 
qualquer estado não podem ter o mesmo valor para 
todos os atributos da superchave.
13
João Carlos 45 Encanador Masculino
João Carlos 45 Encanador Masculino
João Carlos 45 Encanador Masculino Ford
João Carlos 45 Encanador Masculino Fiat
Chaves
 Uma chave é uma superchave mínima
porque: 
 Não podemos remover nenhum atributo; e
 Devemos manter uma restrição de exclusividade.
 Quando um esquema de relação pode ter mais 
de uma chave, cada chave é chamada de chave 
candidata.
 A chave primária é a chave que identifica as 
tuplas da relação.
 As demais chaves são chamadas de chaves 
únicas.
14
(ELMASRI & NAVATHE, 2019)
chaves candidatas
chave primária chave única
15
Esquema de banco de dados relacional EMPRESA.
(ELMASRI & NAVATHE, 2019)
16
Parte do estado de um banco de dados possível para o esquema relacional EMPRESA.
(ELMASRI & NAVATHE, 2019)
Bancos de dados relacionais e restrições
 As restrições que você acabou de conhecer se aplicam 
apenas a relações isoladas e seus atributos.
 Como um banco de dados costuma ter muitas relações com 
tuplas relacionadas de várias maneiras, existe um conjunto 
de estados de relação que satisfazem as restrições de 
integridade do esquema de banco de dados relacional.
 Quando nos referimos a um banco de dados relacional, 
estamos falando do seu esquema e do seu estado. Um 
estado válido do banco de dados obedece a todas as 
restrições de integridade.
17
Restrições de integridade
Existem outros dois tipos de restrições 
consideradas parte do modelo relacional:
 Restrição de integridade de entidade
 Estabelece que nenhum valor de 
chave primária pode ser NULL;
 Ter valores NULL para a chave 
primária implica que não podemos 
identificar algumas tuplas.
 Restrição de integridade referencial
 É especifica entre duas relações;
 É usada para manter a consistência 
entre tuplas nas duas relações;
 É realizada por meio de chaves 
estrangeiras.
18
O atributo FUNCIONARIO.Numero_departamento
combina com o atributo
DEPARTAMENTO.Numero_departamento.
(ELMASRI & NAVATHE, 2019)
19
Restrições de integridade referencial exibidas no esquema.
(ELMASRI & NAVATHE, 2019)
Bancos de dados relacionais e linguagens
 Os SGBDs relacionais precisam ter uma linguagem de definição 
de dados (DDL) para estabelecer um esquema de banco de dados 
relacional.
 As restrições de integridade também devem ser especificadas no 
esquema de banco de dados. 
 Por isso, a DDL deve incluir meios para especificaros diversos 
tipos de restrições de modo que o SGBD possa impô-las 
automaticamente.
20
Operações do modelo relacional
As operações do modelo relacional podem ser 
categorizadas em:
 Recuperações: podem ser especificadas por meio de 
operações da álgebra relacional;
 Atualizações: só são aplicadas quando as restrições de 
integridade especificadas no esquema não são violadas. 
Compreendem três tipos de operações sobre relações:
 Inserção de tuplas: pode ocasionar a violação de qualquer 
tipo de restrição;
 Alteração de valores de atributos de tuplas: exige a 
especificação de uma condição sobre os atributos;
 Remoção de tuplas: pode ocasionar a violação da 
integridade referencial.
21
Vamos praticar?
Usando o DBDesigner4, construa o modelo lógico de dados para as 
seguintes relações:
Fornecedores (Cod_Fornec, Nome, Endereco, Cidade, Estado, CEP, 
Telefone)
Produtos (Cod_Produto, Descricao, Unidade, Estoque_Atual, 
Estoque_Minimo)
PedidoCompras (Cod_Pedido, Cod_Fornec, Data_Pedido, Data_da_Entrega, 
Status)
PedidoCompras_Itens (Cod_Item, Cod_Pedido, Cod_Produto, Quantidade, 
Preco, Preco_Total)
22
Desafio
Considere o cenário descrito abaixo para uma base de dados de uma 
colônia de férias infantil e apresente o esquema de um modelo 
relacional, incluindo as entidades do esquema, suas integridades e 
seus relacionamentos.
Para todas as pessoas na colônia é necessário saber o nome e a idade. Na colônia 
podemos ter monitores e crianças. Cada criança pertence a uma equipe. Cada 
equipe é identificada por uma cor. Existe um e um só monitor responsável por 
cada equipe. Na colônia são organizados campeonatos, que se identificam pelo 
nome da modalidade (futebol, vôlei, basquete, etc.). As equipes participam em 
campeonatos e é necessário saber quais os pares de equipes que se defrontaram 
em cada campeonato e em que data.
23

Outros materiais