26.12.2015, 21:29
Quote:
Se stats nгo й uma tabela pra formar relacionamento 1..n, entгo й melhor que vocк deixe lvl e xp dentro da tabela de contas...
Essa questгo de organizaзгo й o de menos, assim vocк ganha em desempenho. O mesmo para skills... Quanto menos joins vocк tiver que fazer para buscar informaзхes completas sobre um dado, melhor serб o desempenho do seu banco. Sobre os itens, quando trabalhamos com tabelas para relacionamentos, usamos o seguinte: Criamos tabelas para os dois dados que vгo ter um relacionamento, ou seja, uma tabela para jogador (conta) e outra tabela para item, na tabela jogador vai conter o ID e oque mais vocк quiser. E na tabela item vocк vai ter o ID do item, nome do item e oque mais vocк quiser para descrever o item. E ai vamos ter uma terceira tabela que irб dizer que esses dois se relacionam, aonde a tabela terб o ID dela de registro primary key autoincrement, e terб o id do jogador como foreign key e o id do item como foreign key. Essa й a forma mais utilizada, ai quando vocк quer pegar todos os itens de um determinado jogador, vocк vai e procura nessa tabela todos os itens que contйm o player_id x, e depois vocк procura na tabela de itens todos os nomes de itens que contenham os id que vocк pegou na tabela de relacionamento. |
No caso eu poderia utilizar a primary key da tabela contas na tabela itens jб que sempre serб diferente de um jogador para outro, correto ?
Procurei no fуrum e encontrei alguns tutoriais: https://sampforum.blast.hk/showthread.php?tid=552693, http://forum.sa-mp.com/showthread.ph...ht=foreign+key
Tentei fazer conforme o tutorial do Vince, mas nгo sei se estou fazendo certo, pois a tabela nгo foi criada e no tutorial ele nгo explicou muito detalhadamente em questгo do cуdigo.
Estou tentando fazer dessa forma :
(...) - continuaзгo das colunas
PHP код:
"CREATE TABLE IF NOT EXISTS `contas` (
`idconta` INT NOT NULL AUTO_INCREMENT,
(...),
PRIMARY KEY (`idconta`) )"
"CREATE TABLE IF NOT EXISTS `itens` (
`id` INT NOT NULL AUTO_INCREMENT,
`contas_idconta` INT NOT NULL,
`iditem` INT NOT NULL,
PRIMARY KEY (`id`),
ADD FOREIGN KEY (`contas_idconta`)
REFERENCES `contas` (`idconta`)
ON UPDATE CASCADE
ON DELETE CASCADE )"