SlideShare una empresa de Scribd logo
1 de 15
SQLite en
LIVIANO, FACIL Y ROBUSTO.
¿Porqué escribo esto?
Estoy desarrollando una aplicación con Unity3D y necesitaba una forma de organizar toda la
información de la app dentro de algo.
Investigando encontre algunas formas, entre ellas es usar los PlayerPrefs que me serviría (tenía
limitaciones para mí), pero necesitaba algo que me ayude a mantener la información organizada
porqué manejaba bastante información. Unity3D no soporta las Base de datos pero hay
soluciones que nos pueden ayudar a manejarlo, entre ellas el PlayerPrefs y SQLite, éste ultimo
es la opción que elejí.
Les explico los conceptos basicos de SQLite y veamos en código como obtenemos la data. Para
ello tienen que saber C# en Unity y Sentencias SQL.
¿Que es SQLite?
- Es un sistema de Gestión de base de datos relacional, contenida en una biblioteca escrita en C.
- No necesita un motor de Base de datos (a diferencia de MySQL, PostgreSQL, Oracle, etc.) es
totalmente independiente que pasa a integrarse a la aplicación.
- El conjunto de la base de datos (definiciones,tablas, índices, y los propios datos), son
guardados como un solo fichero estándar, en la máquina local.
- En su v.3 permite hasta 2TB de información, tipos de datos BLOB Foreing Key.
¿Porque usar SQLite?
- Tamaño: tiene una pequeña memoria y una única biblioteca para acceder a bases de datos.
- Rendimiento: Realiza operaciones eficientes y es más rápido que MySQL y PostgreSQL.
- Portabilidad: funciona en muchas plataformas y sus base de datos pueden ser portadas sin
ninguna configuración o administración.
- Estabilidad: SQLite es compatible con ACID, reuniendo los cuatos criterios de Atomicidad,
Consistencia, Aislamiento y Durabilidad.
- SQL: Implemente un gran subconjunto de ANSI -92 SQL, vistas, triggers y otros.
- FREE: es libre de usar.
Sus Caracteristicas
- Cero Configuración: no requiere un servidor, un administrador ni configuración.
- Portabilidad: Ejecutado en cualquier plataforma.
- Autónomo: Una única biblioteca contiene todo el sistema de base de datos, que se integra
directamente al host de la aplicación.
- Longitud Variable: a comparación de otras bases de datos, SQLite usa solo el espacio en disco
necesario para almacenar.
- Transaccional: Compatible con ACID, lo que permite acceso seguro a partir de múltiples
procesos.
- SQL: Soporta las sentencias SQL encontradas en el estandar SQL 92.
En general: SQLite proporciona un entorno relacional muy funcional que consume un mínimo de
recursos y minimos en molestias para desarrolladores y usuarios.
Algo breve: ¿Porque Unity3D?
Como sabemos Unity3D es un motor de Juegos, pensada para hacer JUEGOS -.-! Pero la
caracteristica principal que es Multiplataforma (hacer que tus juegos y apps funcionen en
diferentes SO) hizo que muchos desarrolladores y empresas empiezen a hacer apps con este
motor, PERO tienes que ver si te combiene usar Unity para lo que quieres hacer, en mi caso si
porque usamos Objetos 3D dentro de la app, quise hacer otro tipo de app con mapas y
geolocalización y me limité mucho con Unity porque no habian herramientas que me permitian
hacer eso (recien aparecen) y otros, porque Unity NO esta orientado ah hacer Apps, pero recien
hay Plugins y otras soluciones que nos estan ayudando mucho para este tema, en diferentes
areas como Medicina, Minería, Educación, Turismo y muchos otros.
¿Que necesitamos?
- Descargar este Plugin de Librerias SQLite (.dll para usar las funciones de SQLite)
http://www.mediafire.com/download/ay3qq8afe49ql1k/Plugins.rar
- Descargar SQLite Databases Browser (Navegador de base de datos)
http://sourceforge.net/projects/sqlitebrowser/
¿Que hacemos?
1. En Unity creamos un proyecto DBTest con las siguientes carpetas:
2. Abrimos el SQLite Database Browser y abrimos la ventana para crear nuestra base de datos
muy facil.
3. Creamos nuestra base de datos en “File - new database”, mostrándonos una ventana, nos pedirá
nombre de la tabla y luego las columnas que contendrá con sus tipos de datos, cuando terminemos de lo
guardamos dentro de la carpeta “DB” de nuestro proyecto de Unity.
4. Ahora vamos a Unity y dentro de la carpeta “Plugins” copiamos los archivos(.dll y sqlite) de
.rar que descargamos.
5. Ahora a codear: Creamos un archivo “DBConnector.cs” dentro de la carpeta “Scripts” y
escribimos el siguiente codigo.
6. Creamos otro archivo “Access” donde haremos la prueba de nuestro código y manipular la
data del SQLite.
1ro: Hacemos referencia de la clase DBConnector.
2do: Abrimos la Base de Datos.
3ro: Insertamos, seleccionamos, actualizamos y seleccionamos sobre la Base de Datos.
7. Ejecutamos el código en Unity y tambien en el SQLite Database Browsers y nos mostrará los
siguientes datos.
Ahora podemos usar ésto como código base para manejar BD dentro de nuestros juegos o
aplicaciones dentro de Unity3D. Les dejo los enlaces al final.
Enlaces
- Plugin (dll y sqlite):
http://www.mediafire.com/download/ay3qq8afe49ql1k/Plugins.rar
- SQLite Databases Browser.
http://sourceforge.net/projects/sqlitebrowser/
- SQLite
http://www.sqlite.org/
- Otros
http://en.wikipedia.org/wiki/SQLite :)
http://www.scribd.com/fullscreen/52882068?access_key=key-
7tv13o05cj4dj11lq9b&allow_share=true&escape=false&view_mode=scroll
http://answers.oreilly.com/topic/1914-what-is-sqlite/
¡GRACIAS!
Elias Timoteo Mamani Canaza
@eliascanaza

