Bienvenidos Amigos al nuevo Curso Básico de Bases de Datos, En la actualidad, en esta era de la información, casi con seguridad cuando desarrollamos un proyecto vamos a necesitar almacenar datos importantes del negocio, y obviamente, poder consultarlos, actualizarlos, procesarlos y todo lo que sea necesario para satisfacer las necesidades, para ayudarnos en esta importante tarea encontramos las bases de datos.
Una Base de Datos en el mundo del desarrollo y programación se conoce como un conjunto o colección de datos almacenados de forma digital en equipos de computo especializados y administrados por programas especializados que organizan la información de cierta forma para que las consultas y actualizaciones de dicha información se puedan realizar fácil y rápido.
Conocimientos Previos
No es necesario tener conocimientos previos de programación en algún lenguaje de programación especifico.
NOTA: Recomendamos tener buenas bases de fundamentos de programación y además tener por lo menos un contacto con un lenguaje de programación de aprendizaje con el que pueden desarrollar habilidades de lógica de programación.
Si alguno de ustedes considera o quiere reforzar sus habilidades en lógica de programación pueden acceder gratuitamente a cualquiera de estos cursos:
- Fundamentos de Programación: Curso de Fundamentos de Programación.
- Programación para Aprendices: Curso de Programación en LPP (Lenguaje de Programación para Principiantes).
Temas
En este curso de Bases de Datos nos centraremos en el modelo o estructura de base de datos más utilizado y soportado en la actualidad, que son las bases de datos relacionales, y veremos los siguientes temas:
- Fundamentos de bases de datos.
- Instalación de las herramientas de trabajo, Gestor de Bases de datos MySQL y el editor de código SQL Workbench.
- Construcción de Modelos de Entidad Relación.
- Construcción de Bases de datos basadas en el modelo entidad Relación.
- Aprenderemos a utilizar el Lenguaje de programación de bases de datos relacionales SQL.
Todos estos conocimientos como es de costumbre siempre están integrados junto con ejercicios y ejemplos prácticos.
Habilidades Adquiridas al finalizar
Al finalizar este Curso de Bases de Datos, seguramente cada uno de ustedes tendrá la capacidad de analizar cualquier proyecto, generar un Modelo entidad Relación y crear una base de datos adecuada, optima y eficiente. Además tendrán también la capacidad de ejecutar operaciones básicas sobre la base de datos como consultas, inserción y actualización de datos utilizando el lenguaje de programación SQL.
Introducción al Curso de Bases de Datos
Comenzamos el curso con un vídeo introductorio donde realizamos la presentación formal del curso, No te pierdas el siguiente Vídeo:
Fundamentos y Conceptos Teóricos
Esta segunda parte del curso de bases de datos, será una introducción a los fundamentos, puntualmente un repaso de los términos que veremos y utilizaremos a lo largo de este curso. Sabemos que nos gusta la práctica y ver la acción, pero esta parte teórica también es esencial para tener un conocimiento integro.
- Qué es una Base de Datos.
- Qué son las Tablas, Campos, Registros, Tipos de Dato.
- Qué son las llaves y para que sirven.
- Relaciones entre tablas y llaves Foráneas.
- Cuales son los tipos de Relación entre tablas.
- Qué es un indice y para que sirve en bases de datos.
- Qué es un Modelo Entidad Relación.
- Qué es un Gestor de Bases de Datos.
- Lenguaje de Programación de bases de datos SQL.
No te pierdas el siguiente vídeo:
Instalación de Herramientas Necesarias
En esta tercera parte del curso de Bases de Datos, y como ya tenemos aprendidos todos los conocimientos teóricos necesarios pues es el momento de prepararnos para la práctica.
En esta ocasión vamos a realizar la instalación de los programas y herramientas que utilizaremos a lo largo del curso, precisamente estamos hablando del gestor de base de datos MySQL, y el editor de SQL llamado Workbench. Estas serían las dos herramientas y no necesitaremos nada más.
Aprende a instalar la herramientas por medio del siguiente vídeo:
Modelo Entidad Relación y la Normalización
Es hora de comenzar a aplicar los conocimientos por medio de un ejercicio práctico. Realizaremos un ejercicio completo de construcción de una base de datos siguiendo la siguiente metodología:
- Presentación de los datos del ejercicio.
- Construcción del modelo entidad relación de la base de datos.
- En el proceso de construcción, aplicar la normalización para tener una base de datos bien estructurada.
- Al terminar el modelo, aplicar Ingeniería Directa para convertir el modelo en una base de datos real sobre el gestor MySQL.
- Finalmente, Realizar la inserción, modificación y actualización datos por medio de comandos e instrucciones SQL.
Este proceso estará dividido en varios vídeos Prácticos. No te los pierdas.
Presentación del Ejercicio y Creación Inicial del Modelo Entidad Relación
Llegamos a la cuarta parte del curso, en este vídeo explicaremos en que consiste el ejercicio central y construiremos la primer versión del modelo entidad relación. No te lo pierdas, anímate y aprende:
Normalización: Primera Forma Normal – 1FN
Continuar con la construcción del modelo entidad relación para la base de datos de películas, el objetivo de hoy será analizar si el modelo que estamos construyendo cumple con las especificaciones de la primera forma normal 1FN, y en caso de necesitar modificaciones pues vamos a realizar las adaptaciones necesarias.
Para que una base de datos cumpla esta primera etapa de normalización básicamente debemos garantizar los siguientes puntos:
- Todos los campos de las tablas deben contener datos atómicos, es decir un valor simple no divisible.
- Debe existir independencia entre los registro de una tabla.
- Todos los datos de una columna deben tener el mismo tipo de dato.
- Todos los registros dentro de una tabla deben tener el mismo número de columnas.
- Toda tabla debe tener una llave primaria, con un valor único para cada registro de la tabla.
En el siguiente vídeo explicaremos en que consiste esta primera forma Normal por medio del ejercicio práctico que estamos trabajando en este curso, No te lo pierdas:
Normalización: Segunda Forma Normal – 2FN
continuamos con la normalización de la base de datos que estamos construyendo para almacenar la información de películas.
Esta segunda etapa de la normalización de bases de datos se centra en determinar la dependencia funcional de todos los campos con la llave primaria de la tabla.
Lo anterior indica que todos los campos de una tabla deben depender directamente de la llave primaria. Esta regla generalmente se incumple con frecuencia cuando dentro de una tabla podemos encontrar grupos de 2 o mas campos que se relacionan entre si y además son datos compartidos entre registros.
La solución a este conflicto es separar los grupos de datos en tablas independientes y relacionarlos nuevamente por medio de una llave foránea.
Además amigos, para que una base de datos este en la 2FN también debe cumplir con todas las reglas de la 1FN.
Veamos en el siguiente vídeo en que consiste la Segunda Forma Normal – 2FN:
Normalización: Tercera Forma Normal – 3FN
Con esta tercera forma normal terminaremos de normalizar el modelo que venimos construyendo a lo largo de este curso.
Vamos a ver en que consiste la tercera forma normal, también llamada 3FN, para algunos una forma normal un poco conflictiva y que debemos en algunos casos revisar bien si vale la pena aplicarla o no.
En la última forma normal básica, continuamos centrandomos en la dependencia funcional de los campos de una tabla frente a la llave primaria, pero en esta forma normal vamos a la mínima expresión, es decir analizamos prácticamente campo a campo.
Las principales reglas que debemos tener en cuenta son:
- Los campos de una tabla que no son llaves primarias o foráneas deben depender completamente de la llave primaria de la tabla, no puede existir una dependencia transitoria o también llamada dependencia parcial.
- Si encontramos este problema, se deben eliminar estos campos de la tabla y trasladarlos a la tabla donde pertenecen o generar tablas independientes para relacionarlas luego por medio de llaves foráneas.
En el siguiente vídeo analizaremos nuestro modelo entidad relación frente a la 3FN, No te lo pierdas:
Creación Base de Datos en MySQL
Llegamos a la octava parte del curso de bases de datos y vamos por fin a ver cada uno de los pasos necesarios para pasar nuestro modelo entidad relación que construimos en Workbench a una base de datos real en el gestor de bases que seleccionamos para este curso, osea MySQL.
Ahora si llegó el momento de utilizar un lenguaje de programación con el cual podamos comunicarnos con MySQL y por medio de comandos podamos indicarle lógicamente como debe ser nuestra base de datos, obviamente basados en este modelo entidad relación que ya construimos.
Este lenguaje de programación es SQL, utilizado para la programación, administración y consulta de información en los sistemas de gestión de bases de datos relacionales.
Básicamente lo anterior nos indica que el alcance real del SQL dentro de un gestor de base de datos abarca los siguientes dos puntos importantes:
- Por medio de SQL vamos a poder crear bases de datos y no solo esto sino también cada una de las tablas, campos, llaves e indices que la componen. A esto se le llama gestión o administración estructural de las bases de datos.
- Además podemos manipular la información almacenada dentro de las bases de datos por medio de cuatro acciones esenciales, la inserción, modificación, borrado y consulta. A esto se le llama gestión o administración de los contenidos.
SQL: Comandos CREATE DATABASE y CREATE SCHEMA
Lo primero que debemos hacer para comenzar es crear la base de datos o esquema donde almacenaremos toda la información y estructura de tablas que compones una base de datos.
En el siguiente vídeo aprenderemos a utilizar los comandos CREATE DATABASE y CREATE SCHEMA, entro otros, Anímate y aprende:
SQL: Comandos CREATE TABLE, INDEX, FOREIGN KEY
En este punto ya sabemos como se crea una base de datos en un gestor como MySQL, ahora nuestro objetivo se enfocará en aprender a crear las tablas que la componen con cada una de sus características como campos, llave primaria, indices y relaciones con llaves Foráneas.
No te pierdas el siguiente vídeo:
SQL: Generar script .sql a partir de un Modelo ER construido en Workbench
vamos ahora sí a consolidar como base de datos en MySQL todo el modelo entidad relación que creamos para el proyecto de almacenamiento de información de películas que hemos venido trabajando a lo largo de este Curso de Bases de Datos.
En este momento ya conocemos los comandos esenciales que vamos a necesitar para comprender perfectamente como se construye un script o archivo que contiene todos los comandos SQL necesarios para crear desde cero toda la estructura de una base de datos.
Esto puede sonar como una tarea complicada, pero verán lo sencillo que es si contamos con los conocimientos adecuados y además una buena herramienta como Workbench.
Aprende el proceso de construcción de una archivo .sql o script de comandos SQL a partir del modelo ER construido en Workbench, por medio del siguiente vídeo práctico, no te lo pierdas:
SQL: Comando INSERT INTO
comenzamos una nueva etapa, En este momento ya logramos realizar todo el montaje estructural de nuestra base de datos de películas a partir de un modelo entidad relación, entonces ha llegado el momento de pasar a gestionar los datos.
Para realizar esta importante labor en bases de datos relacionales existen cuatro acciones básicas o esenciales, y para cada una de ellas existe un comando SQL.
- Primero tenemos la inserción de datos, acción asociada al comando INSERT.
- Tenemos también la modificación de datos, comando UPDATE.
- Borrado de datos, comando DELETE.
- Y finalmente la consulta de datos, que se realiza utilizando el comando SELECT.
En el siguiente vídeo nos encargaremos de realizar las tareas correspondientes a la inserción de los datos en nuestra base, no te lo pierdas:
SQL: Comando UPDATE
Desde el vídeo anterior venimos ya realizando operaciones con los datos en nuestra base de datos de información de películas, hemos aprendido como realizar la inserción de datos en las tablas con el comando INSERT, hoy es el turno para el comando UPDATE con el cual vamos a poder modificar o actualizar información que ya tenemos almacenada en la tablas de la base.
Al igual que el comando INSERT, con cada sentencia UPDATE que realicemos, solo vamos a poder actualizar datos de una tabla a las vez. Pero lo que si podemos hacer es modificar varios campos y registros de la tabla al tiempo.
Adicional, a partir de hoy vamos a tener que utilizar condicionales lógicas en nuestras sentencias:
- Cómo actualizar información utilizando UPDATE.
- Operadores Lógicos:
- = (Igualdad)
- <> (Diferencia)
- > (Mayor que), >= (Mayor o Igual que)
- < (Menor que), <= (Menor o Igual que)
- Unión AND y OR
No te pierdas el siguiente vídeo:
SQL: Comandos DELETE, TRUNCATE y DROP TABLE
En este punto ya hemos aprendido a Insertar y modificar la información que tenemos almacenada en las tablas de nuestra base de datos, ahora es el turno aprender a eliminar o borrar información de nuestra base de datos.
Con DELETE vamos a poder eliminar uno o varios registros de una tabla, y al igual que los comandos anteriormente vistos, solo podemos procesar una tabla con cada sentencia DELETE que escribamos y para controlar que registro o registros se eliminaran al ejecutar una sentencia, debemos nuevamente hacer uso de las expresiones condicionales y operadores lógicos de la misma forma que lo hicimos con el comando UPDATE.
El comando TRUNCATE también sirve para eliminar datos de una tabla, pero tiene dos grandes diferencias respecto al comando DELETE, la primera es que al comando TRUNCATE no se le pueden pasar condicionales, por lo tanto su función es limpiar completamente una tabla, osea borrar todos los datos de la tabla, Y la segunda diferencia es que este comando si reinicia completamente la tabla incluidos los campos auto-incrementados.
Finalmente DROP TABLE, no solo elimina completamente los datos de la tabla sino que además elimina la tabla en si.
Aprende más sobre estos comándos por medio del siguiente vídeo:
SQL: Comando SELECT – INNER JOIN
En esta ocasión nos centraremos en la teoría y practica del proceso para consultar información por medio del comando SELECT, y realizaremos consultas a tablas individuales y aprenderemos también a utilizar el comando INNER JOIN para extraer información de diferentes tablas en una sola consulta.
Por medio del comando SELECT podemos extraer la información que tenemos almacenada en las tablas de nuestra base de datos Y Si lo integramos con el comando INNER JOIN podremos hacer el llamado no solo a una tabla en cada sentencia sino que tendremos la posibilidad de integrar en una sola sentencia dos o más tablas, y pues claro extraer toda la información que necesitemos de las tablas unidas en esa sentencia.
Aprendamos a consultar la información de nuestra base de datos por medio del siguiente vídeo:
SQL: Comandos ORDER BY y GROUP BY
Ya sabemos que las consultas se realizan por medio de los comandos SELECT e INNER JOIN, con los cuales extraemos información directa de las tablas de nuestra base de datos y la presentamos en una sección de datos.
Pero amigos, existen unos comandos que si los integramos con estos dos que ya conocemos vamos a poder manipular un poco más la información de las tablas, y cuando digo manipularla me refiero a ordenar los resultados o agruparlos, y esto es muy importante porque seguramente nos encontraremos este tipo de escenarios en nuestros proyectos.
- El comando ORDER BY con el cual podemos generar resultados ordenados de forma ascendente o descendente de acuerdo al contenido de uno o varios campos.
- El comando GROUP BY, un poco más complejo, con el cual podemos realizar agrupamiento de datos, con el fin de consolidar información y generar por ejemplo, un resumen, un promedio, sumatorias, conteos, entre otras operaciones.
Funciones de Agregado: MAX, MIN, SUM, AVG
En esta sección también vamos a aprender a utilizar unas funciones de agregado, podríamos ver a estas funciones como comandos realmente, que tienen una función especifica, y entre las más comunes están estas:COUNT, que nos ayuda a contar el numero de filas agrupadas.
- MAX, que nos permite obtener el valor más grande entre un grupo de datos.
- MIN, es el contrario al anterior, osea nos permite determinar el valor mas mas pequeño entre un grupo de datos.
- SUM, esta función realiza una sumatoria de todos los valores agrupados y devuelve el valor total de la suma.
- Finalmente encontramos la función AVG, que nos permite determinar el valor promedio que tienen un grupo de valores.
Aprende sobre estos comandos y funciones en el siguiente vídeo del Curso de Bases de Datos:
Scripts de Actualización de Información de la base de datos:
Descargar el paquete de recursos del vídeo parte 15 que está arriba.
Abrir Workbench con una conexión o usuario con derechos de administrador de bases de datos.
Primero Eliminar la base de datos bd_peliculas que ya tengas en MySQL por medio del comando DROP DATABASE o por medio del asistente de Workbench seleccionando la base de datos con clic derecho y luego en la opción DROP SCHEMA.
Abrir en Workbench el archivo sql llamado 001.script_actualizacion.sql que esta en el paquete de recursos del vídeo 15.
Ejecutar el script y listo si no obtienen errores en la ventana de salida tendrás la base de datos actualizada.
NOTA: Aprovecha para analizar el archivo de actualización y ver si lo entiendes, o sino comenta tus dudas.
En los recursos también encontraras los ejemplos que ejecutamos en el vídeo.
SQL: Funciones de MySQL: CONCAT y DATE_FORMAT
Hoy cerramos este curso con un ejercicio muy completo donde vamos a necesitar de todas nuestra habilidades para generar y construir consultas en SQL.
Amigos, el objetivo de hoy será aplicar nuestros conocimientos en realización consultas para obtener un resultado o archivo plano donde tenemos reunida toda la información de las películas de nuestra base de datos. Vamos a necesitar realizar una consulta que en un solo resultado reúna información de casi todas la tablas de nuestra base de datos.
Además el plus de hoy será aprender dos funciones más, que seguro utilizaremos con frecuencia, CONCAT y DATE_FORMAT.
- CONCAT: Es una función de MySQL que nos permite unir dos o más cadenas de texto y campos en uno solo.
- DATE_FORMAT: Con esta función de MySQL vamos a poder darle un formato personalizado a los campos de fecha en nuestras consultas y reportes.
Aprende a utilizar estas funciones por medio del siguiente vídeo:
Conclusión del Curso de Bases de Datos
A lo largo de este curso logramos aprender desde cero como construir un modelo entidad relación para luego transformarlo en una base de datos relacional en la cual insertamos, modificamos, borramos, consultamos, ordenamos y agrupamos la información almacenada, es decir todo lo esencial y necesario para administrar dicha información, además aprendimos a utilizar unas de las funciones de MySQL más importantes y útiles que nos ayudan a mejorar las consultas y reportes que exportamos desde nuestra base de datos.
Amigos hemos llegado al final de este curso básico de Bases de datos, pero no es el final, a partir de este momento prácticamente estamos dando inicio a una nueva etapa de nuestro aprendizaje, porque lo que queda por aprender respecto a bases de datos es muy interesante.
Habilidades Adquiridas
En este punto debemos contar con las habilidades necesarias para:
- Analizar un proyecto y a partir de la información recolectada logran construir un modelo Entidad Relación acorde a las necesidades.
- Transformar este modelo en una Base de datos en MySQL.
- Insertar, Modificar, Borrar y consultar la información que almacenamos en la base de datos.
- Extraer información de la base de datos utilizando comandos SQL de consulta.
- Generar reportes y transformar información utilizando funciones de MySQL.
Si en este punto contamos con las habilidades mencionadas anteriormente estamos preparados y listos para emprender proyectos de bases de datos. en caso contrario no se desanimen, repasen los vídeos de este curso y pueden contactarme en cualquier momento sea por medio de comentarios en los vídeos del curso o por medio del formulario de contacto de esta página.
Qué Sigue Ahora?
Amigos, los que deseen continuar el aprendizaje en base de datos pueden suscribirse a mi canal de Youtube para estar al tanto de los nuevos contenidos que comparto cada semana.
Ya terminé de construir y compartir en YouTube la segunda parte de este curso tal como se los había prometido. Pueden acceder aquí al nuevo Curso Intermedio de Bases de Datos. Donde veremos estos temas y muchos más:
- Vamos a utilizar más funciones y herramientas de programación de MYSQL.
- Aprenderemos a crear vistas y procedimientos almacenados.
- Aprenderemos a utilizar los famosos disparadores o trigges.
- Crearemos nuestras propias funciones.
- Aprenderemos a generar copias de seguridad de la base de datos.
- Prepararemos nuestra base de datos para conectarla con una interfaz de usuario o capa de presentación más adelante.
- Así que amigos, pueden irse preparando de una vez, si desean investiguen sobre estos temas y seguramente iremos abordando cada uno de ellos semana tras semana como es de costumbre.
Hasta una próxima amigos, estamos en contacto, Chao.
7 respuestas a “Curso Básico de Bases de Datos”
Agradecido hermano por tu forma clara y concisa de explicar algo tan complejo para muchos. Entendí algunos conceptos que en la universidad nunca me quedaron claros y que los libros, lejos de aclarar, enredaban más. Mil gracias por tu aporte.
Hola Jose, Muchas gracias por dejar tus buenas referencias y comentar tu experiencia. Espero poder seguir ayudándote en tu proceso de aprendizaje, Ánimo, Saludos y estamos en contacto, Chao!
Totalmente de acuerdo, estoy muy agradecido
gracias , por este curso , la forma de dar el curso es muy objetiva, y explicas paso a paso el desarrollo , a pesar que soy una persona de edad logre entender con facilidad, me gustaría que me revisaras mi base de dato que cree a medida que hacia el curso , que empeze hacer en esta cuarentena saludos y gracias
Hola, Me alegra mucho poder ayudarte en tu proceso de aprendizaje, nunca es tarde para aprender, animo. Con mucho gusto te colaboro revisando tu base de datos.
Me interesa mucho base de datos
Hola Ricardo, Gracias por participar con tus comentarios. Espero que este curso te sirva para aprender muchas cosas sobre bases de datos. estamos en contacto amigo. Saludos.