lunes, 5 de diciembre de 2016

CONSULTA SQL

CONSULTA DE DATOS:

SELECT: Permite consultar los datos almacenados en una tabla de una base de datos, 

SELECT* = permite escoger todos los atributos de las tablas seleccionadas.
SELECT DISTINCT = Evita que las filas seleccionadas se dupliquen.




FROM : Permite realizar consultas por medio de un producto cartesiano X de dichas tablas, aplicando ciertas condiciones de búsqueda como WHERE O GROUP BY, las cuales se establecen en dicho producto cartesiano para obtener un resultado de los atributos por medio de SELECT de dicho producto.

WHERE: Se especifica una condición que se cumplirá y como resultado serán devueltos datos de dicha consulta, para ello se utiliza los operadores lógicos AND y OR.

JOIN: Su implementan es necesaria utilizar condiciones, tener tablas relacionadas mediante claves foráneas, igualar los atributos de las tablas.

NOMBRES DE TABLAS: Se puede realizar una consulta una vez que se utilizan el alias,

SELECT E.nombre, S,nombre
FROM empleado E, empleado S
WHERE E.supervisor = S.nss

BIBLIOGRÁFIA:


  • Devjoker. Tutorial-SQL. Recuperado el 17 de Mayo del 2016 de http://www.devjoker.com/contenidos/Tutorial-SQL/14/Consultar-datos-SELECT.aspx  

SQL Y OPERACIONES

  
SQL (Structured Query Language)



Utilizado como un lenguaje declarativo el cual permite tener acceso a bases de datos relaciones y aplicar diversas operaciones como consultas y gestión de las mismas. 

HISTORIA

Las bases de datos tienen como objetivo organizas los datos pero a través del tiempo se remontan a épocas antiguas donde la presencia de bibliotecas y registros se utilizaba para censos sin embargo su procesamiento era bastante extenso ante la falta de este tipo de tecnologías.



FUNCIONES

                                          

La utilización de este tipo de lenguaje permite realizar diversas operaciones así como también un manejo de la flexibilidad y potencia de los sistemas relacionales. Algunas funciones que se destacan son:

DDL.- Aquella función que permite definir esquemas de la relación a través de ordenas así como eliminarlas, crearlas y realizar modificaciones en esquemas de relación.
DML.- Basado en el álgebra y calculo relacional de tuplas, este tipo de función permite realizar ordenes basadas en insertar, modificar y eliminar tuplas de una base de datos.
DCL.- Utilizada para definir controles de seguridad a datos que se encuentran almacenados, permite aplicar privilegios de accesos, control de recurrencia y condiciones de integridad.

NOTA: La invocación del SQL forma una parte fundamental ya que si se lo hace de manera directa o interactiva esta sentencia que es llamada desde la terminal permite obtener un resultado como un valor, una lista de estos o tablas con o sin datos. Mientras que la invocación mediante un programa se utiliza la parte de ejecución para recoger una área de entrada de este.

VENTAJAS


 

  • Se puede elegir una variedad de SQL dependiendo del gusto del desarrollador o la empresa que requiere su uso.
  • Portabilidad
  • Lenguaje de alto nivel
  • Lenguaje de BD
  • Lenguaje SQL estándar
  • Arquitectura cliente - servidor
  • Utilización del lenguaje de programación.


OPERADORES


Estos operadores ayudan a complementar las operaciones que se ejecutan en el lenguaje SQL.

Lógicos :  AND, OR, NOT
Cadenas de texto : LIKE
Conjuntos: IN
Intervalos: BETWEEN 



TABLAS - OPERACIONES


Creación tabla- CREATE TABLE, comando utilizado para realizar la creación de la tabla a su vez se especifica los atributos, clave primaria, restricciones de integridad, para ello se toma en cuenta que identidades albergara la misma.


Ejemplo:



Borrar Tabla.- La sintaxis DROP TABLE permite eliminar una tabla conjuntamente los datos que la contienen sin embargo se debe tomar en cuenta que relaciones tenia dicha tabla ya que puede dejar inhabilitada la base de datos, a continuación su forma de aplicación.


Modificar Tabla.- La sintaxis ALTER TABLE permite realizar las modificaciones como agregar o eliminar una columna, cambiar el nombre y el tipo de esta, también se la utiliza para cambiar la especificación de la clave primaria o agregar una restricción a una columna.



                                             TABLAS - OPERACIONES CON DATOS

Inserción de Datos: Permite ingresar datos y atributos en una tabla, es necesario que los valores deben ser del mismo orden y tipo para que se de esta operación.