Más contenido relacionado

La actualidad más candente

Diagramas de despliegue
Diagramas de despliegueDiagramas de despliegue
Diagramas de desplieguegmjuan
 
Hacking con buscadores
Hacking con buscadoresHacking con buscadores
Hacking con buscadoresTensor
 
Diseño y construcción de un software para una tienda
Diseño y construcción de un software para una tiendaDiseño y construcción de un software para una tienda
Diseño y construcción de un software para una tiendaOscar Hernando Sanchez Roa
 
Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de softwareAtributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de softwareadolfo1608
 
Sesion09 - Manejo de Excepciones (Oracle)
Sesion09 - Manejo de Excepciones (Oracle)Sesion09 - Manejo de Excepciones (Oracle)
Sesion09 - Manejo de Excepciones (Oracle)José Toro
 
PSW Unidad 3: Implementación y seguridad del proceso de software
PSW Unidad 3: Implementación y seguridad del proceso de softwarePSW Unidad 3: Implementación y seguridad del proceso de software
PSW Unidad 3: Implementación y seguridad del proceso de softwareFranklin Parrales Bravo
 
Ingenieria de software basada en componentes -jeiner gonzalez blanco
Ingenieria de software basada en componentes  -jeiner gonzalez blancoIngenieria de software basada en componentes  -jeiner gonzalez blanco
Ingenieria de software basada en componentes -jeiner gonzalez blancoJeiner Gonzalez Blanco
 
Diagrama paquetes, colaboracion y componetes
Diagrama paquetes, colaboracion y componetesDiagrama paquetes, colaboracion y componetes
Diagrama paquetes, colaboracion y componetesandrescofran
 
Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionalesRequisitos funcionales y no funcionales
Requisitos funcionales y no funcionalesRene Guaman-Quinche
 
Técnicas de recolección de requerimientos
Técnicas de recolección de requerimientosTécnicas de recolección de requerimientos
Técnicas de recolección de requerimientosJoaquin Artavia Chaves
 
Etapas de Desarrollo Software
Etapas de Desarrollo SoftwareEtapas de Desarrollo Software
Etapas de Desarrollo SoftwareDaniel Román
 
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTOUnidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTOGuillermo Hernandez Miranda
 
Ppt de ingenieria de requerimiento
Ppt de ingenieria de requerimientoPpt de ingenieria de requerimiento
Ppt de ingenieria de requerimientomely1930
 
Patrones estructurales
Patrones estructuralesPatrones estructurales
Patrones estructuralesJuan Camilo
 
FMK Capa de Presentacion
FMK Capa de PresentacionFMK Capa de Presentacion
FMK Capa de Presentacionkaolong
 

La actualidad más candente (20)

Diagramas de despliegue
Diagramas de despliegueDiagramas de despliegue
Diagramas de despliegue
 
C2 lenguaje html
C2 lenguaje htmlC2 lenguaje html
C2 lenguaje html
 
Hacking con buscadores
Hacking con buscadoresHacking con buscadores
Hacking con buscadores
 
