You are on page 1of 4

Diferencias

Programacin
entre
Movil
SQLite y
MySQL
1.4

Diferencias entre MYSQL y SQLite


Aunque el lenguaje SQL est normalizado, existen diferencias entre los
distintos sistemas gestores bases de datos, por lo que algunas consultas no dan
los mismos resultados en cada una de ellas.
En las soluciones de los ejercicios incluidos en estos apuntes se utiliza
tanto MySQL como SQLite como sistemas gestores de bases de datos, por lo que
se comentan aqu algunas de las diferencias entre ellas.
Nombre de las bases de datos
Longitud de los campos
Maysculas, minsculas y acentos
Fecha vaca
Nombre de las bases de datos
En MySQL el nombre de la base de datos no puede contener guiones (-) ni
puntos (.), pero en SQLite s.
En las soluciones de los ejercicios incluidos en estos apuntes se ha
intentado corregir esta diferencia no utilizando guiones (-) ni puntos (.) en los
nombres de las bases de datos para que sean compatibles con ambas bases de
datos.
Longitud de los campos
Si se guarda un dato ms largo de la longitud del campo definida al crear la
tabla, MySQL trunca la cadena, pero SQLite no. Por ejemplo, si se crea una tabla
con un campo nombre VARCHAR (5) y se guarda la cadena abcdefghij, en MySQL
se guardar la cadena abcde, mientras que en SQLite se guardar la cadena
abcdefghij.
En las soluciones de los ejercicios incluidos en estos apuntes se ha
intentado corregir esta diferencia validando los datos recibidos, de manera que si
un dato recibido es ms largo que el tamao definido en la base de datos se
muestra un aviso al usuario y no se guarda el dato.
Maysculas, minsculas y acentos

Al comparar si dos cadenas son idnticas (WHERE campo=dato) o


similares (WHERE campo LIKE dato), MySQL no distingue entre maysculas y
minsculas o entre vocales acentuadas o sin acentuar, es decir, que si se busca
"pepe", devolvera tanto la cadena "pepe", como "Pepe" o "pep".
Al comparar si dos cadenas son idnticas, (WHERE campo=dato) SQLite s
que distingue entre maysculas y minsculas o entre vocales acentuadas o sin
acentuar, es decir, que si se busca "pepe", devolvera nicamente "pepe", no
"Pepe" o "pep".
Al comparar si dos cadenas son similares, (WHERE campo LIKE dato)
SQLite no distingue entre maysculas y minsculas aunque s que lo hace entre
vocales acentuadas o sin acentuar, es decir, que si se busca "pepe", devolvera
nicamente "pepe" o "Pepe", pero no "pep".
En las soluciones de los ejercicios incluidos en estos apuntes no se ha
intentado corregir esta diferencia, por lo que dependiendo de la base de datos
utilizada, los programas funcionarn de distinta manera. Por ejemplo, si existe un
registro "pepe", si la base de datos es MySQL no se podr aadir un registro
"Pepe", pero si es SQLite s.
Fecha vaca
Al insertar una fecha vaca, SQLite guarda una cadena vaca, mientras que
MySQL guarda la cadena "0000-00-00".

Mas diferencias:
SQLite:
Puede funcionar perfectamente para sitios de trfico bajo-medio, lo cual se
traduce en el 99,9% de los sitios web actuales.
Es mono-usuario, lo que significa que no permite concurrencia de
conexiones, aunque hay disparidad de opiniones sobre esta cuestin en internet la
realidad es que si un usuario est modificando datos y otro lo intenta al mismo
tiempo, este ltimo no podr hacerlo hasta que el anterior termine, pudiendo

suceder que se pierda la modificacin de uno de ambos si coincidieran en el


tiempo de lectura del fichero.
No es una base de datos, sino un fichero con datos debidamente
organizados (parecido a la estructura del Access de Microsoft). Para hacer una
copia o migrar la aplicacin basta con mover el fichero de sitio y listo.
No tiene tipos de datos, sea que puedes meter una cadena de texto en un
campo que ests utilizando como numrico. Esto me lleva a pensar en la cantidad
de problemas que pueden ocurrir.
No hay gestin de usuarios. La seguridad se basa en el sistema de
permisos de ficheros establecido por el sistema Operativo.
MySQL:
Funciona con sitios de gran envergadura. Hay que tener en cuenta que es
utilizada en proyectos como la Wikipedia, phpBB, WordPress, Drupal, Joomla,
Owncloud, etc.
Es un gestor de base de datos, y cada tabla, vistas, objetos estn en un
fichero diferente.
Permite mltiples (cientos de miles) consultas y modificaciones de forma
simultnea.
Tiene varios tipos de datos para segn qu tipo de informacin necesitemos
manejar.
Ofrece la posibilidad de gestionar usuarios con diferentes niveles de
acceso.
Pues bien, con lo dicho creo que ya se puede elegir que opcin de SQL
usar segn la envergadura de tu proyecto. Espero que os sirva.

You might also like