diseño de aplicaciones

Post on 26-Jun-2015

2.401 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

UNIDAD 4

DISEÑO DE APLICACIONES

Diseño de Aplicaciones

La interrelación entre el lenguaje SQL y los lenguajes de programación atenta al rendimiento y disponibilidad de los datos.Por esta razón cada aplicación debe estar diseñada para garantizar la integridad de los datos que modifica. El rendimiento tiene que ser tratado como un problema de diseño. Los problemas de rendimiento causados por las aplicaciones no deben dejarse para que los resuelva el DBA.

Desarrollo de Aplicaciones de Base de Datos y SQL

Las decisiones tomadas durante el diseño de la aplicación tendrán impacto en la utilidad de la aplicación final. Un mal diseño de la aplicación implica posiblemente que el código tenga que ser rediseñado y recodificado cuando es ineficiente, ineficaz o difícil de utilizar.

Desarrollo de Aplicaciones de Base de Datos y SQL

Los diseñadores de Aplicaciones deben conocer los siguientes aspectos:

¿Cómo se almacenan los datos en una base de datos relacional?

¿Cómo codificar instrucciones SQL para acceder y modificar datos en la base de datos?

¿Cómo el SQL difiere de los lenguajes de programación tradicionales?

¿Cómo incrustar sentencias SQL en un lenguaje de programación anfitrión?

¿Cómo optimizar el acceso a la base de datos cambiando el SQL y los índices?

¿Cómo usar métodos de programación para evitar posibles problemas de procesamiento de base de datos?

SQL

Es un lenguaje de consulta Estructurado, y es el estándar de facto para el acceso a Bases de Datos relacionales. ¿Por qué SQL es generalizado en el ámbito de acceso a Base de Datos relacionales?

SQL

Algunas de las principales razones son las siguientes: SQL es un lenguaje de alto nivel que

proporciona un mayor grado de abstracción que los lenguajes tradicionales de programación.

Optimiza las consultas. Usa una sintaxis simple en inglés.

Ejemplo:SELECT deptnum, deptname FROM dept WHERE supervisornum = '903‘;

SQL

Principales Razones Previo a ejecutar la consulta, se verifica la

sintaxis. Opera sobre un conjunto de datos solo con

una instrucción. Su capacidad para realizar tareas va en

aumento.

SQL

Toda operación de SQL se realiza sobre tablas y se obtiene como resultado otra tabla.También se trabaja sobre conjuntos de filas con una instrucción.

Joins vs. Subqueries (Unión vs. Subconsultas)

Un ejemplo de la flexibilidad de SQL es la forma en que una sola

instrucción puede acceder a datos de varias tablas. SQL

proporciona dos métodos: unión y subconsultas. Sin embargo, una

subconsulta se puede convertir en un equivalente a unirse. El

concepto detrás de los dos tipos de consultas es para recuperar

datos de varias tablas sobre la base de criterios de búsqueda que

concuerdan con los datos en las tablas.

Diferentes formas de junturas

Ejemplos:Subqueries

SELECT empNro, nombre, apellido FROM empleado WHERE deptNro IN

