Una base de datos es la colección de archivos a las que puede accederse por un conjunto de programas que contienen datos relacionados. Una consulta en base de datos es una instrucción de solicitud para recuperar información.
Ejemplos de bases de datos de la vida cotidiana
El registro de estudiantes de un colegio o universidad.
El registro de pacientes de un consultorio médico u hospital.
La base de datos de los libros y revistas de una biblioteca o librería.
Los estados de cuenta bancarios de los clientes de una institución financiera
¿Para qué sirve una base de datos?
Organizar gran cantidad de datos para extraer información de relevancia.
Obtener información de hábitos: compañías como Amazon.com se sirven de las bases de datos de sus clientes para hacerles sugerencias sobre nuevas compras.
Facilitar la búsqueda y consulta de información: una base de datos de una biblioteca permite buscar un libro o revista de forma más rápida que haciendo uso de un fichero o buscando manualmente.
Bases de datos jerárquicos: presenta una estructura jerárquica, es decir, en árbol.
Bases de datos en red: la estructura está interconectada.
Bases de datos relacionadas: está formada por tablas que presentan relaciones matemáticas.
Información tomada de: https://www.todamateria.com/base-de-datos/#:~:text=Ejemplos%20de%20bases%20de%20datos,clientes%20de%20una%20instituci%C3%B3n%20financiera.
Un diagrama entidad-relación, también conocido como modelo entidad relación o ERD, es un tipo de diagrama de flujo que ilustra cómo las "entidades", como personas, objetos o conceptos, se relacionan entre sí dentro de un sistema.
También conocidos como los ERD o modelos ER, emplean un conjunto definido de símbolos, tales como rectángulos, diamantes, óvalos y líneas de conexión para representar la interconexión de entidades, relaciones y sus atributos. Son un reflejo de la estructura gramatical y emplean entidades como sustantivos y relaciones como verbos.
Los componentes y las características de un diagrama ER
Los diagramas ER se componen de entidades, relaciones y atributos. También representan la cardinalidad, que define las relaciones en términos de números. Puedes ver un glosario a continuación:
Entidad
Algo que se puede definir, como una persona, objeto, concepto u evento, que puede tener datos almacenados acerca de este. Piensa en las entidades como si fueran sustantivos. Por ejemplo: un cliente, estudiante, auto o producto. Por lo general se muestran como un rectángulo.
Tipo de entidad:un grupo de cosas que se pueden definir, como estudiantes o atletas, mientras que la entidad sería el estudiante o atleta específico. Otros ejemplos son clientes, autos o productos.
Conjunto de entidades:es igual que un tipo de entidad, pero se define en un momento determinado, como por ejemplo estudiantes que se inscribieron en una clase el primer día. Otros ejemplos son clientes que realizaron una compra en el último mes o autos registrados actualmente en Florida. Un término relacionado es una instancia, en la que una persona determinada o un auto específico podría ser una instancia del conjunto de entidades.
Categorías de entidades:las entidades se clasifican en fuertes, débiles o asociativas. Una entidad fuerte se puede definir únicamente por sus propios atributos, en cambio, una entidad débil no. Una entidad asociativa es aquella que relaciona entidades (o elementos) dentro de un conjunto de entidades.
Claves de entidad: se refiere a un atributo que únicamente define una entidad en un conjunto de entidades. Las claves de entidad se dividen en: Superclave, clave candidata o clave primaria.
Superclave:un conjunto de atributos (uno o más) que juntos definen una entidad en un conjunto de entidades.
Clave candidata:es una superclave mínima, es decir, contiene el menor número posible de atributos para seguir siendo una superclave. Un conjunto de entidades puede tener más de una clave candidata.
Clave primaria: es una clave candidata seleccionada por el diseñador de la base de datos para identificar únicamente al conjunto de entidades.
Clave extranjera:identifica la relación entre las entidades.
Relación
Cómo las entidades interactúan o se asocian entre sí. Piensa en las relaciones como si fueran verbos. Por ejemplo, el estudiante mencionado podría inscribirse en un curso. Las dos entidades serían el estudiante y el curso, y la relación representada es el acto de inscribirse, que conecta ambas entidades de ese modo. Las relaciones se muestran, por lo general, como diamantes o etiquetas directamente en las líneas de conexión.
Relación recursiva:la misma entidad participa más de una vez en la relación.
Atributo
Una propiedad o característica de una entidad. A menudo se muestra como un óvalo o círculo.
Atributo descriptivo: una propiedad o característica de una relación (frente a una entidad).
Cardinalidad
Define los atributos numéricos de la relación entre dos entidades o conjuntos de entidades.
Las tres relaciones cardinales principales son:
Uno a uno
Uno a muchos
Muchos a muchos.
Un ejemplo de uno a uno sería un estudiante asociado a una dirección de correo electrónico.
Un ejemplo de uno a muchos (o muchos a uno, en función de la dirección de la relación) sería un estudiante que se inscribe en muchos cursos, y todos esos cursos se asocian a ese estudiante en particular.
Un ejemplo de muchos a muchos sería los estudiantes en grupo están asociados a múltiples miembros de la facultad y a su vez los miembros de la facultad están asociados a múltiples estudiantes.
Modelos de datos físicos, lógicos y conceptuales
Los modelos de datos y los modelos ER se dibujan típicamente con hasta tres niveles de detalle:
Modelo de datos conceptuales:la visualización de nivel más alto que contiene la menor cantidad de detalle. Su valor muestra el alcance global del modelo y representa la arquitectura del sistema. Para un sistema de menor alcance, quizás no sea necesario dibujarlo. En cambio, se comienza con el modelo lógico.
Modelo de datos lógicos:contiene más detalle que un modelo conceptual. Ahora se definen las entidades transaccionales y operativas más detalladas. El modelo lógico es independiente de la tecnología en la que se implementará.
Modelo de datos físicos:uno o más modelos físicos pueden desarrollarse a partir de cada modelo lógico. El modelo físico debe mostrar los suficientes detalles tecnológicos para producir e implementar la base de datos en cuestión.
Ten en cuenta que existen niveles de alcance y de detalle similares en otros tipos de diagramas, como los diagramas de flujo de datos, pero esto se contrasta con el enfoque de tres esquemas de la ingeniería de software, que divide la información de forma diferente. En algunas ocasiones, los ingenieros ramificarán los diagramas ER con jerarquías adicionales con el fin de agregar los niveles de información necesarios para el diseño de la base de datos. Por ejemplo, pueden agregar categorías mediante la ampliación hacia arriba con superclases y hacia abajo con subclases.
Cómo dibujar un diagrama ER básico
Propósito y alcance:definen el propósito y el alcance de lo que estás analizando o modelando.
Entidades: identifican las entidades involucradas. Cuando estés listo, comienza a dibujarlas en rectángulos (o en la figura que selecciones en tu sistema) y etiquétalas como sustantivos.
Relaciones: determinan cómo se relacionan todas las entidades. Dibuja líneas entre ellas para indicar las relaciones y etiquétalas. Algunas entidades pueden no estar relacionadas, y eso está bien. En diferentes sistemas de notación, la relación se puede etiquetar en un diamante, otro rectángulo o directamente sobre la línea de conexión.
Atributos: brindan más detalles mediante la adición de atributos clave de las entidades. Los atributos a menudo se muestran como óvalos.
Cardinalidad: muestra si la relación es 1-1, 1-muchos o muchos a muchos.
Más consejos sobre diagramas ER
Muestra el nivel de detalle necesario para tu propósito. Tal vez desees dibujar un modelo físico, lógico o conceptual, en función de los detalles necesarios. (Consulta más arriba las descripciones de esos niveles).
Presta atención a las relaciones o entidades redundantes.
Si estás solucionando un problema de una base de datos, presta atención a los vacíos en las relaciones o los atributos o entidades que faltan.
Asegúrate de que todas tus entidades y relaciones estén etiquetadas.
Puedes convertir tablas relacionales a diagramas ER, y viceversa, si eso te ayuda a alcanzar tu objetivo.
Asegúrate de que el diagrama ER admita todos los datos que necesitas guardar.
Puede haber diferentes enfoques válidos para un diagrama ER. Mientras brinde la información necesaria para su alcance y propósito, es apropiado.
información tomada de: https://www.lucidchart.com/pages/es/que-es-un-diagrama-entidad-relacion.
El software MySQL Workbench es un entorno de MySQL gráfico de diseño de bases de datos, servidores, administración y mantenimiento para el sistema MySQL. Además, esta herramienta gráfica fue desarrollada y distribuida por la compañía de desarrollo de nube y localesOracle Corporation.
La herramienta MySQL Workbench se encuentra disponible para su uso comercial, teniendo total compatibilidad con las versiones del servidor MySQL 5.6 en adelante.
Funciones de MySQL Workbench
Dentro de las funcionalidades y características de MySQL Workbench se pueden encontrar factores como:
Modelado de datos
Una de las características de MySQL Workbench permite a los desarrolladores, arquitectos de datos y demás clientes diseñar, modelar, gestionar y generar bases de datos de manera visual o gráfica, incluyendo todos los elementos necesarios para realizar modelos con un alto nivel de complejidad.
Esta plataforma permite, además, obtener información o diseño a partir de un producto, con el objetivo de establecer cuáles son sus componentes, cómo interactúan entre sí y cómo fueron creados. Este proceso se conoce como ingeniería inversa o retro-ingeniería, y MySQL Workbench permite llevarlo a cabo entre una base de datos que esté activa y un esquema.
Editor de tablas
Otra de las características de MySQL Workbench es el editor de tablas. Este entorno de MySQL gráfico cuenta también con la función de editor de tablas, que permite la modificación de todos los aspectos de la base de datos. Esto ofrece facilidades de uso para el proceso de configuración de las tablas, índices, columnas, opciones, permisos y particiones, entre otros elementos.
Migración de bases de datos
Esta herramienta de MySQL Workbench ofrece una solución completa y de fácil uso enfocada en migrar de Microsoft SQL Server, Microsoft Access, PostgreSQL, Sybase ASE y otras tablas, datos y objetos de un sistema de gestión de bases de datos relacionales (RDBMS) a MySQL. Esto permite que los usuarios tengan la posibilidad de convertir de manera rápida y sencilla las aplicaciones para que puedan ser ejecutaras en MySQL tanto en Windows como en plataformas bajo el sistema operativo Linux o Mac OS.
Panel de rendimiento visual
Otra de las características de MySQL Workbench es que le ofrece a sus usuarios una serie de elementos destinados a aumentar el rendimiento de las aplicaciones. De manera que, con el uso de esta herramienta gráfica, los clientes pueden observar de forma rápida todo lo relacionado con los indicadores clave de productividad, a través del llamado panel de rendimiento visual.
Esta función proporciona un conjunto de informes que ofrecen una fácil identificación y opciones para que el usuario vea dónde optimizar su consulta.
Desarrollo de SQL
MySQL Workbench se encarga también de la creación y gestión de conexiones a servidores de bases de datos, además del proceso de configuración de parámetros de conexión y la ejecución de consultas SQL en las conexiones de la base de datos, a través del uso del editor incorporado. Este editor también ofrece un resaltado de sintaxis en color, la reutilización de fragmentos de SQL, el historial de ejecución y la función de autocompletado.
Gestión del servidor
Otra de las funciones de MySQL Workbench proporciona una consola visual que permite la gestión de manera fácil de los entornos de MySQL Workbench. Esto permite que el usuario obtenga una mejor visibilidad de sus bases de datos y que, además, pueda hacer uso de herramientas visuales que contribuyan en la configuración de servidores, administración de usuarios, realización debackups o copias de seguridad y recuperación, al tiempo que inspecciona los datos de auditoria y ve el estado actual de la base de datos, monitoreando su rendimiento.
INSTALACION DE MYSQL WORKBENCH:
COMO USAR MYSQL WORKBENCH:
VIDEOS CREADOS POR ADRIANA CALVACHI PARA LOS APRENDICES DE ADSO - SENA
A continuación comparto unos videos sobre el uso de esta herramienta MySQL WorkBench:
DESCARGAR, INSTALAR Y CONFIGURAR MYSQL
CREAR BASES DE DATOS EN MYSQL WORKBENCH MODELO ENTIDAD RELACION
SINCRONIZAR E INSERTAR REGISTROS A UN BD EN MYSQL WORKBENCH
SELECT Y UPDATE EN BASE DE DATOS EN MYSQL WORKBENCH
Una base de datos no relacional es un sistema de almacenamiento de datos que cuenta con particularidades que las diferencian del otro gran grupo de bases de datos, esto es, las relacionales. En este artículo vemos en qué consiste una base de datos relacional y cuáles son sus principales características y ventajas.
Las bases de datos no relacionales son un sistema de almacenamiento de información que se caracteriza por no usar el lenguaje SQL para las consultas. Esto no significa que no puedan usar el lenguaje SQL, pero no lo hacen como herramienta de consulta, sino como apoyo. Por ello también se les suele llamar NoSQL o «no solo SQL».
Otra de sus principales características es que no trabajan con estructuras definidas. Es decir, los datos no se almacenan en tablas, y la información tampoco se organiza en registros o campos.
Tienen una gran escalabilidad y están pensadas para la gestión de grandes volúmenes de datos. Por otro lado, a diferencia de las bases de datos relacionales no cumple con el estándar ACID de atomicidad, consistencia, aislamiento y durabilidad.
Las bases de datos no relacionales son más actuales que las relacionales, y su desarrollo se ha basado en la necesidad de crear sistemas de gestión capaces de trabajar con datos no estructurados o semi-estructurados.
Características y funciones a tener en cuenta
Las principales características de una base de datos no relacional son las siguientes:
La información no se almacena en tablas sino a través de documentos.
Son bases de datos muy útiles para organizar y gestionar información no estructurada, o cuando no se tiene una noción clara de los datos a almacenar.
Son bases de datos con alto grado de escalabilidad y están diseñadas para soportar grandes volúmenes de datos.
No utilizan el lenguaje SQL para consultas, aunque sí lo pueden usar como herramienta de apoyo.
Es un sistema de almacenamiento de datos relativamente nuevo, y como tal, todavía no posee un sistema estandarizado.
A diferencia de las no relacionales, no garantizan el cumplimiento de las cualidades ACID, esto es, atomicidad, consistencia, integridad y durabilidad.
Ventajas y desventajas
Una base de datos relacional tiene ciertas particularidades que las distinguen del resto, lo cual se traduce en una serie de ventajas y desventajas.
Ventajas
Estas son las principales ventajas de una base de datos no relacional:
Son mucho más flexibles a la hora de crear esquemas de información, lo que las convierte en una solución ideal para el almacenamiento y gestión de datos no estructurados o semiestructurados.
Ofrecen una mayor escalabilidad. Pueden soportar mayores volúmenes de datos y añadir mayor capacidad añadiendo nuevos módulos de software, sin necesidad de añadir nuevos servidores.
Garantizan un alto rendimiento, ya que están diseñadas para trabajar con modelos de datos concretos y patrones de acceso específicos.
Son muy funcionales, ya que cuentan con API exclusivas y proporcionan modelos de datos para trabajar con cada tipo de datos presentes en la base.
Desventajas
Por su parte, las principales desventajas de una base de datos no relacional son las siguientes:
No cumplen igual que las relacionales con las propiedades de atomicidad, consistencia, integridad y durabilidad.
No son compatibles con determinadas consultas en lenguaje SQL.
Carecen de un sistema estandarizado ya que todavía son bases de datos relativamente nuevas.
Muchos sistemas de gestión de bases de datos relacionales son de código abierto y tienen una gran comunidad detrás programando soluciones y nuevas funcionalidades. En el caso de las bases de datos no relacionales este soporte es mucho más limitado.
Tipos
Existen diferentes tipos de bases de datos no relacionales, en función del método que emplean para almacenar la información. Veamos algunos de ellos.
Clave-valor
Se trata de bases de datos no relacionales que almacenan la información en base a pares de clave valor. Es decir, cada clave sirve como un identificador único, y a cada una de ellas se le aplica un valor. Son especialmente usadas a la hora de almacenar datos de juegos, aplicaciones o aparatos que funcionan mediante el internet de las cosas (IoT).
Documentos
En una base de datos relacional basada en documentos la información se representa como objetos o documentos JSON. Su principal ventaja es que los documentos son de naturaleza flexible, semiestructurada y jerárquica, lo que facilita a los desarrolladores las tareas de almacenamiento, gestión y consulta de datos. Es un modelo usado habitualmente en sistemas de administración de contenidos o para gestionar perfiles de usuarios.
Gráficos
Las bases de datos no relacionales basadas en gráficos están pensadas para crear relaciones y navegar por ellas. Las entidades de datos se almacenan mediante nodos y los bordes son los que crear las relaciones entre entidades. Con frecuencia las bases de datos gráficas se emplean en redes sociales, sistemas de detección o prevención de fraudes o sistemas de recomendaciones.
En memoria
Son bases de datos no relacionales diseñadas para ofrecer respuestas en milisegundos y soportar grandes picos de tráfico. Un ejemplo de bases de datos en memoria son las empleadas en tablas de clasificaciones de juegos o en herramientas para hacer análisis en tiempo real.
¿Cómo funcionan y para qué sirven?
¿Para qué sirve una base de datos no relacional? Principalmente, las bases de datos no relacionales se emplean para almacenar datos no estructurados, o de los que no se tienen ningún esquema o información predefinida. Sin embargo, también pueden ser empleados para el almacenamiento y gestión de datos estructurados. Veamos un ejemplo de cómo funcionaría el almacenamiento de datos en una base de datos no relacional y en una base de datos relacional.
Tomemos como ejemplo una base de datos en la que se van a almacenar DVDs de películas. Estos podrían almacenarse según el título de la película, fecha de estreno, género, director, etc.
En una base de datos relacional, cada película sería un registro y ocuparía una de las filas de la tabla. Por su parte, los diferentes datos almacenados sobre cada película (título, fecha de estreno, género o director) se organizarían en campos, que corresponderían a las columnas de la tabla.
Sin embargo, en una base de datos NoSQL o no relacional cada registro de una película se almacena como un único documento ISON. Todos los atributos o características de cada película (título, fecha de estreno, género y director) se almacenan en un solo documento, Es decir, este almacenamiento de datos está preparado para ofrecer una mayor escalabilidad horizontal y un desarrollo más intuitivo.
Por tanto, el funcionamiento de una base de datos no relacional deja de lado el uso de tablas, de forma que cada elemento se guarda en documentos que ya incluyen todos sus atributos.
Estructura
Como ya hemos señalado a lo largo del artículo, una base de datos no relacional no requiere de tablas para el almacenamiento de la información.
Normalmente la estructura de una base de datos relacional se basa la organización de la información a través de documentos. Este tipo de databases están pensadas para ofrecer mayor escalabilidad horizontal y no tienen identificadores que permitan establecer relaciones entre diferentes conjuntos de datos.
Cada uno de los documentos almacenados en la base de datos incluye todos los atributos del elemento, por lo que resultan muy útiles a la hora de guardar información poco estructurada o de la que no se tiene un esquema claro de inicio.
En las bases de datos relacionales la información se organiza de forma estructurada en tablas; en las no relacionales no es así.
Una base de datos no relacional no usa el lenguaje SQL como lenguaje principal para sus consultas.
Las bases de datos no relacionales se emplean sobre todo para almacenar datos no estructurados o semiestructurados.
Una base de datos relacional no cumple con las propiedades ACID con la misma eficacia que una base de datos relacional
La escalabilidad es mayor en una base de datos no relacional, y también están preparadas para soportar mayor volumen de datos.
Las bases de datos no relacionales o NoSQL también ofrecen una mayor flexibilidad y escalabilidad horizontal.
A diferencia de las relacionales, las bases de datos no relacionales todavía no disponen de un lebguaje estandarizado (SQL).
El soporte de la comunidad es mejor en el caso de las bases no relacionales.
Ejemplo
Imagina que se han enviado varios robots a la luna con el objetivo de encontrar nuevos materiales o para elaborar informes de sus descubrimientos durante su misión espacial. Evidentemente, no se tiene ninguna certeza sobre lo que se puedan encontrar. Cada uno de estos robots tiene incorporados unos sensores para reconocer aquello que se van encontrando, y envían informes cada 24 horas indicando qué han encontrado, además de la fecha o localización del descubrimiento.
Entonces, uno de estos robots podría almacenar la información en una base de datos, la cual se podría organizar de la siguiente manera:
{ «robot_id»:1, (la máquina o robot que ha hecho el descubrimiento) «timestamp»:149992693000, (la fecha y hora en la que ocurrió determinado evento) «coordenadas»:»75988823.567, 55375867.098, 12676444.311″, (los lugares donde se realizaron las búsquedas) «encontrado»:[ «mineral», «mineral», «agua», ], (los elementos u objetos encontrados por el robot) «temperatura»:{ «min»:-50, «max»:-49 }, (temperatura recogida por los sensores) «ruido»:{ «min»:72, «max»:4549 } (ruido recogido por los sensores) }
Para terminar, cabe decir que las bases de datos no estructurales son cada vez más utilizadas ya que permiten almacenar datos de los cuáles no se tiene una estructura clara y que serían casi imposibles de organizar en una base relacional.
A continuación comparto unos videos sobre MONGO DB:
INSTALACION DE MONGODB
INSERTAR DOCUMENTOS EN MONGO DB
INSERTAR DOCUMENTOS A COLECCION EN MONGO DB A TRAVES DE UN ARCHIVO JSON
SENTENCIAS PARA CREAR CONSULTAS "FIND()" EN MOGO DB COMPASS