sábado, 19 de octubre de 2019

S7 TP D - RELACIONES Y CONSULTAS MULTITABLAS EN LA BASE DE DATOS

Relaciones en La Base de Datos
Una base de datos relacional permite la utilización simultánea de datos procedentes de más de una tabla .
Al hacer uso de las relaciones, se evita la duplicidad de datos, ahorrando memoria y espacio en el disco, aumentando la velocidad de ejecución y facilitando al usuario/a el trabajo con tablas.
Las tablas se relacionan de dos a dos, donde una de ellas será la tabla principal de la que parte la relación y la otra será la tabla secundaria destino de la relación.
Las relaciones que se establecen entre los diferentes elementos de dos tablas en una base de datos relacional pueden ser de tres tipos distintos:

1- Relación Uno a Uno

► Cuando un registro de una tabla sólo puede estar relacionado con un único registro de la otra tabla y viceversa.

2- Relación Uno a Varios

► Cuando un registro de una tabla (tabla secundaria) sólo puede estar relacionado con un único registro de la otra tabla (tabla principal) y un registro de la otra tabla (tabla principal) puede tener más de un registro relacionado en la primera tabla (tabla secundaria).


2- Relación Varios a Varios

►Cuando un registro de una tabla puede estar relacionado con más de un registro de la otra tabla y viceversa.


CONSULTAS MULTITABLAS EN BD

Es posible seleccionar datos de diferentes tablas mediante una solo consulta, esto se realiza con la sentencia SELECT
Consulta de Ejemplo:

               SELECT * FROM tabla1, tabla2;

Con la consulta anterior mostrara todos los datos de la tabla1 y tabla2.
Consultando 2 tablas indicando mediante que campos se unirán y mostrara solo los registros que coincidan:

              SELECT * FROM tabla1, tabla2 WHERE campo1=campo2;

LEFT JOIN

La cláusula LEFT JOIN devuelve todas los registros de la tabla de la izquierda (tabla1), con las correspondientes de la tabla de la derecha (tabla2). El resultado es NULL en la parte de la derecha cuando no hay registros que correspondan con la condición.

       SELECT * FROM tabla1 AS t1 LEFT JOIN tabla2 AS t2 ON t1.campo=t2.campo;

RIGHT JOIN

La instrucción RIGHT JOIN devuelve todas los registros de la tabla de la derecha (tabla2), y todas los registros correspondientes de la tabla de la izquierda (tabla1). El resultado será NULL cuando no haya registros correspondientes de la tabla de la izquierda.

      SELECT * FROM tabla1 AS t1 RIGHT JOIN tabla2 AS t2 ON t1.campo=t2.campo;

UNION

El operador UNION se utiliza cuando se necesita combinar los resultados de dos consultas diferentes. Los resultados no tienen que tener ninguna vinculación entre ellos; se quiere mostrar todos los resultados juntos.

     SELECT * FROM tabla1 UNION SELECT * FROM tabla2;

(Ejemplos con Except, Intersect, Minus)

Ejemplos Except, Intersect, Minus

S6. MD D - FILOSOFIA Y METODOLOGIA RUP (Concepto y Ejemplos)

FILOSOFIA RUP 
Es un proceso de desarrollo de software desarrollado por la empresa Rational Software, actualmente propiedad de IBM. Junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, diseño, implementación y documentación de sistemas orientados a objetos.

La Filosofía del RUP está basado en 6 principios clave que son los siguientes:

Adaptar el proceso
  • El proceso deberá adaptarse a las necesidades del cliente ya que es muy importante interactuar con él. Las características propias del proyecto. El tamaño del mismo, así como su tipo o las regulaciones que lo condicionen, influirán en su diseño específico. También se deberá tener en cuenta el alcance del proyecto.
Demostrar valor iterativamente
  • Los proyectos se entregan, aunque sea de un modo interno, en etapas iteradas. En cada interacción se analiza la opinión de los inversores, la estabilidad y calidad del producto, y se refina la dirección del proyecto así como también los riesgos involucrados.
Equilibrar prioridades
  • Los requisitos de los diversos participantes pueden ser diferentes, contradictorios o disputarse recursos limitados. Debe encontrarse un equilibrio que satisfaga los deseos de todos. Gracias a este equilibrio se podrán corregir desacuerdos que surjan en el futuro.
