Oi pessoal tudo bem sou o thgo Marto e hoje a gente vai falar um pouquinho sobre tipos de dados em banco de dados então quando a gente tá modelando bancos de dados pensando nas tabelas pensando nos relacionamentos um passo que a gente tem que dar atrás é conhecer os tipos de dados que a gente pode armazenar isso é muito importante porque evita que a gente salve dados a mais ocupe espaço desnecessário e faça armazenamento inadequado das informações né E também tenha um banco bem estruturado Então bora lá que a gente vai falar sobre isso agora
bom então vamos lá pessoal eh no post Gres SQL a gente tem mais de 20 tipos de dados principais mas a gente vai se aprofundar em quatro que são os principais são mais básicos né E são os mais usados tá eh o primeiro tipo que a gente tem são os tipos numéricos tá esses tipos numéricos aí estão subdivididos em dois tipos os inteiros né que vai permitir que a gente grave números que não tem fração né e os números reais que aí a gente entra nas frações nas divisões e assim por diante a a gente
também pode armazenar Campos textuais Então a gente vai eh conseguir armazenar nome de pessoa e-mail e assim por diante né Campos de data né que vão dar pra gente um momento no tempo em que algo aconteceu um dia um minuto um instante em que aconteceu uma transação bancária por exemplo né e o último tipo que a gente tem é o tipo boleano né que ele armazena se uma informação é verdade ou mentira né e o que é importante a gente saber sobre esses tipos de dados é quais são as diferenças entre eles e quandoo eles
ocupam de espaço no nosso computador ou no nossoo servidor quando esse banco tiver em produção num servidor na nuvem onde quer que seja tá pra gente se aprofundar nessas informações O que que a gente vai fazer a gente vai ler a documentação do banco de dados que a gente tá usando no caso dessa aula o post grz certo então vamos vir aqui ó a gente tá aqui no site do post grz E aí tem aqui a informação de documentação certo eh eu estou usando postgress 14 pros exemplos né então eu vou abrir aqui a versão
14 E aí tem um item aqui que é o data types que é exatamente o que a gente tá falando hoje né abrindo aqui essa aba de data types ó ele traz aqui os tipos então como eu falei tem o numérico tem os tipos de texto né dados binários dados booleanos dados de data tem alguns outros tipos tipo monetário enumerados mas nesses a gente não vai se aprofundar muito e o que é interessante a gente ver e aprender né que é o objetivo desse vídeo é a gente saber as diferenças entre eles então por exemplo
quando eu abro aqui os tipos numéricos né Eh a gente tem aqui uma tabelinha que diz quanto cada um deles ocupa então para eu colocar lá um dado que seja do tipo SM int né o meu banco vai usar 2is bytes né bytes a medida de peso normal do computador e o que que isso gera como consequência isso quer dizer que eu só consigo armazenar números que estão entre O 32.768 negativo e o 32.767 então quando você for projetar uma coluna você for pensar em quantos eh qual tipo de dado você vai usar para essa
coluna é importante você pensar a faixa de valores que você vai est usando né a mesma coisa aqui com o integer ó ele ocupa o dobro do espaço né mas a faixa de valores é muito maior né a mesma coisa aqui com real né que é o tipo de número real mais simples e o Double Precision né Ele diz aqui o tamanho da precisão E aí o peso varia Então você precisa armazenar o tanto que seja importante né o tanto que seja suficiente pro sistema que você tá projetando né O importante é você considerar o
contexto onde você vai usar esse banco eh mas também garantindo que ele consiga representar o que ele vai eh ser usado para representar tá a gente também vai dar uma passadinha rapidinho aqui eh pelos tipos de texto né que são três principais né a gente tem o char o varchar e o texto né Qual a diferença entre eles o varchar ele ocupa um bit por caracter até um certo limite então por exemplo eu tô projetando um nome eu vou dizer que esse nome pode ter até 20 letras né E aí a pessoa vai poder digitar
até 20 caracteres se passar desse limite o banco não vai deixar armazenar mas ela pode digitar nomes mais curtos por exemplo Thiago vai ocupar só cinco né Eh o char por outro lado ele é um tamanho fixo né então ele é bom pra gente usar Quando quando a gente tá armazenando por exemplo o nome de estado né a sigla tem sempre dois dígitos não pode ter nem menos nem mais então ele é fixo char do por exemplo e o campo de texto ele tem tamanho indeterminado isso é bastante perigoso e tem que ser usado com
muita responsabilidade né a gente vai querer usar isso aqui para Campos abertos de comentário do tipo dá um feedback sobre o meu formulário dá um feedback sobre o meu atendimento mas mesmo nessas situações às às vezes faz mais sentido você deixar um varchar grande né para evitar que a pessoa coloque um monte de texto que não faz sentido só para eh atacar Seu banco de dados por exemplo né uma vulnerabilidade que a gente quer se proteger eh então com grandes poderes vem grandes responsabilidades tome cuidado com o campo de texto tá bom outro tipo que
eu falei que a gente ia se aprofundar é o tipo de data né aqui a gente tem duas principais eh opções a data né que marca o dia que aconteceu mas não o instante né O minuto né E a gente tem o time o time stamp né que eles marcam o intervalo de tempo Às vezes tem também qual a Time Zone né qual é o fuso horário em que o dado tá sendo armazenado mesma coisa que a gente viu PR os outros tipos né Eh algumas coisas eu vou conseguir guardar só com a data por
exemplo aniversário de uma pessoa é uma data não importa o instante que a pessoa nasceu né mas uma transação de cartão de crédito eu quero ter o exato milissegundo né que ela aconteceu e isso os campos de time e time stamp vão propiciar pra gente tá tá escrito aqui ó precisão microssegundo tá e para fechar a gente tem o campo boleano que eu falei que ele ocupa pouquíssimo espaço ele Ocupa um byte só e a gente vai usar ele para coisas do tipo a pessoa já validou eil já então é verdade a pessoa ainda não
validou não então ele é falso tá a gente usa ele para decisões que o sistema que a gente tá projetando banco para possa precisar utilizar tá bom bom pessoal agora que a gente já conhece os tipos de dados Eu quero propor um exercício para você né que tá assistindo esse vídeo Vamos considerar que a gente tá fazendo uma tabela para armazenar os jogos né da Copa do Mundo eh qual tipo de dados a gente vai usar pro ID dos jogos né a gente vai usar um é um tipo numérico né Mas qual tipo vai ser
vai ser integer int vai ser um double Precision qual tipo você pensa que seria o certo bom se você falou smn você acertou né na Copa do Mundo a gente tem um número de jogos menor que 32.000 então a gente não vai usar espaço de mais né mas vai armazenar todos os números possíveis de jogos né e por outro lado tem que ser um dado inteiro né porque a gente não tem como ter meio jogo de futebol então se você mais uma vez falou smn você está certo bom pessoal então hoje a gente aprendeu sobre
os tipos de dados do post pelo menos os principais né vale a pena dar uma lida na documentação depois para você conhecer os outros né saber todas as opções que você tem como projetista de banco de dados e tomar muito cuidado com as decisões que você vai fazer quando você tiver projetando um banco beleza Eh no mais pratiquem Leiam as documentações e até uma próxima vez