domingo, 18 de septiembre de 2011

Base de Datos de Red

En este modelo las entidades se representan como nodos y sus relaciones son las líneas que los unen. En esta estructura cualquier componente puede relacionarse con cualquier otro. 


Estructuras de una base de datos de red:
Las estructuras para estas bases de datos contienen dos componentes básicos:
-          Celdas: Campos del registro.
-          Lineas: Enlaces entre registros.
Existen dos tipos de estructuras; cuando el enlace no tiene atributos y cuando si tiene atributos.
      1.       Cuando el enlace no tiene atributos descriptivos:




          1.1   Caso 1: Cuando presenta una cardinalidad de uno a uno.


          1.2   Caso 2: Cuando presenta una cardinalidad de muchos a uno.


          1.3   Caso 3: Cuando presenta una cardinalidad de muchos a muchos.


      2.       Cuando el enlace tiene atributos descriptivos.


           2.1   Caso 1: Cuando presenta una cardinalidad de uno a uno.


           2.2   Caso 2: Cuando presenta una cardinalidad de muchos a uno.


           2.3   Caso 3: Cuando presenta una cardinalidad de muchos a muchos.


     
Este modelo de base de datos no posee restricciones; ya que, a diferencia de las bases de datos jerarquicas, un elemento de la base de datos de red puede tener muchos padres se hace mas fácil la manipulación de los elementos.

La tranformacion de una Entidad Relacion a un modelo de base de datos se realiza como nos muestra el grafico.
                                                             Entidad Relación
Base de datos de red


Para programar una base de datos de red se necesitan primero las atributos los cuales se usaran. Acontinuación, se especifica mediante un ejemplo:

type materia = record
     clave: string[7]
     nombreM: string[25]
     cred: string[2];
     end;
type alumno = record
     nombre: string[30];
     control: string[8];
     materia: Materia; {Enlace a materia}
     end


      

domingo, 11 de septiembre de 2011

Cuarta Forma Normal

La cuarta forma normal consiste en resolver las dependencias multivalores que contenga nuestra modelación de la base de datos. Estas dependencias multivalores se dan cuando la clave primaria de una tabla esta contiene un atributo, pero la clave primaria mas de un campo por ese atributo. Esto quiere decir que por cada clave primaria hay muchos atributos pero cada uno de esos atributos tiene solo una clave primaria.

Acontinucion presentaremos 4 ejemplos para poder explicar mejor la realizacion de esta forma normal.

Ejemplo 1:
En esta tabla vizualizamos que los diferentes restaurantes de pizza ofrecen diferentes tipos de pizza en diferentes areas de envio.



Podemos ver que Restaurante tiene una relacion de muchos a muchos tanto con Variedad de Pizza como Area de Envio. Por lo tanto por cada dependencia multivaluada se debe realizar una tabla.










Ejemplo 2:
En este segundo ejemplo tenemos una tabla con la clave del alumno y la especilidad de que pertenece(una o mas de una), como claves primarias de la tabla. El atributo curso corresponde a actividades que el alumno realiza(Puede ser mas de una por especialidad).


Clave posee una dependencia multivalor con el curso, por lo tanto se crea una tabla Clave-Curso.









Ejemplo 3:
La tabla que vemos acontinuacion representa una base de datos de un banco donde un tenemos el nombre del cliente, el tipo de credito que tiene y la direccion del cliente .


Al cliente tener mas de una direccion y mas de un credito, ocurre una dependencia multivalor entre credito y direccion.






Ejemplo 4:
En este ultimo ejemplo tenemos una tabla con el N° de curso el profesor que dicta el curso y los materiales pedidos por cada profesor para el curso que dictan.


Encontramos en esta tabla que entre el curso y el profesor existe una relacion de muchos a muchos y por lo tanto debemos resolver este multivalor.




Tercera Forma Normal

Una tabla se encuentra en tercera forma normal, cuando cumple con las condiciones de la segunda forma normal y además todos los atributos que no pertenezcan a la clave primaria no tengan dependencia transitiva. Una dependencia transitiva ocurre cuando un atributo no solo depende de las claves primarias, sino que también depende de un atributo no primario. Lo que se hace en este caso es realizar otra tabla que contenga estos dos o mas atributos para que así todas las tablas de nuestro modelo no posean dependencia transitiva entre los atributos no claves. Esta forma normal no soluciona las dependencias multivalores que se puedan mostrar en la modelación de una base de datos.

Acontinucion les daremos ejempos de como aplicar la tercera forma normal en una normalizacion de base de datos:

Ejemplo 1:
En esta tabla podemos ver el historial de los campeones de cada torneo realizado. La tabla presenta como clave primaria el torneo disputado y año en que se jugo el torneo; y como atributos posee el nombre del ganador del torneo y su fecha de nacimiento.





Podemos observar que la fecha de nacimiento depende del jugador que gano el campeonato, por lo que se encuentra en dependencia transitiva. Para resolver esta dependencia debemos separa en otra tabla laa fecha de nacimiento y el jugador.



Ejemplo 2:
En el segundo ejemplo tenemos una tabla de un centro educativo donde tenemos por clave primaria a el codigo identificador de la clase, entre sus atributos tenemos al profesor que dicta el curso y la oficina del profesor del curso.


Vemos que un profesor solo tiene una oficina, por lo tanto profesor y oficina presentan una dependencia transitiva; la cual podemos resolver creando una tabla Profesor-Oficina.











