Está en la página 1de 13

UNIVERSIDAD DE EL SALVADOR FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE DEPARTAMENTO DE INGENIERIA Y ARQUITECTURA

TECNICAS DE PROGRAMACION EN INTERNET MODELADO DE LA BASE DE DATOS, PROYECTO RED SOCIAL

DOCENTE: ING. RICARDO AYALA

INTEGRANTES: 1. 2. 3. GRIJALVA GONZALEZ, JOSE CARLOS LOPEZ JIMENEZ, MAYNOR GABIRIEL IBARRA BONILLA, LUIS ARMANDO

FECHA DE ENTREGA: 20 DE MARZO DEL 2012

INDICE

Introduccin 1 ... Objetivos 2 Marco Terico.. 3

Conclusiones 4 Bibliografa 5 ..

INTRODUCCION Al realizar el diseo de cualquier proyecto de un sistema de software que maneje una gran cantidad de datos y registros de los mismos, es importante; y mas que importante se hace vitalmente necesario el buen diseo de una base de datos, la cual ser el sistema de almacenamiento principal de los datos que el programa manejar. Es por eso que al disear una red social, por muy pequea que esta sea no se debe de descuidar ningn detalle si queremos que nuestra base y por ende nuestro sistema funcione al cien por ciento como lo hemos planeado; ya que en esta clase de sistemas los usuarios almacenan sus datos personales, datos de amigos, imgenes, etc. Lo que hace necesario una buena gestin y almacenamiento de los datos en la base. Tomando en cuenta lo anterior mencionado, hemos creado un diseo que se adapta a las necesidades que requiere una red social a escala pequea.

OBJETIVOS
1.

Conocer el funcionamiento de la programacin web utilizando para ello, la plataforma J2EE de java y de esta, la parte de java server pages (jsp) ,servlets, y javabeans.

2.

Conocer el funcionamiento de servidores y alojadores web (Glasfish, Apache Tomcat ).

3.

Aprender funcionalmente acerca de las conexiones con datos desde java utilizando para ello el patrn de diseo MVC para anidar la aplicacin web con base de datos.

4.

Conocer el funcionamiento de PostreSQl como gestor de base de datos de nuestra aplicacin.

5.

Conocer las ventajas y desventajas del gestor PostgreSQl y su funcionamiento con JDBC para conexiones con java.

6.

Aprender a modelar y disear una base de datos relacional para una red social bsica a manera educativa.

Por qu PostgreSQL? En los ltimos aos en muchos foros web y en mltiples paginas hemos visto que se habr una discusin entre desarrolladores de software, acerca de cuales gestores de bases de datos utilizar para la tenedura, seguridad y buena integridad de los datos que se almacenan y que son necesarios manejar en los proyectos de software, casi la mayora de personas opta por tomar el camino del software libre , en contrario del software comercial, en el caso de aplicaciones estndar y web la mayora de personas utiliza en su mayora SQL server exprs en las aplicaciones .NET para Windows en todas sus distribuciones, mientras que en las aplicaciones java y linux se opta por usar el MySQL, postgreSQL, y en los ltimos aos la incursin de las bases de datos con integridad portable con el SQlite. En la mayora de los casos, ya sean en ambiente web y/o en ambiente de aplicaciones de escritorio, la diferencia entre magnitud no diferente por los usuarios de estas; En nuestra aplicacin usaremos PostgreSQL como gestor de nuestra base de datos por las siguientes caractersticas, que lo distinguen como una potencia en cuanto a integridad de datos se refiere: 1. Atomicidad (Indivisible):la propiedad que asegura que la operacin se ha realizado o no, y por lo tanto ante un fallo del sistema no puede quedar a medias. usar indistintamente uno u otro gestor de base de datos es apreciada en

2.

Consistencia es la propiedad que asegura que slo se empieza aquello que se puede acabar. Por lo tanto se ejecutan aquellas operaciones que no van a romper la reglas y directrices de integridad de la base de datos.

3.

Aislamiento: es la propiedad que asegura que una operacin no puede afectar a otras. Esto asegura que dos transacciones sobre la misma informacin nunca generarn ningn tipo de error.

4.

Durabilidad; es la propiedad que asegura que una vez realizada la operacin, sta persistir y no se podr deshacer aunque falle el sistema.

1.

