Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES ARAGÓN “ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE INFORMACIÓN PARA EL PROGRAMA INSTITUCIONAL DE TUTORÍAS PRONABES-UNAM” T E S I S QUE PARA OBTENER EL TITULO DE : I N G E N I E R O E N C O M P U T A C I O N P R E S E N T A N : M A R I S O L M A T A G U T I É R R E Z A R T U R O V A R G A S T R I U J E Q U E ASESOR : ING. ENRIQUE GARCÍA GÚZMAN MEXICO, D.F. 2008 Neevia docConverter 5.1 UNAM – Dirección General de Bibliotecas Tesis Digitales Restricciones de uso DERECHOS RESERVADOS © PROHIBIDA SU REPRODUCCIÓN TOTAL O PARCIAL Todo el material contenido en esta tesis esta protegido por la Ley Federal del Derecho de Autor (LFDA) de los Estados Unidos Mexicanos (México). El uso de imágenes, fragmentos de videos, y demás material que sea objeto de protección de los derechos de autor, será exclusivamente para fines educativos e informativos y deberá citar la fuente donde la obtuvo mencionando el autor o autores. Cualquier uso distinto como el lucro, reproducción, edición o modificación, será perseguido y sancionado por el respectivo titular de los Derechos de Autor. DEDICATORIAS Y AGRADECIMIENTOS Gracias a Dios por guiarme y darme fuerzas, ayudarme, cuidarme a lo largo de mi vida, por estar siempre conmigo y no dejarme sola en los momentos más importantes y difíciles, por estar viviendo esta experiencia maravillosa con mis seres queridos. A ti mamá por darme la vida y haberme dado el privilegio de ser tu hija, por cuidarme, educarme, amarme y brindarme tu vida entera, por luchar hasta el cansancio conmigo y para mí, por lo que soy en estos momentos gracias a tus consejos y amor, así como los grandes valores que me inculcaste y darme lo mejor de la vida “mis estudios”. Pero sobre todo porque eres una mujer excepcional y admirable, nada te detuvo para hacerme inmensamente feliz y formar a la mujer que hoy soy. Eres mi mayor motivo e inspiración A ti abuelita Luz Ma me brindaste amor y apoyo siempre, e inculcaste en mi sentimientos, valores y principios muy importantes, por saberme educar desde niña y darme inmensas fuerzas para luchar y seguir adelante, me quisiste y me cuidaste como una hija fuiste una gran mujer admirable. Gracias por eso y más, por dejar en mí una gran lección de vida y de lucha por siempre. A Jesús, Rosa, Juan, Alejandro, Carlos y Doreley por ser como mis hermanos por aconsejarme y ser especiales en mi vida. Hermanos de ustedes y de sus familias he aprendido mucho he sabido tomar lo mejor de cada uno para ser cada día mejor persona, por quererme y tratarme como una hermana más, los quiero. Neevia docConverter 5.1 A mi Familia por quererme y estar conmigo porque siempre me han apoyado en las buenas y en las malas, porque son parte de mi inspiración a seguir adelante y se que estarán conmigo siempre. A ti Papá has dejado en mi grandes lecciones y experiencias de la vida, a la cual debo mi madurez desde niña y la lucha incansable por salir adelante, me diste la vida y te lo agradezco. A ti padrino Andrés Terrones por creer en mí y brindarme, consejos, ánimos, siempre tuve tu apoyo y me ayudaste cuando te necesite desde el inicio de mis estudios y aportaste mucho en mí. A Guillermo Fuentes por ser una personita muy especial en mi vida, por estar conmigo en estos momentos y animarme a seguir adelante en lo que a veces pensé que seria muy difícil e imposible, me escuchaste y me apoyaste en todo este proceso aportaste para que este sueño se hiciera realidad pronto, sé que cuento contigo y que este es el inicio de tantos momentos juntos por vivir, te quiero. A ti Arturo Vargas gracias por tu amistad por demostrarme que eres mi gran y único amigo, porque siempre has estado ahí compartiendo momentos y experiencias lindas y difíciles de mi vida desde que tuve la dicha de conocerte. A M. en Ing. Fernando De Lorenz Santos muchas gracias por tu apoyo y consejos, además de tu gran amistad, eres una gran persona sin ti de verdad que no se que hubiéramos hecho, por tu ética y dedicación que nos brindaste en todo momento ya que sin tu ayuda no se hubiese culminado este sueño. Por creer en este proyecto, en mí y Arturo, fuiste el único que se aventó el paquete de guiarnos, aconsejarnos y apoyarnos para culminar esta ilusión como si hubieses sido nuestro asesor. Gracias por tener el privilegio de ser tu amiga y por haber compartido tu gran experiencia y conocimiento. Neevia docConverter 5.1 A Ing. Enrique García Guzmán, por haber sido uno de mis grandes amigos y compartir pocos pero muy significativos momentos a tu lado en las que me dejaste experiencias importantes, por animarme e iniciar este proyecto con nosotros ya que en un inicio estuviste al pendiente en todo, por tus palabras y consejos. A Mary Carmen y Ma. Eugenia Palma, por la amistad el cariño y consejos que me han otorgado, permitirme entrar a su casa y compartir con ustedes momentos difíciles y agradables de mi vida y creer en mí. Son grandes mujeres que me han demostrado ser verdaderas amigas. A Ing. Roberto Márquez Becerril, que te puedo decir de verdad que estoy muy agradecida contigo por todo Márquez!!!, sí por todo lo que me has brindado durante estos años, desde que inicie la carrera apareciste, siempre estuviste ahí en todo y con todo, me aconsejaste apoyándome y ayudándome me demostraste la gran persona e ingeniero que eres, sobre todo cuando en aquel entonces me tratabas y me hacías sentir ya un Ingeniera aunque me faltaran aun pruebas por superar así como demostrándome y compartiendo conmigo tu experiencia y tu conocimiento que para mi siempre han sido muy significativos me alentaste a seguirle y no flaquear por nada ni por nadie, eres un gran amigo. A ti Ing. Ángel Sánchez Reyes, por tu amistad porque me has demostrado que eres muy luchón para todo y en todo he aprendido de ti, compartiste tus conocimientos conmigo y me aportaron mucho gracias por tu apoyo y cariño. A ti Alfonso Miguel, me impulsaste mucho y me motivaste a estudiar Ing. en Computación, decías que pintaba para Ingeniera y hoy aquí me ves, hoy se que fue un muy acertada opinión, gracias. Compartiste conmigo muchas experiencias escolares y personales maravillosas que dejaron huella y me aportaron en el transcurso de mis estudios y mi vida personal siempre supiste escucharme y apoyarme en momentos dificilísimos, nunca lo olvidare. Neevia docConverter 5.1 A todas las personas que siempre han estado conmigo a lo largo de mis estudios al pendiente de mí y que han estado y formado parte de mi vida en todo momento. Familiares y Amigos……gracias por todo A nuestros Revisores Mat. Luis Ramírez, Ing. Roberto Blanco, Ing. Enrique García Guzmán, M. en C. Marcelo Pérez Medel y M. en Ing. Fernando de Jesús De Lorenz Santos, por su apoyo. A ti Ing. Arturo Vargas Triujeque fuiste el único que se quiso aventar al ruedo en tantas ilusiones y metas que creíamos lejanas e imposibles por que juntos con esfuerzo y dedicación luchamos para realizar este sueño, por todos los momentos que hemos compartido a lo largo de la carrera por lo que hemos realizado hasta hoy y he aprendido de ti y por la dicha de seguir compartiendo y adquiriendo experiencias laborales a tu lado. Ing. Marisol Mata Gutiérrez supiste salir adelante, enfrentaste muchos obstáculos y retos pero siempre con esfuerzo y dedicación saliste adelante sin importar cuanto pueda costar. Este es el comienzo de tantos sueños por cumplir quehoy sabes que no son difíciles de realizar. MARISOL MATA GUTIÉRREZ. Neevia docConverter 5.1 A mis Padres Lilia Triujeque y Arturo Vargas por su amor, cariño, paciencia, comprensión, consejos y mucho más que me han brindado durante toda mi vida. A mi hermana Liliana Vargas por su cariño, sus locuras que me hacen reir y su apoyo moral. A mis abuelos Angela Sarabia y Alfredo Triujeque, que son mis segundos padres, por su amor y su apoyo durante toda mi carrera. A mi tía Paty Triujeque y mi tío Ricardo Ocaño por su gran apoyo que me brindaron en toda mi carrera. A mi tía Isabel Triujeque y mi tío Alfonso Ascencio por su cariño y apoyo que me otorgaron. A mi tía Maribel Pasarán y mi tío Oscar Villareal por que siempre estuvieron al pendiente de mi desarrollo como profesionista. A mi tío Hilario Vargas y mi tía Gloria Mendoza por todo su apoyo. A mi tía Pilar Vargas por su ayuda que me brindó. A mis tías Ofe y mi tío Francisco Pasaran por que siempre me apoyaron. A mi mejor amiga Marisol Mata por estar conmigo en los momentos alegres y difíciles de mi carrera y a su familia por abrirme las puertas de su casa. A ti M. Ing. Fernando De Lorenz Santos por tu gran apoyo y sacarnos adelante para culminar este proceso y por tu amistad. A nuestros Revisores Mat. Luis Ramírez, Ing. Roberto Blanco, Ing. Enrique García Guzmán, M. en C. Marcelo Pérez Medel y M. en Ing. Fernando de Jesús De Lorenz Santos, por su apoyo. A ti Ing. Marisol Mata Gutiérrez por que me diste consejos durante la carrera y me ensañaste a hacer bien la cosas y de esta forma culminar este sueño que desde hace tiempo planeamos y por seguir estando a mi lado ya como profesionistas. A ti Ing. Arturo Vargas Triujeque por tu empeño y fuerza para realizar las cosas, por que nada te detuvo y saliste adelante. ARTURO VARGAS TRIUJEQUE Neevia docConverter 5.1 ÍNDICE INTRODUCCIÓN…………………………………………………………………………... I OBJETIVO GENERAL……………………………………………………………………. IV OBJETIVO ESPECIFICO………………………………………………………………… IV CAPÍTULO I: SISTEMAS INFORMÁTICOS Sistemas……………………………………………………………………………….. 1 1.1 Sistemas de Información……………………………………………………………... 2 1.2 Modelo de un Sistema Informático………………………………………………….. 4 1.3 Análisis de Sistemas Informáticos…………………………………………………... 8 CAPÍTULO II: GESTIÓN DE BASES DE DATOS Bases de Datos………………………………………………………………………... 10 2.1 Bases de Datos Relacionales………………………………………………………... 13 2.2 Diseño de las Bases de Datos………………………………………………………. 19 2.3 Programación de la Base de Datos…………………………………………………. 39 CAPÍTULO III: DESARROLLO DE PÁGINAS WEB Internet…………………………………………………………………………………. 43 3.1 Sitios y Páginas Web…………………………………………………………………. 45 3.2 HTML…………………………………………………………………………………… 49 3.3 CSS……………………………………………………………………………………... 52 3.4 JavaScript……………………………………………………………………………… 54 CAPITULO IV: CONEXIÓN ENTRE BASES DE DATOS Y PÁGINAS WEB Servidores Web……………………………………………………………………….. 56 4.1 Apache…………………………………………………………………………………. 58 4.2 PHP……………………………………………………………………………………... 66 4.3 Conexión PHP- MySQL………………………………………………………………. 71 4.4 Implementación del Sistema…………………………………………………………. 75 RESULTADOS……………………………………………………………………………... 83 CONCLUSIONES………………………………………………………………………….. 94 RECOMENDACIONES.............................................................................................. 95 BIBLIOGRAFÍA.......................................................................................................... 96 Neevia docConverter 5.1 LISTA DE IMÁGENES Nombre de la Imagen Num. de Figura “Ciclo del Sistema”……………………………………………….................... Fig.1 “Conceptos asociados a los Sistemas de Información”…………………… Fig.2 “Actividades de un Sistema de Información”……………………………….. Fig.3 “Tipos y Usos”…………………………………………………………………. Fig.4 “Clasificación”………………………………………………………………….. Fig.5 “Diagrama de la Base de Datos”…………………………………………….. Fig.6 “Propiedades CSS”……………………………………………………………. Fig.7 “Servidor Web”………………………………………………………………… Fig.8 “Comunicación Browser- Server”……………………………………………. Fig.9 “Formas de Programación”…………………………………………………… Fig.10 “Programación en el Servidor”……………………………………………….. Fig.11 “Test del Tiempo Total de Ejecución”……………………………………….. Fig.12 “Funcionamiento PHP”………………………………………………………... Fig.13 “Ventana del Servidor Apache “Funcionando”……………………………... Fig.14 “Ventana de la Base de Datos”………………………………………………. Fig.15 “Directorio de phpmyadmin”………………………………………………….. Fig.16 “Pantalla inicio MyCC”………………………………………………………… Fig.17 “Ventana de Administrador de Usuarios”…………………………………… Fig.18 “Ventana de Administrador del Servidor”…………………………………… Fig.19 Neevia docConverter 5.1 “Vista de Tablas”………………………………………………………………. Fig.20 “Datos de la Tabla ”…………………………………………………………… Fig.21 “Índices de la Tabla”…………………………………………………………... Fig.22 “Propiedades de los Capos”………………………………………………… Fig.23 RESULTADOS “Pantalla de Inicio”…………………………………………………………….. Fig.24 “Pantalla de Inicio (2)”………………………………………………………… Fig.25 “Pantalla de Inicio (3)” ………………………………………………………... Fig.26 “Link para abrir la página de la Fes Aragón”……………………………….. Fig.27 “Link para abrir la página de la UNAM”……………………………………... Fig.28 “Link para ir a la página de Servicio Social”………………………………... Fig.29 “Link para ir a la página de la DGOSE”…………………………………….. Fig.30 “Pantalla de acceso a Cuestionarios”……………………………………….. Fig.31 “Alerta de notificación que debe de ser 10 dígitos”………………………... Fig.32 “Pantalla ‘Cuestionario de Primer Ingreso”…………………………………. Fig.33 “Pantalla ‘Cuestionario Primer Ingreso (2)”………………………………… Fig.34 “Pantalla ‘Cuestionario Primer Ingreso (3)” ………………………………... Fig.35 “Pantalla ‘Cuestionario Primer Ingreso (4)” ………………………………... Fig.36 “Pantalla ‘Cuestionario Renovación” ……………………………………….. Fig.37 “Pantalla ‘Cuestionario de Renovación (1)”………………………………... Fig.38 “Pantalla ‘Cuestionario de Renovación (2)”………………………………… Fig.39 “Pantalla ‘Cuestionario de Renovación (3)”………………………………… Fig.40 Neevia docConverter 5.1 “Pantalla ‘Cuestionario para Tutores”……………………………………….. Fig.41 “Pantalla Cuestionario para Tutores (1)”……………………………………. Fig.42 “Pantalla Cuestionario para Tutores (2)”……………………………………. Fig.43 “Pantalla Cuestionario para Tutores (3)”……………………………………. Fig.44 Neevia docConverter 5.1 I INTRODUCCIÓN La necesidad del diseño e implementación del Sistema de Información parte en la División de Humanidades en el plantel de la FES Aragón, dentro del edificio A-926 en donde se lleva acabo el “Programa Institucional de Tutorías Pronabes”, el cual se enfoca en llevar la parte operativa y administrativa, además de ayudar, guiar y mantener información acerca de las Becas que poseen los estudiantes de licenciatura de este plantel. En esta área inicialmente se cuenta con una Base de Datos que les ayuda a tener un control y estimación del número de becarios que participan en el programa, así como la carrera y el semestre que actualmente cursan. Por lo tanto, se decidió dar una solución al problema partiendo de lo particular a lo general creando inicialmente una nueva Base de Datos que contenga a los mas de mil alumnos becados, considerando que cada año aumenta el número de alumnos para este tipo de beca . El sistema estará disponible por medio de Internet, así mismo, contendrá datos importantes para dar a conocer o recordar, según sea el caso, a todos los becarios-Pronabes. Para este caso práctico, se utilizaron dos tipos de Investigación: • Investigación Descriptiva: Que permitió interpretar, registrary analizar este problema que surge de un hecho real dentro de la División de Humanidades1. • Investigación Documental: Porque el enfoque es hacia la consulta de libros, revistas, etc, que nos permitan desarrollar los temas con mayor profundidad2. Las dos ayudarán a explicar, conocer y dar una idea de cómo resolver el problema de Investigación. Es un Sistema de Información que aportará y resolverá cuestiones laborales, además de llevar un mejor control en la parte operativa y administrativa del A-926 que pertenece a la División de Humanidades de la Facultada de Estudios Superiores Aragón. A grandes rasgos permitirá cubrir las necesidades y deficiencias que existen actualmente en el control y organización de todos los alumnos becados pertenecientes a Pronabes-UNAM; así como de aprovechar totalmente los recursos tecnológicos, humanos y económicos con los que cuentan actualmente, así mismo brindarles menos trabajo y mayor comodidad a los alumnos y tutores en el llenado del formato de los cuestionarios correspondientes al seguimiento de tutorías. El Sistema de información se encarga de llevar y rendir informes semestrales así como del control de las necesidades administrativas y operativas que se susciten 1 El proceso de la investigación científica.Tamayo y Tamayo Mario. 2 El proceso de la investigación científica.Tamayo y Tamayo Mario. Neevia docConverter 5.1 II en determinado momento, permitiendo un fácil y rápido acceso a los datos que se necesiten obtener y editar o ingresar los mismos o diferentes datos los cuales generarán las estadísticas de todos los alumnos de las distintas carreras que existen en la FES Aragón para así brindar y mejorar el funcionamiento del seguimiento de las tutorías realizadas cada semestre. Sin embargo, existe una sola limitación para congregar su culminación exitósamente ya que en el lugar en donde se desea implementar la utilización del Sistema (salón A-926), por el momento no cuenta con servicio de Internet que permita subir a la Web adecuadamente el proyecto. También ayudará en cuestiones prácticas en el llenado de los cuestionarios de manera didáctica y en corto plazo que anteriormente no era tan eficiente y que contaba con anomalías que no permitían mostrar resultados fidedignos. Incluso contará con oportunidades para ser mejorado en un futuro, si es que se desea y si las necesidades lo requieren por los mismos alumnos sirviendo de base o alternativa para otras áreas resolviendo algún problema para mejorar el mismo Sistema o iniciar uno nuevo. Con las actualizaciones del software como del hardware, se facilitará el desarrollo del mismo, sin olvidar que su principal función es de obtener una mayor recopilación de datos de una determinada comunidad de la FES Aragón. Los lenguajes que se utilizaron para la realización de este proyecto son: � Para la Base de Datos SQL3, ya que con este lenguaje de programación se tiene un mejor control de la Base de Datos. � En la realización y diseño de las páginas Web se usó HTML4, Java Script y CSS5, porque con estos dos lenguajes es más accesible y dinámico el diseño de las mismas páginas. � Para la conexión de la Base de Datos con las páginas Web se empleó PHP6, porque es el más recomendable ya que normalmente es el que más se utiliza para la conexión del lenguaje de SQL con páginas Web. Para complementar y programar los lenguajes anteriormente mencionados se aplicarán los siguientes softwares: � El manejador MySQL para el lenguaje de SQL. � Multimedia DreamWeaver para los lenguajes HTML, Java Script, CSS y PHP. � Multimedia Flash Player para un mejor diseño de las páginas Web. � PHP-Thriad, porque este contiene el Servidor Apache el cual es necesario para reconocer el lenguaje PHP cuando no se cuenta con una conexión a Internet, y pueda funcionar correctamente el Sistema. 3 Standard Query Languaje (Lenguaje de Consulta Estándar) 4 Hippertext Markup Languaje (Lenguaje de Marcas de Hipertexto) 5 Cascading Style Sheets (Hojas de Estilo Cascada) 6 Hypertext Preprocessor (Preprocesador de Hipertexto) Neevia docConverter 5.1 III Por lo tanto los resultados obtenidos en el funcionamiento del Sistema de Información, con la ayuda de los lenguajes de programación y softwares ya mencionados, permitirán generalizar principios más amplios de los que se esperan en un inicio, ya que se podrá desarrollar un porcentaje exacto de cualquier característica y/o actividades que realiza cada becario y poder pluralizar algún caso en específico. Este Sistema tiene una gran relación con la Ingeniería, desde un inicio se tuvo que analizar esquemáticamente lo que se requiera y los recursos con los que se cuenta; esto es, tratar de que con el paso del tiempo se le vaya dando un solución al problema que se plantea desde un inicio para llegar a efectuar un diseño preciso y una implementación adecuada. Neevia docConverter 5.1 IV OBJETIVO GENERAL: Diseñar un Sistema de información con los lenguajes PHP7, SQL8 cuyo manejador es MySQL, HTML9, CSS10 y Java Script y los softwares: Macromedia DreamWeaver, Flash Player y el servidor Apache, implementándolo para la captura y registro de los datos de los Becarios Pronabes de la FES-Aragón. OBJETIVOS ESPECÍFICOS: � Analizar el problema y los recursos con los que cuenta la administración de las Becas, revisando los antecedentes de la Base de Datos actual. � Generar la Base de Datos partiendo de la actual, con base al crecimiento de alumnos becados y los formatos de los cuestionarios. � Realizar el diagrama de la Base de Datos, utilizando el software DB Designer para la obtención del código de la Base de Datos. � Diseñar los formatos de los cuestionarios y de la página principal, utlilizando los softwares Flash Player y DreamWeaver con los lenguajes HTML, CSS y Java Script. � Llevar a cabo la conexión entre las páginas y la Base de Datos, aplicando el lenguaje PHP. � Implementar el Sistema de Información en los equipos designados para su uso. � Realizar el manual de usuario que permita la facilidad de uso del sistema de información a usuarios y administrativos. ALCANCE: Generar soluciones a los problemas de automatización de los procesos de la captura de datos, del tiempo designado y eficiencia del registro de Becarios Pronabes de la FES-Aragón. LIMITANTES: � Los equipos con los que se cuenta son obsoletos y no permiten una eficiencia de la aplicación del Sistema de información propuesto de un 100%. � El acceso a internet en el área de Becas es restringido 7 Hypertext Preprocessor (Preprocesador de Hipertexto) 8 Standard Query Languaje (Lenguaje de Consulta Estándar) 9 Hippertext Markup Languaje (Lenguaje de Marcas de Hipertexto) 10 Cascading Style Sheets (Hojas de Estilo Cascada) Neevia docConverter 5.1 Capítulo I SISTEMAS INFORMÁTICOS Neevia docConverter 5.1 1 SISTEMAS INFORMÁTICOS SISTEMAS. Conjunto de partes o elementos organizadas y relacionadas que interactúan entre sí para lograr un objetivo. Los sistemas reciben (entrada) datos, energía o materia del ambiente y proveen (salida) información, energía o materia. (Véase Figura 1) Un sistema puede ser físico o concreto (una computadora, un televisor, un humano) o puede ser abstracto o conceptual (un software).Cada sistema existe dentro de otro más grande, por lo tanto un sistema puede estar formado por subsistemas y partes, y a la vez puede ser parte de un supersistema. Los sistemas tienen límites o fronteras, que los diferencian del ambiente. Ese límite puede ser físico(el gabinete de una computadora) o conceptual. Si hay algún intercambio entre el sistema y el ambiente a través de ese límite, el sistema es abierto, de lo contrario, el sistema es cerrado. El ambiente es el medio externo que envuelve física o conceptualmente a un sistema. El sistema tiene interacción con el ambiente, del cual recibe entradas y al cual se le devuelven las salidas. El ambiente también puede ser una amenaza para el sistema. Un grupo de elementos no constituye un sistema si no hay una relación e interacción, que da la idea de un "todo" con un propósito1. Figura 1. Ciclo del Sistema 1 http://www.alegsa.com.ar Neevia docConverter 5.1 2 1.1 SISTEMAS DE INFORMACIÓN. Un sistema de información es un conjunto de elementos que interactúan entre si con el fin de apoyar las actividades de una empresa o negocio2. Los sistemas de información son una herramienta necesaria para el flujo de la información en una empresa, es una fuente de información para tomarse como apoyo que llevará a cabo la dirección de la misma y proporcionará los conocimientos básicos para la realización de las actividades de cualquier departamento. Un sistema de información es una herramienta muy útil para todas las empresas, con su aplicación se lograría obtener un mejor manejo de toda la información que se genere para utilizarla cuando se crea necesario. Los sistemas de información cumplen tres objetivos básicos dentro de las organizaciones: 1. Automatizar Procesos. 2. Proporcionar Información que sirva de apoyo para la Toma de Decisiones. 3. Lograr ventajas competitivas a través de su implantación y uso. Un sistema de información permite un control sobre todos los elementos de la empresa y todos sus recursos con los que cuenta, así se evitarán desperdicios o pérdidas de recursos materiales y demás. Si se tiene menos desperdicios y pérdidas se verán reflejados en los estados financieros de forma positiva para toda la organización3. Con un sistema de información se puede tener el control sobre el inventario con el que se cuenta y así saber a todo momento que es lo que se tiene y que es lo que se necesita. Con esto se obtiene una mejora en el servicio a los clientes, un incremento en las ventas y mejor manejo y administración de los recursos económicos de la empresa4. El sistema de información debe contar con: • El equipo computacional: Es el hardware necesario para que el sistema de información pueda operar. • El recurso humano: Es el que interactúa con el Sistema de Información y está formado por las personas que utilizan el sistema5. (véase Figura 2) 2 http://tecnologias.gio.etsit.upm.es 3 http://www.wikilearning.com/ 4 http://www.monografias.com/ 5 http://tecnologias.gio.etsit.upm.es/ Neevia docConverter 5.1 3 Figura 2. Conceptos asociados a los Sistemas de Infotmación Neevia docConverter 5.1 4 1.2 MODELO DE UN SISTEMA INFORMÁTICO. TIPOS Y USOS DE LOS SISTEMAS DE INFORMACIÓN. Las diferentes actividades que realiza un Sistema de Información se pueden observar en el diseño.(véase Figura 3) Durante los próximos años, los Sistemas de Información cumplirán tres objetivos básicos dentro de las organizaciones: 1. Automatizar los procesos operativos. 2. Proporcionar información que sirva de apoyo al proceso de toma de decisiones. 3. Lograr ventajas competitivas a través de su implantación y uso. Figura 3. Actividades de un Sistema de Información Los sistemas de información que logran la automatización de procesos operativos dentro de una organización, son llamados frecuentemente “Sistemas Transaccionales”, ya que su función primordial consiste en procesar transacciones tales como pagos, cobros, pólizas, entradas, salidas, etc. Por otra parte, los sistemas de información que apoyan el proceso de toma de decisiones son los Sistemas de Soporte a la Toma de Decisiones, Sistemas para la Toma de Decisión de Grupo, Sistemas Expertos de Soporte a la Toma de Decisiones y Sistema de Información para Ejecutivos. El tercer tipo de sistema, de acuerdo con su uso u objetivos que cumplen, es el de los Sistemas Estratégicos, los cuales se desarrollan en las organizaciones con el fin de lograr ventajas competitivas, a través del uso de la tecnología de información6. 6 http://www.monografias.com/ Neevia docConverter 5.1 5 Los tipos y usos de los Sistemas de Información se muestran en la Figura 4: Figura 4. Tipos y Usos A continuación se mencionan las principales características de estos tipos de Sistemas de Información. Sistemas Transaccionales. Sus principales características son: � A través de éstos suelen lograrse ahorros significativos de mano de obra, debido a que automatizan tareas operativas de la organización. � Con frecuencia son el primer tipo de Sistemas de Información que se implanta en las organizaciones. Comien2za apoyando las tareas a nivel operativo de la organización. � Son intensivos en entrada y salida de información; sus cálculos y procesos suelen ser simples y poco sofisticados. � Tienen la propiedad de ser recolectores de información, es decir, a través de estos sistemas se cargan las grandes bases de información para su explotación posterior. � Son fáciles de justificar ante la dirección general, ya que sus beneficios son visibles y palpables. Sistemas de Apoyo de las Decisiones. Las principales características de estos son: � Suelen introducirse después de haber implantado los Sistemas Transaccionales más relevantes de la empresa, ya que estos últimos constituyen su plataforma de información. Neevia docConverter 5.1 6 � La información que generan sirve de apoyo a los mandos intermedios y a la alta administración en el proceso de toma de decisiones. � Suelen ser intensivos en cálculos y escasos en entradas y salidas de información. Así, por ejemplo, un modelo de planeación financiera requiere poca información de entrada, genera poca información como resultado, pero puede realizar muchos cálculos durante su proceso. � No suelen ahorrar mano de obra. Debido a ello, la justificación económica para el desarrollo de estos sistemas es difícil, ya que no se conocen los ingresos del proyecto de inversión. � Suelen ser Sistemas de Información interactivos y amigables, con altos estándares de diseño gráfico y visual, ya que están dirigidos al usuario final. � Apoyan la toma de decisiones que, por su misma naturaleza son repetitivos y de decisiones no estructuradas que no suelen repetirse. Por ejemplo, un Sistema de Compra de Materiales que indique cuándo debe hacerse un pedido al proveedor o un Sistema de Simulación de Negocios que apoye la decisión de introducir un nuevo producto al mercado. � Estos sistemas pueden ser desarrollados directamente por el usuario final sin la participación operativa de los analistas y programadores del área de informática. Este tipo de sistemas puede incluir la programación de la producción, compra de materiales, flujo de fondos, proyecciones financieras, modelos de simulación de negocios, modelos de inventarios, etc. Sistemas Estratégicos. Sus principales características son: � No apoyar a la automatización de procesos operativos ni proporcionar información para apoyar la toma de decisiones. � Suelen desarrollarse en casa, es decir, dentro de la organización, por lo tanto no pueden adaptarse fácilmente a paquetes disponibles en el mercado. � Típicamente su forma de desarrollo es a base de incrementos y a través de su evolución dentro de la organización. Se inicia con un procesoo función en particular y a partir de ahí se van agregando nuevas funciones o procesos. � Su función es lograr ventajas que los competidores no posean, tales como ventajas en costos y servicios diferenciados con clientes y proveedores. En este contexto, los Sistema Estratégicos son creadores de barreras de entrada al negocio. Por ejemplo, el uso de cajeros automáticos en los Neevia docConverter 5.1 7 bancos en un Sistema Estratégico, ya que brinda ventaja sobre un banco que no posee tal servicio. Si un banco nuevo decide abrir su puerta al público, tendrá que dar este servicio para tener un nivel similar al de sus competidores. � Apoyan el proceso de innovación de productos y proceso dentro de la empresa debido a que buscan ventajas respecto a los competidores y una forma de hacerlo en innovando o creando productos y procesos7. CLASIFICACIÓN DE LOS SISTEMAS DE INFORMACIÓN. Figura 5. Clasificación 7 http://tecnologias.gio.etsit.upm.es/ Neevia docConverter 5.1 8 1.3 ANÁLISIS DE SISTEMAS INFORMÁTICOS Un sistema de información realiza cuatro actividades básicas: entrada, almacenamiento, procesamiento y salida de información. Estas actividades se describen acontinuación: Entrada de Información: Es el proceso mediante el cual el Sistema de Información toma los datos que requiere para procesar la información. Las entradas pueden ser manuales o automáticas. Las manuales son aquellas que se proporcionan en forma directa por el usuario, mientras que las automáticas son datos o información que provienen o son tomados de otros sistemas o módulos. A esto se le conoce como: interfases automáticas8. Las unidades típicas de entrada de datos a las computadoras son las terminales, las cintas magnéticas, las unidades de diskette, los códigos de barras, los escáners, la voz, los monitores sensibles al tacto, el teclado y el mouse, entre otras. Almacenamiento de información: El almacenamiento es una de las actividades o capacidades más importantes que tiene una computadora, ya que a través de esta propiedad el sistema puede recordar la información guardada en la sección o proceso anterior. Esta información suele ser almacenada en estructuras de información denominadas archivos. La unidad típica de almacenamiento son los discos magnéticos o discos duros, los discos flexibles o diskettes y los discos compactos (CD-ROM)9. Procesamiento de Información: Es la capacidad del Sistema de Información para efectuar cálculos de acuerdo con una secuencia de operaciones preestablecida. Estos cálculos pueden efectuarse con datos introducidos recientemente en el sistema o bien con datos que están almacenados. Esta característica de los sistemas permite la transformación de datos fuente en información que puede ser utilizada para la toma de decisiones, lo que hace posible, entre otras cosas, que un tomador de decisiones genere una proyección financiera a partir de los datos que contiene un estado de resultados o un balance general de un año base10. Salida de Información: La salida es la capacidad de un Sistema de Información para sacar la información procesada o bien datos de entrada al exterior. Las 8 http://tecnologias.gio.etsit.upm.es/ 9 http://tecnologias.gio.etsit.upm.es/ 10 http://tecnologias.gio.etsit.upm.es/ Neevia docConverter 5.1 9 unidades típicas de salida son las impresoras, terminales, diskettes, cintas magnéticas, la voz, los graficadores y los plotters, entre otros. Es importante aclarar que la salida de un Sistema de Información puede constituir la entrada a otro Sistema de Información o módulo. En este caso, también existe una interfase automática de salida. Por ejemplo, el Sistema de Control de Clientes tiene una interfase automática de salida con el Sistema de Contabilidad, ya que genera las pólizas contables de los movimientos procesales de los clientes11. ACTIVIDADES QUE REALIZA UN SISTEMA DE INFORMACIÓN: Entradas: � Datos generales del cliente: nombre, dirección, tipo de cliente, etc. � Políticas de créditos: límite de crédito, plazo de pago, etc. � Facturas (interfase automático). � Pagos, depuraciones, etc. Proceso: � Cálculo de antigüedad de saldos. � Cálculo de intereses moratorios. � Cálculo del saldo de un cliente. Almacenamiento: � Movimientos del mes (pagos, depuraciones). � Catálogo de clientes. � Facturas. Salidas: � Reporte de pagos. � Estados de cuenta. � Pólizas contables (interfase automática) � Consultas de saldos en pantalla de una terminal 11 http://tecnologias.gio.etsit.upm.es/ Neevia docConverter 5.1 Capítulo II GESTIÓN DE BASES DE DATOS Neevia docConverter 5.1 10 GESTIÓN DE BASE DE DATOS BASES DE DATOS. De forma sencilla se puede indicar que una Base de Datos no es más que un conjunto de información relacionada que se encuentra agrupada o estructurada. El archivo por sí mismo, no constituye una base de datos, sino más bien la forma en que está organizada la información es la que da origen a la base de datos. Desde el punto de vista informático, una Base de Datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulan ese conjunto de datos1. “Se define a una base de datos como un conjunto de datos estructurados, fiables y homogéneos, organizados independientemente en máquina, accesibles a tiempo real, compartibles por usuarios concurrentes que tienen necesidades de información diferente y no predecibles en el tiempo”2. En la actualidad, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos tienen formato electrónico, que ofrece un amplio rango de soluciones al problema de almacenar datos. Por ejemplo, en una guía de teléfonos no es posible encontrar el número de un individuo si no se sabe su apellido, aunque se conozca su domicilio. Del mismo modo, en un archivo de pacientes en el que la información esté desordenada por el nombre de los mismos, será una tarea bastante engorrosa encontrar todos los pacientes que viven en una zona determinada. 1 http://www.monografias.com/ 2 Castaño Miguel y Piattini Velthuis Mario “Diseño de Bases de Datos Relacionales”. Neevia docConverter 5.1 11 La idea general es que se trata con una colección de datos que cumplen las siguientes propiedades: � Están estructurados independientemente de las aplicaciones y del soporte de almacenamiento que los contiene. � Presentan la menor redundancia posible. � Son compartidos por varios usuarios y/o aplicaciones. Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas. También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental3. TIPOS DE BASES DE DATOS Las bases de datos pueden clasificarse de varias maneras, de acuerdo al criterio elegido: � Según la variabilidad de los datos almacenados4 Bases de datos estáticas Éstas son bases de datos de sólo lectura, utilizadas primordialmente para almacenar datos históricos que posteriormente permiten estudiar el comportamiento de un conjunto de datos a través del tiempo, realizar proyecciones y tomar decisiones. Bases de datos dinámicas Éstas son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo operaciones como actualización y adición de datos, además de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de informaciónde una tienda de abarrotes, una farmacia, un videoclub, etc. � Según el contenido5 3 Castaño Miguel y Piattini Velthuis Mario “Diseño de Bases de Datos Relacionales”. 4 http://es.wikipedia.org/ 5 http://es.wikipedia.org/ Neevia docConverter 5.1 12 Bases de datos bibliográficas Solo contienen un surrogante (representante) de la fuente primaria, que permite localizarla. Un registro típico de una base de datos bibliográfica contiene información sobre el autor, fecha de publicación, editorial, título, edición, de una determinada publicación, etc. Puede contener un resúmen o extracto de la publicación original, pero nunca el texto completo, porque sino se estaría en presencia de una base de datos a texto completo. Como su nombre lo indica, el contenido son cifras o números. Por ejemplo, una colección de resultados de análisis de laboratorio, entre otras. Bases de datos de texto completo Almacenan las fuentes primarias, por ejemplo todo el contenido de todas las ediciones de una colección de revistas científicas. Directorios Un ejemplo son las guías telefónicas en formato electrónico. Banco de imágenes, audio, video, multimedia, etc. Bases de datos o "bibliotecas" de información Biológica Son bases de datos que almacenan diferentes tipos de información proveniente de las ciencias de la vida o médicas. Se pueden considerar en varios subtipos: • Aquellas que almacenan secuencias de nucleótidos o proteínas. • Las bases de datos de rutas metabólicas • Bases de datos de estructura, comprende los registros de datos experimentales sobre estructuras 3D de biomoléculas • Bases de datos clínicas • Bases de datos bibliográficas (biológicas) Neevia docConverter 5.1 13 2.1 BASE DE DATOS RELACIONALES En este modelo, el lugar y la forma en que se almacenan los datos no tienen relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender utilizar para un usuario esporádico de la base de datos. La información puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder administrar la información6. El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL7, un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales. Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce como normalización de una base de datos. Una base de datos relacional es un conjunto de una o más tablas estructuradas en registros (líneas) y campos (columnas), que se vinculan entre sí por un campo en común, en ambos casos posee las mismas características por ejemplo el nombre de campo, tipo y longitud; a este campo generalmente se le denomina ID, identificador o clave. A esta manera de construir bases de datos se le conoce como modelo relacional 8 . Estrictamente hablando el término se refiere a una colección específica de datos que a menudo se usa en forma errónea como sinónimo del software para gestionar esa colección de datos. Ese software se conoce como sistema gestor de base de datos relacional o RDBMS (Relational Database Management System). Las bases de datos relacionales pasan por un proceso al que se le conoce como normalización de una base de datos, el cual es entendido como el proceso necesario para que una base de datos sea utilizada de manera optima. Formas normales Se basa en describir la información usando tablas. Estas tablas se intentan estructurar de forma que cumplan unos formatos llamados Formas Normales. Cuanto más alta sea la forma normal, más estrictos son los criterios que cumple la tabla y más fácil resulta tratarla. � Primera Forma Normal (1NF): No hay campos múltiples. Todas las filas deben tener el mismo número de columnas. � Segunda Forma Normal (2NF): Todo campo que no sea clave debe depender por completo de toda la clave. 6 http://es.wikipedia.org/ 7 Structured Query Language (Lenguaje Estructurado de Consultas) 8 http://usuarios.lycos.es/ Neevia docConverter 5.1 14 � Tercera Forma Normal (3NF): No hay dependencias transitivas. Un campo debe depender de la clave y no de otro campo. � Forma Normal de Boyce-Codd (BCNF): Todos los determinantes de la tabla son clave candidata. � Cuarta Forma Normal (4NF): Una fila no debe contener dos o más campos multi-valorados (aquellos que pueden contener más de un valor simultaneamente) sobre una entidad. � Quinta Forma Normal (5NF): Una tabla puede almacenar atributos dependientes a la clave sólo por unión. � Reglas de Codd. Entre las ventajas de este modelo están: 1. Garantizar las herramientas que eviten la duplicidad de registros, a través de campos claves o llaves. 2. Garantiza la integridad referencial: así al eliminar un registro elimina todos los registros relacionados dependientes. 3. Favorecer la normalización por ser más comprensible y aplicable9. En una computadora existen diferentes formas de almacenar información. Da lugar a distintos modelos de organización de la base de datos: jerárquico, red, relacional y orientada a objeto. Los sistemas relacionales son importantes porque ofrecen muchos tipos de procesos de datos, como: simplicidad y generalidad, facilidad de uso para el usuario final, períodos cortos de aprendizaje y las consultas de información se especifican de forma sencilla. Las tablas son un medio de representar la información de una forma más compacta y es posible acceder a la información contenida en dos o más tablas. Las bases de datos relacionales están constituidas por una o más tablas que contienen la información ordenada de una forma organizada. Cumplen las siguientes leyes básicas: � Generalmente, contienen muchas tablas. � Una tabla sólo contiene un número fijo de campos. � El nombre de los campos de una tabla es distinto. � Cada registro de la tabla es único. � El orden de los registros y de los campos no está determinados. 9 http://es.wikipedia.org/ Neevia docConverter 5.1 15 � Para cada campo existe un conjunto de valores posible10. Diseño de las bases de datos relacionales El primer paso para crear una base de datos, es planificar el tipo de información que se quiere almacenar en la misma, teniendo en cuenta dos aspectos: la información disponible y la información que se necesita. La planificación de la estructura de la base de datos, en particular de las tablas, es vital para la gestión efectiva de la misma. El diseño de la estructura de una tabla consiste en una descripción de cada uno de los campos que componen el registro y los valores o datos que contendrá cada uno de esos campos. Los campos son los distintos tipos de datos que componen la tabla, por ejemplo: nombre, apellido, domicilio. La definición de un campo requiere: el nombre del campo, el tipo de campo, el ancho del campo, etc. Los registros constituyen la información que va contenida en los campos de la tabla, por ejemplo: el nombre del paciente, el apellido del paciente y la dirección de este. Generalmente los diferente tipos de campos que se almacenan son los siguientes: Texto (caracteres), Numérico (números), Fecha / Hora, Lógico (informaciones lógicas si/no, verdadero/falso, etc., imágenes11. En resumen, el principal aspecto que se debe tener en cuenta durante el diseño de una tabla es determinar claramente los campos necesarios, definirlos en forma adecuada con un nombre especificando su tipo y su longitud. Objetos de la base de datos Tablas: unidad donde se creará el conjunto de datos de la base de datos. Estos datos estarán ordenados en columnas verticales. Aquí definirán los campos y sus características.Consultas: aquí se definirá las preguntas que se formularán a la base de datos con el fin de extraer y presentar la información resultante de diferentes formas (pantalla, impresora...) 10 http://es.wikipedia.org/ 11 http://usuarios.lycos.es/ Neevia docConverter 5.1 16 Formulario: elemento en forma de ficha que permite la gestión de los datos de una forma más cómoda y visiblemente más atractiva. Informe: permite preparar los registros de la base de datos de forma personalizada para imprimirlos. Macro: conjunto de instrucciones que se pueden almacenar para automatizar tareas repetitivas. Módulo: programa o conjunto de instrucciones en lenguaje Visual Basic12. Conceptos básicos de una base de datos Campo: unidad básica de una base de datos, por ejemplo el nombre de una persona. Los nombres de los campos, no pueden empezar con espacios en blanco y caracteres especiales. No pueden llevar puntos, ni signos de exclamación o corchetes. Si pueden tener espacios en blanco en el medio. La descripción de un campo, permite aclarar información referida a los nombres del campo. El tipo de campo, permite especificar el tipo de información que cargaremos en dicho campo, esta puede ser: � Texto: para introducir cadenas de caracteres hasta un máximo de 255 � Memo: para introducir un texto extenso. Hasta 65.535 caracteres � Numérico: para introducir números � Fecha/Hora: para introducir datos en formato fecha u hora � Moneda: para introducir datos en formato número y con el signo monetario � Autonumérico: en este tipo de campo, Access numera automáticamente el contenido � Sí/No: campo lógico. Este tipo de campo es sólo si queremos un contenido del tipo Sí/No, Verdadero/Falso, etc. � Objeto OLE: para introducir una foto, gráfico, hoja de cálculo, sonido, etc. � Hipervínculo: podemos definir un enlace a una página Web � Asistente para búsquedas: crea un campo que permite elegir un valor de otra tabla o de una lista de valores mediante un cuadro de lista o un cuadro combinado. 12 http://es.wikipedia.org/ Neevia docConverter 5.1 17 Las propiedades de un campo, se establecen seleccionando el campo y haciendo clic en la propiedad deseada del cuadro PROPIEDADES DEL CAMPO situado en la parte inferior de la ventana DISEÑO DE TABLA. Registro: es el conjunto de información referida a una misma persona u objeto. Un registro vendría a ser algo así como una ficha. Campo clave: campo que permite identificar y localizar un registro de manera ágil y organizada13. El modelo relacional es el más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos14. Su idea fundamental es el uso de «relaciones». Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados «tuplas». Pese a que esta es la teoría de las bases de datos relacionales creadas por Edgar Frank Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto es, pensando en cada relación como si fuese una tabla que esta compuesta por registros (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla). Descripción En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar para un usuario casual de la base de datos. La información puede ser recuperada o almacenada por medio de «consultas» que ofrecen una amplia flexibilidad y poder para administrar la información. El lenguaje más común para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales. Este modelo considera la base de datos como una colección de relaciones. De manera simple, una relación representa una tabla, en que cada fila representa una 13 http://es.wikipedia.org/ 14 Castaño Miguel y Piattini Velthuis Mario “Diseño de Bases de Datos Relacionales”. Neevia docConverter 5.1 18 colección de valores que describen una entidad del mundo real. Cada fila se denomina tupla o registro y cada columna campo15. Una relación consiste en: Esquemas � Nombre de la relación � Nombre de los atributos y sus dominios � El dominio se establece por nombres como character, integer, date, etc. � Un dominio tiene asociado un conjunto de valores homogéneos. � Los atributos deben tomar valores dentro del domino asignado. Instancias � caracteres y números. � registro o columna. � Conjunto de tuplas � Tabla con filas y columnas � Cada fila es una tupla. El número de filas es llamado cardinalidad. � El numero de columnas es llamado aridad o grado. 15 http://es.wikipedia.org/ Neevia docConverter 5.1 19 2.2 DISEÑO DE LAS BASES DE DATOS MODELOS DE BASES DE DATOS Además de la clasificación por la función de las bases de datos, estas también se pueden clasificar de acuerdo a su modelo de administración de datos. Un modelo de datos es básicamente una "descripción" de algo conocido como contenedor de datos (algo en donde se guarda la información), así como de los métodos para almacenar y recuperar información de esos contenedores. Los modelos de datos no son cosas físicas: son abstracciones que permiten la implementación de un sistema eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos matemáticos16. Algunos modelos con frecuencia utilizados en las bases de datos son: Bases de datos jerárquicas Éstas son bases de datos que, como su nombre indica, almacenan su información en una estructura jerárquica. En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas. Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos17. Base de datos de red Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico). Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significa administrar la información en una base de datos de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales18. 16 http://www.monografias.com/ 17 http://www.monografias.com/ 18 http://es.wikipedia.org/ Neevia docConverter 5.1 20 Base de datos relacional Éste es el más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamentales el uso de "relaciones". Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la teoría de las bases de datos relacionales creadas por Edgar Frank Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla), que representarán las tuplas, y campos (las columnas de una tabla)19. Bases de datos orientadas a objetos Este modelo, bastante reciente, y propio de los modelos informáticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento). Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos: � Encapsulación - Propiedad que permite ocultar la información al resto de los objetos, impidiendo así accesos incorrectos o conflictos. � Herencia - Propiedad a través de la cual los objetos heredan comportamiento dentro de una jerarquía de clases. � Polimorfismo - Propiedad de una operación mediante la cual puede ser aplicada a distintos tipos de objetos. En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definición de la base de datos. Una operación (llamada función) se especifica en dos partes. La interfaz (o signatura) de una operación incluye el nombre de la operación y los tipos de datos de sus argumentos (o parámetros). La implementación (o método) de la operación se especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicación de los usuarios pueden operar sobre los datos invocando a dichas operaciones a través de sus nombres y argumentos, sea cual sea la forma en la que se han implementado. Esto podría denominarse independencia entre programas y operaciones. 19 Castaño Miguel y Piattini Velthuis Mario “Diseño de Bases de Datos Relacionales”. Neevia docConverter 5.1 21 Bases de datos documentales Permiten la indexación a texto completo y en líneas generales realizar búsquedas más potentes. “Tesaurus” es un sistema de índices optimizado para este tipo de bases de datos20. Base de datos deductivos Un sistema de base de datos deductivos, es un sistema pero con la diferencia de que permite hacer deducciones a través de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base de datos. También las bases de datos deductivas son llamadas base de datos lógica, a raíz de que se basan en lógica matemática21. Gestión de bases de datos distribuida La base de datos está almacenada en varias computadoras conectadas en red. Surgen debido a la existencia física de organismos descentralizados. Esto les da la capacidad de unir las bases de datos de cada localidad y acceder así a distintas universidades, sucursales de tiendas, etc22. Vistas • Artículo • Discusión • Ver código fuente • Historial Herramientas personales • Registrarse/Entrar Navegación • Portada • Portal de la comunidad • Actualidad • Cambios recientes • Página aleatoria • Ayuda • Donativos 20 http://es.wikipedia.org/ 21 http://es.wikipedia.org/ 22 http://es.wikipedia.org/ Neevia docConverter 5.1 22 N eevia docC onverter 5.1 23 N eevia docC onverter 5.1 24 N eevia docC onverter 5.1 25 Figura 6. Diagrama de la Base de Datos N eevia docC onverter 5.1 26 TABLAS DE LA BASE DE DATOS Neevia docConverter 5.1 27 Neevia docConverter 5.1 28 Neevia docConverter 5.1 29 Neevia docConverter 5.1 30 Neevia docConverter 5.1 31 Neevia docConverter 5.1 32 Neevia docConverter 5.1 33 Neevia docConverter 5.1 34 Neevia docConverter 5.1 35 Neevia docConverter 5.1 36 Neevia docConverter 5.1 37 Neevia docConverter 5.1 38 Neevia docConverter 5.1 39 2.3 PROGRAMACIÓN DE LA BASE DE DATOS. Los Sistemas de Gestión de Base de Datos (SGBD23) son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos el usuario y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. En los textos que tratan este tema o temas relacionados, se mencionan los términos SGBD y DBMS24, siendo ambos equivalentes y acrónimos respectivamente, de Sistema Gestor de Bases de Datos y DataBase Management System (su expresión inglesa)25. El propósito general de los sistemas de gestión de base de datos es el de manejar de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se convertirán en información. Existen distintos objetivos que deben cumplir los SGBD: Abstracción de la información. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. Así, se definen varios niveles de abstracción. Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin realizar cambios en las aplicaciones que se sirven de ella. Redundancia mínima. Un buen diseño de una base de datos evitar la aparición de información repetida o redundante. De entrada, lo ideal es lograr una redundancia nula; no obstante, en algunos casos la complejidad de los cálculos hace necesaria la aparición de redundancias. Consistencia. En aquellos casos en los que no se ha logrado esta redundancia nula, es necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea. Seguridad. La información almacenada en una base de datos puede tener un gran valor. Los SGBD garantizan que esta información se encuentra segura frente a usuarios malintencionados, que intenten leer información privilegiada; frente a ataques que deseen manipular o destruir la información o simplemente ante las torpezas de algún usuario autorizado pero despistado. Normalmente, los SGBD 23 Sistema de Gestión de Base de Datos 24 DataBase Management System (Sistema de Administración de Bases de Datos) 25 http://es.wikipedia.org/ Neevia docConverter 5.1 40 disponen de un complejo sistema de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos. Integridad. Se trata de adoptar las medidas necesarias para garantizar la validez de los datos almacenados, es decir, se trata de proteger los datos ante fallos de hardware, datos introducidos por usuarios descuidados, o cualquier otra circunstancia capaz de corromper la información almacenada. Respaldo y recuperación. Los SGBD deben proporcionar una forma eficiente de copia de respaldo de la información almacenada en ellos, y de restaurar a partir de estas copias los datos que se hayan perdido. Control de la concurrencia. En la mayoría de entornos (excepto quizás el doméstico), lo más habitual es que sean muchas las personas que acceden a una base de datos, bien para recuperar información, bien para almacenarla. Y es también frecuente que dichos accesos se realicen de forma simultánea. Así pues, un SGBD debe controlar este acceso concurrente a la información, que puede derivar en inconsistencias. Tiempo de respuesta. Lógicamente, es deseable minimizar el tiempo que el SGBD tarda en darnos la información solicitada yen almacenar los cambios realizados26. Ventajas: 1. Facilidad de manejo de grandes volúmenes de información. 2. Gran velocidad en muy poco tiempo. 3. Independencia del tratamiento de información. 4. Seguridad de la información (acceso a usuarios autorizados), protección de información, de modificaciones, inclusiones, consulta. 5. No hay duplicidad de información, comprobación de información en el momento de introducir la misma. 6. Integridad referencial el terminar los registros. Desventajas: 1. El costo de actualización del hardware y software son muy elevados. 26 http://es.wikipedia.org/ Neevia docConverter 5.1 41 2. El Costo (salario o remuneración) del administrador de la base de datos es grande. 3. El mal diseño de esta puede originar problemas a futuro. 4. Un mal adiestramiento a los usuarios puede originar problemas a futuro. 5. Si no se encuentra un manual del sistema no se podrán hacer relaciones con facilidad. 6. Generan campos vacíos en exceso. 7. El mal diseño de seguridad genera problemas en esta. SGBD libres. • PostgreSQL (http://www.postgresql.org/ Postgresql) Licencia BSD • MySQL Licencia Dual, depende el uso. • Firebird basada en la versión 6 de InterBase, Initial Developer's PUBLIC LICENSE Version 1.0. • SQLite (http://www.sqlite.org/ SQLite) Licencia Dominio Público • DB2Express-C (http://www.ibm.com/ar/businesscenter/catalogo/db2_express-c.phtml) • Apache Derby (http://db.apache.org/derby/) • DB Designer. SGBD gratuitos. • Microsoft SQL Server Compact Edition • Sybase ASE Express Edition para Linux (Edición gratuita para Linux) SGBD comerciales. • Advantage Database • dBase • FileMaker • Fox Pro • IBM DB2 Universal Database (DB2 UDB) • IBM Informix • Interbase de CodeGear, filial de Borland • MAGIC • Microsoft Access • Microsoft SQL Server • NexusDB • Open Access • Oracle • Paradox • PervasiveSQL • Progress (DBMS) • Sybase ASE • Sybase ASA • Sybase IQ • WindowBase Neevia docConverter 5.1 42 El correspondiente código de la Base de Datos utilizada, se encuntra anexo en el CD. Neevia docConverter 5.1 Capítulo III DESARROLLO DE PÁGINAS WEB Neevia docConverter 5.1 43 DESARROLLO DE PÁGINAS WEB INTERNET El Internet, algunas veces llamado simplemente "La Red", es un sistema mundial de redes de computadoras implementado en un conjunto de protocolos denominado TCP/IP. Es un conjunto integrado por las diferentes redes de cada país del mundo, por medio del cual un usuario en cualquier computadora puede, en caso de contar con los permisos apropiados, accesar información de otra computadora y tener inclusive comunicación directa con otros usuarios en otras computadoras. Fue concebido por la agencia de nombre ARPA1 del gobierno de los Estados Unidos en el año de 1969 y se le conocía inicialmente como ARPANET2. El propósito original fue crear una red que permitiera a los investigadores en un Campus comunicarse a través de los sistemas de cómputo con investigadores en otras Universidades3. Internet hoy en día El Internet es un medio de comunicación público, cooperativo y autosuficiente en términos económicos, accesible a cientos de millones de personas en el mundo entero. Físicamente, el Internet usa parte del total de recursos actualmente existentes en las redes de telecomunicaciones. Técnicamente, lo que distingue al Internet es el uso del protocolo de comunicación llamado TCP/IP (Transmission Control Protocol/Internet Protocol). Internet tiene un impacto profundo en el trabajo, el ocio y el conocimiento. Gracias a la web, millones de personas tienen acceso fácil e inmediato a una cantidad extensa y diversa de información en línea. Un ejemplo de esto es el desarrollo y la distribución de colaboración del software de Free/Libre/Open-Source (SEDA) por ejemplo GNU, Linux, Mozilla y OpenOffice.org. Comparado a las enciclopedias y a las bibliotecas tradicionales, la web ha permitido una descentralización repentina y extrema de la información y de los datos. Algunas compañías e individuos han adoptado el uso de los weblogs, que se utilizan en gran parte como diarios actualizables. Algunas organizaciones comerciales animan a su personal para incorporar sus áreas de especialización en sus sitios, con la esperanza de que impresionen a los visitantes con conocimiento experto e información libre. Internet ha llegado a gran parte de los hogares y de las empresas de los países ricos, en este aspecto se ha abierto una brecha digital con los países pobres, en los cuales 1 Advanced Research Projects Agency 2 Advanced Research Projects Agency Network 3 http://es.wikipedia.org/wiki/Internet Neevia docConverter 5.1 44 la penetración de Internet y las nuevas tecnologías es muy limitada para las personas4. Desde una perspectiva cultural del conocimiento, Internet ha sido una ventaja y una responsabilidad. Para la gente que está interesada en otras culturas proporciona una cantidad significativa de información y de una interactividad que sería inasequible de otra manera. Para muchos usuarios del Internet, el correo electrónico (e-mail) ha reemplazado prácticamente al servicio postal para breves mensajes por escrito. El correo electrónico es la aplicación de mayor uso en la red. También se pueden realizar conversaciones "en vivo" con otros usuarios en otras localidades usando el IRC (Internet Relay Chat). Más recientemente, el software y hardware para telefonía en Internet permite conversaciones de voz en línea5. 4 http://es.wikipedia.org/wiki/Internet 5 http://es.wikipedia.org/wiki/Internet Neevia docConverter 5.1 45 3.1 SITIOS Y PÁGINAS WEB World Wide Web (www) o simplemente Web, es el universo de información accesible a través de Internet, una fuente inagotable del conocimiento humano6. Un Sitio Web (en inglés: website) es un conjunto de archivos electrónicos y páginas Web referentes a un tema en particular, que incluye una página inicial de bienvenida generalmente denominada home page, con un nombre de dominio y dirección en Internet específicos7. Los sitios web están escritos en HTML (Hyper Text Markup Language) o dinámicamente convertidos a éste y se acceden usando un software llamado navegador web, también conocido como un cliente HTTP. Los sitios web pueden ser visualizados o accedidos desde un abanico de dispositvos con disponibilidad de Internet como computadoras personales, computadores portatiles, PDAs y telefónos móviles. Al ingresar una dirección, por ejemplo www.wikimedia.org, siempre se está haciendo referencia a un sitio web que tiene una página HTML inicial, que es lo primero que se visualiza. La búsqueda en Internet se realiza asociando el DNS ingresado con la dirección IP del servidor que contenga el sitio web en el cual está la página HTML buscada. Su Sitio Web no necesariamente debe localizarse en el sistema de cómputo de su negocio. Los documentos que integran el Sitio Web pueden ubicarse en un equipo en otra localidad, inclusive en otro país. El único requisito es que el equipo en el que residan los documentos esté conectado a la red mundial de Internet. Este equipo de cómputo o Servidor Web, como se le denomina técnicamente, puede contener más de un sitio Web y atender concurrentemente a los visitantes de cada uno de los diferentes sitios. Al igual que los edificios, oficinas y casas, los Sitios Web requieren de una dirección particular para que los usuarios puedan acceder a la información contenida en ellos. Estas direcciones, o URLs (por sus siglas en inglés Uniform Resource Locator), aparecen cotidianamente en todos los medios decomunicación como son prensa escrita, radio, televisión, revistas, publicaciones técnicas y en el propio Internet a través de los motores de búsqueda (por su denominación en inglés search engines). Los nombres de estos sitios Web obedecen a un sistema mundial de nomenclatura y están regidos por el ICANN8. Los Sitios Web pueden ser de diversos géneros, destacando los sitios de negocios, servicio, comercio electrónico en línea, imagen corporativa, entretenimiento y sitios informativos. 6 http://es.wikipedia.org/ 7 http://es.wikipedia.org/ 8 Internet Corporation for Assigned Names and Numbers (Corporación de Internet para la asignación de Nombre y Números) Neevia docConverter 5.1 46 Un sitio web estático es uno que tiene contenido que no se espera que cambie frecuentemente y se mantiene manualmente por alguna persona o personas que usan algún tipo de programa editor. Hay dos amplias categorías de programas editores usados para este propósito que son: � Editores de texto como Notepad, donde el HTML se manipula directamente en el programa editor. � Editores WYSIWYG9 como por ejemplo Microsoft FrontPage y Macromedia Dreamweaver, donde el sitio se edita usando una interfaz GUI y el HTML subyacente se genera automáticamente con el programa editor10. Un sitio web dinámico es el que tiene cambios frecuentes en la información. Cuando el servidor web recibe una petición para una determinada página de un sitio web, la página se genera automáticamente por el software como respuesta directa a la petición de la página11. No se debe confundir sitio web con página web, esta última es sólo un archivo HTML, y forma parte de un sitio web. Una Página Web es un documento electrónico que contiene información específica de un tema en particular y que es almacenado en algún sistema de cómputo que se encuentre conectado a la red mundial de información denominada Internet, de tal forma que este documento pueda ser consultado por cualesquier persona que se conecte a esta red mundial de comunicaciones y que cuente con los permisos apropiados para hacerlo. Una página Web es la unidad básica del World Wide Web12. Las páginas web generalmente requieren de más espacio del que está disponible en pantalla. La mayoría de los navegadores muestran barras de desplazamiento (scrollbars) en la ventana que permite visualizar todo el contenido. La barra horizontal es menos común que la vertical, no solo porque las páginas horizontales no se imprimen correctamente, sino porque acarrean más inconvenientes para el usuario. Una página web puede ser un solo HTML13 o puede estar constituido por varios formando un arreglo de marcos (frames). Se ha demostrado que los marcos causan problemas en la navegación e impresión, sin embargo, estos problemas generalmente ocurren en navegadores antiguos. Su uso principal es permitir que cierto contenido, que generalmente está planeado para que sea estático (como una página de navegación o encabezados), permanezcan en un sitio definido mientras que el contenido principal puede ser visualizado y desplazado si es necesario. Otra característica de los marcos es que solo el contenido en el marco principal es actualizado. 9 What You See Is What You Getlo (que ves es lo que obtines) 10 http://es.wikipedia.org/ 11 http://es.wikipedia.org/ 12 http://es.wikipedia.org/ 13 Hippertext Markup Languaje (Lenguaje de Marcas de Hipertexto) Neevia docConverter 5.1 47 Cuando las páginas web son almacenadas en un directorio común de un servidor web, se convierten en un website. El website generalmente contiene un grupo de páginas web que están ligadas entre sí. La página más importante que hay que almacenar en el servidor es la página de índice (index). Cuando un navegador visita la página de inicio (homepage) de un website o algún URL apunta a un directorio en vez de a un archivo específico, el servidor web mostrara la página de índice. Cuando se crea una página web, es importante asegurarse que cumple con los estándares del Consorcio World Wide Web (W3C) para el HTML, CSS14, XML15, etc. Los estándares aseguran que todos los navegadores mostrarán información idéntica sin ninguna consideración especial. Una página propiamente codificada es accesible para diferentes navegadores, ya sean nuevos o antiguos, resoluciones, así como para usuarios con incapacidades auditivas y visuales. Una página Web tiene la característica peculiar de que el texto se combina con imágenes para hacer que el documento sea dinámico y permita que se puedan ejecutar diferentes acciones, una tras otra, a través de la selección de texto remarcado o de las imágenes, acción que nos conduce a otra sección dentro del documento, abrir otra página Web, iniciar un mensaje de correo electrónico o transportarnos a otro Sitio Web totalmente distinto a través de sus hipervínculos. Estos documentos pueden ser elaborados por los gobiernos, instituciones educativas, instituciones públicas o privadas, empresas o cualquier otro tipo de asociación, y por las propias personas en lo individual. Las páginas estáticas generalmente usan la extensión de archivo .htm o .html. Las páginas dinámicas usan extensiones que generalmente reflejan el lenguaje o tecnología que se utilizó para crear el código, como .php (PHP16), .jsp (JavaServer), etc. En estos casos, el servidor debe configurarse para entender estas tecnologías17. Las páginas web generalmente incluyen instrucciones para el color del texto y el fondo, así como hipervínculos a imágenes y algunas veces otro tipo de archivos multimedia. La estructura tipográfica y el esquema de color es definida por instrucciones de Hojas de Estilo (CSS-Cascading Style Sheet), que pueden estar adjuntas al HTML o pueden estar en un archivo por separado, al que se hace referencia desde el HTML. Las páginas web dinamicas son aquellas que acceden a bases de datos para extraer información que es presentada al visitante dependiendo de ciertos criterios. Ejemplo de esto son páginas que tienen sistemas de administración de contenido o CMS. 14 Cascading Style Sheets (Hojas de Estilo Cascada) 15 Extensible Markup Language(Lenguaje de marcas extensibles) 16 Hypertext Preprocessor (Preprocesador de Hipertexto) 17 http://es.wikipedia.org/ Neevia docConverter 5.1 48 Estos sistemas cambian el contenido de la página web sin utilizar un programa de ftp para subir los cambios18. Existen diversos lenguajes de programacion que agregan dinamismo a una página web tal es el caso de ASP19, PHP, JSP20 y varios más. 18 http://es.wikipedia.org/ 19 Active Server Pages (Proveedor de Servicios de Aplicación) 20 JavaServer Pages (Servidor de Aplicaciones Java) Neevia docConverter 5.1 49 3.2 HTML HTML es el acrónimo inglés de HyperText Markup Language, que se traduce al español como Lenguaje de Marcas Hipertextuales. Es un lenguaje de marcación diseñado para estructurar textos y presentarlos en forma de hipertexto, que es el formato estándar de las páginas web. Gracias a Internet y a los navegadores como Internet Explorer, Opera, Firefox, Netscape o Safari, el HTML se ha convertido en uno de los formatos más populares y fáciles de aprender que existen para la elaboración de documentos para web21. Historia En 1989 existían dos técnicas que permitieran vincular documentos electrónicos, por un lado los hipervínculos (links) y por otro lado un poderoso lenguaje de etiquetas denominado SGML22. Entonces un usuario conocedor de ambas opciones, Tim Berners-Lee físico nuclear del Centro Europeo para la Investigación Nuclear da a conocer a la prensa que estaba trabajando en un sistema que permitió acceder a ficheros en línea, funcionando sobre redes de computadoras
Compartir