Source: http://docplayer.es/435723-Universidad-tecnica-de-babahoyo.html
Timestamp: 2017-08-19 00:12:05+00:00

Document:
UNIVERSIDAD TECNICA DE BABAHOYO - PDF
Download "UNIVERSIDAD TECNICA DE BABAHOYO"
Ricardo Botella Ramos
1 UNIVERSIDAD TECNICA DE BABAHOYO Facultad de Administración Finanzas e Informática Escuela de Sistemas Tesis de Grado previa obtención al Titulo de INGENIERA EN SISTEMAS Desarrollo de un Sistema Informático para mejorar los Procesos de Asuntos Penales, Civiles y Laborables del Consorcio Jurídico Dr. Napoleón Ocampo Lara Utilizando Herramientas bajo Licencia Pública General. Autora: Alexandra Contreras Sánchez. Babahoyo 2011
2 AGRADECIMIENTO Agradezco a Dios por permitirme alcanzar una meta más en mi vida, a mis padres, maestros y esposo por su apoyo constante e incondicional en esta ardua tarea en la que se convirtió culminar mi carrera profesional y trabajo de tesis, a pesar de los múltiples obstáculos que se presentaron en pos de obtener mi título y ser un profesional en el medio en el que vivimos debido a esos esfuerzos es que se logra cada paso para brindar un buen servicio a cualquier Institucion.. A mi Director de Tesis Ing. Harry Saltos Viteri que conjuntamente con mi Tutor Ing. Zoila Merino me brindaron paciencia, nobleza y apoyo constante en todas las etapas de este proyecto. Al Ing. José Sandoya Villafuerte, Director de Escuela de Sistema, por su colaboración y apoyo constante en todas las etapas de este proyecto. También quiero expresar mis agradecimientos a todos los funcionarios de la facultad de Administración Finanzas e Informática. Alexandra Contreras Sánchez
3 DEDICATORIA Dedico esta tesis especialmente a Dios, a mi Madre la Sra. Reina Sánchez, quien con su dedicación y esfuerzo izo de mi una persona de bien, mi Hijo el Niño Rildo Alejandro Guerrero, mis hermanos y a los maestros que supieron enseñarnos con paciencia cada paso para llegar a obtener el Título Profesional para que de esta manera pueda tener un futuro de vida y progreso es por eso que debemos aprovechar las oportunidad que se presentan para poder sentirnos orgullosos de nosotros mismos. Alexandra Contreras Sánchez
4 FIRMAS DE RESPONSABLES Y NOTAS Decano: Abg. Ausberto Colina Gonzalvo Director de Escuela: Ing. José Sandoya Villafuerte Director de Tesis: Ing. Harry Saltos Lector Consultor: Ing. Zoila Merino 4
5 MIEMBROS DEL TRIBUNAL NOTA Firma Ing Ing Ing
6 DECLARACION DE AUDITORIA La Responsabilidad por los hechos, ideas y doctrinas expuestos en esta tesis, nos corresponden exclusivamente, y el patrimonio intelectual de la misma a la Escuela de Sistemas e informática de la Universidad Técnica de Babahoyo. Contreras Sánchez Epifania Alexandra 6
7 TEMA Desarrollo de un Sistema Informático para mejorar los Procesos de Asuntos Penales, Civiles y Laborables del Consorcio Jurídico Dr. Napoleón Ocampo Lara Utilizando Herramientas bajo Licencia Pública General. 7
8 4. MARCO TEORICO 4.1 ESQUEMA DE CONTENIDOS CONSTITUCION POLITICA DE LA REPUBLICA DEL ECUADOR Descripción General de los Procesos Generales El Pleno de la Corte Constitucional para el Periodo de Transición Disposiciones Transitorios Reglamento de Sustanciación de Procesos de Competencia de la Corte Constitucional Garantías Jurisdiccionales Acción de Interpretación Control Abstracto Control Concreto de Constitucionalidad Otras Competencias Reglas de Procedimiento para el Ejercicio de las Competencias de la Corte Constitucional para el Período de Transición Las Garantías Jurisdiccionales de los Derechos Disposiciones Transitorias Principios y Disposiciones Fundamentales Procedimientos Técnicos Científicos Ley de Control Constitucional Ley Reformatoria al Código Penal 8
9 Código de Proceso Penal Código de Proceso Civil Procedimientos utilizados por el Policía Judicial en la Investigación dentro del Proceso Penal Departamento Médico Legal Contrato de Trabajo Clases de Juicio Asesoría Legal Preparada Planes de Asesoría Legal Preparada Cobertura de los Planes PHP Introducción a PHP Variables Mi Primer Script PHP Operadores en PHP Estructuras de Control Funciones en PHP Inclusión de código Matrices (array) Cadenas de Caracteres Clases Fechas 9
10 Entrada y Salida Operaciones con Ficheros El lenguaje SQL y PHP Conexión con MySQL Sesiones Formularios con PHP MYSQL Historia del proyecto Lenguajes de programación Aplicaciones Especificaciones Plataformas Características de la versión Características adicionales Características (versión 4.0) Mejoras futuras Características distintivas Tipos de compilación del servidor Especificaciones del código fuente Desarrollo del proyecto Otras funcionalidades de las listas de correo Estructuras organizativas/asociativas o de decisión Industria relacionada 10
11 MySQL en cifras Licencia Estado actual Usuarios destacados Referencias Véase también Enlaces externos DREAMWEAVER Introducción Iniciar Dreamweaver Entorno de Trabajo La Ventana del Documento Vistas de Edición Abrir un Documento Nuevo Guardar un Documento Recuperar un Documento Cerrar un Documento El Sitio Configurar un Sitio Nuevo Editar un Sitio Opciones Administrar Sitios El Texto Formateando Textos 11
12 El Panel de Propiedades Formatos en el Panel de Propiedades Las Listas Dar Formato a las Listas Listas Ordenadas El Formato para Listas Ordenadas Los Elementos de las Listas Listas de Definición Crear Tablas Filas y Columnas Panel de Propiedades de las Tablas Propiedades de las Tablas Las Plantillas Formatear tablas Formato de Plantillas Las Imágenes Panel Propiedades de Imagen Propiedades de Imagen Combinar Imágenes y Tablas Textos e Imágenes Los Comportamientos Los Enlaces Vínculos desde Imágenes Enlace internos y externos 12
13 5. ESTRATEGIAS DE DESARROLLO Fundamentación.- El Sistema Experto se desarrollara en el lenguaje de programación PHP y código de HTML, con un manejador de Base de Datos MySQL y un Servidor Wamp que permitirá la ejecución de la aplicación. Software.- Lenguaje de Programación en PHP (WAMP5) Bases de Datos en MySQL (SQLyog) Diseño (HTML y Macromedia Dreamweaver 8 y Macromedia Flash 8) Las Herramientas que Utilizare serán: DREAMWEAVER 8 SQLYOG511 WAMP5_1.6.1 El sistema a desarrollarse contara con los siguientes módulos: Crear cuentas de Usuario Control de Clientes Control de Delitos Crear Datos del Consocio Jurídicos Control de los movimientos y procesos de los Casos Reporte individuales de los procesos penales por Cliente Reporte de generales de Clientes, Delitos y Casos 13
14 CAPITULO I 1. EL PROBLEMA 1.1 PLANTEAMIENTO DEL PROBLEMA En la actualidad el consorcio jurídico de asuntos penales, civiles y laborables en su despacho no cuenta con un registro adecuado para realizar búsquedas eficientemente; si se desea realizar consultas y trámites o estado del juicio, las tareas que se llevan a cabo manualmente produciéndose una situación caótica y retrasos debido a la gran cantidad de archivos lo cual conlleva a una desorganizada recepción de los casos por parte del personal administrativo. Todas estas dificultades mencionadas anteriormente provocaban obstáculo al momento de dar cabida a los procesos legales con mayor agilidad no cumpliendo con el objetivo que es lograr solucionar con rapidez los procesos legales que requiere el caso. Al no efectuar el trabajo de índole legal para resolver las necesidades de los clientes de manera eficiente y en resguardo de sus intereses es por este motivo que en esta tesis se abordará este problema por lo cual La creación de un sistema que se encuentre acorde a las necesidades del consocio jurídico nos va a permitir realizar las actividades con mayor eficiencia, rapidez y seguridad. 1.2 FORMULACION DEL PROBLEMA 14
15 Cómo mejorar los procesos de asuntos penales, civiles y laborales del Consocio Jurídico Dr. Napoleón Ocampo Lara, mediante la creación de un software bajo licencia pública general?. 1.3 DELIMITACION Esta investigación se llevara a cabo en la Ciudad de Ventanas donde se encuentra ubicada la Consocio Jurídico Dr. Napoleón Ocampo Lara. Campo de Acción._ Ingeniería de Sistema. Lugar._ El Consocio Jurídico Dr. Napoleón Ocampo Lara se encuentra ubicada la calle 9 de Octubre y Velasco Ibarra en la Ciudad de Ventanas. Tiempo.- 6 meses. 1.4 OBJETIVOS OBJETIVO GENERAL Elaborar e implementar un sistema para mejorar los procesos de asuntos penales, civiles y laborales del Consocio Jurídico Dr. Napoleón Ocampo Lara OBJETIVOS ESPECIFICOS 15
16 Utilizar la tecnología bajo licencia pública general así como las herramientas de ayuda para la creación un software en el Consocio Jurídico Dr. Napoleón Ocampo Lara. Fundamentar científicamente los Sistemas Informáticos, herramientas de desarrollo y control de los procesos: penales, civiles y laborales del Consocio Jurídico Dr. Napoleón Ocampo Lara. Desarrollar una investigación que generen conocimientos sobre los efectos del uso de las tecnologías bajo licencia publicas general. 1.5 JUSTIFICACION Para cualquier consorcio jurídico es importante llevar un control exacto y apropiado de los casos en estudio porque de esta manera permitirá disponer de un orden adecuado de la información, al implantar un programa proporcionara una herramienta de control de para los procesos de asuntos penales, civiles y laborales. La aplicación de este software en movimientos judiciales en cada uno de los casos contribuirá a mejorará el control de las actividades ayudando a brindar un mejor servicio a los clientes a si como facilitando los procesos en el consorcio. 16
17 Este proyecto pretende hacer, es una propuesta factible debido a que se necesita de una herramienta donde se pueda llevar un control de todos los casos, así como también los movimientos de los trámites legales es por esta razón que se desarrollara un aplicación informática para administrar el consocio jurídico, y así poder tener una observación absoluta de los procesos y actividades que se necesitan para dar tramite legal a los casos ya sea semanal o periódicamente, al contar con un sistema de aplicación. Mediante la creación de esta aplicación se podrá efectuar con mayor claridad y eficiencia las labores que realiza el personal administrativo por lo cual la ejecución de este proyecto, es de fundamental importancia y mantiene entre sus principales ventajas es mejorar y agilizar el servicio a los litigantes, desarrollando la implementación mediante la ayuda de los programas WAMP Y SQLYOG, se puede realizar el software que deseamos efectuar para el consorcio con el objetivo de un control automático y rápido. La realización de esta aplicación exclusiva para el Consorcio Jurídico Dr. Napoleón Ocampo Lara, permitirá un control absoluto de la información y procesos legales. Los resultados que se logren con esta aplicación web ayudaran a registrar los principales delitos y denuncias en el cantón Ventanas. De esta manera se podrá 17
18 clasificar de forma correcta al momento de efectuar las denuncias y demandas de delito que se ha cometido en un determinado Periodo. Los beneficiarios directos de esta aplicación serán quienes acceden a los datos brindando nuevas tecnologías informáticas aplicadas en la estadística de esta manera proporcionar un software destinado al manejo de delitos y denuncias en el cantón Ventanas. De manera indirecta también se pretende dar facilidad a la persona(s) encargada(s) de actualizar o ingresar la información ya que el manejo de este sistema se pretende de fácil uso y manejo al momento de realizar reportes o consultas en el momento que se lo requiere de todos los delitos que han denuncia en el Cantón Ventanas. La aplicación que se va a realizar en el sistema para el control del consorcio utilizara tecnología Wamp la cual se basa principalmente en tener registrada toda la información de las demandas y denuncias que se realicen en el consorcio jurídico y convertir a la estadística en un instrumento de decisión racional para el personal administrativo y así hacer un centro de referencias en el consorcio en la aplicación de la estadística a los problemas de la sociedad. Este software igualmente facilitara la verificación de los delitos cometidos y niveles de violencia, de esta forma será más rápida la manera de visualizar dicha información y verificar el aumento o disminución de la violencia en el cantón 18
19 Ventanas en las mediciones estadísticas y así por medio del sistema se organizara e interpretara la información. CAPITULO II 2.MARCO TEORICO 2.1 DELITOS CONTRA LAS PERSONAS Secuestro Express El delito en que se "despoja al conductor o los ocupantes de un vehículo automotor, y lo utilizan con la finalidad de cometer otros delitos aunque no exista ánimo de apropiación del vehículo" se denomina "SECUESTRO EXPRESS". Este delito aparece así definido en el Artículo 552 del Código Penal Ecuatoriano, desde el 9 de Noviembre de 2005; también, en el mencionado cuerpo legal, se indican las variedades de sanciones con las que deben ser reprimidos quienes sean encontrados culpables de este delito. 19
20 El abuso de confianza Es aquel que se produce cuando en perjuicio de alguien, se disponga para sí o para otro, de cualquier cosa ajena o mueble, de la que se haya transmitido la tenencia y no el domicilio, quiere decir el darle de más de fe a una persona a la cual le confiamos todo y te da simple y sencillamente la espalda sin saber ni de tu dinero y hasta poder perder la vida. El robo El que se apodera de una cosa ajena sin derecho y sin arreglo con la ley, es decir si tomas algo que según es prestado hay que tener cuidado y antes de cuidado el consentimiento de la persona sólo así se podrá formar parte del intercambio o bien del préstamo. Absolutorio/a: Se designa así al auto, fallo o sentencia judicial, que declara libre de la acusación, pena, delito o deuda al demandado/a o reo, por los cuales era acusado/a o estaba sufriendo detención o condena. El delito de fraude Se comete mediante engaño que se hace a uno aprovechándose del error en que éste se halla se hace ilícitamente de alguna cosa o alcanza un lucro indebido. 20
21 Homicidio El homicidio es el acto en que se causa la muerte de otra persona. El abuso sexual Es definido como cualquier actividad sexual entre dos personas sin el consentimiento de una. El abuso sexual puede producirse entre adultos, de un adulto a un menor o incluso entre menores. DELITOS CONTRA LA PROPIEDAD Hurto Un delincuente comete un HURTO, cuando se sustrae uno o varios bienes que no le pertenecen, con el ánimo de apropiarse de éstos sin violencia ni amenazas contra su legítimo propietario, sin forzar el objeto sustraído o su continente. También se incurre en HURTO si la sustracción se produce aprovechando desastres naturales o conmoción pública como incendios, naufragios o accidentes de tránsito. 21
22 Robo El delito ROBO se comete si el infractor se apropia de un bien mediante violencia o amenazas contra las personas o fuerza en las cosas, sea que la violencia tenga lugar antes del acto para facilitarlo, en el momento de cometerlo, o después de cometido para procurar su impunidad. Robo Agravado El delito ROBO definido anteriormente se considera AGRAVADO si se ha ejecutado con el apoyo de armas, o por la noche, o en despoblado, o en pandilla. Estafa Es un delito contra la propiedad o el patrimonio. Violación de domicilio Es un delito cuya comisión viene determinada por el hecho de entrar en el domicilio de una persona sin su consentimiento o permanecer en él contra su voluntad. 22
23 OTROS DELITOS Absolver del cargo: Dar por libre al reo o demandado/a civil o criminalmente.- Liberar de cargo u obligación. También se utiliza la palabra absolver para referirse a las preguntas de un interrogatorio que han de ser contestadas bajo juramento. Actor/a del Juicio: Quien asume la iniciativa procesal, el que ejercita una acción. Sinónimo de demandante; o sea, el que en juicio formula una petición o interpone una demanda. En los asuntos penales se le denomina acusador/a o querellante. Agresión: Toda acción contraria al derecho de otro/a; y en sentido estricto, la acción o efecto de acometer, de atacar. Así en derecho es el ataque, el acometimiento dirigido violentamente contra una persona para causarle algún daño en sus bienes, para herirla o matarla. Allanamiento: Penetrar en un domicilio o local privado, con poder escrito de la autoridad judicial, para realizar en él ciertas diligencias, como detenciones, registros. 23
24 Arresto temporal: Es el acto ejecutado por autoridad competente de aprehender a una persona de la que se sospeche haya cometido un delito o una contravención, y retenerla, hasta que intervenga el/la Juez/a pertinente. Arresto del rebelde: Es exclusivamente para lograr la comparecencia del acusado/a para su juzgamiento. Citación: Diligencia por la cual se hace saber al demandado/a el contenido de la demanda o del acto preparatorio o de las providencias recaídas en esos escritos. Competencia: Es la medida dentro de la cual la referida potestad autoridad, está distribuida entre los diversos tribunales y juzgados, por razón del territorio, de las casos, de las personas y de los grados. Confesión del acusado: Declaración que, sobre lo sabido o hecho por él, hace alguien voluntariamente o preguntado por otro/a. Es el reconocimiento que una persona hace contra sí misma de la verdad de un hecho. Contravención: Falta que se comete al no cumplir lo ordenado.- Trasgresión a la Ley de conformidad con nuestra Legislación, se considera contravención cuando 24
25 la incapacidad para el trabajo no es mayor de tres días, cuando la incapacidad supera este tiempo se lo considera delito. Contravención flagrante: Se refiere a la infracción que se descubre en el momento mismo de su realización; y, cuya comisión en público ante diversos/as testigos/as facilita la prueba y permite abreviar el procedimiento. Daños y perjuicios: Constituye este concepto uno de los principales en la función tutelar y reparadora del derecho. En sentido jurídico, se considera daño el mal que se causa a una persona o cosa, como una herida o la rotura de un objeto ajeno; y por perjuicio, la pérdida de utilidad o de ganancia, cierta y positiva, que ha dejado de obtenerse; pues el/la herido/a por ejemplo, ha perdido sueldos u honorarios, o la máquina rota ha dejado de producir tal artículo. Demanda de juicio: Petición, solicitud, súplica, ruego. Procesalmente en su acepción principal, es el escrito por el cual el/la actor/a o demandante ejercita en juicio civil una o varias acciones o entabla recurso en la jurisdicción contencioso administrativa. Demandado: Aquel contra el cual se pide algo en juicio civil o contencioso administrativo; la persona contra la cual se interpone la demanda. Se le denomina así mismo parte demandada o reo, aunque esta última calificación se va tornando privativa del proceso penal. 25
26 Demandante: Quien demanda, pide, insta o solicita. El/la que entable una acción judicial, el/la que pide algo en juicio, quien asuma la iniciativa procesal. Constituyen sinónimos los términos: actor/a, parte actora y demandante. Denuncia: Acto por el cual se da conocimiento a la autoridad, por escrito o verbalmente, de un hecho contrario a las leyes, con objeto de que ésta proceda a su averiguación y castigo. Expediente: Conjunto de papeles, documentos y otras pruebas o antecedentes que pertenecen a un asunto o negocio, relacionado con oficinas públicas o privadas. Indefensión: Es la vulneración de un derecho legítimo de el/la que ha sido defendido/a o no se ha defendido en un juicio que lo/la afecta. Indemnización: Resarcimiento económico del daño o perjuicio causado. Suma o cosa con que se indemniza. En general reparación, compensación, satisfacción. Inspección ocular: El examen o reconocimiento que hace el/la Jueza por sí mismo, o por peritos, del lugar donde se produjo un hecho, o de la cosa litigiosa o controvertida, para enterarse de su estado y juzgar así con más acierto. 26
27 Jurisdicción: Genéricamente, autoridad, potestad, dominio, poder. Conjunto de atribuciones que corresponden en una materia y en cierta esfera territorial. Poder para gobernar y para aplicar las leyes. La potestad de conocer y fallar en asuntos civiles, criminales o de otra naturaleza, según las disposiciones legales o el arbitrio concedido. Territorio en que un/a Juez/a o Tribunal ejerce su autoridad. Legalizar: Dar estado o forma legal. Extender una legalización, para fe y crédito de un documento o de una firma. Malos tratos: Tanto las ofensas de palabra como las de obra que niegan el mutuo afecto entre personas cuya relación es continuar, en particular por vínculos familiares o profesionales. Notificación: Es el acto por el cual se pone en conocimiento de las partes o de otras personas o funcionarios/as, en su caso, las sentencias, autos y demás providencias judiciales o se hace saber a quién debe cumplir una orden o aceptar un nombramiento expedido por el/la Juez/a. 27
28 Patrocinio: Defensa. Amparo. Asesoramiento técnico y representación de procedimiento que las partes litigantes, por imperativo de la ley o voluntariamente, conceden, cada una de ellas, a distinto abogado/a. Plazo: Tiempo o lapso fijado para una acción. Vencimiento del mismo o término propiamente dicho. Procesalmente, el espacio de tiempo concedido a las partes para comparecer, responder, probar, alegar, consentir o negar en juicio. Se cuenta todos los días incluidos fines de semana y feriados. Violencia contra la mujer: Cualquier acción o conducta, basada en su género, que cause muerte, daño o sufrimiento físico, sexual o psicológico a la mujer, tanto en el ámbito público como en el privado. Violencia física: Todo acto de fuerza que cause daño, dolor o sufrimiento físico en las personas agredidas cualquiera que sea el medio empleado y sus consecuencias, sin considerarse el tiempo que se requiera para su recuperación. Violencia psicológica: Constituye toda acción u omisión que cause daño, dolor, perturbación emocional, alteración psicológica o disminución de la autoestima de la mujer o el familiar agredido/a. Es también la intimidación o amenaza mediante la utilización de apremio moral sobre otro miembro de familia infundiendo miedo o 28
29 temor a sufrir un mal grave e inminente en su persona o en la de sus ascendientes, descendientes o afines hasta el segundo grado. 2.2 Panorama actual del entorno de las telecomunicaciones La opinión general es la que la infraestructura y las redes de las telecomunicaciones han impulsado el crecimiento económico y el desarrollo social durante muchas décadas, que continuaran haciéndolo en el futuro. Sin embargo, el entorno de las telecomunicaciones se encuentra desde hace 20 años en un estado de cambio continuo que es consecuencia de los adelantos tecnológicos, la desreglamentación, la privatización y el aumento de la competencia a escala mundial. Los cambios han sido, y continuaran siendo, tanto de naturaleza política como tecnológica. En lo que a la política se refiere, se a pasado de un sistema basado principalmente en monopolios controlados por El Estado a un sistema fundamentalmente privado y abierto a la competencia, en que los organismos reguladores nacionales se encargan de supervisar algunas de las actividades de las empresas. Por su parte, la tecnología ha evolucionado desde un sistema en el que la mayor parte de los ingresos provenían de inversiones a largo plazo en servicios de voz que evolucionaban lentamente y que se ofrecen a través de líneas fijas a un sistema en el que en el futuro los ingresos se obtendrán principalmente de los servicios y aplicaciones de telecomunicaciones que cambian rápidamente y que utilizan tecnologías móviles y basadas en IP. 29
30 A pesar de estos cambios continuos, existe un acuerdo general entre los miembros de la UIT en lo que se respecta a la función que desempeña un entorno habilitador para el desarrollo de la TIC. Puede resulta de interés para los lectores consultar el Informe Final de la Comisión de Estudio 1 del UIT-D relativo a la promoción de la infraestructura y utilización de Internet en los países en desarrollo. Redes basadas en el protocolo Internet (IP) Existen muchas maneras de clasificar las redes, a saber, en función de su topología lógica (punto a punto o difusión); topología física (radial; bus; en anillo); según el medio de transmisión (alambrica, inalámbrica, fijas, móviles); velocidad; protocolo de transmisión; etc. Internet se clasifica a menudo como una red con conmutación de paquete. Según este tipo de clasificación existen tres tipos fundamentales de redes: con conmutación de circuitos (por ejemplo, las redes telefónicas); con conmutación de paquetes orientadas a la conexión (como por ejemplo pueden citarse la X.25 y la X.75) y con conmutación de paquetes sin conexión (ejemplos de estas son redes basadas en IP y el Sistema de Señalización N. º 7). Por otra parte, Internet también puede clasificarse como una arquitectura lógica independiente de las características particulares de la red, que permite conectar redes de distintos tipos, de modos que los ordenadores y las personas puedan comunicarse si que para ello tenga que conocer que red se están utilizando o la manera de encaminar la información. Es decir, Internet es una creación 30
31 conceptual que consiste en protocolos y procedimientos que utilizan las redes constituyentes para interconectarse. Esta idea procede de una definición que presento el Federal Networking Council de los Estados Unidos (Resolución 1995) al Grupo de Trabajo sobre gobierno de Internet1 de la Naciones Unidas, con la correspondiente enmienda para indicar la naturaleza cambiante de Internet2. La naturaleza con conmutación de paquetes y sin conexión de las redes IP es, sin duda alguna, una características con sus ventajas e inconvenientes, aunque esta es menos importante que otras dos características de índole histórica, a saber: a) Inteligencia en los extremos (conocida también con el nombre de arquitectura en forma de reloj de arena ). De acuerdo con la publicación del Nacional Research Council de los Estados Unidos titulada The Internet s Comino of Age (Nacional Academy Press, 2001): Como consecuencia de esta arquitectura en forma de reloj de arena, la innovación se realiza en el extremo de la red, esto es, en el software que corre en los dispositivos conectados a la red y que utilizan interfaces abiertas. En cambio, la RTPC (red telefónica tradicional) fue diseñada para dispositivos extremos con muy poca inteligencia-teléfonos-y funciona gracias a un núcleo sostificado que corresponde a lo que se denomina recursos inteligentes. Desde el punto de vista histórico, esta afirmación es verdadera aunque la situación está cambiando, pues el objetivo final de la NGN, que por definición es una red basada en paquetes, es combinar la inteligencia en los extremos y en el núcleo. 31
32 b) Encaminamiento dinámico, denominado también principio de robustez. Tal y como se indica en esta misma publicación: Podría decirse que el principio de robustez es la característica de Internet mas importante. Este principio fue adoptado inicialmente por la ARPANET, para aplicaciones de defensas (es decir, configuración dinámica de la red) y luego en Internet para poder interconectar diversos conjuntos de redes creadas por varios ingenieros mediante componentes que emplean tecnologías diferentes (es decir, la red es heterogénea en dispositivos y tecnología). Al adoptar ambos requisitos, Internet permite la gestión descentralizada, el crecimiento y, por consiguiente, la evolución. Por otra parte, cabe observar que ciertas aplicaciones basadas en IP (en particular el correo electrónico y la Red (World Wide Web) utilizan sobremanera los servicios de resolución de nombres que ofrecen el sistema de nombres de dominio (DNS). El DNS es una base de datos jerárquica totalmente distribuido, basada en un sistema de servidores autorizados y redundante que facilitan información sobre nombres de dominio particulares. Concretamente, el DNS se basa en servidores raíz en la parte superior de la jerarquía de denominación; se considera que estos servidores raíz son los recursos centrales esenciales del DNS. Desde el punto de vista operacional, los ordenadores que ofrecen el servicio DNS están descentralizados(los servicios raíz están distribuidos) aunque la originacion autorizada del DNS está centralizada desde la perspectiva de la gestión de datos (todos los servicios raíz contienen copias idénticas de los datos que se obtienen de una única fuente central). La función esencial del sistema de servidores raíz (si bien es cierto que únicamente para el propósito concreto de 32
33 denominación de ordenadores) es una característica única de Internet, y por tanto no tiene equivalente en muchas otras tecnologías de red. 2.3 Redes públicas y privadas Por red públicas se entiende una red a la que pueden acceder cualquier usuario, mientras que una red privada solo puede acceder un grupo registrado de personas, por lo general los empleados de una determinada empresa privada. La mayoría de los países hacen la diferencia entre redes públicas y privadas y aplican una reglamentación muy diferente a cada una; de hecho, la reglamentación que se aplica a las redes privadas, en caso de existir, es muy poca y solo aparece si una parte de estas redes es de acceso público (por ejemplo, el acceso a direcciones en la Red de grupos privados o el envió de correo electrónico a dichos grupos). Definición de Internet Existen muchas definiciones de Internet. La siguiente definición técnica fue adoptada por la Comisión de Estudio 13 del UIT-T en la Recomendación Y101 sobre terminología de la infraestructura mundial de la información: Conjunto de redes interconectadas que utilizan el protocolo Internet, que les permite funcionar como una única y gran red virtual. 33
34 Como consecuencia de la Fase 1 de la Cumbre Mundial sobre la Sociedad de la Información (CMSI) de las Naciones Unidas, se creó un Grupo de Trabajo sobre el gobierno de Internet (WGIG), con un mandato especifico, en particular el de formular una definición provisional de gobierno de Internet. Algunas Organizaciones Pertinentes Existen numerosas organizaciones que se ocupan de la normalización y desarrollo de redes IP. Algunas tienen el carácter de tratados intergubernamentales, como por ejemplo la UIT, otras son fundamentalmente no gubernamentales, por ejemplo el Grupo Especial sobre la Ingeniería de Internet (IETF), incluida la Comisión de Arquitectura de Internet (IAB), mientras que otras reúnen a gobierno, sector privado, sociedad civil y universidades, tales como la Organización Internacional para la Normalización (ISO), la CEI y la ICANN (Corporación para la Asignación de Nombres y Números Internet). Cada una de estas organizaciones desempeña una función en el desarrollo de redes IP, incluidas la Internet. A continuación se describen algunas de estas organizaciones. 34
35 Unión Internacional de Telecomunicaciones (UIT) Creada en 1865 como una organización intergubernamental para la telegrafía, la Unión Internacional de Telecomunicaciones (UIT) se convirtió posteriormente en el organismo del sistema de las Naciones Unidas especializado en servicio de telecomunicaciones. Es una organización internacional e imparcial que reúne a gobiernos y sector privados para cumplir el cometido de la Unión especificado en los números 2 a 19 A del Articulo 1 de la Constitución de la UIT. Los tres Sectores de la Unión, Radiocomunicaciones (UIT-R) Normalización de las Telecomunicaciones (UIT-T) y Desarrollo de las Telecomunicaciones (UIT-D), trabajan en la actualidad para construir y configurar las redes y servicios del mañana. La Secretaria General, en particular la Unidad de Estrategias y Políticas (SPU), ayuda a los tres sectores a desempeñar su labor. La actividades de la UIT abarcan todos los aspectos de la telecomunicación, en particular los tratados sobre asuntos relacionados con el aspecto radioeléctrico(el reglamento de Radiocomunicaciones ) y el Reglamento de las Telecomunicaciones Internacionales (RTI), así como la elaboración de Recomendaciones que garanticen el interfuncionamiento sin interrupciones de los equipos y sistemas de telecomunicaciones a escala mundial, la adopción de los procedimientos de funcionamiento del conjunto sumamente amplio y en crecimiento de servicios alambritos e inalámbricos, y la preparación de programas para mejorar la infraestructura de las telecomunicaciones en el mundo en desarrollo. 35
36 Las funciones y estructura del Sector de Radiocomunicaciones de la UIT son las siguientes: El Sector de Radiocomunicaciones tendrá como función, teniendo presente las preocupaciones particulares de los países en desarrollo, el logro de los objetivos de la Unión en materia de radiocomunicaciones enunciados en el artículo 1 de la presente Constitución, garantizando la utilización racional, equitativa, eficaz y económica del espectro de frecuencias radioeléctricas por todos los servicios de radiocomunicaciones, incluido los que utilizan la órbita de los satélites geoestacionarios u otras orbitas, a reserva de lo dispuesto en el artículo 44 de la presente Constitución, y realizando estudios sin limitación de gamas de frecuencias y adoptando recomendaciones sobre radiocomunicaciones. Las funciones y estructura del Sector de Normalización de las Telecomunicaciones de la UIT son las siguientes: El Sector de Normalización de las Telecomunicaciones tendrá como funciones el logro de los objetivos de la Unión en materia de normalización de las telecomunicaciones enunciados en el artículo1 de la presente constitución, teniendo presentes las preocupaciones particulares de los países en desarrollo, estudiando para ello las cuestiones técnicas, de explotación y de tarificación relacionadas con las telecomunicaciones y adoptando recomendaciones al respecto para la normalización de las telecomunicaciones a escala mundial. Las funciones y estructuras del Sector de Desarrollo de las Telecomunicaciones de la UIT son las siguientes: 36
37 Las funciones del Sector de Desarrollo de las Telecomunicaciones consistirán en cumplir el objeto de la Unión enunciado en el artículo1 de la presente constitución y desempeñar, en el marco de su esfera de competencia especifica, el doble cometido de la Unión como organismo especializado de las Naciones Unidas y de otras iniciativas de financiación, con objeto de facilitar y potenciar el desarrollo de las telecomunicaciones ofreciendo, organizando y coordinando actividades de cooperación y asistencias técnicas. El termino telecomunicación se define en la Constitución y en el Convenio de la UIT del modo siguiente: Toda transmisión, emisión o recepción de signos, señales, escritos, imágenes, sonidos o informaciones de cualquier naturaleza por hilo, radioelectricidad, medios ópticos u otros sistemas electromagnéticos. El Servicio Internacional de telecomunicación se define en la Constitución y en el Convenio de la UIT del modo siguiente: Prestación de telecomunicación entre oficinas o estaciones de telecomunicación de cualquier naturaleza, situadas en países distintos o pertenecientes a países distintos. Las actividades de los Sectores de Desarrollo, Radiocomunicaciones y Normalización de las Telecomunicaciones serán objeto de una estrecha cooperación en asuntos relacionados con el desarrollo, de conformidad con las disposiciones pertinentes de la presente Constitución. En ese contexto, el Sector de Desarrollo de las Telecomunicaciones tendrá las funciones siguientes: a) crear una mayor conciencia en, los responsables de decisiones acerca del importante papel que desempeñan las telecomunicaciones 37
38 en los programas nacionales de desarrollo económico y social, y facilitar información y asesoramiento sobre posibles opciones de política y estructura; b)promover, en particular a través de la colaboración, el desarrollo, la expansión y la explotación de los servicios y redes de telecomunicaciones, particularmente en los países en desarrollo, teniendo en cuenta las actividades de otros órganos interesados, y reforzados las capacidades de revalorización de recursos humanos, de planificación, gestión y movilización de recursos, y de investigación y desarrollo; c) potencial el crecimiento de las telecomunicaciones mediante la cooperación con organizaciones regionales de telecomunicación y con instituciones mundiales y regionales de financiación del desarrollo, siguiendo la evolución de los proyectos mantenidos en su programa de desarrollo, a fin de velar por su correcta ejecución; d)activar la movilización de recursos para brindar asistencia en materia de telecomunicaciones a los países en desarrollo, promoviendo el establecimiento de líneas de crédito preferenciales y favorables y cooperando con las organizaciones financieras y de desarrollo internacional y regionales; e) promover y coordinar programas que aceleren la transferencia de tecnologías apropiadas a los países en desarrollo, considerando la evolución y los cambios que se producen en las redes de los países más avanzados; f) alentar la participación de la industria en el desarrollo de las telecomunicaciones en los países en desarrollo, y ofrecer asesoramiento sobre la elección y la trasferencia de la tecnología apropiada; g) ofrecer asesoramiento y realizar o patrocinar, en su caso, los estudios necesarios sobre cuestiones técnicas, económicas, financieras, administrativas, reglamentarias y de telecomunicaciones; h) colaborar con los otros Sectores, la Secretaria General y otros órganos interesados, en la 38
39 preparación de un plan general de redes de telecomunicación internacionales y regionales, con objeto de facilitar el desarrollo coordinado de las mismas para ofrecer servicios de telecomunicación. La ULT fomenta y coordina el desarrollo y evolución de la mayor parte de las interfaces de telecomunicaciones, en particular las que forman parte de las redes IP. Comisión de Arquitectura de Internet (IAB) y grupo Especiales sobre Ingeniería de Internet (IETF). El Grupo Especial sobre Internet (IETF) es una comunidad internacional no gubernamental y abierta a la participación de ingenieros, operadores, fabricantes e investigadores de redes, procedentes principalmente de los países industrializados, que se encargan de la arquitectura Internet y de su correcto funcionamiento. En este grupo puede particular cualquier persona que lo desee, aportando sus conocimientos personales. La labor técnica real del IETF, que incluye el desarrollo de normas de Internet, se realiza en sus grupos de trabajo que se dividen por temas de diferentes ámbitos (por ejemplo, encaminamiento, transporte, seguridad, etc.). La mayor parte de las actividades se llevan a cabo por listas de correo electrónico. El IETF se reúne tres veces por año. Los grupos de trabajo de EITF se clasifican en ámbitos de estudio, y existen directores para cada ámbito. Los directores son miembros del Grupo de Dirección de Ingeniería de Internet (IESG). La Comisión de Arquitectura de Internet (IAB) se encarga de supervisas la arquitectura de esa red. La IAB también se encarga del 39
40 arbitraje en las reclamaciones contra el IESG. A tal efecto, la IAB y el IESG se rigen por los Estatutos de la Sociedad de Internet (ISOC). El Presidente del IESG y del IETF, y es un miembro ex officio de la IAB. Existe una buena colaboración entre el UIT-T y el UIT-R, por una parte, y el IETF, por la otra; concretamente, los resultados pertinentes del IETF se incluyen como referencia (continua.) reportados y conocidos se arreglan en la última versión, con las excepciones listadas en las secciones de bugs y que están relacionados con problemas de diseño. El diseño de MySQL Server es multi capa, con módulos independientes. Algunos de los módulos se listan a continuación con una indicación de lo bien testeados que están: Replicación (Estable) Hay grandes grupos de servidores usando replicación en producción, con buenos resultados. Se trabaja para mejorar características de replicación en MySQL 5.x. InnoDB tablas (Estable) El motor de almacenamiento transaccional InnoDB es estable y usado en grandes sistemas de producción con alta carga de trabajo. BDB tablas (Estables) El código Berkeley DB es muy estable, pero todavía lo estamos mejorando con el interfaz del motor de almacenamiento transaccional BDB en MySQL Server. Búsqueda Full-text(Estable) Búsqueda Full-text es ampliamente usada. MyODBC 3.51(Estable) 40
41 MyODBC 3.51 usa ODBC SDK 3.51 y es usado en sistemas de producción ampliamente. Algunas cuestiones surgidas parecen ser cuestión de las aplicaciones que lo usan e independientes del controlador ODBC o la base de datos subyacente. 2.4 Dimensiones máximas de las tablas MySQL. En MySQL 5.0, usando el motor de almacenamiento MyISAM, el máximo tamaño de las tablas es de terebytes (256^ 7-1 bytes). Por lo tanto, el tamaño efectivo máximo para las bases de datos en MySQL usualmente los determinan los límites de tamaño de ficheros del sistema operativo, y no por límites internos de MySQL. El motor de almacenamiento InnoDB mantienen las tablas en un espacio que puede ser creado a partir de varios ficheros. Esto permite que una tabla supere el tamaño máximo individual de un fichero. Este espacio puede incluir particiones de disco, lo que permite tablas extremadamente grandes. El tamaño máximo del espacio de tablas es 64TB. La siguiente tabla lista algunos ejemplos de límites de tamaño de ficheros de sistemas operativos. Esto es solo una burda guía y no pretende ser definitiva. Para la información más actual, asegúrese de consultar la documentación específica de su sistema operativo. Características Serie MySQL. 41
42 Claves foráneas para tablas MyISAM 5.1 (ya implementado para tablas InnoDB). Disparadores 5.0 y 5.1. Full outer join 5.1. Restricciones de integridad 5.1. El servidor MySQL incrustado (embedded). La biblioteca del servidor incrustado libmysqld permite MySQL Server pueda trabajar con una gran cantidad de dominios de aplicaciones. Usando esta biblioteca, los desarrolladores puede añadir MySQl Server en varias aplicaciones y dispositivos electrónicos, donde el usuario final no tiene conocimiento que hay una base de datos subyacentes. MySQL Server incrustado es ideal para el uso tras aplicaciones en Internet, kioscos públicos, combinación de hardware/software en llaveros, servidores de altos rendimientos de Internet, bases de datos auto contenidas en CD-ROM, y así. Muchos usuarios de libmysqld de benefician de la licencia dual de MySQL. Para los que no quieran estar ligados a la licencia GPL, el software está disponible con licencia de MySQL AB. La biblioteca cliente normal, por lo que es conveniente y fácil de usar. En Windows hay dos bibliotecas diferentes: libmysqld.lib Biblioteca dinámica para aplicaciones threaded. mysqldemd.lib Biblioteca estático para aplicaciones no threaded. 42
43 Diferencias en MySQL del estándar SQL. Intentamos que MySQL Server siga los estándares ANSI SQL y el estándar ODBC SQL, pero MySQL Server ejecuta operaciones de forma distinta en algunos casos: Para columnas VARCHAR, los espacios finales se eliminan cuando el valor se guarda. (Arreglado en MySQL 5.0.3). Funciones y Operadores Las expresiones pueden usarse en varios puntos de los comandos SQL, tales como en las cláusulas ORDER BY o HAVING de los comandos SELECT, en la cláusula WHERE de los comandos SELECT; DELETE o UPDATE o en comandos, SET. Las expresiones pueden escribirse usando valores literales, valores de columnas, NULL, funciones i operadores. Este capítulo describe las funciones y operadores permitidos para escribir expresiones en MySQL. Una expresión que contiene NULL siempre produce un valor NULL a no ser que se indique de otro modo en la documentación para una función u operador particular. NOTA: Por defecto, no debe haber espacios en blanco entre un nombre de función y los paréntesis que lo siguen. Esto ayuda al pasar de MySQL a distinguir entre llamadas a funciones y referencias a tablas o columnas que tengan el mismo nombre que una función. 43
44 Sin embargo, se permite espacios entre los argumentos de las funciones. Puede decirle a MySQL Server que acepte espacios tras los nombres de funciones arrancando pedir este comportamiento usando la opción - -SQLmode=IGNORE_SPACE. Los programas clientes pueden pedir este comportamiento usando la opción CLIENTE_IGNORE_SPACE para mysql_real_connect ( ). En cualquier caso, todos los nombres de función son palabras reservadas. Para una mayor brevedad, la mayoría de ejemplos de este capítulo muestran la salida del programa mysql de forma abreviada. En lugar de mostrar ejemplos en este formato: Mysql> SELECT MOD (29,9); mod.(29,9) 2 I rows in set (0.00 sec) Se usa este otro: Mysql> SELECT MOD (29,9); ->2 Operadores Precedencias de los Operadores La precedencia de operadores se muestra en la siguiente lista, de menor a mayor precedencia. Los operadores que se muestran juntos en una línea tienen la misma precedencia. 44
45 := OR, XOR &&, AND NOT BETWEEN, CASE, WHEN, THEN, ELSE =, < = >, >=, >, <=, <, <>,! =, IS, LIKE, REGEXP, IN & <<, >> -, + *, /, DIV, %, MOD ^- (Resta binaria), ~ (inversión de BIT binaria)! BINARY, COLLATE La precedencia mostrada para NOT es desde MySQL En versiones anteriores, o desde si el modo HIGH_NOT_PRECEDENTE está activo, la precedencia de NOT es la misma que la del operador. Paréntesis ( ) Use paréntesis para forzar el orden de evaluación en una expresión. Por ejemplo: Mysql> SELECT 1+2*3; - > 7 Mysql> SELECT (1+2)*3; - >
46 Funciones y Operadores de Comparación Las operaciones de comparación dan un valor de 1 (CIERTO),o (FALSO), o NULL. Estas operaciones funcionan tanto para números como para cadenas de caracteres. Las cadenas de caracteres se convierten automáticamente en números y los números en cadenas cuando es necesario. Algunas de las funciones de esta sección (tales como LEASTO y GREATESTO) retornan valores distintos a 1 (CIERTO), o (FALSO), o NULL. Sin embargo, el valor que retornan se basa en operaciones de comparación realizadas como describen las siguientes reglas. MySQL compara valores usando las siguientes reglas: Si uno o ambos argumentos son NULL, el resultado de la comparación es NULL, excepto para el operador de comparación NULL-safe <= >. Si ambos argumentos en una operación de comparación son cadenas, se comparan como cadenas. Si ambos argumentos son enteros, se comparan como enteros. Los valores hexadecimales se tratan como cadenas binarias si no se comparan con un número. Si uno de los argumentos es una columna TIMESTAMP o DATE TIME y el otro es una constante, la constante se convierte en timestamp antes de realizar la comparación. Esto se hace para acercarse al comportamiento de ODBC: Esto no se hace para argumento en IN ()! Para estar seguro, siempre use cadenas completas de fechas/horas al hacer comparaciones. 46
47 En todos los otros casos, los argumentos se comparan como números con puntos flotante (reales). Por defecto, la comparación de cadenas no es sensible a mayúsculas y usa el conjunto de caracteres actuales (ISO Latín 1 por defecto, que siempre funciona bien para ingles). Para convertir un valor a un tipo especifico para una comparación, pueden usar la función CAST (). Los valores de cadenas de caracteres pueden convertirse a un conjunto de caracteres distintos usando CONVERT (): Los siguientes ejemplos ilustran conversión de cadenas a números para operaciones de comparación: Mysql> SELECT 1> 6x ; -> 0 MySQL> SELECT 7> 6x ; -> 1 MySQL> SELECT 0> 6x ; -> 0 Mysql> SELECT 0> 6x ; - >1 Tenga en cuenta que cuando compara una columna de cadenas de caracteres con un numero, MySQL no puede usar el índice de la columna para buscar rápidamente el valor. Si str_col es una columna de cadenas indexada, el índice no puede usarse al realizar la búsqueda en el siguiente comando: SELECT*FROM tbl_name WHERE str_col=1; La razón es que hay diferentes cadenas que pueden convertirse al valor 1: 1, 1 47
48 , 1ª. = Igual: Mysql> SELECT 1=0; - > 0 MySql> SELECT 0 =0; ->1 MySql> SELECT 0.0 =0; ->1 MySql> SELECT 0.01 =0; ->0 MySql> SELECT.01 =0.01; ->1 < =>. NULL-safe equal. Este operador realice una comparación de igualdad como el operador=, pero retorna 1 en lugar de NULL si ambos operadores son NULL, y 0 en lugar de NULL si un operador es NULL. MySql> SELECT < = <1, NULL, 1< = > NULL; - > 1, 1, 0 MySql> SELECT 1=1, NULL=NULL, 1=NULL; - > 1, NULL, NULL. < = >,! Diferente: MySQL> SELECT.01 <> ; - > 1 MySql> SELECT.01<> 0.01 ; - > 0 48
49 MySql> SELECT zapp <> zapp ; - > 1.<= 1 MySql> SELECT 0.1<=2; - > 1.<= Menor que: MySql> SELECT 2<2; - > 0.>= Mayor que o igual: MySql> SELECT 2>=2; - > 1.> Mayor que: MySql> SELECT 2>2; - > 0. IS valor Boolean, IS NOT valor Boolean. Comprueba si un valor Boolean, donde boolen_value puede ser TRUE; FALSE; o UNKNOWN. MySql> SELECT 1 IS TRUE, 0 IS FALSE, NULL IS UNKNOWN; - > 1, 1, 1 MySql> SELECT 1 IS NOT UNKNOWN, 0 IS NOT UNKNOWN, NULL IS NOT UNKNOWN; - > 1, 1, 0 49
50 IS NOT valor booleano sintaxis se añado en MySQL IS NULL, IS NOT NULL Testea si un valor es o no NULL. MySql> SELECT 1 IS NULL, 0 IS NULL, NULL IS NULL; - > 0, 0, 1 MySql> SELECT 1 IS NOT NULL, 0 IS NOT NULL, NULL IS NOT NULL; - > 1, 1, 0 Para poder trabajar con programas ODBC; MySQL soporta las siguientes características extra al usar IS NULL: Puede encontrar el registro que contiene el valor AUTO_INCREMENT mas reciente realizando un comando de la siguiente forma inmediatamente tras generar el valor : SELECT*FROM tbl_name WHERE auto_col IS NULL Este comportamiento puede desactivarse asignando SQL_AUTO_IS NULL=0. Para columnas DATE y DATETIME que se declaran como NOT NULL, puede encontrar la fecha específica con un comando como este: SELECT*FROM tbl_name WHERE date_colunma IS NULL Esto es necesario para algunas aplicaciones ODBC, ya que ODBC no soporta un valor de fecha
51 exp. BETWEEN min. AND máx. Si expr es mayor o igual que min y exp. es menor o igual a max, BETWEEN retorna 1, de otro modo retorna 0. Esto es equivalente a la expresión (min <= exp. AND exp. <= max) si todos los argumentos son del mismo tipo. De otro modo la conversión de tipos tiene lugar según las reglas descritas al principio de la sección, pero aplicadas a todos los argumentos. MySql> SELECT 1BETWEEN 2 AND 3; - > 0 MySql> SELECT b BETWEEN a AND c ; - > 1 MySql> SELECT 2 BETWEEN 2 AND 3 ; - > 1 MySql> SELECT 2 BETWEEN 2 AND x-3 ; -> 0 expr NOT BETWEEN min AND max Esto es lo mismo que NOT (expr. BETWEEN min AND max). COALESCE (valué.) Retorna el primero valor NOT NULL de la lista. MySql> SELECT COALESCE (NULL, 1); - > 1 MySql> SELECT COALESCE (NULL, NULL, NULL); - > NULL GREATES (value1, value2.) 51
52 Con dos o más argumentos, retorna el argumento mayor (con valor mayor). Los argumentos se comparan usando la misma regla que para LEAST ( ). MySql> SELECT GREASTES (2, 0); - > 2 MySql> SELECT GREASTES (34, 0, 3, 0, 5, 0, 767.0); - > MySql> SELECT GREASTES ( B, A, C ); - > C expr IN (valué.) Retorna 1 si expr es uno de los valores en la lista IN, de lo contrario retorna 0. Si todos los valores son constantes, se evalúan según el tipo y ordenación de expr. La búsqueda para el elemento se hace usando búsqueda binaria. Esto significa que IN es muy rápido si la lista IN consiste enteramente en constantes. Si expr es una expresión de cadena de caracteres sensible a mayúsculas, la comparación de cadenas se realiza sensible a mayúsculas. MySql> SELECT 2 IN (0, 3, 5, wefwf ); - > 0 MySql> SELECT wefwf IN (0, 3, 5, wefwf ); Funciones y Operadores > 1 52
53 El numero de valores en la lista IN solo esta limitado por el valor max_allowed_packet. En MySQL 5.0, para cumplir el estándar SQL IN retorna NULL no solo si la expresión de la parte izquierda es NULL, también si no encuentra coincidencias en la lista y una de las expresiones en la lista es NULL. La sintaxis de IN ( ) puede usarse para escribir algunas subconsultas. expr NOT IN (valué ) Esto es lo mismo que NOT (expr IN (valué )) ISNULL (expr) Si expr es NULL, ISNULL ( ) retorna 1, sino retorna ( ). MySql> SELECT ISNULL (1+1); - > 0 MySql> SELECT ISNULL (1/0); - > 1 Una comparación de valores NULL usando = siempre es falsa. La función ISNULL ( ) comparte algunos comportamientos especiales con el operador de comparación ISNULL. INTERVAL (N, N1, N2, N3 ) Retorna 0 IF N < N1, 1 si N < N2 y asi 0 1 si N es NULL. Todos los argumentos se tratan como enteros. Esto requiere que N1 < N2 < N3 < < Nn para que la función funcione correctamente. Esto es porque se usa una búsqueda binaria (muy rápida). MySql> SELECT INTERVAL (23, 1, 15, 17, 30, 44, 200); - > 3 MySql> SELECT INTERVAL (10, 1, 100, 1000); 53
54 - > 2 MySql> SELECT INTERVAL (22, 23, 44, 200); - > 0 LEAST (value1, value2.) Con dos o más argumentos, retorna el argumento menor (con un valor menor). Los argumentos se comparan usando las siguientes reglas: Si el valor retornado se usan en un contexto INTEGER o todos los argumentos son enteros, se comparan como enteros. Si el valor retornado se usa contexto REAL o todos los argumentos son reales, se comparan como reales. Si algún argumento es una cadena de caracteres sensible a mayúscula, los argumentos se comparan como cadena sensible o mayúscula. En cualquier otro caso, los argumentos se comparan como cadenas no sensibles a mayúsculas. MySql> SELECT LEAST (2, 0); - > 0 MySql> SELECT LEAST (34, 0, 3, 0, 5, 0, 767.0); - > 3.0 MySql> SELECT LEAST ( B, A, C ); -> A Tenga en cuenta que las reglas de conversión precedentes pueden producen resultados extraños en algunos casos extremos: MySql> SELECT CAST (LEAST (3600, ) as SIGNED); - >
55 Esto ocurre porque MySQL lee en un contexto entero. La representación entera no es lo bastante buena para tratar el valor, así que lo cambia a entero el signo. Operadores Lógicos En SQL, todos los operadores lógicos se evalúan a TRUE, FALSE, o NULL (UNKNOWN). En MySQL, se implementan como 1 (TRUE), 0 (FALSE), y NULL. La mayoría de esto es común en diferentes servidores de bases de datos SQL aunque algunos servidores pueden retornar cualquier valor distinto a cero para TRUE. NOT! NOT logica. Se evalúa a 1 si el operador es 0, a 0 si el operador es diferente a cero, y NOT NULL retorna NULL. MySql> SELECT NOT 10; - > 0 MySql> SELECT NOT 0; - > 1 MySql> SELECT NOT NULL; - > NULL MySql> SELECT! (1+1); - > 0 MySql> SELECT! 1+1; - > 1 55
56 AND, && AND lógica. Se evalúa a 1 si todos los operadores son distintos a cero y no NULL, a 0 si uno más operadores son ( ), de otro modo retorna NULL. MySql> SELECT 1 && 1; - > 1 MySql> SELECT 1 && 0; - > 0 MySql> SELECT 1 && NULL; - > NULL MySql> SELECT 0 && NULL; - > 0 MySql> SELECT NULL && 0; - > 0 OR, OR lógica. Cuando ambos operadores son NOT NULL, el resultado es 1 si algún operador es diferente a cero, y 0 de otro modo. Con un operador NULL el resultado es 1 el otro operador no es cero, y NULL otro modo. Si ambos operadores son NULL, el resultado es NULL. MySql> SELECT 1 1; - > 1 MySql> SELECT 1 0; - >1 MySql> SELECT 0 0; - > 0 MySql> SELECT 0 NULL; 56
57 - > NULL MySql> SELECT 1 NULL; - > 1 XOR XOR lógica. Retorna NULL si algún operador es NULL. Para operadores NOT NULL, evalúa a 1 si un número par de obradores es distinto a cero, sino retorna 0. MySql> SELECT 1 XOR 1; - > 0 MySql> SELECT 1 XOR 0; - > 1 MySql> SELECT 1 XOR NULL; - > NULL MySql> SELECT 1 XOR 1 XOR 1; - > 1 A XOR b es matemáticamente igual a (a AND (NOT b)) OR ((NOT a) and b) 2.5 PHP Introducción. En los últimos años hemos vivido una explosiva popularización de Internet. Entre todos los servidores que La Red puede ofrecer los grandes triunfadores han sido los servicios Web, los servicios de paginas html. Hasta tal punto son importantes estos servicios que muchos usuarios asocian Internet únicamente a la consulta de páginas Web. Los proveedores de servicios, conscientes de esta realidad, han desarrollado un sistema basado en páginas Web que constituyen a muchos de los servicios clásicos: El correo Web constituye a los servicios POP, NNTP es 57
58 sustituido por los foros de noticias Web, los servidores Web permiten la subida y bajada de archivos sustituyendo a los servicios FTP, etc. Las páginas Web han dejado de considerarse como lugares donde se consulta información estática para convertirse en sitios dinámicos e interactivos. En la página de nuestra aerolínea ya no solo podemos consultar el horario de los vuelos, también podemos hacer reservas y comprara de billetes. Cada vez que efectuamos una búsqueda es google o yahoo recibimos una página Web única, creada por el servidor en el momento en el que pulsamos buscar. Esto es interactivo. El lenguaje HTML es un lenguaje de composición de texto, no de programación. HTML le dice al navegador como tiene que colocar los elementos de la pagina, con que colores, con qué tipos de letras, etc. Netscape y Microsoft han dotado a sus navegadores con la capacidad de interpretar lenguajes de programación, JavaScript en el caso de Netscape, JSript y VBSript en el caso de Microsoft. Es muy importante tener presente que estos lenguajes se ejecutan en el navegador, no en el servidor. Para que un sitio Web sea dinámico e interactivo es necesario que un programa, corriendo en el lado del servidor, recoja las peticiones del usuario y genere una página Web personalizada. Estos programas se denominan CGI s (Common Gateway Interfase) y el desarrollo de los mismos Server Side Scripting. He aquí una lista de los lenguajes más comunes: PHP Gran difusión, eficiente, buena curva de aprendizaje, GNU, multiplataforma. 58
59 ASP Gran difusión, eficiente, propietario de Microsoft, solo en plataformas Microsoft. JSP Basado en java, potente, estable y robusto. Alto consumo de recursos, especialmente bueno para sitios grandes, multiplataforma. C++ Su única baza es su alta eficiencia. Hay que compilar cada vez que se hace un cambio. No esta pensando para funcionar como CGI y su codificación para esta tarea es muy tediosa. Perl Esta siendo sustituido por lenguajes específicamente desarrollados para funcionar como CGI s. NET (C++; ASPX; C #, VBASIC) Tecnologia emergente de Microsoft. NET es el interfaz entre el lenguaje y el código que se envía al navegador. Gran consumo de recursos. Solo en plataformas Microsoft. El desarrollador puede elegir entre cuatro lenguajes. Net compite con Java en el mismo Nicho tecnológico. En los sitio Web con CGI s encontramos, casi invariablemente, base de datos donde los programas depositan y recogen la información que necesitan. Las bases de datos relacionales están presentes de manera hegemónica. Estas permiten insertar y extraer datos de manera muy flexibles y eficientes a requerimiento del programa. Qué es PHP? PHP (acrónimo recursivo: PHP: Hypertext Preprocessor ) es un lenguaje de programación de código abierto, que se distribuye bajo licencia GNU, pensado para funcionar como CGI y que puede ser embebido en el código HTML. Es un lenguaje sencillo de aprender, con una sintaxis basada en C, Java y Perl. 59
60 PHP es un lenguaje interpretado, no compilado, que permite hacer cambios rápidamente y con una sintaxis suave. PHP puede ser programado TOP-down (para ser interpretado línea por línea, de arriba abajo), con funciones u orientado a objetos, según los requerimientos del sitio. Una de las más importantes bazas del lenguajes es el amplio número de funciones implementadas (http://www.php.net/manual/en/funcref.php), entre las que podemos encontrar funciones para creación de archivos PDF, creación y modificación de imágenes, consultar bases de datos, crear sockets, acceso ftp, encriptación, etc. <html> <head> <title> Hola, mundo </title> </head> <body> <? Php print Hola, mundo?> </body> </html> En este primer ejemplo vemos nuestro primer código PHP embebido dentro de HTML. Solo el texto que se encuentra entre <? Php y?> es interpretado por el servidor. Si analizamos el código fuente observamos que solo tenemos Hola, mundo en el body. Nuestro código PHP ha sido interpretado por el servidor y ha enviado al navegador únicamente el resultado del programa. 60
61 Comentarios Los argumentos son líneas de textos que se introducen en el código para referencia del programador. Estas líneas son ignoradas por PHP. Los comentarios de una sola línea deben empezar por //. Pueden incluirse comentarios de varias líneas delimitados por /& y */. <? // Estoes un comentario de una línea print Hola, mundo ; /* Esta parte del código tampoco será interpretada. print Adios mundo ; */?> El carácter de escape El carácter \ es un carácter de escape. Nos permite escribir comillas y caracteres especiales. <? print tenemos entrecomillas la palabra \ Comillas \ ; print <br> ; print Comillas está ahora entre comillas simples ; print <br> ; print Comillas no está entre comillas \ simple \ ; print <br> ; print Este \\ es el <b> carácter de escape </b> ; 61
62 print <br> ; print Si miras el \ có digo fuente \ de esta pá gina verá s \ n aquí \ n dos saltos de 1 nea ; print <br> ;?> Printf es una función común a muchos lenguajes de programación. Con printf podemos elegir el formato de salida. printf (formato, argumento1, arg2 ) Donde los argumentos pueden ser los siguientes: %-un carácter literal de porcentaje. No se precisa argumento. b- el argumento es tratado como um entero y presentando como un numero binário. c- el argumento es tratado como entero, y presentado como el carácter con dicho valor ASCII. d- el argumento es tratado como un entero y presentado como un número decimal. f- el argumento es tratado como un doble y presentado como un número de coma flotante. o- el argumento es tratado como un entero y presentado como un número octal. 62
63 s- el argumento es tratado como una cadena y es presentado como tal. x- el argumento es tratado como un entero y presentado como un número hexadecimal (con minúscula). X- el argumento es tratado como un entero y presentado como un número hexadecimal (con mayúscula). <? printf ( El %s decimal %s es el %b binario y el %o octal., número, 26, 26, 26);?> Variables. Con PHP no es necesario definir variables. Las variables se asignan por referencia. Todas las variables han de comenzar por el signo $, seguido de una letra o. El resto de caracteres deben ser letras a-z, A-Z o caracteres ASCII del 127 al 255. PHP distingue entre mayúsculas y minúsculas en el nombre de sus variables. <? $texto= Hola ; $TEXTO= mundo ; print $texto, $TEXTO ; print <br> ; $texto= El texto es \ $texto, $TEXTO \ ; print $texto;?> 63
64 Hemos creado por referencia las variables $texto y $TEXTO, luego les hemos dado salida formando la frase Hola, mundo. Finalmente hemos reasignado el valor de la variable $texto y le hemos dado salida. PHP asigna los tipos de variables automáticamente. Arrays Un array es una asociación entre una calve y un valor. En PHP pueden definirse mediante la función array ( ) o por referencia. <? $a=array ( color => rojo, sabor => dulce, forma => esférica, nombre => manzana, 4// Su clave será 0 ); print $a[ color ]; print <br> ; print $a[ sabor ]; print <br> ; print $a[ forma ]; print <br> ; print $a[ nombre ]; print <br> ; 64
65 print $a[ 0 ]; /* Salida: rojo dulce esférica manzana 4 */ // Esta forma de definir el array es equivalente a esta: $a [ color ]= rojo ; $a [ sabor ]= dulce ; $a [ forma ]= esférica ; $a [ nombre ]= manzana ; $a [0]=4;?> Cuando se define un array sin especificar la clave se le asigna automáticamente valores enteros. <? $b= array ( Cero, Uno, Dos, Tres ); print $b [0]; print <br> ; print $b [1]; print <br> ; print $b [2]; 65
66 print <br> ; print $b [3]; print <br> ; /* La salida de nuestro código es: Cero Uno Dos Tres Esta forma de definir el array es equivalente a esta otra: */ $a []= Cero ; $a [] Uno ; $a [] Dos ; $a [] Tres ; // O a esta: $a [0] Cero ; $a [1] Uno ; $a [2] Dos ; $a [3] Tres ;?> El valor asociado a una clave puede ser otro array. Esto permite construir arrays multidimencionales. $fruits =array ( fruits => array ( a => orange, b => banana, c => apple, 66
67 ), numbers => array (1, 2, 3, 4, 5, 6 ), holes => array ( first, 5=> second, third ) ); print $fruits [ fruits ][ a ]; print <br> ; print $fruits [ numbers ][ 3 ]; print <br> ; print $fruits [ holes ][ 6 ]; /* Tiene como salida: orange 4 third Los array multidimencionales también pueden definirse por referencia. */ Funciones útiles 67
68 unset Eliminara la clave 2 del array. Este no será reindexado, es decir, el resto de claves conservaran sus valores. sizeof Devuelve el numero de claves definidas. foreach Un bucle que recorre todos los valores definidos de un array. <? $a [0] Cero ; $a [1] Uno ; $a [2] Dos ; $a [3] Tres ; unset ($a as $sal ida){ print $sal ida; print <br> ; } /* Salida: Cero Uno Tres */?> sort y rsort Ordenan los valores del array alfabéticamente en orden ascendente y descendente, respectivamente. Se altera la asociación entre clave y valor. asort y arsort Igual que sort y rsort, pero manteniendo la asociación clave-valor. Estructuras de control 68
69 El código PHP, al igual que otros muchos lenguajes, se desarrolla mediante sentencias (statements). Una sentencia es un fragmento de código comprendido entre dos caracteres ; (a excepción de la primera). print Hola ; print mundo ; La línea anterior está formada por dos sentencias. Un conjunto de sentencias agrupadas entre caracteres { y } forman una nueva sentencia. {print Hola ; print mundo ;} If, else y elseif. If (expresión) sentencia Elseif (expresión) sentencia Else sentencia if permite decidir si se ejecuta o no una sentencia a partir de una expresión. Si la expresión es cierta se ejecuta la sentencia, si no lo se compara con el siguiente elseif. Si la expresión del ultimo elseif tampoco se cumple se ejecuta la sentencia asociada a else. <? $a=2; $a=3; if($a>$b) print $a es mayor que $b ; elseif($a==$b) print $a es igual a $b ; else { print La ú Itima posibilidad: ; 69
70 print <br> ; print $a es mayor que $b ; } /* Cambia los valores de $a y de $b para probar todas las posibilidades. */?> Un tipo muy corriente de expresiones son las expresiones de comparación. Estas expresiones se evalúan a 0 o 1, significando FALSO (FALSE) o CIERTO (TRUE), respectivamente. PHP soporta >(mayor que), >=(mayor o igual que), == (igual que),!=(distinto), <(menor que) y <=(menor o igual que). Asimismo existe la posibilidad de escribir expresiones lógicas. $a and $b Y Cierto si tanto $a como $b son ciertos. $a OR $B O Cierto si $a o $b son ciertos. $a xor $b O exclusiva Cierto si $a es cierto o $b es cierto, pero no ambos a la vez.! $a Negación Cierto si $a no es cierto. $a && $b Y Cierto si tanto $a como $b son ciertos. $a $b O cierto si $a o $b son ciertos. <? $a=1; $b=2; $c=3; If ($a<$b &&$b<$c) print $a es menor que $b y $b es menor que $c <br> ; If ($a<$b &&! ($b<$c)) 70
71 print $a es menor que $b y $b no es menor que $c <br> ; If (($a<$b && $a<$c)! ($a<9)) print $a es menor que $b y que $c o $a no es menor que 9<br> ; /* Copia este ejemplo en tu página y ensaya con distintas condiciones. Cambia los valores de $a, $b y $c para que encaje con las distintas posibilidades. */?> Bucles while. While (expresión) sentencia Ejecuta la sentencia mientras la expresión sea cierta. <? $iterator=0; While ($iterator <100) { print El iterator vale $iterator<br> ; $iterator=$iterator+1; } print Fin del bucle while ;?> Bucles for. For (expression1, expresion2, expresion3) sentencia 71
72 Se evalúa la expresión1 una única vez. Al comienza de cada iteración se evalúa expresion2, si expresion2 es cierta se ejecuta la sentencia. Al final de cada iteración se ejecuta expresion3. Con un ejemplo quedara mucho mas claro: <? for ($contador=1; $contador<100; $contador++) { print El contador vale $contador ; print <br> ; }?> Al empezar $contador toma el valor 1. Como 1<100 se ejecuta la sentencia y posteriormente se evalúa $contador++, de manera que $contador pasa a valer2. Como 2<100 se repite el bucle. Cuando $contador=100 se rompe el bucle. La sentencia switch. En ocasiones es necesario ejecutar distintas partes del codigo dependiendo del valor dependiente del valor de una sola variable. Aunque puede hacerse con If, switch ha sido creado para esta tarea. <? If ($I == 0){ print I es igual a 0 ; } If ($I==$1) { print I es igual a 1 ; 72
73 } If ($I==$2){ print I es igual a 2 ; } switch ($I){ Case 0; print I es igual a 0 ; break; case1; print I es igual a 1 ; break; case2; print I es igual a 2 ; break; }?> En este ejemplo la sentencia if y la sentencia switch son equivalentes. No debemos olvidar break al final de cada case. Si la sentencia switch fuera esta: <? switch ($i){ case 0; print i es igual a 0 ; case 1; print I es igual a 1 ; case 2; 73
74 print I es igual a 2 ; }?> Entonces, cuando $i=1, se ejecutaría la sentencia del case1 y todas las que están por debajo, probablemente esto no es lo que queremos. break sirve para romper la ejecución de switch y de cualquier otra sentencia de control de estructura. Puedes comprobar que break rompe también bucles for y while. Entrada de argumentos. Hasta ahora hemos usado variables con valores definidas dentro del propio programa. Ahora veremos cómo es la introducción valores dentro de nuestro scripts. Sin conoces otros lenguajes de programación seguramente estarás familiarizado con argc y argv. PHP puede ejecutarse desde la línea de comandos e introducir valores por este método. Sin embargo nosotros utilizamos PHP como CGI, donde la entrada de argumentos es manejada por el navegador y el servidor Web. 2.6 Los métodos GET y POST. GET y POST son propios del protocolo http. Su funcionamiento es prácticamente idéntico, diferenciándose en detalles técnicos que no nos interesan. Bastara saber que con el método POST se pueden enviar al servidor un 74
75 volumen de datos mucho mayor que con GET. Existen dos formas de enviar datos por GET : Mediante URL y mediante formulario. <? print dato 1: $dato 1 ; print <br> ; print "dato 1: $dato2";?> El servidor Web pasará a PHP el valor cíe los argumentos y PHP asignara a las variables $dato l y $dato2 el valor que le hayamos asignado. <' form action="escribe_datos.php" method-"get> Escribe dato l: <input type=text name=dato l size=20> <br> Escribe dato2: <input type=text name==dato2 size=20> <br> <input type-\submit value==enviar> </form> El campo "action" indica a dónde hay que enviar los datos insertados en el formulario. Llegado a este punto empezamos a ver interactividad. Los datos insertados por el usuario podrían ser almacenados en un archivo o en una base de datos. La página "escribe datos.php" podría responder de manera distinta dependiendo de los datos insertados en el formulario. El método "post" sólo se puede utilizar mediante formularios. Basta sustituir "method=get" por 75
76 "method=post" en el encabezado del formulario. Es recomendable utilizar siempre este método. Manejo de cadenas. Con PHP es muy frecuente tener que hacer manipulaciones con cadenas de texto. Veamos algunas de las funciones más importantes. Concatenación <? $mundo ="mundo."; $texto = Hola, '' $mundo; print $texto;?> <? $texto ="Hola, "; $texto ="mundo."; print $ texto;?> En el primero anexamos la cadena contenida en la variable "$mundo", a la cadena "Hola, " y lo asignamos a la variable "$texto". En el segundo usamos el 76
77 operador ".=::" para anexar la cadena "mundo." a la variable "$texto" que previamente habíamos definido con el valor "Hola, explode (separador, cadena). Genera un array resultado de dividir la cadena en fragmentos delimitados por el separador. <? $cadena ~ "uno, dos, tres, cuatro, cinco"; $array ' = explode ( ", ", $cadena ); foreach ( $array as $numero ) print $numero."<br>";?> Implode (pagamento, trozos ) Genera una cadena uniendo los elementos de un array con la cadena "pegamento". str_replace (búsqueda, reemplazo, texto). Genera una cadena con el texto "texto" donde todas las cadenas "búsqueda" han sido reemplazadas por las cadenas "reemplazo". SÍ consultas la referencia de esta función verás que todos los elementos pueden ser arrays. Ámbito de las variables. Un ámbito de una variable definida dentro de una función es la propia función. La variable se destruye cuando la función termina. Además, las variables externas no son accesibles desde la función a menos que se indique explícitamente. <? 77
78 $var ="Primera"; function funcion() f $var = "Segunda"; print $var; } funcion(); print "-"; print $var; /* Devuelve "Segunda-Primera". La definición de $var en la función no afectó al $var definido externamente. */?> Una variable definida como "staític" no se destruye al finalizar la función, sino que conserva su valor mientras dura la ejecución del programa. <? function sumar(){ stactic $a=0; print $a." "; $a++; } for( $iter=0; $iler<10; $iter++) sumar(); /* */ 78
79 ?> Se; puede acceder a las variables externas desde la función de dos formas, mediante global o mediante el array asociativo $GLOBALS[""]. <? $uno ="uno"; $dos ="dos"; $tres="tres"; function globales( ){ global $uno; print $uno."-"; print $GLOBALS [ dos ; print $tres; } globales(); /* Devuelve: ''uno-dos-". */?> Diseña un programa que presente una lista de números primos usando una función "es_primo" que tome un entero como entrada y que devuelva el mismo número si es primo o false en caso contrario. 79
80 2.7 Los tipos de datos de MySQL A la hora de crear las tablas es necesario indicar el tipo de datos que van a contener. Estos son los tipos más importantes que se pueden definir para MySQL. Los corchetes indican que el argumento es opcional. TINYINT[(M)] [UNSIGNLDJ [ZEROFILL] Numero entero. El rango con signo es de -128 a 127. El rango sin signo es de 0 a 255. SMALLINT [(M) [UNSIGNED] [ZEROFILL] Número entero, lil rango con signo es de a El rango sin signo es de 0 a M(-:DlUMINTt(M)J [UNS1GNED] [ZEROFILL] Número entero. I7! rango con signo es de a El rango sin signo es de 0 a INT [(M)][UNSIGNED] [ZEROFILL] Número entero. El rango con signo es de a El rango sin signo es de 0 a BIG1NT (M)J [UNSIGNEDJ [ZEROFILL] Número entero. El rango con signo es de a El rango sin signo es de O a
81 FLOAT[(M,D))][UNSIGNED] [ZEROFILL] Número de punto flotante (decimal). Los valores válidos comprenden de EL38 a E-38, O, y E-38 a E+38. Si se especifica "UNSIGNED Los valores negativos son descartados. M es el número de caracteres que se imprimirán cuando se haga la consulta y D el número de decimales que se representarán. DOUBLE[(M,D))][UNSIGNED] [ZEROFILL] Igual que "FLOAT", pero con sus valores comprendidos desde L57E f308 a R-308, O, y E-308 a E+308 DATE Un campo de fecha con formato "AAAA-MM-DD". El rango válido es de " ' a' " DATETIME Campo de fecha y hora. Su formato es "AAAA-MM-DD HH:MM;SS". El rango válido es de " :00:00" a " :59:59". CHAR [(M)] Campo alfanumérico. La longitud está fijada por "M". VARCHAR [(M)] Campo alfanumérico de longitud variable. La longitud máxima está determinada por "M". El límite es 255 caracteres. BLOB y TEXT 81
82 Campos alfanuméricos largos. Las búsquedas efectuadas en un campo BLOB son sensibles a mayúsculas mientras que las búsquedas en un campo TEXT no lo son. La longitud máxima es de El campo BLOB suele utilizarse para almacenar archivos. MEDIUMBLOB y MEDIUMTEXT Análogo a los campos BLOB y TEXT. Longitud máxima caracteres. LONGBLOB y LONGTEXT Análogo a los campos BLOB y T EXT. Longitud máxima caracteres. Consultas. Insert. Inserta datos en una tabla. La sintaxis es: INSERT [INTO] tabla [(columna l,columna2,...,cotumna n)] VALÚES (valor 1,valor2,,..,valorN) INSERT INTO alumnos (nombre, apellidos) VALÚES ('José, 'Gutiérrez') Inserta un registro con "nombre" y "apellidos" el resto de campos queda con su valor por defecto. INSERT INTO alumnos VALÚES ('María\ 'García', 88, 'M\ ' ') Inserta un registro con todos los campos. Nótese que el campo numérico no necesita comillas. 82
83 Select Extrae dalos de una o varias tablas, combinando u ordenando entre otras tareas, si es necesario. Su sintaxis es: SELECT expresión [FROM referencia a_tablas] [LEFT][RlGHT [INNER] JOIN referencia_a tablas ON expresión_where] (WHERE expresión_where] [ORDER BY columna] [ASC o DESC] [LIM1T [límite,] registros]] La expresión puede ser de distintos tipos. Las más sencillas son de carácter aritmético o lógico. Mysql> select 7+3 -> 10 Para extraer datos de tablas debemos escribir la expresión con la siguiente sintaxis: SELECT tablas1.campo 1 [AS tablas1], tablas2.campo2 [AS tablas2],... from tablal [AS Tablas1], tabla2 [AS tablas1] Veamos algunos ejemplos: SELECT apellidos, nombre FROM alumnos Apellidos Nombre Gutiérrez José García María 83
84 Martínez David Fernández Olga Ruiz Fernando García Marta En este caso no hace especificar "tablas" porque sólo hay referencia a una tabla. Si utilizamos "AS" cambia el nombre de las columnas devueltas. SELECT apellidos AS ap, nombre AS nom FROM alumnos ap nom Gutiérrez José García María Martínez David Fernández Olga Ruiz Fernando García Marta Mediante CONCAT podemos pedir que se nos devuelvan los datos en una sola columna. SELECT CONCAT (Apellidos: apellidos, Nombre: nombre') AS nombre completo FROM alumnos. Las (funciones SUM, AVG, MAX y MIN devuelven la suma, el valor medio, el máximo y el mínimo de la columna seleccionada. SELFCT SUM (puntuación) FROM alumnos 84
85 COUNT nos dirá el número de registros seleccionados. SELECT COUNT ( nombre) FROM alumnos SELECT COlJNT (*) FROM alumnus LIMIT nos permitirá controlar e! Número de registros devueltos (limit es propio de MySQL). SELECT * FROM alumnos LIMIT 2 Devuelve los dos primeros registros SELECT * FROM alumnos LIMIT 3,2 Devuelve dos registros empezando por el cuarto (el primer registro es el 0). Podemos utilizar ORDER BY para ordenar nuestros registros. El tipo de ordenamiento se elige automáticamente dependiendo del tipo de columna, será alfabético en un campo de texto, numérico en un campo numérico, etc. MySQL ordena de manera ascendente por defecto. Con ASC y DESC forzamos el ordenamiento ascendente o descendente respectivamente. SELECT * FROM alumnos ORDER BY nombre SELECT * FROM alumnos ORDKR BY nombre DESC SELECT * FROM alumnos ORDER BY fecha de_nacimiento SELECT * FROM alumnos ORDER BY puntuación ASC, nombre DESC La última consulta ordena los resultados por puntos de manera ascendente. Si dos alumnos tienen la misma puntuación los ordena de manera alfabética descendente. Podemos hacer referencia a varias tablas para combinar los datos. 85
86 SELECT alumnos, apellidos, alumnos, nombre, meses, nombre FROM alumnos, meses Extrae una tabla combinada. Es posible usar alias para los nombres de las tablas; SELECT a.apellidos, a.nombre, m. nombre FROM alumnos a, comunidades m Esta consulta es equivalente a la anterior. WHERE nos permite establecer condiciones de tipo aritmético o lógico en la consulta: SELECT nombre, apellidos, puntuación FROM alumnos WHERE puntuación=88 SELECT nombre, apellidos, puntuación FROM alumnos WHERE puntuación=70 SELLCT nombre, apellidos, puntuación FROM alumnos WHERE puntuación=70 AND Sexo=M' SELECT nombre, apellidos, puntuación FROM alumnos W11ERE puntuación>70 AND ( Sexo!-'H OR fecha de nacimiento<' ')!=:" y "<>" son equivalentes y representan "distinto de". "%" Es un carácter comodín que representa cualquier cadena. Se utiliza con LIKE. SELECT apellidos FROM alumnos WHERE apellidos LIKE '%ez' El elemento JOIN nos permitirá ajustar la manera en la que se combinan las tablas. Vamos a ver cómo funciona. SELECT a.nombre, a.apellidos, a.comunidad_íd, c.id, e.nombre FROM alumnos a LEFT JOIN comunidades c ON a.comunidad_id=c.id "Alumnos" es la tabla de la izquierda. 86
87 Esta consulta presenta completa la tabla "alumnos" asociando a cada registro de la misma otro registro de la tabla Comunidades" que cumpla la condición expresada en "on". SÍ en la tabla "comunidades" hubiera varios "id" idénticos "select" multiplicaría los registros Coincidentes en "alumnos" el número de veces que fuera necesario. "RIGHT JOIN" es análogo a "LEFT JOÍN" intercambiando los papeles de la tabla izquierda y derecha. "ON" admite las mismas condiciones que "WHERE". Este tipo de consultas también admite"where", "ORDER BY", "LIMIT", ele. "INNER.IOIN" presenta únicamente los registros cruzados coincidentes. En nuestro caso estas dos consultas son equivalentes. SELECT a.nombre, a.apellidos, a.comunidad_íd, c.id, c.nombre FROM alumnos a INNER JOIN comunidades c ON a.coinunidad_id=c.id SELECT a.nombre, a.apellidos, a.comunidad_id, c.id, c.nombre FROM alumnos a, comunidades c WHERE a.comunidad id^c.íd Update Con esta instrucción podemos modificar el contenido de los registros. Su sintaxis es: ÚPDATE tabla SET campo l=valorl, [campo2=valor2... ] [WHERE sentencia_where] La sentencia WHERE es la misma descrita para SELECT. ÚPDATE también admite "ORDER BY" y LIUMIT". Veamos un ejemplo. ÚPDATE alumnos SET comunidad=id=l, puntuacion-80 WHERE fecha_de_nacimiento>' !' 87
88 Asigna los valores "comunidad id" y "puntuación" indicados a todos los alumnos nacidos después del , Si no se específica WHERE se actualizan lodos los registros de la tabla. Delete DELET E FROM tabla [WHERE expresión...where] Elimina todos los registros que encajen en la "expresión where". Si no se especifica WHERE se eliminan todos los registros de la tabla. DELETE admite ORDER BY" y "LIMIT". 2.8 FUNCIONES MYSQL_PCONNECT mysql_pconnect( servidor [,login [,password ]]]) Abre una conexión persistente a la base de datos. Hay que especificar el servidor, nombre de usuario y contraseña. Si la base de datos es local la comunicación entre PHP y MySQL se realiza mediante un socket UNIX, en caso contrario se realiza sobre IP. Es válido especificar la ruta hasta el sockel UNIX en "servidor". <? Sconn =- inysql_pconnecl('localhost\'alu0', 'contrasena'); $conn =- mysqi^pconnectc^.o.o.lvaluovcontrasefia'); $conn = mysql pconnect('/var/run/mysqld/mysqld.sock','aluü', 'contraseña'); 88
89 ?> Las tres funciones anteriores son equivalentes. En caso de éxito en ia conexión la función devuelve un "RECURSO", un tipo especial de datos. Siempre que tengamos que hacer referencia a esta conexión deberemos utilizar la referencia al recurso almacenado en la variable "$conn". Los recursos de PHP no son punteros. En caso de fallo en la conexión la función devuelve FALSE. Esto lo podemos encontrar en casi todas las funciones. Mysql_select_db mysql_select db (base_de_datos [ identifícador_de_recurso]) Establece el nombre de la base de datos con la que vamos a trabajar. Si no se especifica identificador de recurso se utiliza el devuelto por la última operación mysql_pconnect <? Mysql_select_ db ('alu', $conn);?> mysql_query mysql_query (consulta [, identificador_de_recurso]) Envía una consulta a la base de datos. Sí no se especifica el identificador de recurso se utiliza el ultimo abierto. Mysql_query devuelve un vínculo a un recurso "consulta" o FALSE. 89
90 <? $recurso_consulta = mysql query ("select * from alumnos", $conn);?> 2.9 FUNDAMENTACION CIENTIFICA El Sistema Experto se desarrollara en el lenguaje de programación PHP y código de HTML, con un manejador de Base de Datos MySQL y un Servidor Wampserver que permitirá subir la aplicación HIPÓTESIS Y VARIABLES HIPOTESIS Hipótesis General La aplicación Web proporcionará información estadística de la magnitud de delincuencias y delitos en el cantón Ventanas Hipótesis Específicos El diseño de las cuentas de usuarios garantiza la seguridad del sistema. Al utilizar el DBMS de MySql se podrá almacenar y administrar un alto volumen de información. 90
91 El programa permitirá estar disponible en todas las PCS del Consorcio Jurídico Dr. Napoleón Ocampo Lara VARIABLES Variable Independiente Sistema jurídico dinámico Variable Dependiente Creación de un software web utilizando software libre distribución para mejorar el servicio de los litigantes con la ayuda de herramientas Open Source. 91
92 CAPITULO III 3.MARCO METODOLOGICO Entre las metodologías que existen para el desarrollo de ciclo de vida del software se eligió: Metodología Incremental En la Construcción de prototipos e incremental. Algunas características que resultaron importantes para haberlas seleccionado son: La realización de un prototipo inicial del software, identificar a corto plazo con mayor claridad las necesidades de la Facultad y realización de entregas constantes de mejoras en funcionalidad del sistema. Metodología Científica Se utilizara la metodología científica para el desarrollo del conocimiento en relación al objeto de estudio. Además se empleara los métodos inductivos y deductivo porque se partirá de hechos conocidos para buscar soluciones y se tomara especial atención a los fúndamelos teóricos para formular una propuesta aplicable y valida. 92
93 3.1 MODALIDAD DE LA INVESTIGACION Crear cuentas de Usuario Control de Clientes Control de Delitos Crear Datos del Consorcio Jurídicos Control de los movimientos y procesos de los Casos Reporte individuales de los procesos penales por Cliente Reporte de generales de Clientes, Delitos y Casos 3.2 TIPO DE INVESTIGACION La presente tesis es realizada mediante una investigación de campo la cual se desarrollara en el lugar donde está surgiendo el problema, de esta manera observamos la realidad de los acontecimientos. La base de datos de la investigación será bibliográfica porque consultara en libros, folletos, internet y otra información de acuerdo a las variables del tema; tanto de la variable independiente como la variable dependiente, y será experimental por que buscara la información necesaria en el área en que se va a implementar la base de datos. 93
94 3.3 POBLACION Y MUESTRA DE LA INVESTIGACION Este proyecto se lleva a cabo en Consorcio Jurídico Dr. Napoleón Ocampo Lara, ubicado en la Ciudad de Ventanas. La población hace referencia a todos los relacionados en el problema. POBLACION Y MUESTRA PROYECTO Nº Gerente General 1 Abogados 10 Asistentes Personal 5 Secretarias 2 Recepcionista 1 Mensajero 7 Responsables de Transporte 3 TOTAL 29 94
95 3.3.1 Utilizaremos la siguiente fórmula estadística. n= m n= tamaño de la muestra m= tamaño de la población: 29 e= error máximo admisible (el 100% = 0,10) Reemplazados los valores indicados tenemos. n= n = = n = 29 =
96 n= 23 Esto en porcentaje significa: n F= = = N 29 F = 0,7813 x 100 = 78.13%. Según el cálculo, la muestra que se tomara es de 23 trabajadores que es equivalente al 78.13% de la población, los cuales serán seleccionados de los 29 que es la población total a través del muestreo probabilístico estratificado proporcional. 3.4 METODOS TECNICAS E INSTRUMENTOS DE LA INVESTIGACION 3.4.1Técnicas de investigación Dentro de las técnicas, se necesitara recopilar información para luego clasificarla, agruparla y finalmente presentar son: Entrevista por que es una técnica abierta para la obtención de información y de esta manera conseguir los datos más importantes para llevar a cabo esta investigación. 96
97 Registro administrativo de los delitos de Consorcio Jurídico Dr. Napoleón Ocampo Lara en los periodos 2007 hasta el Revisión documental para fundamentar la investigación y la propuesta del sistema. La experimentación al desarrollar del software para la propuesta Para esta investigación se ha utilizado las siguientes técnicas: La observación La entrevista La encuesta Observación Se utilizara por que se necesita observar atentamente el fenómeno para así tomar información y registrarla para su posterior análisis. Entrevista Se realizara a todo el personal administrativo para obtener información referente del tema a tratar. Encuesta Se la hará a cada uno de los empleados Consorcio Jurídico Dr. Napoleón Ocampo Lara. 97
98 3.4.2 Método de investigación Se utilizara el método científico para el desarrollo del conocimiento en relación al objeto de estudio. Además se empleara los métodos inductivos y deductivo porque se partirá de hechos conocidos para buscar soluciones y se tomara especial atención a los fúndamelos teóricos para formular una propuesta aplicable y valida. Para esta investigación se ha utilizado los siguientes métodos. Inductivo-deductivo Se realizara este método por que se busca mantener una información concreta y precisa para poder desarrollar un software web en el área administrativa del Consorcio Jurídico Dr. Napoleón Ocampo Lara Analítico-sintético Se desarrollara una base de datos en el área administrativa con la finalidad de llevar un mejor control y atención de las denuncias realizadas por los litigantes 98
99 3.5 CONCLUSIONES La creación e implementación de este software personalizado para el Consorcio Jurídico Dr. Napoleón Ocampo Lara del cantón Ventanas permitirá procesar la información de los casos en estudio de los movimientos judiciales de una forma rápida y eficiente brindando mejor servicio y disposición de manejo adecuado de la información. Los procesos de asuntos: penales, civiles y laborables se llevarán con un control exacto y apropiado facilitando los procesos en el consorcio, Fundamentando científicamente herramientas de desarrollo para realizar búsquedas eficientemente; Así como también si se desea realizar consultas y tramites o estado del juicio. Los reportes emitidos del software se podrán efectuar con mayor claridad y con el orden adecuado para que genere información de una manera sencilla y amigable para que la persona autorizada acceda al control y la manipulación del sistema. 99
100 Dicho sistema se ah creado para efectuar el trabajo de índole legal con mayor agilidad para resolver las necesidades de los litigantes de manera eficiente y en resguardo de sus intereses es por tal motivo que en esta tesis se abordo este problema con los ya mencionados y obstáculosos inconveniente que surgen en las empresas por falta de un sistema de control automático y rápido que controle correctamente el trabajo que se desarrolla dentro de la misma. 100
101 3.6 RECOMENDACIONES Realizar respaldos anuales sobre la base de dato del servidor en relación al número de delitos registrados, de tal manera de que siempre tenga los recursos necesarios para brindar un excelente servicios. El personal encargado de implementar el sistema tenga una completa capacitación del sistema para un óptimo manejo de todas las aplicaciones Utilizar sistemas operativos actuales como plataforma Windows 7 que es compatible a MySQL y PHP. Ingresar diariamente delitos y denuncias en Consorcio Jurídico Dr. Napoleón Ocampo Lara 101
102 CAPITULO IV 4. PROPUESTA 4. DESARROLLO TECNICO DE LA INVESTIGACION 4.1 INTRODUCCION Sistema Consorcio Jurídico Es un programa desarrollado para el control de Administrativo del Consorcio Jurídico Dr. Napoleón Ocampo Lara. En la actualidad el consocio jurídico de asuntos penales, civiles y laborables en su despacho no cuenta con un registro adecuado para realizar búsquedas eficientemente si se desea realizar consultas y trámites o estado del juicio tareas que se llevan a cabo manualmente produciéndose una situación caótica y retrasos debido a la gran cantidad de archivos lo cual conlleva a una desorganizada recepción de los casos por parte de la secretaria. Todas estas dificultades mencionadas anteriormente provocaban obstáculo al momento de dar cabida a los procesos legales con mayor agilidad no cumpliendo con el objetivo que es lograr solucionar con rapidez los procesos legales que requiere el caso. Al no efectuar el trabajo de índole legar para resolver las necesidades de los clientes de manera eficiente y en resguardo de sus intereses es por este motivo en esta tesis se abordará este problema por lo cual La creación de un sistema 102
103 acorde a las necesidades del consocio jurídico nos va a permitir realizar las actividades mayor eficiencia y rapidez y seguridad. 4.2 OBJETIVOS OBJETIVO GENERAL Diseñar e implementar un sistema informático dinámico para mejorar la atención a los litigantes de manera eficiente, para un óptimo funcionamiento del área administrativo OBJETIVOS ESPECÍFICOS Fundamentar bibliográficamente en qué consiste el control y administración del Consorcio Jurídico Dr. Napoleón Ocampo Lara. Analizar y seleccionar cuales son los procesos que se realizan en Consorcio Jurídico Dr. Napoleón Ocampo Lara. Implementar un sistema informático en el Consorcio Jurídico Dr. Napoleón Ocampo Lara. 103
104 4.3 Análisis y Evaluación del Sistema Determinación de Requerimientos Definición de la frontera del Sistema Elaboración del Diagrama de Flujo de Datos Creación del Diccionario de datos 4.4 Diseño del Sistema Diseño de Base de Datos Diseño Procedimental Diseño Arquitectónico Diseño de las Entradas Diseño de salidas por pantalla Diseño de salidas por Impresora Diseño de Programas o Módulos Desarrollo e Implementación del Sistema Construcción y Prueba del Sistema Configuración del la Aplicación 104
105 4.5 LISTADO Y REQUERIMIENTOS QUE TENDRA EL SOFTWARE Un resultado de la investigación preliminar es la determinación que el proyecto es factible y se basa en lo siguiente: HUMANA Es factible por solo necesita menos de 2 personas para la Manipulación del Sistema. Además no existe ningún inconveniente por implementar este sistema COOPERATIVA En el consorcio jurídico del Dr. Napoleón Ocampo Lara, existe todo el respaldo y apoyo para el desarrollo del sistema de información de la empresa, por tanto se asegura un total éxito en la implementación de este sistema, ya que serviría de mucha utilidad para el personal administrativo los mismos que expresaron su total confianza en la futura operación del sistema TECNICA Técnicamente es factible la solución la etapa de Desarrollo de un Sotfware de aplicación contamos con las herramientas tanto como del software necesarias para la construcción del mismo. 105
106 El consorcio jurídico del Dr. Napoleón Ocampo Lara, ubicado en el cantón Ventanas si cuenta actualmente con equipos de computación y redes, lo que facilitaría la implementación del sistema, para que en su momento el servidor contando con los requisitos técnicos descritos anteriormente cumpla las funciones determinadas en el mismo, además el software y otros requisitos que necesita cubrir ECONOMICA Este proyecto demanda de recursos extras necesarios para su desarrollo, y por lo tanto los posibles gastos resultantes de los procesos de Análisis, diseño e implantación serán detallados en la parte de evaluación de costos. 4.6 FUNCIONES DEL SOFTWARE CONFIABILIDAD Con el sistema propuesto la información que se obtendrá a través de consultas y reportes es 100% real y confiable, ya que la seguridad de los datos es uno de los puntos relevantes del presente proyecto. 106
107 AMIGABLE Las aplicaciones tienen un diseño sencillo, fácil, de manejar, con opciones claras y ordenadas. SEGURIDAD Los datos solo podrán ser manipulados por personal autorizado, que cumpla con todas las exigencias de seguridad, evitando que los datos sean modificados por personas no autorizadas. EFECTIVIDAD Se pondrán obtener datos reales, confiables, rápidamente y sin mayor esfuerzo. 107
108 4.7 DIAGRAMA DE CASOS DE USO GRAFICO #1. Diagrama de casos de Uso. Administrador Registra Reportes Denuncias Emite Posee Tipos de delitos Delitos Sistema Ingreso al Sistema Elaborado: Autora 108
109 4.8 DIAGRAMA DE ENTIDAD RELACIÓN GRAFICO #2. Diagrama de Entidad Relación. Entidad Posee m,1 Casilleros Usuarios 1,m m,1 Abogados 1,m 1,m Posee Periodos 1,m Accesos m,1 Denuncia s Categorías 1,m Delitos 1,1 Litigantes m,1 Provincias 1,m Posee Elaborado: Autora 109
110 4.9 DICCIONARIO DE DATOS TABLA ABOGADOS Tabla #1. Tabla abogados. Elaborado: Autora 110
111 TABLA CASILLEROS Tabla#2. Tabla casilleros 111
112 Elaborado: Autora TABLA PERIODOS Tabla #3. Tabla periodos Elaborado: Autora 112
113 TABLA CATEGORIAS Tabla #4. Tabla categorías Elaborado: Autora TABLA DELITOS Tabla #5. Tabla delitos Elaborado: Autora TABLA PERIODOS Tabla #6. Tabla periodos Elaborado: Autora 113
114 TABLA USUARIOS Tabla #7. Tabla usuarios 114
115 Elaborado: Autora 115
116 TABLA ENTIDAD Tabla #8. Tabla entidad Elaborado: Autora TABLA JUZGADOS Tabla #9. Tabla juzgados Elaborado: Autora 116
117 TABLA PROVINCIAS Tabla #10. Tabla provincias Elaborado: Autora TABLA DENUNCIAS Tabla #11. Tabla denuncias Elaborado: Autora 117
118 TABLA LITIGANTES Tabla #12. Tabla litigantes Elaborado: Autora 4.10 REQUERIMIENTO PARA LA IMPLEMENTACIÓN 1. COMPUTADOR: 1. Computador Pentium III o Superior (Preferiblemente Pentium IV) MB en Memoria RAM (Preferiblemente 256 o más) MB Disponibles en Disco Duro. 4. Impresora 2. PERSONAL: 1 o más Asistentes para la Manipulación del Sistema 118
119 4.11 INSTALACIÓN DEL PROGRAMA SQLyog Presione Next Pantalla1. Aceptar las condiciones de licencia. 2.- Seleccione la primera opción y luego presione Next, seguido de Install Pantalla2. Seleccionar el sitio donde se va instalar el programa; proceso de instalación. 119
120 3.- Seleccione New Connection seguido de Connect Pantalla3. Proceso de Conexión. 120
121 Presione OK 4.12 INSTALACIÓN DEL WAMP5 1.- Presione Next Pantalla4. Mensaje de Bienvenido. 121
122 2.- Seleccionar Opcion1 y Presione Next Pantalla5. Aceptar condiciones de licencia 3.- Seleccione la ubicación donde se va instalar el programa y presione Next. Pantalla6. Selección de la ubicación de instalación 122
123 4-. Proceso de Instalación. Pantalla7. Ejecutando la Instalación. 5.- Buscamos y Seleccionamos la carpeta www, Clic en Aceptar. Pantalla8. Selección de carpeta. 123
124 6.- Presione Finish. Pantalla9. Instalación completa. Recomendación. Para un mejor funcionamiento del sistema se recomienda desactivar la configuración de la red área local (LAN). Pantalla10. Configuración de red. 124
125 4.13 SISTEMA CONSORCIO JURÍDICO Es un programa desarrollado para el control de Administrativo del Consorcio Jurídico Dr. Napoleón Ocampo Lara PARTES DEL SISTEMA El sistema está compuesto por 2 Módulos Módulos Administrativo.- Este módulo permite llevar el control general del consorcio así como manejar los reportes. Módulos Consulta.- Este módulo permite que los abogados consulten su casillero desde cualquier PC que se encuentre contado en red al servidor. Otras Opciones.- Seguridad Nos permite modificar nuestra contraseña y nombre de usuario Reportes Muestra de manera de listado los registros de las tablas 125
126 CARACTERISTICAS DEL SISTEMA Entre las características del Sistema tenemos: Flexibilidad.- Posee una estructura de desarrollo pensada para expansiones futuras, de tal manera que en cualquier momento puede adicionársele nuevos módulo que permitan el control de otras áreas. Fácil manejo.- El sistema posee un ambiente de trabajo amigable, de tal manera que cualquier persona con conocimientos básicos de computación puede manipularlo. Funciones de Red- Funciona bajo una Red de Computadoras, es decir varias computadoras pueden acceder a la información de la cooperativa. Control de Usuarios.- Trabaja mediante usuarios y contraseñas para garantizar la seguridad de la información, de tal manera que solo el encargado del programa tendrán su propia clave para ingresar al Sistema. 126
127 Modulo Administrador Como indicamos anteriormente, este módulo permite llevar un control de los pagos de Litigantes en la Cooperativa Ingreso al Modulo Administrador Para ingresar al modulo de Administrador realice lo siguiente: 1. Presione clic en el Icono del Sistema 2. Inmediatamente se mostrará una ventana solicitando el Login y la Password, ingrese el Login y el Password y presione clic en Aceptar. Ventana1. Ingreso de Login y Password. 3. Luego se mostrará la ventana principal del Módulo Administrador, y estará listo para trabajar. 127
128 Ventana2. Modulo Administrador Menu Administrar Esta opcion no permitira realizar lo siguiente: Datos de la Entidad Para actualizar o modificar realice lo siguiente: 1. En la barra de menú de clic en icono Administrar 2. A continuación seleccione la opción Entidad Ventana3. Datos de la Entidad. 128
129 3. Presione clic en el botón para agregar un nuevo registro en la base de datos. Crear Periodos Para crear un nuevo Periodo realice lo siguiente: 1. En la barra de menú de clic en icono Administrar 2. A continuación seleccione la opción Periodos Ventana4. Opción periodo. 3. Presione clic en el botón para agregar un nuevo registro en la base de datos. Modificar Periodo Algunas veces se comete errores ortográficos en los campos de las Periodos o se desea cambiarlo, en estos casos es muy útil la opción Modificar Periodo. Para Editar realice lo siguiente: 1. Presione clic en el botón 2. A continuación le mostrar la siguiente ventana 129
130 Ventana5. Modificar periodo. 3. Luego presione el botón buscar Ventana6. Guardar modificación. 4. Parar guardar de clic en el botón Ventana7. Mensaje de guardar Eliminar Periodo Para eliminar un Periodo de sistema realice lo siguiente: 130
131 1. Seleccione el Periodo que desea eliminar Ventana8. Eliminar periodo. 2. Le mostrar un mensaje de Advertencia Ventana9. Mensaje de advertencia. 3. Presione clic en el botón si desea eliminar caso contrario Nota: No es recomendable eliminar Periodos que se encuentran relacionado con las tablas Litigantes. 131
132 Consultar Periodos Para consultar las Periodos de clic en el botón Ventana10. Consultar periodos Crear Categorías Para crear un nuevo Categoría realice lo siguiente: 1. En la barra de menú de clic en icono Administrar 2. A continuación seleccione la opción Categorías Ventana11. Categorías 3. Presione clic en el botón para agregar un nuevo registro en la 132
133 base de datos. Modificar Categoría Algunas veces se comete errores ortográficos en los campos de las Categorías o se desea cambiarlo, en estos casos es muy útil la opción Modificar Categoría. Para Editar realice lo siguiente: 1. Presione clic en el botón 2. A continuación le mostrar la siguiente ventana 3. Luego presione el botón buscar Ventana12. Modificar categoría. 4. Parar guardar de clic en el botón Ventana13. Guardar datos. 133
134 Eliminar Categoría Para eliminar un Categoría de sistema realice lo siguiente: 1. Seleccione el Categoría que desea eliminar Ventana14. Eliminar categoría. 2. Le mostrar un mensaje de Advertencia Ventana15. Mensaje de advertencia. 3. Presione clic en el botón si desea eliminar caso contrario Nota: No es recomendable eliminar Categorías que se encuentran relacionados con las tablas Litigantes. 134
135 Consultar Categorías Para consultar las Categorías de clic en el botón Ventana16. Consultar categoría. Crear Usuarios Para crear un nuevo Usuario realice lo siguiente: 1. En la barra de menú de clic en icono Administrar 2. A continuación seleccione la opción Usuarios Ventana17. Usuario 135
136 3. Presione clic en el botón para agregar un nuevo registro en la base de datos. Ventana18. Guardar datos. Modificar Usuario Algunas veces se comete errores ortográficos en los campos de las Usuarios o se desea cambiarlo, en estos casos es muy útil la opción Modificar Usuario. Para Editar realice lo siguiente: 1. Presione clic en el botón 2. A continuación le mostrar la siguiente ventana Ventana19. Selección de usuario a modificar. 3. Luego presione el botón busca 136
137 Ventana20. Modificar usuario. 4. Parar guardar de clic en el botón Ventana21. Guardar los cambios. Eliminar Usuario Para eliminar un Usuario de sistema realice lo siguiente: 1. Seleccione el Usuario que desea eliminar 137
138 Ventana22. Selección de usuario a eliminar. 2. Le mostrar un mensaje de Advertencia Ventana23. Mensaje de advertencia. 3. Presione clic en el botón si desea eliminar caso contrario Nota: No eliminar todos los Usuarios no tendrá acceso al programa Consultar Usuarios Para consultar los Usuarios de clic en el botón 138
139 Ventana24. Consulta de usuarios. Crear Litigantes Para crear un nuevo Litigante realice lo siguiente: 1. En la barra de menú de clic en icono Administrar 2. A continuación seleccione la opción Litigantes Ventana25. Nuevo litigante. 139
140 3. Presione clic en el botón para agregar un nuevo registro en la base de datos. Modificar Litigante Algunas veces se comete errores ortográficos en los nombres de los Litigantes o se desea cambiarlo, en estos casos es muy útil la opción Modificar Litigante. Para Editar realice lo siguiente: 1. Presione clic en el botón Ventana26. Consulta del litigante a modificar. 2. A continuación ingrese el Nombre y/o Apellido del Litigante y presione la tecla Enter le mostrar la siguiente ventana. Ventana27. Modificar litigante. 140
141 3. Parar elegir el Litigante de clic en el botón 4. Realice las modificaciones luego presione el botón si los cambios son correctos. Eliminar Litigante Para eliminar un Litigante de sistema realice lo siguiente: 1. A continuación ingrese el nombre y/o Apellido del Litigante y presione la tecla Enter le mostrar la siguiente ventana. Ventana28. Seleccionar el litigante a eliminar. 2. Presione clic en el botón si desea eliminar caso contrario Nota: Hay Litigantes que se encuentran relacionado con las tablas Boleterías y Periodos. 141
142 Ventana 29. Mensaje de advertencia Consultar Litigantes Para consultar un Litigante de clic en el botón y escribir apellido. Ventana30. Consultar litigantes. Crear Casilleros Para crear un nuevo Casillero realice lo siguiente: 1. En la barra de menú de clic en icono Administrar 2. A continuación seleccione la opción Casilleros Ventana31. Crear casillero nuevo. 142
143 3. Presione clic en el botón para agregar un nuevo registro en la base de datos. Ventana32. Guardar casillero. Modificar Casillero Algunas veces se comete errores ortográficos en los campos de las Casilleros o se desea cambiarlo, en estos casos es muy útil la opción Modificar Casillero. Para Editar realice lo siguiente: 1. Presione clic en el botón 143
144 2. A continuación le mostrar la siguiente ventana Ventana33. Casillero a modificar. 3. Luego presione el botón buscar Ventana34. Modificar casillero. 4. Parar guardar de clic en el botón Ventana35. Guardar modificación. 144
145 Eliminar Casillero Para eliminar un Casillero de sistema realice lo siguiente: 1. Seleccione el Casillero que desea eliminar Ventana36. Selección de casillero a eliminar. 2. Le muestra un mensaje de Advertencia. Ventana37. Mensaje de advertencia. 3. Presione clic en el botón si desea eliminar caso contrario 145
146 Consultar Casilleros Para consultar las Casilleros de clic en el botón Ventana38. Mostrar casillero Botones de los Formularios Botón Nuevo Crea un nuevo registro en la base de datos Botón Guardar Almacena un nuevo registro o actualiza uno ya existente 146
147 Botón Modificar Permite Editar un registro ya existente. Botón Eliminar Borra un registro de la base de datos Botón Cancelar Permite anular una orden de nuevo o modificar Botón Consultar muestra el listado de los registro almacenados Botón Buscar examina un registro Botón Imprimir Permite imprimir un lista o reporte Botón Seleccionar Permite elegir un registro de un listado relacionado 147
148 4.14 CRONOGRAMA DE ACTIVIDADES MESES ( ) # TAREAS MES1 MES2 MES3 MES4 MES5 MES6 1 DESARROLLO DEL ANTEPROYECTO 2 INVESTIGACIÓN PRELIMINAR 3 ANÁLISIS DE REQUERIMIENTOS 4 DISEÑO DEL SISTEMA 5 CONSTRUCCIÓN Y DESARROLLO 6 PRUEBA DEL SISTEMA 7 IMPLEMENTACIÓN DEL SISTEMA 8 DEFENSA DE LA TESIS 148
149 BIBLIOGARFIA BIBLIOGRAFÍA GENERAL Microsoft Conmerce Solutions Protocolos de Red (TCP/IP) Andrew Tanebaum Dynamic HTML Reference and Software Development Kit Análisis y Diseño de sistemas de Información. Autor (James A. Senn.) BIBLIOGRAFIA REALACIONADA AL TEMA SQLyog PHP con base de datos DIRECCIONES DE INTERNET
150 ANEXO 1 ENTREVISTA 1. Describa desde que tiempo se guarda la información manualmente contando con el equipos informáticos. 2. Cuáles son las molestias de los litigantes al no contar con un software de aplicación para la consulta eficiente de los casos en estudio. 3. Describa de qué manera se guarda la información en el Consorcio Jurídico. 4. Describa la manera de registrar las denuncias y demandas que se realizan al día. 5. Un sistema de aplicación será útil dentro de este consorcio para mejorar la organización de procesos. 150
151 ANEXO 2 ENCUESTA 1. El departamento de administración del Consorcio Jurídico Dr. Napoleón Ocampo Lara. posee equipos informáticos? SI NO NO SABE 2. Cree usted que se realiza la consulta de los casos en estudios de demandas y denuncias de una manera eficiente? SI NO NO SABE 3. Conoce la existencia de un sistema Informático que facilite el registro de información? SI NO NO SABE 4. En el Consorcio Jurídico guardan la información de manera manual? SI NO NO SABE 5. En el Consorcio Jurídico existe un sistema de aplicación? SI NO NO SABE 151
152 ANEXO 3 ANALISIS E INTERPRETCION DE LOS RESULTADOS 1. El departamento de administración del Consorcio Jurídico Dr. Napoleón Ocampo Lara, posee equipos informáticos? CUADRO #1. GRAFICO #3. CONCLUSION: En la realización de la encuesta en la primera pregunta en el departamento de administración los encuestados respondieron el 59% que si existen equipos informáticos un 10% que no y el restante 31% no sabe. 152
153 2. Cree usted que se realiza la consulta de los casos en estudio de demandas y denuncias de una manera eficiente? CUADRO #2. GRAFICO #4. CONCLUSION: En esta pregunta obtuvimos que el 17% de los encuestados opinan que si se realiza la consulta de los casos en estudio de una manera rápida, el 76% que no cuentan con un servicio rápido y eficiente, y el 7% no sabe. 153
154 3. Conoce la existencia de un sistema Informático que facilite el registro de información? CUADRO #3. GRAFICO #5. CONCLUSION: El 86% de los encuestados contestaron que no conocen de la existencia de un sistema informático que facilite el registro de información, y el 14% no tiene conocimiento al respecto. 154
155 4. En el Consorcio Jurídico guardan la información de manera manual? CUADRO #4. GRAFICO #6. CONCLUSION: El 79% de los encuestados contestaron que si guardan la información manualmente provocando caos al momento de atender a los litigantes, y el otro 21% contestan que no sabe del proceso de archivacion. 155
156 5 En el departamento administrativo del Consorcio Jurídico existe un sistema de aplicación? CUADRO #5. GRAFICO #7. CONCLUSION: El 86% de los encuestados contestaron que no existe un sistema de aplicación, y el otro 14% contestan que no sabe si existe o no dicho sistema. 156

References: Artículo 552
 resolución 
 artículo 1
 artículo 44
 artículo1
 artículo1