Informe Fase 4 - Desarrollo - Grupo42
Informe Fase 4 - Desarrollo - Grupo42
Informe Fase 4 - Desarrollo - Grupo42
CÓDIGO: 301330A
Presentado a:
IVAN ARTURO LOPEZ ORTIZ
Entregado por:
DERWIN L. MARTÍNEZ RODRÍGUEZ
DEIMER FABIAN ANDRADE
HECTOR PIÑEROS ARIAS
Grupo: 301330 _ 42
Introducción 3
Objetivos 4
Desarrollo de la Actividad. 4
Lenguaje SQL (Structured Query Language) 5
Base Teórica y conceptual 5
Descripción 5
Tipos de datos 6
Estructuras de Flujo 8
Bloques 8
Estructura de un Bloque 8
Cursores 9
Cursores Implícitos 9
Cursores Explícitos 9
Manejo de Excepciones 9
Excepciones Pre-definidas 10
Excepciones definidas 10
Conclusiones 11
Lista de referencias 12
Introducción
Hoy en día los modelos de entidad relación juegan un papel muy importante en
la vida de los desarrolladores de bases de datos, sus elementos nos permite organizar
y distribuir los datos para utilizarlos en la construcción de una base de datos.
Objetivos
Identificar el Modelo relacional que tienen los datos en el caso de uso empleado.
Aplicar las diferentes estructuras con las que cuenta este modelo para la aplicación y
desarrollo de una base de datos.
Desarrollo de la Actividad.
Lenguaje SQL (Structured Query Language)
Esto implica que un solo comando SQL puede equivaler a decenas o cientos de líneas
de código que se tendrían que utilizar en un lenguaje de más bajo nivel orientado a
registros lo que aumenta la eficiencia en la productividad.
SQL permite con mayor rapidez y facilidad la manipulación de los objetos de base de
datos, dando así la posibilidad de alcanzar una mayor eficiencia y productividad en el
desarrollo.
SQL fue creado por IBM a comienzo de los años setenta pero la primera
implementación fue por Oracle Corporación, ya para el año 1992 el lenguaje fue
revisando agregando más capacidad, así surgió la creación de este lenguaje que es
denominado así ya que sus siglas en ingles significan (Structured Query Language) y
que en español quiere decir lenguaje de consulta estructurada.
Descripción
La última versión que tenemos es la SQL 2008 del estándar pero aún se sigue
trabajando teniendo en cuenta las versiones anteriores, para emitir un comando SQL a
una base de datos existen dos formas:
Palabras clave: cada comando SQL comienza con una palabra clave, como
SELECCIONAR, INSERTAR o ACTUALIZAR, que le indica al procesador de
comandos el tipo de operación que se realizará. El resto de las palabras clave
preceden a las tablas a partir de las cuales deben tomarse los datos, indican las
operaciones específicas que se deben realizar en los datos, y así
sucesivamente, estas son necesarias para todos los comando SQL.
Tablas: un comando SQL incluye los nombres de las tablas en las que debe
operar el comando, estas son necesarias para todos los comandos SQL.
Columnas: un comando SQL incluye los nombres de las columnas a las que
afectará el comando, estas pueden ser opcionales dependiendo el tipo de
operación.
Las palabras clave y las tablas son necesarias para todos los comandos SQL. Las
columnas pueden ser opcionales, dependiendo del tipo de operación que se esté
realizando. Nunca se requieren funciones para una declaración SQL legal, pero en
algunos casos puede ser esencial para obtener un resultado deseado.
Tipos de datos
Los campos de las tablas SQL nos dan la posibilidad de elegir tres tipos de contenidos:
datos numéricos, cadenas (alfanuméricos) y fechas y horas.
Enteros: Las opciones que tenemos para almacenar datos que sean numéricos enteros
como (edades, cantidades, magnitudes); poseemos una variedad de opciones TINYINT,
SMALLINT, MEDIUMINT, INT o INTEGER, BIGINT.
Decimales: estos tipos de datos son necesarios para almacenar precios, salarios,
importes de cuentas bancarias, etc. que no son enteros, estos tipos de datos se llaman
"de coma flotante", por ser la coma el separador entre la parte entera y la parte decimal,
SQL los almacena usando un punto como separador y tiene tres tipos de datos: FLOAT,
DOUBLE y DECIMAL.
FECHA Y HORA: En SQL, poseemos varias opciones para almacenar datos referidos a
fechas y horas.
DATE: Permite almacenar fechas en formato: AAAA-MM-DD (los cuatro primeros
dígitos para año, los dos siguientes para mes, los últimos dos para día).
DATETIME: Nos permitirá almacenar información acerca de un instante de tiempo.
TIME: Este tipo de cambio permite almacenar horas, minutos y segundos, en el formato
HH:MM:SS, y su rango permitido va desde -839:59:59 hasta 839:59:59 (unos 35 días
hacia atrás y hacia adelante de la fecha actual).
TIME: Permite almacenar horas, minutos y segundos, en formato HH:MM:SS, su rango
permitido va desde -839:59:59 hasta 839:59:59 (35 días atrás y adelante de la fecha
actual).
TIMESTAMP: sirve para almacenar una fecha y hora de manera similar a DATETIME,
pero puede variar en tres opciones.
YEAR: Podremos almacenar un año, tanto utilizando dos como cuatro dígitos.
Estructuras de Flujo
Bloques
SQL es un lenguaje estructurado con bloques, definidos por una estructura o palabras
claves DECLARE, BEGIN, EXCEPTION (Declarativa, Ejecutables y manejo de
excepciones) siendo solo obligatorio la sección ejecutable, existen tres tipos de
bloques:
Con nombre (Named blocks). Son bloques con nombre, que al igual que el
anterior se construyen, generalmente, de forma dinámica y se ejecutan una
sola vez.
Estructura de un Bloque
Son segmentos de memoria utilizados para realizar operaciones con los registros
devueltos tras ejecutar una sentencia SELECT y sobre todo se utilizan en los bloques
de programación. Estos cursores son gestionados automáticamente por PL/SQL, por
ende no se debe escribir ningún código para manejar estos cursores, Pero si podemos
rastrear información sobre la ejecución de un cursor a través de sus atributos de cursor
que son %FOUND, %ISOPEN, %NOTFOUND y %ROWCOUNT.
Cursores Implícitos
Se utilizan para realizar consultas que devuelven un solo registro, cuando se realiza
una consulta y este devuelve más de un registro, el curso desplegara el error
TOO_MANY_ROWS. Se utiliza en una sentencia select acompañado de la palabra into,
después se escribe la variable que va a guardar el dato como se indica en el siguiente
ejemplo:
DECLARE
r_nombre varchar2;
BEGIN
Select name into r_nombre from employees where id = 2;
END;
Cursores Explícitos
Estos son más complejos que los implícitos y se utilizan para realizar consultas que
devuelven varios registros, cuando se realiza una consulta y este devuelve más de un
registro, pero también se puede utilizar para consultas que devuelvan un solo registro
como muestra el siguiente ejemplo:
Manejo de Excepciones
Las excepciones es un soporte que permite detectar situaciones o errores que pueden
presentarse durante la ejecución de un programa y consiste en comunicar al
programador estos eventos inesperados y ya dependiendo el manejo que el
programador le dé a la excepción se conoce como manejo o gestión de excepción,
estas excepciones son manejadas por códigos.
Cuando se presente una anomalía que no puede resolver, la lógica es que lance (throw)
una excepción, esperando que quien lo llamo directamente o indirectamente la capture
(catch) y maneje la anomalía, de ahí el programador puede tratarla como manejo o
gestión de la excepción.
Excepciones Pre-definidas
Las excepciones no sirven para corregir errores de programación, estas sirven para
alertarnos de la situación y dejarnos decidir el comportamiento del programa, veremos
las excepciones prediseñadas que se pueden presentar:
Excepciones definidas
[2] Harrington, J.L. (2010) SQL Clearly Explained (Third Edition), Chapter 3 -Introduction to SQL,
ISBN, Recuperado de: https://bibliotecavirtual.unad.edu.co:2571/B9780123756978500030/3-s2.0-
B9780123756978500030-main.pdf?_tid=71a1eed1-90e8-49f7-b8a1-
5458bc800c8f&acdnat=1541520324_51af5244e8b2978a14cc349c191d1fe2
[3] Marqués, M. (2009). Bases de datos. Pro Quest Ebook Central. Recuperado de:
https://bibliotecavirtual.unad.edu.co:2538/lib/unadsp/detail.action?docID=4499125