Sunteți pe pagina 1din 14

Universidad Mariano Glvez de Guatemala

Facultad: Ingeniera en Sistemas


Curso: Programacin III
Catedrtico: Ing. Alex Garca

Investigacin: Lenguaje SQL, Herramientas Case de Programacin,


Ruby on Rails.

Estudiante: Eduardo Alfredo Rodas.


Carn: 0900-12-13088
Fecha: 12 de Febrero del 2016

SQL
SQL (por sus siglas en ingls Structured Query Language) es un lenguaje
declarativo de acceso a bases de datos relacionales que permite especificar
diversos tipos de operaciones en ellas. Una de sus caractersticas es el manejo
del lgebra y el clculo relacional que permiten efectuar consultas con el fin de
recuperar, de forma sencilla, informacin de bases de datos, as como hacer
cambios en ellas.
El cientfico Edgar Frank Codd (19232003) fue quien propuso un modelo
relacional para las bases de datos y cre un sub-lenguaje para acceder a los datos
a partir del clculo de predicados. En base al trabajo de Codd, IBM (International
Business Machines) defini el lenguaje conocido como Structured English
Query Language (SEQUEL).
El SEQUEL se considera el antecesor de SQL, un lenguaje de cuarta generacin
que se estandariz en 1986. La versin ms primitiva de SQL, por lo tanto, fue la
que se bautiz como SQL-86 (tambin conocida como SQL1).
En esencia, el SQL es un lenguaje declarativo de alto nivel ya que, al manejar
conjuntos de registros y no registros individuales, ofrece una elevada
productividad en la codificacin y en la orientacin a objetos. Una sentencia de
SQL puede resultar equivalente a ms de un programa que emplee un lenguaje
de bajo nivel.
Una base de datos, dicen los expertos, implica la coexistencia de
mltiples tipos de lenguajes. El denominado Data Definition Language (tambin
conocido como DDL) es aqul que permite modificar la estructura de los objetos
contemplados por la base de datos por medio de cuatro operaciones bsicas.
SQL, por su parte, es un lenguaje que permite manipular datos (Data
Manipulation Language o DML) que contribuye a la gestin de las bases de
datos a travs de consultas.

El ANSI SQL sufri varias revisiones y agregados a lo largo del tiempo:


Ao Nombre
1986 SQL-86

Alias
SQL-87

1989 SQL-89
1992 SQL-92

Comentarios
Primera publicacin hecha por ANSI. Confirmada por ISO en 1987.
Revisin menor.

SQL2

Revisin mayor.

1999 SQL:1999 SQL2000 Se agregaron expresiones regulares, consultas recursivas (para


relaciones

jerrquicas),

triggers

algunas

caractersticas

orientadas a objetos.
2003 SQL:2003

Introduce

algunas

caractersticas

de XML,

cambios

en

las

funciones, estandarizacin del objeto sequence y de las columnas


autonumricas.
2005 SQL:2005

ISO/IEC 9075-14:2005 Define las maneras en las cuales SQL se


puede utilizar conjuntamente con XML. Define maneras de importar
y guardar datos XML en una base de datos SQL, manipulndolos
dentro de la base de datos y publicando el XML y los datos SQL
convencionales en forma XML. Adems, proporciona facilidades
que permiten a las aplicaciones integrar dentro de su cdigo SQL el
uso de XQuery, lenguaje de consulta XML publicado por el W3C
(World Wide Web Consortium) para acceso concurrente a datos
ordinarios SQL y documentos XML.

2008 SQL:2008

Permite el uso de la clusula ORDER BY fuera de las definiciones


de los cursores. Incluye los disparadores del tipo INSTEAD OF.
Aade la sentencia TRUNCATE.

SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y


