lunes, 21 de diciembre de 2015

NORMALIZACION DE BASE DE DATOS


NORMALIZACIÓN 
El proceso de normalización de bases de datos consiste en designar y aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.
Las bases de datos relacionales se normalizan para:
·         Evitar la redundancia de los datos.
·         Disminuir problemas de actualización de los datos en las tablas.
·         Proteger la integridad de los datos.
En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla bidimensional sea considerada como una relación tiene cumplir con algunas restricciones:
·         Cada columna debe tener su nombre único.
·         No puede haber dos filas iguales. No se permiten los duplicados.
·         Todos los datos en una columna deben ser del mismo tipo.
Terminología equivalente
o    relación = tabla o archivo
o    tupla = registro, fila o renglón
o    atributo = campo o columna
o    base de datos = banco de datos
o    dependencia multivaluada = dependencia multivalor
o    clave = llave
o    clave primaria = superclave
o    clave ajena = clave extranjera o clave foránea
o    RDBMS = del inglés Relational Data Base Manager System que significa, Sistema Gestor de Base de Datos Relacionales







Tercera Forma Normal (3FN)


Tercera Forma Normal (3FN)

La Tercera Forma Normal (3FN), consiste en que ningún atributo dato. que depende de la PK, dependa de otro atributo dato. Es decir, no debe tener DEPENDENCIA TRANSITIVA. Hacemos la siguiente analogía.

Para que los Datos estén en 3FN, deben estar en 2FN y NO DEBEN tener Dependencia Transitiva DT.

X ---> Y --->Z

Ejemplo 1:

En este cuadro, tendríamos como Clave Primaria al C_Evento y los demás atributos dependen de la PK. Sin embargo, vemos que la Dirección del local T_Dirección depende del nombre del Local donde se realiza el evento. Para resolver este problema y tener un mejor almacenamiento de datos, la 3FN hace que creemos una 2da tabla haciendo PK al Nombre del local teniendo como atributo dato a la Dirección.



Ejemplo 2:

