SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 19/10/2019, 04:46 AM   #1
CALENZ021
Little Clucker
 
Join Date: Jun 2018
Location: Brasil, Rj
Posts: 45
Reputation: 1
Question Junção MySQL

1- Imagem: Todas as chaves estrangeiras(FK) estão em contas.


2- Imagem: As chaves estrangeiras(FK) estão em cada tabela, menos em contas.


Dei uma pesquisada e fiquei na duvida de qual é o certo.
__________________
CALENZ021 is offline   Reply With Quote
Old 19/10/2019, 01:24 PM   #2
bruxo00
High-roller
 
bruxo00's Avatar
 
Join Date: Oct 2012
Location: Portugal
Posts: 1,118
Reputation: 152
Default Re: Junção MySQL

Os nomes das chaves primárias devem ser singulares, é boa prática, ou seja, conta_id, bandido_id, etc. Também me parece que a base de dados está demasiado normalizada, isto pode ter um impacto na performance sobretudo se for preciso fazer muitos JOINS. Também me parece que está mal modelada. Uma conta pode ter vários bandidos? O que é um bandido? Seria a sua profissão?
__________________
RELEASES

[INC] SAMPMailJS
[FS] doxIT!
[GM] Paradise City Roleplay
[TOOL] bAnticheat
[TOOL] Logs Checker
[TUTORIAL] Email confirmation system

www.mp3it.cc · www.diogomartino.com
bruxo00 is offline   Reply With Quote
Old 19/10/2019, 01:43 PM   #3
CALENZ021
Little Clucker
 
Join Date: Jun 2018
Location: Brasil, Rj
Posts: 45
Reputation: 1
Default Re: Junção MySQL

Quote:
Originally Posted by bruxo00 View Post
Os nomes das chaves primárias devem ser singulares, é boa prática, ou seja, conta_id, bandido_id, etc. Também me parece que a base de dados está demasiado normalizada, isto pode ter um impacto na performance sobretudo se for preciso fazer muitos JOINS. Também me parece que está mal modelada. Uma conta pode ter vários bandidos? O que é um bandido? Seria a sua profissão?
Entendi a parte da chave primaria,OK. Banco de dados demasiado? como assim. Não é bandidos é Banidos(Ex: O(A) Jogadora %s foi banido(a) por (Motivo: Cheater). E seria ao contrario né? seria igual a 1-imagem n-1 )

Duvida: Eu não estou conseguindo mandar pro phpMyAdmin o que eu salvo no WorkBench, pode ser que o meu XAMPP nem o Wampserver suporte o InnoDB, se for isso me manda o link certo.
__________________
CALENZ021 is offline   Reply With Quote
Old 19/10/2019, 02:26 PM   #4
bruxo00
High-roller
 
bruxo00's Avatar
 
Join Date: Oct 2012
Location: Portugal
Posts: 1,118
Reputation: 152
Default Re: Junção MySQL

Quote:
Originally Posted by CALENZ021 View Post
Entendi a parte da chave primaria,OK. Banco de dados demasiado? como assim. Não é bandidos é Banidos(Ex: O(A) Jogadora %s foi banido(a) por (Motivo: Cheater). E seria ao contrario né? seria igual a 1-imagem n-1 )

Duvida: Eu não estou conseguindo mandar pro phpMyAdmin o que eu salvo no WorkBench, pode ser que o meu XAMPP nem o Wampserver suporte o InnoDB, se for isso me manda o link certo.
Não sei porquê que li bandido em vez de banido... A normalização de uma base de dados serve para evitar redundância, dados repetidos, etc. Na prática é usar várias tabelas em vez de usar apenas uma. Um exemplo de que a sua base de dados está mal modelada é que em algumas tabelas o campo "nome" e o campo "responsável" são varchars (provavelmente para guardar o nome dos jogadores?). Está errado, deveria ter uma chave externa que apontasse para a "conta_id" que já vai conter todas as informações sobre o jogador banido e sobre o administrador. Eu digo que está demasiado normalizada porque se fosse eu a fazer, a tabela "status" não existia, ficava junta com a tabela "contas".

No workbench está a exportar um ficheiro .sql?
__________________
RELEASES

[INC] SAMPMailJS
[FS] doxIT!
[GM] Paradise City Roleplay
[TOOL] bAnticheat
[TOOL] Logs Checker
[TUTORIAL] Email confirmation system

www.mp3it.cc · www.diogomartino.com
bruxo00 is offline   Reply With Quote
Old 19/10/2019, 03:06 PM   #5
CALENZ021
Little Clucker
 
Join Date: Jun 2018
Location: Brasil, Rj
Posts: 45
Reputation: 1
Default Re: Junção MySQL

Quote:
Originally Posted by bruxo00 View Post
Não sei porquê que li bandido em vez de banido... A normalização de uma base de dados serve para evitar redundância, dados repetidos, etc. Na prática é usar várias tabelas em vez de usar apenas uma. Um exemplo de que a sua base de dados está mal modelada é que em algumas tabelas o campo "nome" e o campo "responsável" são varchars (provavelmente para guardar o nome dos jogadores?). Está errado, deveria ter uma chave externa que apontasse para a "conta_id" que já vai conter todas as informações sobre o jogador banido e sobre o administrador. Eu digo que está demasiado normalizada porque se fosse eu a fazer, a tabela "status" não existia, ficava junta com a tabela "contas".

No workbench está a exportar um ficheiro .sql?
Tenho exportado sim. Você algum meio de contato pra a gente se falar melhor? Whatsapp, Discord, TeamSpeak, manda no pv.
__________________
CALENZ021 is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Tutorial] Junção entre tabelas MySQL MBJ Lançamentos/Releases 17 27/05/2018 09:17 PM
MySQL Plugin r39-2 Error: Can't connect to local MySQL server through socket Emre__ Scripting Help 10 30/07/2014 09:26 AM
[Ajuda] Junção de filterscripts HeyHoLetsGo Português/Portuguese 4 07/12/2013 01:49 PM
BlueG MySQL plugin - Failed (plugins/mysql.so: undefined symbol: _Z13stringvprintfPKcPc) linuxthefish Plugin Development 10 13/07/2013 11:56 AM
[Tool/Web/Other] MySQL DB Manager - Easily manage your MySQL databases with this remote application fiki574 Tools and Files 13 22/07/2012 10:41 AM


All times are GMT. The time now is 12:16 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.