potencia de los sistemas relacionales y permite as gran variedad de operaciones.
Es un lenguaje declarativo de "alto nivel" o "de no procedimiento" que, gracias a
su fuerte base terica y su orientacin al manejo de conjuntos de registros y no
a registros individuales permite una alta productividad en codificacin y la
orientacin a objetos. De esta forma, una sola sentencia puede equivaler a uno o
ms programas que se utilizaran en un lenguaje de bajo nivel orientado a
registros. SQL tambin tiene las siguientes caractersticas:

Lenguaje de definicin de datos: El LDD de SQL proporciona comandos


para la definicin de esquemas de relacin, borrado de relaciones y
modificaciones de los esquemas de relacin.

Lenguaje interactivo de manipulacin de datos: El LMD de SQL incluye


lenguajes de consultas basado tanto en lgebra relacional como en clculo
relacional de tuplas.

Integridad: El LDD de SQL incluye comandos para especificar las


restricciones de integridad que deben cumplir los datos almacenados en la
base de datos.

Definicin de vistas: El LDD incluye comandos para definir las vistas.

Control de transacciones: SQL tiene comandos para especificar el


comienzo y el final de una transaccin.

SQL incorporado y dinmico: Esto quiere decir que se pueden incorporar


instrucciones de SQL en lenguajes de programacin como: C++, C, Java, PHP,
Cobol, Pascal y Fortran.

Autorizacin: El LDD incluye comandos para especificar los derechos de


acceso a las relaciones y a las vistas.

Tipos de Datos
Algunos de los tipos de datos bsicos de SQL son:

Date: una fecha de calendario que contiene el ao (de cuatro cifras), el mes
y el da.

Time: La hora del da en horas minutos segundos (el valor predeterminado


es 0).

Datetime: la combinacin de Date y Time.

Optimizacin
Como ya se dijo antes, y suele ser comn en los lenguajes de acceso a bases de
datos de alto nivel, SQL es un lenguaje declarativo. O sea, que especifica qu es
lo que se quiere y no cmo conseguirlo, por lo que una sentencia no establece
explcitamente un orden de ejecucin.
El orden de ejecucin interno de una sentencia puede afectar seriamente a la
eficiencia del SGBD, por lo que se hace necesario que ste lleve a cabo una
optimizacin antes de su ejecucin. Muchas veces, el uso de ndices acelera una
instruccin de consulta, pero relentiza la actualizacin de los datos. Dependiendo
del uso de la aplicacin, se priorizar el acceso indexado o una rpida
actualizacin de la informacin. La optimizacin difiere sensiblemente en cada
motor de base de datos y depende de muchos factores.
Existe una ampliacin de SQL conocida como FSQL (Fuzzy SQL, SQL difuso) que
permite el acceso a bases de datos difusas, usando la lgica difusa. Este lenguaje
ha sido implementado a nivel experimental y est evolucionando rpidamente.
El lenguaje de definicin de datos (en ingls Data Definition Language, o DDL), es
el que se encarga de la modificacin de la estructura de los objetos de la base de

datos. Incluye rdenes para modificar, borrar o definir las tablas en las que se
almacenan los datos de la base de datos. Existen cuatro operaciones bsicas:
CREATE, ALTER, DROP y TRUNCATE.

Herramientas Case de Programacin


Las Herramientas de Ayuda al Desarrollo de Sistemas de Informacin, surgieron
para intentar dar solucin a los problemas inherentes a los proyectos de
generacin de aplicaciones informticas: plazos y presupuestos incumplidos,
insatisfaccin del usuario, escasa productividad y baja calidad de los desarrollos,
entre otros. Algunas de estas herramientas se dirigen principalmente a mejorar la
calidad, como es el caso de las herramientas CASE.
Actualmente existe un gran desarrollo y una gran cantidad de este tipo de
herramientas, por lo que se hace difcil la eleccin de una de ellas para el trabajo,
tanto personal como corporativo.
En el presente trabajo se describen las funcionalidades y caractersticas ms
relevantes de las principales herramientas CASE existentes en la actualidad, entre
ellas: Microsoft Project, Rational Rose, JDeveloper, Magic Draw, Visual Paradigm,
Microsoft Visio, BoUML.
Este trabajo puede servir de apoyo a la hora de seleccionar e implantar una
herramienta CASE.

