thegoodfellas/blogset-br huggingface dataset:
Ola pessoal!Finalmente vou escrever algo sobre a Guine.Ja tem quase 8 meses que estou trabalhando no projeto aqui sedo que esta e minha terceira vez aqui.Ja estou bem familiarizado com o que vi e ja deu pra perceber bastante as diferencas entre os outros paises da Africa por onde ja passei.Antes de mais nada vou falar um pouco sobre o pais pois muitas pessoas acham que estou na Guine Bissau, mas nao estou!O Nome oficial e Republica da Guine. So isso. Quando estava em Mocambique, alumas pessoas de la me perguntavam qual Guine e eu sempre falava que tava vindo pra Guine, Guine rsrsrsDai muitos me perguntavam se era a Guine Conakry, dai que fui ver que a capital do pais e Conakry, ou seja, aqui na Africa muitos paises falam Guine Conakry para diferenciar das demais Guines existentes, principalmente a vizinha que fica mais a norte, a Guine Bissau.O pais tem cerca de 10 milhoes de habitantes e seu idioma oficial e o Frances. Ele faz divisa com diversos outros paises que estao em situacao politica menos estavel e sempre tem algum problema. Os vizinhos sao Serra Leoa, Guine-Bissau, Costa do Marfim e Liberia.O presidente da Guine se chama Alpha Conde. Ele assumiu a presidencia em 2008 quando o antigo presidente morreu assassinado. Conde e famoso por ser um intelectual do pais tendo estudado em uma das melhores universidades da Franca.A maioria da populacao e islamica (85%), tendo tambem cerca de 15% de catolicos pelo pais.A moeda e bastante desvalorizada, o Franco-guineense, como e chamada a moeda, para se ter uma ideia pode-se fazer a conversao de que 10 mil franco-guineenses vale 1 Euro.A cidade onde fico se chama N'Zerekore. Ela e a segunda maior cidade do pais e a maior cidade da Guine florestal. Ela possui cerca de 200 mil habitantes.O numero de habitantes aumentou bastante nos ultimos anos devido a entrada de fugitivos dos paises vizinhos que estavam em guerra civil.N'Zerekore esta bem distante de Conakry (1200km), sendo que se encontra bem proximo da Liberia (acho que uns 100km).Sempre que venho para N'Zerekore passo por Conakry, sendo as unicas 2 cidades que conheco, alem de alguns vilarejos ao longo do caminho que faco ate chegar a Zogota que e onde estamos abrindo a mina.Vou comecar falando um pouco mais sobre N'Zerekore pois e onde eu mais fico aqui.Se eu for comparar N'Zerekore com Tete em Mocambique ou outros lugares da Africa por onde ja passei, posso dizer que aqui e o mais desorganizado. A cidade e bem baguncada. No transito ninguem respeita ninguem. Acho que se alguem nao tiver buzina aqui nao vai saber dirigir. Uma buzinacao constante. A quantidade de motos e pessoas andando nas ruas aqui e grande como em Mocambique (la pelo menos tinham passeio para pedestre em muitos lugares) porem as condicoes das estradas aqui nao sao nada boas.Aqui e praticamente inexistente energia eletrica. A grande maioria da energia e obtida por geradores nas casas, hoteis, comercio, etc. Os postes de iluminacao publica sao de energia solar. O problema e que muitos nao funcionam por
falta de uma manutencao adequada.Como a cidade fica localizada na Guine florestal, as condicoes dos solos favorecem bastante as plantacoes. Fora que a vegetacao aqui e bem densa o que e bem diferente de Tete em Mocambique. Agora comeca a epoca das chuvas sendo que chove bastante aqui.A populacao em geral e bem pobre porem nao e aquele povo que passa muita fome. Creio que justamente pelo fato de ter uma terra boa para plantacao, o que permite que eles possam cultivar sua comida para subsistencia. A quantidade de cabritos aqui tambem e grande sendo um alimento bem comum para a populacao.Em geral, N'Zerekore tem muito para melhorar. Acho que aqui vai ocorrer como esta acontecendo em Tete. A populacao esta aumentando o seu poder de aquisicao e isso melhora bastante a qualidade de vida da populacao e infra estrutura das cidades. Hoje vemos que muitas das ruas da cidade estao sendo asfaltadas e creio que e resultado do aumento dos impostos pago pelas empresas de mineracao que estao na regiao.Com o tempo vou colocando mais informacoes e fotos de N'Zerekore.Grande abraco e ate a proxima.
Se Tete faz calor?Bom, da uma olhadinha na foto que tirei do termometro da caminhonete hoje. Isso e comum se ver por aqui.Nao e atoa quando escuto por aqui coisas como: "Tete a capital do inferno", "Tete o caldeirao do diabo".Ainda bem que em breve estarei morando em uma casa com piscina! Ola meu amigos!Esse negocio de ser famoso tem horas que e complicado.E nao e que os paparazos me encontraram quando fui a Beira e colocaram foto no Jornal?Para falar a verdade, um colega de trabalho disse ao Sandro que tinha visto uma foto nossa no jornal. Depois ele consegui o jornal e trouxe para nos. Depois disso varias pessoas disseram ter visto o jornal e a noticia foi se espalhando. O negocio e que ninguem sabe como essa foto foi parar no jornal.O Jornal que saiu a foto e "O Pais" daqui de Mocambique no dia 20 de Novembro, no qual estava falando sobre a cidade de Beira e colocaram essa foto nossa.A maior probabilidade de onde saiu esta foi foto no meu blog, pois no mesmo post que falei de quando fomos a Beira, tem essa foto!Vai entender ne? Veja ai uma foto que tirei do jornal para comprovar o feito! Ola a todos!Demorei novamente a escrever, ne?Mas agora que terminei meu mestrado vou comecar a ter mais tempo para escrever aqui.Vou contar um pouco sobre Cape Town ou Cidade do Cabo em portugues. Estive la no fim de semana de 24 e 25 de setembro.Pena que foi somente um fim de semana em Cape Town. A cidade e linda, limpa, organizada, bem estruturada! Recomendo a quem tiver a oportunidade de ir conhecer la, ficar pelo menos uns 5 dias pra fazer tudo com tranquilidade.Aqui em Mocambique e feriado dia 25 e como aqui (na Africa do Sul tambem) quando o feriado cai no domingo, nao se trabalha no proximo dia util. Assim nao trabalhei no dia 26 e deu pra fazer uma viagem mais longa. A uns 2 meses comecamos a comentar sobre a possibilidade de ir para la e varias pessoas disseram que iriam, mas no fim fomos em 4 pessoas. Eu, Bebeto Mota, Bruninha e Fabi!Pegamos o voo de Tete a Joburg na sexta-feira e chegamos la na sexta pro volta das 22:30. Pegamos o carro alugado e fomos em direcao ao albergue que haviamos reservado.O albergue e como qualquer outro tipo de albergue. Simples mas pra quem ta buscando economia e tranquilo. O albergue se chama Cape Town Backpackers.Mas como 50% das pessoas (duas), nao estavam se sentindo bem la pois queria mais conforto, decidimos trocar de lugar no dia seguinte.Dai no sabado apos nos alojarmos no hotel que encontramos partimos para os nossos passeios.O primeiro dia de passeio foi destinado a conhecermos o Cabo da boa esperanca (Cape of good hope).Como saimos um pouco depois das 11h para o passeio ficamos limitados no numero de lugares pra se conhecer neste dia, ja que o Cabo da boa esperanca (juntamente com o Cape Point) e um pouco distante e leva um certo tempo para se
chegar ate la.Fomos ate la margeando, sempre que possivel, o oceano Atlantico. A paisagem e encantadora durante o caminho.Pra quem nao sabe, o Cabo da boa esperanca e onde se divide o oceano entre Atlantico e Indico. Tambem fomos no farol do Cape point onde podemos apreciar o lugar e e claro, tirar a foto com a famosa placa que mostra a distancia deste ponto ate algumas das principais cidades do mundo, sendo o Rio de Janeiro uma delas.Indescritivel o lugar! Muita ventania tambem. Ainda bem que o tempo estava limpo e era possivel se ver tudo claramente.Na volta para a cidade, voltamos margeando o oceano Indico com um outro visual diferente do que encontramos na ida.Durante a volta, paramos em um lugar que nao me recordo o nome, para ver pinguins. Nao se tem muito a fazer a nao ser ver os pinguins e tirar fotos deles a um distancia proxima a nossa. Muito bonitinho eles.Uma das frases que marcou a viagem: Eu quero um pinguim, ou como diz o Bebeto Mota: Eu quero um pinguuim. HeheheheDe la seguimos para o Waterfront.O Waterfront e um lugar bem legal! Fica localizado na beira mar em um habor ao meio restaurantes e shoppings. Um lugar bem gostoso pra ir almocar, jantar, bater papo e fazer umas compras. No entanto e que voltamos la para jantar no dia seguinte.No dia seguinte, acordamos um pouco mais cedo e fomos dar uma volta na praia. Eu so pisei na areia e ja vi que a agua do mar la e bem gelada. Nao quis arriscar nem colocar os pes na agua. Mas haviam algumas poucas pessoas que se arriscavam entrando no mar. Sentamos em um restaurante na beira do mar e la ficamos por um bom tempo.O objetivo do dia era ir ate a Table Mountain e como queriamos ver o por do sol de la, fomos pra la pro volta das 16h30 de forma a subir no table car e passear um pouco antes de apreciar o por do sol.Nao vou nem falar nada a respeito, a foto vai falar por mim.O passeio foi otimo mas ainda acho que ficaram faltando mais dois dias em Cape Town para poder aproveitar mais coisas, como por exemplo, o mergulho enjaulado para ver os tubaroes brancos e fazer o roteiro do vinho ja que a regiao de Cape Town e tambem conhecida por ter um dos melhore vinhos do mundo.Se possivel, ainda quero voltar a Cape Town um dia!
Ola meus amigos e amigas!A tempo estava querendo publicar esta forma de carinho entre amigos que e bem comum aqui em Tete. Mas estava com dificuldade de encontrar fotos de qualidade. Mas vejam as que tenho.Amigos aqui muitas vezes andam de mao dadas! Muito "bonitinho" ver isso!Isso e uma pratica de afeto entre amigos homens aqui! Assim como na Argentina amigo se comprimentam com um beijo no rosto. Isso nao quer dizer que eu me aderi a essa pratica. Longe disso...Mesmo nao sendo homosexuais alguns praticam este ato, digamos que interessante.O problema e quando voce esta conversando com algum colega de trabalho e o mesmo segura sua mao de tal forma que voce nao consegue soltar da mao dele! Alguns de meus colegas brasileiros ja passaram por um "perrengue" destes.A terceira e quarta fotos foram cedidas pelo meu amigo Adriano. Abraco e ate a proxima. Sejam bem vindos de volta,Se estiverem lendo esse artigo estao acompanhando nossa serie de artigos que vai tratar de alguns pontos da linguagem SQL. Nas primeiras duas partes dessa serie comecamos uma introducao sobre a linguagem, mostrando quais os comando basico, criamos um banco de dados, algumas tabelas e colocamos alguns registros nessas tabelas. Caso nao tenham visto ainda os primeiros artigos e so acessar Desvendando o SQL - Parte I - Introducao e Desvendando o SQL - Parte II - Criando um Banco de Dados e Tabelas e conferir o que ja foi explicado.No ultimo artigo criamos algumas tabelas e realizamos a carga das mesmas, de maneira simples mostramos como usar o create table e o insert. Nos scripts disponibilizados tinham muito mais informacoes e vamos explicar no seu devido tempo. Caso seja necessario, no final de cada artigo irei disponibilizar os scripts utilizados.TEM QUE MUDAR TUDO, E AGORA?Se por algum motivo esquecemos-nos de colocar um campo na tabela? Ou algum atributo de um campo precisa ser alterado? Ou tem campos demais?Mas se tem campo novo ele precisa de carga nao e? Os valores preenchidos estao errados?Tem registros que nao deveriam esta la?Se nao sabe as respostas das perguntas acima, te digo que para todas existem respostas e de certo respostas simples, basta saber o que usar.Alterando a estrutura da TabelaBem vamos supor que seus produtos agora tenham um numero de serie que precisa ser cadastrado, e e obrigatorio, mas nao existe um campo para isso, entao vamos colocar. Um novo campo incluido vai sempre pro final da lista de campos, entao se a ordem e importante tem que criar a tabela novamente com os campos certos, pois via script e inviavel, pela ferramenta grafica e possivel, caso deseje eu ensino como.Em uma nova consulta, digite o codigo abaixo, lembre-se de comecar o script usando USE DBESTOQUE, para certeza que suas alteracoes estao em seu banco:ALTER TABLE TBPRODUTO ADD NR_SERIE VARCHAR(15) NOT NULLO comando ALTER TABLE tem como funcao fazer alteracoes na estrutura da tabela, como add ou retirar campos, atributos, contraints etc.Com o comando estamos adicionando um campo por nome NR_SERIE do tipo cadeira de caracteres com ate 15 posicoes com o atributo de obrigatoriedade,
mas se e um numero porque nao colocar um inteiro? Lembra que os numeros de serie as vezes contem letras? Entao temos que considerar que dados serao inseridos no campo.Pode rodar sua consulta, F5 e ver o que acontece. Pelo visto nao deu certo nao e? Apareceu uma mensagem parecida com abaixo?Mensagem 4901, Nivel 16, Estado 1, Linha 3ALTER TABLE so permite a inclusao de colunas que contem nulos ou uma definicao DEFAULT especificada, ou a coluna que esta sendo adicionada e uma coluna de identidade ou de carimbo de data/hora, ou, opcionalmente, se nenhuma das condicoes anteriores for atendida, a tabela devera estar vazia para aceitar inclusao desta coluna. A coluna 'NR_SERIE' nao pode ser adicionada a uma tabela 'TBPRODUTO' que nao esteja vazia, porque ela nao atende a essas condicoes.Fiz de proposito, pela mensagem voce ira perceber que nao e possivel incluir um campo obrigatorio em linhas que ja contem registros. Ao ser inserido um novo campo ele tem o valor Nulo, o que nao e permitido pelo atributo NOT NULL, e agora? Agora tem que inserir o campo sem ser obrigatorio.ALTER TABLE TBPRODUTO ADD NR_SERIE VARCHAR(15) NULLAgora executou sem erro, mas o campo nao tem que ser obrigatorio? Ja resolvemos isso. Agora com a nova coluna inserida vamos colocar dados nela, para isso vamos usar o comando UPDATE, ele evita um monte de trabalho, ou entao o jeito e ir de registro em registro e modificar.Comentando um trecho de codigoAbrindo um parentese, em uma consulta SQL a execucao roda tudo que estiver na tela, mas podemos querer executar somente uma parte da consulta, para isso existem algumas maneiras, uma delas e selecionar somente o texto a ser executado, o compilador considera somente o selecionado. Outra maneira e comentar o codigo a ser desconsiderado, deve ter visto isso no script do artigo anterior. Duas maneiras sao as comuns de comentar, usando dois hifens para comentar uma linha ou usando a tag /* *//* o que estiver aqui dentro esta comentado e sera desconsiderado */-- o que estiver nessa linha esta comentado e seradesconsideradoClaro que cada produto tem seu numero de serie, mas vamos automatizar esse preenchimento so para facilitar, em uma nova consulta ou na mesma insira o codigo abaixo. UPDATETBPRODUTOSET NR_SERIE = 'NS' + CAST(CD_PRODUTO AS VARCHAR(5)) + CAST(CD_REFERENCIA AS VARCHAR(10)) + CAST(CD_CATEGORIA AS VARCHAR(3)) FROM TBPRODUTOO que fiz foi juntar alguns campos e criar um numero de serie pra cada produto, faca uma consulta na tabela de produto e vera os campos preenchidos.Ja explico o comando UPDATE, vamos resolver nosso problema do campo, pois ele deve ser obrigatorio na e? Entao vamos fazer o seguinte, mudar o atributo de obrigatoriedade do campo, para isso digite na consulta o seguinte:ALTER TABLE TBPRODUTO ALTER COLUMN NR_SERIE VARCHAR(15) NOT NULLAlteramos nossa coluna criada, agora ela e obrigatoria como deveria. Viu como nao e tao complicado como parece, completando, precisa apagar um campo? Entao tambem e simples, somente lembre-se que se o campo for uma chave que esteja sendo utilizado por outra tabela nao podera exclui-lo antes de tirar a referencia dele
produtos devido a existencia duma chave estrangeira. Isso e ruim? Sim e Nao. Sim porque impede que nosso registro seja excluido, so que eu nao quero mais ele la. Nao porque isso mostra que a existencia de ligacoes entre as tabelas impede que o banco de dados vire uma bagunca, e a normalizacao funcionando de novo.Ele problema pode ser resolvido de duas maneiras:1o. Excluir na tabela de produtos todos os registros que estao ligados a essa categoria, mas isso implica em ter que excluir tambem os registros de estoque que constam os produtos, a chamada exclusao em cascata, mas a bagunca pode aumentar. Nao recomendo no momento.2o. Alterar os produtos que fazem referencia a essa categoria, colocando neles outra categoria, ai sim podemos excluir a categoria que queremos. Bem mais recomendado.Entao vamos optar no momento pela 2o solucao, primeiro vamos incluir na tabela de categorias uma nova categoria como o nome de Sem Categoria Definida, utilize o script abaixo.INSERT INTO TBCategoria (DESC_CATEGORIA) VALUES ('Sem Categoria Definida')Feito isso vamos alterar na tabela de produtos os produtos que fazem referencia a categoria que vai ser excluida.UPDATE TBPRODUTOSET CD_CATEGORIA = (SELECT CD_CATEGORIA FROM TBCATEGORIA WHERE DESC_CATEGORIA = 'Sem Categoria Definida')WHERE CD_CATEGORIA = 4Agora pode excluir a categoria e nenhum problema ocorrera.DELETE FROM TBCATEGORIA WHERE CD_CATEGORIA = 4Viu como de um jeito ou de outro tem solucao, bem vou terminar o artigo de hoje com um desafio. Com o que fizemos ate agora e moleza.Desafio1o. Criar uma nova tabela de subcategoria, essa tabela deve ter 3 (tres) campos, um de codigo, uma descricao e um que deve fazer referencia a tabela de categorias (chave estrangeira), todos obrigatorios, a chave primaria sera o campo de codigo do tipo identity. Incluir uma descricao para a tabela;2o. Fazer o script de carga dessa tabela;3o. Altera a tabela de produtos, retirar o campo de categoria e incluir de subcategoria, esse campo fara referencia a nova tabela criada lembre-se de mudar a FK da tabela de produtos para o novo campo, sera obrigatorio e deve ser carregado com os codigos correto das subcategorias. Se achar necessario pode incluir novos produtos;4o. Dica nos scripts disponibilizados no artigo anterior tem como excluir as Foreign Key;Facil demais nao e, podem postar no comentario os scripts com as alteracoes, no proximo artigo vou incluir o script com a solucao.Por enquanto ficamos por aqui, caso deseje comentar, tirar duvidas, deixar sugestoes, fique a vontade e comente, se gostou fale, se nao gostou fale tambem. Proximo artigo vamos comecar nossas consultas usando o SELECT, espero por voce. Ate la.Abraco a todosScripts:Comandos usadosArtigos anteriores:Desvendando o SQL - Parte I - IntroducaoDesvendando o SQL - Parte II - Criando um Banco de Dados e Tabelas
Amigos e leitores, estamos devolta. Essa ja e a 8a parte da nossa serie de artigo sobre a linguagem SQL.Vamos continuar hoje mostrando como trabalhar com a conversao de valores no SQLusando as expressoes CAST e CONVERT, desejo uma boa leitura a todos.Ao longo de nossos artigos vocedeve ter notado que usamos uma expressao do tipo ...CAST(Campo ASVarchar(10))..., o que ela faz e converter o valor de Campo para o tipovarchar(10), assim com e possivel converte para os outros varios tipos existentes.Isso e necessario quando temos resultados que precisam se adaptar a outros,parametros que chegam a um tipo diferente, dentre outras opcoes.SintaxeSyntaxe para CAST:CAST ( expressao AS tipo de dados [ ( tamanho ) ] ) Syntaxe para CONVERT:CONVERT ( tipo de dados [ ( tamanho ) ] , expressao [ , estilo ] )Os tipos, vimos de forma geral emnossa segunda parte (Desvendandoo SQL - Parte II). Ja os estilos, veremos os mais usados.Estilos de data e horaQuando se tratar de data ou horaos estilos podem ser os valores da tabela abaixo, lembrando que o SQL porpadrao considera para corte o ano de 2049, ou seja, o ano de dois digitos 49 econsiderado o ano de 2049, ja 50 e considerado como 1950. Sem seculo (aa) (1) Com seculo (aaaa) Standard Entrada/Saida (3) - 0 ou 100 Padrao mes dd aaaa hh:miAM (ou PM) 1 101 EUA mm/dd/aaaa 2 102 ANSI aa.mm.dd 3 103 Britanico/frances dd/mm/aaaa 4 104 Alemao dd.mm.aa 5 105 Italiano dd-mm-aa 6 106 - dd mes aa 7 107 - Mes dd, aa 8 108 - hh:mi:ss - 9 ou 109 Padrao + milissegundos mes dd aaaa hh:mi:ss:mmmAM (ou PM) 10 110 EUA mm-dd-aa 11 111 JAPAO aa/mm/dd 12 112 ISO aammddaaaammdd - 13 ou113 Padrao Europa + milissegundos dd mes aaaa hh:mi:ss:mmm (24h) 14 114 - hh:mi:ss:mmm(24h) - 20 ou120 ODBC canonico aaaa-mm-dd hh:mi:ss(24h) - 21 ou121 ODBC canonico (com milissegundos) aaaa-mm-dd hh:mi:ss.mmm(24h) - 126 ISO8601 aaaa-mm-ddThh:mi:ss.mmm (sem espacos) - 127 ISO8601 com fuso horario Z. aaaa-mm-ddThh:mi:ss.mmmZ (sem espacos) - 130 Islamico (5) dd mmm aaaa hh:mi:ss:mmmAM - 131 Islamico (5) dd/mm/aa hh:mi:ss:mmmAM Estilo float e real Valor Saida 0 (padrao) Um maximo de 6 digitos. Use em notacao cientifica, quando apropriado. 1 Sempre 8 digitos. Use sempre em notacao cientifica. 2 Sempre 16 digitos. Use sempre em notacao cientifica. 126, 128, 129 Incluidos por razoes de legado e poderia ser preterido em uma versao futura. Estilos money e smallmoney Valor Saida 0 (padrao) Nenhuma virgula a cada tres digitos a esquerda do ponto decimal e dois digitos a direita do ponto decimal. Por exemplo, 4235.98. 1 Virgulas a cada tres digitos a esquerda do ponto decimal e dois digitos a direita do ponto decimal. Por exemplo, 3,510.92. 2 Nenhuma virgula a cada tres digitos a esquerda do ponto decimal e quatro digitos a direita do ponto decimal. Por exemplo, 4235.9819. 126 Equivalente ao estilo 2 ao converter para char(n) ou varchar (n) Estilos binarios Valor Saida 0(padrao) Converte caracteres ASCII em bytes binarios ou bytes binarios em caracteres ASCII. Cada caractere ou byte e convertido 1:1.Se
ARMAZENADOS, e vamoster oportunidade de usar tudo que vimos ate agora, espero voce no proximo. Grandeabraco e ate breve.Artigos anteriores:Desvendando o SQL - Parte I - IntroducaoDesvendando o SQL - Parte II - Criando um Banco de Dados e TabelasDesvendando o SQL - Parte III - Alterando RegistrosDesvendando o SQL - Parte IV - ConsultasDesvendando o SQL - Parte V - VisoesDesvendando o SQL - Parte VI - Estruturas Condicionais e de RepeticaoDesvendando o SQL - Parte VII - Cursores