none
Como funcionan las base de datos de multiples usuario [Solucionado] RRS feed

  • Pregunta

  • Hoy tengo una duda muy general sobre como esta estructurados este tipo de base de datos.

    No sé como se les llame pero, cómo es que funcionan las base de datos que por ejemplo creas una cuenta y todas tus acciones son separadas del resto.

    Me explico.

    Digamos un programa de un calendario de actividades. 

    Creas un cuenta online y puedes programar que ciertos días del calendario registres una actividad por hacer, esta claro que si usas mucho esta aplicación estarás registrado muchas actividades y todo esto en una base de datos, solo se crea una tabla pero aquí va mi pregunta.

    ¿Y si el programa es para muchas personas, ¿como separas los datos?

    Lo que se me ocurre es que se crea una clave única por ejemplo basándote en el correo electrónico y en una sola tabla tienes a todas las personas que usan tu programa pero, ¿es buena forma hacer esto? ya que si el programa es muy famoso tendrás una tabla con miles y miles de registros, no estaría muy organizado desde mi punto de vista y para sacar la información no seria muy conveniente.

    Otra forma que pienso que podría ser es que se crea una base de datos por cada cuenta es decir, si un usuario se registra existiría una base de datos con todas la cuentas y de ahí se te manda la conexión especial para tu base de datos única, de esta forma no mezclas todos los usuarios, esta más ordenado y mas optimizado pero el problema que le veo es que tal vez pese un poco más por cada estructura y además en una futura actualización que se quiera agregar una nueva tabla a cada base de datos sería muy tardado.

    ¿Alguien sabe como funciona este tipo de base de datos?


    Lento pero seguro.




    • Editado Wipo viernes, 8 de marzo de 2019 22:22
    viernes, 8 de marzo de 2019 5:07

Respuestas

  • Hola Wipo:

    Tu duda se llama base de datos relacional. Vas muy acertado en como funcionan. Y pueden gestionar millones de registros, por tanto no es ese el/los problemas o dificultades, ya que se lleva trabajando en ellas mucho tiempo.

    Es seguro que todas las preguntas respuestas, que estamos digitando en este foro, como en muchos otros se apoyan en una base de datos, donde hay multitud de usuarios (más de 144000) y 184712 preguntas.

    Para obtener datos de un modo rápido, se utiliza el lenguaje de programación SQL, que todos los Sistemas de Gestión de Bases de Datos, utilizan y se obtienen las respuestas de un modo muy eficaz.

    Te pongo un enlace a un documento bastante explicativo, de como funcionan las bases de datos, y de los diferentes tipos.

    https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/bases-de-datos-relacionales/

    En cuanto a tú segunda opción, la de separar los datos, por "base de datos", con una conexión especial, no te lo recomiendo. Hace mucho tiempo, se utilizaba esa idéa y en general, se ha evolucionado hacia un modelo de "base de datos único".

    • Marcado como respuesta Wipo viernes, 8 de marzo de 2019 22:21
    viernes, 8 de marzo de 2019 5:28
  • Hola:

    En aplicaciónes, en servidores, se utiliza la forma desconectada.La aplicación, consulta unos datos, que se recogen en un objeto en capa cliente y se cierra la conexión.

    Cada vez que se consultan datos, ya sea insertar o actualizar, se crea una nueva conexión, y se cierra.

    Se usa el otro modo, por ejemplo cuando haces una aplicación, en tu propio equipo.

    • Marcado como respuesta Wipo viernes, 8 de marzo de 2019 22:22
    viernes, 8 de marzo de 2019 19:23
  • Hola Wipo:

    No creo que tengas un datagrid que muestre 100.000 filas, y que alguien las lea.

    Entiendo tú búsqueda, pero no es óptimo, eso esta bien para unos pocos registros de una tabla, pero poco más. Es mucho más sencillo, si con cada interacción buscas cambios, y si hay cambios, entonces vas a buscarlos.

    Los datagrid, no se deben de alimentar con los datos, sino con una colección, por ejemplo un dataTable a través de su propiedad DataSource.

    • Marcado como respuesta Wipo viernes, 8 de marzo de 2019 22:22
    viernes, 8 de marzo de 2019 21:04