Se puede definir a las Herramientas CASE como un conjunto de programas y


ayudas que dan asistencia a los analistas, ingenieros de software y
desarrolladores, durante todos los pasos del Ciclo de Vida de desarrollo de un
Software.
Otras definiciones:
Las Herramientas CASE son un conjunto de mtodos, utilidades
y tcnicas que facilitan la automatizacin del ciclo de vida del desarrollo
de sistemas de informacin, completamente o en alguna de sus fases.
La sigla genrica para una serie de programas y una filosofa de desarrollo
de software que ayuda a automatizar el ciclo de vida de desarrollo de los sistemas.
Una innovacin en la
organizacin,
un concepto avanzado
en
la evolucin de tecnologa con un potencial efecto profundo en la organizacin. Se
puede ver al CASE como la unin de las herramientas automticas de software y
las metodologas de desarrollo de software formales.
El empleo de herramientas Case permiten integrar el proceso de ciclo de vida:
Anlisis de datos y procesos integrados mediante un repositorio.
Generacin de interfaces entre el anlisis y el diseo.
Generacin del cdigo a partir del diseo.
Control de mantenimiento.

Tipos de Herramientas CASE


No existe una nica clasificacin de herramientas CASE, es difcil incluirlas en
una clase determinada. Podran clasificarse atendiendo a:
Las plataformas que soportan.
Las fases del ciclo de vida del desarrollo de sistemas que abarca.
La arquitectura de las aplicaciones que produce.
Su funcionalidad.
Las herramientas CASE, en funcin de las fases del ciclo de vida abarcadas, se
pueden agrupar de la forma siguiente:
Herramientas integradas, I-CASE (Integrated CASE, CASE integrado): abarcan
todas las fases del ciclo de vida del desarrollo de sistemas. Son llamadas tambin
CASE workbench.
Las herramientas I-CASE se basan en una metodologa. Tienen un repositorio y
aportan tcnicas estructuradas para todas las fases del ciclo de vida. Estas son las
caractersticas que les confieren su mayor ventaja: una mejora de la calidad de los
desarrollos. Sin embargo, no todas ellas son modernas en el sentido de
aprovechar la potencia de las estaciones de trabajo o la utilizacin de lenguajes de
alto nivel o tcnicas de prototipo.
Herramientas de alto nivel, U-CASE (Upper CASE - CASE superior) o front-end,
orientadas a la automatizacin y soporte de las actividades desarrolladas durante
las primeras fases del desarrollo: anlisis y diseo.
Una estrategia posible es utilizar una U-CASE para anlisis y diseo, combinada
con otras herramientas ms modernas para las fases de construccin y pruebas.
En este caso, habra que vigilar cuidadosamente la integracin entre las distintas
herramientas.
Herramientas de bajo nivel, L-CASE (Lower CASE - CASE inferior) o back-end,
dirigidas a las ltimas fases del desarrollo: construccin e implantacin.

Juegos de herramientas o toolkits, son el tipo ms simple de herramientas


CASE. Automatizan una fase dentro del ciclo de vida. Dentro de este grupo se
encontraran las herramientas de reingeniera, orientadas a la fase
de mantenimiento.
Otra posible clasificacin, utilizando la funcionalidad como criterio principal, es la
siguiente:
Herramientas de gestin de proyectos
Herramientas de gestin y configuracin de software (SCM)
Herramientas de calidad y seguridad de software
Herramientas de anlisis y diseo
Herramientas de desarrollo de interfaz de usuarios
Herramientas para la Ingeniera de Software Orientada a Objetos
Herramientas de integracin y prueba
Herramientas de mtodos formales
Herramientas Cliente/Servidor

Herramientas de Ingeniera WEB


