{"id":255,"date":"2014-05-13T23:04:12","date_gmt":"2014-05-13T23:04:12","guid":{"rendered":"http:\/\/rodrigorrg.wordpress.com\/?p=255"},"modified":"2014-05-13T23:04:12","modified_gmt":"2014-05-13T23:04:12","slug":"banco-de-dados-o-que-e","status":"publish","type":"post","link":"https:\/\/thesqltimes.com\/blog\/2014\/05\/13\/banco-de-dados-o-que-e\/","title":{"rendered":"Entendendo o que \u00e9 um banco de dados e o que faz um Administrador de Banco de dados (DBA)"},"content":{"rendered":"<div class=\"pld-like-dislike-wrap pld-template-1\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"Muito \u00fatil!\" data-post-id=\"255\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                        <i class=\"fas fa-thumbs-up\"><\/i>\r\n                <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">    <\/span>\r\n<\/div><\/div><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tempo de Leitura:<\/span> <span class=\"rt-time\"> 20<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span><p style=\"text-align:justify;\">Salve caro amigo! Sei que a muito tempo n\u00e3o posto nada aqui. Do \u00faltimo post pra c\u00e1, muitas coisas aconteceram&#8230; Vida pessoal e profissional est\u00e1 a mil&#8230;\u00a0Prometo que vou terminar a s\u00e9rie sobre SELECT&#8230; Mas s\u00e3o tantos assuntos legais\u00a0 e acaba que n\u00e3o saio com nada do outro lado. N\u00e3o vou prometer muitas postagens, mas vou tentar me dedicar mais.<\/p>\n<p style=\"text-align:justify;\"><strong>As postagens<\/strong><\/p>\n<p style=\"text-align:justify;\">Os meus \u00faltimos posts n\u00e3o tiveram muito conte\u00fado t\u00e9cnico. Falei sobre o evento SQL Saturday que aconteceu em Bras\u00edlia, onde eu tive a oportunidade de palestrar. Antes deste post,\u00a0estava escrevendo a s\u00e9rie sobre o processamento l\u00f3gico do comando &#8220;SELECT&#8221;. Para aqueles que est\u00e3o acompanhando a s\u00e9rie, fiquem tranquilos que vou at\u00e9 o final! De gr\u00e3o em gr\u00e3o a galinha enche o papo!<\/p>\n<p style=\"text-align:justify;\"><strong>O\u00a0que temos pra hoje<\/strong><\/p>\n<p style=\"text-align:justify;\">Recentemente decidi postar algo mais b\u00e1sico! Seguindo o\u00a0objetivo deste blog, que \u00e9 compartilhar meu conhecimento com todos, e depois de perceber que muitas pessoas sempre me perguntam com o que trabalho (o que, pra quem \u00e9 da \u00e1rea, sabe que n\u00e3o \u00e9 f\u00e1cil explicar)\u00a0decidi falar sobre o que \u00e9 banco de dados e sobre a minha profiss\u00e3o: DBA (Database Administrator, ou Administrador de Banco de Dados).<\/p>\n<p style=\"text-align:justify;\">Este post ficou um pouco grande. <a title=\"Perguntas e Respostas\" href=\"#PerguntasERespostas\">Ao final tenho algumas perguntas e respostas<\/a> e talvez voc\u00ea prefira ir direto caso queria uma forma mais r\u00e1pida de entender. \u00a0Este post est\u00e1 voltado mais para quem n\u00e3o conhece muita coisa da \u00e1rea de tecnologia. Para aqueles j\u00e1 conhecem algo sobre banco de dados, ent\u00e3o n\u00e3o deem muita import\u00e2ncia com algumas coisas que irei dizer. Estarei tentando ser o menos t\u00e9cnico poss\u00edvel e isso vai exigir exemplos menos complicados.<\/p>\n<p style=\"text-align:justify;\">Pra n\u00e3o confundir as coisas, vou usar muito o termo &#8220;Institui\u00e7\u00e3o Financeira&#8221; ao inv\u00e9s de banco \u00a0(aquele onde est\u00e1 sua conta), para n\u00e3o confundir com banco de dados.<\/p>\n<p style=\"text-align:justify;\">Mas n\u00e3o se assuste. Tentei ser o mais did\u00e1tico poss\u00edvel, ent\u00e3o senta a\u00ed e vamos conversar um pouco&#8230;<\/p>\n<p style=\"text-align:justify;\"><strong>Voc\u00ea usa banco de dados o tempo todo!<\/strong><\/p>\n<p style=\"text-align:justify;\">Voc\u00ea j\u00e1 se perguntou pra onde v\u00e3o as fotos que as pessoas postam no Instagram? Sabe aquele coment\u00e1rio que voc\u00ea acabou de postar no facebook pelo seu celular e que em instantes seus amigos, em qualquer lugar do mundo, usando um iPhone, um Android ou at\u00e9 um notebook, pode v\u00ea-lo? Como isso \u00e9 poss\u00edvel? Como voc\u00ea pode consultar seu saldo do banco nos caixas eletr\u00f4nicos de v\u00e1rios lugares do Brasil? Como pode voc\u00ea sacar um dinheiro em Bras\u00edlia, e imediatamente conferir pela internet, ou aplicativo no celular,\u00a0 o saldo, j\u00e1 atualizado?\u00a0Voc\u00ea j\u00e1 se perguntou o que acontece quando vai a um caixa eletr\u00f4nico da sua institui\u00e7\u00e3o financeira?<\/p>\n<p style=\"text-align:justify;\">Vamos\u00a0imaginar uma situa\u00e7\u00e3o, quando voc\u00ea vai a um caixa eletr\u00f4nico, em um dia qualquer:<\/p>\n<figure id=\"attachment_329\" aria-describedby=\"caption-attachment-329\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/caixa_eletronico_piadinha.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-329\" src=\"http:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/caixa_eletronico_piadinha.jpg?w=300\" alt=\"Indo ao caixa eletr\u00f4nico.\" width=\"300\" height=\"259\" srcset=\"https:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/caixa_eletronico_piadinha.jpg 377w, https:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/caixa_eletronico_piadinha-300x259.jpg 300w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-329\" class=\"wp-caption-text\">Indo ao caixa eletr\u00f4nico.<\/figcaption><\/figure>\n<ul style=\"text-align:justify;\">\n<li>Voc\u00ea chega na frente do caixa e tem uma tela esperando o que voc\u00ea quer fazer.<\/li>\n<li>Uma caixa eletr\u00f4nico \u00e9 nada mais, nada menos, do que um computador com o programa de caixa eletr\u00f4nico da sua institui\u00e7\u00e3o financeira&#8230;<\/li>\n<li>Aquilo n\u00e3o passa de um programa de computador esperando voc\u00ea, usu\u00e1rio e cliente, fornecer um comando. A diferen\u00e7a \u00e9 que uma tela simp\u00e1tica e os comandos s\u00e3o pr\u00e9-determinados, e s\u00e3o escolhidos atrav\u00e9s dos bot\u00f5es que ali existem. Digamos que voc\u00ea queira\u00a0consultar o saldo.<\/li>\n<li>Voc\u00ea coloca o cart\u00e3o e digita a senha, conforme lhe \u00e9 solicitado na tela.<\/li>\n<li>Ap\u00f3s isso, aparece uma tela com mensagens do tipo: &#8220;Aguarde&#8230;&#8221;, &#8220;Opera\u00e7\u00e3o em processamento&#8230;&#8221;, etc&#8230;<\/li>\n<li>Enquanto essas mensagens est\u00e3o na sua frente, o programa que est\u00e1 ali por de tr\u00e1s daquela telinha simp\u00e1tica, precisa verificar se a sua senha est\u00e1 correta (do que adiantaria ter e pedir a sua senha!?) para saber se ele pode prosseguir com o acesso aos dados da sua conta&#8230; \u00c9 uma maneira de garantir que a pessoa, que est\u00e1 ali executando\u00a0os comandos, est\u00e1 autorizada a ver aqueles dados.<\/li>\n<li>Ent\u00e3o ele obt\u00e9m <strong>de algum lugar<\/strong> a senha que voc\u00ea cadastrou (lembra!? quando voc\u00ea abriu sua conta!?) compara com a senha que voc\u00ea digitou para verificar se as duas s\u00e3o\u00a0 iguais&#8230; Se n\u00e3o for, na tela pode aparecer uma mensagem do tipo: &#8220;Dados inv\u00e1lidos&#8221;, &#8220;Senha incorreta. Tente Novamente&#8221;&#8230;<\/li>\n<li>Estando tudo certo, <strong>de<\/strong> <strong>algum lugar<\/strong> ele tamb\u00e9m traz o saldo da sua conta.<\/li>\n<li>Ap\u00f3s isso ele exibe a informa\u00e7\u00e3o na tela para voc\u00ea.<\/li>\n<\/ul>\n<p style=\"text-align:right;\"><span style=\"color:#3366ff;\"><em>\ud83d\ude15 Ummmmmm \u00e9 isso mesmo Rodrigo!!! Mas que lugar \u00e9 esse? Onde diabos fica guardado minha senha e saldo da minha conta???<\/em><\/span><\/p>\n<p style=\"text-align:justify;\">\u00c9 ai que a brincadeira come\u00e7a: Esses dados seus ficam guardados em um banco de dados. Com o n\u00famero da sua conta (que est\u00e1 gravado no seu cart\u00e3o) o programa do caixa eletr\u00f4nico obteve de um banco de dados n\u00e3o s\u00f3 sua senha e saldo, como algumas outras informa\u00e7\u00f5es da sua conta.<\/p>\n<p style=\"text-align:right;\"><span style=\"color:#3366ff;\"><em><em><span style=\"color:#666666;\">\ud83d\ude00<\/span>\u00a0<\/em>Nossa que legal, ent\u00e3o em cada caixa eletr\u00f4nico tem esse tal de banco de dados? Como ele \u00e9? \u00c9 um equipamento grande? \ud83d\ude15<\/em><\/span><\/p>\n<figure id=\"attachment_331\" aria-describedby=\"caption-attachment-331\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/equipamento_banco_dados.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-331\" src=\"http:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/equipamento_banco_dados.jpg?w=300\" alt=\"Um Banco de Dados??\" width=\"300\" height=\"225\" srcset=\"https:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/equipamento_banco_dados.jpg 800w, https:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/equipamento_banco_dados-300x225.jpg 300w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-331\" class=\"wp-caption-text\">Um Banco de Dados??<\/figcaption><\/figure>\n<p style=\"text-align:justify;\">Perguntas inteligentes requerem respostas inteligentes. Vamos por partes. Um banco de dados serve para guardar o qu\u00ea? Dados.<\/p>\n<p style=\"text-align:justify;\">Um banco de dados na verdade \u00e9 um conceito.\u00a0 Sabe a agenda do seu celular? Ent\u00e3o&#8230; \u00e9 um banco de dados&#8230; Sabe aquela lista de pessoas que voc\u00ea montou para um churrasco na sua casa? Ent\u00e3o tamb\u00e9m \u00e9 um banco de dados&#8230;\u00a0 Um banco de dados \u00e9 um local onde voc\u00ea guarda informa\u00e7\u00f5es para serem usadas depois. N\u00e3o preciso de tecnologia avan\u00e7ada para fazer um banco de dados, como nos exemplos acima, por\u00e9m o que muda \u00e9 o meio onde voc\u00ea guarda\/consulta essas informa\u00e7\u00f5es:\u00a0 voc\u00ea pode ter uma agenda telef\u00f4nica anotada em uma folha de papel.<\/p>\n<p style=\"text-align:justify;\">No caso de computadores, quem guarda e l\u00ea alguma coisa s\u00e3o os programas e n\u00e3o voc\u00ea, ser humano. Os aplicativos, sites da internet, etc. eles sim precisam guardar dados que <strong>N\u00d3S<\/strong> fornecemos a eles:\u00a0 textos, fotos, m\u00fasicas, etc.\u00a0 N\u00f3s interagimos com os programas e eles ficam a cargo de guardar os nossos dados em um banco de dados. Sem um banco de dados,\u00a0 poucos programas iriam servir pra alguma coisa.<\/p>\n<p style=\"text-align:right;\"><em><em style=\"color:#3366ff;\"><em><span style=\"color:#666666;\">XD XD<\/span><\/em><\/em><span style=\"color:#3366ff;\">Nossa Rodrigo, muito legal cara! <\/span><span style=\"color:#3366ff;\">:\/ Mas ainda n\u00e3o entendi\u00a0 pra que serve esse neg\u00f3cio? Um banco de dados serve para guardar dados&#8230; Programas usam banco de dados para guardar nossos dados! Mas onde fica esse tal banco de dados?<\/span><\/em><\/p>\n<p style=\"text-align:justify;\">Os computadores tem mem\u00f3rias. Igual a mem\u00f3ria da sua cabe\u00e7a, ela serve para guardar coisas. Olha s\u00f3 temos algo em comum aqui&#8230;<\/p>\n<p style=\"text-align:right;\"><span style=\"color:#3366ff;\"><em><span style=\"color:#666666;\">\ud83d\ude09<\/span>Entendi\u00a0 Rodrigo! Igual eu anoto coisas importantes em um papel, um programa guarda os dados na mem\u00f3ria do computador! O banco de dados dele\u00a0 fica na mem\u00f3ria!<\/em><\/span><\/p>\n<p style=\"text-align:justify;\">Show! \u00c9 exatamente isso. Mas sabe quando voc\u00ea est\u00e1 digitando um trabalho importante no computador e de repente a energia acaba e desliga seu computador? Nossa que merda! Era aquele trabalho que voc\u00ea esperou 1 m\u00eas para faz\u00ea-lo e tem que entregar no dia seguinte&#8230;\u00a0Como voc\u00ea faz para se proteger disso?<\/p>\n<p><a href=\"http:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/desesperado.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-333 aligncenter\" src=\"http:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/desesperado.jpg?w=300\" alt=\"desesperado\" width=\"300\" height=\"200\" srcset=\"https:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/desesperado.jpg 400w, https:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/desesperado-300x200.jpg 300w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"text-align:right;\"><span style=\"color:#3366ff;\"><em><span style=\"color:#666666;\">\ud83d\ude08<\/span>Simples: eu sempre\u00a0 salvo meu trabalho no computador, l\u00e1 no HD, quando modifico algo nele. Ou em um pen drive! Sou uma pessoa esperta.\u00a0 H\u00e1 H\u00e1 H\u00e1!!! Desculpe ai companhia energ\u00e9tica!<span style=\"color:#666666;\">\ud83d\ude08<\/span><\/em><\/span><\/p>\n<p style=\"text-align:justify;\">Muito bem. O que voc\u00ea faz \u00e9 jogar os dados do seu trabalho em um local &#8220;mais seguro&#8221;. Onde voc\u00ea possa recuperar caso haja algum tipo de falha do computador, como a queda de energia e o computador desligar.<\/p>\n<p style=\"text-align:justify;\">E \u00e9 assim que os programas fazem: eles salvam suas coisas para algum esp\u00e9cie de disco (o chamado &#8220;HD&#8221; do computador) E a todo momento est\u00e3o lendo e gravando os dados l\u00e1. Caso ocorra algum problema (queda de energia, por exemplo), ao ligar novamente, os dados estar\u00e3o prontos para serem usados.<\/p>\n<p style=\"text-align:right;\"><span style=\"color:#3366ff;\">\ud83d\ude15<em>Ahhhhh, mas como \u00e9 a cara desse banco de dados que os programas de computador usam? Eu consigo v\u00ea-lo?<span style=\"color:#666666;\">\u2753<\/span><\/em><\/span><\/p>\n<p style=\"text-align:justify;\">Nesse mundo de computadores, as coisas que s\u00e3o gravadas em um disco s\u00e3o, na verdade, gravadas em arquivos. Ent\u00e3o um programa quando quer salvar os dados para depois acess\u00e1-los, ele grava e l\u00ea os dados em arquivos, e os arquivos ficam no disco cujo aquele\u00a0computador possui acesso. Geralmente ele grava de\u00a0uma forma que \u00e9 imposs\u00edvel para n\u00f3s, simples humanos, entender o arquivo. Somente o pr\u00f3prio programa consegue l\u00ea e nos apresentar os dados da forma que consigamos compreender.<\/p>\n<p style=\"text-align:right;\"><span style=\"color:#3366ff;\"><em><span style=\"color:#666666;\"><img src=\"https:\/\/thesqltimes.com\/blog\/wp-includes\/images\/smilies\/mrgreen.png\" alt=\":mrgreen:\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/><\/span><span style=\"color:#666666;\"><img src=\"https:\/\/thesqltimes.com\/blog\/wp-includes\/images\/smilies\/mrgreen.png\" alt=\":mrgreen:\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/><\/span><span style=\"color:#666666;\"><img src=\"https:\/\/thesqltimes.com\/blog\/wp-includes\/images\/smilies\/mrgreen.png\" alt=\":mrgreen:\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/><\/span>Ahhhhhhhhhhh, entendi! Ent\u00e3o toda vez que eu vou no caixa eletr\u00f4nico da minha institui\u00e7\u00e3o financeira, o programa da tela simp\u00e1tica que me pergunta o que quero fazer consulta minha senha e meu saldo no disco daquele computador que estou mexendo!!!<\/em><\/span><\/p>\n<p style=\"text-align:right;\"><span style=\"color:#3366ff;\"><em><span style=\"color:#666666;\">\u2753<\/span><span style=\"color:#666666;\">\u2753<\/span><span style=\"color:#666666;\">\u2753<\/span>Mas espera um pouco &#8230; Como outros caixas eletr\u00f4nicos da minha institui\u00e7\u00e3o financeira, de cidades diferentes,conseguem ter todas as minhas informa\u00e7\u00f5es atualizadas? E se eu sacar um dinheiro? Como os outros caixas eletr\u00f4nicos do Brasil inteiro atualizam seu banco de dados? E quando eu abro a conta? Como minha senha vai parar em outros lugares? Agora ficou tudo confuso<span style=\"color:#666666;\">o_O<\/span><span style=\"color:#666666;\">o_O<\/span><\/em><\/span><\/p>\n<p style=\"text-align:justify;\">Opa, a\u00ed voc\u00ea come\u00e7a a perceber um problema&#8230; Imagina se todos os caixas eletr\u00f4nicos, tivessem, ali mesmo, seu pr\u00f3prio banco de dados? Nossa, voc\u00ea depositava um dinheiro na sua conta para aproveitar suas f\u00e9rias que come\u00e7ariam em 10 minutos&#8230; Caia na estrada e chegando em outra cidade, em outro caixa eletr\u00f4nico da mesma institui\u00e7\u00e3o financeira, o que aconteceria se o banco de dados desse outro caixa n\u00e3o estivesse com o saldo da sua conta atualizado e com o dep\u00f3sito feito? Voc\u00ea n\u00e3o iria poder aproveitar suas f\u00e9rias&#8230;<\/p>\n<p><a href=\"http:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/onde_esta_o_dinheiro.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-335 aligncenter\" src=\"http:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/onde_esta_o_dinheiro.jpg?w=300\" alt=\"onde_Esta_o_dinheiro\" width=\"193\" height=\"133\" \/><\/a><\/p>\n<p style=\"text-align:right;\"><span style=\"color:#3366ff;\"><em>\u00a0<span style=\"color:#666666;\">\ud83d\udca1<\/span>Rodrigo, Rodrigo, j\u00e1 sei!!!!! E se todos os caixas eletr\u00f4nicos acessarem o mesmo disco? O mesmo banco de dados? \u00c9 poss\u00edvel cara?<span style=\"color:#666666;\">\ud83d\udca1<\/span><\/em><\/span><\/p>\n<p style=\"text-align:justify;\">BINGO!!!!!!!!\u00a0 A coisa come\u00e7a a ficar interessante: os caixas eletr\u00f4nicos da sua institui\u00e7\u00e3o financeira conseguem ler e consutar informa\u00e7\u00f5es em um um banco de dados central! Com a ajuda de uma rede de computadores bem r\u00e1pida, a comunica\u00e7\u00e3o entre o caixa eletr\u00f4nico e o banco de dados fica f\u00e1cil, e as opera\u00e7\u00f5es que voc\u00ea faz rapidamente s\u00e3o atualizadas de qualquer lugar que voc\u00ea esteja. E como \u00e9 um banco de dados s\u00f3, \u00e9\u00a0poss\u00edvel criar aplicativos para celular que tamb\u00e9m acessam este mesmo banco de dados&#8230; Tamb\u00e9m posso criar um site em que voc\u00ea possa consultar seu saldo, pois o site ir\u00e1 consultar o mesmo banco de dados que o dos caixas eletr\u00f4nicos&#8230;<\/p>\n<p style=\"text-align:justify;\">S\u00f3 que a coisa n\u00e3o \u00e9 t\u00e3o simples assim. Se voc\u00ea tem um banco de dados \u00fanico, ent\u00e3o todos os caixas eletr\u00f4nicos da sua institui\u00e7\u00e3o financeira precisam acessar o mesmo arquivo onde fica esses dados, e l\u00f3gico o mesmo disco, e mais l\u00f3gico ainda, o mesmo computador que tem acesso a esse disco.<\/p>\n<p style=\"text-align:justify;\">Na verdade, o programa que est\u00e1 instalado ali naquele caixa eletr\u00f4nico, precisa se comunicar com outro computador. Este outro computador \u00e9 onde estar\u00e1 o banco de dados. Essa comunica\u00e7\u00e3o \u00e9 feita com tecnologia de rede de dados bem r\u00e1pida e permite que, mesmo os computadores estando bem distantes fisicamente, as coisas trafeguem com velocidade alta e&#8230;<\/p>\n<p style=\"text-align:right;\"><span style=\"color:#3366ff;\"><span style=\"color:#666666;\">\ud83d\ude0e<\/span><span style=\"color:#666666;\">\ud83d\ude0e<\/span><span style=\"color:#666666;\">\ud83d\ude0e<\/span>\u00a0<\/span><em><span style=\"color:#3366ff;\">&#8230; J\u00e1 sei, j\u00e1 sei&#8230; Ent\u00e3o os programas dos caixas eletr\u00f4nicos enviam e recebem os dados que est\u00e3o neste outro computador central, que foi designado para ser o banco de dados da minha institui\u00e7\u00e3o financeira..<\/span>.<\/em><\/p>\n<p style=\"text-align:justify;\">A id\u00e9ia \u00e9 exatamente essa. Mas a\u00ed voc\u00ea come\u00e7a a se deparar com algumas perguntinhas:<\/p>\n<ul style=\"text-align:justify;\">\n<li>Qualquer programa pode acessar os dados de um banco de dados? (<span style=\"color:#3366ff;\"><em>Lascou&#8230; Se for assim, seria f\u00e1cil obter os dados da sua conta<span style=\"color:#666666;\">\ud83d\ude2e<\/span><\/em><\/span>).<\/li>\n<li>Como esses dados devem ser gravados e lidos? (<span style=\"color:#3366ff;\"><em>Sei l\u00e1&#8230;<span style=\"color:#666666;\">\ud83d\ude0e<\/span><\/em><\/span>)<\/li>\n<li>E se acabar o espa\u00e7o em disco? (<span style=\"color:#3366ff;\"><em>Nossa<em><span style=\"color:#666666;\">\ud83d\ude2e<\/span><\/em>, n\u00e3o vou poder colocar mais dinheiro na minha\u00a0conta? Nem fazer outras opera\u00e7\u00f5es?<\/em><\/span>)<\/li>\n<li>Caramba, a minha insitui\u00e7\u00e3o financeira tem milhares de clientes. N\u00e3o \u00e9 muito dado para guardar e consultar?\u00a0 N\u00e3o fica lento acessar todos esses dados ao\u00a0 mesmo tempo? (<span style=\"color:#3366ff;\"><em>Nossa, pare de pergunta dific\u00edl cara&#8230;<span style=\"color:#666666;\">:'(<\/span><\/em><\/span>)<\/li>\n<li>E como posso permitir que v\u00e1rios programas diferentes consultem os dados sem prejudicar os dados de outro programas? (<span style=\"color:#3366ff;\"><em>Sei l\u00e1&#8230;[2]<em><span style=\"color:#666666;\">\ud83d\ude0e<\/span><\/em><\/em><\/span>)<\/li>\n<\/ul>\n<p style=\"text-align:justify;\">Ai voc\u00ea come\u00e7a a perceber que ter um banco de dados n\u00e3o \u00e9 t\u00e3o simples. \u00c9 um mundo complexo. Um banco de dados, al\u00e9m de guardar dados de outros programas precisa ter, dentro outras coisas:<\/p>\n<ul style=\"text-align:justify;\">\n<li>Seguran\u00e7a (N\u00e3o \u00e9 qualquer um que pode mexer nos dados ali guardados)<\/li>\n<li>Velocidade (A leitura e grava\u00e7\u00e3o dos dados deve ser o mais r\u00e1pido poss\u00edvel&#8230; Assim voc\u00ea n\u00e3o fica esperando tanto aquela telinha &#8220;Aguarde&#8230;&#8221;)<\/li>\n<\/ul>\n<p style=\"text-align:justify;\"><span style=\"color:#000000;\">Agora te pergunto&#8230; Ser\u00e1 que \u00e9 simples fazer isso? Ser\u00e1 que quando se vai fazer\u00a0 um site novo, um programa novo, ou um sistema inteiro novo, os programadores, toda vez, precisam realmente pensar nisso tudo tamb\u00e9m?<\/span><\/p>\n<p style=\"text-align:right;\"><span style=\"color:#3366ff;\"><em><span style=\"color:#666666;\">\ud83d\udca1<\/span><span style=\"color:#666666;\">\ud83d\udca1<\/span><span style=\"color:#666666;\">\ud83d\udca1<\/span>Humm<\/em><em>&#8230; Espera um<\/em><em> pouco R<\/em><em><span style=\"color:#3366ff;\">odri<\/span>go&#8230;! E se houvesse um programa de computador espec\u00edfico\u00a0 para cuidar de guardar os dados? Em outras palavras, um programa s\u00f3 para cuidar dos bancos de dados&#8230;?<span style=\"color:#666666;\">\ud83d\udca1<\/span><span style=\"color:#666666;\">\ud83d\udca1<\/span><span style=\"color:#666666;\">\ud83d\udca1<\/span><\/em><\/span><\/p>\n<p style=\"text-align:justify;\">E \u00e9 exatamente assim que a roda gira&#8230; Existem programas espec\u00edficos que cuidam de banco de dados: Os outros programas, sites, aplicaticos de celular, etc., se conectam com esses programas e estes ficam a cargo de gravar e ler os dados solicitados. Esses tipo de programas s\u00e3o chamados de &#8220;Softwares Gerenciadores de Banco de Dados&#8221; ou SGBDs. O que os SGBDs fazem, basicamente, \u00e9:<\/p>\n<ul style=\"text-align:justify;\">\n<li>Receber e guardar os dados que outros programas precisam, em um banco de dados.<\/li>\n<li>Grantir a seguran\u00e7a desses dados e controlar qual programa deve ou n\u00e3o acessar tal dado<\/li>\n<li>Garantir que os dados sejam lidos e entregue aos outros programas, aplicativos, sites, rapidamente e estes entreguem a voc\u00ea, usu\u00e1rio!<\/li>\n<li>Permitir que diferente programas consigam usar o banco de dados sem que um prejudique os dados do outro.<\/li>\n<\/ul>\n<p style=\"text-align:justify;\">A maioria das pessoas da \u00e1rea de tecnologia chama o SGBD de &#8220;banco de dados&#8221; mesmo. Isso \u00e9 por conveni\u00eancia. Mas o banco de dados mesmo voc\u00ea sabe que s\u00e3o aqueles montes de dados que est\u00e3o gravados em algum arquivo&#8230; O SGBD cuida de ler ou gravar esses dados, mediante a solicita\u00e7\u00e3o de outros programas de computador (sites, aplicativos de celular, etc).<\/p>\n<p style=\"text-align:right;\"><em style=\"color:#3366ff;\">E onde esses tais de SGBD ficam?<span style=\"color:#666666;\">\ud83d\ude15<\/span><\/em><\/p>\n<p style=\"text-align:justify;\">Um SGBD \u00e9 apenas um programa de computador. Eles ficam instalados em computadores mais potentes, chamados de &#8220;servidores&#8221;. Ao criar um programa novo, o respons\u00e1vel por esse programa tamb\u00e9m deve pensar na infra-estrutura necess\u00e1ria para se manter um SGBD funcionando (isso tamb\u00e9m ir\u00e1 influenciar nos custos de desenvolvimento desse programa, com certeza!), bem como seus banco de dados. Eu n\u00e3o fa\u00e7o a m\u00ednima id\u00e9ia onde fica o servidor que\u00a0est\u00e1 instalado o SGBD que \u00e9 usado pelos caixas eletr\u00f4nicos da minha institui\u00e7\u00e3o financeira, muitos menos os do facebook, do twitter, etc. Quem precisa saber disso s\u00e3o apenas os programas que consultam. Atrav\u00e9s de protocolos de comunica\u00e7\u00e3o e endere\u00e7os da internet, os programas conseguem enviar e receber dados dos SGBD de onde diabos eles estejam fisicamente. Eu, como um profissional da \u00e1rea, preciso me preocupar com essas e outras coisas a respeito dos SGBD que s\u00e3o de minha responsabilidade. Voc\u00ea (e eu), como usu\u00e1rio dos sistemas, jamais precisar\u00e1 se preocupar com isso. Tudo deve ser transparente. Gra\u00e7as a Deus tudo \u00e9 transparente!<span style=\"color:#666666;\">\ud83d\ude1b<\/span><span style=\"color:#666666;\">\ud83d\ude1b<\/span><\/p>\n<p style=\"text-align:right;\"><span style=\"color:#3366ff;\"><em>T\u00e1 legal, e quem \u00e9 que cria esses tais de SGBDs?<span style=\"color:#666666;\">\ud83d\ude15<\/span><\/em><\/span><\/p>\n<p style=\"text-align:justify;\">Existem v\u00e1rios fabricantes. Igual existem v\u00e1rias marcas de carro, existem v\u00e1rias &#8220;marcas&#8221; de SGBD. Cada uma tem sua particularidade: velocidade, n\u00edvel de seguran\u00e7a e pre\u00e7o s\u00e3o uns dos exemplos que influenciam na escolha de um SGBD espec\u00edfico.<\/p>\n<p style=\"text-align:justify;\">Voc\u00ea acha que a Microsoft s\u00f3 mexe com Windows? Com XBOX? Com hotmail? \u00a0Est\u00e1 enganado! Um dos SGBD mais populares do mercado \u00e9 o &#8220;SQL Server&#8221; , e a Microsoft \u00e9 quem desenvolve.\u00a0Empresas como IBM e Oracle &#8220;fabricam&#8221; SGBDs. O DB2 \u00e9 o SGBD da IBM e o SGBD da Oracle se chama Oracle tamb\u00e9m.<\/p>\n<p style=\"text-align:justify;\">Eu trabalho com o SGBD da Microsoft, o &#8220;SQL Server&#8221;. Sim! Este \u00e9 o nome do SGBD. Igual os carros t\u00eam seu nome, o SGBD t\u00eam seu nome, e quem escolhe \u00e9 quem fabrica.<\/p>\n<p style=\"text-align:right;\"><span style=\"color:#3366ff;\"><em>\u00a0<span style=\"color:#666666;\">\ud83d\ude15<\/span>\u00a0<span style=\"color:#666666;\">\ud83d\ude15<\/span>Opa, mas espera um pouco a\u00ed Rodrigo&#8230; Voc\u00ea? Onde \u00e9 que voc\u00ea entra nessa hist\u00f3ria? Por acaso voc\u00ea trabalha na Microsoft e ajuda a criar essas coisas?<span style=\"color:#666666;\">\u2753<\/span><span style=\"color:#666666;\">\u2753<\/span><\/em><\/span><\/p>\n<p>Opa, opa, opa&#8230; Um SGBD \u00e9 um mundo complexo! Um SGBD sozinho \u00e9 capaz de fazer a mesma coisa que um filhote, rec\u00e9m-nascido, de gibi\u00e3o m\u00edope de um olho s\u00f3 com encefalia renal absoluta.<\/p>\n<figure id=\"attachment_324\" aria-describedby=\"caption-attachment-324\" style=\"width: 236px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-324\" src=\"http:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/gibiao_miope.jpg?w=300\" alt=\"gibiao_miope\" width=\"236\" height=\"180\" \/><figcaption id=\"caption-attachment-324\" class=\"wp-caption-text\">Seria isto, um filhote de Gibi\u00e3o m\u00edope?<\/figcaption><\/figure>\n<p style=\"text-align:right;\"><span style=\"color:#3366ff;\"><em><span style=\"color:#666666;\">\u2753<\/span><span style=\"color:#666666;\">\u2753<\/span><span style=\"color:#666666;\">\u2753<\/span><span style=\"color:#666666;\">o_O<\/span><span style=\"color:#666666;\">o_O<\/span><span style=\"color:#666666;\">o_O<\/span><span style=\"color:#666666;\">\ud83d\ude2e<em style=\"color:#3366ff;\">\ud83d\ude2e<\/em><em style=\"color:#3366ff;\">\ud83d\ude2e<\/em><\/span><span style=\"color:#666666;\">\ud83d\ude10<\/span><span style=\"color:#666666;\">\ud83d\ude10<\/span><span style=\"color:#666666;\">\ud83d\ude10<\/span><span style=\"color:#666666;\">\ud83d\ude15<\/span><span style=\"color:#666666;\">\ud83d\ude15<\/span><span style=\"color:#666666;\">\ud83d\ude15<\/span> Hein!!!??? <em><span style=\"color:#666666;\">o_O<\/span><\/em>\u00a0? Filhote? Gibi\u00e3o? O que \u00e9 Gibi\u00e3o? M\u00edope ainda? &#8230;. ???? Ops! Rs. Entendi.\u00a0 Voc\u00ea quis dizer que um SGBD sozinho \u00e9 nada&#8230;.<span style=\"color:#666666;\">\ud83d\ude44<\/span><span style=\"color:#666666;\">\ud83d\ude44<em style=\"color:#3366ff;\">\ud83d\ude44<\/em><\/span><\/em><\/span><\/p>\n<p style=\"text-align:justify;\">Exato! \u00c9 necess\u00e1rio a mente humana.\u00a0 O SGBD \u00e9 um programa\/software complexo e precisa ser monitorado e configurado. Quem cuida do SGBD ir\u00e1 definir o modo se como ele comportar\u00e1.<\/p>\n<p style=\"text-align:justify;\">Imagine que o SGBD seja um carro bem moderno capaz de fazer muitas coisas. Ainda que seja tudo, o carro precisa de um motorista. O motorista dever\u00e1 cuid\u00e1-lo, lev\u00e1-lo na revis\u00e3o, colocar gasolina, checar pneus, \u00f3leo, \u00e1gua, motor, etc., a fim de que garanta que o mesmo cumpra seu objetivo e evite problemas inesperados.<\/p>\n<p style=\"text-align:justify;\">Assim \u00e9 com o SGBD. E no nosso caso, o motorista \u00e9 o Administrador de Banco de Dados! (O correto seria Administrador de SGBD). Tamb\u00e9m conhecido como Database Administrator, ou DBA, ele \u00e9 um profissional que ir\u00e1 se dedicar exclusivamente ao SGBD. Instala\u00e7\u00e3o (pois \u00e9 um programa de computador e precisa ser instalado um dia), manunten\u00e7\u00e3o, monitoramento, etc., ser\u00e3o tarefas de um DBA.<\/p>\n<p style=\"text-align:justify;\">Por existirem v\u00e1rios SGBDs com particularidades diferentes, o DBA precisa estudar e conhecer os detalhes de um espec\u00edfico, pois como j\u00e1 mencionei, \u00e9 um mundo muito complexo.\u00a0 SGBDs s\u00e3o programas de computador muito avan\u00e7ados, pois envolvem v\u00e1rios conceitos e recursos computacionais porque\u00a0gerenciam dados e na maioria dos casos, dados em grandes quantidades. No\u00e7\u00f5es de \u00e1lgebra relacional, estat\u00edsticas matem\u00e1ticas, teoria de conjuntos e at\u00e9 probabilidade fazem parte dos &#8220;skills&#8221; de um DBA, al\u00e9m de conhecimento t\u00e9cnico tipo redes, sistemas operacionais, seguran\u00e7a, classifica\u00e7\u00e3o de dados, etc&#8230; S\u00e3o muitas coisas e fogem totalmente do escopo desse post&#8230;\u00a0 Sentiu o drama!?<\/p>\n<p><a href=\"http:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/chuck-norris-002-241x300.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-336 aligncenter\" src=\"http:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/chuck-norris-002-241x300.jpg\" alt=\"UM DBA\" width=\"241\" height=\"300\" \/><\/a><\/p>\n<p style=\"text-align:right;\"><span style=\"color:#3366ff;\"><em><span style=\"color:#666666;\">\ud83d\ude0e<\/span>Uau &#8230; Ser um DBA parece ser bem interessante&#8230;\u00a0 Mas e a\u00ed, uma coisa que ainda n\u00e3o ficou claro: como os outros programas conseguem usar um SGBD para guardar os dados?<span style=\"color:#666666;\">\ud83d\ude15<\/span><\/em><\/span><\/p>\n<p style=\"text-align:justify;\">Bom \u00e9 meio dif\u00edcil explicar isso sem entrar em um pouco de detalhe t\u00e9cnico&#8230;\u00a0De forma bem resumida e grosseira: os programas, sites, aplicativos, etc.,\u00a0 enviam comandos ao SGBD, e este faz o trabalho de ler\/gravar e devolver os resultados para o programa que solicitou, e ent\u00e3o, com a bola no programa novamente, ele pega os dados retornados pelo SGBD\u00a0e continua trabalhando&#8230; \u00c9 isso mesmo que voc\u00ea est\u00e1 pensando:\u00a0 Sabe l\u00e1 no caixa eletr\u00f4nico? Muita coisa acontece enquanto aquela telinha &#8220;Aguarde&#8230;&#8221; fica tomando sua paci\u00eancia&#8230; Sabe quando voc\u00ea d\u00e1 um curtida em algo no facebook? Ent\u00e3o naquele instante sua curtida j\u00e1 foi registrada no banco de dados deles&#8230; \u00c9 amigo, a parada \u00e9 r\u00e1pida!<\/p>\n<p style=\"text-align:justify;\">Se h\u00e1 um problema no SGBD, voc\u00ea vai perceber os efeitos na hora: Os sistemas podem come\u00e7ar a ficar lento, apresentar mensagens de falhas, etc. N\u00e3o quer dizer que toda vez que aconte\u00e7a algum problema no programa que esteja usando, a culpa \u00e9 SGBD(e pode acreditar, na maioria das vezes n\u00e3o ser\u00e1)&#8230; Mas se a coisa n\u00e3o estiver direita l\u00e1, voc\u00ea vai ser prejudicado diretamente!<\/p>\n<p style=\"text-align:justify;\">Novamente, grosseiramente falando, um SGBD \u00e9 nada mais do que um programa de computador que cuida de ler e gravar os dados em disco, \u00e0 medida que outros programas (softwares de caixas eletr\u00f4nicos, aplicativos de celular, sites, etc) solicitam.<\/p>\n<p style=\"text-align:right;\"><span style=\"color:#3366ff;\"><em>Rodrigo, e porque mesmo os programas solicitam isso?<span style=\"color:#666666;\">\ud83d\ude15<\/span><span style=\"color:#666666;\">\ud83d\ude15<\/span><\/em><\/span><\/p>\n<p style=\"text-align:justify;\">Para guardar nossos dados! Os programas obt\u00e9m as informa\u00e7\u00f5es que passamos a eles e se encarregam de entregar ao SGBD para que o mesmo\u00a0guarde em um banco de dados. Tudo isso depende da natureza do programa&#8230; Do pr\u00f3posito de um sistema, aplicativo, etc. H\u00e1 in\u00fameros programas que n\u00e3o precisam de um banco de dados pois n\u00e3o necessitam guardar nenhum informa\u00e7\u00e3o&#8230; Somente a mem\u00f3ria do computador j\u00e1 \u00e9 suficiente&#8230; (paremos por aqui, ou sen\u00e3o essa conversa vai ficar ganhar outros rumos&#8230;)<\/p>\n<p style=\"text-align:justify;\">Bem&#8230; l\u00f3gico que voc\u00ea precisa instalar esse SGBD em um computador que tenha acesso aos discos para guardar os dados. \u00c0 este computadores damos o nome de &#8220;servidor&#8221; ou pra ser mais espec\u00edfico:\u00a0 &#8220;servidores de banco de dados&#8221;. E geralmente s\u00e3o computadores mais potentes do que os que estamos acostumados.<\/p>\n<p style=\"text-align:justify;\">Os SGBDs est\u00e3o a todo momento lendo e escrevendo os nossos dados nos discos que s\u00e3o disponibilizados\u00a0para o servidor onde est\u00e3o instalados. Se o SGBD n\u00e3o consegue escrever o dado no disco, ent\u00e3o ele avisa o programa que solicitou a opera\u00e7\u00e3o e o programa se encarrega de tratar essa situa\u00e7\u00e3o: geralmente ele vai tentar novamente ou vai exibir uma\u00a0 mensagem na tela pra voc\u00ea, algo do tipo &#8220;N\u00e3o foi poss\u00edvel realizar a opera\u00e7\u00e3o. Tente novamente&#8221;.<\/p>\n<p style=\"text-align:right;\"><span style=\"color:#3366ff;\"><em>\u00a0T\u00e1 Rodrigo, mas como os benditos programas se comunicam com o SGBD?<span style=\"color:#666666;\">\u2753<\/span><span style=\"color:#666666;\">\u2753<\/span><\/em><\/span><\/p>\n<p style=\"text-align:justify;\">Os SGBDs s\u00e3o metidos e exibidos: Eles falam uma l\u00edngua pr\u00f3pria. Um\u00a0programa\u00a0precisa de um banco de dados para guardar os dados? Vai precisar falar a l\u00edngua\u00a0 do SGBD&#8230;<\/p>\n<p style=\"text-align:right;\"><span style=\"color:#3366ff;\"><em>\u00a0<span style=\"color:#666666;\">:\/<\/span><span style=\"color:#666666;\">:\/<\/span>Rodrigo e que l\u00edngua \u00e9 essa? Como assim falar? Ele fala?<span style=\"color:#666666;\">\u2753<\/span><span style=\"color:#666666;\">\u2753<\/span><\/em><\/span><\/p>\n<p style=\"text-align:justify;\">O SGBD n\u00e3o fala igual a n\u00f3s seres humanos e tamb\u00e9m n\u00e3o \u00e9 necess\u00e1rio nenhum comando de voz se \u00e9 isso que voc\u00ea pensou&#8230; O que eu quis dizer \u00e9 que um programa\u00a0 s\u00f3 consegue ler ou gravar algum dado em um banco de dados gerenciado por um SGBD se ele enviar comandos espec\u00edficos para ele. Os desenvolvedores\/programadores de um determinado programa\u00a0precisam entender e saber esses comandos, ou linguagem, como chamamos no mundo de programa\u00e7\u00e3o de computadores.<\/p>\n<p style=\"text-align:justify;\">Esses comandos s\u00e3o chamados de SQL (repita: <strong>\u00e9ssi-qu\u00ea-\u00e9l<\/strong>i.). O SQL \u00e9 o idioma dos SGBDs. Tanto o DBA quanto os programas que usam o SGBD precisam ter\u00a0conhecimentos de SQL pois somente assim voc\u00ea consegue dizer ao SGBD o que ele precisa fazer pra voc\u00ea. Com o SQL voc\u00ea diz exatamente o que voc\u00ea quer o SGBD fa\u00e7a pra voc\u00ea: ler ou gravar dado e qual o dado.<\/p>\n<p style=\"text-align:justify;\">Lembra\u00a0 do exemplo do caixa eletr\u00f4nico? Ent\u00e3o aquilo ali \u00e9 um computador que est\u00e1 executando o programa para te ajudar a realizar as coisas na sua conta. Cada vez que voc\u00ea faz uma opera\u00e7\u00e3o, este programa envia comandos SQL para o servidor de banco de dados (que fica em algum lugar do planeta e \u00e9 extremamente protegido) e aguarda o SGBD responder. Esse geralmente \u00e9 o tempo que voc\u00ea fica aguardando os resultados. \u00c9 r\u00e1pido isso n\u00e9!? Imagina centenas, milh\u00f5es, milhares de pessoas acessando o facebook no mesmo instante&#8230; O site do facebook est\u00e1 a todo momento utilizando um SGBD, e este est\u00e1 indo no banco de dados com as suas informa\u00e7\u00f5es, posts, fotos, coment\u00e1rios, curtidas&#8230; Tudo isso fica\u00a0 guardado em um banco de dados que est\u00e1\u00a0 sendo acessado indiretamente por voc\u00ea!<\/p>\n<p style=\"text-align:justify;\">Boa parte dos programas apenas s\u00e3o criados para que capturem os dados que devem ser fornecidos pelo usu\u00e1rio (eu, voc\u00ea, seu pai, sua m\u00e3e, seu irm\u00e3o, seu cachorro, ops, seu cachorro n\u00e3o&#8230;). De posse dessas informa\u00e7\u00f5es, o programa monta o c\u00f3digo SQL que \u00e9 enviado ao SGBD. Dentro do c\u00f3digo SQL est\u00e1 a maioria dos dados que voc\u00ea forneceu (isso mesmo guerreiro(a)! juntamente com o c\u00f3digo, e n\u00e3o me pergunte como isso acontece, pois o post vai ficar t\u00e9cnico demais! Assunto pra outro post ;-]). Ent\u00e3o o programa se conecta com o servidor de banco de dados, envia os comandos, o SGBD que est\u00e1 nesse servidor recebe estes comandos, faz o que tem quer ser feito, e se for o caso, retorna as informa\u00e7\u00f5es para o programa que solicitou. Tudo isso acontece em segundos, milisegundos, mil\u00e9simos&#8230;<\/p>\n<p style=\"text-align:justify;\">\u00c9 tarefa do DBA, juntamente com as equipes de desenvolvimento, garantir que o banco de dados vai responder rapidamente \u00e0s essas solicita\u00e7\u00f5es de outros programas.\u00a0 O DBA \u00e9 o mediador. O SGBD faz o que o DBA pede. Se o DBA diz ao SGBD que determinado programa pode acessar um determinado banco, o SGBD assim o faz. Em outra palavras, o DBA \u00e9 respons\u00e1vel por garantir tamb\u00e9m a seguran\u00e7a do banco de dados. Garantir a perfomance, dentre muitas outras responsabilidades que se dizem respeitos aos dados de outras pessoas. (Ou voc\u00ea est\u00e1 pensando que qualquer programa, qualquer pessoa, pode acessar os bancos de dados de um SGBD?). \u00a0 Muitas vezes, este trabalho \u00e9 t\u00e3o complexo e grande, que grandes empresas necessitam de equipes de DBAs, chegando a fazer at\u00e9 escalas de plant\u00e3o para cuidar do banco de dados 24 horas por dia (meu amigo&#8230; Tenha certeza que a sua institui\u00e7\u00e3o financeira se preocupa com o bom funcionamento dos sistemas, e inclusive do banco de dados)&#8230;<\/p>\n<p style=\"text-align:justify;\">Bem&#8230; neste ponto voc\u00ea j\u00e1 deve ter alguma no\u00e7\u00e3o do que \u00e9 um banco de dados, um SGBD e um DBA. Em termos pr\u00e1ticos, um DBA cuida\u00a0de um SGBD e o SGBD cuida do banco de dados (sim, pode imaginar que o banco de dados s\u00e3o os dados que est\u00e3o em arquivo l\u00e1 no disco acessado pelo servidor&#8230;). Indiretamente o DBA \u00e9 o respons\u00e1vel pelo banco de dados. A todo momentos dados est\u00e3o sendo adicionados aos bancos de dados e quanto mais cresce\u00a0 maior a tend\u00eancia a problemas (velocidade, seguran\u00e7a, armazenamento, etc.) e o DBA \u00e9 a\u00a0pessoa quem vai ajudar a garantir que esses fatores estejam em seu n\u00edvel aceit\u00e1vel.<\/p>\n<p style=\"text-align:justify;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-340 size-large\" style=\"border:0 solid #000000;\" src=\"http:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/diagrama_bancodados1.png?w=584\" alt=\"\" width=\"584\" height=\"156\" srcset=\"https:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/diagrama_bancodados1.png 1490w, https:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/diagrama_bancodados1-300x81.png 300w, https:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2014\/05\/diagrama_bancodados1-1024x275.png 1024w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/p>\n<p style=\"text-align:justify;\">A maioria dos sistemas no mundo inteiro usam bancos de dados, pois sem eles n\u00e3o h\u00e1 como guardar a informa\u00e7\u00e3o, e a maioria desses sistemas confiam o gerenciamento dos seus dados a\u00a0um SGBD, pois \u00e9 uma tarefa complexa, n\u00e3o precisamos reinventar a roda:<\/p>\n<ul style=\"text-align:justify;\">\n<li>O sistema de ponto eletr\u00f4nico da sua empresa<\/li>\n<li>O sistema do supermercado onde realiza as suas compras<\/li>\n<li>O sistema banc\u00e1rios das institui\u00e7\u00f5es financeiras do Brasil<\/li>\n<li>Os sistema de RH<\/li>\n<li>O facebook, o instagram, o twitter, o globo.com, o Google, o whatsapp, etc.<\/li>\n<li>Os blogs (de onde voc\u00ea acha que este texto que voc\u00ea est\u00e1 lendo foi tirado?)<\/li>\n<li>O jogo online que voc\u00ea ou seu filho gosta de jogar contra os amigos<\/li>\n<li>O mercado livre, a Amazon, eBay, etc. (Os pre\u00e7os dos produtos, dados de entrega, de compra, etc. ficam seguramente guardados por um SGBD)<\/li>\n<li>Os endere\u00e7os reconhecidos pelos correios (o pr\u00f3prio nome j\u00e1 dize &#8220;Base de dados dos correios&#8221; )<\/li>\n<li>In\u00fameros outros sistemas<\/li>\n<\/ul>\n<h1 id=\"PerguntasERespostas\" style=\"text-align:justify;\">Bom, para resumir,\u00a0 vamos \u00e0 algumas perguntas e respostas:<\/h1>\n<hr \/>\n<p style=\"text-align:justify;\"><strong>\u00a0<\/strong><strong>O que \u00e9 um banco de dados?<\/strong><\/p>\n<p style=\"text-align:justify;padding-left:30px;\">Um banco de dados \u00e9 um lugar onde voc\u00ea guarda &#8230;.? Dados! \u00c9 um conceito apenas. Voc\u00ea pode ter um banco de dados em casa, aquele card\u00e1pio do seu restaurante preferido,a lista de convidados para a sua festa, a agenda telef\u00f4nica do seu celular, etc&#8230;.<\/p>\n<p style=\"text-align:justify;padding-left:30px;\">H\u00e1 uma semelhan\u00e7a: Em todas esses casos, algum dado est\u00e1 sendo guardado em algum lugar. A diferen\u00e7a \u00e9 o meio onde esses dados est\u00e3o sendo guardados. No caso da lista de convidados e do card\u00e1pio voc\u00ea pode encontrar em uma folha de papel impressa ou escrito a m\u00e3o mesmo (apesar de restaurantes mais modernos oferecer um card\u00e1pio eletr\u00f4nico&#8230; E advinha onde os dados desse card\u00e1pio est\u00e3o guardados!?). No caso do celular os dados ficam guardados na mem\u00f3ria interna do seu celular, ou no chip, ou no cart\u00e3o de mem\u00f3ria, que s\u00e3o lugares onde dispositivos eletr\u00f4nicos conseguem armazenar algo.<\/p>\n<p style=\"padding-left:30px;text-align:right;\"><span style=\"color:#3366ff;\"><em><span style=\"color:#666666;\">\ud83d\udca1<\/span>Ent\u00e3o uma impressora pode ser um banco de dados?<span style=\"color:#666666;\">\u2753<\/span><\/em><\/span><\/p>\n<p style=\"text-align:justify;padding-left:30px;\">Talvez, para voc\u00ea, ser humano infeliz! Mas para um programa de computador n\u00e3o seria um boa id\u00e9ia&#8230; Como o programa conseguiria recuperar esses dados de volta? Scanner? Pois \u00e9, al\u00e9m de ser um processo extremamente lento, quem faria o trabalho seria outro dispositivo, e n\u00e3o a impressora.<\/p>\n<p style=\"text-align:justify;padding-left:30px;\">E no caso de ser para seu uso mesmo, voc\u00ea, ser humano, o banco de dados seria os pap\u00e9is onde o dado seria impresso&#8230; A impressora seria mais um SGBD, e voc\u00ea seria o programa solicitando que os dados fossem gravados l\u00e1&#8230; Ent\u00e3o esque\u00e7a essa id\u00e9ia maluca&#8230; E esque\u00e7a esse exemplo!<\/p>\n<p style=\"text-align:justify;\"><strong>Como \u00e9 um banco de dados no mundo da computa\u00e7\u00e3o?<\/strong><\/p>\n<p style=\"text-align:justify;padding-left:30px;\">Quando vamos para o mundo de computadores, um banco de dados \u00e9 nada mais nada menos do que dados sendo &#8220;salvos&#8221; ou &#8220;lidos&#8221; em\u00a0uma mem\u00f3ria do computador. Igual quando voc\u00ea digita um documento e depois salva no disco, ou no pen drive, por exemplo, um banco de dados tamb\u00e9m \u00e9 assim.<\/p>\n<p style=\"text-align:justify;padding-left:30px;\">Um banco de dados pode ser os dados de arquivo no disco r\u00edgido\u00a0(HD)\u00a0 acessado por computador em que um programa est\u00e1 constantemente lendo e gravando eles. \u00c9 necess\u00e1rio um programa espec\u00edfico que fique cuidando desta tarefa pois h\u00e1 tamb\u00e9m outras quest\u00f5es: seguran\u00e7a dos dados, velocidade de acesso, controle de acesso simult\u00e2netos, etc.<\/p>\n<p style=\"text-align:justify;\"><strong>Que programa \u00e9 respons\u00e1vel por um banco de dados?<\/strong><\/p>\n<p style=\"text-align:justify;padding-left:30px;\">Um banco de dados \u00e9 gerenciado por um programa espec\u00edfico para isso. Este programa \u00e9 chamado de SGBD (Software Gerenciador de Banco de Dados). Ele \u00e9 igual um programa de computador qualquer, s\u00f3 que constru\u00eddo exclusivamente para guardar e ler dados que outros programas ou sistemas necessitam.<\/p>\n<p style=\"text-align:justify;padding-left:30px;\">Como o SGBD \u00e9 um programa de computador, \u00e9 preciso que exista algu\u00e9m que manipule esse programa. Apesar de conseguir fazer boa parte do trabalho sozinho, o SGBD s\u00f3 faz o que lhe foi programado, e \u00e9 algu\u00e9m precisa dar manunten\u00e7\u00e3o e estar monitorando o mesmo para checar se tudo est\u00e1 ok. Essa pessoa\u00a0 \u00e9 o Administrador de Banco de Dados (DBA, do ingl\u00eas: Database Administrator).<\/p>\n<p style=\"text-align:justify;padding-left:30px;\">Para ser um DBA, o profissional deve entender de como um determinado SGBD funciona, incluindo sua arquitetura, para reagir e evitar problemas, al\u00e9m de planejar configura\u00e7\u00f5es e a\u00e7\u00f5es que ir\u00e3o tornar os dados guardados pelo SGBD mais seguros e r\u00e1pidos de serem gravados e acessados.<\/p>\n<p style=\"text-align:justify;\"><strong>Qual a diferen\u00e7a entre o SGBD e o banco de dados?<\/strong><\/p>\n<p style=\"text-align:justify;padding-left:30px;\">O SGBD cuida de um bancos de dados. Ele \u00e9 um programa de computador respons\u00e1vel por ler e gravar os dados em resposta \u00e0s solicita\u00e7\u00f5es de outros programas (por exemplo: sites, aplicativos, etc.). O SGBD est\u00e1 constatemente lendo e gravando os dados em em arquivos, por ele mesmo criado. Os programas que desejam utilizar um banco de dados n\u00e3o precisam nem mesmo estar instalados junto com o SGBD&#8230; S\u00f3 precisam conseguir se comunicar com eles.<\/p>\n<p style=\"text-align:justify;padding-left:30px;\">Os outros programas\/sistemas n\u00e3o necessitam saber como isso \u00e9 feito. Basta que eles enviem comandos ao SGBD solicitando o que dejesa. Quando voc\u00ea utiliza algum sistema de computador que usa banco de dados, est\u00e1 acessando indiretamente o banco de dados por meio deste sistema. O fluxo \u00e9:<\/p>\n<p style=\"text-align:justify;padding-left:30px;\">Voc\u00ea (Inocente!) \u00a0-&gt; Sistema -&gt; SGDB -&gt; dados<\/p>\n<p style=\"text-align:justify;\"><strong>Quem cria o SGBD?<\/strong><\/p>\n<p style=\"text-align:justify;padding-left:30px;\">N\u00e3o existe apenas 1 SGBD. V\u00e1rias empresas dedicam equipes (e grandes) para construir um. Microsoft, IBM e Oracle s\u00e3o exemplos de fabricantes dos SGBDs mais populares do mercado.<\/p>\n<p style=\"text-align:justify;padding-left:30px;\">Essas empresas dedicam profissionais para desenvolvedorem um SGBD, assim como qualquer outro software (tipo o Windows, o Hotmail, o Facebook, etc.) e est\u00e3o constantemente oferecendo atualiza\u00e7\u00f5es e melhorando as caracter\u00edsticas, al\u00e9m de corrigir os problemas. Os SGBDs s\u00e3o programas de computadores complexos, que envolvem muitas t\u00e9cnicas avan\u00e7adas. N\u00e3o \u00e9 qualquer grupo que consegue desenvolver sistemas como este. \u00c9 preciso de gente experiente, pois ir\u00e3o desenvolver um software que ir\u00e1 atender a outros programas de computador do mundo inteiro, al\u00e9m de manipularem dados de outras pessoas.<\/p>\n<p style=\"text-align:justify;\"><strong>Quem escolhe qual SGBD um determinado programa ou site ir\u00e1 usar?<\/strong><\/p>\n<p style=\"text-align:justify;padding-left:30px;\">Isso vai depender do respons\u00e1vel por um sistema. Ele \u00e9 quem vai decidir, de acordo com pre\u00e7os e recursos necess\u00e1rios, qual escolher. Existem SGBDs de gra\u00e7a, por\u00e9m os pagos oferecem mais recursos importantes para \u00a0os sistema mais cr\u00edticos. (Pode apostar que o sistema banc\u00e1rio da sua institui\u00e7\u00e3o financeira \u00e9 muito mais cr\u00edtico do que o programa da padaria da esquina).<\/p>\n<p style=\"text-align:justify;padding-left:30px;\">Em boa parte dos casos, os sistemas que usamos hoje est\u00e3o utilizando mais de um SGBD, devido a um s\u00e9rie de fatores e decis\u00f5es que s\u00e3o feitas pelas equipes que participam na constru\u00e7\u00e3o destes sistemas. Tudo isso \u00e9 transparente para voc\u00ea, usu\u00e1rios finais dos sistemas. O que importa\u00a0 \u00e9 que o sistemas cumpra com o seu trabalho levando e trazendo suas informa\u00e7\u00f5es com velocidade e seguran\u00e7a.<\/p>\n<p style=\"text-align:justify;\"><strong>Comos os programas conversam com os SGBDS?<\/strong><\/p>\n<p style=\"text-align:justify;padding-left:30px;\">Os SGBD s\u00e3o constru\u00eddos de forma que eles respondam a comandos chamados SQL. O programador de outros sistemas deve estudar e conhecer este comandos para que consiga integrar seu sistema com o SGBD e permitir que os dados sejam lidos ou gravados em um banco de dados.<\/p>\n<p style=\"text-align:justify;\"><strong>Se o SGBD \u00e9 um programa, onde ele fica instalado? E quem instala?<\/strong><\/p>\n<p style=\"text-align:justify;padding-left:30px;\">Os SGBD fica em um computador designado para receber este tipo de programa. Este servidor dever\u00e1 ter acesso a discos onde os dados ser\u00e3o lidos e gravados por ele.\u00a0Este tipo computador damos o nome de &#8220;servidor de banco de dados&#8221; pois ele ir\u00e1 servir para ler e gravar dados em bancos de dados, e isso ser\u00e1 feito pelo SGBD.<\/p>\n<p style=\"text-align:justify;padding-left:30px;\">\u00c9 tarefa do DBA instalar o SGBD. Pois como ele \u00e9 o profissional que conhece profundamente o produto, ent\u00e3o poder\u00e1 fazer os ajustes e configura\u00e7\u00f5es no momento da instala\u00e7\u00e3o que poder\u00e3o melhorar o desempenho e seguran\u00e7a do SGBD.<\/p>\n<p style=\"text-align:justify;\"><strong>Um SGBD, j\u00e1 que ele \u00e9 um programa de computador, precisa de\u00a0outro SGBD para guardar dados tamb\u00e9m?<\/strong><\/p>\n<p style=\"text-align:justify;padding-left:30px;\">N\u00e3o \u00e9 preciso. Pois o SGBD \u00e9 a ponta final de um sistema inteiro. Ele \u00e9 quem se preocupa em guardar os dados em algum lugar.<\/p>\n<p style=\"text-align:justify;padding-left:30px;\">De forma bem grosseira, podemos dizer que um SGBD n\u00e3o depende de nenhum outro programa para guardar dados, por\u00e9m outros programas dependem de um SGBD para guardar os dados. Eles apenas dependem do servidor com processadores e mem\u00f3ria onde est\u00e3o instalados e de um local para armazenar os dados (como discos, por exemplo).\u00a0Na maioria dos casos, acesso a uma rede de computadores ser\u00e1 necess\u00e1rio, pois geralmente os outros programas est\u00e3o instalados em outros computadores.<\/p>\n<hr \/>\n<p style=\"text-align:justify;\">Ent\u00e3o \u00e9 isso pessoal. Espero que esse assunto tenha esclarecido algo. De novo, aos mais experientes no assunto, eu n\u00e3o quis entrar em muitos detalhes t\u00e9cnicos. Muitos exemplos e conceitos foram utilizados para tentar ser o mais did\u00e1tico poss\u00edvel, assumindo que a maioria dos leitores n\u00e3o ir\u00e3o conhecer do assunto.<\/p>\n<p style=\"text-align:justify;\">Perdoe os erros de portugu\u00eas, e utilize os coment\u00e1rios para\u00a0deixar cr\u00edticas, d\u00favidas, sugest\u00f5es, etc.<\/p>\n<p style=\"text-align:justify;\">Muito obrigado!\u00a0At\u00e9 a pr\u00f3xima.<\/p>\n<p style=\"text-align:right;\">Rodrigo Ribeiro Gomes<br \/>\n[ ]&#8217;s<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Salve caro amigo! Sei que a muito tempo n\u00e3o posto nada aqui. Do \u00faltimo post pra c\u00e1, muitas coisas aconteceram&#8230; Vida pessoal e profissional est\u00e1 a mil&#8230;\u00a0Prometo que vou terminar a s\u00e9rie sobre SELECT&#8230; Mas s\u00e3o tantos assuntos legais\u00a0 e acaba que n\u00e3o saio com nada do outro lado. N\u00e3o vou prometer muitas postagens, mas&hellip;&nbsp;<a href=\"https:\/\/thesqltimes.com\/blog\/2014\/05\/13\/banco-de-dados-o-que-e\/\" rel=\"bookmark\"><span class=\"screen-reader-text\">Entendendo o que \u00e9 um banco de dados e o que faz um Administrador de Banco de dados (DBA)<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":271,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[3,7],"tags":[15,29,32,34,67],"series":[],"class_list":["post-255","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-banco-de-dados-2","category-sql-server","tag-banco-de-dados","tag-conceitos","tag-database","tag-dbms","tag-sgbd"],"_links":{"self":[{"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/posts\/255","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/comments?post=255"}],"version-history":[{"count":0,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/posts\/255\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/media\/271"}],"wp:attachment":[{"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/media?parent=255"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/categories?post=255"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/tags?post=255"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/series?post=255"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}