Diagrama Entidad Relación (DER) - G10-ISPC/Frontend-Mobile GitHub Wiki
Requerimientos:
Entidades Necesarias
CustomUser (Usuarios)
PK: id
Atributos: password last_login is_superuser username first_name last_name is_staff is_active date_joined email telefono
FK: direccion_id → Relaciona con Direccion.
Relaciones: Relación uno a uno (1:1) con Direccion: Cada usuario puede tener una única dirección asociada. Relación uno a uno (1:1) con authtoken_token: Cada usuario tiene un token de autenticación para acceder a la aplicación. Direccion PK: id_direccion
Atributos: calle numero
Relaciones: Relación uno a uno (1:1) con CustomUser: Cada dirección está asociada a un único usuario. Producto
PK: id_producto
Atributos: nombre_producto descripcion precio is_in_stock
Relaciones: Relación uno a muchos (1 ) con Administrador: Un administrador puede ver, crear, modificar y eliminar múltiples productos en la aplicación. auth_group PK: id
Atributos: name
Relaciones: Relación muchos a muchos (M ) con auth_permission: Los grupos pueden tener múltiples permisos y cada permiso puede pertenecer a varios grupos, gestionado a través de la tabla intermedia auth_group_permissions. auth_permission PK: id
Atributos: name content_type_id codename auth_group_permissions PK: id (composición de id de auth_group y id de auth_permission)
Relaciones: Relación muchos a uno (N:1) con auth_group: Cada grupo puede tener múltiples permisos. Relación muchos a uno (N:1) con auth_permission: Cada permiso puede pertenecer a varios grupos. authtoken_token PK: key
Atributos: user_id (FK a CustomUser) created
Relaciones Clave:
CustomUser → Direccion: Un usuario puede tener una única dirección, estableciendo una relación uno a uno (1:1). CustomUser → authtoken_token: Un usuario tiene un token de autenticación para poder acceder a la aplicación, creando también una relación uno a uno (1:1). auth_group → auth_permission: Los grupos tienen permisos asignados, lo que permite gestionar los roles y accesos de los usuarios de manera más organizada. Esta relación es de muchos a muchos (M ). Administrador → Producto: Un administrador puede gestionar múltiples productos, lo que implica que puede ver, crear, modificar y eliminar productos. Esta relación es de uno a muchos (1 ).