Bases de Datos y Lenguajes de Programacion

download Bases de Datos y Lenguajes de Programacion

of 12

description

lenguajes de programación

Transcript of Bases de Datos y Lenguajes de Programacion

BASES DE DATOS Y LENGUAJES DE PROGRAMACION

bases de datos y lenguajes de programacion

MySQLEs un sistema de gestin de base de datos relacional, multihilo y multiusuario con ms de seis millones de instalaciones[1]. mysql ab desarrolla mysql como software libre en un esquema de licenciamiento dual.Por un lado lo ofrece bajo la gnu gpl, pero, empresas que quieran incorporarlo en productos privativos pueden comprar a la empresa una licencia que les permita ese uso. est desarrollado en su mayor parte en ansi c.al contrario de proyectos como el apache, donde el software es desarrollado por una comunidad pblica, y el copyright del cdigo est en poder del autor individual, mysql es propiedad y est patrocinado por una empresa privada, que posee el copyright de la mayor parte del cdigo.Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. adems de la venta de licencias privativas, la compaa ofrece soporte y servicios. para sus operaciones contratan trabajadores alrededor del mundo que colaboran va internet. mysql ab fue fundado por david axmark, allan larsson, y michael widenius.plataformas

mysql es muy utilizado en aplicaciones web como mediawiki o drupal, en plataformas (linux/windows-apache-mysql-php/perl/python), y por herramientas de seguimiento de errores como bugzilla. su popularidad como aplicacin web est muy ligada a php, que a menudo aparece en combinacin con mysql. mysql es una base de datos muy rpida en la lectura cuando utiliza el motor no transaccional myisam, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificacin. en aplicaciones web hay baja concurrencia en la modificacin de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a mysql ideal para este tipo de aplicaciones.EspecificacionesPlataformasmysql funciona sobre mltiples plataformas, incluyendo aix, bsd, freebsd, hp-ux, gnu/linux, mac os x, netbsd, novell netware, openbsd, os/2 warp, qnx, sgi irix, solaris, sunos, sco openserver, sco unixware, tru64, windows 95, windows 98, windows nt, windows 2000, windows xp, windows vista y otras versiones de windows. tambin existe mysql para openvms en http://www.pi-net.dyndns.org/anonymous/kits/Caractersticas adicionales

usa gnu automake, autoconf, y libtool para portabilidad uso de multihilos mediante hilos del kernel. usa tablas en disco b-tree para bsquedas rpidas con compresin de ndice tablas hash en memoria temporales el cdigo mysql se prueba con purify (un detector de memoria perdida comercial) as como con valgrind, una herramienta gpl completo soporte para operadores y funciones en clusulas select y where. completo soporte para clusulas group by y order by, soporte de funciones de agrupacin seguridad: ofrece un sistema de contraseas y privilegios seguro mediante verificacin basada en el host y el trfico de contraseas est cifrado al conectarse a un servidor. soporta gran cantidad de datos. mysql server tiene bases de datos de hasta 50 millones de registros. se permiten hasta 64 ndices por tabla (32 antes de mysql 4.1.2). cada ndice puede consistir desde 1 hasta 16 columnas o partes de columnas. el mximo ancho de lmite son 1000 bytes (500 antes de mysql 4.1.2). los clientes se conectan al servidor mysql usando sockets tcp/ip en cualquier plataforma. en sistemas windows se pueden conectar usando named pipes y en sistemas unix usando ficheros socket unix. en mysql 5.0, los clientes y servidores windows se pueden conectar usando memoria compartida. mysql contiene su propio paquete de pruebas de rendimiento proporcionado con el cdigo fuente de la distribucin de mysql Qu licencia utilizarLa licencia gnu gpl de mysql obliga a distribuir cualquier producto derivado (aplicacin) bajo esa misma licencia. si un desarrollador desea incorporar mysql en su producto pero no desea distribuirlo bajo licencia gnu gpl, puede adquirir la licencia comercial de mysql que le permite hacer justamente eso.Usuarios destacados amazon.com cox communications - la cuarta televisin por cable ms importante de eeuu, tienen ms de 3.600 tablas y aproximadamente dos millones de inserciones cada hora. craigslist digg - sitio de noticias. google - para el motor de bsqueda de la aplicacin adwords livejournal - cerca de 300 millones de pginas servidas cada da. nasa omniture rightnow sabre, y su sistema de reserva de viajes travelocity slashdot - con cerca de 50 millones de pginas servidas cada da. yahoo! - para muchas aplicaciones crticas nokia, usa un cluster mysql para mantener informacin en tiempo real sobre usuarios de redes de mviles. flickr, usa mysql para gestionar millones de fotos y usuarios. netqos, usa mysql para la gestin de algunas de las redes ms grandes del mundo como las de chevron, american express y boeing. universidad de piura | campus lima, para su sistema acadmico denomidado siad. cnet networks friendster, sirve ms de 85 millones de pginas dinmicas cada da. wikipedia, sirve ms de 200 millones de consultas y 1,2 millones de actualizaciones cada da, con picos de 11.000 consultas por segundo. joomla!, con millones de usuarios wordpress, con cientos de blogs alojados en l palcasa, palmas aceiteras de centroamerica en sus sistemas administrativos de orden financiero (basculas,inventarios y otros). php

