Está en la página 1de 12

BASES DE DATOS BÁSICO

CÓDIGO: 301330A

UNIDAD 3 FASE 4 - DESARROLLO

Presentado a:
IVAN ARTURO LOPEZ ORTIZ

Entregado por:
DERWIN L. MARTÍNEZ RODRÍGUEZ
DEIMER FABIAN ANDRADE
HECTOR PIÑEROS ARIAS

Grupo: 301330 _ 42

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD


ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
NOVIEMBRE 28 DE 2019
VILLAVICENCIO
TABLA DE CONTENIDO

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

En el desarrollo de la presente unidad se podrá reconocer e identificar la


implementación del lenguaje al momento de codificar la base de datos mediante el
lenguaje SQL a partir del modelo relacional funcional. Con el fin de que se convertirán
en conocimientos significativos para la Introducción a las bases de datos y los
Fundamentos de diseño, de tal manera afianzar los conocimientos y generar la mejor
dinámica del trabajo individual contribuyendo satisfactoriamente al desarrollo de la
actividad colaborativa.

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 y aplicar el lenguaje SQL a partir del modelo relacional funcional.

Conocer, identificar y aplicar la Implementación del lenguaje SQL.

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)

Este lenguaje es utilizado en programación, diseñado para administrar y efectuar


consultas como una herramienta para recuperar de una manera sencilla y realizar
cambios en la información de bases de datos; se puede realizar actualización, borrado,
creación y modificaciones de esquemas destinado a múltiples usuarios siendo aceptado
por ANSI (American National Standards Institute) e ISO (International Standards
Organization) como un lenguaje de consulta estándar para bases de datos. Para utilizar
este lenguaje usamos herramientas como el álgebra y el cálculo relacional lo cual
consiste en definir, manipular y controlar los datos.

Es un lenguaje de Consulta Estructurado popularmente conocido por sus siglas en


inglés como SQL, igualmente es un lenguaje de programación, manipulación e
integridad de la información simbolizada por los datos que se acumulan en las bases de
datos.

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.

Para el almacenamiento y manipulación de los datos, el modelo relacional establece el


uso de relación y variable de relación; mientras tanto SQL hace uso de las tablas como
elemento fundamental.

Base Teórica y conceptual

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.

En cualquiera de las actividades que se desarrollan a diario en una empresa sin


importar su tamaño o razón social, se genera información, está de acuerdo a su
importancia, requiere ser guardada para ser usada posteriormente, este
almacenamiento es conocido comúnmente como base de datos el cual tiene dos
características una que sea lógica (intangible) o que sea física (tangible).

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:

SQL interactivo: aquí el usuario escribe un solo comando y lo envía inmediatamente a


la base de datos. El resultado de una consulta interactiva es una tabla en la memoria
principal (una tabla virtual).

SQL incorporado: aquí se usa un programa de aplicación y puede presentarse de dos


formas estático, donde se especifica el comando completo en el momento en que se
escribe el programa y puede ser dinámico, en este caso el programa crea la declaración
utilizando la entrada del usuario y luego la envía a la base de datos.
Además de estas formas para emitir un comando se debe tener en cuenta las opciones
para crearlo como son:

 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.

 Funciones: es un pequeño programa que está integrado en el lenguaje SQL.


Cada función hace una cosa, no se requieren para una declaración SQL legal.

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.

CADENA: Para almacenar datos alfanuméricos (cadenas de caracteres) en SQL se


emplean los siguientes tipos de datos: (CHAR, VARCHAR, BINARY, VARBINARY,
TINYBLOB, TINYTEXT, BLOB, TEXT, MEDIUMBLOB, MEDIUMTEXT, LONGBLOB,
LONGTEX, ENUM, SEX)

 CHAR: (character, o caracter).


 VARCHAR: (character varying, o caracteres variables)
 BINARY: Estos dos tipos de datos son idénticos a CHAR
 VARBINARY: Estos dos tipos de datos son idénticos a VARCHAR
 TINYTEXT
 BLOB: almacena en la base de datos el contenido de un archivo binario (imagen
o archivo ZIP)
 TINYBLOB, MEDIUMBLOB, LONGBLOB: Similares al BLOB, sólo cambia la
longitud máxima: 255 bytes, 16.777.215 bytes y 4 Gb (o lo máximo que permita
manipular el sistema operativo).
 TEXT: textos de noticia, y cualquier otro texto largo.
 MEDIUMTEXT
 LONGTEX
 ENUM: Su nombre es la abreviatura de "enumeración".
 SET: Su nombre significa "conjunto".

