<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Ryan Marinho</title>
    <description>The latest articles on Forem by Ryan Marinho (@ryanmarinho).</description>
    <link>https://forem.com/ryanmarinho</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F657253%2Fe95b7c0e-9e0a-4eb5-a8d5-ace028f582d3.jpg</url>
      <title>Forem: Ryan Marinho</title>
      <link>https://forem.com/ryanmarinho</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/ryanmarinho"/>
    <language>en</language>
    <item>
      <title>Tipos Primitivos em Python</title>
      <dc:creator>Ryan Marinho</dc:creator>
      <pubDate>Sat, 01 Nov 2025 16:10:11 +0000</pubDate>
      <link>https://forem.com/ryanmarinho/tipos-primitivos-em-python-3h5f</link>
      <guid>https://forem.com/ryanmarinho/tipos-primitivos-em-python-3h5f</guid>
      <description>&lt;p&gt;Há pouco tempo comecei a estudar Python porque preciso usar as bibliotecas para trabalhar com Dados e com isso estou aprendendo aos poucos a programar, hoje estarei colocando o que aprendi sobre os tipos primitivos da linguagem para vocês, espero que possa ajudar algum outro iniciante.&lt;/p&gt;

&lt;p&gt;Mas o que seria um dado primitivo?&lt;br&gt;
Tipos primitivos são dados básicos que podem ser manipulados em uma variável, trarei alguns exemplos.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;altura = 1.81
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Na string acima tem a minha altura, que é uma variável nomeada como altura contendo um valor, o dado atribuído é 1.81, sendo um valor com 2 casas decimais. O tipo deste dado é o tipo real ou float em Python e em diversas outras linguagens.&lt;/p&gt;

&lt;p&gt;Outro exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nome = ‘ryan’
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Vimos agora que o valor acima não é um número float, agora é um dado tipo string, é um tipo que recebe entradas alfanuméricas, podendo ser usados letras, números e símbolos.&lt;br&gt;
Diante disto, vamos ao que importa: os tipos primitivos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Int = inteiro, o nome já diz, podendo ser usados dos negativos aos positivos, exemplo = (-2,-1,0,1,2,3,4)&lt;/li&gt;
&lt;li&gt;float = ponto flutuante, números com casa decimais, exemplo = (altura = 1.81)&lt;/li&gt;
&lt;li&gt;bool = booleano, retorna true (verdadeiro) ou false (falso)&lt;/li&gt;
&lt;li&gt;string =  são coleções de letras, palavras ou outros caracteres. Em Python, você pode criar strings delimitando uma sequência de caracteres com um par de aspas simples ou duplas. Exemplo: ‘o flamengo ganhou 3 libertadores’&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Para conferirmos, podemos codar um pouco:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`nome = input('Qual o seu nome? ') 
idade = input('Qual a sua idade? ')
altura = input('Qual a sua altura? ')
humano = input("Você é humano? ")

print(nome, idade, altura, humano)
print('nome', nome.isalpha())
print('idade', idade.isnumeric())
# Verificar se a altura é um número float
try:
    float(altura)
    print('altura:', True)
except ValueError:
    print('altura:', False)
# Verificar se a resposta é booleana
print('humano:', humano.lower() in ['true', 'false'])
`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Observação: coloquei o input para caso você queira copiar e testar com seus dados em seu console.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;O código acima retornou o seguinte:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Qual o seu nome? Ryan
Qual a sua idade? 2
Qual a sua altura? 1.81
Você é humano? sim
Ryan 2 1.81 sim
nome True
idade True
altura: True
humano: True
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para reproduzir no navegador, utilize o Programiz em Python.&lt;/p&gt;

</description>
      <category>python</category>
    </item>
    <item>
      <title>Entenda os JOINS no SQL e como aplicar certo tipo para cada cenário</title>
      <dc:creator>Ryan Marinho</dc:creator>
      <pubDate>Mon, 20 Oct 2025 18:32:58 +0000</pubDate>
      <link>https://forem.com/ryanmarinho/entenda-os-joins-no-sql-e-como-aplicar-certo-tipo-para-cada-cenario-586c</link>
      <guid>https://forem.com/ryanmarinho/entenda-os-joins-no-sql-e-como-aplicar-certo-tipo-para-cada-cenario-586c</guid>
      <description>&lt;p&gt;No mundo dos dados, trabalhar com várias tabelas é rotina. Mas como “ligar” essas tabelas de forma correta? É aí que entram os JOINs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O que é um JOIN?&lt;/strong&gt;&lt;br&gt;
