<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-28831750</id><updated>2011-04-21T19:41:49.509-07:00</updated><title type='text'>Bahena</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bahena.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28831750/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://bahena.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>JOSE19844</name><uri>http://www.blogger.com/profile/12851325974883715615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-28831750.post-114927523122016985</id><published>2006-06-02T12:01:00.000-07:00</published><updated>2006-06-02T12:07:11.303-07:00</updated><title type='text'></title><content type='html'>&lt;div align="justify"&gt;SISTEMAS DE GESTION DE BASES DE DATOS&lt;br /&gt;Comparación entre &lt;a href="http://www.monografias.com/trabajos11/teosis/teosis.shtml"&gt;sistemas&lt;/a&gt; de &lt;a href="http://www.monografias.com/trabajos15/sistemas-control/sistemas-control.shtml"&gt;gestión&lt;/a&gt; de bases de &lt;a href="http://www.monografias.com/trabajos11/basda/basda.shtml"&gt;datos&lt;/a&gt; (SGBD) bajo licenciamiento libre y comercial&lt;a href="http://www.monografias.com/trabajos29/comparacion-sistemas/#objet"&gt;Objetivos&lt;/a&gt;&lt;a href="http://www.monografias.com/trabajos29/comparacion-sistemas/#justif"&gt;Justificación&lt;/a&gt;&lt;a href="http://www.monografias.com/trabajos29/comparacion-sistemas/#anteced"&gt;Antecedentes&lt;/a&gt;&lt;a href="http://www.monografias.com/trabajos29/comparacion-sistemas/#alcances"&gt;Alcances&lt;/a&gt;&lt;a href="http://www.monografias.com/trabajos29/comparacion-sistemas/#limitac"&gt;Limitaciones&lt;/a&gt;&lt;a href="http://www.monografias.com/trabajos29/comparacion-sistemas/#referencial"&gt;Marco referencial del proyecto&lt;/a&gt;&lt;a href="http://www.monografias.com/trabajos29/comparacion-sistemas/comparacion-sistemas2.shtml#sistemas"&gt;Sistemas de gestión de bases de datos a comparar&lt;/a&gt;&lt;a href="http://www.monografias.com/trabajos29/comparacion-sistemas/comparacion-sistemas2.shtml#metodol"&gt;Metodología&lt;/a&gt;&lt;a href="http://www.monografias.com/trabajos29/comparacion-sistemas/comparacion-sistemas3.shtml#esdtrategia"&gt;Estrategia de comunicación&lt;/a&gt;&lt;a href="http://www.monografias.com/trabajos29/comparacion-sistemas/comparacion-sistemas3.shtml#program"&gt;Programación&lt;/a&gt;&lt;a href="http://www.monografias.com/trabajos29/comparacion-sistemas/comparacion-sistemas3.shtml#recursos"&gt;Recursos&lt;/a&gt;&lt;a href="http://www.monografias.com/trabajos29/comparacion-sistemas/comparacion-sistemas3.shtml#presup"&gt;Presupuesto&lt;/a&gt;&lt;a href="http://www.monografias.com/trabajos29/comparacion-sistemas/comparacion-sistemas3.shtml#conclu"&gt;Conclusiones&lt;/a&gt;&lt;a href="http://www.monografias.com/trabajos29/comparacion-sistemas/comparacion-sistemas3.shtml#biblio"&gt;Bibliografía&lt;/a&gt;&lt;a href="http://www.monografias.com/trabajos29/comparacion-sistemas/comparacion-sistemas3.shtml#anexos"&gt;Anexos&lt;/a&gt;INTRODUCCIONAntes de las &lt;a href="http://www.monografias.com/trabajos11/basda/basda.shtml"&gt;bases de datos&lt;/a&gt; que hoy conocemos, se utilizaban ficheros secuenciales como &lt;a href="http://www.monografias.com/trabajos12/alma/alma.shtml"&gt;almacenes&lt;/a&gt; de datos. Estos daban un acceso muy rápido pero sólo de forma secuencial, más tarde aparecieron los ficheros indexados, donde el acceso ya podía ser aleatorio, el &lt;a href="http://www.monografias.com/trabajos11/teosis/teosis.shtml"&gt;sistema&lt;/a&gt; de ficheros era el sistema más común de &lt;a href="http://www.monografias.com/trabajos12/dispalm/dispalm.shtml"&gt;almacenamiento&lt;/a&gt; de datos. para compartir los datos entre varias &lt;a href="http://www.monografias.com/trabajos6/auti/auti.shtml"&gt;máquinas&lt;/a&gt; surgió el NFS (Network File System), y más tarde para evitar fallos en los sistemas de fichero aparecieron los sistemas RAID.Pero los &lt;a href="http://www.monografias.com/Computacion/Programacion/"&gt;programas&lt;/a&gt; y datos cada vez eran más complejos y grandes por tal motivo se requería de un almacenamiento que garantizara un cierto número de condiciones y que permitiera &lt;a href="http://www.monografias.com/trabajos6/diop/diop.shtml"&gt;operaciones&lt;/a&gt; complejas sin que se violaran estas restricciones.Además cada usuario que accediera a los datos debían tener su trabajo protegido de las operaciones que hicieran el resto de usuarios, respondiendo a estas necesidades, surgieron las bases de datos jerárquicas donde los datos se situaban siguiendo una jerarquía, estas bases de datos jerárquicas tenían el problema que los accesos a los datos eran unidireccionales, y era más complicado hacer el camino inverso, pero posible, aunque el &lt;a href="http://www.monografias.com/trabajos6/meti/meti.shtml"&gt;tiempo&lt;/a&gt; de &lt;a href="http://www.monografias.com/trabajos7/caes/caes.shtml"&gt;cálculo&lt;/a&gt; era mayor, ( Por ejemplo, era fácil saber que &lt;a href="http://www.monografias.com/trabajos5/cuentas/cuentas.shtml"&gt;cuentas&lt;/a&gt; tenía un &lt;a href="http://www.monografias.com/trabajos11/sercli/sercli.shtml"&gt;cliente&lt;/a&gt;, pero no tan fácil saber de que cliente era una cierta cuenta).Para dar absoluta &lt;a href="http://www.monografias.com/trabajos14/la-libertad/la-libertad.shtml"&gt;libertad&lt;/a&gt; a las relaciones entre tablas surgieron las bases de datos relacionales (RDBMS), las RDBMS trajeron dos cosas muy importantes: las propiedades ACID y un &lt;a href="http://www.monografias.com/trabajos16/desarrollo-del-lenguaje/desarrollo-del-lenguaje.shtml"&gt;lenguaje&lt;/a&gt; común de acceso a los datos: &lt;a href="http://www.monografias.com/trabajos14/sqlserver/sqlserver.shtml"&gt;SQL&lt;/a&gt;., mediante SQL, por primera vez, decías QUE datos querías y no COMO los tenías que sacar. Apareció el término de transacción: Agrupación de instrucciones SQL (Selects, Inserts y Updates).Con el advenimiento de &lt;a href="http://www.monografias.com/Computacion/Internet/"&gt;Internet&lt;/a&gt;, el &lt;a href="http://www.monografias.com/Computacion/Software/"&gt;software&lt;/a&gt; libre se ha consolidado como alternativa, técnicamente viable y económicamente sostenible al software comercial, contrariamente a lo que a menudo se piensa, grandes &lt;a href="http://www.monografias.com/trabajos11/empre/empre.shtml"&gt;empresas&lt;/a&gt; informáticas como IBM, Sun y Apple ofrecen apoyo financiero y comercial al software libre.Para algunas compañías, es prioridad inminente la reducción de &lt;a href="http://www.monografias.com/trabajos4/costos/costos.shtml"&gt;costos&lt;/a&gt;, empresas que han invertido una fuerte suma de &lt;a href="http://www.monografias.com/trabajos16/marx-y-dinero/marx-y-dinero.shtml"&gt;dinero&lt;/a&gt; en cuestión de licenciamiento y utilizan estas &lt;a href="http://www.monografias.com/trabajos11/contrest/contrest.shtml"&gt;herramientas&lt;/a&gt; de forma ilegal, hoy ven en el software libre como otra alternativa para ofrecer los mismos &lt;a href="http://www.monografias.com/trabajos14/verific-servicios/verific-servicios.shtml"&gt;servicios&lt;/a&gt; a un &lt;a href="http://www.monografias.com/trabajos7/coad/coad.shtml#costo"&gt;costo&lt;/a&gt;, significativamente reducido.Estas alternativas las podemos encontrar tanto para &lt;a href="http://www.monografias.com/Computacion/Sistemas_Operativos/"&gt;sistemas operativos&lt;/a&gt;, herramientas de &lt;a href="http://www.monografias.com/trabajos13/sumato/sumato.shtml"&gt;ofimática&lt;/a&gt;, software especializado, manejadores de bases de datos.Tabla 1. Ficha del &lt;a href="http://www.monografias.com/trabajos12/pmbok/pmbok.shtml"&gt;proyecto&lt;/a&gt;RESUMEN EJECUTIVOLa finalidad de este trabajo es realizar un estudio comparativo entre sistemas de gestión de bases de datos uno de licenciamiento libre y otro de licenciamiento comercial.Con el advenimiento de Internet, el software libre se ha consolidado como alternativa, técnicamente viable y económicamente sostenible al software comercial, contrariamente a lo que a menudo se piensa, convirtiéndose el software libre como otra alternativa para ofrecer los mismos servicios a un costo significativamente reducido, encontrando estas alternativas tanto para &lt;a href="http://www.monografias.com/Computacion/Sistemas_Operativos/"&gt;sistemas operativos&lt;/a&gt;, herramientas de ofimática, software especializado, manejadores de bases de datos, para este caso nos basaremos en los manejadores de Bases de Datos, se pretende determinar un soporte para recomendar a &lt;a href="http://www.monografias.com/trabajos11/empre/empre.shtml"&gt;una empresa&lt;/a&gt; la utilización de estos &lt;a href="http://www.monografias.com/trabajos4/refrec/refrec.shtml"&gt;recursos&lt;/a&gt; de &lt;a href="http://www.monografias.com/trabajos11/travent/travent.shtml"&gt;distribución&lt;/a&gt; libre, de la misma forma en que se confía en software propietario o mucho mejor, para la toma de esta decisión se tendrán en cuenta factores como; &lt;a href="http://www.monografias.com/trabajos/seguinfo/seguinfo.shtml"&gt;seguridad&lt;/a&gt; en el almacenamiento de los datos, ventajas que proporciona un manejador de &lt;a href="http://www.monografias.com/trabajos11/basda/basda.shtml"&gt;base de datos&lt;/a&gt; gratuito, volúmenes de &lt;a href="http://www.monografias.com/trabajos7/sisinf/sisinf.shtml"&gt;información&lt;/a&gt; que soportara, cual es su rendimiento, complejidad en la &lt;a href="http://www.monografias.com/trabajos11/prohe/prohe.shtml"&gt;migración&lt;/a&gt; de los datos, soporte ofrecido, sistema de backup, confiabilidad ofrecida, considerando estos elementos como importantes para un buen &lt;a href="http://www.monografias.com/trabajos15/indicad-evaluacion/indicad-evaluacion.shtml"&gt;desempeño&lt;/a&gt; en la aplicación y con esto el soporte de la decisión.Como &lt;a href="http://www.monografias.com/trabajos16/objetivos-educacion/objetivos-educacion.shtml"&gt;objetivo&lt;/a&gt; general se tiene el elaborar un documento donde se encuentre el &lt;a href="http://www.monografias.com/trabajos13/diseprod/diseprod.shtml"&gt;diseño&lt;/a&gt; y ejecución de &lt;a href="http://www.monografias.com/trabajos12/romandos/romandos.shtml#PRUEBAS"&gt;pruebas&lt;/a&gt;, entre dos sistemas de gestión de bases de datos, uno protegido bajo licencia comercial y el otro bajo licenciamiento Libre, con el fin de evaluar factores mencionados anteriormente, lo cual permitirá de conformidad con el resultado, determinar la conveniencia para el auditor de recomendar a una &lt;a href="http://www.monografias.com/trabajos6/napro/napro.shtml"&gt;organización&lt;/a&gt; la utilización de un sistema protegido bajo licenciamiento libre.Durante la elaboración de este documento se desarrollaran los siguientes &lt;a href="http://www.monografias.com/trabajos16/objetivos-educacion/objetivos-educacion.shtml"&gt;objetivos&lt;/a&gt; específicos para el complemento de alcanzar el objetivo general:Seleccionar un sistema de gestión de base de datos protegido bajo licencia comercial y otro bajo licencia libre.Diseño de pruebas comparativas para manejadores de bases de datos.Diseñar un sistema de &lt;a href="http://www.monografias.com/trabajos11/conce/conce.shtml"&gt;evaluación&lt;/a&gt; para valorar los resultados arrojados por las pruebas desarrolladasLa decisión de realizar los comparativos entre estas dos formas de licenciamiento es porque hoy en día la &lt;a href="http://www.monografias.com/Tecnologia/index.shtml"&gt;tecnología&lt;/a&gt; "Open Source" ha tomado &lt;a href="http://www.monografias.com/trabajos12/eleynewt/eleynewt.shtml"&gt;fuerza&lt;/a&gt; y se ha convertido en una buena opción, pero de ahí a vender la idea y convencer el cambiar de una solución comercial a una libre, con el fin de reducir costos o solucionar los &lt;a href="http://www.monografias.com/trabajos15/calidad-serv/calidad-serv.shtml#PLANT"&gt;problemas&lt;/a&gt; de licenciamiento a uno de nuestros &lt;a href="http://www.monografias.com/trabajos11/sercli/sercli.shtml"&gt;clientes&lt;/a&gt;, implica comprometer nuestra credibilidad como profesionales, teniendo un soporte técnico que avale las posibles recomendaciones.Para complementar este documento se realizaron búsquedas en Internet, &lt;a href="http://www.monografias.com/apa.shtml"&gt;bibliografía&lt;/a&gt; de textos alusivos al tema y en la experiencia tanto de los participantes como de algunos profesionales en el medio &lt;a href="http://www.monografias.com/trabajos13/renla/renla.shtml"&gt;laboral&lt;/a&gt;, el propósito no es probar cual es el mejor sino que tan bueno es el &lt;a href="http://www.monografias.com/trabajos10/motore/motore.shtml"&gt;motor&lt;/a&gt; protegido bajo licenciamiento libre.Para la realización de este documento se tendrán en cuenta los siguientes criterios o limitantes:· Se realizará las pruebas en una sola máquina· No se utilizara ningún entorno de &lt;a href="http://www.monografias.com/Computacion/Redes/"&gt;red&lt;/a&gt;, pero si se desarrollara un entorno que emule &lt;a href="http://www.monografias.com/Computacion/Redes/"&gt;una red&lt;/a&gt; de X cantidad de estaciones de trabajo realizando cada una de ellas sus propias peticiones independientes a la base de datos, esto se explica mejor en la parte de la metodología· Se utilizara un solo &lt;a href="http://www.monografias.com/Computacion/Programacion/"&gt;lenguaje de programación&lt;/a&gt; para hacer la pruebas de &lt;a href="http://www.monografias.com/trabajos13/cinemat/cinemat2.shtml#TEORICO"&gt;velocidad&lt;/a&gt; en la base de datos y volúmenes de datos1. OBJETIVOS1.1. OBJETIVO GENERALElaborar un documento donde se encuentre el diseño de un conjunto de pruebas y ejecución de las mismas, entre dos sistemas de gestión de bases de datos, uno protegido bajo licencia comercial y el otro bajo licenciamiento Libre, con el objetivo de evaluar factores como capacidad para soportar altos volúmenes de datos, Integridad, concurrencia, velocidad, sistema de backup y confiabilidad, lo cual permitirá de conformidad con los resultados, determinar la conveniencia para el auditor de avalar una recomendación a una organización para la utilización de un sistema protegido bajo licenciamiento libre.1.2. OBJETIVOS ESPECIFICOS· Seleccionar un sistema de gestión de base de datos protegido bajo licencia comercial y otro bajo licencia libre.· Diseñar un conjunto de pruebas comparativas para manejadores de bases de datos.· Diseñar un sistema de evaluación para valorar los resultados arrojados a las Seleccionar pruebas desarrolladas· Concluir que tan conveniente es para un auditor dar una recomendación a una organización sobre, la utilización de un sistema de gestión de base de datos protegido bajo licenciamiento libre&lt;a href="http://www.monografias.com/"&gt;&lt;/a&gt;2. JUSTIFICACIÓNHoy en día la tecnología "Open Source" ha tomado fuerza y se ha convertido en una buena opción, pero de ahí a realizar una recomendación de cambiar de una solución comercial a una libre con el fin de reducir costos o solucionar los problemas de licenciamiento a uno de nuestros clientes es de pensar, teniendo en cuenta que el activo mas importantes para una organización es la información y se corre el &lt;a href="http://www.monografias.com/trabajos13/ripa/ripa.shtml"&gt;riesgo&lt;/a&gt; de perder la credibilidad como profesional, de ahí nace la importancia de diseñar, ejecutar, valorar y analizar pruebas que soporten las posibles recomendaciones que se pueden dar con respecto a ventajas que posee un software libre Vs un software comercial.3. ANTECEDENTESSe realizo una búsqueda tanto en Internet como en el medio laboral, para validar la existencia de &lt;a href="http://www.monografias.com/trabajos11/ladocont/ladocont.shtml"&gt;documentación&lt;/a&gt; donde se plasmaran pruebas comparativas en cuanto al rendimiento de uno u otro manejador de bases de datos, teniendo en cuenta los factores mencionados en el alcance, en donde la finalidad no es probar cual es el mejor sino que tan bueno es el motor protegido bajo licenciamiento libre, logrando encontrar información sobre características entre un manejador de base de datos comercial y uno libre, pero no un diseño de pruebas como el que se esta planteando.Sin embargo los &lt;a href="http://www.monografias.com/trabajos14/comer/comer.shtml"&gt;documentos&lt;/a&gt; encontrados serán de gran apoyo para dar inicio al trabajo y parte de esta información se incluirá en el documento que se pretende realizar.4. ALCANCESSe realizará un diseño de pruebas y posterior ejecución a los manejadores de datos de tipo comercial y libre con el fin de conocer:· Capacidad para soportar altos volúmenes de datos· Integridad en los datos· Concurrencia· Velocidad· Sistemas de Backup y Restauración· En el &lt;a href="http://www.monografias.com/trabajos12/desorgan/desorgan.shtml"&gt;desarrollo&lt;/a&gt; de este trabajo no se incluye &lt;a href="http://www.monografias.com/trabajos11/metods/metods.shtml#ANALIT"&gt;análisis&lt;/a&gt; de costos con respecto a &lt;a href="http://www.monografias.com/trabajos/adpreclu/adpreclu.shtml"&gt;capacitación&lt;/a&gt;, asesoría ni migración de datos.· Se darán a conocer nombres de firmas que prestan soporte y capacitación para &lt;a href="http://www.monografias.com/Administracion_y_Finanzas/index.shtml"&gt;la administración&lt;/a&gt; del manejador de datos bajo licenciamiento libre5. LIMITACIONESLas siguientes son las limitaciones que se tendrán en cuenta para el desarrollo de este trabajo:· Se realizará las pruebas en una sola máquina· No se utilizara ningún entorno de red.· Se desarrollara un entorno que emule una red de n numero de estaciones de trabajo, realizando cada una de ellas sus propias peticiones independientes a la base de datos, esta información se amplia en la &lt;a href="http://www.monografias.com/trabajos11/metods/metods.shtml"&gt;metodología&lt;/a&gt;.· Se utilizara un solo lenguaje de &lt;a href="http://www.monografias.com/Computacion/Programacion/"&gt;programación&lt;/a&gt; para hacer la pruebas de velocidad y &lt;a href="http://www.monografias.com/trabajos5/volfi/volfi.shtml"&gt;volumen&lt;/a&gt; de datos, en la base de datos.6. MARCO REFERENCIAL DEL PROYECTO6.1. MARCO CONCEPTUALEl &lt;a href="http://www.monografias.com/trabajos13/mercado/mercado.shtml"&gt;mercado&lt;/a&gt; de manejadores de bases de datos es bastante grande y ofrecedemasiadas alternativas a la hora de elegir un software en que confiar, en el momento de tomar una decisión con respecto a por cual herramienta inclinarnos,cual es la optima, cual me ofrece mayores garantías en mi desarrollo específico, que detalles de implementación debemos tener en cuenta para elegir nuestro sistema de gestión de bases de datos, se convierte en una gran preocupación y &lt;a href="http://www.monografias.com/trabajos14/responsabilidad/responsabilidad.shtml"&gt;responsabilidad&lt;/a&gt; el conocer las características ventajas y desventajas, no desconocemos que las herramientas constituyen un aspecto fundamental a la hora de desarrollar un proyecto o una implementación, las características de los &lt;a href="http://www.monografias.com/trabajos12/pmbok/pmbok.shtml"&gt;proyectos&lt;/a&gt;, de las compañías o las necesidades hacen prioritario que estas herramientas se ajusten a esos requerimientos específicos, por estas razones se debe profundizar e investigar las diferentes alternativas que se tienen al alcance ,evitando inconvenientes posteriores como son, perdida de tiempo, perdida de dinero o aun mas grave comprometer la credibilidad profesional al avalar un &lt;a href="http://www.monografias.com/trabajos10/teca/teca.shtml"&gt;concepto&lt;/a&gt; técnico sin el suficiente soporte y &lt;a href="http://www.monografias.com/trabajos/epistemologia2/epistemologia2.shtml"&gt;conocimiento&lt;/a&gt;.Para esta &lt;a href="http://www.monografias.com/trabajos11/norma/norma.shtml"&gt;investigación&lt;/a&gt; se realizo una búsqueda en Internet, bibliografía en temas específicos sobre sistemas manejadores de bases de datos, software libre y software comercial, la finalidad no es probar cual es el mejor sino que tan bueno es el motor protegido bajo licenciamiento libre, definiendo características entre un manejador de base de datos comercial y uno libre.Se realizará un diseño de pruebas y posterior ejecución a los manejadores de datos de tipo comercial y libre con el fin de conocer, capacidad para soportar altos volúmenes de datos, integridad en los datos, concurrencia, velocidad, sistemas de Backup y Restauración.En el desarrollo de este trabajo no se realiza análisis de costos de capacitación, asesoría ni migración de datos, daremos a conocer nombres de firmas que prestan soporte y capacitación para la &lt;a href="http://www.monografias.com/Administracion_y_Finanzas/index.shtml"&gt;administración&lt;/a&gt; del manejador de datos bajo licenciamiento libre.Dentro de las limitaciones contenidas en esta investigación contemplamos que las pruebas se realizaran en una sola maquina , no se utilizara ningún entorno de red por lo tanto se desarrollara un entorno que emule una red de N numero de estaciones de trabajo, ejecutando cada una de ellas sus propias peticiones independientes a la base de datos, se utilizara un solo lenguaje de programación para hacer la pruebas de velocidad y volumen de datos, en la base de datos.&lt;a href="http://www.monografias.com/"&gt;&lt;/a&gt;6.2. MARCO TEORICOEl software ha experimentado un auge extraordinario a raíz de la progresiva informatización de casi la totalidad de las empresas, ante esta notable &lt;a href="http://www.monografias.com/trabajos/ofertaydemanda/ofertaydemanda.shtml"&gt;demanda&lt;/a&gt;, surgen multitud de &lt;a href="http://www.monografias.com/trabajos14/soluciones/soluciones.shtml"&gt;soluciones&lt;/a&gt; en programas como sistemas operativos, manejadores de Bases de Datos, &lt;a href="http://www.monografias.com/trabajos12/rete/rete.shtml"&gt;servidores&lt;/a&gt; &lt;a href="http://www.monografias.com/trabajos5/laweb/laweb.shtml"&gt;web&lt;/a&gt; , sistemas de red, paquetes de &lt;a href="http://www.monografias.com/trabajos13/mapro/mapro.shtml"&gt;oficina&lt;/a&gt; entre otros, los cuales ofrecen a la &lt;a href="http://www.monografias.com/trabajos13/vida/vida.shtml"&gt;comunidad&lt;/a&gt; diferentes formas de licenciamiento tanto libre como comercial, por esta razón damos a conocer un poco de &lt;a href="http://www.monografias.com/Historia/index.shtml"&gt;historia&lt;/a&gt; y características del software libre y generalidades del software comercial.6.2.1. SOFTWARE LIBREEl Software Libre es un asunto de libertad, no de &lt;a href="http://www.monografias.com/trabajos16/fijacion-precios/fijacion-precios.shtml#ANTECED"&gt;precio&lt;/a&gt;, para tener mejor claridad del concepto se debe pensar en libre, como en &lt;a href="http://www.monografias.com/trabajos13/dereabs/dereabs.shtml#pensam"&gt;libertad de expresión&lt;/a&gt; no en algo gratis, se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software, de modo más preciso:, se refiere a cuatro libertades de los usuarios del software:· Libertad de usar el &lt;a href="http://www.monografias.com/Computacion/Programacion/"&gt;programa&lt;/a&gt;, con cualquier propósito .· La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades, acceso al &lt;a href="http://www.monografias.com/trabajos12/eticaplic/eticaplic.shtml"&gt;código&lt;/a&gt; fuente es una condición previa para esto.· Libertad de distribuir copias, con lo que puedes ayudar a interesados.· Libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que todos se beneficien.Software libre, no significa no comercial. Un programa libre debe estar disponible para uso comercial, desarrollo comercial y distribución comercial. El desarrollo comercial del software libre ha dejado de ser inusual; el software comercial libre es muy importante, Es aquel que puede ser distribuido, modificado, copiado y usado; por lo tanto, debe venir acompañado del código fuente para hacer efectivas las libertades que lo caracterizan. Dentro de software libre hay, a su vez, matices que es necesario tener en cuenta.Por ejemplo, el software de &lt;a href="http://www.monografias.com/trabajos7/doin/doin.shtml"&gt;dominio&lt;/a&gt; público significa que no está protegido por el copyright, por lo tanto, podrían generarse versiones no libres del mismo, en &lt;a href="http://www.monografias.com/trabajos2/mercambiario/mercambiario.shtml"&gt;cambio&lt;/a&gt; el software libre protegido con copyleft impide a los redistribuidores incluir algún tipo de restricción a las libertades propias del software así concebido, es decir, garantiza que las modificaciones seguirán siendo software libre.También es conveniente no confundir el software libre con el software gratuito, éste no cuesta nada, hecho que no lo convierte en software libre, porque no es una cuestión de precio, sino de libertad.6.2.2. Cómo surge el software libreEl &lt;a href="http://www.monografias.com/trabajos15/kinesiologia-biomecanica/kinesiologia-biomecanica.shtml"&gt;movimiento&lt;/a&gt; del Software Libre tuvo su origen en el mundo académico. Desde hace más de treinta años, numerosos programadores de distintas universidades han desarrollado herramientas de forma &lt;a href="http://www.monografias.com/trabajos16/bases-cooperativismo/bases-cooperativismo.shtml#COOPER"&gt;cooperativa&lt;/a&gt; y abierta, intercambiando libremente su código fuente. De esta manera se ha logrado construir &lt;a href="http://www.monografias.com/trabajos12/elproduc/elproduc.shtml"&gt;productos&lt;/a&gt; de software de gran envergadura y excelentes cualidades &lt;a href="http://www.monografias.com/trabajos6/juti/juti.shtml"&gt;técnicas&lt;/a&gt;. Con el crecimiento de Internet, dicho movimiento ha sumado adeptos en todo el mundo, trascendiendo el ámbito académico. En la última década han surgido empresas que basan su negocio en el desarrollo, la distribución y el soporte de Software Libre. En la actualidad numerosas empresas que tradicionalmente han utilizado el &lt;a href="http://www.monografias.com/trabajos/adolmodin/adolmodin.shtml"&gt;modelo&lt;/a&gt; propietario para el desarrollo y la &lt;a href="http://www.monografias.com/trabajos/comercializa/comercializa.shtml"&gt;comercialización&lt;/a&gt; de sus productos, comienzan ha incorporar productos de software libre. A modo de ejemplo podemos citar a IBM, que basa todos sus productos orientados a la web en el &lt;a href="http://www.monografias.com/trabajos12/rete/rete.shtml"&gt;servidor&lt;/a&gt; libre Apache.Algo que indujo a este desarrollo fueron los &lt;a href="http://www.monografias.com/trabajos13/mapro/mapro.shtml"&gt;procedimientos&lt;/a&gt; abusivos utilizados por casi todas las principales empresas desarrolladoras de software propietario que han sido denunciados reiteradamente ante la &lt;a href="http://www.monografias.com/trabajos14/hanskelsen/hanskelsen.shtml"&gt;justicia&lt;/a&gt;. Los tribunales norteamericanos han llegado incluso a condenar a una de las firmas más importantes del mundo por prácticas monopólicas violatorias de las &lt;a href="http://www.monografias.com/trabajos4/leyes/leyes.shtml"&gt;leyes&lt;/a&gt;, la necesidad de liberarse de tan irritante &lt;a href="http://www.monografias.com/trabajos10/trini/trini.shtml"&gt;esclavitud&lt;/a&gt; ha movido a técnicos de todo el mundo a desarrollar e introducir, de manera ordenada y sistemática, el software libre.6.2.3. Historia y &lt;a href="http://www.monografias.com/trabajos16/teoria-sintetica-darwin/teoria-sintetica-darwin.shtml"&gt;evolución&lt;/a&gt;Tabla 2. Historia y Evolución del software libre1.974:Bell Labs publica la &lt;a href="http://monografias.com/trabajos10/anali/anali.shtml"&gt;descripción&lt;/a&gt; de &lt;a href="http://www.monografias.com/trabajos/unix/unix.shtml"&gt;Unix&lt;/a&gt;: un &lt;a href="http://www.monografias.com/Computacion/Sistemas_Operativos/"&gt;sistema operativo&lt;/a&gt; portable escrito en un lenguaje avanzado de 3ra generación &lt;a href="http://www.monografias.com/trabajos/introc/introc.shtml"&gt;Lenguaje C&lt;/a&gt;, multiusuario, multitarea, con capacidad de procesamiento en línea, sistema de &lt;a href="http://www.monografias.com/trabajos7/arch/arch.shtml"&gt;archivos&lt;/a&gt; jerárquico, editor, compilador de C y herramientas de procesamiento de &lt;a href="http://www.monografias.com/trabajos13/libapren/libapren.shtml"&gt;texto&lt;/a&gt;.1.975:Las Universidades empiezan a manifestar intereses por compartir el &lt;a href="http://www.monografias.com/trabajos12/elproduc/elproduc.shtml"&gt;producto&lt;/a&gt;. Bell Labs distribuye Unix con &lt;a href="http://www.monografias.com/trabajos10/formulac/formulac.shtml#FUNC"&gt;fuentes&lt;/a&gt; de manera abierta y libre a los entes del &lt;a href="http://www.monografias.com/trabajos15/medio-ambiente-venezuela/medio-ambiente-venezuela.shtml"&gt;ambiente&lt;/a&gt; académico y científico solicitantes a cambio de pagar los &lt;a href="http://www.monografias.com/trabajos10/rega/rega.shtml#ga"&gt;gastos&lt;/a&gt; de medio magnético, &lt;a href="http://www.monografias.com/trabajos13/mapro/mapro.shtml"&gt;manual&lt;/a&gt; y flete; y deben reportar toda investigación y mejora que se desarrolle con el Sistema. Berkeley 1BSD.1.976:Es instalado en las Universidades importantes de USA y &lt;a href="http://www.monografias.com/trabajos10/geogeur/geogeur.shtml"&gt;Europa&lt;/a&gt;.1.977:500 instalaciones registradas.1.978:Unix versión 6; se estiman 700 instalaciones. Berkeley 2BSD.1.979:Primera versión del Sistema UUCP para &lt;a href="http://www.monografias.com/trabajos12/fundteo/fundteo.shtml"&gt;comunicación&lt;/a&gt; de datos entre &lt;a href="http://www.monografias.com/trabajos15/computadoras/computadoras.shtml"&gt;computadoras&lt;/a&gt;. Berkeley 3BSD.Es instalado en &lt;a href="http://www.monografias.com/trabajos10/venez/venez.shtml#terr"&gt;Venezuela&lt;/a&gt; en la &lt;a href="http://www.monografias.com/trabajos13/admuniv/admuniv.shtml"&gt;Universidad&lt;/a&gt; Simón Bolívar.Se Licencia Unix versión 7, que se populariza de manera explosiva como plataforma para experimentar y desarrollar tecnología, probar &lt;a href="http://www.monografias.com/trabajos15/algoritmos/algoritmos.shtml"&gt;algoritmos&lt;/a&gt;, &lt;a href="http://www.monografias.com/trabajos12/mncerem/mncerem.shtml"&gt;protocolos&lt;/a&gt; de comunicación, &lt;a href="http://www.monografias.com/Computacion/Programacion/"&gt;lenguajes de programación&lt;/a&gt; y manejadores de Base de Datos.1.980:Berkeley despacha Unix 4.0BSD al Departamento de Defensa de USA. En la Red DARPANET desde 1.979 se usa UUCP y se empieza a utilizar &lt;a href="http://www.monografias.com/trabajos5/datint/datint.shtml#pro"&gt;TCP/IP &lt;/a&gt;bajo Unix 4.0BSD.Arranca la cruzada de la &lt;a href="http://www.monografias.com/Computacion/index.shtml"&gt;Computación&lt;/a&gt; &lt;a href="http://www.monografias.com/trabajos11/fuper/fuper.shtml"&gt;Personal&lt;/a&gt; y la era de la &lt;a href="http://www.monografias.com/trabajos11/funpro/funpro.shtml"&gt;integración&lt;/a&gt; a &lt;a href="http://www.monografias.com/trabajos6/dige/dige.shtml#evo"&gt;escala&lt;/a&gt; en &lt;a href="http://www.monografias.com/trabajos11/micro/micro.shtml"&gt;Microprocesadores&lt;/a&gt;.1.981:Unificación de versiones: Unix System III, Licencia Comercial.Surge nuevos &lt;a href="http://www.monografias.com/trabajos6/lacali/lacali.shtml#influencia"&gt;proveedores&lt;/a&gt; de Computadoras bajo Unix como Onys, Plexus, Convergent Techs., Altos y Ohio Scie. AT&amp;T anuncia línea de computadoras bajo Unix. Sperry, Motorolla y NCR anuncia línea de mini computadoras basadas en Microprocesadores 68000 y Unix.1.982:Varias versiones comerciales de Unix (Xenix, Citix, Centix, etc).Berkeley incorpora UUCP HDB que puede operar sobre TCP/&lt;a href="http://www.monografias.com/trabajos/protocolotcpip/protocolotcpip.shtml"&gt;IP&lt;/a&gt;.Unix para &lt;a href="http://www.monografias.com/trabajos6/arma/arma.shtml"&gt;arquitectura&lt;/a&gt; IBM S/370.1.983:Unix System V unifica versiones y llama a un estándar. Sun, HP, Apollo, Data General, Tecktronics, Silicon Graphics e Intergraph lanzan las Estaciones &lt;a href="http://www.monografias.com/trabajos11/estadi/estadi.shtml#METODOS"&gt;Gráficas&lt;/a&gt; de Trabajo Profesional bajo Unix dedicadas al procesamiento gráfico y CAD.DARPA y Berkeley aseguran que Unix 4.1BSD ofrece mayor rendimiento y mejores herramientas en un Digital VAX que el propio sistema operativo Digital VMS.Más de 130.000 instalaciones.1.984:Unix System V Release 2 incorpora los últimos &lt;a href="http://www.monografias.com/trabajos5/cienteysoc/cienteysoc.shtml"&gt;avances tecnológicos&lt;/a&gt; en manipulación y administración de recursos, protocolos de comunicación, lenguajes, Base de Datos, procesamiento distribuido y paralelismo. El proyecto de Interfaces Gráficas con Ventanas e Iconos (Athena X-Window System) se desarrolla e implementa bajo Unix.Más de 200.000 instalaciones.1.985:Xenix System V para PC con 80286 y el novedoso 80386.Sun implementa NFS (Networf File System/Shearing) sobre TCP/IP para compartir archivos en Red.Surgen productos para interconectar PC con &lt;a href="http://www.monografias.com/Computacion/Redes/"&gt;Redes&lt;/a&gt; Unix.Cray, Amdhal, Elxsi y Alliant establecen a Unix como estándar para sus Supercomputadores con procesamiento paralelo.IBM anuncia el desarrollo de AIX para S/370 y Serie/1.HP anuncia línea de computadoras Basadas en Tecnología RISC bajo Unix.Carnegie Mellon university anuncia versión de Unix MATCH diseñado con tecnología de Microkernel Orientado a Objetos.NSFnet, Milnet y Arpanet utilizan TCP/IP a plenitud=Internet.Se publican críticas a Unix para tratar de frenar su avance.Más de 420.000 instalaciones.1.986:Unix System V release 3.0 incorpora nuevos servicios, Facilidades de Interconexión, poderosos esquemas para la administración de Recursos que aumentan el rendimiento.SUN publica definición de Protocolos de RED necesarios para implementar NFS (Network File System/Shearing).AT&amp;amp;T provee RFS (Remote File System).ETHERNET se convierte en &lt;a href="http://www.monografias.com/trabajos12/mncerem/mncerem.shtml"&gt;protocolo&lt;/a&gt; estándar para Redes Locales y X.25 para Redes Amplias. TCP/IP protocolo estándar para Redes Locales y Amplias. El Departamento de Defensa de USA manifiesta su intensión de adquirir solo equipos bajo Unix, pero pide aumentar controles de acceso y seguridad.Manejadores de Base de Datos Relacional que ofrecen SQL como INFORMIX, UNIFY, INGRES, &lt;a href="http://www.monografias.com/trabajos14/base-datos/base-datos.shtml"&gt;Oracle&lt;/a&gt; y otros, impulsan a Unix al mercado Aplicacional.Más de 680.000 instalaciones registradas.ORGANIZACIONES QUE EMITEN ESTÁNDARES COBRAN GRAN IMPORTANCIA Y COINCIDEN EN SUS APRECIACIONES.1.987:AT&amp;T propone nuevas &lt;a href="http://www.monografias.com/trabajos11/henrym/henrym.shtml"&gt;estrategias&lt;/a&gt; de &lt;a href="http://www.monografias.com/trabajos13/mepla/mepla.shtml"&gt;mercadeo&lt;/a&gt; Unix COMO SOLUCION TOTAL., AT&amp;amp;T y SUN anuncian la &lt;a href="http://www.monografias.com/trabajos6/fuso/fuso.shtml"&gt;Fusión&lt;/a&gt; de sus centros de Desarrollo y absorben parte del personal de Berkeley., IBM lanza su primera Estación Gráfica de Trabajo Profesional con Tecnología RISC y Unix (RT/AIX)., Productos para CAD/CAM, CAD/CAE, procesamiento de &lt;a href="http://www.monografias.com/trabajos3/color/color.shtml"&gt;Imágenes&lt;/a&gt;, Análisis de &lt;a href="http://www.monografias.com/trabajos15/todorov/todorov.shtml#INTRO"&gt;Estructuras&lt;/a&gt; y Sólidos, &lt;a href="http://www.monografias.com/trabajos13/histarte/histarte.shtml#ORIGEN"&gt;Dibujo&lt;/a&gt; Gráfico, Animación y Edición de publicaciones, inundan el Mercado de las Estaciones Gráficas de Trabajo Profesional bajo Unix.1998Oracle, Informix, Sybase, Progress, y la mayoría de las casas productoras de manejadores de Bases de Datos portan sus productos a &lt;a href="http://www.monografias.com/trabajos14/linux/linux.shtml"&gt;Linux&lt;/a&gt;.Existen gran variedad de distribuciones comerciales de Linux.La comunidad organizada Linux empieza a tener mucha presencia, fuerza de opinión y reconocimiento en toda La Internet y en la comunidad Unix comercial.Solaris, FreeBSD y Linux dominan las &lt;a href="http://www.monografias.com/trabajos15/estadistica/estadistica.shtml"&gt;estadísticas&lt;/a&gt; de Servidores de grandes e importantes Web Sites en La Internet.IBM: Aix será su plataforma preferida para su &lt;a href="http://www.monografias.com/trabajos11/henrym/henrym.shtml"&gt;estrategia&lt;/a&gt; &lt;a href="http://www.monografias.com/trabajos16/tecnologias-para-ebusiness/tecnologias-para-ebusiness.shtml"&gt;e-Business&lt;/a&gt;.Linux debuta en los efectos especiales del &lt;a href="http://www.monografias.com/trabajos14/cinehistor/cinehistor.shtml"&gt;cine&lt;/a&gt; compartiendo escena con SGI en Titanic.StartDivision incorpora compatibilidad con formatos de Office98 en su StarOffice.1.999:Las &lt;a href="http://www.monografias.com/trabajos12/recoldat/recoldat.shtml#quees"&gt;encuestas&lt;/a&gt; realizadas en La Internet revelan que el Sistema Operativo preferido por la comunidad de desarrolladores del WWW es Linux, como servidor Web y Estación.IBM, HP, Dell y Compaq ofrecen línea de Servidores y Estaciones bajo Linux.Compaq/Digital-Alpha, Motorota y PowerPC no soportarán más a WindowsNT, ofrecerán soporte a Unix y Linux.Unix se recupera en las estadísticas del mercado de Servidores.Linux tiene el dominio del mercado de los Servidores Web.Linux le roba terreno en las proyecciones de crecimiento y mercado a WindowsNT.Intel invierte grandes capitales en compañías relacionadas con Linux.Gracias al movimiento Linux, se consolida el movimiento del software libre (free) como tendencia comercial viable y sustentable.Sun compra StarDivision y despacha gratis StarOffice para uso personal o comercial.LinuxWeek en Venezuela.&lt;a href="http://www.monografias.com/trabajos29/comparacion-sistemas/#1;#_ftn1"&gt;[1]&lt;/a&gt;6.2.4. Contenidos actuales del software libreLos sistemas operativos y programas de aplicación de software libre son múltiples y variados y abarcan las más corrientes necesidades de los usuarios. Están siendo permanentemente perfeccionados a través de la interacción de quienes los usan, los pueden modificarlos y adaptarlos fácilmente a sus necesidades. Se plantea así una alternativa válida para aquellos que aspiran a utilizar sistemas y programas informáticos eficaces, &lt;a href="http://www.monografias.com/trabajos5/segu/segu.shtml"&gt;seguros&lt;/a&gt; y estables sin la amenaza de sanciones legales por su uso no autorizado.Las empresas colombianas y de países vecinos han comenzado ha comprobar lo beneficios tecnológicos y financieros que ofrece el software de código libre, frente a los tradicionales programas comerciales o propietarios.Tal tendencia se refleja en las cifras del crecimiento que este tipo de software ha tenido en las empresas latinoamericanas: 144 por ciento frente al año anterior, según la firma de investigación IDC.Esto Se debe a que las compañías de nuestros países no cuentan con mucho dinero para invertir en tecnología, además el software libre les ofrece soluciones informáticas de alta &lt;a href="http://www.monografias.com/trabajos11/conge/conge.shtml"&gt;calidad&lt;/a&gt; y &lt;a href="http://www.monografias.com/trabajos11/veref/veref.shtml"&gt;eficiencia&lt;/a&gt; que en el mundo comercial cuestan mucho.6.2.5. Algunos de los mejores programas libres disponiblesTabla 3. Algunos de los mejores programas libres disponiblesNombreFabricaVersionesDetallesTipo de ClientesDonde se consigueSistema operativo-Suse LinuxNovell.Suse 9.1 Personal; Suse 9.1 Professional; Suse Enterprise Server 8; Suse Standard Server 8; Suse Lin ux Desktop.Compite con &lt;a href="http://www.monografias.com/trabajos15/ms-windows/ms-windows.shtml"&gt;Windows&lt;/a&gt; de &lt;a href="http://www.monografias.com/trabajos13/quienbill/quienbill.shtml"&gt;Microsoft&lt;/a&gt;. Es un sistema operativo completo, gráfico, que incluye programas de oficina, de &lt;a href="http://www.monografias.com/trabajos/email/email.shtml"&gt;correo electrónico&lt;/a&gt;, de Internet y &lt;a href="http://www.monografias.com/trabajos10/mmedia/mmedia.shtml"&gt;multimedia&lt;/a&gt;. Las versiones para servidor (empresas) traen programas para manejo de archivos, sistemas de seguridad, de manejo masivo de correo electrónico, herramientas de autenticación (contraseñas en red), etc.les sirve a empresas de cualquier tamaño. Es compatible con redes Windows o Unix, por lo que podrá usarlo sin necesidad de cambiar muchas cosas.Novell de &lt;a href="http://www.monografias.com/trabajos13/verpro/verpro.shtml"&gt;Colombia&lt;/a&gt; (&lt;a href="http://www.novell.com/es-es"&gt;www.novell.com/es-es&lt;/a&gt;).Base de Datos MySQLMySQL AB (&lt;a href="http://www.mysql.com/"&gt;http://www.mysql.com/&lt;/a&gt;MySQL Pro; &lt;a href="http://www.monografias.com/trabajos14/tecnolcomp/tecnolcomp2.shtml"&gt;MySQL&lt;/a&gt; Database Server y Max DBes la base de datos relacional de código libre más usada en el mundo. La versión gratuita es el referente para personas y empresas que crean &lt;a href="http://www.monografias.com/trabajos5/laweb/laweb.shtml"&gt;páginas web&lt;/a&gt;. En la parte empresarial ofrece versiones con capacidades similares a las de costosas &lt;a href="http://www.monografias.com/trabajos16/marca/marca.shtml"&gt;marcas&lt;/a&gt; como IBM, Informix, Oracle y Microsoft. Hewlett-Packard ofrece soporte y garantía para esta base de datos instalada en sus servidores Proliant. La versión Max DB es certificada para sistemas &lt;a href="http://www.monografias.com/trabajos5/sistab/sistab2.shtml"&gt;SAP&lt;/a&gt;.Tipo de cliente: empresas que necesitan aumentar la capacidad y estabilidad de su base de datos. Se puede conectar a sistemas Windows o Unix.- Detalles: - - Dónde se consigue: Pulxar (&lt;a href="http://www.pulxar.com.co/"&gt;http://www.pulxar.com.co/&lt;/a&gt;); HP Colombia (&lt;a href="http://www.hp.com/co"&gt;www.hp.com/co&lt;/a&gt;).Sistema de Red – SambaSamba Team (&lt;a href="http://www.samba.org/"&gt;http://www.samba.org/&lt;/a&gt;Samba 2.2 y Samba 3.0.Es un sistema de red que permite a varios computadores compartir recursos (como impresión, acceso a archivos y datos). Tiene la capacidad de manejar varios PC sin importar el sistema operativo que usen (puede combinar computadores con Windows y Linux).Empresas que no tienen cómo pagar una actualización de sistemas de red viejos, como &lt;a href="http://www.monografias.com/trabajos11/introwin/introwin.shtml"&gt;Windows NT&lt;/a&gt;. Ofrece capacidades robustas de configuración de directorios y &lt;a href="http://www.monografias.com/trabajos11/grupo/grupo.shtml"&gt;grupos&lt;/a&gt; de red, entre otras, que en versiones de software pagado serían muy costosas.(&lt;a href="http://www.pulxar.com.co/"&gt;http://www.pulxar.com.co/&lt;/a&gt;Servidor Web- ApacheApache Software Foundation (&lt;a href="http://www.apache.org/"&gt;http://www.apache.org/&lt;/a&gt;).2.0.programa que administra servidores para alojar sitios web. Según el fabricante, alrededor del 50 por ciento de los sitios de Internet está almacenado en servidores Apache. Es estable, &lt;a href="http://www.monografias.com/trabajos5/segu/segu.shtml"&gt;seguro&lt;/a&gt; y eficientecompañías que administran uno o varios sitios web, y que necesitan una opción económica, fácil de configurar y de administrar.apache.uniandes.edu.co.&lt;a href="http://www.monografias.com/trabajos29/comparacion-sistemas/#1;#_ftn2"&gt;[2]&lt;/a&gt;6.2.6. Licenciamiento de softwareLa licencia de software es una especie de &lt;a href="http://www.monografias.com/trabajos6/cont/cont.shtml"&gt;contrato&lt;/a&gt;, en donde se especifican todas las &lt;a href="http://www.monografias.com/trabajos4/leyes/leyes.shtml"&gt;normas&lt;/a&gt; y cláusulas que rigen el uso de un determinado programa, principalmente se estipulan los alcances de uso, instalación, &lt;a href="http://www.monografias.com/trabajos/reproduccion/reproduccion.shtml"&gt;reproducción&lt;/a&gt; y copia de estos productos, en el momento en que usted decide descargar, instalar, copiar o utilizar un determinado Software, implica que usted acepta las condiciones que se estipulan en el licenciamiento de cada programa especifico.6.2.7. Tipos de licencias de software libreSe considera como, libre y gratis. Cuando hablamos de software libre, se tiene la tendencia a creer que se trata solamente de programas que el usuario puede utilizar sin pagar un peso y que normalmente se encuentran gratis en Internet. Pero es mucho más que esto. No tiene nada que ver con el precio, tiene que ver con libertad" (El Proyecto GNU es una campaña para difundir el Software libre. Fue iniciada por Richard Stallman en 1984 y pretende implantar la tendencia hacia el desarrollo de software sin limitantes de &lt;a href="http://www.monografias.com/trabajos16/derecho-autor-venezuela/derecho-autor-venezuela.shtml"&gt;derechos de autor&lt;/a&gt; y bajo precio).6.2.7.1. Open SourceOpen Source y Software libre, son esencialmente lo mismo, la diferencia radica en que los defensores del Free Software no están ciento por ciento de acuerdo con que las empresas disfruten y distribuyan Free Software ya que, según ellos, el mercado corporativo antepone la &lt;a href="http://www.monografias.com/trabajos4/costo/costo.shtml"&gt;utilidad&lt;/a&gt; a la libertad, a la comunidad y a los &lt;a href="http://www.monografias.com/trabajos6/etic/etic.shtml"&gt;principios&lt;/a&gt; y por ende no va de la mano con la filosofía pura detrás del Software libre, por otra parte, los seguidores del software Open Source sostienen que el &lt;a href="http://www.monografias.com/trabajos14/administ-procesos/administ-procesos.shtml#PROCE"&gt;proceso&lt;/a&gt; normal de crecimiento de la tendencia debe llegar al mercado corporativo y no seguir escondida bajo el manto de la oposición, sino que, por el contrario, están en el deber de lanzar software potente y de excelente calidad.Para lograrlo, creen en la necesidad de un software Open Source más confiable que el software propietario ya que son más las personas que trabajan en el al mismo tiempo y mayor la cantidad de 'ojos' que pueden detectar errores y corregirlos, es pues, el software que puede ser compartido abiertamente entre desarrolladores y usuarios finales de tal forma que todos aprendan de todos.6.2.7.2. Licencia GPL (General Public License)La licencia GPL se aplica al software de la FSF (Free Software Foundation) y el proyecto GNU y otorga al usuario la libertad de compartir el software y realizar cambios en él. Dicho de otra forma, el usuario tiene derecho a usar el programa, modificarlo y distribuir las versiones modificadas pero no tiene permiso de realizar restricciones propias con respecto a la utilización de ese programa modificado.La licencia GPL, fue creada para mantener la libertad del software y evitar que alguien quisiera apropiarse de la autoría intelectual de un determinado programa. La licencia advierte que el software debe ser gratuito y que el paquete final, también debe ser gratuito.6.2.8. El negocio basado en software libreGran parte del Software Libre existente en la actualidad ha sido desarrollado por programadores durante su tiempo libre, o como parte de sus actividades académicas.Antecedentes:Grupos de desarrollo inicialmente informales y poco organizados, se han constituido en empresas debido al &lt;a href="http://www.monografias.com/trabajos15/llave-exito/llave-exito.shtml"&gt;éxito&lt;/a&gt; de sus productos libres.Algunas empresas productoras o comercializadoras de software han comenzado a cambiar sus &lt;a href="http://www.monografias.com/trabajos10/poli/poli.shtml"&gt;políticas&lt;/a&gt; de desarrollo y distribución, utilizando licencias libres para sus productos.Otras empresas han tomado desarrollos libres (producidos por programadores independientes) para utilizarlos como base de sus soluciones, invirtiendo en su mejoramiento y brindando soporte a sus usuarios.6.2.9. Por qué elegir el modelo de software Libre?Básicamente son tres razones principales por las cuales una &lt;a href="http://www.monografias.com/trabajos11/empre/empre.shtml"&gt;empresa&lt;/a&gt; podría inclinarse por este modelo:Al optar por el modelo de desarrollo y distribución libre, &lt;a href="http://www.monografias.com/trabajos11/empre/empre.shtml"&gt;la empresa&lt;/a&gt; queda habilitada a utilizar la gran cantidad de herramientas libres disponibles en la actualidad. Esto no sólo implica la ejecución de dichas herramientas, sino también la modificación de las mismas para adaptarlas a casos particulares y la exploración de sus mecanismos de funcionamiento para luego reutilizarlos en futuros desarrollos. De esta forma se obtiene una ventaja significativa respecto de aquellas empresas que basan su negocioen el modelo propietario o cerrado, que no pueden utilizar esta base deherramientas y conocimiento.El liberar un programa facilita enormemente su distribución y &lt;a href="http://www.monografias.com/trabajos11/teopub/teopub.shtml"&gt;publicidad&lt;/a&gt;. De esta manera no es necesario invertir enormes sumas de dinero en campañas publicitarias y en &lt;a href="http://www.monografias.com/Administracion_y_Finanzas/Marketing/"&gt;marketing&lt;/a&gt; para &lt;a href="http://www.monografias.com/trabajos12/foucuno/foucuno.shtml#CONCEP"&gt;poder&lt;/a&gt; competir con productos establecidos en el mercado.Si el producto en cuestión tiene suficientes méritos técnicos, con seguridad despertará el &lt;a href="http://www.monografias.com/trabajos7/tain/tain.shtml"&gt;interés&lt;/a&gt; de un gran número de desarrolladores, usuarios y otras empresas en todo el mundo, lo cuales comenzarán a contribuir en su desarrollo, extensión y depuración. Muchos son los casos en que pequeños emprendimientos han engendrado productos de gran nivel técnico y de una envergadura impensada.6.2.10. El Software Libre y la &lt;a href="http://www.monografias.com/trabajos16/romano-limitaciones/romano-limitaciones.shtml"&gt;propiedad&lt;/a&gt; intelectualMuchos objetan, en contra del modelo de distribución libre, que el hecho de proveer el código fuente de los programas, autorizando su uso y redistribución, implica la pérdida de la &lt;a href="http://www.monografias.com/trabajos28/propiedad-intelectual-comentarios-tendencias-recientes/propiedad-intelectual-comentarios-tendencias-recientes.shtml"&gt;propiedad intelectual&lt;/a&gt;. Esto posibilitaría a una empresa de mayor envergadura el tomar como propio dicho desarrollo, relegando a sus autores originales. A través de los treinta años de existencia de Software Libre, nunca se ha dado una situación como esta. Por el contrario, este tipo de problemas se ha planteado en innumerables oportunidades (muchas de las cuales han llegado a la justicia) en el mundo del Software Propietario. La razón por la cual los desarrolladores de un programa libre no pierden el &lt;a href="http://www.monografias.com/trabajos14/control/control.shtml"&gt;control&lt;/a&gt; del mismo es muy simple: a sus usuarios y al resto de los programadores que contribuyen con el mismo no les conviene. Los autores originales son el factor aglutinante del proyecto.Ellos son quienes dirigen el rumbo del desarrollo, quienes recopilan los reportes de errores y los requerimientos de los usuarios, ellos reúnen los aportes y contribuciones de los demás desarrolladores. De esta forma, si la &lt;a href="http://www.monografias.com/trabajos5/psicoso/psicoso.shtml#acti"&gt;actitud&lt;/a&gt; de los líderes del proyecto es la adecuada, sus usuarios y colaboradores seguirán manteniéndolos como referentes. En virtud de esto, a una empresa que le interese incorporar dicho programa dentro de su &lt;a href="http://www.monografias.com/trabajos/ofertaydemanda/ofertaydemanda.shtml"&gt;oferta&lt;/a&gt; deproductos le convendrá colaborar con el &lt;a href="http://www.monografias.com/trabajos14/dinamica-grupos/dinamica-grupos.shtml"&gt;grupo&lt;/a&gt; de desarrollo existente (liderado por sus autores originales), antes que iniciar un proyecto paralelo.Por el contrario, si los desarrolladores iniciales por algún motivo pierden interés en el producto, la disponibilidad del código fuente y de la documentación del mismo posibilitará la creación de nuevos grupos6.3. SOFTWARE PROPIETARIO6.3.1. Modelo tradicional de desarrollo y distribuciónCuando una empresa productora de software distribuye un producto de este tipo, solamente entrega al comprador una copia del programa ejecutable, junto con la autorización de ejecutar dicho programa en un número determinado de computadoras.En el contrato que suscriben ambas partes, comúnmente denominado "licencia" del producto, queda expresado claramente que lo que el cliente adquiere es simplemente la facultad de utilizar dicho programa en determinada cantidad de computadoras (dependiendo del monto que haya abonado). En este sentido, la licencia deja en claro que el programa sigue siendo propiedad de la empresa productora del mismo y que el usuario no está facultado a realizar ningún cambio en él.6.3.2. Dependencia de un proveedorComo se dijo anteriormente, la corrección de errores o el agregado de nuevas &lt;a href="http://www.monografias.com/trabajos7/mafu/mafu.shtml"&gt;funciones&lt;/a&gt; en un programa solamente puede hacerse si se dispone del código fuente. Es claro que, al ser la empresa proveedora la única que dispone de dicho código, sólo esta puede atender a los requerimientos de un cliente insatisfecho con el producto del cual ha adquirido una licencia de uso. Esto pone al usuario en una clara situación de dependencia del proveedor. Si el programa presenta algún defecto, éste debe aceptar las condiciones de la empresa productora del programa (en el supuesto caso de que dicha empresa reconozca el error y acceda a repararlo).6.3.3. SoporteEn la mayoría de los casos, los programas propietarios de amplia difusión son producidos por empresas transnacionales, que cuentan con representantes o distribuidores en nuestro país. Uno de los argumentos más fuertes esgrimidos por dichas empresas a la hora de justificar el alto costo de las licencias, es la disponibilidad de soporte técnico especializado.Dicho &lt;a href="http://www.monografias.com/trabajos14/verific-servicios/verific-servicios.shtml"&gt;servicio&lt;/a&gt; supondría un respaldo hacia el usuario, de cara a la solución de posibles problemas que pudieran presentarse en el uso del producto adquirido por este último. La realidad nos &lt;a href="http://www.monografias.com/trabajos11/tebas/tebas.shtml"&gt;muestra&lt;/a&gt; que en la mayoría de los casos, todo lo que el usuario puede esperar del servicio de soporte técnico son instrucciones de instalación, configuración y uso.La reparación de errores detectados en el programa por lo general no está al alcance de quien brinda el soporte: una subsidiaria o un asociado a la empresa productora del software, que no dispone del código fuente del programa. Aún en el caso de poder reportar el fallo a los encargados del desarrollo del producto.6.4. GENERALIDADES DE LAS BASES DE DATOSEste trabajo esta orientado al tema de base de datos, se da a conocer en el siguiente &lt;a href="http://www.monografias.com/trabajos13/libapren/libapren.shtml"&gt;párrafo&lt;/a&gt; la definición que mas se ajusta de acuerdo a nuestro criterio."Colección o depósito de datos integrados con redundancia controlada y con una &lt;a href="http://www.monografias.com/trabajos15/todorov/todorov.shtml#INTRO"&gt;estructura&lt;/a&gt; que refleje las interrelaciones y restricciones existentes en el mundo real; los datos, que han de ser compartidos por diferentes usuarios y aplicaciones, deben mantenerse independientes de éstas, y su definición y descripción, únicas para cada tipo de datos, han de estar almacenadas junto con los mismos. Los procedimientos de actualización y recuperación comunes y bien determinados, habrán de ser capaces de conservar la integridad del conjunto de los datos"Entre las muchas ventajas que existen, a continuación mencionamos algunas de ellas:· DisponibilidadCuando se aplica la metodología de bases de datos, cada usuario ya no es propietario de los datos, puesto que éstos se comparten entre el conjunto de aplicaciones, existiendo una mejor disponibilidad de los datos para todos los que tienen necesidad de ellos, siempre que estén autorizados para su acceso. Una de las ventajas que ofrece hoy en día las nuevas tecnologías de desarrollo es poder desarrollar aplicaciones cuyo objetivo es acceder a dicha información desde cualquier parte del mundo utilizando una red como Internet.· Facilidad de UsoExisten diferentes maneras de extraer la información almacenada en una base de datos, por ejemplo, un ingeniero lo puede realizar por medio de instrucciones SQL, los usuarios lo pueden realizar por medio de aplicaciones desarrolladas dentro de una organización o pueden extraer la información con herramientas que existen en el mercado, todo esto con dos &lt;a href="http://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtml"&gt;valores&lt;/a&gt; agregados, Velocidad y precisión.· Coherencia de los ResultadosDebido a que la información de la base de datos se recoge y almacena una sola vez. En todos los programas se utilizan los mismos datos, por lo que los resultados de todos ellos son coherentes y perfectamente comparables.Además, al no existir (o al menos disminuir en gran medida) la redundancia en los datos, desaparece el inconveniente de las divergencias en los resultados debidos a actualizaciones no simultáneas en todos los ficheros.· d) Confidencialidad En El Manejo De Los DatosToda la información puede estar centralizada en un solo punto y debidamente clasificada pudiendo acceder a ella dependiendo del perfil con que se ingresa al sistema· Globalización de la información:Permite a los diferentes usuarios considerar la información como un recurso corporativo que carece de dueños específicos.De la misma forma como se habla de ventajas también existen desventajas o inconvenientes cuando se trata de bases de datos, mencionaremos algunas de estas:a) Instalación costosaLa implantación de un sistema de bases de datos puede llevar consigo un costo elevado, tanto en equipo físico (nuevas instalaciones o ampliaciones), como en el lógico (sistemas operativos, programas, &lt;a href="http://www.monografias.com/trabajos11/compil/compil.shtml"&gt;compiladores&lt;/a&gt;, etc... necesarios para su uso). Sin embargo, existen soluciones para reducir significativamente los costos.b) Personal especializadoLos conocimientos, que resultan imprescindibles para una utilización correcta y eficaz y sobre todo para la administración de las bases de datos, implican una necesidad de personal especializado que resulta difícil de encontrar, y de formar. El problema de la contratación y formación de este tipo de personal es clave a la hora de crear un sistema de base de datos.· Falta de &lt;a href="http://www.monografias.com/trabajos12/rentypro/rentypro.shtml#ANALIS"&gt;rentabilidad&lt;/a&gt; a corto plazo:La implantación de un sistema de bases de datos, tanto por su costo en personal y en equipos como por el tiempo que tarda en operar, no resulta rentable a corto plazo. Puede calcularse que para un sistema de dimensiones medias, la rentabilidad sólo puede empezar a apreciarse después de bastantes meses de la iniciación de los trabajos; en instalaciones grandes o muy grandes el plazo puede llegar a ser de años.Durante &lt;a href="http://www.monografias.com/trabajos/fintrabajo/fintrabajo.shtml"&gt;el trabajo&lt;/a&gt; vamos a encontrar un termino que se mencionara en varios apartes, y es el sistema de gestión de bases de datos (SGBD o DBMS), es conjunto de programas que se encargan de manejar la creación y todos los accesos a las bases de datos. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta.Las funciones de un SGBD son:· Un SGBD debe proporcionar a los usuarios la capacidad de almacenar datos en la base de datos, acceder a ellos y actualizarlos. Esta es la &lt;a href="http://www.monografias.com/trabajos7/mafu/mafu.shtml"&gt;función&lt;/a&gt; fundamental de un SGBD.· Un SGBD debe proporcionar un catálogo en el que se almacenan las descripciones de los datos y que sea accesible por los usuarios. Este catálogo es lo que se denomina &lt;a href="http://www.monografias.com/trabajos12/recoldat/recoldat.shtml#diccion"&gt;diccionario de datos&lt;/a&gt; y contiene información que describe los datos de la base de datos (meta datos). Normalmente, un &lt;a href="http://www.monografias.com/trabajos12/diccienc/diccienc.shtml"&gt;diccionario&lt;/a&gt; de datos almacena:· Nombre, tipo y tamaño de los datos.· Nombre de las relaciones entre los datos.· Restricciones de integridad sobre los datos.· Nombre de los usuarios autorizados a acceder a la base de datos.· Esquemas externos, conceptuales e internos, y correspondencia entre los esquemas.· Estadísticas de utilización, tales como la frecuencia de las transacciones y el número de accesos realizados a los objetos de la base de datos.Algunos de los beneficios que reporta el diccionario de datos son los siguientes:· La información sobre los datos se puede almacenar de un modo centralizado. Esto ayuda a mantener el control sobre los datos, como un recurso que son.· El significado de los datos se puede definir, lo que ayudará a los usuarios a entender el propósito de los mismos.· &lt;a href="http://www.monografias.com/trabajos/lacomunica/lacomunica.shtml"&gt;La comunicación&lt;/a&gt; se simplifica ya que se almacena el significado exacto. El diccionario de datos también puede identificar al usuario o usuarios que poseen los datos o que los acceden.· Las redundancias y las inconsistencias se pueden identificar más fácilmente ya que los datos están centralizados.· Se puede tener un historial de los cambios realizados sobre la base de datos.· El impacto que puede producir un cambio se puede determinar antes de que sea implementado, ya que el diccionario de datos mantiene información sobre cada tipo de dato, todas sus relaciones y todos sus usuarios.· Se puede hacer respetar la seguridad.· Se puede garantizar la integridad.· Se puede proporcionar información para &lt;a href="http://www.monografias.com/trabajos14/auditoria/auditoria.shtml"&gt;auditorias&lt;/a&gt;.· Un SGBD debe proporcionar un mecanismo que garantice que todas las actualizaciones correspondientes a una determinada transacción se realicen, o que no se realice ninguna. Una transacción es un conjunto de &lt;a href="http://www.monografias.com/trabajos4/acciones/acciones.shtml"&gt;acciones&lt;/a&gt; que cambian el contenido de la base de datos.· Un SGBD debe proporcionar un mecanismo que asegure que la base de datos se actualice correctamente cuando varios usuarios la están actualizando concurrentemente. Uno de los principales objetivos de los SGBD es el permitir que varios usuarios tengan acceso concurrente a los datos que comparten. El acceso concurrente es relativamente fácil de gestionar si todos los usuarios se dedican a leer datos, ya que no pueden interferir unos con otros. Sin embargo, cuando dos o más usuarios están accediendo a la base de datos y al menos uno de ellos está actualizando datos, pueden interferir de modo que se produzcan inconsistencias en la base de datos. El SGBD se debe encargar de que estas interferencias no se produzcan en el acceso simultáneo.· Un SGBD debe proporcionar un mecanismo capaz de recuperar la base de datos en caso de que ocurra algún suceso que la dañe llevándola a un &lt;a href="http://www.monografias.com/trabajos12/elorigest/elorigest.shtml"&gt;estado&lt;/a&gt; consistente.· Un SGBD debe proporcionar un mecanismo que garantice que sólo los usuarios autorizados pueden acceder a la base de datos. La protección debe ser contra accesos no autorizados, tanto intencionados como accidentales.· Un SGBD debe ser capaz de integrarse con algún software de comunicación. Muchos usuarios acceden a la base de datos desde terminales. En ocasiones estos terminales se encuentran conectados directamente a la máquina sobre la que funciona el SGBD. En otras ocasiones los terminales están en lugares remotos, por lo que la comunicación con la máquina que alberga al SGBD se debe hacer a través de una red. En cualquiera de los dos casos, el SGBD recibe peticiones en forma de mensajes y responde de modo similar. Todas estas transmisiones de mensajes las maneja el gestor de &lt;a href="http://www.monografias.com/trabajos/lacomunica/lacomunica.shtml"&gt;comunicaciones&lt;/a&gt; de datos. Aunque este gestor no forma parte del SGBD, es necesario que el SGBD se pueda integrar con él para que el sistema sea comercialmente viable.· Un SGBD debe proporcionar los &lt;a href="http://www.monografias.com/trabajos14/medios-comunicacion/medios-comunicacion.shtml"&gt;medios&lt;/a&gt; necesarios para garantizar que tanto los datos de la base de datos, como los cambios que se realizan sobre estos datos, sigan ciertas reglas. La integridad de la base de datos requiere la validez y consistencia de los datos almacenados. Se puede considerar como otro modo de proteger la base de datos, pero además de tener que ver con la seguridad, tiene otras implicaciones. La integridad se ocupa de la calidad de los datos. Normalmente se expresa mediante restricciones, que son una serie de reglas que la base de datos no puede violar.· Un SGBD debe proporcionar una serie de herramientas que permitan administrar la base de datos de modo efectivo. Dichas herramientas deben proporcionar.· Herramienta administración de usuarios· Analizador de logs· &lt;a href="http://www.monografias.com/trabajos10/habi/habi.shtml"&gt;Administrador&lt;/a&gt; de procesos· Herramientas para importar y exportar datos.· Herramientas para monitorizar el uso y el funcionamiento de la base de datos.· Programas de análisis estadístico para examinar las &lt;a href="http://www.monografias.com/trabajos15/cumplimiento-defectuoso/cumplimiento-defectuoso.shtml#INCUMPL"&gt;prestaciones&lt;/a&gt; o las estadísticas de utilización.· Herramientas para reorganización de índices.6.5. DIFERENTES SISTEMAS DE GESTIÓN DE BASES DE DATOSRapidez, efectividad en los &lt;a href="http://www.monografias.com/trabajos14/administ-procesos/administ-procesos.shtml#PROCE"&gt;procesos&lt;/a&gt; y los grandes flujos de información están como primera necesidad la hora de optimizar servicios y productos. Ante esta notable demanda de soluciones informáticas han surgido multitud de gestores de bases de datos, siendo estos programas que permiten manejar la información de modo sencillo y que prestan servicios para el desarrollo y el manejo de bases de datos.Con la salida al mercado de múltiples entornos de desarrollo la preocupación están en conocer las características, ventajas y desventajas de cada herramienta que ofrece el mercado, y para el caso especifico del desarrollo de este trabajo damos a conocer características generales de los productos que más se destacan como son Oracle, Microsoft &lt;a href="http://www.monografias.com/trabajos14/sqlserver/sqlserver.shtml"&gt;SQL Server&lt;/a&gt; y Borland Interbase que comercialmente son los más fuertes, sin embargo en el mundo del software libre, se aprecian opciones tan completas como MySQL, y postgreSQ, para el desarrollo del presente trabajo se mencionaran algunas de las características de los diferentes manejadores de base de datos antes mencionados, haciendo mayor énfasis en SQL SERVER Y My SQL SERVER, las razones están mencionadas en el numeral 7.6.5.1. Software bajo licenciamiento libre6.5.1.1. PostgresqlPostgreSQL se diseño como una base de datos orientada a objetos, es decir, una ORDBMS. Esto significa, que las tablas no son tablas, sino objetos, y las tuplas son instancias de ese objeto. Puedes crear nuevos &lt;a href="http://www.monografias.com/trabajos11/basdat/basdat.shtml"&gt;tipos de datos&lt;/a&gt;, hacer herencias entre objetos, PostgreSQL tiene transacciones, integridad referencial, vistas, y multitud de funcionalidades, pero es lento y pesado.Han incorporado la llamada MVCC (multiversion concurrency control) con lo que los bloqueos de &lt;a href="http://www.monografias.com/trabajos16/metodo-lecto-escritura/metodo-lecto-escritura.shtml"&gt;escritura&lt;/a&gt; actúan sólo en la sesión del cliente, no en las de los demás clientes. También tiene soporte de Full-Text-indexing a través de un trigger incluido en la distribución, han arreglado el límite de 8k por fila. Por fin es de 32k, Postgres usa un modelo cliente-servidor conocido como proceso por usuario una sesión de postgres consiste en los siguientes procesos cooperativos de Unix (programas):· Un proceso demonio supervisor (postmaster)· La aplicación sobre la que trabaja el usuario (frontend, Ej.: psl)· Uno o más servidores de base de datos en segundo plano(el mismo progreso postgres)Un Único postmaster controla una colección de bases de datos dadas en un Único host, debido a esto una colección de base de datos se suele llamar una instalación o un sitio, las aplicaciones de frontend que quieren acceder a una determinada base de datos de una instalación hacen llamadas a la librería. La librería envía peticiones de usuario a través del postmaster (como se establece una conexión), el cual en respuesta inicia un nuevo proceso en el servidor (backend) y conecta el proceso de frontend al nuevo servidor. A partir de este punto, el proceso de frontend y el servidor en backend se comunican sin la intervención del postmaster. Aunque, el postmaster siempre se esta ejecutando, esperando peticiones, tanto de frontend como los de backend vienen y se van.La librería libpq permite a un Único proceso en frontend realizar múltiples conexiones a procesos en backend. Aunque, la aplicación frontend todavía es un proceso en un Único thread. Conexiones multithread entre el frontend y el backend no están soportadas de momento en libpq. Una implicación de esta arquitectura es que el postmaster y el backend siempre se ejecutan en la misma maquina (el servidor de base de datos), mientras que la aplicación en frontend puede aplicarse desde cualquier sitio.Al configurar un apache con PHP4 con soporte para PostgreSQL obtenemos algunos resultados importantes: Apache crea nuevas instancias cada vez que recibe nuevos clientes. Cada instancia de apache puede soportar varios clientes &lt;a href="http://www.monografias.com/trabajos11/wind/wind2.shtml"&gt;http&lt;/a&gt; (150 por defecto).Pero el apache, para cada cliente que pide una página &lt;a href="http://www.monografias.com/trabajos14/dinamica-grupos/dinamica-grupos.shtml"&gt;dinámica&lt;/a&gt;, que requiere un acceso a la base de datos, tiene que abrir conexión con el PostgreSQL. Al no ser Multithreading, el PostgreSQL crea una nueva instancia, siendo las consultas lentas y se acumulan rápidamente las instancias del postmaster. Llegando rápidamente al límite de procesos (32 por defecto) produciéndose un error en la página generada, podemos subir el límite de instancias de PostgreSQL a 1024.Pero entonces nos falla el límite de los files handles abiertos (los threads comparten los files handles dentro un proceso, pero los procesos no), el límite de handles por usuario (el daemon del PostgreSQL, corre bajo el usuario postgres esta limitado en el kernel, con lo que tienes que recompilar el kernel.Después te encuentras que falla el límite de semáforos del PostgreSQL, teniendo que recompilar el PostgreSQL. Además tienes que controlar los ficheros de configuración del apache para bajar el número de clientes atendidos por instancia y así controlar el número de instancias de PostgreSQL que se puedan generar debido a la gran cantidad de recursos que ocupan.6.5.1.2. Mysql ServerMySQL Server es la base de datos de código fuente abierto más usada del mundo desarrollado y proporcionado por MySQL AB. MySQL AB es una empresa cuyo negocio consiste en proporcionar servicios en &lt;a href="http://www.monografias.com/trabajos14/frenos/frenos.shtml"&gt;torno&lt;/a&gt; al servidor de bases de datos MySQL.Su origen se debió a la búsqueda por parte de los fundadores de crear un manejador de bases de datos que fuera "rápido", todavía más rápido que mSQL. Así surgió MySQL, primero como un producto de la empresa y después como software de dominio público.El servidor MySQL fue desarrollado originalmente para manejar grandes bases de datos mucho más rápido que las soluciones existentes y ha estado siendo usado exitosamente en ambientes de &lt;a href="http://www.monografias.com/trabajos16/estrategia-produccion/estrategia-produccion.shtml"&gt;producción&lt;/a&gt; sumamente exigentes por varios años. Aunque se encuentra en desarrollo constante, el servidor MySQL ofrece hoy un conjunto rico y útil de funciones. Su conectividad, velocidad, y seguridad hacen de MySQL un servidor bastante apropiado para acceder a bases de datos en Internet.6.5.1.2.1 Características Principales de MysqlA continuación se mencionan algunas de las más importantes características del SGBD:· Escrito en C y C++· Trabaja bajo diferentes plataformas: AIX 4x 5x, Amiga, BSDI, Digital Unix 4x, FreeBSD 2x 3x 4x, HP-UX 10.20 11x, Linux 2x, Mac OS, NetBSD, &lt;a href="http://www.monografias.com/trabajos16/novell-cuatro-x/novell-cuatro-x.shtml"&gt;Novell&lt;/a&gt; NetWare 6.0 , OpenBSD 2.5, OS/2, SCO OpenServer, SCO UnixWare 7.1.x, SGI Irix 6.x, Solaris 2.5, SunOS 4.x, Tru64 Unix y Windows 9x, Me, NT, 2000, XP, 2003· Desarrollo de APIs para C, C++, Eiffel, &lt;a href="http://www.monografias.com/trabajos16/java/java.shtml"&gt;Java&lt;/a&gt;, Perl, &lt;a href="http://www.monografias.com/trabajos11/winnet/winnet.shtml"&gt;PHP&lt;/a&gt;, Python, Ruby, y Tcl· Procesos MultiHilo. Capacidad de trabajar servidores con varios procesadores· Provee sistema transaccional con la tabla Innodb· Velocidad cuando se manipula datos con el tipo de tabla Myisam· Velocidad en la utilización de joins y procesos de optimización· Soporta muchos tipos de columnas para las tablas: FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET, ENUM y OpenGIS (Modelo Geométrico)· Manejo de &lt;a href="http://www.monografias.com/trabajos16/memorias/memorias.shtml"&gt;la memoria&lt;/a&gt; a través de manejo del buffer y cache6.5.1.2.2 Tipos de Tablas en Mysql ServerMysql Server, cuenta con una variedad de tipos de tablas para el almacenamiento de la información, dependiendo de las necesidades y cantidades de información que una organización puede tener, se elige el tipo de tabla con la que más se acople. En una sola base de datos es posible tener diferentes tipos de tablas. Con MySQL existe la posibilidad de variar el tipo de tabla después de ser creada. La estructura de la tabla que se crea, es guardada en un &lt;a href="http://www.monografias.com/trabajos7/arch/arch.shtml"&gt;archivo&lt;/a&gt; con el nombre de la tabla y extensión frm. El archivo de indixes tiene la extensión .MYIActualmente existen 16 tipos de tablas, a continuación se mencionan las más representativas.MYISAM.- Es el tipo de tabla por defecto en MySQL desde la versión 3.23. y hasta la versión 4. Optimizada para sistemas operativos de 64 bits, Además los datos se almacenan en un formato independiente, con lo que se pueden copiar tablas de una máquina a otra de distinta plataforma. Posibilidad de indexar campos BLOB y TEXT. Su mayor característica es la velocidad. La información de esta tabla queda almacenada en un archivo con la extensión MYDINNODB.- Es el tiplo de tabla por defecto después de la versión 4 Este tipo de tabla maneja transacciones seguras con posibilidad de commit, rollback, recuperación de errores y bloqueo a nivel de fila. son menos rápidas y ocupan más &lt;a href="http://www.monografias.com/trabajos13/memor/memor.shtml"&gt;memoria&lt;/a&gt;, pero a cambio ofrecen mayor seguridad frente a fallos durante la consulta. La información de esta tabla queda almacenada en un archivo con la extensión IDB· MEMORY – La estructura de estas tablas son almacenadas en disco en un archivo con extensión .frm usando por defecto indexación hash Estas tablas pueden ser muy rápido y muy utilizadas como tablas temporales. Sin embargo, cuando el servidor Mysql Server es reiniciado, toda la información de las tablas se pierde quedando solamente la estructura. Este tipo de tablas no soportan columnas tipo blob o Text. Antes de la versión 4.1.0. no soportan auto_increment. Si se desea liberar memoria con este tipo de tablas solo se debe eliminar la información de la tabla con un delete o truncate o un drop tabla· HEAP.- Crea tablas en memoria. Son temporales y desaparecen cuando el servidor se cierra; a diferencia de una tabla TEMPORARY, que solo puede ser accedida por el usuario que la crea, una tabla HEAP puede ser utilizada por diversos usuarios.· MERGE- también conocida como MRG_ISAM, más que un tipo de tabla es la posibilidad de dividir tablas MYISAM de gran tamaño (solo útil si son verdaderamente de GRAN tamaño) y hacer consultas sobre todas ellas con mayor rapidez. Las tablas deben ser MyIsam e idénticas en su estructura. Luego de esto se crea la tabla tipo MERGE haciendo relación a las tablas creadas con la misma estructura La información de esta tabla queda almacenada en un archivo con la extensión MRG· NDBCLUSTER - Este tipo de tabla es para el manejo de cluster en Mysql Server , en este momento es soportado por sistemas operativos como Linux, Mac OS X, y Solaris. Están trabajando para que quede habilitado en todos los sistemas operativos, incluyendo Windows. Este tipo de tabla es soportado desde Mysql 4.1.2.· CSV - Este tipo de tabla fue adicionada desde la versión 4.1.4, almacena la información en un archivo de texto separada por comas y encerrada en comillas dobles. Cuando se crea una tabla de tipo Csv, se crea dos archivos, uno con extensión .frm donde almacena la estructura de la tabla y otro .csv donde reposa la información. Este tipo de tabla no soporta indexación. La información de esta tabla queda almacenada en un archivo con la extensión CSV· ARCHIVE - Este tipo de tabla fue adicionada a partir de la versión 4.1.3 y es usada para almacenar información sin ningún tipo de indexación, cuando se crea una tabla de este tipo, Mysql Server crea un archivo con la extensión .frm donde almacena la estructura de la tabla y otros archivos con la extensión .arz, .arm , y .arn. Este tipo de tabla soporta únicamente insert y select .Con tablas tipo Myisam se puede trabajar hasta 8 terabytes, mientas que con tablas tipo Innodb la capacidad máxima de almacenamiento es de 64 terabytes, cuando se trabaja con altos volúmenes de información es importante tener presente el limite en tamaño para un archivo que soporta el sistema operativo.En la siguiente tabla se muestra el límite de tamaño que soporta un archivo para algunos sistemas operativos&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28831750-114927523122016985?l=bahena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bahena.blogspot.com/feeds/114927523122016985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28831750&amp;postID=114927523122016985' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28831750/posts/default/114927523122016985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28831750/posts/default/114927523122016985'/><link rel='alternate' type='text/html' href='http://bahena.blogspot.com/2006/06/sistemas-de-gestion-de-bases-de-datos.html' title=''/><author><name>JOSE19844</name><uri>http://www.blogger.com/profile/12851325974883715615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28831750.post-114926967983623106</id><published>2006-06-02T09:49:00.000-07:00</published><updated>2006-06-02T11:29:58.433-07:00</updated><title type='text'></title><content type='html'>JOSE LUIS SANCHEZ BAHENA&lt;br /&gt;&lt;br /&gt;INGENIERIA EN SISTEMAS COMPUTACIONALES&lt;br /&gt;&lt;br /&gt;BASE DE DATOS&lt;br /&gt;&lt;br /&gt;LIC. ERICK TELLEZ&lt;br /&gt;&lt;br /&gt;021U0324&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;strong&gt;SEGURIDAD E INTEGRIDAD&lt;/strong&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://photos1.blogger.com/blogger/147/3054/1600/images.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/147/3054/320/images.jpg" border="0" /&gt;&lt;/a&gt;&lt;a href="http://photos1.blogger.com/blogger/147/3054/1600/images.jpg"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="justify"&gt;La información almacenada en la base de datos debe estar protegida contra accesos no autorizados, destrucción o alteración con fines indebidos y la introducción accidental de inconsistencia.&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;Violaciones de la seguridad e integridad&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;El mal uso que se haga de la base de datos puede ser intencionado o accidental. La pérdida accidental de la consistencia de los datos puede deberse a:&lt;/p&gt;&lt;p align="justify"&gt;- Caídas durante al procesamiento de las transacciones&lt;/p&gt;&lt;p align="justify"&gt;- Anomalías por acceso concurrente a la base de datos&lt;/p&gt;&lt;p align="justify"&gt;- Anomalías que resultan de la distribución de los datos entre varios computadores&lt;/p&gt;&lt;p align="justify"&gt;- Un error lógico que viola la suposición de que las transacciones respetan las protecciones de consistencia de la base de datos.Algunas de las formas de acceso indebido son las siguientes:&lt;/p&gt;&lt;p align="justify"&gt;- Lectura de datos sin autorización&lt;/p&gt;&lt;p align="justify"&gt;- Modificación de datos sin autorización&lt;/p&gt;&lt;p align="justify"&gt;- Destrucción no autorizada de los datos &lt;/p&gt;&lt;p align="justify"&gt;Para proteger a la base de datos es necesario adoptar medidas de seguridad en varios niveles:&lt;/p&gt;&lt;p align="justify"&gt;- Físico&lt;/p&gt;&lt;p align="justify"&gt;- Humano&lt;/p&gt;&lt;p align="justify"&gt;- Sistema operativo&lt;/p&gt;&lt;p align="justify"&gt;- Sistema de base de datos&lt;/p&gt;&lt;p align="justify"&gt;La seguridad de todos los niveles anteriores deben mantenerse para asegurar la seguridad de la base de datos.&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;&lt;a href="http://photos1.blogger.com/blogger/147/3054/1600/imagesA.jpg"&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;Autorizaciones y vistas&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;Una vista puede ocultar datos que el usuario no tiene necesidad de ver. &lt;/p&gt;&lt;p align="justify"&gt;&lt;a href="http://photos1.blogger.com/blogger/147/3054/1600/imagesA.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/147/3054/320/imagesA.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="justify"&gt;Esta posibilidad sirve tanto para simplificar la autorización del sistema como para fomentar la seguridad.Lo normal es que la base de datos relacionales cuentan con dos niveles de seguridad:&lt;/p&gt;&lt;p align="justify"&gt;- Relación: Puede permitir o impedirse que el usuario tenga acceso directo a una relación.&lt;/p&gt;&lt;p align="justify"&gt;- Vista: Puede permitirse o impedirse que el usuario tenga acceso a la información que aparece en la lista.&lt;/p&gt;&lt;p align="justify"&gt;Un usuario puede tener varias formas de autorización sobre partes de la base de datos. Entre ellas se encuentran las siguientes:&lt;/p&gt;&lt;p align="justify"&gt;- Autorización de lectura: Que permite leer pero no modificar, la base de datos.&lt;/p&gt;&lt;p align="justify"&gt;- Autorización de inserción: Que permite insertar datos nuevos, pero no modificar los ya existentes.&lt;/p&gt;&lt;p align="justify"&gt;- Autorización de actualizaciones: Que permite modificar la información pero no permite la eliminación de datos.&lt;/p&gt;&lt;p align="justify"&gt;- Autorización de borrados: Que permite la eliminación de datos.Un usuario puede tener asignados todos, ninguno o una combinación de los tipos de autorización anteriores.&lt;/p&gt;&lt;p align="justify"&gt;Además de las formas de autorización de acceso de datos antes mencionadas, es posible autorizar al usuario para que modifique el esquema de la base de datos:&lt;/p&gt;&lt;p align="justify"&gt;- Autorización de índice: Permite la creación y eliminación de índices.v Autorización de recursos: Permite la creación de de relaciones nuevas&lt;/p&gt;&lt;p align="justify"&gt;- Autorización de alteración: Permite agregar o eliminar atributos de una relación&lt;/p&gt;&lt;p align="justify"&gt;- Autorización de eliminación: Permite eliminar relacionesLas autorizaciones de eliminación y borrado difieren en cuanto a que la autorización de borrado solo permite la eliminación de tuplas.&lt;/p&gt;&lt;p align="justify"&gt;La creación de una vista no requiere de autorización de recursos. El usuario que crea una vista no recibe necesariamente todos los privilegios sobre esa vista.&lt;/p&gt;&lt;p align="justify"&gt;Aunque es posible impedir que un usuario tenga acceso directo a una relación, puede permitirse acceso a una parte de la relación por medio de una vista.Un usuario puede tener varias formas de autorización sobre partes de la base de datos. Entre en ella se encuentran las siguientes:&lt;/p&gt;&lt;p align="justify"&gt;&lt;!--[if !supportLists]--&gt;· &lt;!--[endif]--&gt;AUTORIZACION DE LECTURA: permite leer, pero no modificar la base de datos.&lt;/p&gt;&lt;p align="justify"&gt;&lt;!--[if !supportLists]--&gt;· &lt;!--[endif]--&gt;AUTORIZACION DE INSERCION: puede insertar datos nuevos, pero no modificarlos los ya existentes.&lt;/p&gt;&lt;p align="justify"&gt;&lt;!--[if !supportLists]--&gt;· &lt;!--[endif]--&gt;AUTORIZACION DE ACTUALIZACION: permite modificar la información, pero no permite la eliminación de datos.&lt;/p&gt;&lt;p align="justify"&gt;&lt;!--[if !supportLists]--&gt;· &lt;!--[endif]--&gt;AUTORIZACION DE BORRADO: permite la eliminación de datos.&lt;/p&gt;&lt;p align="justify"&gt;Es posible autorizar al usuario para que modifique el Esquema de la base de datos.&lt;/p&gt;&lt;p align="justify"&gt;&lt;!--[if !supportLists]--&gt;· &lt;!--[endif]--&gt;AUTORIZACION DE INDICE: permite al creación y eliminación de índices.&lt;/p&gt;&lt;p align="justify"&gt;&lt;!--[if !supportLists]--&gt;· &lt;!--[endif]--&gt;AUTORIZACION DE RECURSOS: permite la creación de relaciones nuevas.&lt;/p&gt;&lt;p align="justify"&gt;&lt;!--[if !supportLists]--&gt;· &lt;!--[endif]--&gt;AUTORIZACION DE ALTERACION: permite agregar o eliminar atributos de una relación.&lt;/p&gt;&lt;p align="justify"&gt;&lt;!--[if !supportLists]--&gt;· &lt;!--[endif]--&gt;ATORIZACION D ELIMINACION: permite eliminar relaciones.&lt;/p&gt;&lt;p align="justify"&gt;Las autorizaciones de eliminación y borrado en cuanto a la que la autorización de borrado solo permite la eliminación de tuplas. Si un usuario elimina todas las tuplas de una relación, estas quedaran vacía pero seguirá existiendo. Si se eliminan dejara de existir&lt;/p&gt;&lt;p align="justify"&gt; &lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;Especificación de la seguridad en SQL&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;a href="http://photos1.blogger.com/blogger/147/3054/1600/imagesS.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/147/3054/320/imagesS.jpg" border="0" /&gt;&lt;/a&gt;El lenguaje de definición de datos de SQL incluye mandatos para conceder y revocar privilegios. El conjunto exacto de privilegios depende de la versión de SQL que consideramos. &lt;/p&gt;&lt;p align="justify"&gt;El lenguaje original incluìa un conjunto de privilegios sobre relaciones y vistas. IBM SAA SQL incluye una lista modificada de privilegios: alter (modificar), delete (borrar), index (ìndice), insert (insertar), select (elegir) y update (actualizar).Para conceder un privilegio y permitir al beneficiario pasar el privilegio a otros usuarios.&lt;/p&gt;&lt;p align="justify"&gt;Por defecto un usuario al que se le concede un privilegio en SQL no está autorizado a conceder éste privilegio a otro usuario. Para conceder un privilegio y permitir al beneficiario pasar el privilegio a otros usuarios, la sentencia with grant option (con opción de concesión) se añade al mandato grant apropiado.La sentencia revoke(revocar) se utiliza para anular la autorización. Toma en forma id-entica a la de grant: &lt;/p&gt;&lt;p align="justify"&gt;El privilegio select esta en correspondencia con el privilegio read.&lt;/p&gt;&lt;p align="justify"&gt; El SQL estándar incluye privilegios delete, insert, selct, update, incluyendo también el privilegio referentes (referencias) que restringe la habilidad del usuario crear relaciones.&lt;/p&gt;&lt;p align="justify"&gt; Si las relaciones que va a ser creada incluye una clave exterior que referencia los atributos de otra relación.&lt;/p&gt;&lt;p align="justify"&gt;&lt;a href="http://photos1.blogger.com/blogger/147/3054/1600/imagesAA.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/147/3054/320/imagesAA.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="justify"&gt; La sentencia que se usa para otorgar privilegios es grant.Es grant on toLa lista de privilegios permite conceder varios privilegios en un solo mandato. La siguiente sentencia grant concede a los usuarios U1 , U2 y U3 la autorización select sobre la relación de sucursal:Grant select on sucursal to U1,U2,U3La siguiente sentencia grant da a los usuarios U1,U2,U3 autorización de actualización sobre el atributo saldo de la relación deposito.&lt;/p&gt;&lt;p align="justify"&gt;&lt;a href="http://photos1.blogger.com/blogger/147/3054/1600/imagesAA.jpg"&gt;&lt;/a&gt; &lt;/p&gt;&lt;p align="justify"&gt;Grant update (saldo) on deposito to U1,U2,U3El privilegio references del SQL estándar del ANSI se concede sobre los atributos específicos de una forma similar a los anteriores para el privilegio update.&lt;/p&gt;&lt;p align="justify"&gt; La siguiente sentencia grant permite al usuario U1 crear relaciones que referenciar la clave exterior nombre—sucursal sobre la relación sucursal.Grant references (nombre-sucursal) on suscrusal to U1La sentencia revoke (revocar) se utiliza para anular la autorización. Toma en forma casi identica a de grant.Revoke de privilegios&gt;On fromPara revocar el privilegio anterior se escribe:Revoke select on sucursal from U1,U2,U3Revoke update (saldo) on deposito from U1,U2,U3Revoke references (nombre-sucursal) on sucursal from U1&lt;br /&gt;&lt;/p&gt;&lt;strong&gt;&lt;p align="justify"&gt;&lt;a href="http://photos1.blogger.com/blogger/147/3054/1600/imagesAA.jpg"&gt;&lt;/a&gt; &lt;/p&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28831750-114926967983623106?l=bahena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bahena.blogspot.com/feeds/114926967983623106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28831750&amp;postID=114926967983623106' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28831750/posts/default/114926967983623106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28831750/posts/default/114926967983623106'/><link rel='alternate' type='text/html' href='http://bahena.blogspot.com/2006/06/jose-luis-sanchez-bahena-ingenieria-en.html' title=''/><author><name>JOSE19844</name><uri>http://www.blogger.com/profile/12851325974883715615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28831750.post-114886911642608045</id><published>2006-05-28T18:24:00.000-07:00</published><updated>2006-05-28T20:01:00.363-07:00</updated><title type='text'></title><content type='html'>&lt;div align="justify"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;JOSE LUIS SANCHEZ BAHENA&lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;ING. EN SISTEMAS COMPUTACIONALES&lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;BASE DE DATOS&lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;TRIGGER&lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;(BASE DE DATOS)&lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;TRIGGER ( BASE DE DATOS )&lt;br /&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Un trigger o un disparador en una Base de datos es un evento que se ejecuta cuando se cumple una condición establecida al realizar una operación de inserción (INSERT), actualización (UPDATE) o borrado (DELETE).&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;Usos&lt;/strong&gt;&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Son ampliamente empleados en la personalizacion de la Administracion de la BD por ejemplo: un TRIGGER puede reestringir las operaciones DML sobre una tabla en particular en ciertas horas del dia, durante una o varias semanas o incluso meses.Otras aplicaciones de los TRIGGERS pueden ser las siguientes:1.- Generacion automatica de valores derivados de una columna2.- Prevenir transacciones invalidas3.- Proporcionar auditorias sofisticadas4.- Mantener la sincronia en tablas replicadas5.- Generar estadisticas de acceso6.- Modificar los valores de una vista7.- Publicar informacion de los eventos generados por la Bd.&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Son usados para mejorar la administración de la Base de datos, sin necesidad de contar con el usuario que ejecute la sentencia de SQL&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Además, pueden generar valores de columnas, previene errores de datos, sincroniza tablas, modifica valores de una vista, etc.&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Son usados para mejorar la administración de la Base de datos, sin necesidad de contar con el usuario que ejecute la sentencia de SQL.&lt;br /&gt;&lt;br /&gt;Además, pueden generar valores de columnas, previene errores de datos, sincroniza tablas, modifica valores de una vista, etc.&lt;br /&gt;&lt;br /&gt;Permite implementar programas basados en paradigma lógico (sistemas expertos, deducción).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;La estructura básica de un trigger es:&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Llamada de activación: es la sentencia que permite "disparar" el código a ejecutar,&lt;br /&gt;Restricción: es la condición necesaria para realizar el código. Esta restricción puede ser de tipo condicional o de tipo nulidad, y&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Acción a ejecutar: es la secuencia de instrucciones a ejecutar una vez que se han cumplido las condiciones iniciales.&lt;br /&gt;&lt;br /&gt;Existen tipos de triggers, que se clasifican según la cantidad de ejecuciones a realizar:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Row Triggers (o Triggers de fila)&lt;/strong&gt;: son áquellos que se ejecutaran n-veces si se llama n-veces desde la tabla asociada al trigger &lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Statement Triggers (o Triggers de secuencia)&lt;/strong&gt;: son áquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Creación de Triggers&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Si un evento trigger ocurre, el administrador de triggers (llamado Ejecutor) inicializa la estructura global TriggerData *CurrentTriggerData (descrita más abajo) y llama a la función trigger para procesar el evento.&lt;br /&gt;&lt;br /&gt;La función trigger debe ser creada antes que el trigger, y debe hacerse como una función sin argumentos, y códigos de retorno opacos.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;La sintaxis para la creación de triggers es la siguiente:&lt;br /&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;CREATE TRIGGER &lt;trigger&gt;&lt;beforeafter&gt;&lt;insertdeleteupdate&gt;ON &lt;relation&gt;FOR EACH &lt;rowstatement&gt;EXECUTE PROCEDURE &lt;procedure&gt;(&lt;function&gt;);&lt;br /&gt;El nombre del trigger se usará si se desea eliminar el trigger. Se usa como argumento del comando DROP TRIGGER.&lt;br /&gt;&lt;br /&gt;La palabra siguiente determina si la función debe ser llamada antes (BEFORE) o después (AFTER) del evento.&lt;br /&gt;&lt;br /&gt;El siguiente elemento del comando determina en que evento/s será llamada la función. Es posible especificar múltiples eventos utilizado el operador OR.&lt;br /&gt;&lt;br /&gt;El nombre de la relación (relation name) determinará la tabla afectada por el evento.&lt;br /&gt;&lt;br /&gt;La instrucción FOR EACH determina si el trigger se ejecutará para cada fila afectada o bien antes (o después) de que la secuencia se haya completado.&lt;br /&gt;&lt;br /&gt;El nombre del procedimiento (procedure name) es la función C llamada.&lt;br /&gt;&lt;br /&gt;Los argumentos son pasados a la función en la estructura CurrentTriggerData. El propósito de pasar los argumentos a la función es permitir a triggers diferentes con requisitos similares llamar a la misma función.&lt;br /&gt;&lt;br /&gt;Además, la función puede ser utilizada para disparar distintas relaciones (estas funciones son llamadas "general trigger funcions"). Como ejemplo de utilización de lo descrito, se puede hacer una función general que toma como argumentos dos nombres de campo e inserta el nombre del usuario y la fecha (timestamp) actuales en ellos. Esto permite, por ejemplo, utilizar los triggers en los eventos INSERT para realizar un seguimiento automático de la creación de registros en una tabla de transacciones. Se podría utilizar también para registrar actualizaciones si es utilizado en un evento UPDATE.&lt;br /&gt;&lt;br /&gt;Las funciones trigger retornan un área de tuplas (HeapTuple) al ejecutor. Esto es ignorado para trigger lanzados tras (AFTER) una operación INSERT, DELETE o UPDATE, pero permite lo siguiente a los triggers BEFORE: - retornar NULL e ignorar la operación para la tupla actual (y de este modo la tupla no será insertada/actualizada/borrada); - devolver un puntero a otra tupla (solo en eventos INSERT y UPDATE) que serán insertados (como la nueva versión de la tupla actualizada en caso de UPDATE) en lugar de la tupla original.&lt;br /&gt;&lt;br /&gt;Notar que no hay inicialización por parte del CREATE TRIGGER handler. Esto será cambiado en el futuro. Además, si más de un trigger es definido para el mismo evento en la misma relación, el orden de ejecución de los triggers es impredecible. Esto puede ser cambiado en el futuro.&lt;br /&gt;&lt;br /&gt;Si una función trigger ejecuta consultas SQL (utilizando SPI) entonces estas funciones pueden disparar nuevos triggers. Esto es conocido como triggers en cascada. No hay ninguna limitación explicita en cuanto al número de niveles de cascada.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Si un trigger es lanzado por un INSERT e inserta una nueva tupla en la misma relación, el trigger será llamado de nuevo (por el nuevo INSERT). Actualmente, no se proporciona ningún mecanismo de sincronización (etc) para estos casos pero esto puede cambiar. Por el momento, existe una función llamada funny_dup17() en los tests de regresión que utiliza algunas técnicas para parar la recursividad (cascada) en si misma...&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Permite implementar programas basados en paradigma lógico (sistemas expertos, deducción).&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Componentes&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Ejemplo&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Un sencillo ejemplo sería crear un trigger para insertar un pedido de algún producto cuando la cantidad de éste en nuestro almacén sea inferior a un valor dado&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;BEFORE UPDATE ON tabla_almacen &lt;/div&gt;&lt;div align="justify"&gt;FOR ALL records &lt;/div&gt;&lt;div align="justify"&gt;IF :NEW.producto &lt;&gt; &lt;div align="justify"&gt;INSERT INTO tabla_pedidos(producto) VALUES (1000); &lt;/div&gt;&lt;div align="justify"&gt;END IF; &lt;/div&gt;&lt;div align="justify"&gt;END;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;CREACION DE TRIGGER&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;CREATE TRIGGER -- Crea un nuevo disparador Sinopsis&lt;/div&gt;&lt;div align="justify"&gt;CREATE TRIGGER name&lt;/div&gt;&lt;div align="justify"&gt;{ BEFORE AFTER } { event&lt;/div&gt;&lt;div align="justify"&gt;[OR ...] } ON table&lt;/div&gt;&lt;div align="justify"&gt;FOR EACH { ROW STATEMENT } EXECUTE PROCEDURE&lt;/div&gt;&lt;div align="justify"&gt;ER"&gt;funcBLE&gt;&lt;/div&gt;&lt;div align="justify"&gt;(Arguments) &lt;/div&gt;&lt;div align="justify"&gt;Entradas &lt;/div&gt;&lt;div align="justify"&gt;Name&lt;/div&gt;&lt;div align="justify"&gt;El nombre de un disparador existente. &lt;/div&gt;&lt;div align="justify"&gt;Table&lt;/div&gt;&lt;div align="justify"&gt;El nombre de una tabla. &lt;/div&gt;&lt;div align="justify"&gt;Event&lt;/div&gt;&lt;div align="justify"&gt;Uno entre INSERT, DELETE o UPDATE. &lt;/div&gt;&lt;div align="justify"&gt;Funcname&lt;/div&gt;&lt;div align="justify"&gt;Una función suministrada por el usuario. &lt;/div&gt;&lt;div align="justify"&gt;Salidas &lt;/div&gt;&lt;div align="justify"&gt;CREATE &lt;/div&gt;&lt;div align="justify"&gt;Se devuelve este mensaje si el disparador se ha creado con éxito. &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28831750-114886911642608045?l=bahena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bahena.blogspot.com/feeds/114886911642608045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28831750&amp;postID=114886911642608045' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28831750/posts/default/114886911642608045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28831750/posts/default/114886911642608045'/><link rel='alternate' type='text/html' href='http://bahena.blogspot.com/2006/05/jose-luis-sanchez-bahena-ing.html' title=''/><author><name>JOSE19844</name><uri>http://www.blogger.com/profile/12851325974883715615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28831750.post-114874237794957569</id><published>2006-05-27T07:13:00.000-07:00</published><updated>2006-05-27T08:06:18.273-07:00</updated><title type='text'></title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/147/3054/1600/animm_ch_01.0.png"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/147/3054/320/animm_ch_01.0.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/147/3054/1600/Dibujo.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/147/3054/1600/Dibujo.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;strong&gt;JOSE LUIS SÁNCHEZ BAHENA&lt;br /&gt;&lt;br /&gt;804 – B&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;INGENIERIA EN SISTEMAS COMPUTACIONALES&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CIFRADO&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SAN ANDRES TUXTLA A 25 DE MAYO DEL 2006&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;p align="center"&gt;                                                                                                                                                                  &lt;/p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;div align="center"&gt;&lt;strong&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 208px; CURSOR: hand; HEIGHT: 64px" height="167" alt="" src="http://photos1.blogger.com/blogger/147/3054/320/gran_ojo.jpg" width="350" border="0" /&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;strong&gt;&lt;span style="font-family:arial;"&gt;        &lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;strong&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/strong&gt; &lt;/div&gt;&lt;div align="left"&gt;&lt;strong&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/strong&gt; &lt;/div&gt;&lt;div align="left"&gt;&lt;strong&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;/strong&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;span style="font-family:arial;"&gt;    Criptografía&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;La criptografía (del griego kryptos, "ocultar", y grafos, "escribir", literalmente "escritura oculta") es el arte o ciencia de cifrar y descifrar información utilizando técnicas matemáticas que hagan posible el intercambio de mensajes de manera que sólo puedan ser leídos por las personas a quienes van dirigidos. &lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Con más precisión, cuando se habla de esta área de conocimiento como ciencia se debería hablar de criptología, que engloba tanto las técnicas de cifrado, la criptografía propiamente dicha, como sus técnicas complementarias: el criptoanálisis, que estudia los métodos que se utilizan para romper textos cifrados con objeto de recuperar la información original en ausencia de la clave.&lt;br /&gt;La finalidad de la criptografía es, en primer lugar, garantizar el secreto en la comunicación entre dos entidades (personas, organizaciones, etc.) y, en segundo lugar, asegurar que la información que se envía es auténtica en un doble sentido: que el remitente sea realmente quien dice ser y que el contenido del mensaje enviado, habitualmente denominado criptograma, no haya sido modificado en su tránsito. &lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Otro método utilizado para ocultar el contenido de un mensaje es ocultar el propio mensaje en un canal de información, pero en puridad, esta técnica no se considera criptografía, sino esteganografía. Por ejemplo, mediante la esteganografía se puede ocultar un mensaje en un canal de sonido, una imagen o incluso en reparto de los espacios en blanco usados para justificar un texto. La esteganografía no tiene porqué ser un método alternativo a la criptografía, siendo común que ambos métodos se utilicen de forma simultánea para dificultar aún más la labor del criptoanalista. &lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;En la actualidad, la criptografía no sólo se utiliza para comunicar información de forma segura ocultando su contenido a posibles fisgones. Una de las ramas de la criptografía que más ha revolucionado el panorama actual de las tecnologías informáticas es el de la firma digital: tecnología que busca asociar al emisor de un mensaje con su contenido de forma que aquel no pueda posteriormente repudiarlo. &lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;strong&gt;Conceptos &lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;En la jerga de la criptografía, la información original que debe protegerse se denomina texto en claro. El cifrado es el proceso de convertir el texto plano en un galimatías ilegible, denominado texto cifrado o criptograma. Por lo general, la aplicación concreta del algoritmo de cifrado (también llamado cifra) se basa en la existencia de una clave: información secreta que adapta el algoritmo de cifrado para cada uso distinto. Las dos técnicas más básicas de cifrado en la criptografía clásica son la sustitución (que supone el cambio de significado de los elementos básicos del mensaje -las letras, los dígitos o los símbolos-) y la trasposición (que supone una reordenación de las mismas); la gran mayoría de las cifras clásicas son combinaciones de estas dos operaciones básicas. El descifrado es el proceso inverso que recupera el texto plano a partir del criptograma y la clave. El protocolo criptográfico especifica los detalles de cómo se utilizan los algoritmos y las claves (y otras operaciones primitivas) para conseguir el efecto deseado. El conjunto de protocolos, algoritmos de cifrado, procesos de gestión de claves y actuaciones de los usuarios, en su globalidad es lo que constituyen un criptosistema, que es con lo que el usuario final trabaja e interactúa. &lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Existen dos grandes grupos de cifras: los algoritmos que utilizan una única clave tanto en el proceso de cifrado como en el de descifrado y los que utilizan una clave para cifrar mensajes y una clave distinta para descifrarlos. Los primeros se denominan cifras simétricas o de clave simétrica y son la base de los algoritmos de cifrado clásico. Los segundos se denominan cifras asimétricas, de clave asimétrica o de clave pública y clave privada y forman el núcleo de las técnicas de cifrado modernas.&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;En el lenguaje cotidiano, la palabra código se usa de forma indistinta con cifra. En la jerga de la criptografía, sin embargo, el término tiene un uso técnico especializado: los códigos son un método de criptografía clásica que consiste en sustituir unidades textuales más o menos largas o complejas, habitualmente palabras o frases, para ocultar el mensaje; por ejemplo, "cielo azul" podría significar "atacar al amanecer". Por el contrario, las cifras clásicas normalmente sustituyen o reordenan los elementos básicos del mensaje -letras, dígitos o símbolos-; en el ejemplo anterior, "rcnm arcteeaal aaa" sería un criptograma obtenido por transposición. Cuando se usa una técnica de códigos, la información secreta suele recopilarse en un libro de códigos.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Con frecuencia los procesos de cifrado y descifrado se encuentran en la literatura como encriptado y desencriptado, aunque ambos son neologismos todavía sin reconocimiento académico. Hay quien hace distinción entre "cifrado/descifrado" y "encriptado/desencriptado" según esté hablando de criptografía simétrica o asimétrica, pero la mayoría de los expertos en el mundo académico prefiere evitar ambos neologismos.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Historia de la criptografía&lt;br /&gt;&lt;/div&gt;&lt;/strong&gt;&lt;div align="justify"&gt;La historia de la criptografía es larga y está llena de anécdotas. Ya las primeras civilizaciones desarrollaron técnicas para enviar mensajes durante las campañas militares de forma que si el mensajero era interceptado la información que portaba no corriera el peligro de caer en manos del enemigo. Posiblemente, el primer criptosistema que se conoce fuera documentado por el historiador griego Polibio: un sistema de sustitución basado en la posición de las letras en una tabla. También los romanos utilizaron sistemas de sustitución, siendo el método actualmente conocido como César, porque supuestamente Julio César lo utilizó en sus campañas, uno de los más conocidos en la literatura (según algunos autores, en realidad Julio César no utilizaba este sistema de sustitución, pero la atribución tiene tanto arraigo que el nombre de éste método de sustitución ha quedado para los anales de la historia). Otro de los métodos criptográficos utilizados por los griegos fue la escitala espartana, un método de trasposición basado en un cilindro que servía como clave en el que se enrollaba el mensaje para poder cifrar y descifrar.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;En 1465 el italiano León Batista Alberti inventó un nuevo sistema de sustitución polialfabética &lt;/div&gt;&lt;div align="justify"&gt;que supuso un gran avance de la época. Otro de los criptógrafos más importantes del siglo XVI fue el francés Blaise de Vigenere que escribió un importante tratado sobre "la escritura secreta" y que diseñó una cifra que ha llegado a nuestros días asociada a su nombre. A Selenus se le debe la obra criptográfica "Cryptomenytices et Cryptographiae" (Lüneburg, 1624). Durante los siglos XVII, XVIII y XIX, el interés de los monarcas por la criptografía fue notable. Las huestes de Felipe II utilizaron durante mucho tiempo una cifra con un alfabeto de más de 500 símbolos que los matemáticos del rey consideraban inexpugnable. Cuando el matemático francés Francois Viete consiguió criptoanalizar aquel sistema para el rey de Francia, a la sazón Enrique IV, el conocimiento mostrado por el rey francés impulsó una queja de la corte española ante del papa Pío V acusando a Enrique IV de utilizar magia negra para vencer a sus ejércitos. Por su parte, la reina María Estuardo, reina de los Escoceses, fue ejecutada por su prima Isabel I de Inglaterra al descubrirse un complot de aquella tras un criptoanálisis exitoso por parte de los matemáticos de Isabel.&lt;br /&gt;&lt;a title="La máquina Enigma utilizada por los alemanes durante la II Guerra Mundial" href="http://es.wikipedia.org/wiki/Imagen:Enigma_Verkehrshaus_Luzern.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a title="Aumentar" href="http://es.wikipedia.org/wiki/Imagen:Enigma_Verkehrshaus_Luzern.jpg"&gt;&lt;/a&gt;&lt;br /&gt;La máquina Enigma utilizada por los alemanes durante la II Guerra Mundial&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Desde el siglo XIX y hasta la Segunda Guerra Mundial las figuras más importantes fueron la del holandés Auguste Kerckhoffs y la del prusiano Friedrich Kasiski. Pero es en el siglo XX cuando la historia de la criptografía vuelve a presentar importantes avances. En especial durante las dos contiendas bélicas que marcaron al siglo: la Gran Guerra y la Segunda Guerra Mundial. A partir del siglo XX, la criptografía usa una nueva herramienta que permitirá conseguir mejores y más seguras cifras: las máquinas de cálculo. La más conocida de las máquinas de cifrado, posiblemente sea la máquina alemana Enigma: una máquina de rotores que automatizaba considerablemente los cálculos que eran necesarios realizar para las operaciones de cifrado y descifrado de mensajes. Para vencer al ingenio alemán, fue necesario el concurso de los mejores matemáticos de la época y un gran esfuerzo computacional. No en vano, los mayores avances tanto en el campo de la criptografía como en el del criptoanálisis no empezaron hasta entonces.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Tras la conclusión de la Segunda Guerra Mundial, la criptografía tiene un desarrollo teórico importante; siendo Claude Shannon y sus investigaciones sobre teoría de la información esenciales hitos en dicho desarrollo. Además, los avances en computación automática suponen tanto una amenaza para los sistemas existentes como una oportunidad para el desarrollo de nuevos sistemas. A mediados de los años 70 el Departamento de Normas y Estándares norteamericano publica el primer diseño lógico de un cifrador que estaría llamado a ser el principal sistema criptográfico de finales de siglo: el Estándar de Cifrado de Datos o DES. En esas mismas fechas ya se empezaba a gestar lo que sería la, hasta ahora, última revolución de la criptografía teórica y práctica: los sistemas asimétricos. Estos sistemas supusieron un salto cualitativo importante ya que permitieron introducir la criptografía en otros campos que hoy día son esenciales, como el de la firma digital.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;TIPOS DE CIFRADO&lt;br /&gt;&lt;/div&gt;&lt;/strong&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Criptografía simétrica&lt;br /&gt;&lt;/div&gt;&lt;/strong&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Método criptográfico que usa una misma clave para cifrar y para descifrar mensajes. Las dos partes que se comunican han de ponerse de acuerdo de antemano sobre la clave a usar. Una vez ambas tienen acceso a esta clave, el remitente cifra un mensaje usándola, lo envía al destinatario, y éste lo descifra con la misma.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;Un buen sistema de cifrado pone toda la seguridad en la clave y ninguna en el algoritmo. En otras palabras, no debería ser de ninguna ayuda para un atacante conocer el algoritmo que se está usando. Sólo si el atacante obtuviera la clave, le serviría conocer el algoritmo. Los algoritmos de cifrado usados por ejemplo en el sistema GNU, GnuPG tienen estas propiedades.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Dado que toda la seguridad está en la clave, es importante que sea muy difícil adivinar el tipo de clave. Esto quiere decir que el abanico de claves posibles, o sea, el espacio de posibilidades de claves, debe ser amplio. Richard Feynman fue famoso en Los Álamos por su habilidad para abrir cajas de seguridad. Para alimentar la leyenda que había en torno a él, llevaba encima un juego de herramientas que incluían un estetoscopio. En realidad, utilizaba una gran variedad de trucos para reducir a un pequeño número la cantidad de combinaciones que debía probar, y a partir de ahí simplemente probaba hasta que adivinaba la combinación correcta. En otras palabras, reducía el tamaño de posibilidades de claves.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Hoy por hoy, los ordenadores pueden adivinar claves con extrema rapidez, y ésta es la razón por la cual el tamaño de la clave es importante en los criptosistemas modernos. El algoritmo de cifrado DES usa una clave de 56 bits, lo que significa que hay 2 elevado a 56 claves posibles. 2 elevado a 56 son 72.057.594.037.927.936 claves. Esto representa un número muy alto de claves, pero una máquina computadora de uso general puede comprobar todo el espacio posible de claves en cuestión de días. Un máquina especializada lo puede hacer en horas. Por otra parte, algoritmos de cifrado de diseño más reciente como 3DES, Blowfish e IDEA usan todos claves de 128 bits, lo que significa que existen 2 elevado a 128 claves posibles. Esto representa muchas, muchísimas más claves, y aun en el caso de que todas las máquinas del planeta estuvieran cooperando, todavía tardarían más tiempo que la misma edad del universo en encontrar la clave.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Criptografía asimétrica&lt;br /&gt;&lt;/div&gt;&lt;/strong&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Método criptográfico que usa un par de claves para el envío de mensajes. Las dos claves pertenecen a la persona que ha enviado el mensaje. Una clave es pública y se puede entregar a cualquier persona. La otra clave es privada y el propietario debe guardarla de modo que nadie tenga acceso a ella. El remitente usa la clave pública del destinatario para cifrar el mensaje, y una vez cifrado, sólo la clave privada del destinatario podrá descifrar este mensaje.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Los sistemas de cifrado de clave pública o sistemas de cifrado asimétricos se inventaron con el fin de evitar por completo el problema del intercambio de claves de los sistemas de cifrado simétricos. Con las claves públicas no es necesario que el remitente y el destinatario se pongan de acuerdo en la clave a emplear. Todo lo que se requiere es que, antes de iniciar la comunicación secreta, el remitente consiga una copia de la clave pública del destinatario. Es más, esa misma clave pública puede ser usada por cualquiera que desee comunicarse con su propietario. Por tanto, se necesitarán sólo n pares de claves por cada n personas que deseen comunicarse entre sí.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Criptografía de curva elíptica&lt;br /&gt;&lt;/div&gt;&lt;/strong&gt;&lt;div align="justify"&gt;La Criptografía de Curva Elíptica (CCE) es una variante de la criptografía asimétrica o de clave pública basada en las matemáticas de las curvas elípticas. Sus autores argumentan que la CCE puede ser más rápida y usar claves más cortas que los métodos antiguos — como RSA — al tiempo que proporcionan un nivel de seguridad equivalente. La utilización de curvas elípticas en criptografía fue propuesta de forma independiente por Neal Koblitz y Victor Miller en 1985.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;La criptografía asimétrica o de clave pública utiliza dos claves distintas: una de ellas puede ser pública, la otra es privada. La posesión de la clave publica no proporciona suficiente información para determinar cuál es la clave privada.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Existen varias versiones de criptografía de curva elíptica con pequeñas variaciones, todas ellas basadas en la creencia ampliamente extendida de la dificultad de resolver el problema de un logaritmo discreto para el grupo de una curva elíptica sobre algunos grupos finitos. Los grupos finitos más usados para ello son los enteros módulo un número primo (véase aritmética modular), o un grupo de Galois de tamaño potencia de dos. También se han propuesto grupos de Galois de tamaño de la potencia de algún otro primo, pero son considerados dudosos entre los criptoanalistas.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Dada una curva elíptica E, y un grupo GF(q), consideramos el grupo abeliano de puntos racionales E(q) de la forma (x, y), donde x e y pertenecen a GF(q), y donde el grupo operación "+" se define en ésta curva cómo se describe en el artículo curva elíptica. Definimos entonces una segunda operación "*" Z×E(q) → E(q): si P es algún punto en E(q), entonces definimos 2*P = P + P, 3*P = 2*P + P = P + P + P, y así en adelante. Nótese que dados los enteros j y k, j*(k*P) = (j*k)*P = k*(j*P). El problema del logaritmo discreto de una curva elíptica (PLDCE) es pues determinar el entero k, dados los puntos P y Q, cuando k*P = Q.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Se cree que el típico problema del logaritmo discreto sobre el grupo multiplicativo (PLD) y el PLDCE no son problemas equivalentes, y que el PLDCE es significativamente más difícil que el PLD.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;En el uso criptográfico, se elige un punto base G específico y publicado para utilizar con la curva E(q). Se escoge un número entero aleatorio k como clave privada, y entonces el valor P = k*G se da a conocer como clave pública (nótese que la supuesta dificultad del PLDCE implica que k es difícil de deducir a partir de P). Si María y Pedro tienen las claves privadas kA y kB, y las claves públicas PA y PB, entonces María podría calcular kA*PB = (kA*kB)*G; y Pedro puede obtener el mismo valor dado que kB*PA = (kB*kA)*G.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Esto permite establecer un valor "secreto" que tanto María como Pedro pueden calcular fácilmente, pero que es muy complicado de derivar para una tercera persona. Además, Pedro no consigue averiguar nada nuevo sobre kA durante ésta transacción, de forma que la clave de &lt;/div&gt;&lt;div align="justify"&gt;María sigue siendo privada.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;Los métodos utilizados en la práctica para cifrar mensajes basándose en este valor secreto consisten en adaptaciones de antiguos criptosistemas de logaritmos discretos originalmente diseñados para ser usados en otros grupos. Entre ellos se podrían incluir Diffie-Hellman, &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;ElGamal y DSA.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;La realización de las operaciones necesarias para ejecutar éste sistema es más lenta que para un sistema de factorización o de logaritmo discreto módulo entero del mismo tamaño. De todas maneras, los autores de sistemas de CCE creen que el PLDCE es significativamente más complicado que los problemas de factorización o del PLD, y así se puede obtener la misma seguridad mediante longitudes de clave mucho más cortas utilizando CCE, hasta el punto de que puede resultar más rápido que, por ejemplo, RSA. Los resultados publicados hasta la fecha tienden a confirmar ésto, aunque algunos expertos se mantienen escépticos. La CCE ha sido ampliamente reconocida como el algoritmo más fuerte para una determinada longitud de clave, por lo que podría resultar útil sobre enlaces que tengan requisitos muy limitados de ancho de banda.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;NIST y ANSI X9 han establecido unos requisitos mínimos de tamaño de clave de 1024 bits para RSA y DSA y de 160 bits para ECC, correspondientes a un bloque simétrico de clave de 80 bits. NIST ha publicado una lista de curvas elípticas recomendadas de 5 tamaños distintos de claves (80, 112, 128, 192, 256). En general, la CCE sobre un grupo binario requiere una clave asimétrica del doble de tamaño que el correspondiente a una clave simétrica.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;Certicom es la principal empresa comercial de CCE, poseyendo hasta 130 patentes, y habiendo licenciado la tecnología a la National Security Agency (NSA) por 25 millones de dólares. También han patrocinado varios desafíos al algoritmo CCE. El más complejo resuelto hasta ahora fue una clave de 109 bits, que fue roto por un equipo de investigadores a principios de 2003. El equipo que rompió la clave utilizó un ataque masivo en paralelo basado en el 'birthday attack', mediante más de 10000 PC's de tipo Pentium funcionando continuamente durante 540 días. Se estima que la longitud de clave mínima recomendada para CCE (163 bits) requeriría 108 veces los recursos utilizados para resolver el problema con 109 bits.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Firma digital&lt;br /&gt;&lt;/div&gt;&lt;/strong&gt;&lt;div align="justify"&gt;La firma digital de un documento es el resultado de aplicar cierto algoritmo matemático, denominado función hash, a su contenido. Esta función asocia un valor dentro de un conjunto finito (generalmente los números naturales) a su entrada. Cuando la entrada es un documento, el resultado de la función es un número que identifica casi unívocamente al texto. Si se adjunta este número al texto, el destinatario puede aplicar de nuevo la función y comprobar su resultado con el que ha recibido. No obstante esto presenta algunas dificultades.&lt;br /&gt;&lt;/div&gt;&lt;a name="Las_posibilidades_de_red"&gt;&lt;/a&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Para que sea de utilidad, la función hash debe satisfacer dos importantes requisitos. Primero, debe ser difícil encontrar dos documentos cuyo valor para la función "hash" sea idéntico. &lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Segundo, dado uno de estos valores, debería ser difícil recuperar el documento que lo produjo.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Algunos sistemas de cifrado de clave pública se pueden usar para firmar documentos. El firmante cifra el documento con su clave privada y cualquiera que quiera comprobar la firma y ver el documento, no tiene más que usar la clave pública del firmante para descifrarla.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Existen funciones "hash" específicamente designadas para satisfacer estas dos importantes propiedades. SHA y MD5 son dos ejemplos de este tipo de algoritmos. Para usarlos un documento se firma con una función "hash", cuyo resultado es la firma. Otra persona puede comprobar la firma aplicando la misma función a su copia del documento y comparando el resultado con el del documento original. Si concuerdan, es casi seguro que los documentos son idénticos.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Claro que el problema está en usar una función "hash" para firmas digitales que no permita que un "atacante" interfiera en la comprobación de la firma. Si el documento y la firma se enviaran descifrados, este individuo podría modificar el documento y generar una firma correspondiente sin que lo supiera el destinatario. Si sólo se cifrara el documento, un atacante podría manipular la firma y hacer que la comprobación de ésta fallara. Una tercera opción es usar un sistema de cifrado híbrido para cifrar tanto la firma como el documento. El firmante usa su clave privada, y cualquiera puede usar su clave pública para comprobar la firma y el documento. Esto suena bien, pero en realidad no tiene sentido. Si este algoritmo hiciera el documento seguro también lo aseguraría de manipulaciones, y no habría necesidad de firmarlo. El problema más serio es que esto no protege de manipulaciones ni a la firma, ni al documento. Con este método, sólo la clave de sesión del sistema de cifrado simétrico es cifrada usando la clave privada del firmante. &lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Cualquiera puede usar la clave pública y recuperar la clave de sesión. Por lo tanto, resulta obvio usarla para cifrar documentos substitutos y firmas para enviarlas a terceros en nombre del remitente. &lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name="La_soluci.C3.B3n"&gt;&lt;/a&gt;&lt;div align="justify"&gt;Un algoritmo efectivo debe hacer uso de un sistema de clave pública para cifrar sólo la firma. En particular, el valor "hash" se cifra mediante el uso de la clave privada del firmante, de modo que cualquiera pueda comprobar la firma usando la clave pública correspondiente. El documento firmado se puede enviar usando cualquier otro algoritmo de cifrado, o incluso ninguno si es un documento público. Si el documento se modifica, la comprobación de la firma fallará, pero esto es precisamente lo que la verificación se supone que debe descubrir.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;El Digital Signature Algorithm es un algoritmo de firmado de clave pública que funciona como hemos descrito. DSA es el algoritmo principal de firmado que se usa en GnuPG&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Atbash&lt;br /&gt;&lt;/div&gt;&lt;/strong&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Atbash es un método muy común de codificación del Alfabeto hebreo. Pertenece a criptografía clásica, y se utilizó en el idioma hebreo. Se hace referencia a este en El código da Vinci y en el libro de Jeremias. Consiste en usar el simétrico del alfabeto, esto se llama método espejo, o atbash; por ejemplo:&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;ayuda = zbfwz&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Tabla de sustitución Atbash&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;A=Z N=M&lt;br /&gt;B=Y O=L&lt;br /&gt;C=X P=K&lt;br /&gt;D=W Q=J&lt;br /&gt;E=V R=I&lt;br /&gt;F=U S=H&lt;br /&gt;G=T T=G&lt;br /&gt;H=S U=F&lt;br /&gt;I=R V=E&lt;br /&gt;J=Q W=D&lt;br /&gt;K=P X=C&lt;br /&gt;L=O Y=B&lt;br /&gt;M=N Z=A&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28831750-114874237794957569?l=bahena.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bahena.blogspot.com/feeds/114874237794957569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28831750&amp;postID=114874237794957569' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28831750/posts/default/114874237794957569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28831750/posts/default/114874237794957569'/><link rel='alternate' type='text/html' href='http://bahena.blogspot.com/2006/05/jose-luis-snchez-bahena-804-b.html' title=''/><author><name>JOSE19844</name><uri>http://www.blogger.com/profile/12851325974883715615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
