Puntos fuertes de las bases de datos relacionales

4/34
Recursos
Transcripción

Aportes 67

Preguntas 2

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Un caso genérico para el uso de una base de datos relacional podría ser cualquier sistema que pueda ser bien definido en sus entidades, estas a su vez en sus atributos y relaciones, es decir, hay una estructura concreta de los datos. Un ejemplo seria la base de datos para una biblioteca, puesto puedo definir una estructura para los datos a través de entidades, atributos y relaciones.
🚀
Por otro lado para una base de datos no relacional seria algo curioso, se me ocurre un caso de investigación en la que muchas variables puedan ser medidas por un robot que seria enviado a cumplir esta tarea, pero no se sabe si estas variables existirán en el medio estudiado, podría ser como un viaje a marte o algún otro planeta, incluso a los fondos mas oscuros del mar. Se usaría una base de datos no relacional ya que no habrá una estructura definida de los datos que serán emitidos por el robot enviado. Podría ser una base de datos basada en documentos, como Firebase o MongoDB.
🤓

Puntos fuertes de las RDB

  • Multipropósito - Te permite almacenar, extraer, estados de anidación y nos permite jugar con las bases de datos
  • Ampliamente utilizadas - Sin importar en el campo que entres en el campo de datos, se van a econtrar con bases de datos relacionales
  • Información consistente - La idea en una base de datos relacional que si se tiene data en la base sea datos unicos y relacionarla con otra información.
  • Flexible - Se puede ocupar solo para almacenar datos, extraerlos o jugar con datos
  • Retrocompatible - Los motores de base de datos avanzan constantemente en sus motores pero siempre arreglando los problemas de sus estandares
  • Completamente programable - Permite usar lenguajes procedurales que pueden ayudar a extraer datos o guardarlos e incluso hacer cosas más complejos dentro de la misma base de datos
  • Para una base de datos relacional, se podría utilizar de ejemplo el registro de ventas, donde tenemos un identificador de transacción, las características del producto o servicio comprado y a la vez datos de fechas de creación/termino, a si como las propias del cliente.

  • Para el ejemplo de una no relacional se me ocurre las situaciones de análisis para las ventas donde se mezcle información extra. por ejemplo la incidencia del stock disponible en caso de la venta en linea, u otras características que no sean propias de la venta en si. Factores que en conjunto permitan generar la venta

Soy biólogo, usaria una BDR para documentar la biodiversidad de mamíferos en diferentes reservas naturales en el estado. Por un lado los mamiferos tienen diferentes niveles de agrupación taxonimica por lo que haria tablas por Ordenes (p.ej. Roedores, Murcielagos, Carnivoros, Lagomofos) y por otro lado las reservas pueden estar bajo diferentes niveles de manejo como los son a nivel federal, estatal, municipal o privadas, ademas estas reservas pueden englobar diferentes tipos de vegetación. Con esta base de datos podría calcular indices de biodiversidad por reserva, por tipo de vegetación. Saber la cantidad de area protegida en la que se distribuye cierta especie o cierto tipo de vegetación, etc.

Para una base de datos no relacial piendo en una aplicación como Naturalista en la que las personas suben fotografias de animales o plantas para que colaboradores las identifiquen. Las entradas contiene una fotografia, datos geograficos, una breve descripción de lo que se observa y lo mas importante la identificación de la especie. En este caso no es necesario una base de datos relacionales.

Para una base de datos relacional puede para un súpermercado, con tablas de productos, clientes, tiendas, transacciones, inventario, etc.

Una base datos relacional para un sistema transaccional como un supermercado por ejemplo que maneja entidades como: Clientes, proveedores, productos, Personal, etc y en el caso de una base de datos no relacional podría ser un aplicativo que conecta clientes con usuarios que brindan el servicio y funciona de manera web y en celulares donde recopila información de clientes, fotos, vídeos, gustos e intereses de los usuarios.

Yo trabajaba en una Telco y todos los datos estaban guardados en una base de datos relacional. Usabamos PL/SQL de Oracle, es increíble la cantidad de análisis que se pueden hacer cruzando tablas.

Para el campo del Big Data como por ejemplo tomar datos de sensores como de temperatura cada 30 segundos o menos creo que seria mejor usar Bases de Datos no Relacionales

Trabajo en inventarios, y para su gestión y control una base de datos relacional nos soluciona todo, los pedidos, ingresos, consumos, codigos de consumo, tipos de datos, valor vendido etc… todo relacionado a un codigo unico de producto el cual la mantiene solo con datos unicos.

