Está en la página 1de 40

DISEO Y GESTION DE BASES DE DATOS Diego Fernando Camacho Marin

diegokamacho@yahoo.es

DISEO Y GESTION DE BASES DE DATOS


Una base de datos o banco de datos (en ingls: database) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayora por documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y debido al desarrollo tecnolgico de campos como la informtica y la electrnica, la mayora de las bases de datos estn en formato digital (electrnico), que ofrece un amplio rango de soluciones al problema de almacenar datos. Existen unos programas denominados sistemas gestores de bases de datos, abreviado SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rpida y estructurada. Las propiedades de estos SGBD, as como su utilizacin y administracin, se estudian dentro del mbito de la informtica. Las aplicaciones ms usuales son para la gestin de empresas e instituciones pblicas. Tambin son ampliamente utilizadas en entornos cientficos con el objeto de almacenar la informacin experimental.
DIEGO F. CAMACHO M. diegokamacho@yahoo.es

DISEO Y GESTION DE BASES DE DATOS Tipos de bases de datos Segn la variabilidad de los datos almacenados Bases de datos estticas Bases de datos dinmicas Segn el contenido Bases de datos bibliogrficas Bases de datos de texto completo Directorios Bases de datos o "bibliotecas" de informacin Biolgica Modelos de bases de datos Bases de datos jerrquicas Base de datos de red Base de datos relacional Bases de datos multidimensionales Bases de datos orientadas a objetos Bases de datos documentales Base de datos deductivas Gestin de bases de datos distribuida

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

DISEO Y GESTION DE BASES DE DATOS

Base de datos: coleccin de datos persistentes, relacionados y estructurados. Un sistema de gestin de bases de datos (SGBD) es una aplicacin que permite trabajar con bases de datos: Definir la informacin Insertar informacin Eliminar informacin Consultar la informacin Ordenar la informacin Filtrar la informacin Etctera Microsoft Access, MySQL, Oracle, PostgreSQL, SQL Server, dBaseIV y Paradox de Borland, son ejemplos de sistemas de gestin de bases de datos.

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

DISEO Y GESTION DE BASES DE DATOS El dato es la unidad de informacin elemental. Los datos pueden ser de diferentes tipos: Texto: cuando en el campo vamos a introducir texto, tanto caracteres como dgitos. Tiene una longitud por defecto de 50 caracteres, siendo su longitud mxima de 255 caracteres. Memo: se utiliza para textos extensos como comentarios o explicaciones. Tiene una longitud fija de 65.535 caracteres. Numrico: para datos numricos utilizados en clculos matemticos. Fecha/Hora: para la introduccin de fechas y horas desde el ao 100 al ao 9999. Moneda: para valores de moneda y datos numricos utilizados en clculos matemticos en los que estn implicados datos que contengan entre uno y cuatro decimales. La precisin es de hasta 15 dgitos a la izquierda del separador decimal y hasta 4 dgitos a la derecha del mismo. Autonumrico: nmero secuencial (incrementado de uno a uno) nico, o nmero aleatorio que Microsoft Access asigna cada vez que se agrega un nuevo registro a una tabla. Los campos Autonumrico no se pueden actualizar.

DISEO Y GESTION DE BASES DE DATOS S/No: valores S y No, y campos que contengan uno de entre dos valores (S/No, Verdadero/Falso o Activado/desactivado). Objeto OLE: Objeto (como por ejemplo una hoja de clculo de Microsoft Excel, un documento de Microsoft Word, grficos, sonidos u otros datos binarios). Hipervnculo: Texto o combinacin de texto y nmeros almacenada como texto y utilizada como direccin de hipervnculo. Una direccin de hipervnculo puede tener hasta tres partes: Texto: el texto que aparece en el campo o control. Direccin: ruta de acceso de un archivo o pgina. Subdireccin: posicin dentro del archivo o pgina. Sugerencia: el texto que aparece como informacin sobre herramientas. Existe otra posibilidad que es la Asistente para bsquedas que crea un campo que permite elegir un valor de otra tabla o de una lista de valores mediante un cuadro de lista o un cuadro combinado. Al hacer clic en esta opcin se inicia el Asistente para bsquedas y al salir del Asistente, Microsoft Access establece el tipo de datos basndose en los valores seleccionados en l.
DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