Um JOIN combina dados de duas ou mais tabelas com base em uma coluna comum — normalmente uma chave primária em uma tabela e uma chave estrangeira em outra. Isso permite consultas que reúnem informações de forma eficiente.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Principais tipos de JOINs e suas diferenças&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;INNER JOIN:&lt;/strong&gt; retorna apenas os registros que têm correspondência em ambas as tabelas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LEFT JOIN:&lt;/strong&gt; garante todos os registros da tabela à esquerda + os correspondentes da tabela à direita (ou NULL se não houver).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RIGHT JOIN:&lt;/strong&gt; garante todos os registros da tabela à direita + os correspondentes da tabela à esquerda (ou NULL se não houver).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FULL JOIN:&lt;/strong&gt; inclui todos os registros de ambas as tabelas, com correspondência ou não, e preenche com NULL onde não houver.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CROSS JOIN:&lt;/strong&gt; combina cada linha da primeira tabela com cada linha da segunda — uso raro, mas importante entender.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Por que entender isso importa?&lt;/strong&gt;&lt;br&gt;
Escolher o tipo de JOIN correto evita resultados incorretos ou dados faltantes. Além disso, melhora desempenho e clareza das queries.&lt;/p&gt;

&lt;p&gt;Pronto para aplicar no próximo relatório ou modelo de dados?&lt;/p&gt;

&lt;h1&gt;
  
  
  SQL #DataAnalytics #Database #SQLJoins #Tech #DesenvolvimentoDeDados #BusinessIntelligence #ConsultaSQL #Dados
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkq9fcvte8vq3fyh89cfh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkq9fcvte8vq3fyh89cfh.png" alt=" " width="800" height="1200"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>database</category>
      <category>sql</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Fundamentos dos Bancos de Dados: conceitos essenciais para iniciantes</title>
      <dc:creator>Ryan Marinho</dc:creator>
      <pubDate>Mon, 21 Jul 2025 01:36:22 +0000</pubDate>
      <link>https://forem.com/ryanmarinho/fundamentos-dos-bancos-de-dados-conceitos-essenciais-para-iniciantes-1p11</link>
      <guid>https://forem.com/ryanmarinho/fundamentos-dos-bancos-de-dados-conceitos-essenciais-para-iniciantes-1p11</guid>
      <description>&lt;p&gt;Os bancos de dados são a espinha dorsal de qualquer sistema que manipula informações. Eles permitem organizar, armazenar e recuperar dados de forma eficiente e segura, atendendo às mais diversas necessidades de empresas, aplicações e usuários.&lt;/p&gt;

&lt;p&gt;Existem vários modelos de bancos de dados, cada um com características próprias. O modelo &lt;strong&gt;hierárquico&lt;/strong&gt; organiza os dados como uma árvore, com registros dispostos em níveis. O modelo &lt;strong&gt;em rede&lt;/strong&gt; liga registros de forma flexível, permitindo múltiplas conexões. Já o &lt;strong&gt;relacional&lt;/strong&gt;, o mais comum, representa os dados em tabelas compostas por linhas e colunas, sim, parecido com as tabelas do Excel. Por fim, o modelo &lt;strong&gt;orientado a objetos&lt;/strong&gt; combina dados com comportamentos, armazenando-os como objetos completos.&lt;/p&gt;

&lt;p&gt;Para administrar essas estruturas, utilizamos os &lt;strong&gt;Sistemas Gerenciadores de Bancos de Dados (SGBDs)&lt;/strong&gt;, softwares responsáveis por gerenciar e proteger os dados. Alguns exemplos populares são: Microsoft Access, LibreOffice Base, Microsoft SQL Server, MySQL e dBase.&lt;/p&gt;

&lt;p&gt;A principal linguagem utilizada para interagir com bancos relacionais é a &lt;strong&gt;SQL (Structured Query Language)&lt;/strong&gt;, que permite criar tabelas, inserir, alterar, excluir e consultar dados com precisão.&lt;/p&gt;

&lt;p&gt;No coração de um banco de dados relacional estão as &lt;strong&gt;chaves&lt;/strong&gt;, que garantem a integridade e a relação entre tabelas. A &lt;strong&gt;chave primária (Primary Key)&lt;/strong&gt; identifica de forma única cada registro. A &lt;strong&gt;chave estrangeira (Foreign key)&lt;/strong&gt; conecta uma tabela à outra apontando para a chave primária correspondente. Já a &lt;strong&gt;chave composta&lt;/strong&gt; combina mais de um campo para formar uma identificação única, enquanto a &lt;strong&gt;chave secundária&lt;/strong&gt; facilita buscas e filtragens específicas.&lt;/p&gt;

&lt;p&gt;Os relacionamentos entre tabelas também são fundamentais:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Um para um (1:1)&lt;/strong&gt;: um registro em uma tabela corresponde a um único registro em outra.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Um para muitos (1:n)&lt;/strong&gt;: um registro em uma tabela está associado a vários registros em outra.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Muitos para muitos (m:n)&lt;/strong&gt;: registros de ambas as tabelas se relacionam com vários registros da outra, geralmente por meio de uma tabela intermediária.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Compreender esses conceitos é o primeiro passo para trabalhar com bancos de dados de maneira eficiente e profissional. Dominar essas bases é fundamental para projetar sistemas que garantam consistência, desempenho e escalabilidade para os dados.&lt;/p&gt;

</description>
      <category>sql</category>
      <category>database</category>
    </item>
  </channel>
</rss>