Basado en mi experiencia he diseñado e implementado bases de datos relacionales, en CRM y ERP, utilizando diferentes front-end, desde web, formularios, power apps e importando datos mediante programación, tienen sus limite como tu dices, cuando son datos de miles usuarios al mismo tiempo, por eso hace muchos años existía (todavía existe) cobol y sus bases de datos se basan en texto y esto lo hace muy rápido, hay sistemas bancarios basados en esto y es complejo remplazarlos por el nivel de velocidad, que no da una DB relacional, yo uso las soluciones de Microsoft y Google de NO SQL que son muy eficientes cuando se trata de cientos y millones de datos,

El caso de uso de una base relacional sería en el control de inventario de una bodega de alimentos enlatados.

El caso de uso de una base de datos no relacional basada en documentos sería un blog muy activo con diferentes autores.

Me gustaría utilizar Firebase y aprender un poco más

UN crm para una base de datos relacional.
y un juego quizás una no relacional y puedo usar mongodb.

Uso de una base de datos relacional dentro de un sistema punto de venta donde temernos códigos de barra (nuestro id) de los artículos, precios proveedores.

Uso de una base no relacional, cuando uno guarda una playlist en una app nosotros seleccionamos películas o música y guardamos el estado de nuestra aplicación único para nuestro usuario.

Una base de datos relacional la utilizaría en un sistema que se usará operaciones de tipo transaccional por ejemplo un programa de inventario o de caja registradora.

Por otro lado no las usaría cuando necesito hacer analítica de los datos porque los join me consumen mucho tiempo cuando tengo una db normalizada.

en mi caso lo utilizaria para gestionar un almacen entradas salidas reubicaciones mapas de stock tiempos de trabajo etc .

una base de datos relacional funcionaria en mi caso para organizar los proveedores, las ventas, los insumos y demás aspectos necesarios para un empresa; ya que con esta se pueden hacer relaciones y manejar intuitivamente y eficientemente los datos. Por el otro lado si se usara una base relacionar para almacenar las dimensiones (también llamadas features o kernels) de las imágenes que use un modelo de ML, ya que estas pueden ser millones haciendo muy lenta la lectura y la escritura, lo que hace que el entrenamiento sea lento pero si se usa una base de datos basada en grafos.

lo ultimo es especulación pero bajo mi criterio tiene sentido

Amigos por aquí el concepto de Cardinalidad:es el número de entidades con la cual otra entidad se puede asociar mediante una relación binaria; la cardinalidad puede ser: Uno a uno, uno a muchos o muchos a uno y muchos a muchos. El tipo de cardinalidad se representa mediante una etiqueta en el exterior de la relación, respectivamente: “1:1”, “1:N” y “N:M”, aunque la notación depende del lenguaje utilizado, la que más se usa actualmente es el unificado.

Creo que un buen caso de uso para una RDB sería una base de datos con información de los estudiantes de colegio en los municipios de mi país, Colombia, y la taza de deserción escolar de los mismos, para poder describir el estado actual de la educación básica y media, y posteriormente hacer un modelo inferencial para predecir los posibles casos de deserción en el futuro.

Ahora, una base de datos no relacional, podría utilizarse en galerías de arte para llevar un control de las obras en el inventario, por medio de fotografías y así facilitar el seguimiento de las transacciones en subastas o ventas de arte.

¿Qué opinan, compañeros? ¿Les parece que mis ejemplos están bien enfocados o me equivoqué al elegir el tipo de bases de datos?

Una base de datos relacional es muy util al momento de hacer un analisis o una extraccion para crear un dashboard en alguna herramienta de BI, ya que estan muy bien diseñadas para este tipo de bases

RDB puede usar para guardar registros de viajes en una empresa de transporte de insumos

Pienso que tal vez podría servir para realizar una aplicación que nos entregue información acerca de los vuelos realizados por personas, con esto me refiero a hora de vuelo, escalas, aerolínea, tiempo de vuelo, hora-salida, hora-llegada, precio-boleto, asiento, etc, etc. Me gustaría que me comentaran que piensan puesto que también creo que al tratarse de miles y miles de personas se necesitaría una base de dato no relacional.

Saludos

Bases de datos relacionales se pueden intuir como estructuras que manejan objetos concretos y relaciones entre ellos (bases de datos para un colegio, biblioteca, empresa)

Y creería que uno de los usos de las no relaciones pueden ser las interacciones por click en una página web, o un mapa de calor, las miles de señales que puede envíar un satélite y demás datos que además de ser grandes en volumen, presentan una variedad inmensa, muchas aristas para analizar desde muchos puntos de vista

Casos de uso:
Supermercado, tienda por departamento, para relacionar clientes, con facturas, o acumulación de puntos.