Ejemplo 3:
En este ejemplo tenemos los codigos de los ciudadanos y sus direcciones. Siendo la clave primaria el Numuero IdentiFicador.



En esta tabla podemos ver que tanto la direccion, el poblado y la provincia dependen del Codigo Postal, por lo que se encuentran en dependencia transitiva.



Ejemplo 4:
En este ultimo ejemplo tenemos una tabla de los empleados de una empresa donde estan idenficados por el numero de seguro social(Clave Primaria), ademas tienen su nombre su puesto de trabajo y el salario que ganan.




Como podemos ver el salario de cada persona depende del puesto donde trabaja por lo tanto existe una dependencia transitiva en esta tabla por lo cual tenemos que hacer una tabla con el puesto y el salario.

Segunda Forma Normal


En la segunda forma normal, nos debemos asegurar que cada tabla que tengamos esté en dependencia funcional completa; esto quiere decir que cada atributo que no pertenezca a la clave primaria dependa de la o las claves primarias de aquella tabla. Una tabla que esta en primera forma norma también puede cumplir con la segunda forma normal, solo tiene que satisfacer las condiciones de la segunda forma normal.
Sin embargo, la segunda forma normal falla en algunos aspectos como cuando dos o más atributos que no pertenecen a la clave primaria se encuentran en dependencia transitiva.

Acontinuacion les mostraremos unos ejemplos de como se transforma una tabla de primera forma normal hacia la segunda forma normal:

Ejemplo 1:
Se tiene una tabla con la clave primaria Empleado y Habilidad y como atributo dato a  lugar de trabajo. Pero podemos ver que un empleado puede tener mas de una habilidad pero este siempre trabajara en el mismo lugar de trabajo.





Para que esta tabla se encuentre en dependencia funcional completa debemos de separar el lugar de trabajo, ya que este no depende de la habilidad, solo del empleado. Por lo tanto, se separa en otra tabla el lugar de trabajo.











Ejemplo 2:
En este ejemplo podemos ver la tabla sobre modelos de cepillos de dientes en la cual la clave primaria es Nombre Completo del Modelo. Pero uno de los atributos dato de esta tabla no esta en dependencia funcional con la clave primaria.


Para poder corregir este error tenemos que sacar este atributo a otra tabla en la cual se encuentre en dependencia funcional completa.













Ejemplo 3:
El tercer ejemplo nos muestra una base de datos de cuidadanos y sus domicilios especificados en direccion, poblado y provincia. Teniendo como clave primaria a NIF(Numero IdentiFicador) y el Codigo Postal no todos los atributos dependen de esta clave. 


Por lo tanto, debemos de separar Nom y Ape que no dependen del Codigo Postal.








Ejemplo 4: 
En este ultimo ejemplo mostrado vemos una tabla donde los atributos dato(Nombre y Promedio) no dependen funcionalmente de la clave primaria(ID-Estudiante e ID-Clase).


Por lo que utilizamos la segunda forma normal para que el modelado se encuentre en dependencia funcional completa.





sábado, 10 de septiembre de 2011

Primera Forma Normal

Los datos no formalizados están organizados de una manera en la cual pueden estar algunos duplicados mostrando atributos repetidos o mas de un atributo en un solo campo de la tabla; además de no estar agrupados por claves que identifiquen lo que representa la una tabla.
Mientras que en la primera forma normal nos aseguramos de que no existan tuplas duplicadas, que todos los atributos de cada tupla tengan un solo valor. Y lo más importante, cada tabla que se encuentre en la primera forma normal, sus valores deben ser atómicos; es decir, deben cumplir una relación definida con la clave primaria.

Aqui mostraremos unos ejemplos de como se pasa de la forma global en que se pueden encontrar los datos a la primera forma normal:
Ejemplo 1:
En este ejemplo podemos ver en la primera tabla todos los datos de los clientes de una empresa, en donde visualizamos el codigo de cliente, el nombre y apellido del cliente asi como su telefono.



Podemos ver que un cliente tiene dos telefonos y se le estan colocando en la mismo campo lo cual no es posible en una implementacion de base de datos, por lo cual debemos separar en otra tabla el codigo de cliente con el telefono como se muestra a continuacion:









Ejemplo 2:
En el siguiente ejemplo tenemos los datos de clientes y podemos darnos cuenta que cuando un cliente tiene dos correos se le agrega dos veces en la tabla.



Para solucionar este problema podemos realizar una tabla con el codigo del cliente y el correo electronico como se muestra acontinucion:










Ejemplo 3:
En este ejemplo visualizamos la tabla de ciudadanos con sus respectivas direcciones, provincias y poblados, si un ciudadano tiene 2 o mas direcciones ocurriria lo mostrado esta tabla:


Para poder optimizar esta tabla y pasarla a la primera forma normal tendriamos que crear otra tabla con las direcciones de los cuidadanos.


Ejemplo 4:
En este ejemplo, utilizamos una base de datos no normalizada de una empresa donde nos muestra los datos de sus empleados con sus respectivos departementos donde trabajan.


En la tabla superior podemos ver que un trabajador puede estar en mas de un departamento por lo cual tendremos que aplicar la primera forma normal para optimizar el analisis de la base de datos. Para realizar esto, debemos crear una tabla con el codigo del trabajador y el o los departamentos a los que pertenece.