Buscar

[BD 5]Modelo Relacional

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Banco de Dados
Aula 5 – Modelo Relacional
Professora: Elaine Araújo e Tiago Brasileiro 
Modelo Relacional
Modelo lógico, utilizado em bancos de dados relacionais;
Aqui começamos a nos preocupar em como os dados devem ser armazenados e em como criaremos os relacionamentos do modelo conceitual;
Modelo Relacional
Representa os dados como uma coleção de tabelas e cada linha da tabela representa uma coleção de dados relacionados;
Tabela
Nome_da_tabela(nome_do_atributo1:tipo_do_atributo,nome_do_atributo2:tipo_do_atributo2,...)
Assim:
tb_aluno(matricula_aluno: inteiro,nome_aluno:caracter(100),
data_nascimento:data)
Resumindo...
O que vimos no modelo ER aqui vai virar uma coleção de tabelas que possuem colunas(atributos);
Os valores são armazenados como uma linha na tabela, assim:
Tabela Pessoa 
Código
Nome
Telefone
Endereço
1
João
333-4555
Rua X
2
Maria
333-4558
Rua Y
3
Manoel
444-8888
Rua Z
Coluna
Linha
Chave Estrangeira
Pode ser chamada de Foreign Key ou FK;
É um atributo da tabela que faz referência a uma chave primária de outra tabela ou da própria tabela.
Vamos entender melhor...
Chave Estrangeira
A tabela tb_aluno possui o atributo codigo_turma;
Esse atributo é a chave primária da tabela tb_turma, então codigo_turma é a chave estrangeira na tabela tb_aluno
tb_turma(codigo_turma:inteiro,nome_turma:caracter(5))
tb_aluno(matricula_aluno:inteiro,nome_aluno:caracter(200),
data_nascimento_aluno:data,codigo_turma:inteiro)
Chave Estrangeira
Para representar a chave primária no modelo relacional usamos o sublinhado e para representar chave estrangeira usamos um *
tb_turma(codigo_turma:inteiro,nome_turma:caracter(5))
tb_aluno(matricula_aluno:inteiro,nome_aluno:caracter(200),
data_nascimento_aluno:data,*codigo_turma:inteiro)
Chave Estrangeira
Só o * não nos diz de qual tabela essa chave estrangeira vem, então para explicar melhor fazemos assim:
tb_turma(codigo_turma:inteiro,nome_turma:caracter(5))
tb_aluno(matricula_aluno:inteiro,nome_aluno:caracter(200),
data_nascimento_aluno:data,*codigo_turma:inteiro)
codigo_turma referencia tb_turma
Chave Estrangeira
Quando dizemos codigo_turma referencia tb_turma estamos dizendo que o atributo codigo_turma faz referência à chave primária da tabela tb_turma;
Uma chave estrangeira sempre faz referência a uma chave primária. A chave estrangeira nunca fará referência a um atributo que não seja uma chave primária.
Chave Estrangeira
É através da chave estrangeira que conseguimos descobrir, por exemplo, que a aluna Ana pertence a turma do 1º ano do Integrado em Informática;
Aluno
Turma
matricula_aluno
nome_aluno
data_nascimento_aluno
codigo_turma
100
Ana
12/05/1998
1
105
Maria
10/10/1997
2
codigo_turma
nome_turma
1
1ºano
2
2 ano
Chave Estrangeira
O valor para uma chave estrangeira deve ser um valor já cadastrado como chave primária na tabela correspondente ou um valor nulo;
Chave Estrangeira
Integridade referencial: 
Nós não poderíamos cadastrar um aluno que pertence à uma turma 6 pois não temos essa turma cadastrada no banco de dados;
O banco não permite a referência a valores que não existam na base de dados pois isso deixaria a base inconsistente
Integridade Referencial
A restrição chave estrangeira é o que garante a integridade referencial do banco de dados;
Praticando
Vamos tentar criar o modelo relacional para esse diagrama ER:
Referências
Angelotti, Elaini Simoni. Banco de Dados. Curitiba- Editora do Livro Técnico, 2010.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando