Fundamentos de Bases de Datos, Redes y Modelado: MySQL, PostgreSQL, Topología Estrella y Ejemplo Universitario
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 28,26 KB
Conceptos Básicos
Dato: Unidad mínima de información que, por sí sola, carece de significado completo o contexto.
Información: Conjunto de datos procesados y organizados que adquieren sentido, valor y utilidad.
BBDD (Base de Datos): Sistema estructurado para almacenar, gestionar y recuperar grandes volúmenes de datos de forma eficiente.
Topologías de Red
Topología de Red en Estrella
Se caracteriza por la disposición de los dispositivos conectados a un único punto central conocido como hub (concentrador) o switch (conmutador).
Ventajas
- Fácil localización de fallos.
- Escalabilidad (añadir nuevos dispositivos es sencillo).
- Mantenimiento centralizado.
Desventajas
- Dependencia total del nodo central (si falla, la red cae).
- Mayor costo de cableado en comparación con otras topologías como bus.
Sistemas Gestores de Bases de Datos (SGBD)
1. MySQL
Sistema de gestión de bases de datos relacional (SGBDR) popular que ayuda a acceder y administrar datos.
- Ventajas: Amplia adopción, fácil de usar, excelente rendimiento, gratuito y de código abierto (en su versión Community).
- Desventajas: Puede presentar limitaciones de escalabilidad horizontal comparado con soluciones NoSQL para volúmenes masivos de datos.
2. PostgreSQL
SGBDR avanzado conocido por su robustez, extensibilidad y cumplimiento de estándares SQL.
- Características destacadas: Buen rendimiento en operaciones complejas y de escritura, soporte para tipos de datos avanzados.
- Consideración: Su curva de aprendizaje puede ser más pronunciada que la de MySQL para principiantes.
3. MongoDB
Base de datos NoSQL orientada a documentos.
- Características destacadas: Flexibilidad del esquema (ideal para datos no estructurados o semiestructurados), escalabilidad horizontal, adecuada para aplicaciones que requieren alta flexibilidad y agilidad en el desarrollo.
4. Oracle Database
SGBDR muy robusto y completo, líder en el entorno empresarial.
- Características destacadas: Rendimiento y escalabilidad excelentes, alta disponibilidad, seguridad avanzada. Ideal para aplicaciones empresariales críticas con alta concurrencia.
- Consideración: Es una solución comercial con costos de licencia asociados.
5. SQLite
Base de datos relacional ligera y autónoma, contenida en un solo fichero.
- Características destacadas: No requiere configuración ni un proceso de servidor separado. Ideal para aplicaciones móviles, de escritorio, o como base de datos embebida en dispositivos pequeños.
Tipos de Datos Comunes en Bases de Datos
Las bases de datos utilizan diferentes tipos para almacenar información específica:
INTEGER
/INT
: Números enteros.DECIMAL
/NUMERIC
: Números decimales exactos, ideales para valores monetarios.FLOAT
/REAL
: Números decimales de punto flotante (aproximados).CHAR(n)
: Cadena de caracteres de longitud fija.VARCHAR(n)
: Cadena de caracteres de longitud variable.TEXT
: Cadenas de caracteres de longitud variable larga.DATE
: Fecha (año, mes, día).TIME
: Hora (hora, minuto, segundo).TIMESTAMP
/DATETIME
: Combinación de fecha y hora.BOOLEAN
/BOOL
: Valor verdadero o falso.BIT
: Valor binario (0 o 1).MONEY
/CURRENCY
: Tipo específico para valores monetarios (disponibilidad varía según el SGBD).
Ejemplo de Modelo de Datos para una Universidad
1. Tabla Alumno
- id_alumno (PK): Identificador único del alumno. Tipo sugerido: INTEGER o BIGINT
- nombre: Nombre del alumno. Tipo sugerido: VARCHAR
- apellido: Apellido del alumno. Tipo sugerido: VARCHAR
- curp: CURP del alumno (Clave Única de Registro de Población). Tipo sugerido: VARCHAR(18)
- fecha_nacimiento: Fecha de nacimiento. Tipo sugerido: DATE
- email: Correo electrónico. Tipo sugerido: VARCHAR
- telefono: Número de teléfono. Tipo sugerido: VARCHAR
- direccion: Dirección del alumno. Tipo sugerido: TEXT o VARCHAR
2. Tabla Programa
- id_programa (PK): Identificador único del programa. Tipo sugerido: INTEGER
- nombre_programa: Nombre del programa o carrera. Tipo sugerido: VARCHAR
- nivel: Nivel de estudios (Ej. Licenciatura, Maestría, Doctorado). Tipo sugerido: VARCHAR
- duracion: Duración del programa en semestres o años. Tipo sugerido: INTEGER
- id_facultad (FK): Clave foránea que referencia a la tabla Facultad (no definida en el ejemplo). Tipo sugerido: INTEGER
3. Tabla Curso
- id_curso (PK): Identificador único del curso o asignatura. Tipo sugerido: INTEGER o VARCHAR
- nombre_curso: Nombre del curso. Tipo sugerido: VARCHAR
- descripcion: Descripción del curso. Tipo sugerido: TEXT o VARCHAR
- creditos: Número de créditos. Tipo sugerido: INTEGER o DECIMAL
- id_programa (FK): Clave foránea que referencia a la tabla Programa. Tipo sugerido: INTEGER
- id_profesor (FK): Clave foránea que referencia a la tabla Docente. Tipo sugerido: INTEGER
4. Tabla Docente
- id_profesor (PK): Identificador único del profesor. Tipo sugerido: INTEGER
- nombre_profesor: Nombre del profesor. Tipo sugerido: VARCHAR
- apellido_profesor: Apellido del profesor. Tipo sugerido: VARCHAR
- email_profesor: Correo electrónico del profesor. Tipo sugerido: VARCHAR
- telefono_profesor: Teléfono del profesor. Tipo sugerido: VARCHAR
- id_facultad (FK): Clave foránea que referencia a la tabla Facultad. Tipo sugerido: INTEGER
8. Tabla Administrativo
- id_administrativo (PK): Identificador único del personal administrativo. Tipo sugerido: INTEGER
- nombre_administrativo: Nombre del personal administrativo. Tipo sugerido: VARCHAR
- apellido_administrativo: Apellido del personal administrativo. Tipo sugerido: VARCHAR
- cargo: Cargo dentro de la universidad (ej. Coordinador, Secretario). Tipo sugerido: VARCHAR
- email_administrativo: Correo electrónico. Tipo sugerido: VARCHAR
- telefono_administrativo: Teléfono del personal administrativo. Tipo sugerido: VARCHAR
- id_sede (FK): Clave foránea que referencia a la tabla Sede (no definida en el ejemplo). Tipo sugerido: INTEGER