(SELECT deptNro FROM departmento WHERE deptnombre = ‘Técnico');

Joins

SELECT empNro, nombre, apellido FROM empleado e , departmento d

WHERE e. deptNro =d. deptNro AND deptnombre = ‘Técnico;

Procesamiento de set-a la vez y cierre relacional

Cierre Relacional

Procesamiento de set-a la vez y cierre relacional

Problema del SQL.

SQL trabaja con grupos de filas y los lenguajes de programación con una sola fila a la vez.

Los DBMS proveen cursores para seleccionar una fila.

Incorporación de SQL en un programa

Algunos lenguajes anfitriones, como COBOL aceptan directamente instrucciones SQL. Otros necesitan de un API como ODBC. Ejemplo: el lenguaje C.Se debe tratar de minimizar el número de lenguajes de programación diferentes que utilice, ya que hará más fácil el soporte y mantenimiento de sus aplicaciones.Un DBA debe ser capaz de leer y entender el código del programa para cada lenguaje utilizado para acceder a bases de datos dentro de la organización.Se debe usar con cuidado las herramientas CASE, porque su código autogenerado puede no ser óptimo para la DBMS utilizada.

SQL Middleware y APIs

Existe varios API’s (Application Programming Interfaces) populares que utilizan los programadores de bases de datos, incluyendo ODBC, JDBC, SQLJ, y OLE DB.

Las API’s se utilizan para incrustar sentencias SQL en un lenguaje de programación de acogida, como por ejemplo Java, C, Visual Basic, etc..

SQL Middleware y APIs

Los ODBC proveen rutinas para asignar y quitar recursos, controlar conexiones a la Base de Datos, ejecutar instrucciones SQL, diagnóstico y control de transacciones.

Los JDBC al igual que los ODBC son conjuntos de clases e interfaces que dan acceso a datos relacionales.

Codificación de SQL para mejorar el rendimiento

Una sólida comprensión de la sintaxis SQL, la estructura de la base de datos y el lenguaje de programación es imprescindible.Es mucho mejor para filtrar los datos no deseados en el nivel del DBMS que hacerlo dentro del programa .Es recomendable tratar a los datos a nivel de SQL , en vez de a un nivel de aplicación para evitar tráfico de red. Por ejemplo, es mejor agregar más cláusulas WHERE de SQL que SELECT que simplemente seleccionar todas las filas y filtrar los datos mediante programación.

Definición de las Transacciones

Una transacción es una unidad atómica de trabajo con respecto a la recuperación y la coherencia.Una transacción lógica lleva a cabo un proceso de negocios completo normalmente en nombre de un usuario en línea. Puede consistir en varios pasos y puede abarcar más de una transacción física. Los resultados de la ejecución de una transacción registrará los efectos de un proceso de negocio completo. Los datos de la base de datos deben ser correctos y apropiados después de la ejecución de la transacción.

Definición de las Transacciones

Las transacciones tienen propiedades ACID.

ACID es un acrónimo de Atomicidad, Consistencia, Aislamiento y Durabilidad. Cada una de estas cuatro cualidades son necesarias para que una transacción se diseñe correctamente.

• Atomicidad significa que una transacción debe mostrar un comportamiento "todo o nada“. O se ejecutan todas la instrucciones de una transacción correctamente o no se realiza ninguna. La atomicidad conserva la "integridad" del proceso de negocio.

Definición de las Transacciones• Consistencia se refiere al estado de los datos antes y

después de que la transacción se ejecute. Una transacción mantiene la consistencia del estado de los datos.

• Aislamiento significa que varias transacciones se pueden ejecutar al mismo tiempo sin que se crucen. Las transacciones en paralelo tienen la ilusión de que no hay concurrencia.

• Durabilidad los cambio realizados por una transacción perduran luego de que ésta termine. Una transacción no afectará el estado de los datos si la operación finaliza de forma anómala. Los datos se mantendrán ante cualquier fracaso.

Definición de las Transacciones

Ejemplo:Considere una aplicación bancaria. Suponga que usted desea retirar $ 50 de su cuenta en el Banco. Este "proceso de negocio" requiere una transacción a ejecutar. Usted solicita el dinero ya sea en persona entregando una hoja a un cajero de banco o mediante el uso de un cajero automático. En respuesta se realizará la siguiente transacción:

1. Se revise su cuenta para asegurarse de que tiene los fondos

necesarios para retirar la cantidad solicitada.

2. Si no lo hace, negar la solicitud y detener, de lo contrario continuar

con el proceso.

3. Debitar la cantidad solicitada de su cuenta corriente.

4. Producir un recibo por la transacción.

5. Le entrega la cantidad solicitada y el recibo.

Directrices de transacciones

Una transacción debe ser de corta duración, ya que entrelaza los recursos compartidos. También no debe permitir ingreso de datos del usuario en media transacción, porque conlleva bloqueos de larga duración que disminuye el rendimiento.

Varias unidades de trabajo conforman una transacción.

Unidad de Trabajo

Unidad de trabajo (UOW) es otro término que describe una operación de transacción física. Un UOW es una serie de instrucciones y mensajes que al ejecutarse, garantiza la integridad de datos. Así que un UOW y una transacción son similares en concepto. Sin embargo, un UOW no es necesariamente un proceso de negocios completo, puede ser un subconjunto de los procesos de negocio, y un grupo de unidades de trabajo pueden constituir una sola transacción.

Sistemas de procesamiento de transacciones TP

Un servidor de transacciones es ideal para aplicaciones distribuidas de alto rendimiento en ambientes heterogéneos.

El sistema TP proporciona un entorno para desarrollar y ejecutar la lógica de presentación y componentes de lógica de negocios. Un sistema de TP es útil para aplicaciones de misión crítica que requieren un alto volumen de usuarios concurrentes con mínimo tiempo de inactividad. Utilizado correctamente, un sistema de TP puede controlar eficientemente la ejecución simultánea de muchos programas de aplicación que sirve a un gran número de usuarios en línea.

Sistemas de procesamiento de transacciones

El uso de un servidor de base de datos

Sistemas de procesamiento de transacciones

El uso de un servidor de transacciones

top related