elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Sobre el diseño de una DB
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Sobre el diseño de una DB  (Leído 2,667 veces)
Gogeto

Desconectado Desconectado

Mensajes: 48


Ver Perfil
Sobre el diseño de una DB
« en: 16 Julio 2011, 04:59 am »

Hola.

Estoy diseñando una DB para una especie de CMS desde 0 que quiero hacer (por favor, no me sugirais utilizar un CMS ya creado, estoy haciendo esto además de para utilizarlo para aprender programacion PHP, javascript y sobre el diseño y mantenimiento de DBs) y se me plantea una duda:

En caso de contenidos similares (por ejemplo; la ficha de una película y de una serie, en las cuales en una hipotética tabla tendrian el mismo dominio en todos los atributos); es mejor crear una única tabla "PelisySeries", añadiendo un campo que diga si es película o serie o dos tablas, "películas" y "series".

Las consultas serían, en caso de una búsqueda por el usuario tanto pedir una lista de películas o una de series como dos listas, una de cada.

En términos de rendimiento, que consume menos recursos del sistema (con recursos no me refiero a espacio en el HDD, sino en RAM y procesador):
-Consultar una tabla de peliculasyseries en busca de películas o series (es un o exclusivo)
frente a:
-Consultar en una tabla de películas O (exclusivo) en una de series en busca del contenido de su tipo.
En el caso anterior supongo que la segunda, debido a que la tabla es más pequeña; pero en el siguiente caso:
-Consultar una tabla de peliculasyseries en busca de películas y series
frente a:
-Consultar en una tabla de series las series y seguidamente en una tabla de películas las películas.

En ambos casos la búsqueda puede tener diferentes parámetros y tal, pero con resolver esta conslta creo que casi todas las dudas con el diseño básico de la DB estaran contestadas, a falta de que surjan futuras dudas.


En resumen mi duda podria resumnirse en algo como:
"En bases de datos con tablas de más de 200.000 filas, es rentable en términos de rendimiento dividir las tablas según un atributo (en este caso tipo_contenido) a cuyo dominio solo pertenecen 3 o 4 valores (por ej: pelis,series,juegos) en tablas diferentes? Ahorra tiempo la reduccion del número total de elementos a buscar frente al acceso a multiples tablas?)"

O sería mejor utilizar una vista? Que hace MySQL para mantener actualizada una vista; modificarla cada vez que se modifica la tabla origen o "crearse" por cada consulta que el usuario realiza?Es decir, si yo modifico una tabla apuntada por una vista y antes de que nadie más modifique la tabla 20 usuarios acceden a la vista; esta consumirá recursos para actualizarse 20 veces o solo 1?


Pregunta 2: Para almacenar mensajes privados que NO deben desaparecer del outbox del usuario que lo envia en caso de que el usuario que los recibe los elimine se me ocurren 2 cosas:
La peor: Guardar 2 veces el mensage, una en el inbox y otra en el outbox del usuario.

La que según creo es la mejor: Crear 1 sola version del mensage, con sender_id;  msg_id y reciever_id. Crear tablas inbox y outbox que contengan msg_id; y a la hora de listar compruebe el out/inbox. Cuando NI el outbox NI el inbox listen un mensage, este podrá (o no, segun intereses) ser eliminado del sistema


« Última modificación: 16 Julio 2011, 07:16 am por Gogeto » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda Sobre Patrones de Diseño
Programación General
L0n3l1eR 1 3,076 Último mensaje 13 Octubre 2011, 01:51 am
por kmikze120
Consulta sobre diseno de red
Redes
ronnycix 2 3,270 Último mensaje 28 Enero 2013, 11:30 am
por pizar
Observaciones sobre el diseño de mi app
.NET (C#, VB.NET, ASP)
Eleкtro 2 2,206 Último mensaje 31 Diciembre 2012, 21:40 pm
por jdc
Sobre patrón de diseño abstract
Java
zonahurbana 6 3,744 Último mensaje 22 Octubre 2013, 20:44 pm
por zonahurbana
sobre diseño
Diseño Gráfico
cotin 5 17,637 Último mensaje 18 Julio 2016, 14:54 pm
por Darioxhcx
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines