# **🧩**  Entrega individual – Aplicación de LDD del Zoológico
**Semana 7 - 8 | Modalidad: Terminal en VM | Lenguaje: SQL puro**
**Objetivo**: Crear paso a paso, desde la terminal, la base de datos del zoológico diseñada previamente, aplicando Lenguaje de Definición de Datos (LDD).
## **✅**  Requisitos técnicos mínimos
### **🧱** 1. Creación del entorno
- Acceder a MariaDB desde terminal (sudo mariadb o sudo mysql).
- Crear la base de datos:
**Código de ejemplo:**
```
CREATE DATABASE zoologico_2025;
USE zoologico_2025;
```
- Crear un **usuario dedicado** para este proyecto, con contraseña segura:
**Código de ejemplo:**
```
CREATE USER 'zoo_user'@'localhost' IDENTIFIED BY 'TuClaveSegura';
GRANT ALL PRIVILEGES ON zoologico_2025.* TO 'zoo_user'@'localhost';
FLUSH PRIVILEGES;
```
### **📦**  2. Definición estructural con LDD 
Mínimo **5 tablas relacionadas** con el dominio zoológico (ej. animales, especies, habitats -infraestructura-, cuidadores, visitantes).
Cada tabla debe incluir:
- **Clave primaria** (PRIMARY KEY)
- Al menos **una clave foránea** (FOREIGN KEY) con referencia válida
- **Restricciones**: NOT NULL, UNIQUE, CHECK, etc.
- Tipos de datos adecuados: VARCHAR, INT, DATE, DECIMAL, etc.
- Al menos **una tabla con índice secundario** (CREATE INDEX)
- Relación de cardinalidad coherente (uno a muchos, muchos a muchos)
- Uso adecuado de **entidades débiles**, si aplican
### **🧠**  3. Principios de normalización y dominio
- El modelo debe mostrar **estructura limpia y normalizada** (mínimo hasta 3FN).
- Evitar duplicaciones innecesarias y asegurar separación de responsabilidades.
- Usar **CHECK constraints** para restringir dominios cuando sea necesario.
## **📤**  Entrega esperada – video explicativo
Cada estudiante deberá grabar y entregar un video de **4 a 5 minutos** que cumpla con lo siguiente:
🎥 **Contenido del video:**
1. **Presentación rápida** de su diseño (puede mostrar esquema o explicar su lógica).
2. **Demostración en terminal** del resultado:
    - Ejecutar SHOW TABLES; → mostrar que las tablas fueron creadas.
    - Ejecutar DESCRIBE nombre_tabla; → mostrar la estructura.
    - Mostrar DESCRIBE nombre_tabla; → de una o más tablas que muestre lo solicitado en esta tarea
3. **Comentario final**: 
	- ¿Por qué es importante contar con un buen diseño de la BBDD?
	- ¿Qué fue lo más fácil/difícil al crear las tablas desde cero?
📝 **Formato y nombre del archivo de entrega:**
- Nombre: zoologico_tunombre_apellido.mp4
- Subir en la carpeta tareas en: tarea “LDD Zoológico – Semana 7-8” en Teams antes de la fecha establecida.
## **🧠**  Sugerencia para el video
 Aquí algunas escenas que podrían mostrar en el vídeo, no todas se podrían en directo (desde terminal), por lo que podrían tener un documento o carpeta con los screenshots que demuestres que lo hicieron.
```
1. Diseño del que parte la BBDD (Mostrar el diseño hecho en drawdb.app)
2. Ingreso a MariaDB con root (screenshot)
3. Crear usuario (screenshot)
4. Crear base de datos y usarla (screenshot)
5. Ingreso con usuario de la base de datos (terminal)
6. Mostrar tabla con SHOW TABLES; (terminal)
7. Mostrar DESCRIBE de una o más tablas que muestre lo solicitado en esta tarea  (terminal)
8. Breve reflexión personal
```
### 🎯 Resultado esperado:
Una base de datos **creada completamente desde terminal**, que represente con precisión el modelo relacional del zoológico y aplique correctamente las estructuras y restricciones vistas en clase. El video validará no solo el diseño, sino también la comprensión del proceso.
## **📊 Rúbrica de evaluación :** 
**Duración esperada: 4 a 5 minutos**
**Puntaje total: 20 puntos**
| **Criterio**                                                     | **Descripción**                                                                                                                                  | **Puntos** |
| ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ---------- |
| **1. Explicación del diseño de la BBDD**                         | Describe de forma clara el propósito de la base de datos, las entidades principales y la lógica de sus relaciones. Usa vocabulario preciso.      | 5 pts      |
| **2. Demostración de la creación de la base de datos y usuario** | Se observa claramente la creación de la base de datos y el usuario en MariaDB, con comandos correctos desde la terminal (pueden ser screenshot). | 4 pts      |
| **3. Ejecución de LDD (comando por comando en terminal)**        | Se muestran y explican comandos relevantes: CREATE TABLE, relaciones (FOREIGN KEY), restricciones (NOT NULL, CHECK, etc.).                       | 5 pts      |
| **4. Uso de lenguaje técnico y precisión terminológica**         | Utiliza términos adecuados como “clave primaria”, “relación”, “normalización”, “restricción”, etc. y demuestra comprensión al aplicarlos.        | 3 pts      |
| **5. Reflexión final clara y honesta**                           | Brinda respuestas breves (concisas y precisas) a las reflexiones solicitadas y están totalmente  alineadas con su proceso mostrado.              | 3 pts      |
### **📌** Observaciones complementarias (no puntuables, pero observables)
- Manejo fluido del terminal (sin copiar/pegar ciego).
- Calidad del audio/video (suficiente para entender, no se requiere edición profesional).
- Actitud reflexiva y tono profesional.
- Coherencia entre el diseño verbalizado y lo ejecutado en SQL.
### **🎯 Recomendaciones para el estudiante:**
- Graba **directamente desde tu terminal**, narrando tu proceso.
- Puedes usar una herramienta como **OBS Studio, Kazam o Loom**.
- Sé claro al hablar, usa ejemplos concretos y explica **qué haces y por qué**.
- La evaluación se centrará en tu **comprensión real del proceso**, no en la edición del video.