► Colaboración entre equipos
  • El desarrollo de software no lo hace una única persona sino múltiples equipos. Debe haber una comunicación fluida para coordinar requisitos, desarrollo, evaluaciones, planes, resultados, etc.
► Enfocarse en la calidad
  • El control de calidad no debe realizarse al final de cada interacción, sino en todos los aspectos de la producción. 
  • El aseguramiento de la calidad forma parte del proceso de desarrollo y no de un grupo independiente.
► Elevar el Nivel de Abstracción
  • Este principio dominante motiva el uso de conceptos reutilizables tales como patrón del software, lenguajes 4GL o esquemas (frameworks) por nombrar algunos. Estos se pueden acompañar por las representaciones visuales de la arquitectura, por ejemplo con UML.
METODOLOGIA Rational Unified Process (RUP)
Es un producto del proceso de ingeniería de software que proporciona un enfoque disciplinado para asignar tareas y responsabilidades dentro de una organización del desarrollo. Su meta es asegurar la producción del software de alta calidad que resuelve las necesidades de los usuarios dentro de un presupuesto y tiempo establecidos.

miércoles, 9 de octubre de 2019

S6 TP D - Consultas con BD SQL Server

CONSULTAS EN BD EN SQL

INTRODUCCIÓN
*El lenguaje de consulta estructuturado SQL (Structured Query Language), es un lenguaje de base de datos normalizado.
*Esta compuesto por Comandos, Clausuras, Operadores y funciones.
*Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos.

COMANDOS SQL

Existen dos tipos de comandos SQL:

DDL : Permite crear y definir nuevas bases de datos, campos e indices (Data Definition Language).

DML: Permite generar consultas para ordenar, filtrar y extraer datos de la base de datos (Data Manipulation Language).

COMANDOS DDL

  • CREATE: Utilizado para crear tablas, campos e indices.
  • DROP : Empleado para eliminar tablas e indices.
  • ALTER : Utilizado para modificar las tablas agregando campos o cambiando la definición de los datos.
COMANDOS DML
  • INSERT: Utilizado para crear lotes de datos en la BB es una unica operacion.
  • SELECT: Utilizado para consultar registros de la BBDD que satisfaga un criterio.
  • UPDATE: Utilizado para modificar los valores de los campos y registros.
  • DELETE: Utilizado para eliminar de una tabla de una BBDD.
EJEMPLO 01

► Ingrese a la BBDD y ejecute la siguiente instruccion:

          create table CAMIONES
          (
              COD_CAMION  INTEGER not null,
              MARCA              VARCHAR2 (150),
              MODELO           VARCHAR2 (300),
              ANNO                 NUMBER,
              PESO_CARGA   INTEGER,
              PATENTE            VARCHAR2 (300)
           )
► Ahora ejecute la siguiente instrucción:

           alter table CAMIONES
           add constraint PK_CAMIONES primary key (COD_CAMIONES);

► Y ahora ejecute la siguiente instrucción:

           drop table CAMIONES

CLAUSURAS
Son condiciones de modificaciones utilizadas para definir los datos que se desea seleccionar o manipular. Algunas de las clausuras son las siguientes:
  • FROM
  • WHERE
  • GROUP BY
  • ORDER BY
OPERADORES LÓGICOS
  • AND
  • OR
  • NOT
Operaciones de Comparación
  • < : Menor que
  • > : Mayor que
  • < > : Distinto que
  • < = : Menor ó igual que
  • > = : Mayor ó igual que
  • = : Igual que
EJEMPLO DE CONSULTA BÁSICA

La sintaxis basica de una consulta de seleccion es la siguiente:

         SELECT campos FROM tablas;
                    *En donde campos es la lista de campos que se desean recuperar.
                    * Tabla es el origen de los mismos , por ejemplo:

         SELECT nombre, telefono FROM clientes;

(Esta consulta devuelve un conjunto de registros con el campo Nombre y Telefono de la tabla Clientes.)

CON CONDICIÓN WHERE

          SELECT campos
          FROM tablas
          WHERE condición;

Como ejemplo: 

          SELECT Apellidos, Salario
          FROM Empleados
          WHERE Salarios>21000;