php es un lenguaje de programacin usado frecuentemente para la creacin de contenido para sitios web con los cuales se puede programar las paginas html y los codigos de fuente. php es un acrnimo recursivo que significa "php hypertext pre-processor" (inicialmente php tools, o, personal home page tools), y se trata de un lenguaje interpretado usado para la creacin de aplicaciones para servidores, o creacin de contenido dinmico para sitios web. ltimamente tambin para la creacin de otro tipo de programas incluyendo aplicaciones con interfaz grfica usando las libreras qt o gtk+.Lenguaje de programacin tipo script para entornos web utilizado, sobre todo, en servidores linux con el fin de personalizar la informacin que se enva a los usuarios que acceden a un sitio web. es un programa de software libre con unas funciones muy semejantes a las de asp y jsp.Usos de PHPLos principales usos del PHP son los siguientes:

programacin de pginas web dinmicas, habitualmente en combinacin con el motor de base datos mysql, aunque cuenta con soporte nativo para otros motores, incluyendo el estndar odbc, lo que ampla en gran medida sus posibilidades de conexin. programacin en consola, al estilo de perl o shell scripting. creacin de aplicaciones grficas independientes del navegador, por medio de la combinacin de php y qt/gtk+, lo que permite desarrollar aplicaciones de escritorio en los sistemas operativos en los que est soportado. Ventajas de php es un lenguaje multiplataforma. capacidad de conexin con la mayora de los manejadores de base de datos que se utilizan en la actualidad, destaca su conectividad con mysql leer y manipular datos desde diversas fuentes, incluyendo datos que pueden ingresar los usuarios desde formularios html. capacidad de expandir su potencial utilizando la enorme cantidad de mdulos (llamados ext's o extensiones). posee una amplia documentacin en su pgina oficial ([1]), entre la cual se destaca que todas las funciones del sistema estn explicadas y ejemplificadas en un nico archivo de ayuda. es libre, por lo que se presenta como una alternativa de fcil acceso para todos. permite las tcnicas de programacin orientada a objetos. permite crear los formularios para la web. biblioteca nativa de funciones sumamente amplia e incluida no requiere definicin de tipos de variables ni manejo detallado del bajo nivel. Ejemplo de Cdigo PHP [editar]A continuacin un ejemplo de una pgina web sencilla desarrollada utilizando el lenguaje PHP (con coloreado de sintaxis):

Ejemplo

Cul es tu nombre?

Cul es tu comida favorita?

Spaguetis

Asado

Pizza

En este cdigo es posible observar las siguientes caractersticas:

las variables enviadas por un formulario utilizando el mtodo post, son recibidas en el lenguaje dentro de la matriz $_post, lo cual facilita la obtencin de este tipo de datos. este mismo mtodo es utilizado por el lenguaje para todas las fuentes de informacin en una aplicacin web, tales como cookies en la matriz $_cookies, variables de url en $_get (que en formularios puede servir para guardar los datos), variables de sesin utilizando $_session, y variables del servidor y del cliente por medio de la matriz $_server. el cdigo php est incrustado dentro del html e interacta con el mismo, lo que permite disear la pgina web en un editor comn de html y aadir el cdigo dinmico dentro de las etiquetas . el resultado muestra y oculta ciertas porciones del cdigo html en forma condicional. es posible utilizar funciones propias del lenguaje para aplicaciones web como htmlentitites(), que convierte los caracteres que tienen algn significado especial en el cdigo html o que podran desplegarse errneamente en el navegador como acentos o diresis, en sus equivalentes en formato html.. ASP

Tecnologa desarrollada por microsoft para sus servidores de pginas web. una pgina asp es una pgina html que incluye uno o ms scripts (pequeos programas).Active server pages (asp) es una tecnologa del lado servidor de microsoft para pginas web generadas dinmicamente, que ha sido comercializada como un anexo a internet information server (iis). la tecnologa asp est estrechamente relacionada con el modelo tecnolgico de su fabricante. intenta ser solucin para un modelo de programacin rpida ya que programar en asp es como programar en visualbasic, por supuesto con muchas limitaciones ya que es una plataforma que no se ha desarrollado como lo esperaba microsoft.Lo interesante de este modelo tecnolgico es poder utilizar diversos componentes ya desarrollados como algunos controles activex. otros problemas que han hecho evolucionar esta tecnologa es el no disponer de informacin "que oriente a quienes desean aprenderla y resulta muy costosa en tiempo descubrir aqu y all toda la informacin para volverla altamente til".asp ha pasado por cuatro iteraciones mayores, asp 1.0 (distribuido con iis 3.0), asp 2.0 (distribuido con iis 4.0), asp 3.0 (distribuido con iis 5.0) y asp.net (parte de la plataforma .net de microsoft). las versiones pre-.net se denominan actualmente (desde 2002) como asp clsico.En el ltimo asp clsico, asp 3.0, hay seis objetos integrados disponibles para el programador, application, asperror, request, response, server y session. cada objeto tiene un grupo de funcionalidades frecuentemente usadas y tiles para crear pginas web dinmicas.Las pginas pueden ser generadas mezclando cdigo de scripts del lado del servidor (incluyendo acceso a base de datos) con html.Java

Es un lenguaje de programacin orientado a objetos desarrollado por sun microsystems a principios de los aos 1990. las aplicaciones java estn tpicamente compiladas en un bytecode, aunque la compilacin en cdigo mquina nativo tambin es posible. en el tiempo de ejecucin, el bytecode es normalmente interpretado o compilado a cdigo nativo para la ejecucin, aunque la ejecucin directa por hardware del bytecode por un procesador java tambin es posible.El lenguaje en s mismo toma mucha de su sintaxis de c y c++, pero tiene un modelo de objetos ms simple y elimina herramientas de bajo nivel como punteros. javascript, un lenguaje interpretado, comparte un nombre similar y una sintaxis similar, pero no est directamente relacionado con java.Sun microsystems proporciona una implementacin gnu general public license de un compilador java y una mquina virtual java, conforme a las especificaciones del java community process, aunque la biblioteca de clases que se requiere para ejecutar los programas java no es software libre.Entre noviembre de 2006 y mayo de 2007, sun microsystems liber la mayor parte de sus tecnologas java bajo la licencia gnu gpl, de acuerdo con las especificaciones del java community process, de tal forma que prcticamente todo el java de sun es ahora software libresql

Microsoft sql server 7.0 constituye un lanzamiento determinante para los productos de bases de datos de microsoft, continuando con la base slida establecida por sql server 6.5. como la mejor base de datos para windows nt, sql server es el rdbms de eleccin para una amplia gama de clientes corporativos y proveedores independientes de software (isvs) que construyen aplicaciones de negocios. las necesidades y requerimientos de los clientes han llevado a la creacin de innovaciones de producto significativas para facilitar la utilizacin, escalabilidad, confiabilidad y almacenamiento de datos.Visual Basic

Visual basic. lenguaje de programacin de microsoft orientado a eventos, utilizado principalmente en el world wide web para realizar consultas a bases de datos de microsoft como fox pro, sql-server, etc., que funciona en servidores de windows nt. ver cgi.Es un lenguaje de fcil aprendizaje pensado tanto para programadores principiantes como expertos, guiado por eventos, y centrado en un motor de formularios que facilita el rpido desarrollo de aplicaciones grficas. su sintaxis, derivada del antiguo basic, ha sido ampliada con el tiempo al agregarse las caractersticas tpicas de los lenguajes estructurados modernos. se ha agregado una implementacin limitada de la programacin orientada a objetos (los propios formularios y controles son objetos), aunque s admite el polimorfismo mediante el uso de los interfaces, no admite la herencia. no requiere de manejo de punteros y posee un manejo muy sencillo de cadenas de caracteres. posee varias bibliotecas para manejo de bases de datos, pudiendo conectar con cualquier base de datos a travs de odbc (informix, dbase, access, mysql, sql server, postgresql ,etc) a travs de ado.Las versiones actuales de visual basic se basan en la plataforma .net, la versin 7 del lenguaje fue implementada por microsoft en el programa visual basic .net mientras que la versin 8 fue implementada el programa visual basic 2005. ambas versiones tienen muchas de las caractersticas del lenguaje original tienen numerosas diferencias que los hacen incompatibles. en muchos casos para portar un cdigo escrito en visual basic 6 a visual basic .net se hace necesario reescribir parte del cdigo. la nueva versin del lenguaje es mayormente equivalente a c# aunque presenta algunas diferencias. por eso hay un debate sobre la validez de esta nueva versin del lenguaje y sus ventajas y desventajas sobre c#.Compiladores

Dada la naturaleza del lenguaje, el compilador por excelencia es microsoft visual basic que a su vez es un ide para el lenguaje; sin embargo existen muchos otros ides y compiladores entre los que se encuentran sharpdevelop mono microsoft .net framework sdk powerbasic objeto, propiedad y metodo Oracle

Es bsicamente una herramienta cliente/servidor para la gestin de bases de datos. es un producto vendido a nivel mundial, aunque la gran potencia que tiene y su elevado precio hace que slo se vea en empresas muy grandes y multinacionales, por norma general. en el desarrollo de pginas web pasa lo mismo: como es un sistema muy caro no est tan extendido como otras bases de datos, por ejemplo, access, mysql, sql server, etc.

vamos ahora en centrarnos en que es oracle exactamente y como funciona la programacin sobre ste. oracle como antes he mencionado se basa en la tecnologa cliente/servidor, pues bien, para su utilizacin primero sera necesario la instalacin de la herramienta servidor (oracle 8i) y posteriormente podramos atacar a la base de datos desde otros equipos con herramientas de desarrollo como oracle designer y oracle developer, que son las herramientas bsicas de programacin sobre oracle.

Para desarrollar en oracle utilizamos pl/sql un lenguaje de 5 generacin, bastante potente para tratar y gestionar la base de datos, tambin por norma general se suele utilizar sql al crear un formulario.

Es posible lgicamente atacar a la base de datos a travs del sql plus incorporado en el paquete de programas oracle para poder realizar consultas, utilizando el lenguaje sql.

El developer es una herramienta que nos permite crear formularios en local, es decir, mediante esta herramienta nosotros podemos crear formularios, compilarlos y ejecutarlos, pero si queremos que los otros trabajen sobre este formulario deberemos copiarlo regularmente en una carpeta compartida para todos, de modo que, cuando quieran realizar un cambio, debern copiarlo de dicha carpeta y luego volverlo a subir a la carpeta. este sistema como podemos observar es bastante engorroso y poco fiable pues es bastante normal que las versiones se pierdan y se machaquen con frecuencia. la principal ventaja de esta herramienta es que es bastante intuitiva y dispone de un modo que nos permite componer el formulario, tal y como lo haramos en visual basic o en visual c, esto es muy de agradecer.

Los problemas anteriores quedan totalmente resueltos con designer que es una herramienta que se conecta a la base de datos y por tanto creamos los formularios en ella, de esta manera todo el mundo se conecta mediante designer a la aplicacin que contiene todos los formularios y no hay problemas de diferentes versiones, esto es muy til y perfecto para evitar machacar el trabajo de otros. pero el principal y ms notable problema es la falta de un entorno visual para disear el formulario, es decir, nos aparece una estructura como de rbol en la cual insertamos un formulario, a la vez dentro de ste insertamos bloques o mdulos que son las estructuras que contendrn los elementos del formularios, que pueden estar basados en tablas o no.

Por lo tanto si queremos hacer formularios para practicar o para probar qu es esto de oracle, os recomiendo que usis developer pues es mucho ms fcil e intuitivo al principio.