Bases de datos relacionales con Access (Periodo III - Actividad IV)
Taller: Introducción a las Bases de Datos Relacionales
Grado: Séptimo de Bachillerato
¿Qué es una Base de Datos Relacional?
Una base de datos relacional es un sistema que organiza la información en tablas conectadas entre sí. Imagina que tienes varios cuadernos donde anotas diferentes tipos de información, pero que pueden relacionarse: uno para estudiantes, otro para materias y otro para calificaciones.
Conceptos Fundamentales
Tabla: Es como una hoja de cálculo con filas y columnas donde se almacena información del mismo tipo.
Campo: Cada columna de la tabla que representa una característica específica (nombre, edad, teléfono).
Registro o Fila: Cada fila de la tabla que contiene la información completa de un elemento específico.
Sistema de Gestión de Bases de Datos (SGBD): Software que permite crear, organizar y gestionar bases de datos. Ejemplos: Microsoft Access, MySQL, SQL Server.
Relaciones entre Tablas: Las tablas se conectan mediante campos comunes, evitando repetir información innecesariamente.
Tipos de Llaves (Claves)
Las llaves o claves son campos especiales que permiten identificar registros y conectar tablas:
Clave Principal (Primary Key):
- Campo único que identifica cada registro en una tabla
- No puede repetirse ni estar vacío
- Ejemplo: El número de cédula de un estudiante
Clave Foránea (Foreign Key):
- Campo que hace referencia a la clave principal de otra tabla
- Crea la conexión entre dos tablas
- Puede repetirse (varios registros pueden referenciar la misma clave principal)
- Ejemplo: En la tabla de préstamos, el ID del estudiante es una clave foránea
Clave Candidata:
- Campo que podría servir como clave principal
- Ejemplo: Tanto el número de cédula como el código estudiantil podrían identificar únicamente a un estudiante
Clave Compuesta:
- Combinación de dos o más campos que juntos forman una clave única
- Ejemplo: Fecha + Hora + Salón para identificar una clase específica
Diagrama simple de una tabla mostrando campos y registros [tomado de codigosql.top]
Ejemplo Práctico: Sistema de Biblioteca Escolar
El Problema
La biblioteca del colegio tiene cientos de libros y muchos estudiantes que los solicitan en préstamo. Actualmente usan cuadernos de papel para registrar:
- Quién pidió prestado cada libro
- Qué libro se llevó cada estudiante
- Cuándo lo prestaron y cuándo lo devolvieron
Este sistema manual genera problemas: información duplicada, registros perdidos, dificultad para saber si un libro está disponible o quién lo tiene.
La Solución con Bases de Datos
Una base de datos relacional resuelve estos problemas organizando la información en tablas separadas pero conectadas:
¿Por qué necesitamos la tabla “Estudiantes”?
Porque necesitamos guardar los datos de cada estudiante una sola vez. Si un estudiante pide prestados 10 libros diferentes, no repetimos su información 10 veces, solo la guardamos una vez y la referenciamos.
¿Por qué necesitamos la tabla “Libros”?
Porque cada libro tiene información propia (título, autor, editorial) que no debe repetirse. Un mismo libro puede ser prestado muchas veces a diferentes estudiantes, pero su información básica permanece igual.
¿Por qué necesitamos la tabla “Préstamos”?
Porque conecta estudiantes con libros en cada transacción. Registra QUIÉN pidió prestado QUÉ libro y CUÁNDO. Esta tabla crea la relación entre las otras dos.
¿Por qué NO usar una sola tabla gigante?
Imagina que guardáramos todo en una sola tabla llamada “Todo_Biblioteca”:
| Nombre_Estudiante | Grado | Teléfono | Título_Libro | Autor | Editorial | Fecha_Préstamo |
|---|---|---|---|---|---|---|
| María González | 7A | 301-555-0123 | Cien años de soledad | García Márquez | Sudamericana | 15/08/2025 |
| María González | 7A | 301-555-0123 | El Principito | Saint-Exupéry | Salamandra | 20/08/2025 |
| Carlos López | 7B | 300-444-0156 | Cien años de soledad | García Márquez | Sudamericana | 18/08/2025 |
Problemas de esta tabla única:
- Repetición masiva: Los datos de María se repiten en cada préstamo
- Desperdicio de espacio: La base de datos crece innecesariamente
- Errores de digitación: Al escribir “María González” 50 veces, es fácil equivocarse
- Actualizaciones complicadas: Si María cambia de teléfono, hay que buscar y cambiar TODOS sus registros
- Inconsistencias: Podríamos tener “María González” en un registro y “Maria Gonzalez” en otro
Ventajas del Diseño con Múltiples Tablas:
- Sin duplicación: Los datos del estudiante se guardan una sola vez
- Fácil actualización: Si cambia el teléfono de un estudiante, se modifica en un solo lugar
- Consistencia garantizada: No hay riesgo de tener información contradictoria
- Menor espacio: La base de datos ocupa menos memoria y es más rápida
- Consultas eficientes: El sistema encuentra información más rápidamente
- Mantenimiento simple: Es más fácil agregar, modificar o eliminar información
- Escalabilidad: Puede crecer fácilmente cuando aumenten estudiantes y libros
Vamos a crear un sistema para gestionar los préstamos de libros en la biblioteca del colegio. Necesitaremos tres tablas relacionadas:
Tabla “Estudiantes”
- ID_Estudiante (clave principal)
- Nombre
- Apellido
- Grado
- Teléfono
Tabla “Libros”
- ID_Libro (clave principal)
- Título
- Autor
- Editorial
- Año_Publicación
Tabla “Préstamos”
- ID_Préstamo (clave principal)
- ID_Estudiante (clave foránea)
- ID_Libro (clave foránea)
- Fecha_Préstamo
- Fecha_Devolución
Cómo se Relacionan las Tablas
Las tablas se conectan mediante llaves o claves que actúan como puentes entre ellas:
Relación Estudiantes ↔ Préstamos:
- La clave principal “ID_Estudiante” de la tabla Estudiantes se conecta con
- La clave foránea “ID_Estudiante” de la tabla Préstamos
- Esta relación nos dice: “¿Qué estudiante hizo este préstamo?”
Relación Libros ↔ Préstamos:
- La clave principal “ID_Libro” de la tabla Libros se conecta con
- La clave foránea “ID_Libro” de la tabla Préstamos
- Esta relación nos dice: “¿Qué libro se prestó en esta transacción?”
Ejemplo de Cómo Funciona:
Si queremos saber “¿Qué libros tiene prestados María González?”, el sistema:
- Busca en la tabla Estudiantes: María González tiene ID_Estudiante = 1
- Encuentra en la tabla Préstamos todos los registros donde ID_Estudiante = 1
- Obtiene los ID_Libro de esos préstamos (ejemplo: ID_Libro = 5 y 12)
- Consulta la tabla Libros para los ID 5 y 12
- Muestra los títulos: “Cien años de soledad” y “El Principito”
Reglas de las Relaciones:
Relación Uno a Muchos (1:N): Estudiantes → Préstamos
Un estudiante puede tener muchos préstamos, pero cada préstamo pertenece a un solo estudiante.
Tabla Estudiantes:
| ID_Estudiante | Nombre | Grado |
|---|---|---|
| 1 | María González | 7A |
| 2 | Carlos López | 7B |
Tabla Préstamos:
| ID_Préstamo | ID_Estudiante | ID_Libro | Fecha_Préstamo |
|---|---|---|---|
| 101 | 1 | 5 | 15/08/2025 |
| 102 | 1 | 12 | 16/08/2025 |
| 103 | 1 | 8 | 20/08/2025 |
| 104 | 2 | 5 | 18/08/2025 |
Observa: María (ID=1) tiene 3 préstamos diferentes, pero cada préstamo pertenece solo a ella.
Relación Uno a Muchos (1:N): Libros → Préstamos
Un libro puede ser prestado muchas veces, pero cada préstamo involucra un solo libro.
Tabla Libros:
| ID_Libro | Título | Autor |
|---|---|---|
| 5 | Cien años de soledad | García Márquez |
| 8 | El Principito | Saint-Exupéry |
| 12 | Harry Potter | J.K. Rowling |
Tabla Préstamos:
| ID_Préstamo | ID_Estudiante | ID_Libro | Fecha_Préstamo |
|---|---|---|---|
| 101 | 1 | 5 | 15/08/2025 |
| 104 | 2 | 5 | 18/08/2025 |
| 105 | 3 | 5 | 22/08/2025 |
Observa: El libro “Cien años de soledad” (ID=5) fue prestado 3 veces a diferentes estudiantes.
Relación Uno a Uno (1:1)
Cada registro de una tabla se relaciona con exactamente un registro de otra tabla. Ejemplo: Cada estudiante tiene exactamente un carné estudiantil único.
Tabla Estudiantes:
| ID_Estudiante | Nombre |
|---|---|
| 1 | María González |
| 2 | Carlos López |
Tabla Carnés:
| ID_Carné | ID_Estudiante | Código_Barras |
|---|---|---|
| 501 | 1 | 789456123 |
| 502 | 2 | 789456124 |
Observa: Cada estudiante tiene exactamente un carné, y cada carné pertenece a exactamente un estudiante.
Relación Muchos a Muchos (N:N)
Muchos registros de una tabla se pueden relacionar con muchos registros de otra tabla. Ejemplo: Estudiantes y Materias (un estudiante puede cursar varias materias, y una materia puede ser cursada por varios estudiantes). Requiere una tabla intermedia.
Tabla Estudiantes:
| ID_Estudiante | Nombre |
|---|---|
| 1 | María González |
| 2 | Carlos López |
Tabla Materias:
| ID_Materia | Nombre_Materia |
|---|---|
| 10 | Matemáticas |
| 11 | Español |
Tabla Inscripciones (tabla intermedia):
| ID_Inscripción | ID_Estudiante | ID_Materia | Nota |
|---|---|---|---|
| 201 | 1 | 10 | 4.5 |
| 202 | 1 | 11 | 4.8 |
| 203 | 2 | 10 | 4.2 |
| 204 | 2 | 11 | 4.0 |
Observa: María cursa Matemáticas y Español. Carlos también cursa ambas materias. Cada materia es cursada por varios estudiantes.
Integridad Referencial:
- ❌ Incorrecto: No se puede crear un préstamo con ID_Estudiante = 99 si no existe ese estudiante
- ❌ Incorrecto: No se puede crear un préstamo con ID_Libro = 150 si no existe ese libro
- ✅ Correcto: Solo se pueden crear préstamos para estudiantes y libros que existan en sus respectivas tablas
Diagrama de relaciones entre las tres tablas [Creación propia]
¿Qué es Microsoft Access?
Microsoft Access es un Sistema de Gestión de Bases de Datos (SGBD) que forma parte del paquete Microsoft Office. Es como un programa especializado para crear y manejar bases de datos de manera sencilla.
Características de Microsoft Access:
- Interfaz gráfica amigable: No necesitas escribir código complicado, todo se hace con ventanas y botones
- Integración con Office: Se conecta fácilmente con Word, Excel y PowerPoint
- Para proyectos pequeños y medianos: Ideal para empresas, colegios o proyectos personales
- Base de datos local: Los archivos se guardan en tu computador (archivos .accdb)
Diferencias con otros SGBD:
| Característica | Microsoft Access | MySQL/SQL Server | Excel |
|---|---|---|---|
| Uso principal | Bases de datos pequeñas y medianas | Bases de datos grandes empresariales | Hojas de cálculo |
| Usuarios simultáneos | Hasta 255 usuarios | Miles de usuarios | Pocos usuarios |
| Facilidad de uso | Muy fácil (interfaz gráfica) | Requiere conocimientos técnicos | Fácil para cálculos |
| Relaciones entre datos | Automáticas y visuales | Requiere programación SQL | Limitadas |
| Costo | Incluido en Office | Varía (MySQL es gratuito) | Incluido en Office |
¿Por qué usamos Access en este taller?
- Es visual e intuitivo: Perfecto para aprender conceptos básicos
- Está disponible en el colegio: Parte del paquete Office educativo
- No requiere programación: Podemos crear bases de datos sin escribir código
- Resultados rápidos: En pocas clases tendremos una base de datos funcionando
Captura de pantalla de la interfaz principal de Microsoft Access [Creación propia]
Creando la Base de Datos en Microsoft Access
Paso 1: Crear la Base de Datos
- Abre Microsoft Access
- Selecciona “Base de datos en blanco”
- Asigna el nombre “Biblioteca_Escolar”
- Haz clic en “Crear”
Paso 2: Crear la Tabla “Estudiantes”
- En la pestaña “Crear”, selecciona “Diseño de tabla”
- Define los campos:
| Nombre del Campo | Tipo de Datos | Descripción |
|---|---|---|
| ID_Estudiante | Autonumeración | Identificador único |
| Nombre | Texto corto | Nombre del estudiante |
| Apellido | Texto corto | Apellido del estudiante |
| Grado | Texto corto | Grado que cursa |
| Teléfono | Texto corto | Número de contacto |
- Selecciona “ID_Estudiante” y marca como clave principal (botón con llave dorada)
- Guarda la tabla con el nombre “Estudiantes”
Paso 3: Crear la Tabla “Libros”
Repite el proceso anterior con estos campos:
| Nombre del Campo | Tipo de Datos | Descripción |
|---|---|---|
| ID_Libro | Autonumeración | Identificador único |
| Título | Texto corto | Título del libro |
| Autor | Texto corto | Autor del libro |
| Editorial | Texto corto | Casa editorial |
| Año_Publicación | Número | Año de publicación |
Paso 4: Crear la Tabla “Préstamos”
| Nombre del Campo | Tipo de Datos | Descripción |
|---|---|---|
| ID_Préstamo | Autonumeración | Identificador único |
| ID_Estudiante | Número | Referencia al estudiante |
| ID_Libro | Número | Referencia al libro |
| Fecha_Préstamo | Fecha/Hora | Cuándo se prestó |
| Fecha_Devolución | Fecha/Hora | Cuándo se devolvió |
Tipos de Datos en Access
- Autonumeración: Genera números automáticamente (ideal para claves principales)
- Texto corto: Hasta 255 caracteres (nombres, títulos)
- Texto largo: Más de 255 caracteres (descripciones extensas)
- Número: Valores numéricos (cantidades, edades)
- Fecha/Hora: Fechas y horarios
- Moneda: Valores monetarios
- Sí/No: Valores verdadero/falso
Claves Principales y Foráneas
Clave Principal: Campo único que identifica cada registro en una tabla. No puede repetirse ni estar vacío.
Clave Foránea: Campo que hace referencia a la clave principal de otra tabla, creando la relación entre tablas.
Captura de pantalla del diseño de tabla en Access [Creación propia]
Guardar las Tablas
- Presiona Ctrl+S o usa el menú Archivo > Guardar
- Asigna un nombre descriptivo a cada tabla
- Access guardará automáticamente la estructura
Actividad Práctica
Problema: El colegio necesita un sistema para gestionar su cafetería escolar, registrando estudiantes, productos disponibles y las compras realizadas.
Requerimientos:
Crea una base de datos llamada “Cafetería_Escolar” con las siguientes tablas:
Tabla “Estudiantes_Cafetería”
| Campo | Tipo de Dato | Clave | Ejemplo |
|---|---|---|---|
| ID_Estudiante | Autonumeración | Clave Principal | 1 |
| Nombre_Completo | Texto corto | Juan Pérez | |
| Grado | Texto corto | 7A | |
| Saldo_Disponible | Moneda | $15,000 |
Tabla “Productos”
| Campo | Tipo de Dato | Clave | Ejemplo |
|---|---|---|---|
| ID_Producto | Autonumeración | Clave Principal | 1 |
| Nombre_Producto | Texto corto | Empanada | |
| Precio | Moneda | $2,500 | |
| Categoría | Texto corto | Comida |
Tabla “Ventas”
| Campo | Tipo de Dato | Clave | Ejemplo |
|---|---|---|---|
| ID_Venta | Autonumeración | Clave Principal | 1 |
| ID_Estudiante | Número | Clave Foránea → Estudiantes_Cafetería | 1 |
| ID_Producto | Número | Clave Foránea → Productos | 1 |
| Fecha_Venta | Fecha/Hora | 15/08/2025 | |
| Cantidad | Número | 2 |
Relaciones entre las Tablas:
- Estudiantes_Cafetería (1) ↔ Ventas (N): Un estudiante puede realizar muchas compras, pero cada venta pertenece a un solo estudiante.
- Productos (1) ↔ Ventas (N): Un producto puede venderse muchas veces, pero cada venta involucra un solo producto.
- Clave de conexión: La tabla “Ventas” actúa como tabla intermedia conectando estudiantes con productos a través de las claves foráneas ID_Estudiante e ID_Producto.
Diagrama de relaciones de la cafetería escolar [Creación propia]
Datos para Ingresar:
Estudiantes (mínimo 5):
- María González, 7B, $20,000
- Carlos Rodríguez, 7A, $18,500
- Ana Martínez, 7C, $12,000
Productos (mínimo 8):
- Jugo Natural, $3,000, Bebida
- Sándwich, $4,500, Comida
- Galletas, $1,500, Snack
Ventas (mínimo 10 registros)
Entrega:
Envía por correo electrónico el archivo .accdb con:
- Las tres tablas creadas
- Todos los datos solicitados ingresados
- Relaciones establecidas entre las tablas
Rúbrica de Evaluación
| Criterio | Excelente (5.0) | Sobresaliente (4.5) | Satisfactorio (4.0) | Básico (3.5) | Insuficiente (3.0) |
|---|---|---|---|---|---|
| Estructura de Tablas | Tablas perfectamente estructuradas con campos apropiados y tipos de datos correctos | Tablas bien estructuradas con campos apropiados y tipos de datos mayormente correctos | Tablas estructuradas con algunos errores menores en campos o tipos de datos | Tablas con estructura básica pero con varios errores en campos o tipos de datos | Tablas mal estructuradas o incompletas |
| Claves y Relaciones | Claves principales y foráneas correctamente definidas, relaciones establecidas | Claves mayormente correctas, relaciones establecidas con errores menores | Claves definidas con algunos errores, relaciones básicas establecidas | Claves parcialmente definidas, relaciones incompletas | Claves incorrectas o ausentes, sin relaciones |
| Datos Ingresados | Todos los datos requeridos ingresados correctamente y de forma coherente | Mayoría de datos ingresados correctamente con errores menores | Datos básicos ingresados con algunos errores o faltantes | Datos parcialmente ingresados con varios errores | Datos insuficientes o incorrectos |
| Funcionalidad | Base de datos completamente funcional, consultas exitosas | Base de datos mayormente funcional con errores menores | Base de datos funcional con limitaciones básicas | Base de datos con funcionalidad limitada | Base de datos no funcional |
| Presentación | Archivo bien organizado, nombres de tablas y campos descriptivos | Archivo organizado con nombres apropiados | Archivo básicamente organizado | Archivo poco organizado | Archivo desorganizado |
Recursos de Apoyo
Videos Recomendados:
- “Introducción a las Bases de Datos” - Canal Educativo TI
- “Microsoft Access para Principiantes” - Tutorial Completo
- “Diseño de Tablas y Relaciones en Access”
Lecturas Complementarias:
- PDF: “Fundamentos de Bases de Datos Relacionales”
- PDF: “Guía Práctica de Microsoft Access”
- Artículo: “Tipos de Datos en Bases de Datos”
Herramientas Adicionales:
- Microsoft Access (versión estudiantil)
- Diagramas ER online para práctica
Fecha de entrega: [Definir fecha]
Medio de entrega: Correo electrónico del profesor
Formato: Archivo .accdb





Comments
Post a Comment