Baixe o app para aproveitar ainda mais
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.
Compartilhar