Ir para conteúdo

POWERED BY:

Arquivado

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

edymrex

Chave estrangeira

Recommended Posts

Estou começando meus estudos com mysql, e estou com dúvidas de como fazer minha chave estrangeira por exemplo eu crei a tabela authors.create table authors(authorID int auto_increment primary key not null, firstName varchar(40),latName varchar(40))Bem eu sei que para criar um chave estrangeira eu tenho que relacionar a tabela com a chave primaria de outra tabela no caso se eu quizercriar uma chave estrangeira para a tabela isbn seria dessa forma ??create table isbn(authorID int auto_increment primary key not null, isbn char(4)) assim que é feita a chave estrangeira..??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara não tenho certeza se entendi corretamenteCREATE TABLE aluno (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,nome CHAR(30) NOT NULL) TYPE=InnoDB;CREATE TABLE cursos (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,nome CHAR(30) NOT NULL) TYPE=InnoDB;CREATE TABLE notas (aluno_id INT NOT NULL,cursos_id INT NOT NULL,date DATE NOT NULL,nota DOUBLE NOT NULL,PRIMARY KEY(aluno_id, cursos_id, date),INDEX i2 (cursos_id),FOREIGN KEY (aluno_id) REFERENCES aluno(id) ON DELETE CASCADE,FOREIGN KEY (cursos_id) REFERENCES cursos(id) ON DELETE RESTRICT) TYPE=InnoDB;bem o que eu entendi para que haja uma relação entre as tabelas deve haver uma escecificação TYPE=InnDB nas qual é a função disso o que eu entedi serve somente para criar uma relação entre as tabelas e implementa as relações de integridade.As relações são CASCADE, RESTRICT, SET NULL e SET DEFAULT mas tem k usar essa relações para criar a chave estrangeira..??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não necessariamente, você pode criar a chave simplesmente declarando assim:

FOREIGN KEY (aluno_id) REFERENCES aluno(id)

Isso fará com que você precise ter um aluno válido na tabela notas.

 

Leia este tópico: http://forum.imasters.com.br/index.php?showtopic=100466

 

Mais:

http://pt.wikipedia.org/wiki/Modelo_relacional

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.