Esta entrada está dedicada principalmente para todas aquellas personas las cuales son amantes del maravilloso mundo de la programación. En este caso, podrás aprender algunos conceptos básicos de cuando programar utilizando bases de datos se trata. Sin más que decir te invito a que aprendas cada día más visitando mi bloc.¡Comencemos!
¿Qué es un sistema de información de datos?
Por definición es un conjunto de elementos que interactúan entre sí con un fin común; que permite que la información esté disponible para satisfacer las necesidades en una organización, un sistema de información no siempre requiere contar con recuso computacional aunque la disposición del mismo facilita el manejo e interpretación de la información por los usuarios.
Los elementos que interactúan entre sí son: el equipo computacional (cuando este disponible), el recurso humano, los datos o información fuente, programas ejecutados por las computadoras, las telecomunicaciones y los procedimientos de políticas y reglas de operación.
Un Sistema de Información realiza cuatro actividades básicas:
- Entrada de información: proceso en el cual el sistema toma los datos que requiere.
- Almacenamiento de información: pude hacerse por computadora o archivos físicos para conservar la información.
- Procesamiento de la información: permite la transformación de los datos fuente en información que puede ser utilizada para la toma de decisiones
- Salida de información: es la capacidad del sistema para producir la información procesada o sacar los datos de entrada al exterior.
Los usuarios de los sistemas de información tienen diferente grado de participación dentro de un sistema y son el elemento principal que lo integra, así se puede definir usuarios primarios quienes alimentan el sistema, usuarios indirectos que se benefician de los resultados pero que no interactúan con el sistema, usuarios gerenciales y directivos quienes tienen responsabilidad administrativa y de toma de decisiones con base a la información que produce el sistema.
¿Qué es una base de datos?
Una base de datos (A veces se utiliza DB, de database en inglés, para referirse a las bases de datos) es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar fácilmente.

Una base de datos proporciona a los usuarios el acceso a datos, que pueden visualizar, ingresar o actualizar, en concordancia con los derechos de acceso que se les hayan otorgado. Se convierte más útil a medida que la cantidad de datos almacenados crece.
Una base de datos puede ser local, es decir que puede utilizarla sólo un usuario en un equipo, o puede ser distribuida, es decir que la información se almacena en equipos remotos y se puede acceder a ella a través de una red.
La principal ventaja de utilizar bases de datos es que múltiples usuarios pueden acceder a ellas al mismo tiempo.
La principal ventaja de utilizar bases de datos es que múltiples usuarios pueden acceder a ellas al mismo tiempo.
Características:
Entre las principales características de los sistemas de base de datos podemos mencionar:- Independencia lógica y física de los datos.
- Redundancia mínima.
- Acceso concurrente por parte de múltiples usuarios.
- Integridad de los datos.
- Consultas complejas optimizadas.
- Seguridad de acceso y auditoría.
- Respaldo y recuperación.
- Acceso a través de lenguajes de programación estándar.
¿Qué es un sistema de gestión de bases de datos?
Este sistema, permite la creación, gestión y administración de bases de datos, así como la elección y manejo de las estructuras necesarias para el almacenamiento y búsqueda de información del modo más eficiente posible.
En resumen, Son las herramientas (en su mayoría software) que nos ayudan a gestionar bancos de información, es decir, bases de datos. Ejemplos de ellos son:
- La agenda de la Abuela (Sí, aunque no lo creas, ese cuaderno con contactos que tu abue tiene al lado del teléfono en casa, es un SGBD).
- Excel.
- Access.
- SQL Lite.
- MySQL.
- MariaDB.
- Oracle.
- MS SQL Server.
- PostgreSQL.
- Informix.
- MongoDB.
- RethinkDB.
- Redis.
- Cassandra.
- Neo4j.
- GraphDB.
- etc.
¿Qué es un administrador de bases de datos?
Los administradores de bases de datos (también conocido como DBA, en inglés database administrator) gestionan y mantienen las bases de datos informatizadas. Se aseguran de que estas sean seguras y estén actualizadas. Estos profesionales trabajan sobre las formas de reorganizar las bases de datos para hacerlas más rápidas o más fáciles de usar. Crean sistemas de respaldo para que los datos no se pierdan si surgen problemas en la base datos.
Los administradores de bases de datos trabajan en estrecha colaboración con los usuarios de la base de datos, averiguando si hay algún problema y evaluando la capacidad del sistema para hacer frente a la demanda.
También pueden modificar la base de datos para que sea más fácil de usar o para ampliarla, tal vez mediante la adición de nuevos espacios (llamados campos) para contener datos adicionales. Reorganizan y reestructuran los datos para que respondan mejor a las necesidades de los usuarios. Se mantienen al día de la tecnología de base de datos, planifican e implementan las actualizaciones a nuevas versiones y asesoran a los administradores sobre cuestiones de bases de datos.
Los administradores deben establecer sistemas de respaldo fiables para que no se pierdan los datos si se produce una avería. Además, es muy importante su participación a la hora de decidir cómo diseñar y proyectar las bases de datos, a menudo trabajando con analistas de sistemas, desarrolladores y programadores de software.
¿Qué es un modelo entidad-relación?
Es un diagrama que permite representar las entidades relevantes de un sistema de información así como sus interrelaciones y propiedades. Formalmente, los diagramas ER son un lenguaje gráfico para describir conceptos. Informalmente, son simples dibujos o gráficos que describen información que trata un sistema de información y el software que lo automatiza.
Elementos del Modelo Entidad-Relación;:
- Entidades Son objetos distinguible del resto; por ejemplo; en un sistema bancario, las personas y las cuentas son entidades. Éstas pueden ser entes concretos, como una persona o un avión, o abstractas, como un préstamo o una reserva. Se representan por medio de un rectángulo.
- Atributos Con propiedades de las entidades. Se representan mediante un círculo o elipse, cuando un atributo es identificativo de la entidad se subraya.
- Relación Describe la dependencia entre entidades o permite la asociación de las mismas; por ejemplo; tenemos 2 entidades CLIENTE y HABITACIÓN, una relación sería que el cliente 'Pepito' tiene 'ocupada' la habitación '519'. Se representan por medio de un verbo de acción dentro de un rombo que une entidades.
Ejemplo de diagrama entidad-relación:
¿Qué es una tabla, un registro y un campo?
Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan y almacenan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de hoja de cálculo.
Una tabla es utilizada para organizar y presentar información. Las tablas se componen de filas y columnas de celdas que se pueden rellenar con textos y gráficos.
Las tablas se componen de dos estructuras:
- Registro: es cada una de las filas en que se divide la tabla. Cada registro contiene datos de los mismos tipos que los demás registros. Ejemplo: en una tabla de nombres ,direcciones, etc, cada fila contendrá un nombre y una dirección.
- Campo: es cada una de las columnas que forman la tabla. Contienen datos de tipo diferente a los de otros campos. En el ejemplo anterior, un campo contendrá un tipo de datos único, como una dirección, o un número de teléfono, un nombre, etc.
A los campos se les puede asignar, además, propiedades especiales que afectan a los registros insertados. El campo puede ser definido como índice o autoincrementable, lo cual permite que los datos de ese campo cambien solos o sean el principal a la hora de ordenar los datos contenidos.
Cada tabla creada contiene creadores que lo crearon, debe tener un nombre único en la Base de Datos, haciéndola accesible mediante su nombre o su seudónimo (Alias) (dependiendo del tipo de base de datos elegida). La estructura de las tablas viene dada por la forma de un archivo plano, los cuales en un inicio se componían de un modo similar.
Las tablas son los objetos principales de bases de datos que se utilizan para guardar datos.
¿Qué es una llave principal y una llave foránea?
La clave o llave primaria es un campo, o grupo de campos que identifica en forma única un registro. Ningún otro registro puede tener la misma llave primaria. La llave primaria se utiliza para distinguir un registro con el fin de que se pueda tener acceso a ellos, organizarlos y manipularlos. En el caso de un registro de un empleado, él numero de este representa un ejemplo de una llave primaria.
Por otro lado, la llave o clave foránea (También llamada llave externa) es uno o mas campos de un tabla que hacen referencia al campo o campos de clave principal de otra tabla, una clave externa indica como esta relacionadas las tablas. Los datos en los campos de clave externa y clave principal deben coincidir, aunque los nombres de los campos no sean los mismos.
La Llave Foránea también se determinar en el momento de las relaciones entre las tablas en la cual la Llave Primaria se realizar la unión con el otro campo de otra tabla y automáticamente se vuelve una llave foránea.
¿Qué tipo de relaciones pueden darse entre entidades?
Existen tres tipos de relaciones, que son: uno a uno, una a varios y varios a varios.
Relaciones uno a uno:
Se creará una relación de este tipo si ambos campos relacionados son claves principales. En este tipo de relación, un registro de la tabla uno sólo puede estar relacionado con un único registro de la tabla dos y viceversa. No es muy usada.
En una relación uno a uno cada registro de la Tabla MATERIA sólo puede tener un registro coincidente en la Tabla PROFESOR y viceversa.
En este ejemplo se está representando que cada materia solamente puede ser dada por un profesor.
Relaciones uno a varios:
Se crea una relación de uno a varios si uno de los campos relacionados es una clave principal. Esta relación es la más común. Cada registro de una tabla puede estar enlazado con varios registros de una segunda tabla, pero cada registro de la segunda sólo puede estar enlazado con un único registro de la primera.
En este modelo se representa que, más de un PROFESOR puede dictar la misma MATERIA.
En la relación uno a varios un registro de la Tabla MATERIA puede tener muchos registros coincidentes en la Tabla PROFESOR, pero un registro de la Tabla PROFESOR sólo tiene un registro coincidente en la Tabla MATERIA.
En este modelo se representa un PROFESOR puede dictar varias MATERIAS.
Relación varios a varios:
Relación varios a varios:
En una relación varios a varios, un registro de la Tabla A puede tener muchos registros coincidentes en la Tabla B y viceversa. Este tipo de relación sólo es posible si se define una tercera tabla (denominada tabla de unión), cuya clave principal consta de al menos dos campos; y que además, estos campos, correspondan a las claves externas de las Tablas A y B.
En este caso, ninguno de los campos relacionados son claves principales. Cada registro de la primera tabla puede estar enlazado con varios registros de la segunda y viceversa. Este tipo de relación implica la repetición de los campos de cada tabla; Para establecer relaciones de este tipo, es necesario crear una tabla intermedia que esté relacionada con las dos de uno a varios.
En este caso, ninguno de los campos relacionados son claves principales. Cada registro de la primera tabla puede estar enlazado con varios registros de la segunda y viceversa. Este tipo de relación implica la repetición de los campos de cada tabla; Para establecer relaciones de este tipo, es necesario crear una tabla intermedia que esté relacionada con las dos de uno a varios.
¿Cuáles son las formas de normalización de una base de datos?
El proceso de
normalización de bases de datos consiste en designar y aplicar una serie de
reglas a las relaciones obtenidas tras el modelo entidad-relación.
Las bases de datos
relacionales se normalizan para:
- Evitar la redundancia de los datos.
- Disminuir problemas de actualización de
los datos en las tablas.
- Proteger la integridad de los datos.
Para que las tablas de
nuestra BD estén normalizadas deben cumplir las siguientes reglas:
- Cada tabla debe tener su nombre único.
- No puede haber dos filas iguales.
- No se permiten los duplicados.
- Todos los datos en una columna deben ser
del mismo tipo.
Existen 5 niveles de
normalización que deben respetarse para poder decir que nuestra BDs, se
encuentra NORMALIZADA, es decir, que cumple con los requisitos naturales para
funcionar optimamente y no perjudicar el rendimiento por mala arquitectura.
Estas 5 reglas de
Normalización se les conoce como las 5 FORMAS NORMALES. A continuación te
explico las formas normales con un ejemplo.
Pensemos que tenemos
dos alumnos que cursarán ambas materias: Juanito en maestría y Pepito en
licenciatura, nuestro modelo de datos podría quedar de la siguiente manera:
Sin Normalizar:
ALUMNOS
| alumno | estudio_nivel | estudio_nombre | materia_1 | materia_2 |
|---|---|---|---|---|
| Juanito | Maestría | Medios Virtuales | MySQL | PHP |
| Pepito | Licenciatura | Diseño Digital | MySQL | PHP |
Como podemos ver en la
tabla anterior, tenemos los registros de ambos estudiantes con ambas materias
asignadas, pero esto es poco funcional, imaginemos que cada estudiante tuviera
más materias en su horario, eso significaría, agregarle más columnas a cada
alumno, lo que no es muy óptimo.
Primera Forma Normal:
NO repetir campos en las tablas.
ALUMNOS
| alumno_id | alumno_nombre | estudio_nivel | estudio_nombre | materia |
|---|---|---|---|---|
| 1 | Juanito | Maestría | Medios Virtuales | MySQL |
| 1 | Juanito | Maestría | Medios Virtuales | PHP |
| 2 | Pepito | Licenciatura | Diseño Digital | MySQL |
| 2 | Pepito | Licenciatura | Diseño Digital | PHP |
Al aplicar la primera forma
normal hemos generado un identificado para cada alumno y un registro por
materia asignada, hemos duplicado información, sin embargo, hemos conservado la
integridad de las columnas de la información lo que es más óptimo que el modelo
anterior, sin embargo, podemos mejorarlo con la segunda forma normal.
Segunda Forma Normal:
Se debe aplicar la 1FN. Cada
campo de la tabla debe depender de una clave única, si tuviéramos alguna
columna que se repite a lo largo de todos los registros, dichos datos deberían
atomizarse en una nueva tabla.
ALUMNOS
| alumno_id | alumno_nombre | estudio_nivel | estudio_nombre |
|---|---|---|---|
| 1 | Juanito | Maestría | Medios Virtuales |
| 2 | Pepito | Licenciatura | Diseño Digital |
MATERIAS
| materia_id | alumno_id | materia_nombre |
|---|---|---|
| 1 | 1 | MySQL |
| 2 | 1 | PHP |
| 3 | 2 | MySQL |
| 4 | 2 | PHP |
Al aplicar la segunda
forma normal, hemos evitado la duplicación de registros y hemos separado la
información de los alumnos de la relación que guardan con las materias
generando una segunda tabla, sin embargo dicha tabla puede mejorarse con la
tercer forma normal o su versión mejorada la forma de Boyce-Codd.
Tercera Forma Normal:
Se debe aplicar la 1FN y 2FN. Los campos que NO son clave
NO deben tener dependencias.
Forma Normal Boyce-Codd (FNBC):
Se debe aplicar la 1FN,
2FN y 3FN. Es una versión mejorada de la 3FN. Los campos que NO son clave NO
deben tener dependencias. Los campos que NO dependan de la clave se deben
eliminar.
ALUMNOS
| alumno_id | alumno_nombre | estudio_id |
|---|---|---|
| 1 | Juanito | 1 |
| 2 | Pepito | 2 |
ESTUDIOS
| estudio_id | estudio_nivel | estudio_nombre |
|---|---|---|
| 1 | Maestría | Medios Virtuales |
| 2 | Licenciatura | Diseño Digital |
MATERIAS
| materia_id | alumno_id | materia_nombre |
|---|---|---|
| 1 | 1 | MySQL |
| 2 | 1 | PHP |
| 3 | 2 | MySQL |
| 4 | 2 | PHP |
Con la ayuda de la tercera
forma y la Boyce-Codd hemos sacado la información de los planes de estudio de
la información principal de los alumnos, lo que asegura una mejor integridad de
los datos, permitiendo que el número de estudios crezcan y que los estudiantes
puedan matricularse a más de un estudio sin tener que desordenar el modelo de
datos.
Cuarta Forma Normal:
Se debe aplicar la FNBC. La 4FN aplica únicamente para relaciones M a M,
y nos ayuda a eliminar la redundancia de información generada por dicho tipo de
relación.
ALUMNOS
| alumno_id | alumno_nombre | estudio_id |
|---|---|---|
| 1 | Juanito | 1 |
| 2 | Pepito | 2 |
ESTUDIOS
| estudio_id | estudio_nivel | estudio_nombre |
|---|---|---|
| 1 | Maestría | Medios Virtuales |
| 2 | Licenciatura | Diseño Digital |
MATERIAS
| materia_id | materia_nombre |
|---|---|
| 1 | MySQL |
| 2 | PHP |
MATERIAS X ALUMNO
| mxa_id | alumno_id | materia_id |
|---|---|---|
| 1 | 1 | 1 |
| 2 | 1 | 2 |
| 3 | 2 | 1 |
| 4 | 2 | 2 |
Con la cuarta forma
hemos logrado separar la relación que guardan los alumnos con sus respectivas
materias asignadas, separándolas en un catálogo independiente de materias, y
guardando la relación entre alumnos y materias en otra tabla pivote que sólo
guarde la relación entre ambas entidades con un registro único.
Quinta Forma Normal:
Se debe aplicar la 1FN,
2FN, 3FN y 4FN. Existe otro nivel de normalización que se aplica con poca
frecuencia y en la mayoría de los casos no es necesario, para obtener la mejor
funcionalidad de nuestra estructura de datos. Su principio sugiere:
- La tabla original debe ser reconstruida
desde las tablas resultantes en las cuales ha sido partida.
- Los beneficios de aplicar la 5FN asegura
que no se haya creado ninguna columna extraña en las tablas y que su
estructura sea del tamaño justo que tiene que ser.
- Es una buena práctica aplicar la 5FN,
cuando tenemos una extensa y compleja estructura de datos, en modelos
pequeños no se recomienda usar.
En síntesis, la quinta
forma, nos dice que en modelos muy grandes donde tenemos muchas relaciones y
entidades, nos sugiere que una vez que hayamos terminado la normalización de
nuestro modelo, lo revisemos una vez más en busca de posibles errores de lógica
en la normalización, para efectos de nuestro ejemplo que es un modelo sencillo
no aplicaremos la quinta forma normal.
¿Qué es SQL?
Existen un sinnúmero de sistemas de gestión de bases de datos relacionales y cada una de ellas posee una forma diferente de manejar su data, algunos ejemplos de RDBMS son: Oracle, MySQL, SQL Server, entre otras.
Sin embargo, con el
paso de los años, estos se fueron unificando y universalizando para dar paso a
mejores técnicas y mejores formas de manejo. Así nació SQL.
SQL (Structured Query
Language) es un lenguaje estándar e interactivo de acceso a bases de datos
relacionales que permite especificar diversos tipos de operaciones en ellas,
gracias a la utilización del álgebra y de cálculos relacionales, el SQL brinda
la posibilidad de realizar consultas con el objetivo de recuperar información
de las bases de datos de manera sencilla. Las consultas toman la forma de un
lenguaje de comandos que permite seleccionar, insertar, actualizar, averiguar
la ubicación de los datos, y más.
¿Qué es una consulta?
En bases de datos, una consulta es el método para acceder a los datos en las bases de datos.
Con las consultas se pueden modificar, borrar, obtener y agregar datos en una base de datos.
Para esto se utiliza un lenguaje de consultas. El lenguaje de consultas a base de datos más utilizado es el SQL.
Técnicamente hablando, las consultas a una base de datos se realizan a través de un lenguaje de manipulación de datos (DML – Data Manipulation Language). Por lo tanto SQL es un lenguaje DML, pero además posee otras características de otros lenguajes; por ejemplo, permite también crear bases de datos.
SQL es un poderoso lenguaje capaz de avanzadas consultas.
Esos son algunos de los conceptos que tienes que saber para empezar a hacer uso de las bases de datos. ¡¡Hasta la próxima!!
Referencias bibliográficas:
https://www.monografias.com/trabajos77/base-datos-sistema-informacion/base-datos-sistema-informacion.shtml
http://www.maestrosdelweb.com/que-son-las-bases-de-datos/
https://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_bases_de_datos
https://es.wikipedia.org/wiki/Administrador_de_base_de_datos
https://www.educaweb.com/profesion/administrador-bases-datos-724/
https://es.wikipedia.org/wiki/Modelo_entidad-relaci%C3%B3n
http://www.cyta.com.ar/elearn/bd/2_presentaciones_1.html
https://baseser.blogspot.com/2010/07/tipos-de-relaciones.html
https://es.wikipedia.org/wiki/Normalizaci%C3%B3n_de_bases_de_datos
https://ed.team/blog/normalizacion-de-bases-de-datos
https://devcode.la/blog/que-es-sql/
https://styde.net/que-es-y-para-que-sirve-sql/
https://es.wikipedia.org/wiki/SQL
http://www.alegsa.com.ar/Dic/consulta_en_base_de_datos.php