domingo, 6 de octubre de 2019

S5 MD D - Metodologia RUP

METODOLOGÍA "RUP"

CONCEPTO

El Proceso Unificado Racional (Rational Unified Process en inglés, habitualmente resumido como RUP) es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos.
El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización. También se conoce por este nombre al software desarrollado por Rational, hoy propiedad de IBM, el cual incluye información entrelazada de diversos artefactos y descripciones de las diversas actividades. 
Está incluido en el Rational Method Composer (RMC), que permite la personalización de acuerdo a necesidades.

CARACTERISTICAS:

Los autores de RUP destacan que el proceso de software propuesto por RUP tiene tres características esenciales: está dirigido por los Casos de Uso, está centrado en la arquitectura, y es iterativo e incremental.

1- Proceso Dirigido por Casos de Uso

Los Casos de Uso son una técnica de captura de requisitos que fuerza a pensar en términos de importancia para el usuario y no sólo en términos de funciones que sería bueno contemplar. Se define un Caso de Uso como un fragmento de funcionalidad del sistema que proporciona al usuario un valor añadido. Los Casos de Uso representan los requisitos funcionales del sistema.
En RUP los Casos de Uso no son sólo una herramienta para especificar los requisitos del sistema. También guían su diseño, implementación y prueba. Los Casos de Uso constituyen un elemento integrador y una guía del trabajo como se muestra en la Figura 2

2- Proceso Centrado en la Arquitectura

La arquitectura de un sistema es la organización o estructura de sus partes más relevantes, lo que permite tener una visión común entre todos los involucrados (desarrolladores y usuarios) y una perspectiva clara del sistema completo, necesaria para controlar el desarrollo.
La arquitectura involucra los aspectos estáticos y dinámicos más significativos del sistema, está relacionada con la toma de decisiones que indican cómo tiene que ser construido el sistema y ayuda a determinar en qué orden. Además la definición de la arquitectura debe tomar en consideración elementos de calidad del sistema, rendimiento, re utilización y capacidad de evolución por lo que debe ser flexible durante todo el proceso de desarrollo.
La arquitectura se ve influenciada por la plataforma software, sistema operativo, gestor de bases de datos, protocolos, consideraciones de desarrollo como sistemas heredados. Muchas de estas restricciones constituyen requisitos no funcionales del sistema.
En la Figura 4 se ilustra la evolución de la arquitectura durante las fases de RUP. Esta arquitectura, es una implementación parcial del sistema, construida para demostrar algunas funciones y propiedades RUP establece refinamientos sucesivos de una arquitectura ejecutable, construida como un prototipo evolutivo.

Es conveniente ver el sistema desde diferentes perspectivas para comprender mejor el diseño por lo que la arquitectura se representa mediante varias vistas que se centran en aspectos concretos del sistema, abstrayéndose de los demás. Para RUP, todas las vistas juntas forman el llamado modelo 4+1 de la arquitectura, el cual recibe este nombre porque lo forman las vistas lógica, de implementación, de proceso y de despliegue, más la de Casos de Uso que es la que da cohesión a todas.



3- Proceso Iterativo e Incremental

El equilibrio correcto entre los Casos de Uso y la arquitectura es algo muy parecido al equilibrio de la forma y la función en el desarrollo del producto, lo cual se consigue con el tiempo. Para esto, la estrategia que se propone en RUP es tener un proceso iterativo e incremental en donde el trabajo se divide en partes más pequeñas o mini proyectos. Permitiendo que el equilibrio entre Casos de Uso y arquitectura se vaya logrando durante cada mini proyecto, así durante todo el proceso de desarrollo. Cada mini proyecto se puede ver como una iteración (un recorrido más o menos completo a lo largo de todos los flujos de trabajo fundamentales) del cual se obtiene un incremento que produce un crecimiento en el producto.
Una iteración puede realizarse por medio de una cascada de etapas como se muestra en la Figura 6. Se pasa por los flujos fundamentales (Requisitos, Análisis, Diseño, Implementación y Pruebas), también existe una planificación de la iteración, un análisis de la iteración y algunas actividades específicas de la iteración. 
Al finalizar se realiza una integración de los resultados con lo obtenido de las iteraciones anteriores.