Corre en casi todos los principales sistemas operativos: Linux, Unix, BSDs, Mac OS, Beos, Windows, etc. Altamente adaptable a las necesidades del cliente. Soporte nativo para los lenguajes ms populares del medio: PHP, C, C++, Perl, Python, etc. Drivers: ODBC, JDBC, .Net, etc. Soporte de todas las caractersticas storeprocedures, de una base dedatos profesional (triggers, funciones, secuencias,

2.
3.

4.

5.

relaciones, reglas, tipos de datos definidos por usuarios, vistas, vistas materializadas, etc.). 6. 7. 8. 9. 10. 11. Soporte de tipos de datos de SQL92 y SQL99. Soporte de protocolo de comunicacin encriptado por SSL Utilidades para limpieza de la base de datos Utilidades para anlisis y optimizacin de Querys. Almacenaje especial para tipos de datos grandes (TOAST). Clusterizacin de datos en base a ndices (si es data esttica)

El mejor OS para correr PostgreSQL es *BSD y Unix, por su sistema dinmico de I/O (mas eficiente que en otros OS). Otras caractersticas

1. 2. 3. 4.

Probado con torres de discos duros de alta disponibilidad. Pg_buffercache, permite ejecutar querys en cache de Pgsql. Aplicativos especficos para hacer tunning del servidor. Aplicativos de comparacin de bases de datos para testear replicaciones

El manejo de nuestra base de datos asi como el diseo grafico de esta, las relaciones, querys y dems peracionespaa testear la base de datos previa prevista en este documento se realizara desde el manejador de base de datos en PostgreSQl: el pgAdminIII, en el cual no ahondaremos, en esta ocasin pues esta dems, entrega de anteproyecto. Por qu crear una red social? Como hemos visto a medida que surgen las redes sociales, las maneras de marketing y comunicacin han avanzado grandemente y muy bajos costos sin decir que nos brinda una buena manera de compartir y socializar con tus familiares y amigos sin contar que podemos conocer personas de otros pases. Sin dudas las redes sociales han venido a revolucionar las maneras de comunicacin entre personas y las empresas han aprovechado esto para promocionarse y darse publicidad de manera que esta seguro que muchas personas vern eso y conocern nuevas empresas. En cuanto a una universidad podemos utilizarlo para promocionar informacin a los estudiantes, referente a los cursos sin decir que estos podrn socializar de una manera directa solo con estudiantes de la facultad o facultades de la misma universidad. Componentes bsicos de una red social para lo que es el contenido de la presente

Es mas que necesario saber esto pues a partir de ellos podemos modelar la base de datos para dicha red social, entre estos tenemos: 1. Usuario: se refiere a la persona que har uso de una cuenta o perfil de la red social. 2. Contrasea: esta define la forma de seguridad para que cada usuario pueda acceder a su cuenta y que su informacin personal privada siga siendo privada. 3. Amigos: este dato define la lista de referencias a los perfiles de las personas a las que se han agregado. 4. Comentarios: se refiere a los bloques de texto que se comparten con los amigos.
5.

Mensajes privados: son todas las conversaciones personales que se desea tener con los distintos usuarios de la red social sin que dichas conversaciones puedan ser vistas por los dems usuarios que no estn dentro de la pltica.

Relacionando estos datos y otros no mencionados tenemos el siguiente diagrama:

Este diagrama contiene basicamente lo que a esta primera entrega corresponde con el diagrama entidad relacion de las tablas y campos que basicamente necesitaremos , a continuacion desglozaremos cada una de ellas para entender el porque del presente diseo preliminar.

La entidad usuario Desde el momento de pensar en una base de datos relacional donde se sabe interactuaran usuarios de diferentes personalidades se sabe, que el repositorio de datos deber de contener la informacin personal de todos los usuarios que harn uso de la red social en este caso. Campos entidad usuario:

Al hablar de base de datos relacional, tablas y tuplas tenemos que pensar en campos y propiedades en nuestro caso tendremos entidades que se relacionaran unas con otras mediante el uso adecuado de los controladores de datos y el modelado de los mismos, por lo tanto al comenzar con una relacin Usuario, tenemos que definir sus campos o propiedades, a los cual haremos referencia en el momento de que nuestra aplicacin este corriendo, dichos campos y su funcin son los siguientes: IdUsuario: Se refiere al nmero nico de identidad que har referencia a cada usuario, este nmero ser incrementado de forma automtica para no tener problemas, de hacerlo con cdigo, evitndonos as redundancia, este campo, contiene la llave primaria de esta tabla y es un numero nico para cada usuario, no podr existir otro nmero igual a este por lo tanto este es una de las propiedades que definir bsicamente al usuario como tal. Nombres: se refiere a la cadena de texto que identifica a cada persona, el nombre tendr el tipo varchar, y la longitud de la cadena ser de 140 caracteres para poder abarcar nombres de larga extensin, cabe destacar que se escoge este tipo porque el registro de alguna persona, puede ser tanto un nombre con caracteres, as como tambin uno con smbolos, caracteres y letras especiales. Apellidos: este campo tendr un uso similar al nombre, pero con la

