Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Eavesdropping en 25 Abril 2012, 23:27 pm



Título: Estructura db MySQL
Publicado por: Eavesdropping en 25 Abril 2012, 23:27 pm
Buenas, estoy haciendo una web de pelis y tengo que montar una base de datos. He hecho el planteamiento teórico a papel y lápiz, y antes de empezar a rellenar me gustaría que me den su opinión. A continuación les expongo las tablas que tengo pensado hacer:

Series : id (autoincremento), id_video, title_ep (título episodio), n_ep (nº episodio)
Peliculas : id (autoincremento), id_video, title_mo (título película)
Documentales : id (autoincremento), id_video, title_do (título documental)
ProgramasTV : id (autoincremento), id_video, title_pr (título programaTV)
Fuente : id (autoincremento), id_video, origin (fuente del video)
Descripciones : id (autoincremento), id_video, desc (descripcion del video)
Links : id (autoincremento), id_video, link (link que apunta al video)

y me da por poner una de temporadas : id (autoincremento), id_video, n_sea (número temporada)

La idea es que "id_video" se autoincremente a medida que voy insertando para enumerar todos los videos sin discriminación (serie, pelicula, documental, programaTV...), para por ejemplo sacar en portada lo más nuevo. Ej:

Inserto una serie y se queda con id_video = 1, a continuación realizo una insercción de una película y se graba con id_video =2, habiendo escrito en dos tablas distintas pero siguiendo el autoincremento de id_video. ¿Está bien el esquema de relaciones? ¿Es viable todo esto?


Título: Re: Estructura db MySQL
Publicado por: HdM en 26 Abril 2012, 15:22 pm
Buenas.

Modificaciones que yo haría a tu diseño de la bd:

*Con respecto al campo de autoincremento "id_video", ¿su finalidad es sólo para el tema de control de novedades ? ¿no sería mejor que en las tablas que almacenan series, películas,... en fin todo el material, añadieses un campo de fecha por ej. "fecha_upload", que guarde la fecha en la que subes el material y así a la hora de mostrar lo más nuevo, simplemente ordenando por este campo, ya se sabe qué es lo más reciente. Podrías de este modo mostrar lo nuevo por categorías de material y controlando la fecha/tiempo que llevan online.

*En las tablas de material añadir un campo de descripción o sinopsis (de modo que no utilizaría la tabla Descripciones), que permita al usuario ver un poco de qué va el tema.

*Podrías crearte una tabla "Genero" (id,nombre) que guarde la temática del material que vas subiendo (terror, thriller...) y que esté referenciada (clave ajena) en las tablas de material. Así tienes otra forma más de categorizar.

*De la tabla "Series", dejaría sólo la info. principal (id,nombre) y crearía una tabla "Capitulos" (id,nombre,...,id_serie) que almacene la info. concerniente a cada capítulo y que tenga un campo que actúe como clave ajena, apuntando a la tabla de "Series". Esto igual lo podrías aplicar también a la tabla de ProgramasTV.

Saludos.