Pregunta

Lo sé, base de datos relacional es una base de datos donde los campos de una tabla están ligando a las filas de los otros, algo como esto.

Pero no puedo entender lo que significa para mí como un desarrollador web!

Como sé, una consulta con uniones y anidado de selección puede reducir del perfomance (especialmente consultas al estilo de Drupal con docenas de combinaciones). Aún más, cualquier consulta a DB son los cuellos de botella, y entonces usted tiene una gran cantidad de usuarios que tiene que almacenar en caché todas las solicitudes de selección.

Si se hace una caché cada petición de selección, que es mejor para almacenar en caché peticiones simples, más que complicado. Puede o bien caché "seleccionar * de tbl1 donde id = 123" y "seleccionar * de TBL2 donde id = 456" o "seleccionar * de tbl1, TBL2 donde ...", pero si se elige la segunda manera, se le necesita para almacenar en caché todas las combinaciones de objetos -. no es simpático

Bien, ahora sólo usamos consultas muy simples como "SELECT * FROM tbl1 donde id = 123" del "SELECT ID de orden tbl1 por límite de Identificación del 0, 30" y almacenar en caché ellos (o podemos almacenar en caché sólo el primer tipo de consultas, lo que sea). Hay consultas y no menos INSERT simple, borrar y actualizar son todos lo que necesitamos y todo lo que usamos!

Como podemos ver, toda la lógica relacional son en el idioma principal de la aplicación, no en SQL. Así que, ¿por qué necesitamos todas estas cosas relacionales? ¿Qué quieren decir? ¿Qué tipo de "relacional" tiene lo que otros tipos no ha pero se necesita? Si no usamos características relacionales, ¿por qué todo el mundo todavía utilizan MySQL o cualquier base de datos relacional, incluso si él se preocupa por la perfomance de?

Este tipo de bases de datos se ha convertido en un estándar. ¿Por qué? No tengo ni idea. He casi nunca oído hablar de alguien usando la base de datos no relacionales, a excepción del encendido en GAE.

Me estoy perdiendo algo?

¿Fue útil?

Solución

Si usted quiere aprender acerca de lo que significa relacionales, recomiendo el libro " Teoría relacional " por CJ Date.

En este contexto relacional no se refiere a las relaciones. Se refiere a las relaciones que son básicamente lo que se denominan tablas en las teorías matemáticas que llevaron a la modelo relacional .

La razón de que las bases de datos relacionales se han vuelto omnipresentes es que son la solución más de uso general para la organización de los datos con redundancia mínima.

Hay razones válidas para utilizar soluciones no relacionales. A menudo se resuelven las tareas específicas de gestión de datos extremadamente bien, pero son débiles en otras áreas. Mientras que SQL y bases de datos relacionales llegar a un compromiso, la resolución de un conjunto más amplio de problemas de manera adecuada, con un menor número de áreas de debilidad.

Otras tecnologías disponibles en la actualidad que no se basan en el modelo relacional se enumeran en "La Bases de datos de próxima generación ".

Otros consejos

Estoy confundido por su pregunta. ¿Cómo si no se proponen realizar un seguimiento de cómo las diversas tablas se relacionan entre sí?

Por ejemplo, tengo una lista de los coches, y una lista de las personas, y tengo que conectar el cual persona es dueña de cada vehículo, así que tengo una columna en la base de datos car_id persona. ¿Cómo propondría hacer el seguimiento de estas relaciones

Además, se dice que desea almacenar en caché 'todas las consultas son los cuellos de botella' y sólo se quiere almacenar consultas 'simples'. Sin embargo, estoy 90% seguro de que hacer varias consultas pequeñas será más recursos que hacer varias consultas más pequeñas. También no tiene que almacenar en caché todas las combinaciones, sólo los que realmente existen. en mi ejemplo, ¿qué pasa con una consulta como esta?

SELECT person.*, car.* from person left join on car where person.car_ID = car.ID

Bases de datos relacionales se han convertido en la base de datos de facto para una serie de razones.

  1. Configuración de primaria, las limitaciones de extranjeros y únicas hace cumplir ciertas reglas de negocio en los niveles más bajos, ayuda a garantizar integrety de datos, y hace que las relaciones de bases de datos fácilmente comprensible para casi cualquier nivel de TI profesional.

  2. Una base de datos relacional diseñada adecuadamente es de hecho más rápido detrás de las escenas para muchos procesos (no todos).

  3. La consulta de base de datos relacional es bastante fácil de aprender y fácil de hacer.

  4. Bases de datos relacionales ayuda duplicación de datos límite, y desde el punto de vista de ingeniería de datos, que es una cosa maravillosa.

y muchos otros, pero estos son unos pocos.

Si usted no utiliza las relaciones, es necesario almacenar todo en una mesa gigante con numerosos número de columnas. O puede utilizar un cubo de datos (creo?)

Se permite normalizar sus datos y eliminar redanancy. En lugar de almacenar todos los datos en una tabla plana (como una hoja de cálculo Excel), se almacenan datos dispares en tablas separadas y luego se relacionan entre sí.

Por ejemplo, puede almacenar los usuarios en una tabla de usuarios y productos en una tabla Products y luego usar una tabla de relación para relacionar las cuales el usuario ordena qué productos.

  

Usuario A -> PRODUCTA

     

Usuario A -> ProductB

     

Usuario B -> PRODUCTA

     

UserC -> ProductB

Con los datos normalizados, es decir, si los datos cambian, sólo necesita ser actualizado en un solo lugar. Si un usuario cambia su nombre, sólo que los cambios de registro de usuario. Si el precio del producto tiene que ser levantado, sólo que los cambios en el registro del producto. Usted no tiene que buscar en su mesa plana en busca de datos duplicados para reemplazar.

Valia, si no se añadirán los datos de su aplicación a, actualizada o eliminada, a continuación, una memoria caché es la manera más rápida para buscar y mostrarlo. Tengo curiosidad por saber lo que estos datos es que todo el mundo está en un apuro por ver, pero no va a ser la actualización? Tal vez algunos detalles ayudarían. Conozco a alguien que almacena toda su base de datos en la memoria con una memoria caché de escritura simultánea, y sí, en avión! Él es el único desarrollador que conozco que podría sacar esto adelante. Tal vez necesita reinventar el motor de cohete, y tal vez no lo hace.

Relación es la palabra matemática para la tabla. Las columnas son en relación unos con otros, de otro modo que no estaban en la misma tabla.

Por ejemplo, dos números son en relación unos con otros si difieren un múltiplo de 3. Vamos a escribir algunos de ellos hacia abajo: (0,0), (1,4), (2, -1), etc . se ve una colección de filas aparecer, que es una tabla.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top