Diseño y construcción de un software para una tienda
Diseño y construcción de un software para una tiendaDiseño y construcción de un software para una tienda
Diseño y construcción de un software para una tienda
 
Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de softwareAtributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software
 
Sesion09 - Manejo de Excepciones (Oracle)
Sesion09 - Manejo de Excepciones (Oracle)Sesion09 - Manejo de Excepciones (Oracle)
Sesion09 - Manejo de Excepciones (Oracle)
 
PSW Unidad 3: Implementación y seguridad del proceso de software
PSW Unidad 3: Implementación y seguridad del proceso de softwarePSW Unidad 3: Implementación y seguridad del proceso de software
PSW Unidad 3: Implementación y seguridad del proceso de software
 
Ingenieria de software basada en componentes -jeiner gonzalez blanco
Ingenieria de software basada en componentes  -jeiner gonzalez blancoIngenieria de software basada en componentes  -jeiner gonzalez blanco
Ingenieria de software basada en componentes -jeiner gonzalez blanco
 
Diagrama paquetes, colaboracion y componetes
Diagrama paquetes, colaboracion y componetesDiagrama paquetes, colaboracion y componetes
Diagrama paquetes, colaboracion y componetes
 
Las 11 bases de datos mas grandes
Las 11 bases de datos mas grandesLas 11 bases de datos mas grandes
Las 11 bases de datos mas grandes
 
Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionalesRequisitos funcionales y no funcionales
Requisitos funcionales y no funcionales
 
Técnicas de recolección de requerimientos
Técnicas de recolección de requerimientosTécnicas de recolección de requerimientos
Técnicas de recolección de requerimientos
 
Requerimientos del Software
Requerimientos del SoftwareRequerimientos del Software
Requerimientos del Software
 
Etapas de Desarrollo Software
Etapas de Desarrollo SoftwareEtapas de Desarrollo Software
Etapas de Desarrollo Software
 
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTOUnidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
 
Ppt de ingenieria de requerimiento
Ppt de ingenieria de requerimientoPpt de ingenieria de requerimiento
Ppt de ingenieria de requerimiento
 
Diagramas de comportamientos
Diagramas de comportamientosDiagramas de comportamientos
Diagramas de comportamientos
 
Patrones estructurales
Patrones estructuralesPatrones estructurales
Patrones estructurales
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
FMK Capa de Presentacion
FMK Capa de PresentacionFMK Capa de Presentacion
FMK Capa de Presentacion
 

Destacado

CONEXION A LA BASE DE DATOS SQLITE A TRAVES DE UNA APLICACION MOVIL ANDRO...
CONEXION A  LA BASE DE DATOS  SQLITE A TRAVES DE UNA APLICACION  MOVIL  ANDRO...CONEXION A  LA BASE DE DATOS  SQLITE A TRAVES DE UNA APLICACION  MOVIL  ANDRO...
CONEXION A LA BASE DE DATOS SQLITE A TRAVES DE UNA APLICACION MOVIL ANDRO...Ivan Petrlik
 
Empezando con unity3 d
Empezando con unity3 dEmpezando con unity3 d
Empezando con unity3 ddevelopeando
 
Maria db vs mysql
Maria db vs mysqlMaria db vs mysql
Maria db vs mysqlNitin KR
 
Introduction to MariaDB
Introduction to MariaDBIntroduction to MariaDB
Introduction to MariaDBJongJin Lee
 
MariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialMariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialColin Charles
 
Node.js vs Play Framework (with Japanese subtitles)
Node.js vs Play Framework (with Japanese subtitles)Node.js vs Play Framework (with Japanese subtitles)
Node.js vs Play Framework (with Japanese subtitles)Yevgeniy Brikman
 
Motores de bases de datos
Motores de bases de datosMotores de bases de datos
Motores de bases de datosstill01
 

Destacado (9)

CONEXION A LA BASE DE DATOS SQLITE A TRAVES DE UNA APLICACION MOVIL ANDRO...
CONEXION A  LA BASE DE DATOS  SQLITE A TRAVES DE UNA APLICACION  MOVIL  ANDRO...CONEXION A  LA BASE DE DATOS  SQLITE A TRAVES DE UNA APLICACION  MOVIL  ANDRO...
CONEXION A LA BASE DE DATOS SQLITE A TRAVES DE UNA APLICACION MOVIL ANDRO...
 
State of MariaDB
State of MariaDBState of MariaDB
State of MariaDB
 
Empezando con unity3 d
Empezando con unity3 dEmpezando con unity3 d
Empezando con unity3 d
 
Maria db vs mysql
Maria db vs mysqlMaria db vs mysql
Maria db vs mysql
 
Why MariaDB?
Why MariaDB?Why MariaDB?
Why MariaDB?
 
Introduction to MariaDB
Introduction to MariaDBIntroduction to MariaDB
Introduction to MariaDB
 
MariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialMariaDB 10: The Complete Tutorial
MariaDB 10: The Complete Tutorial
 
Node.js vs Play Framework (with Japanese subtitles)
Node.js vs Play Framework (with Japanese subtitles)Node.js vs Play Framework (with Japanese subtitles)
Node.js vs Play Framework (with Japanese subtitles)
 
Motores de bases de datos
Motores de bases de datosMotores de bases de datos
Motores de bases de datos
 

Similar a SQLite en Unity3D (20)

Sq lite
Sq liteSq lite
Sq lite
 
Sqlite Base de Datos
Sqlite Base de Datos Sqlite Base de Datos
Sqlite Base de Datos
 
SQLite
SQLiteSQLite
SQLite
 
SQLite
SQLiteSQLite
SQLite
 
Sq llite
Sq lliteSq llite
Sq llite
 
Sqlite
SqliteSqlite
Sqlite
 
Android con conexión a base de datos sq lite
Android con conexión a base de datos sq liteAndroid con conexión a base de datos sq lite
Android con conexión a base de datos sq lite
 
Sqlite
SqliteSqlite
Sqlite
 
Sq lite
Sq liteSq lite
Sq lite
 
Sq lite
Sq liteSq lite
Sq lite
 
Sqlite
SqliteSqlite
Sqlite
 
DAM-S5.pptx
DAM-S5.pptxDAM-S5.pptx
DAM-S5.pptx
 
Antologia de taller de base de datos 1 26
Antologia de taller de base de datos 1 26Antologia de taller de base de datos 1 26
Antologia de taller de base de datos 1 26
 
OVA DISEÑO ORACLE II Administración.pptx
OVA DISEÑO ORACLE II Administración.pptxOVA DISEÑO ORACLE II Administración.pptx
OVA DISEÑO ORACLE II Administración.pptx
 
Exposicionsqlite1 (1)
Exposicionsqlite1 (1)Exposicionsqlite1 (1)
Exposicionsqlite1 (1)
 
Sq lite
Sq liteSq lite
Sq lite
 
Ds dprn3 u3_a1_alcz
Ds dprn3 u3_a1_alczDs dprn3 u3_a1_alcz
Ds dprn3 u3_a1_alcz
 
Sqlite
SqliteSqlite
Sqlite
 
Sistemasgestoresdebasededatossgbd 120614221206-phpapp02 (1)
Sistemasgestoresdebasededatossgbd 120614221206-phpapp02 (1)Sistemasgestoresdebasededatossgbd 120614221206-phpapp02 (1)
Sistemasgestoresdebasededatossgbd 120614221206-phpapp02 (1)
 
Base de Datos Relacional
Base de Datos RelacionalBase de Datos Relacional
Base de Datos Relacional
 

Último

Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 

Último (20)

Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 

SQLite en Unity3D

  • 2. ¿Porqué escribo esto? Estoy desarrollando una aplicación con Unity3D y necesitaba una forma de organizar toda la información de la app dentro de algo. Investigando encontre algunas formas, entre ellas es usar los PlayerPrefs que me serviría (tenía limitaciones para mí), pero necesitaba algo que me ayude a mantener la información organizada porqué manejaba bastante información. Unity3D no soporta las Base de datos pero hay soluciones que nos pueden ayudar a manejarlo, entre ellas el PlayerPrefs y SQLite, éste ultimo es la opción que elejí. Les explico los conceptos basicos de SQLite y veamos en código como obtenemos la data. Para ello tienen que saber C# en Unity y Sentencias SQL.
  • 3. ¿Que es SQLite? - Es un sistema de Gestión de base de datos relacional, contenida en una biblioteca escrita en C. - No necesita un motor de Base de datos (a diferencia de MySQL, PostgreSQL, Oracle, etc.) es totalmente independiente que pasa a integrarse a la aplicación. - El conjunto de la base de datos (definiciones,tablas, índices, y los propios datos), son guardados como un solo fichero estándar, en la máquina local. - En su v.3 permite hasta 2TB de información, tipos de datos BLOB Foreing Key.
  • 4. ¿Porque usar SQLite? - Tamaño: tiene una pequeña memoria y una única biblioteca para acceder a bases de datos. - Rendimiento: Realiza operaciones eficientes y es más rápido que MySQL y PostgreSQL. - Portabilidad: funciona en muchas plataformas y sus base de datos pueden ser portadas sin ninguna configuración o administración. - Estabilidad: SQLite es compatible con ACID, reuniendo los cuatos criterios de Atomicidad, Consistencia, Aislamiento y Durabilidad. - SQL: Implemente un gran subconjunto de ANSI -92 SQL, vistas, triggers y otros. - FREE: es libre de usar.
  • 5. Sus Caracteristicas - Cero Configuración: no requiere un servidor, un administrador ni configuración. - Portabilidad: Ejecutado en cualquier plataforma. - Autónomo: Una única biblioteca contiene todo el sistema de base de datos, que se integra directamente al host de la aplicación. - Longitud Variable: a comparación de otras bases de datos, SQLite usa solo el espacio en disco necesario para almacenar. - Transaccional: Compatible con ACID, lo que permite acceso seguro a partir de múltiples procesos. - SQL: Soporta las sentencias SQL encontradas en el estandar SQL 92. En general: SQLite proporciona un entorno relacional muy funcional que consume un mínimo de recursos y minimos en molestias para desarrolladores y usuarios.
  • 6. Algo breve: ¿Porque Unity3D? Como sabemos Unity3D es un motor de Juegos, pensada para hacer JUEGOS -.-! Pero la caracteristica principal que es Multiplataforma (hacer que tus juegos y apps funcionen en diferentes SO) hizo que muchos desarrolladores y empresas empiezen a hacer apps con este motor, PERO tienes que ver si te combiene usar Unity para lo que quieres hacer, en mi caso si porque usamos Objetos 3D dentro de la app, quise hacer otro tipo de app con mapas y geolocalización y me limité mucho con Unity porque no habian herramientas que me permitian hacer eso (recien aparecen) y otros, porque Unity NO esta orientado ah hacer Apps, pero recien hay Plugins y otras soluciones que nos estan ayudando mucho para este tema, en diferentes areas como Medicina, Minería, Educación, Turismo y muchos otros.
  • 7. ¿Que necesitamos? - Descargar este Plugin de Librerias SQLite (.dll para usar las funciones de SQLite) http://www.mediafire.com/download/ay3qq8afe49ql1k/Plugins.rar - Descargar SQLite Databases Browser (Navegador de base de datos) http://sourceforge.net/projects/sqlitebrowser/
  • 8. ¿Que hacemos? 1. En Unity creamos un proyecto DBTest con las siguientes carpetas: 2. Abrimos el SQLite Database Browser y abrimos la ventana para crear nuestra base de datos muy facil.
  • 9. 3. Creamos nuestra base de datos en “File - new database”, mostrándonos una ventana, nos pedirá nombre de la tabla y luego las columnas que contendrá con sus tipos de datos, cuando terminemos de lo guardamos dentro de la carpeta “DB” de nuestro proyecto de Unity.
  • 10. 4. Ahora vamos a Unity y dentro de la carpeta “Plugins” copiamos los archivos(.dll y sqlite) de .rar que descargamos.
  • 11. 5. Ahora a codear: Creamos un archivo “DBConnector.cs” dentro de la carpeta “Scripts” y escribimos el siguiente codigo.
  • 12. 6. Creamos otro archivo “Access” donde haremos la prueba de nuestro código y manipular la data del SQLite. 1ro: Hacemos referencia de la clase DBConnector. 2do: Abrimos la Base de Datos. 3ro: Insertamos, seleccionamos, actualizamos y seleccionamos sobre la Base de Datos.
  • 13. 7. Ejecutamos el código en Unity y tambien en el SQLite Database Browsers y nos mostrará los siguientes datos. Ahora podemos usar ésto como código base para manejar BD dentro de nuestros juegos o aplicaciones dentro de Unity3D. Les dejo los enlaces al final.
  • 14. Enlaces - Plugin (dll y sqlite): http://www.mediafire.com/download/ay3qq8afe49ql1k/Plugins.rar - SQLite Databases Browser. http://sourceforge.net/projects/sqlitebrowser/ - SQLite http://www.sqlite.org/ - Otros http://en.wikipedia.org/wiki/SQLite :) http://www.scribd.com/fullscreen/52882068?access_key=key- 7tv13o05cj4dj11lq9b&allow_share=true&escape=false&view_mode=scroll http://answers.oreilly.com/topic/1914-what-is-sqlite/
  • 15. ¡GRACIAS! Elias Timoteo Mamani Canaza @eliascanaza