NUMERICO: La diferencia entre uno y otro tipo de dato es simplemente el rango de


valores que puede contener. Dentro de los datos numéricos, podemos distinguir dos
grandes ramas: enteros y decimales.

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

Permite agrupar instrucciones de manera controlada (condicionales e iterativas),


condicionales "[...] Los condicionales nos permiten comprobar condiciones y hacer que
nuestro programa se comporte de una forma u otra, que ejecute un fragmento de
código u otro, dependiendo de esta condición [...]" Cita textual del libro Python para
Todos de Raúl González Duque (http://mundogeek.net/tutorial-python/).

Las estructuras de control iterativas (cíclicas o bucles), permiten ejecutar un mismo


código repetidas veces, mientras se cumpla una condición.

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:

 Anónimos (Anonymous blocks). Se construyen de forma dinámica y se


ejecutan una sola vez.

 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.

 Subprogramas. Procedimientos, paquetes o funciones almacenados en la


BD. No suelen cambiar después de su construcción y se ejecutan múltiples
veces mediante una llamada call.

Estructura de un Bloque

La estructura de un bloque está conformada por:


 Declarativa (declare): se declaran variables, constantes, cadenas que son
usadas dentro del bloque.

 Ejecución (begin): se ejecuta el bloque con las sentencias.

 Manejo de excepciones (Exception): sección estructurada para atrapar


cualquier error que ocurra en la ejecución del bloque.
Cursores

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:

SET SERVEROUTPUT ON;


DECLARE
Cursor c_empleados is select * from employees;
BEGIN
For var_cursor in c_empleados loop dbms_output.put_line (var_cursor.name);
End loop;
END;

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.

Algunos casos de situaciones o errores que se pueden encontrar son: invocar un


método sobre un objeto "null", intentar dividir un número entre 0, intentar abrir un
archivo o formulario que no existe, agotar la memoria de la JVM al ejecutar (ciclo
infinito), tratar de recuperar información de Internet y no contamos en ese momento de
conexión, entre otras.

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:

Constraint_Error: Se presenta cuando suceden los siguientes casos:


 Hay un índice fuera de rango (se intentar acceder al elemento 31 de una
formación de 30 elementos).
 Se asigna a una variable un valor fuera del rango permitido (se intenta
asignar una valor negativo a un positivo)
 Se utiliza mal un atributo (se intenta pedir valor numérico de un número que
no existe.
 Se asigna una formación a otra con diferente tamaño.

Numeric_Error: Se produce cuando hay desbordamiento en una operación aritmética o


una división por cero

Program_Error: Cuando se ha producido algún error de programación que no pudo ser


detectado en tiempo de compilación

Storage_Error: Cuando hay algún problema de falta de memoria.

Excepciones definidas

Permite al usuario definir sus propias excepciones, deben ser declaradas


explícitamente utilizando la sentencia RAISE. Las excepciones deben ser declaradas en
el segmento DECLARE de un bloque, subprograma o paquete, estas reglas de alcance
aplican tanto para variables como las excepciones.
Conclusiones

En la fase colaborativa del contenido del curso de Base de datos Básico, es un


factor muy importante identificar cada uno de los conceptos diseñados, con la
implementación de la estrategia de aprendizaje basada en problemas, el cual fortalece
los conocimientos y donde se pone en evidencia el estudio de los referentes teóricos,
donde permite aplicarlos en la solución del problema planteado para el desarrollo del
diseño de bases de datos, con el fin de llegar a la comprensión de situaciones reales a
través de la investigación y consulta de definiciones, de tal manera comprobar la
relación entre la teoría a lo acontecido y de esta manera evidenciar la importancia que
existe de la temática desarrollada en la presente unidad.

Los fundamentos básicos e introducción del Diseño de bases de datos mediante


el lenguaje SQL a partir del modelo relacional funcional no solo nos permiten recolectar
información documental en Modelo de Datos sino de conocer a fondo su estructura y
funcionamiento, permitiendo optimizar las herramientas y características de la técnica
de normalización, diccionario de datos y modelo relacional que poseen los datos en el
caso estudiado.
Lista de referencias

[1] Camuña, R. J. F. (2014). Lenguajes de definición y modificación de datos SQL. Madrid,


Recuperado de:
https://bibliotecavirtual.unad.edu.co:2538/lib/unadsp/reader.action?docID=4184070&query=

[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

[4] Ortiz, A. Q. (09 de Mayo de 2015). sites.google.com. Obtenido de


https://sites.google.com/site/basdededatosrelacionales/home/contenido/tipos-de-datos-en-oracle

También podría gustarte