Modificación de Datos: Permite actualizar los datos de una tabla señalada cuando se cumpla una condición establecida, si esta no existe se procede a actualizar todas las filas de una tabla.


Borrado de Datos: Si existe una condición preestablecida se borran las tuplas de una tabla, sino se borra todas las filas de una tabla.


Consulta de Datos: Permite consultar datos de una o varias tablas anteponiendo condiciones para estas, las condiciones necesarias para utilizar una consulta son SELECT Y FROM.


Nota: Para efectuar consultas mas especificas se requieren de las siguientes palabras reservadas.

  • FROM: Selecciona las tablas que van a ser consultadas.
  • SELECT: Indican los atributos que se van a obtener como respuesta de la consulta.
  • ORDER BY: Presenta los resultados de la consulta en un orden designado.
  • HAVING: Se pueden establecer grupos con condiciones.
  • GROUP BY: Forma grupos y estos ser sometidos a alguna condición, para utilizar having se debe utilizar esta clausula.
  • WHERE: Permite definir las condiciones que se van a cumplir en las tuplas para obtener un resultado de la consulta.




Bibliografía: 

  • 1keydata(2016).SQL. Recuperado el 18 de Mayo del 2016 de https://www.1keydata.com/es/sql/sql-delete.php
  • Wikipedia (2016).SQL. Recuperado el 18 de Mayo del 2016 de https://es.wikipedia.org/wiki/SQL 
  • Devjoker(2015). Tutorial SQL. Recuperado el 18 de Mayo del 2016 de http://www.devjoker.com/contenidos/Tutorial-SQL-/17/Consultas-combinadas-JOINS.aspx

miércoles, 16 de noviembre de 2016

Normalizacion de Base de Datos


Definición: Son aquellas reglas que permiten establecer el diseño ideal de una base de datos, donde las primeras reglas permiten establecer un esquema correcto el cual permitirá eliminar problemas durante su desarrollo. Para ello es necesario cumplir varias etapas de la normalización como:


Las reglas tienen que ser aplicadas en forma ordenada y secuencial, estas se clasifican en 1NF,2NF,3NF, donde estas seran las mas utilizadas en este periodo sin embargo hay que tomar en cuenta algunas otras:
  • Forma Normal Boyce-Codd (BCNF)
  • Cuarta Forma Normal (4NF)
  • Quinta Forma Normal (5NF)
  • Forma Normal de Dominio (DKNF)


Primera Forma Normal.- Una tabla puede almacenar atributos atómicos, los cuales son elementos mínimos, indivisibles, debe contener una clave primaria, no puede tener valores nulos, ciclos repetitivos, o variaciones de numero de columnas. No permite añadir valores donde ya ha sido validado anteriormente con un limite.

Para ello es necesario aplicar varias soluciones dependiendo de los datos de las columnas.

Cuando existe múltiples valores

Forma Incorrecta


Aplicando Reglas 





Cuando existe redundancia de datos: 

Se presenta una tabla de esta manera




Una tabla aplicada las reglas de la normalización seria:




Cuando existe valores nulos: 




Aplicando las reglas:





Segunda Forma Normal.- Para que esta forma pueda ser aplicada tuvo que haberse cumplido antes la primera forma, una tabla en la primera forma normal estará en una segunda, donde su clave primaria y otros atributos que no sean una clave primaria, el atributo no clave dependerá de toda la clave primaria en vez de una. 

Ejemplo:

Se utiliza la siguiente tabla con sus atributos 




Sin embargo al aplicar las reglas de normalización se puede separar el atributo NOMBRE de la tabla.



Tercera Forma Normal.- Para que esta forma se cumpla necesaria mente la tabla tuvo que haber pasado por la segunda forma, además esta forma indica, ningún atributo no primario de la tabla puede ser dependiente transitiva mente de una clave primaria.

Ejemplo: 


Eliminando la transitividad y separando las relaciones.



No se aplican para este período

Forma Normal de Boyce - Codd 

Dependencia Función Trivial.- Se define cuando B forma parte de A, donde un conjunto de atributos de A y B forma parte de un subconjunto de A. Esta forma no necesita de dependencias funcionales y a su vez no pertenezcan a un conjunto de la clave candidata. Para que esta forma normal se cumpla requiere que esta este en la tercera forma normal.

Ejemplo:



Separando los valores de la tabla para BCNF.


                       

Para comprobar una correcta aplicación se tiene que verificar los siguientes pasos.