DISEO Y GESTION DE BASES DE DATOS

Cada dato se mantiene en un campo. El conjunto de campos que describen un elemento de informacin conforman un registro. Por ejemplo, la informacin sobre una persona se mantiene en un registro cuyos campos son los datos individuales de la persona. Datos sobre una persona:

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

DISEO Y GESTION DE BASES DE DATOS Un registro es el conjunto de datos concretos para los distintos campos que describen un elemento de informacin. Los datos de cada persona se guardan en un registro. Como podemos tener informacin sobre muchas personas, podemos tener muchos registros. Todos los registros de un determinado tipo de elemento de informacin (personas) se mantienen uno detrs de otro en lo que se conoce como tabla. Una tabla es una sucesin de registros. Todos los registros de la tabla tienen los mismos campos.

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

DISEO Y GESTION DE BASES DE DATOS

NORMALIZACION
Un pobre diseo de la base de datos puede afectar una aplicacin, produciendo problemas con la redundancia, inexactitud, consistencia, y concurrencia de sus datos. La normalizacin es un proceso que sirve para reducir, si no eliminar, estos problemas con los datos. Dado que en los negocios se utiliza la Tercer Forma Normal como el modelo lgico, veremos los pasos de las 1ra, 2da, y 3ra Forma Normal.

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

DISEO Y GESTION DE BASES DE DATOS 1RA. Forma Normal La primer forma normal requiere que no existan atributos multi-valores, asi como tampoco grupo de repeticion. Un atributo multi-valor contiene ms de un valor por ese campo en cada fila. Consideremos la siguiente tabla referida a Cursos de estudiantes:

En esta tabla, el campo Curso es un campo multi-valor: no hay un valor simple para cada campo. Ahora considere este otro ejemplo:

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

DISEO Y GESTION DE BASES DE DATOS


Los campos Curso1, Curso2 y Curso3 representan grupos repetitivos. Si aplicamos los requisitos de la Primer Forma Normal el ejemplo quedaria de la siguiente manera:

En los primeros 2 ejemplos, seleccionar un estudiante inscripto en algun curso es una tarea dificultosa. Digamos que quiero saber lo siguiente: Dgame todos los estudiantes inscriptos en el curso 3100. En el primer diseo, Ud. deber tomar el campo Curso y analizarlo de alguna forma "por dentro" para saber si cumple o no con los requisitos de la busqueda. En el segundo diseo, deber analizar 3 campos por separado para saber si el alumno est inscripto en el curso 3100. En el tercer diseo, la consulta es tan simple como : Select Nro de Registro from Cursos where Curso = 3100
DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

DISEO Y GESTION DE BASES DE DATOS

2DA.Forma Normal La Segunda Forma Normal requiere que cualquier campo no integrante de la Clave Primaria, debera ser totalmente dependiente de la clave. Por ejemplo, considere la siguiente tabla de Cursos, donde Nro de Registro y Curso componen la clave primaria.

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

DISEO Y GESTION DE BASES DE DATOS El Nombre del estudiante no depende de toda la clave primaria, sino solo del Nro de Registro. El Depto. es un campo que solo depende del Curso. En consecuencia, estos datos deberan ser divididos en 3 tablas separadas, a saber:

En este ejemplo, el campo Nota es el unico dependiente de la clave primaria completa.


DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

DISEO Y GESTION DE BASES DE DATOS

3RA. Forma Normal La tercera forma normal prohbe dependencias transitivas. Una dependencia transitiva existe cuando cualquier atributo en una tabla es dependiente de otro campo y ste es quien depende de la clave primaria. Considere el siguiente ejemplo de una tabla de Cursos:

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

DISEO Y GESTION DE BASES DE DATOS

El campo Nombre de Profesor depende de Nro de Profesor, el cual es el campo que realmente depende de la clave primaria. Por ello, el campo Nombre Profesor debe ser quitado y colocado en otra tabla:

Dividiendo los datos en 2 tablas, la dependencia transitiva es removida.

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

DISEO Y GESTION DE BASES DE DATOS

NORMALIZACION
Un pobre diseo de la base de datos puede afectar una aplicacin, produciendo problemas con la redundancia, inexactitud, consistencia, y concurrencia de sus datos. La normalizacin es un proceso que sirve para reducir, si no eliminar, estos problemas con los datos. Dado que en los negocios se utiliza la Tercer Forma Normal como el modelo lgico, veremos los pasos de las 1ra, 2da, y 3ra Forma Normal.

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

