Ir ao conteúdo
  • Cadastre-se

Perdido na relação/criação entre tabelas


Lucas.conceicao

Posts recomendados

Pessoal estou a dias pensando em como fazer isso e ainda não encontrei,

Eu gostaria muito se alguém pudesse me ajudar,

Eu queria uma tabela Aluno e uma ContaRecebe,

Essa conta recebe vai ter um campo rpa valor, nora fiscal, dataVenc, etc.

Gostaria de saber como posso criar uma tabela/consulta (não sei) que irá por exemplo me mostrar assim,

| Nome | NF | Valor | DataVencimento | Situação |

| Lucas | 1001 | 50.50 | 17/10/2011 | Pago |

| Lucas | 1002 | 62.35 | 17/11/2011 | Não Pago |

Porém eu não sei como seria a criação dessas duas tabelas, e nem uma consulta/insert/delete/update de ambas,

Se eu excluísse um aluno, necessariamente teria que excluir a NF da outra tabela correto?

Tentei criar algo que funcionasse, mas nem sei direito o que eu fiz,

Tabela Alunos:

CREATE TABLE Alunos(
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
id_nf INT NOT NULL,
FOREIGN KEY (id_nf) REFERENCES contaRecebe(id),
nomeA VARCHAR(60) NOT NULL,
dtNasc DATE NOT NULL,
cep VARCHAR(15),
endereco VARCHAR(100) NOT NULL,
numero INT NOT NULL,
complemento VARCHAR(30) ,
cidade VARCHAR(50) NOT NULL,
bairro VARCHAR(50) NOT NULL,
telefoneA VARCHAR(15),
celularA VARCHAR(15),
rgA VARCHAR(15),
cpfA VARCHAR(15),
esporte VARCHAR(20) NOT NULL,
nomeR VARCHAR(60),
telefoneR VARCHAR(15),
celularR VARCHAR(15),
rgR VARCHAR(15),
cpfR VARCHAR(15)

);

Tabela: contaRecebe

CREATE TABLE contaRecebe(
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id),
id_Aluno INT NOT NULL,
FOREIGN KEY (id_Aluno) REFERENCES Alunos(id),
nf INT NOT NULL,
dtVenc DATE NOT NULL,
valor VARCHAR(8) NOT NULL

);

Alguém poderia me ajudar?

Muito obrigado,

Qualquer resposta ou crítica será bem vinda,

Lucas.

Link para o comentário
Compartilhar em outros sites

O cascade funciona da seguinte maneira....

Vamos supor que você tenha uma tabela de pessoas, que tenha os seguintes campos, id e nome, e outra tabela com nota fiscal por pessoa, com por exemplo, id, numero_nota, id_pessoa

Fazendo do modo correto, você relaciona as tabelas de modo que id_pessoa da tabela nota_fiscal, seja uma chave estrangeira da tabela de pessoas, que no caso, seria o id.

Fazendo este relacionamento, quando você pede para deletar a pessoa, a função CASCADE, faz o seguinte: Deleta a chave primária, bem como todas as chaves estrangeiras pertencentes a ela, ou seja, se você der um:

DELETE FROM pessoas WHERE id=1 CASCADE;

Todas os registros que tiverem com o id_pessoa com valor 1 na tabela de nota_fiscal serão deletados também, ou seja, ele deleta em cascata, levando consigo todos os registros pertinentes a ele.

Lembrando que, uma chave primária de uma tabela, puxa uma chave estrangeira de outra, o inverso não é correto.

Abraços

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!