¿Qué es una Base de Datos?
Una base de datos es una colección organizada de datos que se pueden acceder, gestionar y actualizar fácilmente. Las bases de datos son esenciales para almacenar información de manera estructurada y eficiente, permitiendo a las aplicaciones recuperar y manipular datos rápidamente.
Tipos de Bases de Datos
-
Bases de Datos Relacionales (RDBMS):
- Utilizan tablas para almacenar datos.
- Ejemplos: MySQL, PostgreSQL, SQLite, Oracle.
-
Bases de Datos NoSQL:
- No utilizan tablas tradicionales.
- Ejemplos: MongoDB, Cassandra, Redis.
-
Bases de Datos en Memoria:
- Almacenan datos en la memoria RAM para acceso rápido.
- Ejemplos: Redis, Memcached.
-
Bases de Datos Orientadas a Objetos:
- Almacenan datos en forma de objetos.
- Ejemplos: db4o, ObjectDB.
Comparación de Bases de Datos Relacionales y NoSQL
Característica | Bases de Datos Relacionales (RDBMS) | Bases de Datos NoSQL |
---|---|---|
Modelo de Datos | Tablas (filas y columnas) | Documentos, Claves-Valor, Grafos, Columnas |
Lenguaje de Consulta | SQL | Varia según la base de datos |
Escalabilidad | Vertical (aumentar recursos del servidor) | Horizontal (añadir más servidores) |
Integridad de Datos | Alta (ACID) | Variable (BASE) |
Ejemplos | MySQL, PostgreSQL, Oracle | MongoDB, Cassandra, Redis |
Conceptos Clave en Bases de Datos Relacionales
- Tabla: Una colección de datos organizados en filas y columnas.
- Fila: Una única entrada en una tabla, también conocida como registro.
- Columna: Un campo en una tabla que contiene un tipo específico de datos.
- Clave Primaria (Primary Key): Un campo o conjunto de campos que identifican de manera única cada fila en una tabla.
- Clave Foránea (Foreign Key): Un campo en una tabla que es una clave primaria en otra tabla, utilizado para establecer relaciones entre tablas.
- Índice: Una estructura que mejora la velocidad de las operaciones de consulta en una tabla.
Ejemplo de una Tabla en una Base de Datos Relacional
Supongamos que tenemos una tabla llamada usuarios
:
id_usuario | nombre | fecha_registro | |
---|---|---|---|
1 | Juan | [email protected] | 2023-01-15 |
2 | María | [email protected] | 2023-02-20 |
3 | Pedro | [email protected] | 2023-03-10 |
- id_usuario: Clave primaria.
- nombre: Nombre del usuario.
- email: Dirección de correo electrónico del usuario.
- fecha_registro: Fecha en que el usuario se registró.
Lenguaje de Consulta Estructurado (SQL)
SQL es el lenguaje estándar para interactuar con bases de datos relacionales. Permite realizar operaciones como:
- SELECT: Recuperar datos de una tabla.
- INSERT: Insertar nuevos datos en una tabla.
- UPDATE: Actualizar datos existentes en una tabla.
- DELETE: Eliminar datos de una tabla.
Ejemplos de Consultas SQL
-
SELECT: Recuperar todos los usuarios.
SELECT * FROM usuarios;
-
INSERT: Insertar un nuevo usuario.
INSERT INTO usuarios (nombre, email, fecha_registro) VALUES ('Ana', '[email protected]', '2023-04-01');
-
UPDATE: Actualizar el correo electrónico de un usuario.
UPDATE usuarios SET email = '[email protected]' WHERE id_usuario = 1;
-
DELETE: Eliminar un usuario.
DELETE FROM usuarios WHERE id_usuario = 3;
Ejercicio Práctico
Ejercicio 1: Crear una Tabla y Realizar Operaciones Básicas
-
Crear una tabla llamada
productos
con las siguientes columnas:id_producto
(INT, Clave Primaria)nombre
(VARCHAR)precio
(DECIMAL)cantidad
(INT)
-
Insertar tres productos en la tabla
productos
. -
Actualizar el precio de un producto.
-
Eliminar un producto de la tabla.
Solución
-
Crear la tabla
productos
:CREATE TABLE productos ( id_producto INT AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(100), precio DECIMAL(10, 2), cantidad INT );
-
Insertar productos:
INSERT INTO productos (nombre, precio, cantidad) VALUES ('Laptop', 999.99, 10); INSERT INTO productos (nombre, precio, cantidad) VALUES ('Mouse', 19.99, 50); INSERT INTO productos (nombre, precio, cantidad) VALUES ('Teclado', 49.99, 30);
-
Actualizar el precio de un producto:
UPDATE productos SET precio = 899.99 WHERE nombre = 'Laptop';
-
Eliminar un producto:
DELETE FROM productos WHERE nombre = 'Mouse';
Conclusión
En esta lección, hemos introducido los conceptos básicos de las bases de datos, especialmente las bases de datos relacionales. Hemos aprendido sobre tablas, filas, columnas, claves primarias y foráneas, y cómo utilizar SQL para realizar operaciones básicas. En la próxima lección, profundizaremos en cómo conectar PHP a una base de datos MySQL y realizar operaciones CRUD (Crear, Leer, Actualizar, Eliminar).
Curso de Programación en PHP
Módulo 1: Introducción a PHP
- ¿Qué es PHP?
- Configuración del Entorno de Desarrollo
- Tu Primer Script en PHP
- Sintaxis y Variables en PHP
- Tipos de Datos en PHP
Módulo 2: Estructuras de Control
Módulo 3: Funciones
- Definiendo y Llamando Funciones
- Parámetros de Función y Valores de Retorno
- Ámbito de Variables
- Funciones Anónimas y Closures
Módulo 4: Arrays
Módulo 5: Trabajando con Formularios
- Manejo de Datos de Formularios
- Validación de Formularios
- Subida de Archivos
- Seguridad en Formularios
Módulo 6: Trabajando con Archivos
- Lectura y Escritura de Archivos
- Funciones de Manejo de Archivos
- Permisos de Archivos
- Funciones de Directorio
Módulo 7: Programación Orientada a Objetos (POO)
- Introducción a la POO
- Clases y Objetos
- Propiedades y Métodos
- Herencia
- Interfaces y Clases Abstractas
- Traits
Módulo 8: Trabajando con Bases de Datos
- Introducción a las Bases de Datos
- Conectando a una Base de Datos MySQL
- Realizando Operaciones CRUD
- Usando PDO para la Interacción con la Base de Datos
- Seguridad en Bases de Datos
Módulo 9: Técnicas Avanzadas de PHP
- Manejo de Errores y Excepciones
- Sesiones y Cookies
- Expresiones Regulares
- Trabajando con JSON y XML
- PHP y Servicios Web
Módulo 10: Frameworks de PHP y Mejores Prácticas
- Introducción a los Frameworks de PHP
- Empezando con Laravel
- Arquitectura MVC
- Mejores Prácticas en el Desarrollo de PHP
- Pruebas y Depuración