(N_Torneo) ---> (#_Año, N_Ganador, D_Nacimiento_Ganador).

Con la 3FN quedaría así:


(N_Ganador) ---> (D_Nacimiento_Ganador).

Ejemplo 3:

(C_Personal) ---> (N_Personal, D_Nacimiento, F_Mayor_Edad_Personal).


(D_Nacimiento_Personal) ---> (F_Mayor_Edad_Personal).

Ejemplo 4:


(#_Boleto) ---> (N_Cliente, N_Empresa, D_Dirección_Empresa, $_Precio).

(#_Boleto) ---> (N_Cliente, N_Empresa, $_Precio).

(N_Empresa) ---> (D_Dirección_Empresa).
Fallas en la 3FN

La falla que existe en la 3FN es que no se aplica por creer que los atributos dato se encuentran en la 4FN, la de multivalor.

Error: (C_Alumno) ---> (N_Alumno, N_Curso1, N_Curso2, N_Curso3).

(C_Alumno) ---> (N_Curso1, N_Curso2, N_Curso3).

La Segunda Forma Normal (2FN)


La Segunda Forma Normal (2FN)


La regla de la Segunda Forma Normal (2FN) establece que todas las dependencias parciales se deben eliminar y separar dentro de sus propias tablas. Una dependencia parcial es un término que describe a aquellos datos que no dependen de la clave de la tabla para identificarlos. 

Una de las mayores desventajas de la normalización es el tiempo que lleva hacerlo. La mayoría de la gente está demasiado ocupada, y emplear tiempo para asegurarse de que sus datos están normalizados cuando todo funciona más o menos bien, parece ser un desperdicio de tiempo. Pero no es así. Usted tendrá que emplear más tiempo arreglando una base de datos no normalizada que el que emplearía en una normalizada. 

Al haber alcanzado la Segunda Forma Normal, usted puede disfrutar de algunas de las ventajas de las bases de datos relacionales, por ejemplo:

  • Puede añadir nuevas columnas a una tabla sin afectar a las demás tablas. 
  • Lo mismo aplica para las otras tablas.
  • Alcanzar este nivel de normalización permite que los datos se acomoden de una manera natural dentro de los límites esperados. 
Ejemplos:

 


Como ya habíamos utilizado este ejemplo en la entrada anterior, ahora podemos utilizar la 2FN para poder administrar mejor los datos.


 



Esto denota la diferencia que existe entre la 1FN que incluía los datos del lector,en la tabla Libro sin que exista dependencia de código entre ellos.

Otro Ejemplo:


 



El primary key de la tabla alumnos es el N° de DNI por lo que en tabla asistencia para vincular al alumno con la asistencia, solo se necesitaría el N° de  DNI.


Ejemplos de Anomalias 2FN:

                                                  Ganadores del torneo

Torneo
Año
Ganador
Fecha de nacimiento del ganador
Des Moines Masters
1998
Chip Masterson
14 de marzo de 1977
Indiana Invitational
1998
Al Fredrickson
21 de julio de 1975
Cleveland Open
1999
Bob Albertson
28 de septiembre de 1968
Des Moines Masters
1999
Al Fredrickson
21 de julio de 1975
Indiana Invitational
1999
Chip Masterson
14 de marzo de 1977


Aunque el Ganador y la Fecha de nacimiento del ganador están determinadas por una clave completa {Torneo, Año} y no son partes de ella, particularmente las combinaciones Ganador / Fecha de nacimiento del ganador son mostradas repetidamente en múltiples registros. Este problema es tratado por la tercera forma normal (3NF).

Primera Forma Normal en Bases de Datos (1FN)

Primera Forma Normal en Bases de Datos (1FN)

El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.
Las bases de datos relacionales se normalizan para:
  • Evitar la redundancia de los datos.
  • Evitar problemas de actualización de los datos en las tablas.
  • Proteger la integridad de los datos.
La primera forma normal, requiere que los datos sean atómicos. En otras palabras, la 1FN prohíbe a un campo contener más de un valor de su dominio de columna. También exige que todas las tablas deben tener una clave primaria. Adicionalmente, indica que una tabla no debe tener atributos que acepten valores nulos.

Cuando no existe normalización, se presentan anomalías en la base de datos. Que ocasionan problemas al momento de insertar, modificar o eliminar datos. 

Ejemplos:


  • Multiples valores:
 La forma correcta sería:


  • Redundancia de datos:
 La forma correcta de representar la tabla sería:

  • Columnas que permiten valores nulos:


La forma correcta de representar esta tabla seria como en el ejemplo anterior


  • Tabla sin llave principal:
La forma correcta sería agregando una llave principal

martes, 15 de diciembre de 2015

EL ADMINISTRADOR DE B.D

EL ADMINISTRADOR DE B.D

EL ADMINISTRADOR DE B.D

DBA es también una abreviatura en inglés para “hacer negocios como” (doing business as), un término usado a veces en la escritura de negocios y legal. dBA es una abreviatura de decibelios con ponderación.

METODOLOGIAS ESTRUCTURADAS

METODOLOGIAS ESTRUCTURADAS

METODOLOGIAS ESTRUCTURADAS
En definitiva la metodología de desarrollo lo que pretende es resolver un problema o necesidad, y para
ello parte de la petición del cliente y con sucesivas fases obtiene una solución informática.
Ya vimos que en las metodologías estructuradas se realiza una aproximación a la resolución del
problema descendente. Es decir, se pasa de una visión más general del problema con un nivel de
abstracción alto (cercano a las personas), a un nivel de abstracción más bajo (cercano a la máquina).
Para ello, estas metodologías proponen la creación de modelos que representen los procesos o
acciones a realizar, los flujos de información y las estructuras de datos necesarias para almacenar la
información.
El modelo general que representa a un sistema informático consta de
Entrada-Proceso-Salida. Los datos se introducen en el sistema, el cual los
procesa para obtener unos resultados a la salida. Las metodologías
estructuradas utilizan este esquema para realizar su enfoque del desarrollo
del software.

Clasificación de las metodologías.

Clasificación de las metodologías.

2.- Clasificación de las metodologías.
Cuando estudiamos nuevos conceptos o ideas, siempre tendemos a establecer clasificaciones para
entender mejor su naturaleza. Clasificamos grupos de música, modelos de coches, tipos de ordenadores,
etc. En esta línea nosotros vamos a intentar clasificar las metodologías de desarrollo según el enfoque
que utilizan y su uso. Así, como podemos ver en la imagen siguiente tenemos metodología.

MODELO EN RED

MODELO EN RED

MODELO EN RED
El modelo de red es un modelo de base de datos concebido como un modo flexible de representar objetos y su relación.
Ejemplo de un Modelo de red.
El inventor original del modelo de red fue Charles Bachman, y con ello fue desarrollado en una especificación estándar publicada en 1969 por la Conferencia de Lenguajes en Sistemas de Datos (CODASYL).
El argumento principal a favor del modelo de red, en comparación con el modelo jerárquico, era que permitió un modelado más natural de relaciones entre entidades. Aunque el modelo extensamente fuera puesto en práctica y usado, esto falló en hacerse dominante por dos motivos principales. En primer lugar, la IBM decidió atenerse al modelo jerárquico con extensiones de semired en sus productos establecidos como IMS Y DL/I. En segundo lugar, eventualmente fue desplazado por el modelo relacional, que ofreció un nivel más alto, la interfaz más declarativo. Hasta principios de los años 1980 las ventajas del funcionamiento de las interfaces de bajo nivel de navegación ofrecidos por jerárquico y bases de datos de red eran persuasivas para muchos usos en gran escala, pero como el hardware se hizo más rápido, la productividad suplementaria y la flexibilidad del modelo relacional condujo a la caída en desuso gradual del modelo de red en el uso corporativo de la empresa.