DISEO Y GESTION DE BASES DE DATOS 1RA. Forma Normal La primer forma normal requiere que no existan atributos multi-valores, asi como tampoco grupo de repeticion. Un atributo multi-valor contiene ms de un valor por ese campo en cada fila. Consideremos la siguiente tabla referida a Cursos de estudiantes:

En esta tabla, el campo Curso es un campo multi-valor: no hay un valor simple para cada campo. Ahora considere este otro ejemplo:

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

DISEO Y GESTION DE BASES DE DATOS


Los campos Curso1, Curso2 y Curso3 representan grupos repetitivos. Si aplicamos los requisitos de la Primer Forma Normal el ejemplo quedaria de la siguiente manera:

En los primeros 2 ejemplos, seleccionar un estudiante inscripto en algun curso es una tarea dificultosa. Digamos que quiero saber lo siguiente: Dgame todos los estudiantes inscriptos en el curso 3100. En el primer diseo, Ud. deber tomar el campo Curso y analizarlo de alguna forma "por dentro" para saber si cumple o no con los requisitos de la busqueda. En el segundo diseo, deber analizar 3 campos por separado para saber si el alumno est inscripto en el curso 3100. En el tercer diseo, la consulta es tan simple como : Select Nro de Registro from Cursos where Curso = 3100
DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

DISEO Y GESTION DE BASES DE DATOS

2DA.Forma Normal La Segunda Forma Normal requiere que cualquier campo no integrante de la Clave Primaria, debera ser totalmente dependiente de la clave. Por ejemplo, considere la siguiente tabla de Cursos, donde Nro de Registro y Curso componen la clave primaria.

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

DISEO Y GESTION DE BASES DE DATOS El Nombre del estudiante no depende de toda la clave primaria, sino solo del Nro de Registro. El Depto. es un campo que solo depende del Curso. En consecuencia, estos datos deberan ser divididos en 3 tablas separadas, a saber:

En este ejemplo, el campo Nota es el unico dependiente de la clave primaria completa.


DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

DISEO Y GESTION DE BASES DE DATOS

3RA. Forma Normal La tercera forma normal prohbe dependencias transitivas. Una dependencia transitiva existe cuando cualquier atributo en una tabla es dependiente de otro campo y ste es quien depende de la clave primaria. Considere el siguiente ejemplo de una tabla de Cursos:

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

DISEO Y GESTION DE BASES DE DATOS

El campo Nombre de Profesor depende de Nro de Profesor, el cual es el campo que realmente depende de la clave primaria. Por ello, el campo Nombre Profesor debe ser quitado y colocado en otra tabla:

Dividiendo los datos en 2 tablas, la dependencia transitiva es removida.

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

OTROS EJEMPLOS DE NORMALIZACION

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

Normalizacin
La normalizacin es el proceso de organizar los datos en una base de datos. Esto incluye la creacin de tablas y que establece relaciones entre aquellas tablas segn reglas diseadas para proteger los datos y hacer la base de datos que es ms flexible al eliminar redundancia y dependencia incoherente. Los datos redundantes desperdician espacio en disco y crean problemas de mantenimiento. Si es necesario cambiar datos que aparecen en ms de un sitio, el cambio deber ser exactamente igual en todos estos sitios. Por ejemplo, un cambio de direccin de un cliente es mucho ms fcil de implementar si los datos slo se almacenan en la tabla Clientes y en ningn otro lugar de la base de datos.
DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

Normalizacin
Qu es una "dependencia incoherente"? Aunque para un usuario puede resultar intuitivo buscar la direccin de un determinado cliente en la tabla Clientes, es posible que no tenga sentido buscar en esa misma tabla el sueldo del empleado que atiende a dicho cliente. El salario del empleado est relacionado con el empleado (es decir, existe una dependencia entre ambos), por lo que debe moverse a la tabla Empleados. Las dependencias incoherentes pueden dificultar el acceso a los datos, ya que la ruta de acceso a los mismos puede estar rota o no encontrarse. Existen unas cuantas reglas para la normalizacin de bases de datos. Cada regla se denomina "forma normal" Si se cumple la primera regla, se dice que la base de datos est en la "primera forma normal" Si se cumplen las tres primeras reglas, se considera que la base de datos est en la "tercera forma normal" Aunque existen otros niveles de normalizacin, se considera que la tercera forma normal es el mximo nivel necesario para la mayora de las aplicaciones.
DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

