| |||
como funciona facebook? Hola, hoy he leido un http://www.forosdelweb.com/f86/numero-maximo-talas-mysql-894390 tema en el que se decian que Facebook no utiliza una tabla por cada usuario para almacenar comentarios, fotos, datos..(una tabla por cada uno) y yo quisiera saber como lo hace utilizando el modelo entidad-relacion. |
| ||||
Respuesta: como funciona facebook? Empieza por plantearte ejemplos sencillos, ponte en casos reales y analízalos. Pongamos que quieres una base de datos para los profesores de una escuela y quieres saber las materias que imparten. Con éste enunciado te puedes imaginar que se generarán 2 tablas: profesor y materia. Tabla: Profesor Campos: id, nombre, poblacion... Tabla: Materia Campos: id, nombre, duracion... Ahora debes establecer la relación que hay entre estas dos tablas. Debes hacerte dos preguntas. La primera: ¿cuántos profesores pueden impartir UNA MISMA materia? Sabemos que la materia de matemáticas o lengua o historia, se da en varios cursos, por lo tanto es lógico que haya varios profesores de una misma materia. Respuesta: varios. Segunda y última pregunta, la misma pero al revés: ¿cuántas materias pueden ser impartidas por UN MISMO profesor? Sabemos que en algunos casos, sobretodo en primaria y ESO, hay profesores que imparten más de una materia, por ejemplo un tutor de un curso puede impartir las materias de Tutoría, Lengua, y Literatura. Respuesta: varios. Ahora viene la teoría: si la respuesta a ambas preguntas es "varios", se tiene que crear otra tabla que relacione las 2. Así pues, crearíamos una tercera tabla llamada imparte, por ejemplo. Tabla: Imparte Campos: id_profesor, id_materia... Las tablas que se usan como relación sólo necesitan conectar las 2 tablas entre ellas, para ello usamos los ID de cada tabla, ya que son únicos. Si consultáramos los datos quedaría algo así: Profesores: (1, Javier Ibarra, Zaragoza) (2, Arianna Puello, Girona) ... Materias: (1, Matemáticas, 60min) (2, Historia, 90min) (3, Tutoría, 30min) ... Imparte: (1, 2) <--- Javier Ibarra (ID USUARIO 1) imparte Historia (ID MATERIA 2) (1, 3) <--- Javier Ibarra (ID USUARIO 1) imparte Tutoría (ID MATERIA 3) (2, 1) <--- Arianna Puello (ID USUARIO 2) imparte Matemáticas (ID MATERIA 1) Etc etc etc etc... El funcionamiento es siempre el mismo, claro que hay muchas variantes y complicaciones (podríamos añadir los campos "curso" y "fecha" a la tabla "imparte", y tendríamos un control de los días que se imparte una materia, a qué curso, y qué profesor la ha impartido...). También hay tablas que se relacionan con ellas mismas, relaciones entre 3 tablas, relaciones fuertes-debiles, los tipos de relación (varios-varios, varios-uno, uno-uno...). Hay muuuucha información, te recomiendo que busques por google, empieza por este artículo de Wikipedia. Saludos y espero que te haya servido de algo Última edición por Kamae; 18/03/2011 a las 07:16 |
Etiquetas: |