Escolar Documentos
Profissional Documentos
Cultura Documentos
O MODELO RELACIONAL
Revisando........................................................................................................................3
Modelo Relacional ..........................................................................................................4
Conceitos e características do Modelo Relacional .........................................................9
Restrições no modelo relacional ...................................................................................18
Mapeamento do modelo ER para o Modelo Relacional ...............................................28
Exemplo prático .............................................................................................................36
Exercícios .......................................................................................................................39
Referências ....................................................................................................................41
REVISANDO...
❑Até o momento, vocês estudaram o modelo entidade-
Modelo Conceitual
relacionamento, que corresponde ao modelo conceitual de (Modelo Entidade
Relacionamento
um banco de dados.
PROFESSOR Coluna
COD_PROF NOME DATA_NASCIMENTO RUA BAIRRO CIDADE EMAIL CPF
Atributo
Entidade Modelo entidade
relacionamento
Modelo
relacional
MODELO ER x MODELO RELACIONAL
Modelo relacional
Modelo Entidade- relacionamento Nota: A coluna chave primária deve ser sublinhada
CARACTERÍSTICAS DO MODELO
RELACIONAL
Professor
cod_prof nome tel_celular tel_fixo
00002 Claudia 75983473726 7532413493
Santos
CARACTERÍSTICAS DO MODELO
RELACIONAL
Em uma tabela, todas as linhas devem ser distintas. Para isso, deve-se
definir uma chave primária, responsável por garantir esta distinção.
Pessoa
cpf nome sexo
Chave primária 0349302932 Maria de Jesus Silva F
(HEUSER, 2009)
CHAVE PRIMÁRIA
A escolha de uma coluna para chave primária de uma tabela deve
atentar para a unicidade de seus valores em todas as linhas que a
tabela poderá ter.
Chave primária
00001 Silva 18/06/1990 A Centro Bom Jesus da Lapa silvia@gmail.com 5456544965
Ribeiro
Professor
COD_PROF NOME DATA_NASCIMENTO RUA BAIRRO CIDADE EMAIL CPF
E se uma mãe tiver vários filhos? Todos eles receberão o sobrenome da mãe!
(HEUSER, 2009)
RESTRIÇÕES DE DOMÍNIO
As restrições de domínio definem que o valor de cada coluna deve ser simples
(atômico) e pertencer ao tipo/formato de dado especificado como seu
domínio.
PROFESSOR
COD_PROF NOME DATA_NASCIMENTO RUA BAIRRO CIDADE EMAIL CPF
00001 Silva Ribeiro 18/06/1990 A Centro Bom Jesus da Lapa silvia@gmail.com 5456544965
RG*: 9568472645
No exemplo, a coluna email é opcional,
pois um professor pode não possuir EMAIL:
email ou não indica-lo no momento no
cadastro. Enviar
Professor
cod_professor nome email rg
00001 Vilma Santomé /
vilma@gmail.com 1234356754
00002 Paulo Gonçalves NULL 9568472645
RESTRIÇÕES DE CHAVE
PROFESSOR
COD_PROF NOME DATA_NASCIMENTO RUA BAIRRO CIDADE EMAIL CPF
00001 Silva Ribeiro 18/06/1990 A Centro Bom Jesus da Lapa silvia@gmail.com 5456544965
PROFESSOR
COD_PROF NOME DATA_NASCIMENTO RUA BAIRRO CIDADE EMAIL CPF
00001 Silva Ribeiro 18/06/1990 A Centro Bom Jesus da Lapa silvia@gmail.com 5456544965
TURMA
COD_TURMA NOME_TURMA COD_PROF
Chave
01 Informática 01 00001
estrangeira
02 Informática 02 00001
No exemplo acima, a chave estrangeira cod_prof na tabela Turma deve referenciar um valor
existente como chave primária na tabela Professor.
INTEGRIDADE REFERENCIAL
Com base nas tabelas abaixo, você acha que é possível adicionar uma nova
turma, com um cod_professor ‘00234’?
PROFESSOR
COD_PROF NOME DATA_NASCIMENTO RUA BAIRRO CIDADE EMAIL CPF
00001 Silva Ribeiro 18/06/1990 A Centro Bom Jesus da Lapa silvia@gmail.com 5456544965
TURMA
COD_TURMA NOME_TURMA COD_PROF
01 Informática 01 00001
02 Banco de Dados 00234
?
INTEGRIDADE REFERENCIAL
Com base nas tabelas abaixo, você acha que é possível adicionar uma nova
turma, com um cod_professor ‘00234’?
PROFESSOR
COD_PROF NOME DATA_NASCIMENTO RUA BAIRRO CIDADE EMAIL CPF
00001 Silva Ribeiro 18/06/1990 A Centro Bom Jesus da Lapa silvia@gmail.com 5456544965
TURMA
COD_TURMA NOME COD_PROF
01 Informática 01 00001
02 Banco de Dados 00234
Não é possível pois violaria a restrição integridade referencial. Não existe um Professor
X
cadastrado com o cod_prof (PK) igual a ‘00234’.
HORA DE PRATICAR
Observe a tabela abaixo:
PROFESSOR
COD_PROF NOME DATA_NASCIMENTO RUA BAIRRO CIDADE EMAIL CPF
1) Sendo a coluna cod_prof a chave primária da tabela, é possível que ela tenha
um valor null ?
2) Ao criar a tabela, um conjunto de valores numéricos foram definidos como
domínio da coluna CPF. É possível armazenar um conjunto de letras nesta
coluna?
3) Faz sentido definir que a coluna email possa aceitar valores NULL?
RESPOSTA
PROFESSOR
COD_PROF NOME DATA_NASCIMENTO RUA BAIRRO CIDADE EMAIL CPF
1) Sendo a coluna cod_prof a chave primária da tabela, é possível que ela tenha um
valor null ?
Não, pois violaria a restrição de integridade de entidade. Colunas chave primária
nunca poderão ser nulas.
2) Ao criar a tabela, um conjunto de valores numéricos foram definidos como domínio
da coluna CPF. É possível armazenar um conjunto de letras nesta coluna?
Não. Esta ação violaria a restrição de domínio.
3) Faz sentido definir que a coluna email poderá aceitar valores NULL?
Sim. Um professor pode não possuir um email
O QUE ESTUDAMOS ATÉ AGORA?
Até o momento, estudamos sobre o modelo relacional, no qual o banco de
dados é representado por meio de tabelas que possuem colunas e linhas.
Além disso, vimos os tipos de restrições aplicáveis a banco de dados
relacionais para garantir a integridade dos dados armazenados.
Atributos compostos como endereço devem ser Professor (cod_prof: inteiro, nome: caracter(45),
decompostos, e os atributos multivalorados, data_nasc:data, rua: caracter(45), bairro:caracter(45),
como telefone, viram uma nova tabela. cidade: caracter(45))
Professor_Turma(cod:turma:inteiro,
cod_professor:inteiro)
cod_turma referencia Turma
cod_professor referencia Professor
ENTIDADE ASSOCIATIVA
.
Uma entidade associativa é transformada em uma tabela no modelo
relacional. A chave primária desta tabela será composta pelas chaves
primárias das tabelas relacionadas, que também serão suas chaves
estrangeiras.
Cliente (codigo: inteiro, nome: caracter(45))
TurmaProfDisciplina(cod_prof:inteiro, cod_turma:inteiro,
cod_disc:inteiro, ano:caracter(4))
(ANGELLOTI, 2010)
EXEMPLO PRÁTICO
Você foi contratad@ para projetar o banco de dados de uma escola profissionalizante.
Sabe-se que:
a) b)
HORA DE PRATICAR!
Para cada modelo entidade relacionamento apresentado, realize a transformação para o modelo
relacional (Esquema textual) indicando o nome da tabela, colunas e seu domínio (tipo/formato de dado),
chaves primárias, e chaves estrangeiras, fazendo o relacionamento entre as tabelas corretamente,
conforme estudamos.
c) d)
REFERÊNCIAS