SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese > Lançamentos/Releases

Reply
 
Thread Tools Display Modes
Old 09/02/2018, 02:05 PM   #1
MBJ
Huge Clucker
 
Join Date: Jul 2016
Posts: 205
Reputation: 69
Default Modelagem conceitual de dados

Introdução

Modelagem de dados é parte essencial quando querermos criar um Bando de Dados de qualidade, com ela conseguimos definir a maneira como o software se comportará e funcionará. Na modelagem de dados temos algumas siglas que são muito usadas, é muito importante saber o que significa cada uma delas para ter um bom entendimento sobre banco de dados.

Siglas Importantes
  1. SGBD
    SGBD significa Sistema Gerenciador de Banco de Dados e nada mais é do que um conjunto de softwares que fazem o gerenciamento do Banco de Dados, o MySQL é um exemplo de SGBD(sim, MySQL não é linguagem de banco de dados), ele é responsável por fazer toda manipulação de dados(famoso CRUD)
  2. DER
    DER significa Diagrama de Entidade e Relacionamento, são "desenhos" que mostram toda a modelagem dos dados, suas entidades, relacionamentos, chaves primarias e estrangeiras...
    Um exemplo de DER, usarei o banco de dados do meu FS postado aqui no fórum, link na assinatura:



    Vamos entender a imagem acima:
    Cada retângulo mostra uma tabela do banco de dados, dentro de cada retângulo temos duas seções, a parte de cima em negrito é o nome da tabela, em baixo ficam os atributos da tabela, o atributo que possui uma chave do lado é o identificador da tabela(chave primaria), o que possui uma fecha do lado direito são chaves estrangeiras, atributos que referenciam outra tabela. As flecha ligando as tabelas são os relacionamentos que elas possuem, no caso a tabela transactions e current possuem duas flechas pois tem duas chaves estrangeiras, as demais só possuem uma.
  3. Entidade
    Entidades nada mais são do que as tabelas do banco, os retângulos da imagem acima são entidades, ou seja, tabelas

Tipos de Relacionamento e Cardinaliade
Para entendermos os tipos de relacionamento precisamos saber primeiro o que é cardinalidade, pois ela é quem diz qual tipo de relacionamento possuimos

Sempre que formos ler uma cardinalidade, lemos o numero de fora em uma tabela com o de fora da outra, veja:


Nesse modelo, os números que estão no lado da tabela são a cardinalidade minima, eles podem ser 3:
  • 0
    Significa que não é obrigatório uma relação, na imagem acima, 1 Player pode ou não ter uma Conta, já que a cardinalidade mínima em Conta é 0
  • 1
    Significa que é obrigado a ter uma relação, na imagem acima, 1 Conta é obrigada a pertencer a um Player, pois a cardinalidade minima em Player é 1
  • N
    Significa que podemos ter 2 ou mais relações

    Nesse exemplo vimos que 1 conta pertence obrigatoriamente a 1 Player pois a cardinalidade minima em Player é 1, mas ela pode pertencer a 2 ou mais Players pois cardinalidade máxima é N

    OBS: Quando utilizamos o N como cardinalidade, não importa a quantidade que for, pode ser apenas 2 registros ou 200000, será sempre N

Agora veremos os tipos de relacionamento:

Quando lemos o tipo de cardinalidade, levamos em consideração somente a cardinalidade máxima

Possuímos três tipos de relacionamentos em banco de dados, são eles:
  1. 1:1
    Este é o mais fácil de todos, em um relacionamento 1:1 não importa em qual tabela ficará a chave estrangeira, o resultado sera o mesmo, veja um exemplo:

    Esta imagem nós lemos que: 1 player possui uma ou nenhuma conta, e 1 conta é "possuída" obrigatória mente por 1 e somente 1 player
  2. 1:N
    Em um relacionamento 1:N devemos prestar um pouco mais de atenção, pois nesse tipo de relacionamento a chave estrangeira sempre irá ficar na tabela que possui a cardinalidade máxima como N, pois irá repetir várias vezes o mesmo valor, veja:

    Neste exemplo lemos que uma Conta é "possuída" obrigatoriamente por 1 Player, mas pode ter mais de 1 Player com a mesma conta, então, nesse caso a chave primaria ficará na tabela Conta, pois o ID do player irá repetir varias vezes dentro da tabela Conta
  3. N:N
    Dos três este é o que as pessoas mais tem dificuldade em entender, mas ele é bem simples, quando temos um relacionamento N:N, temos o que é chamado de Entidade Fraca ou Entidade Associativa, que nada mais é do que uma tabela nova que irá ter duas chaves primarias que serão chaves estrangeiras ao mesmo tempo




__________________


MBJ is offline   Reply With Quote
Old 09/02/2018, 02:10 PM   #2
GuiKommander
Gangsta
 