Primera forma normal


Eliminar grupos repetidos en tablas individuales. Crear una tabla diferente para cada conjunto de datos relacionados. Identificar cada conjunto de datos relacionados mediante una clave principal. No utilizar varios campos en una nica tabla para almacenar datos similares.

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

Ejemplo
Artculo Prov1 Prov2 Prov3

Maz Arroz Cdigo 145 154

Casita

Granja -

Proveedor Casita Granja Cod.Prov 154 145

Artculo Maz Arroz

En lugar de hacer varios campos para los proveedores en una sola tabla, hacemos otra tabla con el campo proveedor y colocamos varios registros para los proveedores (tabla de en medio). Sustituimos la tabla superior de la izquierda por la tabla inferior.
DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

Segunda forma normal


Crear tablas independientes para conjuntos de valores que se apliquen a varios registros. Relacionar dichas tablas mediante una clave externa. Los registros tan slo deben depender de la clave principal de una tabla (si es necesario, puede ser una clave compuesta).

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

Ejemplo
piense en la direccin de un cliente en un sistema de contabilidad. La direccin es necesitada por la tabla Clientes pero por las tablas Pedidos, Facturas y Cuentas a cobrar tambin. En lugar de almacenar la direccin del cliente como una entrada diferente en cada tabla, almacnela en un nico lugar, ya sea en la tabla Clientes o en una tabla de direcciones independiente.

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

Tercera forma normal


Eliminar los campos que no dependan de la clave. Los valores de un registro que no forman parte de la clave de dicho registro no pertenecen a esa tabla. En general, siempre que el contenido de un grupo de campos se puede aplicar a ms de un registro de la tabla, debe tener en cuenta la posibilidad de incluir dichos campos en una tabla independiente. EXCEPCIN: No es prctico siempre cumplir la forma tercera normal tericamente conveniente. Si tiene una tabla Clientes y desea eliminar todas las posibles dependencias entre campos, debe crear tablas independientes para ciudades, cdigos postales, representantes de ventas, clases de clientes y cualquier otro factor que pueda aparecer duplicado en varios registros. En teora, la normalizacin merece la pena. Sin embargo, la utilizacin de un gran nmero de tablas pequeas puede perjudicar el rendimiento o superar la capacidad de memoria y de archivos abiertos del sistema.
DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

Otras formas normales


Otras formas de normalizacin Existe una cuarta forma normal, llamada tambin Forma normal de Boyce Codd (BCNF), y una quinta forma normal, pero pocas veces se consideran prcticas en un diseo. La omisin de estas reglas puede dar como resultado una tabla que no sea perfecta, pero no debera afectar a su funcionamiento

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

Haga esta tabla en Access para normalizarla. La tabla se llama alumnos

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

Primera forma normal: Ningn grupo repetido


Como cada alumno se encuentra inscrito en varios cursos, estos deben aparecer en una tabla independiente. Los campos curso1, curso2, curso3 de los registros anteriores indican que existe un problema en el diseo.

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

Segunda forma Normal: Elimine datos redundantes


Curso no depende del carn (que ser nuestra clave principal) por lo que la tabla no esta en la segunda forma normal. Debemos separar la informacin de los cursos-alumnos a otra tabla. Haremos la tabla asignaciones.

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

Asignaciones

Tabla alumnos luego del cambio

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

Tercera forma Normal: Eliminar datos que no dependen de la clave


De el ltimo ejemplo la oficina del asesor depende funcionalmente del atributo asesor. La solucin es mover dicho atributo de la tabla alumnos a la tabla personal, como se muestra a continuacin.

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

Tabla Alumno

Tabla Personal

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

Normalizada

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

Hemos llegado finalmente a una base de datos bien organizada en la cual podemos actualizar o cambiar los datos almacenados fcilmente y de una manera ordenada sin alterar los dems registros.

DIEGO F. CAMACHO M. diegokamacho@yahoo.es diegokamacho@gmail.com

También podría gustarte