Otro ejemplo puede ser la creación de envió de paquetería, logística, entre otros.

Historias clínicas de todos los pacientes de la salud pública de un país en vías de desarrollo

En mi caso soy cientista social y en este momento estamos iniciando un proyecto con integrantes de toda América Latina para evaluación de políticas públicas. Una base de datos relacionales creo que nos serviviría para analizar perfiles, temas de investigación, vínculos con organizaciones de la sociedad civil, etc, lo que nos permitiría encontrar temas comunes para trabajo en subgrupos.
Una base de datos no relacional imagino serviría para el análisis de información cualitativa y no estructurada que provenga del trabajo de campo

en la base de datos de la FIDE

Estoy terminando la carrera de ingeniería mecánica, y la mayoría de software para tener un seguimientos de nuestros planes de mantenimiento , lo mas posible es que estén diseñados de forma relacional .
Y un caso no sql puede ser un videojuego online en que nos importe bastante el estado actual.

He trabajado con bases de datos de clientes y de producción e inventario donde las relaciones entre estas son fundamentales para conocer las preferencias y comportamientos de los consumidores y poder tomar acciones de mejora en la parte de producción, optimizando así los recursos y el stock.

Base de datos relacional: en el contexto de un hospital en donde se necesite registrar la llegada de pacientes, sus datos personales, apertura de historias clínicas, los médicos, las consultas médicas, horarios, las hospitalizaciones, las visitas de los médicos a hospitalización, los ingresos y egresos hospitalarios, fallecimientos, etc.
Una base de datos no relacional: aún no he visto suficientes ejemplos como para que se me ocurra a mí un caso de uso práctico, supongo que depende también del objetivo de uso que se le quiera dar a la información, además del flujo de la misma, y me gustaría tener más claro qué otras consideraciones se hacen para optar por esta. Me gustaría leer a alguien que haya trabajado con una y que le haya dado soluciones.

Buscando información encontré un video de Freddy explicando la diferencia de las bases de datos relacionales y las no relacionales. Me sirvió para entender un poco más sobre las no relacionales por lo tanto aquí les comparto el link :
¿Que es SQL y NoSQL?

un caso de uso profesional es uber. lo datos RDB son todos los datos que se pueden cuantificar. donde los analistas puedan sacar la informacion cruda a con vertirla en informacion que genere unas buenas proyecciones

Base de datos relacional: he usado postgresql y me ha servido principalmente para crear aplicaciones web debido a la forma en la que los datos podrian crecer es mas definida y ayuda en aplicaciones mas grandes con muchos datos almacenados.

Base de datos no relacionales: No las he usado aun pero en aplicaciones pequeñas especialmente moviles cre que podrian servir incluso en aplicaciones donde los escenarios al momento de almacenar datos no sea necesario cubrir todos los campos de un tabla pero que exista la posibilidad de que en otro escenario si sea necesario cubrir todos los campos incluso la necesidad de crear nuevos campos sin que afecten a los ya almacenados.

Reto


Caso de uso de base de datos realcional.
Empresa mayorista que distrubuye productos a empresas minoristas. Pueden ser de utilidad ya que es complejo que se sobre pase y alcance tan siquiera la cifra de un millón de datos a examinar.
Perfectamente se podría implementar para la exploración de datos en busca de patrones. En el aporte de informes de BI.

Perfectamente se puede usar postgres como manejador.

Caso de uso de bases de datos no relacionales.
Una startup que este en pleno crecimiento.
Requerirá de una base de datos no relacional ya que requiere que los miles y dependiendo de la exponencialidad de su crecimiento, tanto en clientes, ventas etc. Requiera de una base de datos que recepta inforamción en tiempo real.

Podría usarse bigquery, como firestrone.

Un caso de uso para una base de datos relacional puede ser un sistema de transacciones bancarias, porque las entidades y los flujos ya están definidos y la generación de datos ya está estructurado.

En cambio, un caso de uso en donde sería más adecuado usar una base de datos no relacional sería un sistema que guarde todo tipo de documentos personales (sería una BD NoSQL documental).

Ejemplo de uso de una BDT relacional. En la industria petrolera, donde se pueden relacionar los datos de un pozo, ya sea marino o terrestre y llevar el control de la construcción del pozo, datos de muestreo de rocas por profundidad, toma de información, compañías de servicio, rendimiento económico, operaciones de mantenimiento, producción acumulada, estadísticas, etc.