Todas las respuestas

  • Hola Wipo:

    Tu duda se llama base de datos relacional. Vas muy acertado en como funcionan. Y pueden gestionar millones de registros, por tanto no es ese el/los problemas o dificultades, ya que se lleva trabajando en ellas mucho tiempo.

    Es seguro que todas las preguntas respuestas, que estamos digitando en este foro, como en muchos otros se apoyan en una base de datos, donde hay multitud de usuarios (más de 144000) y 184712 preguntas.

    Para obtener datos de un modo rápido, se utiliza el lenguaje de programación SQL, que todos los Sistemas de Gestión de Bases de Datos, utilizan y se obtienen las respuestas de un modo muy eficaz.

    Te pongo un enlace a un documento bastante explicativo, de como funcionan las bases de datos, y de los diferentes tipos.

    https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/bases-de-datos-relacionales/

    En cuanto a tú segunda opción, la de separar los datos, por "base de datos", con una conexión especial, no te lo recomiendo. Hace mucho tiempo, se utilizaba esa idéa y en general, se ha evolucionado hacia un modelo de "base de datos único".

    • Marcado como respuesta Wipo viernes, 8 de marzo de 2019 22:21
    viernes, 8 de marzo de 2019 5:28
  • Hola Wipo:

    Tu duda se llama base de datos relacional. Vas muy acertado en como funcionan. Y pueden gestionar millones de registros, por tanto no es ese el/los problemas o dificultades, ya que se lleva trabajando en ellas mucho tiempo.

    Es seguro que todas las preguntas respuestas, que estamos digitando en este foro, como en muchos otros se apoyan en una base de datos, donde hay multitud de usuarios (más de 144000) y 184712 preguntas.

    Para obtener datos de un modo rápido, se utiliza el lenguaje de programación SQL, que todos los Sistemas de Gestión de Bases de Datos, utilizan y se obtienen las respuestas de un modo muy eficaz.

    Te pongo un enlace a un documento bastante explicativo, de como funcionan las bases de datos, y de los diferentes tipos.

    https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/bases-de-datos-relacionales/

    En cuanto a tú segunda opción, la de separar los datos, por "base de datos", con una conexión especial, no te lo recomiendo. Hace mucho tiempo, se utilizaba esa idéa y en general, se ha evolucionado hacia un modelo de "base de datos único".

    Gracias por aclararme la duda pero ahora me ha surgido otras.

    Gracias por el link, lo e leído y ahora tengo algunas preguntas sobre la forma de conectar una base de datos.

    Existe 2 formas o por lo que encontré de conectarse a una base de datos.

    La forma desconectada que es por lo general usar un data set y se copia los datos.

    La forma conectado que es mantener activo la conexión

    ¿Con cuál conexión trabaja esta clase de base de datos?

    Por una parte si se usa la forma desconectada tiene el beneficio de no mantener muchas conexiones pero también se resalta que la desventaja de esta conexión es que no se mantiene los datos lo más actualizado.

    La forma conectada que si se mantiene los datos pero consume muchos recursos.

    Este foro como funciona, de forma conectado o desconectado (otra pegregunta que me surgió ya que sacaste el tema de este foro).


    Lento pero seguro.

    viernes, 8 de marzo de 2019 19:12
  • Hola:

    En aplicaciónes, en servidores, se utiliza la forma desconectada.La aplicación, consulta unos datos, que se recogen en un objeto en capa cliente y se cierra la conexión.

    Cada vez que se consultan datos, ya sea insertar o actualizar, se crea una nueva conexión, y se cierra.

    Se usa el otro modo, por ejemplo cuando haces una aplicación, en tu propio equipo.

    • Marcado como respuesta Wipo viernes, 8 de marzo de 2019 22:22
    viernes, 8 de marzo de 2019 19:23
  • Gracias por responder.

    Tengo otra duda sobre el mostrado de datos.

    De forma desconectada es más o menos fácil ya que se hace en automático, me refiero a que llenas el dataset, lo muestras en un datagrid y cuando agregas un registro lo haces por data Row y lo de aceptchanges y eso y el datagridview se le agrega solo la fila y lo hace rápido aún teniendo una tabla con 100,000 registros. Todo esto no he tenido inconvenientes.

    Pero de forma conectada no se se se pueda hacer lo mismo.

    Si se puede pero se tiene que volver a cargar toda la base de datos, si tienes pocos registros no hay problema ya que cargará pocos registros pero si son como 100,000 registros, tardara mucho en volver a mostrar los datos en el datagridview.

    ¿Hay una forma de cargar más rápido el datagridview en forma conectado?

    Por lo que he visto, access por ejemplo carga digamos de mil en mil registros y cuando se hace una búsqueda es necesario que cargue todo y luego busca.

    ¿Tendría que hacer un sistema como de esa magnitud?

    Por eso casi no quiero usar la forma conectada ya que me causaria muchos problemas pero tiene la cosa buena de que en una base de datos donde los usuarios aporten a un mismo fin, me refiero a registrar clientes (un ejemplo) y se hace modificaciones y eso, sería necesario la forma desconectada y mi inconveniente con esta forma de conectar la base de datos es la carga de los datos al datagridview y buscando en muchos lugares no doy con la solución.


    Lento pero seguro.

    viernes, 8 de marzo de 2019 20:32
  • Hola Wipo:

    No creo que tengas un datagrid que muestre 100.000 filas, y que alguien las lea.

    Entiendo tú búsqueda, pero no es óptimo, eso esta bien para unos pocos registros de una tabla, pero poco más. Es mucho más sencillo, si con cada interacción buscas cambios, y si hay cambios, entonces vas a buscarlos.

    Los datagrid, no se deben de alimentar con los datos, sino con una colección, por ejemplo un dataTable a través de su propiedad DataSource.

    • Marcado como respuesta Wipo viernes, 8 de marzo de 2019 22:22
    viernes, 8 de marzo de 2019 21:04
  • Gracias por la ayuda, creo ya estoy un poco más orientado, aunque me queda aún más por aprender.

    Gracias :D


    Lento pero seguro.

    viernes, 8 de marzo de 2019 22:21