Herramientas de Reingeniera
Beneficios de las Herramientas CASE
Entre los beneficios ms significativos de las herramientas CASE se enumeran los
siguientes:
1. Facilidad para la revisin de aplicaciones
La experiencia muestra que una vez que las aplicaciones se implementan, se
emplean por mucho tiempo. Las herramientas CASE proporcionan un beneficio
substancial para las organizaciones al facilitar la revisin de las aplicaciones.
Contar con un depsito central agiliza el proceso de revisin ya que ste
proporciona bases para las definiciones y estndares para los datos. Las
capacidades de generacin interna, si se encuentran presentes, contribuyen a
modificar el sistema por medio de las especificaciones ms que por los ajustes
al cdigo fuente.
2. Soporte para el desarrollo de prototipos de sistemas
En general, el desarrollo de prototipos de aplicaciones toma varias formas. En
ocasiones se desarrollan diseos para pantallas y reportes con la finalidad de
mostrar la organizacin y composicin de los datos, encabezados y mensajes. Los
ajustes necesarios al diseo se hacen con rapidez para alterar la presentacin y
las caractersticas de la interface. Sin embargo, no se prepara el cdigo fuente,
de naturaleza orientada haciaprocedimientos, como una parte del prototipo.
Como disyuntiva, el desarrollo de prototipos puede producir un sistema que
funcione. Las caractersticas de entrada y salida son desarrolladas junto con el
cdigo orientado hacia los procedimientos y archivos de datos.
3. Generacin de cdigo
La ventaja ms visible de esta caracterstica es la disminucin del tiempo
necesario para preparar un programa. Sin embargo, la generacin del cdigo
tambin asegura una estructura estndar y consistente para el programa (lo que
tiene gran influencia en el mantenimiento) y disminuye la ocurrencia de varios
tipos de errores, mejorando de esta manera la calidad. Las caractersticas de la
generacin del cdigo permiten volver a utilizar el software y
las estructuras estndares para generar dicho cdigo, as como el cambio de una
especificacin modular, lo que significa volver a generar el cdigo y los enlaces
con otros mdulos.
4. Mejora en la habilidad para satisfacer los requerimientos del usuario
Es bien conocida la importancia de satisfacer los requerimientos del usuario, ya
que esto guarda relacin con el xito del sistema. De manera similar, tener los
requerimientos correctos mejora la calidad de las prcticas de desarrollo. Las
herramientas CASE disminuyen el tiempo de desarrollo, una caracterstica que es
importante para los usuarios. Las herramientas afectan la naturaleza y cantidad
de interaccin entre los encargados del desarrollo y el usuario. Las
descripciones grficas y los diagramas, as como los prototipos de reportes y la
composicin de las pantallas, contribuyen a un intercambio de ideas ms efectivo.
5. Soporte interactivo para el proceso de desarrollo
La experiencia ha demostrado que el desarrollo de sistemas es un proceso
interactivo. Las herramientas CASE soportan pasos interactivos al eliminar

el tedio manual de dibujar diagramas, elaborar catlogos y clasificar. Como


resultado de esto, se anticipa que los analistas repasarn y revisarn los detalles
del sistema con mayor frecuencia y en forma ms consistente.

Ruby on Rails
Ruby
on
Rails,
tambin
conocido
como RoR o Rails,
es
un framework de aplicaciones web de cdigo abierto escrito en el lenguaje de
programacin Ruby, siguiendo el paradigma de la arquitectura Modelo Vista
Controlador (MVC). Trata de combinar la simplicidad con la posibilidad de
desarrollar aplicaciones del mundo real escribiendo menos cdigo que con otros
frameworks y con un mnimo de configuracin. El lenguaje de programacin Ruby
permite la meta programacin, de la cual Rails hace uso, lo que resulta en una
sintaxis que muchos de sus usuarios encuentran muy legible. Rails se distribuye a
travs de RubyGems, que es el formato oficial de paquete y canal de distribucin
de bibliotecas y aplicaciones Ruby.