Para una base de datos relacional podemos poner como ejemplo un restaurante donde tenemos entidades como cliente, orden, platillo, dirección, etc. Se tiene un diagrama de clases completo y bien estructurado para llevar el control de lo que se pide.
Por otro lado, una No relacional puede ser el conocer el número de visitas de mi sitio web, ya que no me interesa que hizo el usuario o cuantas veces hizo o click o que descargas hizo, lo que yo quiero saber es en que momento se formaron esas masas de visitas al sitio esto para poder hacer la escalabilidad de mi DB.

Me gustaría hacer una BDR que contenga toda la información de los cursos que he aprobado en Platzi. Le añadiría información como curso, nombre del profesor, calificación que le di, calificación general, fecha de aprobación, a qué escuela pertenece, duración, cuanto tiempo invertí en ese curso, cuanto duran las clases, etc. De esta manera puedo llevar el control de cuánto he estudiado, sacar tendencias con respecto a las clases que más me han gustado y posiblemente descubrir a lo mejor algún path que me permita estudiar los cursos que más me satisfacen ya teniendo la información histórica.
Y en el caso donde un BDR no es la mejor solución, estuve viendo y no me daba cuenta de lo complejo que puede ser mantener la BD de amazon por ejemplo. Definitivamente esto sería un pain in the ass para las BDR ya que tener tantos productos, clientes, transacciones, etc. Haría todo más lento. Como dicen en el video, no tiene sentido buscar una solución que entre más grande seas, más lento te vuelves.

Les recomiendo este videito. Ofrece los servicios de AWS pero explican, no se si todos pero algunos, tipos de BDNR. Me ayudó bastante a entender su uso y como que me destapó la perspectiva XD

Relacional: En la mayoría de los gestores empresariales usan este tipo de base de datos para almacenar sus datos en el día a día.
Documentos: Podría ser un Raspberry Pi 3 que tenga sensores y que se estén guardando en una base de datos orientada a documentos, para después analizar la información en el lenguaje estadístico python.

🌵Una aplicación de bases de datos relacionales 🌿 es una base de datos relacionada con fertilizantes y otros insumos agricolas 🌾, sus costos proveedores e información extra que es la base para escoger que insumo es el apropiado para un proyecto agrícola. 🌻

Una BB.DD. R. puede ser en mi trabajo que tengo que buscar bugs antes de reportarlos para no encontrar duplicados.
Para un caso de una BB.DD. no R. se me ocurre que puede ser cuando guardamos un documento/archivo de nuestra preferencia para más adelante usarlo. Tal como el catálogo de Netflix o de Spotify, etc.

mi proyecto que me gustaria aplicar es un punto de venta.

Base de datos de proveedores (relacional), con sus respectivos servicios y productos ofrecidos y siento que para una base de datos de comentarios dentro de una web es mas funcional analizarla en un modelo por documentos.

A seguir aprendiendo

Para Bases de datos relacionales, puede ser para el almacenamiento tipo transaccional como: Sistema para Biblioteca, Banco,(Aplicaciones de escritorio, web, empresariales, moviles,)

Para No relacionales, puede ser quizá cuando queremos tomar información para medir la calidad de aire, compras online.

Les quedó video de sobra al final. De resto todo ok.

Los casos de uso más habituales para bases de datos relacionales incluyen aplicaciones móviles y web, aplicaciones empresariales y plataformas de juego online. Airbnb es un gran ejemplo de cliente que ha creado aplicaciones de gran escalabilidad

la tabla de datos relacional se podría usar para manejar datos de un almacén (productos, clientes, ventas…)

Las bases de datos relacionales podrían aplicarse a un sistema de calificaciones de una universidad. Donde se tiene la universidad misma, los programas, las asignaturas, las notas y los estudiantes. Una base de datos no relacional podría resolver de mejor forma, el uso y la capacidad de las aulas de la universidad, incluso para manejar mapas de calor de ello a fin de optimizar los espacios y la distribución de los mismos.

No soy científico de datos y llegue aquí por un curso de Django y ¡vaya! no se ahora con cual quedarme si me dedico a Django o a ciencias de datos. Ambas me gustan jajaja.

Data Staging

Las bases de datos No relacionales MongoDB basado en documentos o Cassandra basada en columnas

En un ERP, ya que la empresa depende fuertemente de procesos interactivos

Tengo un proyecto personal de administración de inventarios que incluyen inventario en almacén general, inventario en bar del restaurante, inventario de la cocina del restaurante, punto de venta y generar reportes de consumo de insumos diarios para la gerencia y se puedan solicitar su reposición al almacén general; para determinar el consumo diario se multiplica la venta del día por las recetas de cada producto vendido en el restaurante diariamente.

Información consistente