1.- La no existencia de claves candidatas compuestas.
2.- Si existe varias claves candidatas compuestas con un elemento en común, no esta en la forma BCNF, o donde dos claves candidatas compartan un mismo atributo.


Cuarta Forma Normal

Esta tiene que ver con datos multivalores, los cuales requieren que sean independientes y estén correctamente representados en el diseño de la base, se cumple una vez haya pasado por la forma normal de Boyce-Codd. Se aplica a una tabla con multivalores donde estos requieran 2 o mas relaciones independientes de M a M provocando redundancia y al aplicar esta forma se suprime dicho problema.

Ejemplo:




Se aplica una dependencia multivalor para evitar la redundancia.

                                  


Quinta Forma Normal

Denominada forma normal de proyección- unión, permite reducir la redundancia en una base de datos relacionales donde se guardan multivalores, evitando que este tipo de relaciones múltiples sean aisladas semanticamente. Para cumplir esta quinta forma normal requiere que la tabla este en la Cuarta forma Normal relacionada por claves candidatas.

Ejemplo: 

Es necesaria su aplicación para realizar diferentes tipos de operaciones al no tener restricciones y hacer uso de combinaciones validas. 


Forma Normal de Dominio / Clave

Permite especificar el tipo de restricciones que rigen en un atributo, si cada restricción es una consecuencia lógica de la definición de claves y dominios donde esta es una descripción de los valores permitidos para un atributo.

Elementos 

- Restricciones
- Claves
- Dominios

Álgebra Relacional


DEFINICIÓN

Se denomina un conjunto donde varias operaciones pueden manipular datos que estén previamente agrupados como las relaciones, a su vez se representa como una consulta intermedia que se realiza a una base de datos para ello es necesario aplicarse a una tabla donde su resultado sera una nueva tabla.

OPERADORES 

Para realizar las distintas operaciones en los conjuntos es necesario establecer los siguientes operadores.

  1. Comparación (< , > , <= , >= , < , >)
  2. Conjunción ( ^ )
  3. Negación ( ∨ )
  4. Disyunción ( ¬ )

OPERACIONES UNITARIAS

Estas operaciones se dividen en tres temas, seleccionar, proyectar y eliminar duplicados.

Seleccionar.- Permite seleccionar los valores de ciertas tuplas, su selección se la realiza en filas completas. 

Ejemplo:
Formula ---> condición(R)
EN SQL --->  SELECT * FROM R WHERE



Proyectar.- Permite seleccionar los valores de atributos que posea las tuplas de una relación, ademas realiza una selección completa de columnas.

Ejemplo:

                                                Formula ---> a1,a2,a3.....,an(R)
                                             EN SQL --->  a1,a2,a3.....,an * FROM R 

Composición.- Se compone de ambas operaciones mencionadas anteriormente como seleccionar y proyectar, sin embargo hay que tomar en cuenta como se realiza la operación para dar origen a una nueva tabla.

Ejemplo:
                               Formula ---> a1,a2,a3.....,an(condición(R))
   EN SQL ---> SELECT  a1,a2,a3.....,an  FROM R WHERE condición
Eliminar Duplicados.- Utilizado para eliminar tuplas duplicadas en una relación.

Ejemplo:

                                  Formula --->           
   EN SQL ---> SELECT  DISTINCT * FROM R




OPERACIONES BINARIAS


PRODUCTO CARTESIANO ( X )


La operación binaria es aquella de la cual se obtiene los atributos de dos tablas tomadas con anterioridad.

Ejemplo:         

                                                  Formula --->    R1 X R2



   EN SQL ---> SELECT  * FROM R1,R2

Para seleccionar combinaciones correctas en SQL 

Operaciones de Conjuntos

Estas se realizan cuando existen dos o mas relaciones donde sus elementos sean compatibles


Unión.- Permite el retorno de tuplas cuando esten asociadas entre una o ambas relaciones, su resultado es la suma de las relaciones entre la tupla uno y otra tupla.



Intersección.- El resultado de esta operación indica la entrega total de tuplas de una de las relaciones.


Diferencia.- El resultado es la cantidad de tuplas que se encuentren en la primera sin embargo no se obtiene las tuplas de la segunda, su resultado es la entrega total de tuplas de la primera relación.


Join (Reunión).- Permite la combinación completa de un producto cartesiano. Existen diferentes tipos de motores de base de datos para utilizar el join.

Left Join.- Permite la Eliminación de datos y los cambia por valores nulos de la tabla desde la izquierda.

Right Join.- Permite la Eliminación de datos y los cambia por valores nulos de la tabla desde la derecha.