<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>woombo design e comunicação, um jeito criativo de atender suas espectativas...</title>
	
	<link>http://woombo.com</link>
	<description>woombo design e comunicação, um jeito criativo de atender suas espectativas...</description>
	<lastBuildDate>Wed, 23 Jun 2010 01:37:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/woombo" /><feedburner:info uri="woombo" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>MySQL Triggers</title>
		<link>http://feedproxy.google.com/~r/woombo/~3/x9c8YCK45sA/</link>
		<comments>http://woombo.com/2010/06/23/mysql-triggers/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 01:28:12 +0000</pubDate>
		<dc:creator>Tiago</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[eu não sabia!]]></category>
		<category><![CDATA[triggers]]></category>

		<guid isPermaLink="false">http://woombo.com/?p=195</guid>
		<description><![CDATA[Trigger é um conjunto de instruções SQL que é armazenado para ser ativado ou disparado quando um evento que associa com uma tabela de banco de dados ocorre. O evento pode ser qualquer evento, incluindo INSERT, UPDATE e DELETE. ]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-185" title="MySQL" src="http://woombo.com/wp-content/uploads/2010/05/artigoHeader_MySQL.gif" alt="MySQL" width="560" height="100" /></p>
<h4>Oque é um <em>trigger</em> ?</h4>
<p><em>Trigger</em> é uma palavra da lingua inglesa que quer dizer &#8220;gatilho&#8221;, com isso, queremos dizer que a ação &#8220;gatilho&#8221; é usada para &#8220;disparar&#8221; eventos em sequencia, no nosso caso uma sequencia de eventos em nossa base de dados, no MySQL.</p>
<h4>Como usar o <em>trigger</em> ?</h4>
<p>O <em>trigger</em> é uma regra, e basicamente diz que, sempre que você executa uma ação em sua base de dados, seja esse comando para remover (DELETE), atualizar (UPDATE) ou inserir (INSERT), seu banco de dados deve executar uma tarefa vinculada a primeira. Por exemplo, supondo que seu sistema crie um registro (log) de cada ação que é executada pelo seu sistema, então devem ocorer duas ações para que você obtenha sucesso, sendo elas:</p>
<ol>
<li>Solicitação inicial</li>
<li>Criação do log</li>
</ol>
<p>Se realizarmos essa operação do modo convencional, devemos executar duas querys, a primeira onde você irá executar a ação solicitada pelo sistema e a segunda onde o item log é criado.</p>
<p>[php]mysql_query(&quot;UPDATE `tabela` SET produto = &#8216;informacao&#8217; WHERE id = &#8216;id&#8217;&quot;);<br />
mysql_query(&quot;INSERT INTO `log` ( id, date) VALUES ( mysql_insert_id(), now())&quot;)[/php]</p>
<p>Com isso, foram executadas duas interações entre seu código e o banco de dados para se obter o resultado esperado, já se utilizarmos um <em>trigger</em>, iremos executar somente uma requisição, porém, devemos criar a instrução que irá gerar a série de eventos:<br />
[php] CREATE TRIGGER `databaseName`.`apos_atualizar_conteudo`<br />
    BEFORE UPDATE ON `tabela` FOR EACH ROW<br />
    BEGIN<br />
        INSERT INTO `log` ( id, date) VALUES ( NEW.id, now());<br />
    END[/php]<br />
E só então executamos a query que irá dar inicio aos eventos.<br />
[php]mysql_query(&quot;UPDATE tabela SET produto = &#8216;informacao&#8217; WHERE id = &#8216;id&#8217;&quot;);[/php]<br />
Dessa forma é adiciona uma pequena sobrecarga para a consulta inicial, porém, como estamos executando uma única query para fazer duas coisas distintas, há um ganho de desempenho global (pelo menos em teoria).</p>
<h4>Vantagens da utilização do <em>trigger</em></h4>
<ul>
<li> O <em>trigger</em> fornece uma forma alternativa para verificar a integridade da sua base de dados.</li>
<li> O <em>trigger</em> pode pegar os erros de lógica de negócio no nível de banco de dados.</li>
<li> O <em>trigger</em> fornece uma forma alternativa de executar tarefas agendadas. Com <em>trigger</em>, você não tem que esperar para executar as tarefas agendadas. Você pode lidar com as tarefas antes ou após as alterações feitas para tabelas de banco de dados.</li>
<li> O <em>trigger</em> é muito útil quando você usá-lo para auditar as alterações de dados em uma tabela do banco de dados.</li>
</ul>
<h4>Desvantagens do uso do <em>trigger</em></h4>
<ul>
<li> O <em>trigger</em> pode apenas fornecer validação estendida e não pode substituir todas as validações. Algumas validações simples pode ser feito em nível de aplicativo. Por exemplo, você pode validar verificar a entrada no lado cliente usando JavaScript ou no lado do servidor pelo script de servidor utilizando PHP ou ASP.NET.</li>
<li> <em>Trigger</em>s SQL executa invisível da aplicação cliente que se conecta ao servidor de banco de dados assim que é difícil descobrir o que aconteceu camada de banco de dados subjacente.</li>
<li> O <em>trigger</em> executa todas as atualizações feitas na tabela, portanto, ele adiciona a carga de trabalho para o banco de dados e sistema de causa corre mais devagar.</li>
</ul>
<p></p>
<img src="http://feeds.feedburner.com/~r/woombo/~4/x9c8YCK45sA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://woombo.com/2010/06/23/mysql-triggers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://woombo.com/2010/06/23/mysql-triggers/</feedburner:origLink></item>
		<item>
		<title>MySQL: CHAR vs VARCHAR</title>
		<link>http://feedproxy.google.com/~r/woombo/~3/CY-DjP70EJs/</link>
		<comments>http://woombo.com/2010/05/27/mysql-char-vs-varchar/#comments</comments>
		<pubDate>Thu, 27 May 2010 19:08:32 +0000</pubDate>
		<dc:creator>Tiago</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[eu não sabia!]]></category>
		<category><![CDATA[string types]]></category>

		<guid isPermaLink="false">http://woombo.com/?p=184</guid>
		<description><![CDATA[Toda vez opto pelo que considero ser o melhor mesmo não tendo a menor idéia de qual realmente é o melhor, bom, depois de me deparar com uma situação vergonhosa, onde uma pessoa me perguntou qual a diferença entre os campos, decidi finalmente ir atrás e estudar.]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-185" title="MySQL" src="http://woombo.com/wp-content/uploads/2010/05/artigoHeader_MySQL.gif" alt="MySQL" width="560" height="100" /></p>
<p>Acredito que muitos usem e poucos saibam o porque estão usando determinados <a title="MySQL String Types" href="http://dev.mysql.com/doc/refman/5.0/en/string-types.html" target="_blank"><em>string types</em></a> no momento que estão criando seus campos em seu banco de dados relacional.</p>
<p>Pelo menos isso já aconteceu diversas vezes comigo e toda vez opto pelo que considero ser o melhor mesmo não tendo a menor idéia de qual realmente é o melhor, bom, depois de me deparar com uma situação vergonhosa, onde uma pessoa me perguntou qual a diferença entre os campos, decidi finalmente ir atrás e estudar, o resultado dessa pesquisa segue abaixo:</p>
<h4>String Types CHAR e VARCHAR</h4>
<p>Os tipos CHAR e VARCHAR  são parecidos, mas diferem na maneira como eles são armazenados e recuperados. São declaradas com um comprimento que indica o número máximo de caracteres que você deseja armazenar. Por exemplo, CHAR (30) pode conter até 30 caracteres.</p>
<p>O comprimento de uma coluna CHAR é fixado para o comprimento que você declare, quando você cria a tabela. O comprimento pode ser qualquer valor de 0 a 255. Quando valores CHAR são armazenados, eles são preenchidos a direita com espaços até o comprimento especificado. Quando valores CHAR são recuperados, espaços extras são removidos.</p>
<p>Em contraste com o CHAR, valores VARCHAR são armazenados como um byte ou dois bytes de prefixo de comprimento, mais os dados. O comprimento do prefixo indica o número de bytes do valor. A coluna usa um byte de comprimento se os valores não requerem mais do que 255 bytes, dois bytes de comprimento, se os valores podem exigir mais de 255 bytes.</p>
<h4>Qual é o melhor mesmo ?</h4>
<p>Se você possui um sistema pequeno, com certeza não vai fazer diferença o <em>string type</em> que você selecionar, porém, se há a expectativa de que seu sistema cresça e chegue ao ponto em que cada byte é válido, então, eu teria como base 2 premissas:</p>
<ul>
<li><strong>Primeira -</strong>Conhecendo o tamanho do meu conteúdo e sabendo que ele não irá sofrer alterações bruscas, eu optaria pelo CHAR;</li>
<li><strong>Segundo -</strong>Sabendo que o meu campo possui uma variação de tamanho de acordo com cada dado que é inserido na tabela, eu utilizaria o VARCAR.</li>
</ul>
<p>Se realmente minha idéia está correta, eu não sei, mais pelo menos foi o que eu entendi.</p>
<p>[]&#8217;s</p>
<p>Fonte: <a title="MySQL String Types" href="http://dev.mysql.com/doc/refman/5.0/en/char.html" target="_blank">MySQL</a></p>
<img src="http://feeds.feedburner.com/~r/woombo/~4/CY-DjP70EJs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://woombo.com/2010/05/27/mysql-char-vs-varchar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://woombo.com/2010/05/27/mysql-char-vs-varchar/</feedburner:origLink></item>
		<item>
		<title>Até aonde devemos ser “Semânticos” ?!</title>
		<link>http://feedproxy.google.com/~r/woombo/~3/CECgooYv4n8/</link>
		<comments>http://woombo.com/2006/02/19/ate-aonde-devemos-ser-semanticos/#comments</comments>
		<pubDate>Sun, 19 Feb 2006 00:47:32 +0000</pubDate>
		<dc:creator>Tiago</dc:creator>
				<category><![CDATA[discussão]]></category>
		<category><![CDATA[padrões web]]></category>
		<category><![CDATA[padrões na web]]></category>
		<category><![CDATA[semântica]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://woombo.com/?p=30</guid>
		<description><![CDATA[Bom, estava comentado um post  no site do Henrique Costa Pereira e me empolguei em colocar a minha opinião tanto no post como aqui.]]></description>
			<content:encoded><![CDATA[<p>Bom, estava comentado um <a title="Hyperlinks: o atributo target e  algumas querelas morais." href="http://www.revolucao.etc.br/archives/hyperlinks-o-atributo-target-e-algumas-querelas-morais/">post</a> no site do <a title="Revolução Etc" href="http://www.revolucao.etc.br/">Henrique  Costa Pereira</a> e me empolguei em colocar a minha opinião tanto no  post como aqui.</p>
<p>Acredito que o Henrique foi totalmente feliz ao colocar no título de seu  artigo &#8220;querelas morais&#8221;. Mesmo depois de vivermos durante décadas  sobre <a title="Wikipédia" href="http://pt.wikipedia.org/wiki/Repress%C3%A3o">repressão moral e política</a>, e ter desaprovado tal  situação, insistimos em criar fatos e situações nas quais nos prostramos  diante e insistimos em nos manter &#8220;ignorantes&#8221; até que tudo termine.</p>
<p>Deixarei aqui uma opinião minha, onde muitos concordarão com ela e  muitos outros não, inclusive irei transcrever exatamente o que postei no  site do Henrique.</p>
<p>Acredito que antes de pensarmos em seguir ou não <a title="W3C" href="http://www.w3.org/">padrões na web</a>, devemos antes,  nos preocupar em sermos os mais profissionais possíveis e cumprirmos  nossos prazos.</p>
<p>Acredito que antes do cliente querer ter um código limpo etc e tal, ele  quer que o prazo seja cumprimo. Sou um arduoso defensor da semântica,  mais acredito que aplicá-la 100% em tudo que fazemos hoje em dia seja  meio utópico.</p>
<p>Existem dezenas de servidores, brownsers, sistemas operacionais, etc…  todos tentando converger para uma “única lei” ou melhor, padrão.</p>
<p>Enquanto isso não acontece, essa unicidade dos meios, creio que devemos  continuar a estudar as melhores práticas e técnicas e aplicá-las quando  possíveis, e quando não for possível aplicá-las creio que não devemos  ter medo ou vergonha de usarmos artifícios não semânticos.</p>
<p>Até porque se vocês olharem o código fonte desse humilde site, verão  algumas dezenas de coisas nenhum pouco semânticas.</p>
<p>Inclusive nos erros de português, que peço humildemente que me corrijam  toda a vez que for necessário e peço desculpas pelas minhas atrocidades  ao nosso português.</p>
<p>[]’s</p>
<img src="http://feeds.feedburner.com/~r/woombo/~4/CECgooYv4n8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://woombo.com/2006/02/19/ate-aonde-devemos-ser-semanticos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://woombo.com/2006/02/19/ate-aonde-devemos-ser-semanticos/</feedburner:origLink></item>
		<item>
		<title>Seja bem vindo ao meu novo portfólio online.</title>
		<link>http://feedproxy.google.com/~r/woombo/~3/6gzFieU1IAE/</link>
		<comments>http://woombo.com/2005/12/28/seja-bem-vindo-ao-meu-novo-portfolio-online/#comments</comments>
		<pubDate>Wed, 28 Dec 2005 00:44:52 +0000</pubDate>
		<dc:creator>Tiago</dc:creator>
				<category><![CDATA[portfólio]]></category>
		<category><![CDATA[woombo]]></category>
		<category><![CDATA[jobs]]></category>

		<guid isPermaLink="false">http://woombo.com/?p=28</guid>
		<description><![CDATA[Logo de início ja me desculpo, pois ainda preciso terminar de desenvolver todo o site, mais não esquente a cabeça, assim que possível ele estará finalizado... pelo menos espero.]]></description>
			<content:encoded><![CDATA[<p>Salve, Salve&#8230;</p>
<p>Seja bem vindo ao meu novo portfólio online.</p>
<p>Logo de início ja me desculpo, pois ainda preciso terminar de desenvolver todo o site, mais não esquente a cabeça, assim que possível ele estará finalizado&#8230; pelo menos espero.</p>
<p>Agradeço sua visita e peço que você retorne o quanto antes para poder ver o meu portfólio totalmente finalizado.</p>
<p>Valeu !!!</p>
<p>[]&#8217;s</p>
<p>Obs. Deixa um recado aiii&#8230;.o dedo não cai não&#8230;</p>
<img src="http://feeds.feedburner.com/~r/woombo/~4/6gzFieU1IAE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://woombo.com/2005/12/28/seja-bem-vindo-ao-meu-novo-portfolio-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://woombo.com/2005/12/28/seja-bem-vindo-ao-meu-novo-portfolio-online/</feedburner:origLink></item>
	</channel>
</rss>