Join Date: Dec 2016
Posts: 502
Reputation: 11
Default Re: Modelagem conceitual de dados

Mt bom. Parabéns pelo tutorial!
GuiKommander is offline   Reply With Quote
Old 09/02/2018, 05:59 PM   #3
NelsonC
Big Clucker
 
NelsonC's Avatar
 
Join Date: Oct 2017
Location: Germany
Posts: 170
Reputation: 9
Default Re: Modelagem conceitual de dados

Parabéns.
NelsonC is offline   Reply With Quote
Old 09/02/2018, 06:03 PM   #4
Ermanhaut
Huge Clucker
 
Ermanhaut's Avatar
 
Join Date: Apr 2016
Location: Curitiba, PR
Posts: 403
Reputation: 20
Default Re: Modelagem conceitual de dados

Bom tutorial
__________________
_

Um dia de cada vez
Ermanhaut is offline   Reply With Quote
Old 09/02/2018, 06:06 PM   #5
PT
Godfather
 
PT's Avatar
 
Join Date: Nov 2012
Location: Portugal
Posts: 7,195
Reputation: 775
Default Re: Modelagem conceitual de dados

E bom sempre ver este tipo de coisa pelo forum

So tem uma coisa a galera sempre fala do MySQL mas tbm podem falar que o samp tem isto nativo com o SQLite
__________________
"Quem caiu e se levantou honrado era e honrado ficou..."


CVU vai voltar e.e


http://steamcommunity.com/id/pt_player/
PT is offline   Reply With Quote
Old 09/02/2018, 06:18 PM   #6
MBJ
Huge Clucker
 
Join Date: Jul 2016
Posts: 205
Reputation: 69
Default Re: Modelagem conceitual de dados

Quote:
Originally Posted by PT View Post
E bom sempre ver este tipo de coisa pelo forum

So tem uma coisa a galera sempre fala do MySQL mas tbm podem falar que o samp tem isto nativo com o SQLite
Sim, mas eu particularmente prefiro o MySQL, com ele tenho a liberdade de integração de plataformas, como um UCP por exemplo, enquanto o SQLite não deixa fazer
__________________


MBJ is offline   Reply With Quote
Old 09/02/2018, 10:18 PM   #7
DelK
Huge Clucker
 
DelK's Avatar
 
Join Date: Apr 2017
Location: Brazil
Posts: 347
Reputation: 30
Default Re: Modelagem conceitual de dados

Sei lá nem li mais do rep(bloqueado) msm assim e ainda um parabéns (falso) kkkkkkkk tmj.
__________________
  • Perfect City - RPG
DelK is offline   Reply With Quote
Old 10/02/2018, 04:35 AM   #8
IlanZ
High-roller
 
IlanZ's Avatar
 
Join Date: Jul 2016
Location: Brasil
Posts: 1,383
Reputation: 75
Default Re: Modelagem conceitual de dados

Ótimo tutorial, explicou muito bem.
IlanZ is offline   Reply With Quote
Old 10/02/2018, 05:26 PM   #9
MBJ
Huge Clucker
 
Join Date: Jul 2016
Posts: 205
Reputation: 69
Default Re: Modelagem conceitual de dados

Quote:
Originally Posted by IlanZ View Post
Ótimo tutorial, explicou muito bem.
Obrigado
__________________


MBJ is offline   Reply With Quote
Old 10/02/2018, 06:39 PM   #10
n0minal
High-roller
 
n0minal's Avatar
 
Join Date: Mar 2013
Location: Rio de Janeiro
Posts: 4,154
Reputation: 723
Default Re: Modelagem conceitual de dados

Cara, depois de um bom tempo longe do fórum eu tô vendo que a galera daqui realmente evoluiu bastante, vejo as pessoas hoje em dia criando tutoriais sobre MySQL, Assembly, até tutoriais bons como esse que ajudam e muito o desenvolvedor na hora de planejar o servidor, parabéns MBJ, espero que você e outros membros bons como Jelly e outros continuem sempre trazendo conteúdo de qualidade, estou pensando em trazer alguns tutoriais sobre Laravel também pro pessoal que tem interesse em criar UCP.

+9 reps.
__________________
n0minal 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
[Pedido] Dados do ban Pedro1812 Português/Portuguese 6 03/04/2017 03:04 PM
[Pedido] Ler dados Duun Português/Portuguese 6 15/08/2014 04:10 AM
[Off] Modelagem 3D , Programação , Criação de jogos darkxdll Português/Portuguese 26 14/01/2014 06:54 PM
[Off] Modelagem 3D Cidiei Português/Portuguese 16 21/01/2013 12:07 AM
[Off] Dados flutuantes - Integração total com banco de dados steki. Português/Portuguese 8 01/11/2012 12:31 AM


All times are GMT. The time now is 02:18 PM.


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