FILOSOFIA
Los principios fundamentales
repitas (del ingls Don't
repeat
Configuracin.

de Ruby on Rails incluyen No te


yourself,
DRY)
y Convencin
sobre

No te repitas significa que las definiciones deberan hacerse una sola vez. Dado
que Ruby on Rails es un framework de pila completa, los componentes estn
integrados de manera que no hace falta establecer puentes entre ellos. Por
ejemplo, en ActiveRecord, las definiciones de las clases no necesitan especificar
los nombres de las columnas; Ruby puede averiguarlos a partir de la propia base

de datos, de forma que definirlos tanto en el cdigo como en el programa sera


redundante.
Convencin sobre configuracin significa que el programador slo necesita definir
aquella configuracin que no es convencional. Por ejemplo, si hay una
clase Historia en el modelo, la tabla correspondiente de la base de datos
es historias , pero si la tabla no sigue la convencin (por ejemplo blogposts ) debe
ser especificada manualmente ( set_table_name "blogposts" ). As, cuando se
disea una aplicacin partiendo de cero sin una base de datos preexistente, el
seguir las convenciones de Rails significa usar menos cdigo (aunque el
comportamiento puede ser configurado si el sistema debe ser compatible con un
sistema heredado anterior)
Las piezas de la arquitectura Modelo Vista Controlador en Ruby on Rails son las
siguientes:
Modelo
En las aplicaciones web orientadas a objetos sobre bases de datos,
el Modelo consiste en las clases que representan a las tablas de la base de datos.
En Ruby on Rails, las clases del Modelo son gestionadas por ActiveRecord. Por lo
general, lo nico que tiene que hacer el programador es heredar una de las
clases ActiveRecord::Base , y el programa averiguar automticamente qu
tabla usar y qu columnas tiene.
Las definiciones de las clases tambin detallan las relaciones entre clases con
sentencias de mapeo objeto relacional. Por ejemplo, si la clase Imagen tiene una
definicin has_many:comentarios , y existe una instancia de Imagen llamada a ,
entonces a.comentarios devolver
un
array
con
todos
los
objetos Comentario cuya columna imagen_id (en la tabla comentarios) sea igual
a a.id .
Las rutinas de validacin de datos (p.e. validates_uniqueness_of:checksum ) y las
rutinas
relacionadas
con
la
actualizacin
(p.e. after_destroy:borrar_archivo , before_update:actualizar_detalles ) tambin se
especifican e implementan en la clase del modelo.
El modelo representa:

Las Tablas de la Base de Datos.

Migraciones (Expresan Cambios en las BD)

Observadores

Emmigraciones

Vista
En MVC,es la lgica de visualizacin, o cmo se muestran los datos de las clases
del Controlador. Con frecuencia en las aplicaciones web la vista consiste en una
cantidad mnima de cdigo incluido en HTML.
Existen en la actualidad muchas maneras de gestionar las vistas. El mtodo que
se emplea en Rails por defecto es usar Ruby Empotrado (archivos.rhtml, desde la
versin 2.x en adelante de RoR archivos.html.erb), que son bsicamente
fragmentos de cdigo HTML con algo de cdigo en Ruby, siguiendo una sintaxis
similar a JSP. Tambin pueden construirse vistas en HTML y XML con Builder o
usando el sistema de plantillas Liquid.
Es necesario escribir un pequeo fragmento de
mtodo del controlador que necesita mostrar
"maquetado" o distribucin de los elementos
separadamente de la accin del controlador y los
unos a otros.

cdigo en HTML para cada


informacin al usuario. El
de la pgina se describe
fragmentos pueden invocarse

