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.


               

Subclases


Las subclases son utilizadas particularmente cuando una entidades esta asociada a un grupo de instancias con algunas particularidades.


Especialización.- La utilización permite difinir a las diversas clases con una superclase, para ello se denomina a este proceso especialización, se inicia cuando se divide subentidades para detallar diversos atributos en si mismas. Existen diversos tipos de especialización como relaciones que permiten su relación con otras entidades, atributos específicos los cuales poseen varios atributos diferenciadores.

La especialización debe ser tomada de forma en que los atributos nulos no sean demasiado, realizar el problema de forma razonada para su fácil adaptación así como una cantidad de entidades suficientes.
Tipos de Unión, no cuenta con atributos propios y heredados por lo cual necesita de las superclases y que intervengan una de ellas a la vez.

Generalización.- Este tipo de relación existe en un nivel mas alto, la superclase y uno en conjuntos de entidades débiles, la subclase. Este tipo de generalización permite obtener las entidades del nivel mas bajo hereden de entidades de alto nivel.



Es necesario representar al modelo de forma adecuada, evitar la redundancia de datos para optimizar el modelo de manera correcta, utilizar la simplicidad de entidades, solo aparecerá un ciclo cuando este sea muy necesario. Las entidades pueden eliminarse basándose en su tipo de relación 1 a 1.

viernes, 25 de marzo de 2016

Diagramas - Representación

Diagrama de Entidad-Relación

Para un mejor entendimiento de este tema es necesario establecer varios símbolos y palabras claves los cuales ayudaran a la realización de los diversos modelados para una base de datos.



Atributos: Son aquellas propiedades de entidades en una serie de conjuntos de entidades, para su representación se utilizan óvalos.
Entidades: Son aquellos objetos que existe, o pueden ser distinguibles de algún tipo instancia, para ello se representan en rectángulos y objetos reales.
Relaciones: Denominadas aquellas conexiones entre varias entidades, estas se representan mediante rombos los cuales indican enlaces.
Lineas: Permiten enlazar atributos con entidades o viceversa.

Entidades




Entidades Débiles.- Son aquellas entidades que no contienen atributos lo suficientemente fuertes para formar una clave primaria, para ello necesita de otra para existir.
Atributos Derivados.- Son aquellos valores que pueden derivarse de otros atributos o de entidades.
Atributos Multivalorados.- Son aquellos que pueden contener varios valores para una misma entidad.
Atributos Claves.- Son aquellas claves candidatas, las cuales sirven para identificar una ocurrencia de una entidad.



Tipos de Relaciones

Recursiva.- Aquella entidad que se puede relacionar consigo misma.



Atributos.- Son aquellas que pueden tener atributos asociados y se caracterizan por representar atributos de las entidades.
Ternaria.- Son aquellas relaciones donde se pueden relacionar con tres entidades.

Para disminuir el grado de una relación es necesario realizar un reemplazo de una relación binaria por una entidad extra.



Restricciones


Cardinalidad.- Dependiendo del tipo de relación sera necesario la participación de varios conjuntos de entidades, esta permite representar el numero de entidades con las cuales se puede relacionar. 
Uno a Uno(1:1).- Donde se relaciona un registro de la entidad A con un solo registro de una entidad B.
Uno a Varios(1:N).- Donde se relaciona un registro de la entidad A con cero o varios registros de una entidad B.
Varios a Uno(N:1).- Donde una relacion con cero o muchos registros de la entidad A a un registro de una entidad de B.
Varios a Varios(N:M).- Donde una entidad de A puede verse relacionada con 0 o muchas entidades a B.

martes, 22 de marzo de 2016

Lenguajes de Base de Datos

LENGUAJES SQL
Definición: Un lenguaje de programación fue diseñado con el afán de ser utilizado en diversos procesos para la construcción y codificación de aplicaciones donde intervienen las bases de datos. Un lenguaje SQL se divide en áreas o niveles.

Áreas: Se utiliza para la definición, manipulación y vistas de los datos.
Niveles: Los cuales a su vez su subdividen en alto nivel los no procedimientos y en bajo nivel los procedimientos


Tipos de Lenguajes


Lenguaje DDL: Este tipo de lenguaje se utiliza para establecer estructuras de datos, como ejemplos se encuentra Alter, drop y Create.
Lenguaje DML: Permite usar las cuatro operaciones de una base de datos, como select, insert, delete y update.
Lenguaje DCL: Este lenguaje incluye una serie de comandos SQL, la cual permite el control el acceso a la base de datos.
Lenguaje de Almacenamiento: Usado para elegir un esquema interno.


Interfaz de Usuario


Es aquel medio el cual permite interactuar entre la maquina, dispositivo u objeto hacia un usuario final, el uso de esta permite que sea realmente fácil.


Modelos de Datos

Son aquellas herramientas conceptuales, donde permiten describir datos, ubicar relaciones ademas de establecer ciertas restricciones de consistencia. La implementación de los diversos modelos como:


Modelo ER o Entidad Relación.- Consta de una ciertas colecciones de objetos a estas denominadas entidades y las relaciones que estas tienen para realizar el diseño y posterior implementación de una base de datos.




Modelo Relacional.- Dicho modelo se caracteriza por tener un nivel de abstracción menor al modelo ER, sin embargo este modelo utiliza varias tablas donde se representan varios datos y las relaciones entre estos, estas tablas se componen de columnas que contienen un nombre único.


Modelo Orientado a Objetos.- Es muy similar al modelo E-R, ya que se lo ve de manera extendida con diversas nociones, métodos y encapsulacion de los objetos.


Modelo Semiestructurado.- Este modelo permite dar una especificación mas completa a los datos ya que estos pueden ser individuales del mismo y a su vez contener diferentes conjuntos como atributos.


Modelo de Red.- Sus datos son derivados del modelo relacional, sin embargo el modelado de dichos datos era complicado por su tipo de implementación subyacente.

Biografía:

Wikipedia. (14 de Marzo de 2016). Bases de Datos. Obtenido de:https://es.wikipedia.org/wiki/Base_de_datos