Login

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
17 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 17 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Brasília
Estamos no Twitter
Nossa Comunidade
Nosso Grupo
Últimos assuntos
» Removi item da classe - tem como recuperar
Ontem à(s) 17:16 por anderson_rodrigo

» Criar Tabela dentro da Pasta
28/5/2012, 16:51 por renatojunior2009

» Projeto Chat sem Winsock
28/5/2012, 13:30 por Sub-Zero

» relatorio na vertical
25/5/2012, 17:22 por FERNANDOMATRELLA

» Erro no Projeto Chat
24/5/2012, 11:38 por Sub-Zero

» Modificar TitleBar e Icone do Executavel.
24/5/2012, 11:24 por Sub-Zero

» Criar atalho, SYS(2020) e Desktop
23/5/2012, 23:07 por Sub-Zero

» Karaoke feito em FoxPro 2.6
23/5/2012, 18:51 por Sub-Zero

» Como separar caminho do diretório?
23/5/2012, 18:49 por Sub-Zero

» Utilizando PHPMailer
23/5/2012, 09:45 por paulomelo

» Programador em Visual Foxpro
23/5/2012, 09:03 por mauro victoria

» Link PHP (Dúvida)
21/5/2012, 08:25 por BrunoMesquita

» Fundo do PROJETO Transparente??
20/5/2012, 19:48 por thiag0ms

» Minimizar , Maximizar e Restaurar
18/5/2012, 16:28 por FERNANDOMATRELLA

» Pivot Table no sql server
15/5/2012, 12:35 por edspicer

» Scroll EditBox Automatico
14/5/2012, 10:31 por Julio

» Select Nexval do FoxPro no OracleXE
10/5/2012, 00:16 por Sub-Zero

» Colocar gif na caixa do MESSAGEBOX ()
9/5/2012, 14:39 por Linghston

» Comparar Versões do programa.exe
8/5/2012, 16:10 por Linghston

» Menu lateral
7/5/2012, 02:36 por lardecristo

Removi item da classe - tem como recuperar

29/5/2012, 15:33 por anderson_rodrigo

Pessoal,
Removi sem querer um item de uma classe. Existe alguma forma de pegar novamente?


Comentários: 2

Criar Tabela dentro da Pasta

25/5/2012, 13:36 por renatojunior2009

Boa tarde Galera,

Seguinte estou desenvolvendo um projeto e criando uma tabela em tempo de …

Comentários: 7

Projeto Chat sem Winsock

28/5/2012, 10:34 por renatojunior2009

Galera Bom dia ,

Seguinte depois de muito lutar com o objeto Winsock mudei a forma de criar meu …

Comentários: 1

relatorio na vertical

25/5/2012, 17:22 por FERNANDOMATRELLA

Boa tarde estou elaborando um relatorio na vertical para impressao de etiquetas de codigo de barras …

Comentários: 0

Erro no Projeto Chat

2/5/2012, 08:37 por renatojunior2009

Bom dia Pessoal,

Estou desenvolvendo um chat , só que estou com dois erros o qual eu não sei …

Comentários: 7

Estatísticas
Temos 4048 usuários registrados
O último usuário registrado atende pelo nome de fabiomacarrao

Os nossos membros postaram um total de 14447 mensagens em 2051 assuntos

Integridade referencial no mysql 5 5 1

Integridade referencial no mysql

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Tutorial Integridade referencial no mysql

Mensagem por m@r<3|o em 27/8/2010, 13:16

Integridade referencial no mysql


Enviado por: Thales RB. .
Categorias: Desenvolvimento, MySQL

Integridade referencial é uma tecnica usada para que as tabelas sejam ligadas ou seja se um campo ou uma tabela não pode ser deletada sem que outra seja deletada antes, ou que ao deletar, algum item ele delete de outra tabela também.
Para trabalharmos com integridade referencial, isto é, para adicionarmos restrições de integridade (constraints) às chaves estrangeiras, é necessário criar as tabelas como InnoDB. Este recurso está disponível somente para este tipo de tabela, embora seja possível definir chaves estrangeiras e restrições outros tipos de tabelas por razões de compatibilidade. O detalhe é que neste caso, estas definições terão o efeito apenas de documentação, ou seja, o MySQL não respeitará os constraints definidos.

O InnoDB implementa as restrições de integridade CASCADE, RESTRICT, SET NULL e SET DEFAULT.No primeiro caso, ao se remover um registro da tabela referenciada pela chave estrangeira os registros relacionados àquele removido serão eliminados em todas as tabelas relacionadas. O RESTRICT não permite a remoção de registros que possuam relacionamentos em outras tabelas. Os dois últimos atribuem os valores DEFAULT ou NULL para as chaves estrangeiras cujos registros relacionados foram excluídos. O exemplo abaixo ilustra algumas tabelas que utilizam regras de integridade:

Código:
CREATE TABLE aluno (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
nome CHAR(30) NOT NULL
) ENGINE=InnoDB;

CREATE TABLE cursos (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
nome CHAR(30) NOT NULL
) ENGINE=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
) ENGINE=InnoDB;


No exemplo existem 3 tabelas: aluno, que armazena os alunos de uma faculdade; a tabela cursos que contém as disciplinas ministradas e a tabela notas com os pontos dos alunos em todos os cursos freqüentados por eles. No modelo é possível que um curso possua várias avaliações em datas distintas. Neste caso, foram criadas as tabelas como tipo InnoDB (TYPE=InnoDB), para que as regras de integridade sejam respeitadas. As regras definidas foram: um CASCADE para aluno, isto é, se for removido um registro da tabela de aluno, todas as suas notas serão removidas automaticamente. No caso da tabela de cursos, não será possível remover um curso que possua notas cadastradas para ele. Além da restrição ON DELETE, o InnoDB permite também o ON UPDATE, que aplica as restrições no caso de atualizações dos campos ralacionados entre as tabelas.

É importante ressaltar que o FOREIGN KEY não cria automaticamente um índice na(s) coluna(s) referenciada(s). Assim, é necessário criar explicitamente um índice nas colunas que serão chaves estrangeiras. No exemplo, a coluna aluno_id já é um índice, visto que esta é o primeiro campo da chave primária da tabela. Como cursos_id não é o primeiro campo de nenhuma chave, foi adicionado o índice i2 para esta chave estrangeira. Caso não seja criado o índice nas chaves estrangeiras, o MySQL exibirá o erro “ERROR 1005: Can’t create table ‘./test/notas.frm’ (errno: 150)”, onde o erro significa que há uma definição incorreta das chaves estrangeiras.

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Tutorial Re: Integridade referencial no mysql

Mensagem por Marcos Guedes em 27/8/2010, 15:28

Reputado, Marcelo!

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Tutorial Re: Integridade referencial no mysql

Mensagem por m@r<3|o em 27/8/2010, 15:41

hehe, Super Man , ...
inteiressantissimos . mto perto da realidade esses exemplos

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


Permissão deste fórum:
Você não pode responder aos tópicos neste fórum