<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>Pedro Ventura | Blog base de datos artículos base de datos Encuentra manuales y tutoriales sobre base de datos mejorar y optimizar las consultas Mysql y SQL a la base de datos
 </title>
	<atom:link href="http://www.pedroventura.com/blog_programacion/tag/base-de-datos/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pedroventura.com</link>
	<description>Portfolio Profesional y Blog</description>
	<lastBuildDate>Sat, 04 Feb 2012 10:50:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Crear un esquema EER desde el gestor de base de datos MySQL Workbench</title>
		<link>http://www.pedroventura.com/blog_programacion/gestion-de-proyecto/crear-un-esquema-eer-desde-el-gestor-de-base-de-datos-mysql-workbench/</link>
		<comments>http://www.pedroventura.com/blog_programacion/gestion-de-proyecto/crear-un-esquema-eer-desde-el-gestor-de-base-de-datos-mysql-workbench/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 11:26:55 +0000</pubDate>
		<dc:creator>Pedro Ventura</dc:creator>
				<category><![CDATA[Gestión de Proyecto]]></category>
		<category><![CDATA[base de datos]]></category>
		<category><![CDATA[tutoriales]]></category>

		<guid isPermaLink="false">http://www.pedroventura.com/?p=2566</guid>
		<description><![CDATA[Usando MySQL Workbench. MySQL Workbench es una herramienta para desarrollar y administrar bases de datos. Tiene 3 grandes areas de funcionalidad: SQL Development: Reemplaza a MySQL query browser. Desde aquí termine al usuario conectar a una base de datos existente, permite realizar queries, y una administración básica de la base de datos. Data Modeling: Es un completo gestor visual para diseñar y definir la arquitectura de la base de datos. Database Administration:Reemplaza a MySQL Administrator, es un interface gráfico para administración de la base de datos y del servidor en general, se puede editar archivos de configuración de Mysql, se puede crear nuevos usuarios, y si estamos trabajando con una base de datos local, se puede reiniciar el servicio de mysql. Planificando la base de datos Como siempre lo mejor es hacer un boceto rápido en papel. Como veis en la siguiente imagen no podría entregar a un equipo de desarrolladores la arquitectura de la base de datos con el siguiente gráfico, aunque en el mundo real a veces las especificaciones que te dan se parecen a estas, un infierno. El esquema que se puede elaborar desde Mysql WorkBench es un esquema EER. EER es un modelo de alto nivel [...]


Related posts:<ol><li><a href='http://www.pedroventura.com/blog_programacion/cakephp/una-aplicacion-multiples-bases-datos-cakephp/' rel='bookmark' title='Una aplicación, multiples bases de datos CakePHP'>Una aplicación, multiples bases de datos CakePHP</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/cakephp/esquema-de-una-peticion-en-cakephp-y-funcionamiento-general-del-framework/' rel='bookmark' title='Esquema de una peticion en CakePHP y funcionamiento general del Framework'>Esquema de una peticion en CakePHP y funcionamiento general del Framework</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/sql/optimizando-consultas-mysql-creando-y-definiendo-indices-manage-index/' rel='bookmark' title='Optimizando consultas mysql. Creando y definiendo indices. Manage index'>Optimizando consultas mysql. Creando y definiendo indices. Manage index</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/linux/gestor-de-arranque-lilo/' rel='bookmark' title='Gestor de Arranque LILO'>Gestor de Arranque LILO</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/sql/que-diferencias-basicas-hay-entre-innodb-y-myisam/' rel='bookmark' title='Que diferencias (básicas) hay entre InnoDB y MyISAM'>Que diferencias (básicas) hay entre InnoDB y MyISAM</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><strong>Usando MySQL Workbench.</strong></p>
<p>MySQL Workbench es una herramienta para desarrollar y administrar bases de datos. Tiene 3 grandes areas de funcionalidad:<br />
<img src="http://blogpv2011.s3.amazonaws.com/wp-content/uploads/2011/04/workbenchStart-150x150.png" alt="" title="workbenchStart" width="150" height="150" class="alignleft size-thumbnail wp-image-2570" /></p>
<ol>
<li>
    <strong>SQL Development</strong>: Reemplaza a MySQL query browser. Desde aquí termine al usuario conectar a una base de datos existente, permite realizar queries, y una administración básica de la base de datos.</li>
<li> <strong>Data Modeling</strong>: Es un completo gestor visual para diseñar y definir la arquitectura de la base de datos.</li>
<li> <strong>Database Administration</strong>:Reemplaza a MySQL Administrator, es un interface gráfico para administración de la base de datos y del servidor en general, se puede editar archivos de configuración de Mysql, se puede crear nuevos usuarios, y si estamos trabajando con una base de datos local, se puede reiniciar el servicio de mysql.</li>
</ol>
<p></p>
<p><strong>Planificando la base de datos</strong><br />
Como siempre lo mejor es hacer un boceto rápido en papel.<br />
Como veis en la siguiente imagen no podría entregar a un equipo de desarrolladores la arquitectura de la base de datos con el siguiente gráfico, aunque en el mundo real a veces las especificaciones que te dan se parecen a estas, un infierno.</p>
<p><img src="http://blogpv2011.s3.amazonaws.com/wp-content/uploads/2011/04/IMG_20110401_131849B.jpg" alt="" title="IMG_20110401_131849B" width="500" height="667" class="aligncenter size-full wp-image-2575" /></p>
<p>El esquema que se puede elaborar desde Mysql WorkBench es un esquema EER.<br />
EER es un modelo de alto nivel o modelo conceptual de datos que mejora la entidad-relación (ER), que se utiliza en el diseño de bases de datos. Se utiliza para reflejar con toda la precisión que se pueda las características y limitaciones que se encuentran en una base de datos. EER viene del ingles enhanced entity-relationship o modelo entidad-relación mejorado.</p>
<p>El modelo EER incluye todos los conceptos introducidos por el modelo ER. Además, incluye los conceptos de una subclase y superclase, junto con los conceptos de especialización y generalización. Además, se introduce el concepto de un tipo de unión o de una categoría, que se utiliza para representar una colección de objetos que es la unión de objetos de diferentes tipos de entidades.</p>
<p><b>Relaciones entre tablas</b></p>
<p>Si queremos crear tablas físicas en MySQL las relaciones tienen que estar mapeadas de alguna manera.<br />
Para mapear estas relaciones entre tablas existen diferentes reglas:</p>
<ul>
<li><strong>1:1</strong>. El primary key para una de las tablas es incluido como foreing key en otra tabla.</li>
<li><strong>1:n</strong>. uno-a-muchos. Consiste en establecer una relación entre un atributo identificativo, ya sea un primary key u otro campo que permita diferenciarlo de otra instancia de una tabla A, con n campos de la tabla B. Por ejemplo:<br />
Una factura (entidad) se emite (relación) a una persona (entidad) y sólo una, pero una persona puede tener varias facturas emitidas a su nombre. Todas las facturas se emiten a nombre de alguien. </li>
<li><strong>n:m</strong>. Es cuando se crea una tabla mediante un join. La clave primaria es compuesta por los primary keys de las dos tablas originales. Por ejemplo: Un cliente (entidad) puede comprar (relación) varios artículos (entidad) y un artículo puede ser comprado por varios clientes distintos.</li>
</ul>
<p><strong>Crear El schema y las tablas</strong></p>
<p>Desde el menú principal de Mysql Workbench seleccionamos la opción de Create New EER Model.</p>
<p>Creamos o importamos nuestra base de datos con las tablas. O las vamos creando desde 0, a partir de nuestro boceto inicial.<br />
La creación de la arquitectura de la base de datos y las tablas no es algo que salga a la primera, requiere ir profundizando en la aplicación, estimar que necesitarás a largo plazo y contemplarlo en el modelo de datos a pesar de que no se programe inicialmente.</p>
<p>El menu principal que veremos será algo parecido a esto.</p>
<p><img src="http://blogpv2011.s3.amazonaws.com/wp-content/uploads/2011/04/eer1a.jpg" width="506" height="620" class="aligncenter size-full wp-image-2616" /></p>
<p>Una vez tengamos nuestras tablas creadas, o al menos la primera version o fase de las tablas, pinchamos en el botón de EER Diagram para crear nuestro modelo EER.O bien podemos seleccionar Model >Create Diagram from catalog object.</p>
<p>Esto nos cargará todas las tablas que hemos creado en el canvas de la aplicación y podremos empezar a establecer las relaciones entre las tablas.</p>
<p><img src="http://blogpv2011.s3.amazonaws.com/wp-content/uploads/2011/04/eer2.png" alt="" title="eer2" width="498" height="349" class="aligncenter size-full wp-image-2619" /></p>
<p>Como he explicado anteriormente usaremos los tipos de relaciones para ir creando el modelo de relación entre nuestra tablas. Para ello usaremos las opciones de MySQL Workbench para establecer las relaciones.</p>
<p><img src="http://blogpv2011.s3.amazonaws.com/wp-content/uploads/2011/04/relaciones_eer.png" alt="" title="relaciones_eer" width="353" height="179" class="aligncenter size-full wp-image-2621" /></p>
<p>A medida que se vayan creando las relaciones irá quedando el modelo definido, como aparece en la siguiente imagen.</p>
<p><img src="http://blogpv2011.s3.amazonaws.com/wp-content/uploads/2011/04/eer3.png" alt="" title="eer3" width="457" height="318" class="aligncenter size-full wp-image-2623" /><br />
(Nota: este modelo es una ejemplo que estoy utilizando, no es real)</p>
<p>Se puede cambiar el tipo de notación que representan las relaciones. A mi personalmente me gusta mas el tipo de notación UML que el que esta usando Workbench.<br />
Para cambiarlo, dentro de la Diagrama EER > Model > Relationship Notation y se pueden elegir entre 5 opciones.</p>
<p>Esto llevará varias horas, o como a mi varios días. Si se esta haciendo un modelo de datos profesional para un entorno en producción puede llevar bastante tiempo en el desarrollo de la arquitectura de la base de datos. Incluso a pesar de todo el tiempo invertido siempre pueden surgir limitaciones y deficiencias.<br />
Es muy importante intentar desarrollar el modelo pensando en todas la funcionalidades que tendrá la aplicacion a corto y que pueda tener a largo plazo. Para por lo menos tener un buen modelo de datos en el momento de salida y poder escalar bien la base de datos.</p>
<p>El diagrama se puede exportar a PNG, SVG, PDF o un archivo PostScript.</p>
<p>Uno de mis proyectos actuales presenta el siguiente aspecto:</p>
<p><img src="http://blogpv2011.s3.amazonaws.com/wp-content/uploads/2011/04/IMG_20110414_141406B.jpg" alt="" title="IMG_20110414_141406B" width="500" height="375" class="aligncenter size-full wp-image-2576" /></p>
<p><img src="http://blogpv2011.s3.amazonaws.com/wp-content/uploads/2011/04/IMG_20110414_141534B.jpg" alt="" title="IMG_20110414_141534B" width="500" height="667" class="aligncenter size-full wp-image-2574" /></p>
<p>Conclusión: MySQL Workbench es una herramienta excepcional y sin duda algo que se debería usar en todo momento a la hora de gestionar una base de datos, como mínimo la parte de Data Modeling y Database Administration. En este tutorial no me acerco ni de lejos a todo el potencial del programa pero al menos he comentado a modo de introducción una de las partes que es el diagrama EER.</p>
<p class="listadoTagRelacionados">Tags de búsquedas:</p><p class="listadoTagRelacionados"> modelado de base de datos en mysql, administrador de bd mysql relaciones, ejemplo de relaciones en sql: compras por internet, esquema bd mysql, generar esquema de base de datos mysql, instalador aplicación o software para administración y consulta de tablas de mysql 2011, manual de workbench en español, modelos para hacer una tabla, mysql eer, mysql varias bases de datos</p><!-- SEO SearchTerms Tagging 2 Plugin -->

<p>Related posts:<ol><li><a href='http://www.pedroventura.com/blog_programacion/cakephp/una-aplicacion-multiples-bases-datos-cakephp/' rel='bookmark' title='Una aplicación, multiples bases de datos CakePHP'>Una aplicación, multiples bases de datos CakePHP</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/cakephp/esquema-de-una-peticion-en-cakephp-y-funcionamiento-general-del-framework/' rel='bookmark' title='Esquema de una peticion en CakePHP y funcionamiento general del Framework'>Esquema de una peticion en CakePHP y funcionamiento general del Framework</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/sql/optimizando-consultas-mysql-creando-y-definiendo-indices-manage-index/' rel='bookmark' title='Optimizando consultas mysql. Creando y definiendo indices. Manage index'>Optimizando consultas mysql. Creando y definiendo indices. Manage index</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/linux/gestor-de-arranque-lilo/' rel='bookmark' title='Gestor de Arranque LILO'>Gestor de Arranque LILO</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/sql/que-diferencias-basicas-hay-entre-innodb-y-myisam/' rel='bookmark' title='Que diferencias (básicas) hay entre InnoDB y MyISAM'>Que diferencias (básicas) hay entre InnoDB y MyISAM</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pedroventura.com/blog_programacion/gestion-de-proyecto/crear-un-esquema-eer-desde-el-gestor-de-base-de-datos-mysql-workbench/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Instalar phpmyadmin</title>
		<link>http://www.pedroventura.com/blog_programacion/php/instalar-phpmyadmin/</link>
		<comments>http://www.pedroventura.com/blog_programacion/php/instalar-phpmyadmin/#comments</comments>
		<pubDate>Thu, 16 Dec 2010 10:31:12 +0000</pubDate>
		<dc:creator>Pedro Ventura</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[base de datos]]></category>
		<category><![CDATA[librerias y funciones]]></category>

		<guid isPermaLink="false">http://www.pedroventura.com/?p=1771</guid>
		<description><![CDATA[phpMyAdmin es una herramienta escrita en PHP con el fin de facilitar la tarea de administración de una base de datos MySQL desde el navegador. Se trata de una herramienta escrita íntegramente en lenguaje PHP, realizada con el fin de facilitar las tareas de administración. Permite administrar en forma completa un servidor MySQL (requiere de una cuenta super usuario) como así también bases de datos simples de un usuario en particular. 1. su - 2. cd /var/www/html 3. wget -c wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/2.11.10/languages.zip?use_mirror=switch Si queremos la ultima versión: wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/3.3.8/phpMyAdmin-3.3.8-all-languages.zip/download 4. unzip phpMyAdmin-2.11.10-all-languages.zip 5. mv phpMyAdmin-2.11.10-all-languages phpmyadmin 6. cd phpmyadmin 7. cp config.sample.inc.php config.inc.php 8. vi config.inc.php …. $cfg['Servers'][$i]['auth_type'] = ‘http‘; …. 9. /etc/init.d/httpd restart Tras esto lo tendrás accesible desde http://dominio.com/phpmyadmin/ Si no se tiene acceso a la maquina por consola o estais un poco perdidos con estos comandos de linux, se podría hacer subiendo todo el desarrollo por ftp, previa descompresión en vuestro equipo y luego editando el archivo config.inc.php. Pero claro este modo de hacerlo es mucho mas lento pues tarda mas en subirse todo al servidor (siempre y cuando lo queráis instalar en un servidor remoto, en local es todo mas rápido) Si os da el siguiente [...]


Related posts:<ol><li><a href='http://www.pedroventura.com/blog_programacion/php/instalar-un-captcha-de-seguridad/' rel='bookmark' title='instalar un captcha de seguridad'>instalar un captcha de seguridad</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/php/php-fatal-error-call-to-undefined-function-json_encode/' rel='bookmark' title='PHP Fatal error: Call to undefined function: json_encode()'>PHP Fatal error: Call to undefined function: json_encode()</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/cakephp/una-aplicacion-multiples-bases-datos-cakephp/' rel='bookmark' title='Una aplicación, multiples bases de datos CakePHP'>Una aplicación, multiples bases de datos CakePHP</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/linux/instalar-controladora-para-tarjeta-grafica-nvidia-en-fedora/' rel='bookmark' title='Instalar controladora para tarjeta grafica Nvidia en Fedora'>Instalar controladora para tarjeta grafica Nvidia en Fedora</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/software/como-instalar-un-apk-en-android/' rel='bookmark' title='como instalar un apk en android'>como instalar un apk en android</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>phpMyAdmin es una herramienta escrita en PHP con el fin de facilitar la tarea de administración de una base de datos MySQL desde el navegador.</p>
<p>Se trata de una herramienta escrita íntegramente en lenguaje PHP, realizada con el fin de facilitar las tareas de administración. Permite administrar en forma completa un servidor MySQL (requiere de una cuenta super usuario) como así también bases de datos simples de un usuario en particular.</p>
<p>1. su -<br />
2. cd /var/www/html<br />
3. wget -c wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/2.11.10/languages.zip?use_mirror=switch</p>
<blockquote><p>Si queremos la ultima versión:<br />
wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/3.3.8/phpMyAdmin-3.3.8-all-languages.zip/download</p></blockquote>
<p>4. unzip phpMyAdmin-2.11.10-all-languages.zip<br />
5. mv phpMyAdmin-2.11.10-all-languages phpmyadmin<br />
6. cd phpmyadmin<br />
7. cp config.sample.inc.php config.inc.php<br />
8. vi config.inc.php<br />
….<br />
$cfg['Servers'][$i]['auth_type'] = ‘http‘;<br />
….<br />
9. /etc/init.d/httpd restart</p>
<p>Tras esto lo tendrás accesible desde http://dominio.com/phpmyadmin/</p>
<p>Si no se tiene acceso a la maquina por consola o estais un poco perdidos con estos comandos de linux, se podría hacer subiendo todo el desarrollo por ftp, previa descompresión en vuestro equipo y luego editando el archivo config.inc.php. Pero claro este modo de hacerlo es mucho mas lento pues tarda mas en subirse todo al servidor (siempre y cuando lo queráis instalar en un servidor remoto, en local es todo mas rápido)</p>
<p style="text-align: center;">Si os da el siguiente error ( no se pudo cargar la extension mcrypt, por favor revise su configuración de PHP):<br />
<img class="aligncenter size-medium wp-image-1889" title="phpmyadmin_extension" src="http://blogpv2011.s3.amazonaws.com/wp-content/uploads/2010/11/phpmyadmin_extension-300x242.png" alt="" width="300" height="242" /></p>
<p>Tendremos que instalar el modulo de php php-mcrypt<br />
# yum install php-mcrypt</p>
<p>Lo ideal seria proteger el acceso a nivel de Apache mediante .htaccess y .passwd</p>
<p class="listadoTagRelacionados">Tags de búsquedas:</p><p class="listadoTagRelacionados"> instalar phpmyadmin, instalar phpmyadmin 3 3 8, como instalar php myadmin 2 11, como instalar phpmyadmin, phpmyadmin instalar, problemas con phpmyadmin no se encontró la extensión mcrypt, phpmyadmin no se encontró la extensión mcrypt, phpmyadmin - error no se encontró la extensión mysqli, instalar phpmyadmin servidor remoto, instalar phpmyadmin en servidor remoto</p><!-- SEO SearchTerms Tagging 2 Plugin -->

<p>Related posts:<ol><li><a href='http://www.pedroventura.com/blog_programacion/php/instalar-un-captcha-de-seguridad/' rel='bookmark' title='instalar un captcha de seguridad'>instalar un captcha de seguridad</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/php/php-fatal-error-call-to-undefined-function-json_encode/' rel='bookmark' title='PHP Fatal error: Call to undefined function: json_encode()'>PHP Fatal error: Call to undefined function: json_encode()</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/cakephp/una-aplicacion-multiples-bases-datos-cakephp/' rel='bookmark' title='Una aplicación, multiples bases de datos CakePHP'>Una aplicación, multiples bases de datos CakePHP</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/linux/instalar-controladora-para-tarjeta-grafica-nvidia-en-fedora/' rel='bookmark' title='Instalar controladora para tarjeta grafica Nvidia en Fedora'>Instalar controladora para tarjeta grafica Nvidia en Fedora</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/software/como-instalar-un-apk-en-android/' rel='bookmark' title='como instalar un apk en android'>como instalar un apk en android</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pedroventura.com/blog_programacion/php/instalar-phpmyadmin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Que diferencias (básicas) hay entre InnoDB y MyISAM</title>
		<link>http://www.pedroventura.com/blog_programacion/sql/que-diferencias-basicas-hay-entre-innodb-y-myisam/</link>
		<comments>http://www.pedroventura.com/blog_programacion/sql/que-diferencias-basicas-hay-entre-innodb-y-myisam/#comments</comments>
		<pubDate>Wed, 27 Oct 2010 22:01:44 +0000</pubDate>
		<dc:creator>Pedro Ventura</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[base de datos]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.pedroventura.com/?p=1573</guid>
		<description><![CDATA[Ventajas de MyISAM Bloqueo de tablas Nos permite tener las características ACID (Atomicity, Consistency, Isolation and Durability: Atomicidad, Consistencia, Aislamiento y Durabilidad en español), garantizando la integridad de nuestras tablas. Optimizadas para realizar un gran números de SQL SELECT. Desventajas de MyISAM Las tablas pueden llegar a dar problemas en la recuperación de datos. El bloqueo de las tablas cuando se inserta o actualiza un registro es otra posible desventaja ya que el resto de las operaciones quedarán a la espera de la inserción o actualización del registro. Ventajas de InnoDB Integridad de datos, cuando los contenidos se modifican con sentencias INSERT, DELETE o UPDATE, la integridad de los datos almacenados puede perderse de muchas maneras diferentes. Pueden añadirse datos no válidos a la base de datos, con las tablas InnoDB es más difícil que esto ocurra. Mayor velocidad en general a la hora de recuperar datos. Recomendable para aplicaciones en las que dominan las sentencias  INSERT / UPDATE. Ausencia de características de atomicidad ya que no tiene que hacer comprobaciones de la integridad referencial, ni bloquear las tablas para realizar las operaciones, esto nos lleva como los anteriores puntos a una mayor velocidad Desventajas de InnoDB El diseño de [...]


Related posts:<ol><li><a href='http://www.pedroventura.com/blog_programacion/sql/optimizando-consultas-mysql-creando-y-definiendo-indices-manage-index/' rel='bookmark' title='Optimizando consultas mysql. Creando y definiendo indices. Manage index'>Optimizando consultas mysql. Creando y definiendo indices. Manage index</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/linux/copiar-archivos-entre-servidores-con-scp-linux/' rel='bookmark' title='Copiar archivos entre servidores con SCP Linux'>Copiar archivos entre servidores con SCP Linux</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/linux/configurando-y-optimizando-un-servidor-nuevas-mejoras-en-my-cnf-y-arrancando-en-utf8/' rel='bookmark' title='Configurando y Optimizando un servidor. Nuevas mejoras en my.cnf y arrancando en utf8'>Configurando y Optimizando un servidor. Nuevas mejoras en my.cnf y arrancando en utf8</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/cakephp/una-aplicacion-multiples-bases-datos-cakephp/' rel='bookmark' title='Una aplicación, multiples bases de datos CakePHP'>Una aplicación, multiples bases de datos CakePHP</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/software/pero-es-que-no-hay-un-ide-de-php-optimo-para-linux/' rel='bookmark' title='Pero es que no hay un IDE de PHP óptimo para Linux??!'>Pero es que no hay un IDE de PHP óptimo para Linux??!</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><strong>Ventajas de MyISAM</strong></p>
<ul>
<li> Bloqueo de tablas</li>
<li> Nos permite tener las características ACID (Atomicity, Consistency, Isolation and Durability: Atomicidad, Consistencia, Aislamiento y Durabilidad en español), garantizando la integridad de nuestras tablas.</li>
<li>Optimizadas para realizar un gran números de SQL SELECT.</li>
</ul>
<p><strong>Desventajas de MyISAM</strong></p>
<ul>
<li>Las tablas pueden llegar a dar problemas en la recuperación de datos.</li>
<li>El bloqueo de las tablas cuando se inserta o actualiza un registro  es otra posible desventaja ya que el resto de las operaciones quedarán a  la espera de la inserción o actualización del registro.</li>
</ul>
<p><strong>Ventajas de InnoDB</strong></p>
<ul>
<li>Integridad de datos, cuando los contenidos se modifican con sentencias INSERT, DELETE o UPDATE, la integridad de los datos almacenados puede perderse de muchas maneras diferentes.</li>
<li>Pueden añadirse datos no válidos a la base de datos, con las tablas InnoDB es más difícil que esto ocurra.</li>
<li> Mayor velocidad en general a la hora de recuperar datos.</li>
<li> Recomendable para aplicaciones en las que dominan las sentencias  INSERT / UPDATE.</li>
<li>Ausencia de características de atomicidad ya que no tiene que hacer comprobaciones de la integridad referencial, ni bloquear las tablas para realizar las operaciones, esto nos lleva como los anteriores puntos a una mayor velocidad</li>
</ul>
<p><strong>Desventajas de InnoDB</strong></p>
<ul>
<li> El diseño de su estructura es mucho más complejo que el diseño de una tabla MyISAM</li>
<li> No soporta <a href="http://www.pedroventura.com/blog_programacion/2010/01/31/indexar-las-busquedas-full-text-con-sphinx-tutorial-como-usar-sphinx/" target="_blank">búsquedas full-text</a>, que para conjuntos de datos grandes, es mucho más rápido.</li>
<li> La última desventaja es su pobre rendimiento en operaciones sencillas como seleccionar datos si lo comparamos con las tablas MyISAM.</li>
</ul>
<p class="listadoTagRelacionados">Tags de búsquedas:</p><p class="listadoTagRelacionados"> comparativa innodb isam, sentencias de atomicidad, que diferencia hay entre innodb, innodb probelmas de bloqueo, innodb o myisam, innodb myisam, diferencia myisam vs innodb, diferencia myisam e innodb, cual es la diferencia entre innodb y myisam 2, comparativa myisam innodb</p><!-- SEO SearchTerms Tagging 2 Plugin -->

<p>Related posts:<ol><li><a href='http://www.pedroventura.com/blog_programacion/sql/optimizando-consultas-mysql-creando-y-definiendo-indices-manage-index/' rel='bookmark' title='Optimizando consultas mysql. Creando y definiendo indices. Manage index'>Optimizando consultas mysql. Creando y definiendo indices. Manage index</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/linux/copiar-archivos-entre-servidores-con-scp-linux/' rel='bookmark' title='Copiar archivos entre servidores con SCP Linux'>Copiar archivos entre servidores con SCP Linux</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/linux/configurando-y-optimizando-un-servidor-nuevas-mejoras-en-my-cnf-y-arrancando-en-utf8/' rel='bookmark' title='Configurando y Optimizando un servidor. Nuevas mejoras en my.cnf y arrancando en utf8'>Configurando y Optimizando un servidor. Nuevas mejoras en my.cnf y arrancando en utf8</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/cakephp/una-aplicacion-multiples-bases-datos-cakephp/' rel='bookmark' title='Una aplicación, multiples bases de datos CakePHP'>Una aplicación, multiples bases de datos CakePHP</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/software/pero-es-que-no-hay-un-ide-de-php-optimo-para-linux/' rel='bookmark' title='Pero es que no hay un IDE de PHP óptimo para Linux??!'>Pero es que no hay un IDE de PHP óptimo para Linux??!</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pedroventura.com/blog_programacion/sql/que-diferencias-basicas-hay-entre-innodb-y-myisam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Una aplicación, multiples bases de datos CakePHP</title>
		<link>http://www.pedroventura.com/blog_programacion/cakephp/una-aplicacion-multiples-bases-datos-cakephp/</link>
		<comments>http://www.pedroventura.com/blog_programacion/cakephp/una-aplicacion-multiples-bases-datos-cakephp/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 08:21:43 +0000</pubDate>
		<dc:creator>Pedro Ventura</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[base de datos]]></category>

		<guid isPermaLink="false">http://www.pedroventura.com/blog_programacion/?p=175</guid>
		<description><![CDATA[Tengo que lanzar un web para varios países y aprovecharé la potencia de CakePHP para realizar una sola plataforma con varias bases de datos. Cada base de datos almacenará el contenido local de cada web. Lo que he hecho es en /(app)/config/bootstrap.php incluir mi código de configuración personalizado. Ver funcionalidad del boostrap Para determinar y estandarizar la url que me llega realizo la siguiente comprobación $datos_dominio = explode(&#34;.&#34;,$_SERVER['HTTP_HOST']); if (in_array(&#34;www&#34;,$datos_dominio)) { $dominio =''; } else { $dominio = 'www.'; } for($i=0;$i &#60; count($datos_dominio);$i++) { if($i == 0) { $dominio .= $datos_dominio[$i]; } else { $dominio .= '.'.$datos_dominio[$i]; } } ?&#62; Con el dominio que he obtenido lo paso por un switch case y la variable final con el valor de la base de datos la guardo en una constante que usaré mas adelante. switch ($dominio) { case 'www.cake.loc': $bbdd = 'default'; break; case 'www.cake.loc.uk': $bbdd = 'default_uk'; break; case 'www.cake.loc.mx': $bbdd = 'default_mx'; break; default: $bbdd = 'default'; } define('BBDD',$bbdd); Posteriormente en mi modelo seleccionaré la base de datos que se ha guardado automaticamente en la constante BBDD Ejemplo de mi /(app)/models/contenido.php class Contenido extends AppModel { var $name = 'mos_content'; // nombre de la tabla que estoy usando var [...]


Related posts:<ol><li><a href='http://www.pedroventura.com/blog_programacion/javascript/obtener-el-nombre-del-dominio-con-javascript/' rel='bookmark' title='obtener el nombre del dominio con javascript'>obtener el nombre del dominio con javascript</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/cakephp/esquema-de-una-peticion-en-cakephp-y-funcionamiento-general-del-framework/' rel='bookmark' title='Esquema de una peticion en CakePHP y funcionamiento general del Framework'>Esquema de una peticion en CakePHP y funcionamiento general del Framework</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/cakephp/usando-memcached-con-cakephp/' rel='bookmark' title='usando memcached con cakephp'>usando memcached con cakephp</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/cakephp/subir-ficheros-con-swfupload-componente-cakephp/' rel='bookmark' title='subir ficheros con swfupload componente cakephp'>subir ficheros con swfupload componente cakephp</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/cakephp/cakephp-rocks-my-world/' rel='bookmark' title='CakePHP Rocks my world!!'>CakePHP Rocks my world!!</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Tengo que lanzar un web para varios países y aprovecharé la potencia de CakePHP para realizar una sola plataforma con varias bases de datos. Cada base de datos almacenará el contenido local de cada web.</p>
<p>Lo que he hecho es en<strong> /(app)/config/bootstrap.php</strong> incluir mi código de configuración personalizado. <a rel="nofollow" href="http://book.cakephp.org/view/48/Bootstrapping-CakePHP" target="_blank">Ver funcionalidad del boostrap</a></p>
<p>Para determinar y estandarizar la url que me llega realizo la siguiente comprobación</p>
<pre lang="PHP">
$datos_dominio = explode(&quot;.&quot;,$_SERVER['HTTP_HOST']);
if (in_array(&quot;www&quot;,$datos_dominio))
{
$dominio ='';
}
else
{
$dominio = 'www.';
}

for($i=0;$i &lt; count($datos_dominio);$i++)
{
if($i == 0)
{
$dominio .= $datos_dominio[$i];
}
else
{
$dominio .= '.'.$datos_dominio[$i];
}
}
?&gt;
</pre>
<p>Con el dominio que he obtenido lo paso por un switch case y la variable final con el valor de la base de datos la guardo en una constante que usaré mas adelante.</p>
<pre lang="PHP">
switch ($dominio)
{
case 'www.cake.loc':
$bbdd = 'default';
break;
case 'www.cake.loc.uk':
$bbdd = 'default_uk';
break;
case 'www.cake.loc.mx':
$bbdd = 'default_mx';
break;
default: $bbdd = 'default';
}
define('BBDD',$bbdd);
</pre>
<p>Posteriormente en mi modelo seleccionaré la base de datos que se ha guardado automaticamente en la <strong>constante BBDD</strong></p>
<p>Ejemplo de mi <strong>/(app)/models/contenido.php</strong></p>
<pre lang="PHP">
class Contenido extends AppModel
{
var $name = 'mos_content'; // nombre de la tabla que estoy usando
var $useDbConfig = BBDD; // conexión a la base de datos que he obtenido automaticamente
}</pre>
<p class="listadoTagRelacionados">Tags de búsquedas:</p><p class="listadoTagRelacionados"> cakephp ejemplos, ejemplos cakephp</p><!-- SEO SearchTerms Tagging 2 Plugin -->

<p>Related posts:<ol><li><a href='http://www.pedroventura.com/blog_programacion/javascript/obtener-el-nombre-del-dominio-con-javascript/' rel='bookmark' title='obtener el nombre del dominio con javascript'>obtener el nombre del dominio con javascript</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/cakephp/esquema-de-una-peticion-en-cakephp-y-funcionamiento-general-del-framework/' rel='bookmark' title='Esquema de una peticion en CakePHP y funcionamiento general del Framework'>Esquema de una peticion en CakePHP y funcionamiento general del Framework</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/cakephp/usando-memcached-con-cakephp/' rel='bookmark' title='usando memcached con cakephp'>usando memcached con cakephp</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/cakephp/subir-ficheros-con-swfupload-componente-cakephp/' rel='bookmark' title='subir ficheros con swfupload componente cakephp'>subir ficheros con swfupload componente cakephp</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/cakephp/cakephp-rocks-my-world/' rel='bookmark' title='CakePHP Rocks my world!!'>CakePHP Rocks my world!!</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pedroventura.com/blog_programacion/cakephp/una-aplicacion-multiples-bases-datos-cakephp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Error Client does not support authentication protocol requested by server</title>
		<link>http://www.pedroventura.com/blog_programacion/sql/error-client-does-not-support-authentication-protocol-requested-by-server/</link>
		<comments>http://www.pedroventura.com/blog_programacion/sql/error-client-does-not-support-authentication-protocol-requested-by-server/#comments</comments>
		<pubDate>Thu, 28 May 2009 08:59:46 +0000</pubDate>
		<dc:creator>Pedro Ventura</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[base de datos]]></category>

		<guid isPermaLink="false">http://www.pedroventura.com/blog_programacion/?p=104</guid>
		<description><![CDATA[Porqué sucede y que hacer cuando obtiene éste error:  Client does not support authentication protocol requested by server. Primero, se produce porque a partir de la versión 4.1.1 MySQL usa un protocolo de autenticación basada en un algoritmo de encriptación de passwords obsoleto.  El nuevo formato password de mysql genera un hash mucho más largo y óptimo. Pero La solución es sencilla: Entrar  en el mysql  o cualquier manager de MySQL que tengáis, por cierto, yo uso YogSQL Community Edition, es una de las herramientas más potentes para gestionar el MySQL que he usado. Deberéis entrar con el usuario que os está dando problemas, en éste caso root y seleccionar la base de datos: mysql y a continuación ejecutar el siguiente comando: update user set password=old_password('clave') where user='root'; Aplica cambios en tabla de usuarios: flush privileges; Ready!! Related posts:error: buffer_get_ret: trying in ssh connection Error de Mysql: Found row where the auto_increment column has the value 0 Enviar un correo via telnet desde consola linux PHP Fatal error: Call to undefined function: json_encode() crear un sitemap para videos


Related posts:<ol><li><a href='http://www.pedroventura.com/blog_programacion/linux/error-buffer_get_ret-trying-in-ssh-connection/' rel='bookmark' title='error: buffer_get_ret: trying in ssh connection'>error: buffer_get_ret: trying in ssh connection</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/sql/error-de-mysql-found-row-where-the-auto_increment-column-has-the-value-0/' rel='bookmark' title='Error de Mysql: Found row where the auto_increment column has the value 0'>Error de Mysql: Found row where the auto_increment column has the value 0</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/linux/enviar-un-correo-via-telnet-desde-consola-linux/' rel='bookmark' title='Enviar un correo via telnet desde consola linux'>Enviar un correo via telnet desde consola linux</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/php/php-fatal-error-call-to-undefined-function-json_encode/' rel='bookmark' title='PHP Fatal error: Call to undefined function: json_encode()'>PHP Fatal error: Call to undefined function: json_encode()</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/internet/crear-un-sitemap-para-videos/' rel='bookmark' title='crear un sitemap para videos'>crear un sitemap para videos</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><span class="mediumtext">Porqué sucede y que hacer cuando obtiene éste error:  Client does not support authentication protocol requested by server.</span></p>
<p><span class="mediumtext">Primero, se produce </span>porque a partir de la versión 4.1.1 MySQL usa un protocolo de autenticación basada en un algoritmo de encriptación de passwords<span class="mediumtext"> obsoleto.  El nuevo formato password de mysql genera un hash mucho más largo y óptimo.</span></p>
<p><span class="mediumtext"><br />
Pero La solución es sencilla:</span></p>
<p>Entrar  en el mysql  o cualquier manager de MySQL que tengáis, por cierto, yo uso <a href="http://www.webyog.com/en/downloads.php" target="_blank">YogSQL </a><a href="http://www.webyog.com/en/downloads.php" target="_blank"><span class="product_title">Community Edition</span></a>, es una de las herramientas más potentes para gestionar el MySQL que he usado.</p>
<p>Deberéis entrar con el usuario que os está dando problemas, en éste caso <strong>root </strong>y seleccionar la base de datos: <strong>mysql</strong><br />
y a continuación ejecutar el siguiente comando:</p>
<pre lang="PHP">update user set password=old_password('clave') where user='root';</pre>
<p>Aplica cambios en tabla de usuarios:</p>
<pre lang="PHP">flush privileges;</pre>
<p>Ready!! <img src='http://blogpv2011.s3.amazonaws.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>


<p>Related posts:<ol><li><a href='http://www.pedroventura.com/blog_programacion/linux/error-buffer_get_ret-trying-in-ssh-connection/' rel='bookmark' title='error: buffer_get_ret: trying in ssh connection'>error: buffer_get_ret: trying in ssh connection</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/sql/error-de-mysql-found-row-where-the-auto_increment-column-has-the-value-0/' rel='bookmark' title='Error de Mysql: Found row where the auto_increment column has the value 0'>Error de Mysql: Found row where the auto_increment column has the value 0</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/linux/enviar-un-correo-via-telnet-desde-consola-linux/' rel='bookmark' title='Enviar un correo via telnet desde consola linux'>Enviar un correo via telnet desde consola linux</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/php/php-fatal-error-call-to-undefined-function-json_encode/' rel='bookmark' title='PHP Fatal error: Call to undefined function: json_encode()'>PHP Fatal error: Call to undefined function: json_encode()</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/internet/crear-un-sitemap-para-videos/' rel='bookmark' title='crear un sitemap para videos'>crear un sitemap para videos</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pedroventura.com/blog_programacion/sql/error-client-does-not-support-authentication-protocol-requested-by-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Realizar busquedas con like</title>
		<link>http://www.pedroventura.com/blog_programacion/php/realizar-busquedas-con-like/</link>
		<comments>http://www.pedroventura.com/blog_programacion/php/realizar-busquedas-con-like/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 10:51:04 +0000</pubDate>
		<dc:creator>Pedro Ventura</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[base de datos]]></category>

		<guid isPermaLink="false">http://pedroventura.com/blog_programacion/2008/02/18/realizar-busquedas-con-like/</guid>
		<description><![CDATA[Lo que nos viene es un string como vemos en la primera linea del codigo. Lo que hacemos es descomponerla y separarla por partes para hacer diferentes consultas LIKE que luego pondremos en la consulta final . $tags1 =&#34;busqueda que se desea&#34;; $trozos = array (); $trozos = explode(&#34; &#34;, $tags1); $tags_sql= &#34;&#34;; for($i=0;$i&#38;lt;count($trozos);$i++) { $trozos[$i] = str_replace(&#34; &#34;,&#34;, &#34;,$trozos[$i]); if ($i==0) { $tags_sql .= &#34;'%&#34;.$trozos[$i].&#34;%'&#34;; }else { $tags_sql .= &#34; or subfiltro like '%&#34;.$trozos[$i].&#34;%'&#34;;&#60;/blockquote&#62; } } $query = &#34;SELECT * FROM table WHERE tags like &#34; .$tags_sql .&#34; ORDER BY RAND() limit 0,1&#34;; si hacemos un echo de $query, obtendremos lo siguiente: SELECT * FROM table WHERE tags like 'busqueda' or tags like 'que' or tags like 'se' or tags like 'desea' ORDER BY RAND() limit 0,1 Tags de búsquedas: busquedas con like, busqueda con like, busqueda like sql jquery, busquedas con like php, como hacer busquedaa usando like, efectuar busquedas con php Related posts:Indexar las búsquedas full-text con Sphinx. Tutorial como usar Sphinx Sphinx configuración. Busquedas con y sin acentos y carácteres utf8 Que diferencias (básicas) hay entre InnoDB y MyISAM obtener el nombre del dominio con javascript Cambiar el nombre de una clase css con javascript y [...]


Related posts:<ol><li><a href='http://www.pedroventura.com/blog_programacion/sysadmin/indexar-las-busquedas-full-text-con-sphinx-tutorial-como-usar-sphinx/' rel='bookmark' title='Indexar las búsquedas full-text con Sphinx. Tutorial como usar Sphinx'>Indexar las búsquedas full-text con Sphinx. Tutorial como usar Sphinx</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/sysadmin/sphinx-configuracion-busquedas-con-y-sin-acentos-y-caracteres-utf8/' rel='bookmark' title='Sphinx configuración. Busquedas con y sin acentos y carácteres utf8'>Sphinx configuración. Busquedas con y sin acentos y carácteres utf8</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/sql/que-diferencias-basicas-hay-entre-innodb-y-myisam/' rel='bookmark' title='Que diferencias (básicas) hay entre InnoDB y MyISAM'>Que diferencias (básicas) hay entre InnoDB y MyISAM</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/javascript/obtener-el-nombre-del-dominio-con-javascript/' rel='bookmark' title='obtener el nombre del dominio con javascript'>obtener el nombre del dominio con javascript</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/javascript/cambiar-el-nombre-de-una-clase-css-con-javascript-y-con-jquery/' rel='bookmark' title='Cambiar el nombre de una clase css con javascript y con jquery'>Cambiar el nombre de una clase css con javascript y con jquery</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Lo que nos viene es un string como vemos en la primera linea del codigo. Lo que hacemos es descomponerla y separarla por partes para hacer diferentes  consultas LIKE  que luego pondremos en la consulta final .</p>
<pre class="brush: php; title: ;">
$tags1 =&quot;busqueda que se desea&quot;;
$trozos = array ();
$trozos = explode(&quot; &quot;, $tags1);
$tags_sql= &quot;&quot;;

for($i=0;$i&amp;lt;count($trozos);$i++)
{
$trozos[$i] = str_replace(&quot; &quot;,&quot;, &quot;,$trozos[$i]);
if ($i==0)
{
$tags_sql .= &quot;'%&quot;.$trozos[$i].&quot;%'&quot;;
}else
{
$tags_sql .= &quot; or subfiltro like '%&quot;.$trozos[$i].&quot;%'&quot;;&lt;/blockquote&gt;
}
}
$query = &quot;SELECT * FROM table WHERE tags like &quot; .$tags_sql .&quot;  ORDER BY RAND() limit 0,1&quot;;
</pre>
<p>si hacemos un echo de $query, obtendremos lo siguiente:</p>
<pre class="brush: php; title: ;">
SELECT * FROM table WHERE tags like 'busqueda'  or tags like 'que' or tags like 'se'  or tags like 'desea' ORDER BY RAND() limit 0,1
</pre>
<p class="listadoTagRelacionados">Tags de búsquedas:</p><p class="listadoTagRelacionados"> busquedas con like, busqueda con like, busqueda like sql jquery, busquedas con like php, como hacer busquedaa usando like, efectuar busquedas con php</p><!-- SEO SearchTerms Tagging 2 Plugin -->

<p>Related posts:<ol><li><a href='http://www.pedroventura.com/blog_programacion/sysadmin/indexar-las-busquedas-full-text-con-sphinx-tutorial-como-usar-sphinx/' rel='bookmark' title='Indexar las búsquedas full-text con Sphinx. Tutorial como usar Sphinx'>Indexar las búsquedas full-text con Sphinx. Tutorial como usar Sphinx</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/sysadmin/sphinx-configuracion-busquedas-con-y-sin-acentos-y-caracteres-utf8/' rel='bookmark' title='Sphinx configuración. Busquedas con y sin acentos y carácteres utf8'>Sphinx configuración. Busquedas con y sin acentos y carácteres utf8</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/sql/que-diferencias-basicas-hay-entre-innodb-y-myisam/' rel='bookmark' title='Que diferencias (básicas) hay entre InnoDB y MyISAM'>Que diferencias (básicas) hay entre InnoDB y MyISAM</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/javascript/obtener-el-nombre-del-dominio-con-javascript/' rel='bookmark' title='obtener el nombre del dominio con javascript'>obtener el nombre del dominio con javascript</a></li>
<li><a href='http://www.pedroventura.com/blog_programacion/javascript/cambiar-el-nombre-de-una-clase-css-con-javascript-y-con-jquery/' rel='bookmark' title='Cambiar el nombre de una clase css con javascript y con jquery'>Cambiar el nombre de una clase css con javascript y con jquery</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pedroventura.com/blog_programacion/php/realizar-busquedas-con-like/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (Feed is rejected)
Page Caching using disk: enhanced
Database Caching 27/147 queries in 0.496 seconds using disk: basic
Object Caching 2387/2605 objects using disk: basic
Content Delivery Network via Amazon Web Services: S3: blogpv2011.s3.amazonaws.com

Served from: www.pedroventura.com @ 2012-02-06 21:56:46 -->