Controlador
En MVC, las clases del Controlador responden a la interaccin del usuario e
invocan a la lgica de la aplicacin, que a su vez manipula los datos de las clases
del Modelo y muestra los resultados usando las Vistas. En las aplicaciones web
basadas en MVC, los mtodos del controlador son invocados por el usuario
usando el navegador web.
La implementacin del Controlador es manejada por el ActionPack de Rails, que
contiene la clase ApplicationController . Una aplicacin Rails simplemente hereda
de esta clase y define las acciones necesarias como mtodos, que pueden ser
invocados
desde
la
web,
por
lo
general
en
la
forma http://aplicacion/ejemplo/metodo , que invoca a EjemploController#mtodo ,
y

presenta

los

datos

usando

el

archivo

de

plantilla /app/views/ejemplo/mtodo.html.erb , a no ser que el mtodo redirija a


algn otro lugar.
Rails tambin proporciona andamiaje, que puede construir rpidamente la mayor
parte de la lgica y vistas necesarias para realizar las operaciones ms
frecuentes.

E-GRAFA
http://definicion.de/sql/
https://es.wikipedia.org/wiki/SQL
http://www.monografias.com/trabajos73/herramientas-case-procesodesarrollo-software/herramientas-case-proceso-desarrollo-software2.shtml
https://es.wikipedia.org/wiki/Ruby_on_Rails
https://www.youtube.com/watch?v=LMD3P97gXa0
http://www.rubyonrails.org.es/

CONCLUSIONES
Lenguaje SQL:
Es un lenguaje formal con una estructura interna propia este mismo nos ayuda a
poder realizar una conexin con una base de datos, pero bien que es una base de
datos esta es un conjunto de archivos que reside en un dispositivo de
almacenamiento que puede ser interno o externo al servidor y si bien es una gran
herramienta nos ayuda a realizar operaciones de clculos relacionales y consultas
de las bases de datos. Este tambin nos ayuda a modificar los datos que ya
contiene la misma o crear nuevos, ahora bien este puede manejar diversos
conjuntos de registros y no solo registros individuales, lo cual ofrece una alta
productividad en la codificacin.
Este mismo como ya se sabe es un lenguaje declarativo, quiere que especifica lo
que quiere , pero no como conseguirlo , osea quiere decir que una sentencia de
SQL no establece explcitamente una orden de ejecucin.
SQL tambin es incorporado y dinmico, esto quiere decir que se pueden
incorporar sus instrucciones en otros lenguajes de programacin tales como C++ ,
Java, PHP entre otros
Herramientas Case de Programacin:
Ahora bien estas herramientas de programacin fueron creadas con el fin de llevar
un control de las bajas tasas de productividad a la hora de desarrollar un software
obviamente esto afecta tanto al usuario como al programador, estas mismas son
buenas herramientas para idear una estrategia o diagrama con el fin de mejorar su
elaboracin, tanto en tiempo, como en calidad.
Las herramientas case son en s o bien un concepto de ellas un conjunto de
mtodos, utilidades y tcnicas que facilitan la automatizacin y desarrollo de
sistemas de informacin. Estas mismas son una innovacin en el modo de
organizarse a la hora de realizar un proyecto.
Ruby On Rails:
Ruby On Rails es un framework (infraestructura digital) para crear aplicaciones
web o bien para construir aplicaciones web que acceden a bases de datos. Est
diseado de tal formar que se pueda facilitar la forma para programar aplicaciones
web de forma ms rpida, sencilla.

Est escrito en Ruby, ahora bien Ruby es un lenguaje de programacin diseado


de una forma muy expresiva con el fin de que el desarrollador se sienta cmodo
con su uso, tambin este framework utiliza active record que es Active Record?
Bien pues una interfaz que permite la conexin mediante objetos a las bases de
datos sin usar sentencias SQL, si bien no le di un uso completo a Ruby On Rails ,
parece una ventaja esta interfaz muy preferida en la comunidad de
desarrolladores.Ruby ,y por ultimo este utiliza MVC ,quiere decir que promueve
buenas practicas de desarrollo.

S-ar putea să vă placă și