diferencia que este contendr los apellidos o lastname, de la persona que se registre y sea parte de la red, el porque no solo dejamos el campo de nombre como nico y escribir el nombre completo de nombre y apellido ah mismo es por, la razn de que en cualquier red social se puede realizar una bsqueda aproximada de alguna persona, ya sea por nombre, asi como tambin por el apellido de la misma. Correo electrnico: este campo corresponde al email de cada persona este ser nico para cada usuario, lo que garantiza de que un usuario de

correo electrnico nico tendr una nica cuenta en la red. Y si desea crear una nueva cuenta con ese mismo correo electrnico no podr hacerlo, tendr que crear otro correo electrnico y por lo tanto otra nueva cuenta en la red. FechaNac: este campo contendr la fecha de nacimiento de la persona que desee registrarse en la red, dado este campo, se calculara en base a cdigo la edad de la persona para ser mostrada posteriormente en el caso que sea requerida , cabe destacar que esta propiedad es del tipo date la cual contiene un formato DD/MM/AAAA. La entidad Idcontacto Esta relacin contendr como funcin principal en el sistema, la de ser la base fundamental de la creacin de este, pues no se podr hacer uso de una red-social sin el uso de amigos o contactos as denominados. Campos entidad Contacto: Idcontacto: este campo contendr la clave nica para cada contacto la cual corresponder a muchas claves de idusuario, esto se hace de esta forma pues, un usuario podr contener muchos amigos o contactos y muchos contactos pueden pertenecer a un solo usuario nico en este caso, se realiza una relacin de la tabla usuario ala tabla contactos por medio de idusuarios siendo este la llave fornea de la entidad usuario teniendo la relacin uno a muchos respectivamente. Idusuario: este campo corresponde a la llave fornea de esta tabla la cual ya se ha explicado anteriormente en la entidad usuario, la utilidad que le corresponde, y que en esta entidad tiene la utilidad de referenciar la relacin uno a muchos que existe entre la entidad usuario y la entidad contacto.

NombreContacto: Corresponde al nombre de todos los usuarios que estn categorizados como contactos de una cuenta de usuario. ApellidoContacto: Corresponde al apellido de todos los usuarios que estn categorizados como contactos de una cuenta de usuario. EmailContacto: Corresponde al correo electrnico de todos los usuarios que estn categorizados como contactos de una cuenta de usuario. La entidad FotoPerfil Es mas que necesario poder vincular a los usuarios a travs de fotos para que cuando se quiera identificar a alguien podamos hacerlo por algo mas que solo sus datos personales. Campos de la entidad: idFotoPerfil: Es un numero entero con el que se pretende identificar cada una de las fotos subidas procurando que estas no se confundan con otras por lo que todos estos identificadores deben no repetirse haciendo que este campo sea una llave principal. idUsuario: Este nos da la referencia hacia un perfil de usuario siendo esta una llave fornea encargada de vincular una foto hacia una cuenta de usuario. Nombre_foto: En esta cadena se almacenara el nombre que se le dar a una foto en cuestin. La entidad Mensaje Como en toda red social es necesario poder comunicarnos con nuestros contactos a travs de mensajes privado para esto ocuparemos esta entidad. Fecha_hora: Nuestra llave primaria pues debemos asegurarnos que no halla anomalas en la entidad no deben repetirse estos dato para lo cual

almacenamos la fecha en que se envo un mensaje almacenando este dato en una variable datetime. Idusuario: Es nuestra llave fornea que se encarga de relacionar un mensaje con el usuario que envo dicho mensaje. Idcontacto: Es nuestra llave fornea que se encarga de relacionar un mensaje con el contacto que recibi dicho mensaje. Mensaje: Es el bloque de texto que almacena el mensaje en cuestin mediante un tipo de datos llamado meduimtext.

También podría gustarte