Usaría una base de datos relacionales para almacenar las vendas diarias de un almacén. el stock de productos, los productos que se agotaron, los pasivos en el mes… etc…

Actualmente no estoy familiarizado,pero me ha llamado la atención todos los usos que tiene.

Base de datos relacional: Llevar el control de piezas producidas en la industria automotriz, con el historico de pruebas exitosas y en que parte del proceso fueron desechadas. (Lo usaban donde trabajaba).

Base de datos no relacional: En un chat. Aunque desconozco mucho de este tipo de bases de datos usaría mongoDB por que es la que conozco.

Ventajas y desventajas

  • Provee herramientas que garantizan evitar la duplicidad de registros.

  • Garantiza la integridad referencial, así, al eliminar un registro elimina todos los registros relacionados dependientes.

  • Favorece la normalización por ser más comprensible y aplicable

¿Cómo funciona una base de datos relacional?
Una base de datos relacional es una recopilación de elementos de datos con relaciones predefinidas entre ellos. Estos elementos se organizan como un conjunto de tablas con columnas y filas. … Cada columna de una tabla guarda un determinado tipo de datos y un campo almacena el valor real de un atributo.

Contabilidad

Una base de datos relacional puede servir para guardar la información del inventario de la ubicación de los servidores de una empresa, así como las propiedades de cada computador, es decir modelo, rack, etc.

Una base de datos no relacional puede servir para guardar información de transacciones de compras electrónicas y el motor que utilizaría puede ser Memcached o Redis porque son en memoria, y por lo tanto el acceso a la información es casi instantáneo.

Un base relacional la utilizaría para un sistema que almacena información de una propiedad horizontal o conjunto cerrado.

Una base no relacional: puede ser una red social o un app movil de domicilios.

Caso de uso Base de Datos Relacional: Las calificaciones, asignaturas y profesores de una institución educativa, se pueden crear relaciones entre sí con elementos foráneos entre sus entidades.

Caso de uso Base de Datos No Relacional: Elementos jerárquicos, cómo un árbol genealógico, para representar la asociación de los descendientes directos e indirectos, cómo clave y valor en una estructura de datos de tipo árbol.

1️⃣Relacional: en una empresa de logística, donde se tiene rutas diarias, estas transacciones son alimentadas por otras tablas donde se alojarían los usuarios de la ruta, el conductor, la categoría de la ruta.

2️⃣No Relacional: una aplicación web que constantemente está actualizando sus estados, es decir lo que muestra en pantalla es dinámico. Estos datos de estado se necesitan puedan ser extraídos de manera rápida y no se necesita de gran persistencia ya que está en constante cambio.

En mi caso particular, en la empresa donde estoy actualmente trabajando como desarrollador tenemos varias aplicaciones donde el motor de base de datos es postgreSQL PERO como hay aplicaciones en donde la data es bastante amplia es decir y pongo ejemplo: para la carga de un préstamo se necesitan muchos datos de carga es decir en la interfaz, el usuario debe cargar en varias pestañas mucha información en cuanto a una solicitud(Beneficiario, destino, garantías, criterios, requisitos, etc etc) entonces para estos casos muy en particular creamos campos json o jsonb en postgres y guardamos el conjuntos de datos y eso facilita mucho porque en caso de un insert o update no es necesario crear campos o columnas sino más bien el objeto json es lo que se va actualizando.
Ahora en cuanto al uso de una base de datos no relacional me viene un caso como es twitter o facebook donde por segundo hay millones de interacciones en tiempo real.

No tengo experiencia en bases de datos pero imagino que cuando hay muchos datos siendo escritos en un segundo no es buena idea guardarlos en una RDB ya que se no se podrían consultar rápidamente para hacer una relación entre ellos.

Por otro lado si mi objetivo es hacer una análisis de datos exhaustivo, ver patrones y crear modelos de predicción probabilísticos, tener bien ordenados los datos sería ideal y ahí me puede ayudar más una RDB, aunque desconozco como relacionarían los datos las NO RDB para el machine learning por ejemplo.
Ciertamente es muy interesante todo este tema 🤔

Hola Compañeros, en los videos en la parte de marcadores, dejo un marcador público para que podais acceder al momento del video exacto donde se habla del tema en concreto, por si necesitáis repasar un concepto de la clase y no tener que ver el video entero hasta llegar al concepto que os interesa, así podreis optimizar el aprendizaje y tener atajos para repasar. Espero que os ayuden.

PD. Lo que escribo en los marcadores por algún motivo sale en el sistema de discusión, a veces no tienen mucho sentido, solo que sepan que son los marcadores no un aporte al sistema de discusión

Un saludo y nunca paren de aprender.