Jump to content


Photo

Chaves Estrangeiras E Primárias


  • Faça o login para participar
1 reply to this topic

#1 Daniel Filho

Daniel Filho

    Novato no fórum

  • Usuários
  • 19 posts
  • Sexo:Não informado

Posted 25/09/2009, 11:20

Bom, vim pertubar vocês um pouquinho aqui!

Não sei se está na área certa, mas penso que tanto aqui
como na área de modelagem de banco de dados minha dúvida
se encaixa!

Seguinte, a dúvida da vez é: utlização de chaves
primárias e estrangeiras.

Vamos lá!

Estou criando um sistema escolar, e já adiantando
o dominio que eu penseo que terei que ter para
pensar melhor na modelagem do banco, estou com
algumas coisas na cabeça.

O sistema é mais ou menos assim (exemplificando):
ficha de matricula, historico escolar e boletim escolar.

Pois bem, para isso, digamos que eu crie tres tabelas,
sendo elas: ficha_de_matricula, historico_escolar e
boletim_escolar. Sendo "ficha_de_matricula" já a
tabela com os campos necessários para exibir a ficha
em si, para a impressão.

Então, para a ficha de matricula, para o historico escolar
e o boletim, existe um campo que será comum a todos "Nome do
Aluno" e que eu quera que seja inserido apenas uma vez, através
da Ficha de Matrícula. Logo, crei na tabela "ficha_de_matricula"
um campo para id_do_aluno (na forma SERIAL) e outro para
nome_do_aluno. Defini este dois campos como chaves primárias
(não sei se isto será útil).

Ou seja, quero que o campo nome_do_aluno seja exibido sempre o mesmo
na manipulação dos dados de um aluno, tanto para gerar o boletim,
como para gerar a ficha como para gerar o histórico. Li algo
sobre chaves estrangeiras, mas nao sei fazer!

Alguma luz!

Grato até aqui!

#2 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 25/09/2009, 19:33

Na tabela ficha_de_matricula, é melhor deixar apenas o ID como chave primária.

Quanto a obtenção do nome do aluno quando trabalhando com boletim e histórico, não terá problema. Bastará você fazer uma junção no SELECT de cada registro da tabela de boletim/historico com a tabela das fichas pelo ID do aluno, cruzando assim as duas tabelas e podendo ter a informações de ambas no SELECT. (Leia sobre JOINs)
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq