Vamos a describir cómo configurar los ajustes antes de generar la versión del videojuego Unity que podrá ejecutarse…
Uso GreenDAO en Android: relaciones entre tablas de una base de datos
1.
Uso GreenDAO en Android: relaciones entre tablas de una base de datos
Relaciones entre Entidades con API GreenDAO
En esta serie de tutoriales sobre el uso de ORMs en Android, vamos a centrarnos en cómo convertir una estructura de Base de Datos algo más compleja en objetos DAO, comprobando como se construyen las relaciones entre entidades con el uso de la API GreenDAO.
En primer lugar vamos a explicar qué tipo de relaciones se pueden establecer entre dos entidades, que posteriormente puedan ser construidas por GreenDAO:
Relaciones uno a uno (1:1)
En una relación uno a uno, una fila de la tabla A no puede tener relación con más de una fila en la tabla B y viceversa. Se crea una relación uno a uno si las dos columnas relacionadas son claves principales o tienen restricciones UNIQUE.
Este tipo de relación no es habitual, ya que la mayor parte de la información relacionada de esta manera estaría toda en una tabla. Puede utilizar una relación uno a uno para:
- Dividir una tabla con muchas columnas
- Aislar parte de una tabla por razones de seguridad
- Almacenar datos que son efímeros y que pueden eliminarse fácilmente mediante la simple eliminación de la tabla.
- Almacenar información que se aplica solamente a un subconjunto de la tabla principal.
Tanto el lado de la clave principal como el de la clave externa de una relación uno a uno, se indica mediante un símbolo de clave.
Relaciones uno a varios (1:N)
Una relación uno a varios es el tipo más habitual de relación. En este tipo de relación, una fila de la tabla A puede corresponderse con muchas filas de la tabla B, pero una fila de la tabla B solo puede corresponderse con otra de la tabla A.
Es muy apropiado este tipo de relación si solamente una de las columnas relacionadas es la clave principal o tiene una restricción UNIQUE.
El lado de la clave principal de una relación uno a varios se indica mediante un símbolo de clave. El lado de la clave externa de una relación se indica mediante un símbolo de infinito.
Crear relaciones con GreenDAO
Para poder establecer relaciones entre tablas en GreenDAO, primero deberemos crear las entidades que formarán nuestra Base de Datos.
En este ejemplo que hemos realizado, se crean dos entidades o tablas, llamadas «Profesores» y «Asignaturas«. Ambas tablas pertenecen a la Base de Datos «Matricula«, por lo que habrá que añadir dos entidades al esquema creado con GreenDAO.
Tras crear el esquema, se definirán los campos que formarán cada Tabla:
- Tabla Profesores: implementa la lógica de los datos personales del profesor, además del curso al que imparte clase. Su clave primaria es «_id«.
- Tabla Asignaturas: se encarga de almacenar las asignaturas matriculadas por el alumno. El campo «idProfesor«es clave foránea del campo «_id«, que es clave primaria en la tabla Profesores. Se establece una relación de uno a varios (1 : N), en la que al identificador de profesor le corresponde varios campos de la tabla Asignaturas.
Estructura de Base de Datos de proyecto Android
Con el fin de simplificar el modelo de datos para centrar la atención en cómo se definen las relaciones usando el ORM GreenDAO, se establece la lógica existente, entre un profesor y las asignaturas que imparte, a un único grupo de alumnos (por lo tanto no se define ninguna tabla ‘Alumnos’ en la base de datos).
De esta manera, facilitamos la tarea de selección de asignaturas a través de un campo booleano, para la gestión de una matrícula o ficha (de ahí el nombre de la base de datos).
De esta manera, facilitamos la tarea de selección de asignaturas a través de un campo booleano, para la gestión de una matrícula o ficha (de ahí el nombre de la base de datos).
En los próximos tutoriales vamos a desarrollar este proyecto Android que utiliza esta estructura de Base de Datos simplificada, en la que un profesor puede impartir hasta tres asignaturas, pero cada asignatura sólo puede ser impartida por un profesor.
Autor: José Antonio Gázquez Rodríguez- Academia Android
Esta entrada tiene 2 comentarios
Los comentarios están cerrados.
[…] 1.Uso GreenDAO en Android: relaciones entre tablas de una base de datos […]
[…] 1.Uso GreenDAO en Android: relaciones entre tablas de una base de datos […]