Integridade referencial MySQL
Olá, como faz muito tempo que eu nem dou as caras por aqui e ninguém conhece ainda esse blog (será que um dia conhecerás?), estou colocando um pequeno exemplo de integridade referencial no MySQL 5.
Lembrando que para isso ser possível deve ser usado o tipo de tabela InnoDB. As tabelas do tipo MyISAM não suportam esse recurso.
CREATE TABLE carro ( id int not null auto_increment, marca varchar(25) not null, modelo varchar(25) not null, ano_fab date not null, ano_mod date not null, primary key(id) ) engine=InnoDB; CREATE TABLE carro_acessorios ( carro_id int not null, descricao varchar(150) not null, preco decimal(10,2) not null, key(carro_id), foreign key (carro_id) references carro (id) on delete cascade ) engine=InnoDB;
Nesse exemplo temos a tabela de carros e uma tabela de acessórios que esse carro possui. Se o registro do carro for apagado, os registros de acessórios também serão.
Vamos analisar a linha responsável por isso:
- foreign key (carro_id)...: Aqui está sendo definido qual é o campo da tabela que será referenciado.
- ...references carro (id)...: Aqui está sendo definido que está se referenciando ao campo 'id' da tabela carro.
- ...on delete cascade: E por fim se o campo no qual ele está fazendo referência for apagado, ele é apagado também.
Bom por enquanto é isso, conforme for eu vou colocando mais uns negócios aí! rsrs
Para maiores informações sobre integridade referencial no MySQL acesse: http://dev.mysql.com/doc/refman/5.0/en/innodb-foreign-key-constraints.html
t+
Nenhum comentário:
Postar um comentário