Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccin........................................................................................................3 Fundamentos de bases de datos........................................................................4 Definicin de base de datos.............................................................................4 Objetivo de las bases de datos........................................................................4 Usos y aplicaciones de las BD..........................................................................5 Arquitectura de BD..........................................................................................6 Manejador de Bases de Datos DBMS...............................................................6 Usuarios de las bases de datos........................................................................7 Programadores de aplicaciones....................................................................7 Usuarios sofisticados....................................................................................7 Usuarios especializados................................................................................8 Usuarios ingenuos........................................................................................8 Componentes Funcionales de un DBMS...........................................................8 Gestor de archivos........................................................................................8 Manejador de base de datos.........................................................................8 Procesador de consultas...............................................................................8 Compilador de DDL.......................................................................................8 Archivo de datos...........................................................................................9 Diccionario de datos.....................................................................................9 ndices..........................................................................................................9 Modelos de datos.............................................................................................9 Bases de datos jerrquicas...........................................................................9 Base de datos de red....................................................................................9 Modelo Entidad Relacin................................................................................10 Atributos y relaciones.................................................................................10 Llaves.........................................................................................................11 Dependencia...............................................................................................11 Generalizacin y especializacin...............................................................12 Consideraciones en el diseo de BD..............................................................12 Normalizacin de una base de datos.............................................................13 Dependencia funcional..................................................................................13 Primera forma normal....................................................................................14
Segunda forma normal (2FN).........................................................................15 Tercera forma normal y la forma normal de Boyce Codd..............................15 Tercera forma normal y la forma normal de Boyce Codd.
Introduccin
El presente documento es una sntesis, que servir de gua de estudio para el presente curso. Este folleto es el producto de una investigacin llevada a cabo en sitios de internet, libros y reuniones con personalidades expertas en los temas. No se trata de un compendio exhaustivo de los temas sino de una vista rpida y concisa que ayudaran al lector a comprender mejor lo expuesto por el profesor en el laboratorio. Este cuarto folleto es un vistazo a los fundamentos de uno de los recursos tecnolgicos que al da de hoy resulta indispensable, las Bases de Datos. Se analiza el concepto y sus fundamentos tericos para una mejor comprensin y desarrollo de las mismas en el laboratorio. Para que el presente curso sea un xito y alcance los objetivos planteados, resulta fundamental la participacin de todos los elementos involucrados, as como el total compromiso de usted para dar de si su mejor desempeo.
Para mejorar el funcionamiento global del sistema y obtener un tiempo de respuesta ms rpido, muchos sistemas permiten que mltiples usuarios actualicen los datos simultneamente. En un entorno as la interaccin de actualizaciones concurrentes puede dar por resultado datos inconsistentes. Para prevenir esta posibilidad debe mantenerse alguna forma de supervisin en el sistema. Problemas de seguridad: La informacin de toda empresa es importante, aunque unos datos lo son ms que otros, por tal motivo se debe considerar el control de acceso a los mismos, no todos los usuarios pueden visualizar alguna informacin, por tal motivo para que un sistema de base de datos sea confiable debe mantener un grado de seguridad que garantice la autentificacin y proteccin de los datos. En un banco por ejemplo, el personal de nminas slo necesita ver la parte de la base de datos que tiene informacin acerca de los distintos empleados del banco y no a otro tipo de informacin. Problemas de integridad: Los valores de datos almacenados en la base de datos deben satisfacer cierto tipo de restricciones de consistencia. Estas restricciones se hacen cumplir en el sistema aadiendo cdigos apropiados en los diversos programas de aplicacin
Arquitectura de BD
Como muchos usuarios de sistemas de bases de datos no estn familiarizados con computadoras, los desarrolladores esconden la complejidad a los usuarios a travs de varios niveles de abstraccin para simplificar la interaccin de los usuarios con el sistema. Existen diferentes niveles de abstraccin para simplificar la interaccin de los usuarios con el sistema:
El nivel interno: Tiene un esquema interno, que describe la estructura fsica de almacenamiento de la base de datos. El esquema interno emplea un modelo fsico de los datos y describe todos los detalles para su almacenamiento, as como los caminos de acceso para la base de datos. El nivel conceptual: Tiene un esquema conceptual, que describe la estructura de toda la base de datos para una comunidad de usuarios. El esquema conceptual oculta los detalles de las estructuras fsicas de almacenamiento y se concentra en describir entidades, tipos de datos, vnculos, operaciones de los usuarios y restricciones. En este nivel podemos usar un modelo de datos de alto nivel o uno de implementacin. El nivel externo o de vistas: Incluye varios esquemas externos o vistas de usuario. Cada esquema externo describe la parte de la base de datos que interesa a un grupo de usuarios determinado, y oculta a ese grupo el resto de la base de datos. En este nivel podemos usar un modelo de datos de alto nivel o uno de implementacin.
El DBMS es conocido tambin como Gestor de Base de datos. En s, un sistema manejador de base de datos es el corazn de la base de datos ya que se encarga del control total de los posibles aspectos que la puedan afectar.
Los profesionales en computacin que interactuan con el sistema por medio de llamadas en DML (Lenguaje de Manipulacin de Datos), las cuales estn incorporadas en un programa escrito en un lenguaje de programacin (Por ejemplo, COBOL, PL/I, Pascal, C, etc.)
Usuarios sofisticados
Los usuarios sofisticados interactuan con el sistema sin escribir programas. En cambio escriben sus preguntas en un lenguaje de consultas de base de datos.
Usuarios especializados
Algunos usuarios sofisticados escriben aplicaciones de base de datos especializadas que no encajan en el marco tradicional de procesamiento de datos.
Usuarios ingenuos
Los usuarios no sofisticados interactuan con el sistema invocando a uno de los programas de aplicacin permanentes que se han escrito anteriormente en el sistema de base de datos, podemos mencionar al usuario ingenuo como el usuario final que utiliza el sistema de base de datos sin saber nada del diseo interno del mismo por ejemplo: un cajero. Un sistema de base de datos se encuentra dividido en mdulos cada uno de los cuales controla una parte de la responsabilidad total de sistema. En la mayora de los casos, el sistema operativo proporciona nicamente los servicios ms bsicos y el sistema de la base de datos debe partir de esa base y controlar adems el manejo correcto de los datos. As el diseo de un sistema de base de datos debe incluir la interfaz entre el sistema de base de datos y el sistema operativo.
Gestiona la asignacin de espacio en la memoria del disco y de las estructuras de datos usadas para representar informacin.
Traduce las proposiciones en lenguajes de consulta a instrucciones de bajo nivel. Adems convierte la solicitud del usuario en una forma ms eficiente.
Compilador de DDL.
Convierte las proposiciones DDL en un conjunto de tablas que contienen metadatos, estas se almacenan en el diccionario de datos.
Archivo de datos.
Modelos de datos
Un modelo de datos es bsicamente una descripcin de algo conocido como contenedor de datos (algo en donde se guarda la informacin), as como de los mtodos para almacenar y recuperar informacin de esos contenedores. Los modelos de datos no son cosas fsicas: son abstracciones que permiten la implementacin de un sistema eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos matemticos. Algunos modelos con frecuencia utilizados en las bases de datos:
Bases de datos jerrquicas
stas son bases de datos que, como su nombre indica, almacenan su informacin en una estructura jerrquica. En este modelo los datos se organizan en una forma similar a un rbol (visto al revs), en donde un nodo padre de informacin puede tener varios hijos. El nodo que no tiene padres es llamado raz, y a los nodos que no tienen hijos se los conoce como hojas.
Base de datos de red
ste es un modelo ligeramente distinto del jerrquico; su diferencia fundamental es la modificacin del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerrquico).
Base de datos relacional ste es el modelo ms utilizado en la actualidad para modelar problemas reales y administrar datos dinmicamente. Y otros tipos de datos que utilizan diferentes tipos de modelos de datos.
Las entidades son los objetos principales sobre los que se debe recoger informacin y generalmente denotan personas, lugares, cosas o eventos de inters. Las entidades aparecen reflejadas en el enunciado habitualmente como nombres. Grficamente se simbolizan con un rectngulo. Los atributos se utilizan para detallar las entidades asignndoles propiedades descriptivas tales como nombre, color y peso. No solo es posible especificar atributos en las entidades sino tambin en las relaciones. Los atributos tambin aparecen reflejados en el enunciado, generalmente, como nombres. Las entidades pueden clasificarse por la fuerza de sus atributos identificadores, es decir, por su dependencia o no dependencia respecto a otras entidades. Las entidades fuertes tienen existencia propia, es decir, poseen identificadores internos que determinan de manera nica la existencia de sus ocurrencias. Las entidades dbiles pueden tienen existencia en la base de datos dependiendo de una entidad fuerte. Grficamente los atributos se simbolizan con una elipse. Las relaciones representan asociaciones en el mundo real entre una o ms entidades. Las relaciones se caracterizan por su nombre, el grado (nmero de entidades que participan en la relacin), el tipo de cardinalidad (nmero mximo de ejemplares de una entidad asociados a una combinacin de ejemplares de las otras entidades de la relacin, que pueden ser 1 N). Grficamente las relaciones se simbolizan con un rombo. Los tipos de cardinalidad de asignacin son: * Una-Una (1:1), significa que cada entidad de la primera relacin se va a relacionar con una entidad de la segunda relacin y viceversa. P. ejemplo. r1-r2
* Una-Muchas (1:N), las entidades de la relacin r1 se pueden relacionar con varias entidades de la relacin r2. Pero las entidades de la relacin r2 solo pueden asociarse con una entidad de r1. P. ejemplo. r1 r2 * Muchas-Una (N:1), las entidades de r1 solo pueden asociarse con una entidad de r2. Mientras que las entidades de r2 pueden asociarse con varias entidades contenidas en r1.
P. ejemplo. r1 r2
* Muchas-Muchas (N:M), las entidades de ambas relaciones pueden asociarse con varias entidades de la contraria. P. ejemplo. r1 r2
Llaves
* Llaves Primarias Las llaves permiten identificar una entidad o un grupo. La llave est constituida por atributos (puede ser 1 o un grupo), son campos de relevancia en la asociacin de entidades. Una entidad fuerte posee una llave primaria. Una llave primaria nos permite identificar una entidad y la llave secundaria nos permite identificar un grupo de entidades. Llaves Forneas Corresponden a un atributo de una tabla relacionada, que es llave primaria en una tabla principal, es decir, es el atributo de una entidad, que es clave primaria de otra.
Dependencia
En un tipo de interrelacin determinado: - Tipo de entidad regular Es aquel que no depende de otro tipo de entidad Ejemplo: Persona en la interrelacin Reside - Tipo de entidad dbil.- Es aquel que depende en existencia o en identificacin de otro tipo de entidad Ejemplo: Familiar en la interrelacin Se encarga Dependencia en Existencia y en Identificacin Diseo de Bases de Datos Modelo E/R Extendido Dependencia en Existencia FAMILIAR Ex Se encarga EMPLEADO (1,n) (1,1) DNI
Consideraciones en el diseo de BD
Reflejar la estructura del problema en el mundo real. Ser capaz de representar todos los datos esperados, incluso con el paso del tiempo. Evitar el almacenamiento de informacin redundante. Proporcinar un acceso eficaz a los datos. Mantener la integridad de los datos a lo largo del tiempo. Ser claro, coherente y de fcil comprensin.
No puede haber dos filas iguales. No se permiten los duplicados. Todos los datos en una columna deben ser del mismo tipo.
Dependencia funcional
Una dependencia funcional son conexiones entre uno o ms atributos. Por ejemplo si conocemos el valor de Fecha De Nacimiento podemos conocer el valor de Edad. Las dependencias funcionales se escriben utilizando una flecha, de la siguiente manera: Fecha De NacimientoEdad Aqu a Fecha De Nacimiento se le conoce como un determinante. Se puede leer de dos formas Fecha De Nacimiento determina a Edad o Edad es funcionalmente dependiente de Fecha De Nacimiento. De la normalizacin (lgica) a la implementacin (fsica o real) puede ser sugerible tener stas dependencias funcionales para lograr mayor eficiencia en las tablas. Dependencia funcional transitiva Supongamos que en la relacin de la figura 3.0 los estudiantes solo pueden estar matriculados en un solo curso y supongamos que los profesores solo pueden dar un curso. ID_Estudiante Curso_Tomando Curso_Tomando Profesor_Asignado ID_Estudiante Curso_Tomando Profesor_Asignado Entonces tenemos que ID_Estudiante determina a Curso_Tomando y el Curso_Tomando determina a Profesor_Asignado, indirectamente podemos saber a travs del ID_estudiante el Profesor_Asignado. Entonces en la figura 3.0 tenemos una dependencia transitiva.
4. Dos filas o renglones de una misma tabla no deben ser idnticas, aunque el orden de las filas no es importante. Por lo general la mayora de las relaciones cumplen con estas caractersticas, as que podemos decir que la mayora de las relaciones se encuentran en la primera forma normal. Para ejemplificar como se representan grficamente las relaciones en primera forma normal consideremos la relacin alumno cursa materia cuyo diagrama E-R es el siguiente: Como esta relacin maneja valores atmicos, es decir un solo valor por cada uno de los campos que conforman a los atributos de las entidades, ya se encuentra en primera forma normal, grficamente as representamos a las relaciones en 1FN
Podemos darnos cuenta que se encuentra graficado en segunda forma normal, es decir que todos los atributos llave estn indicados en doble cuadro indicando los atributos que dependen de dichas llaves, sin embargo en la llave Necono tiene como dependientes a 3 atributos en el cual el nombre puede ser referenciado por dos atributos: Necono y RFC (Existe dependencia transitiva), podemos solucionar esto aplicando la tercera forma normal que consiste en eliminar estas dependencias separando los atributos, entonces tenemos: Forma normal de Boyce Codd. Determinante: Uno o ms atributos que, de manera funcional, determinan otro atributo o atributos. En la dependencia funcional (A,B)C, (A,B) son los determinantes. Definicin formal: Una relacin R esta en FNBC si y solo si cada determinante es una llave candidato. Denominada por sus siglas en ingles como BCNF; Una tabla se considera en esta forma si y slo s cada determinante o atributo es una llave candidato. Continuando con el ejemplo anterior, si consideramos que en la entidad alumno sus atributos control y nombre nos puede hacer referencia al atributos esp., entonces decimos que dichos atributos pueden ser llaves candidato. Grficamente podemos representar la forma normal de Boyce Codd de la siguiente forma: Obsrvese que a diferencia de la tercera forma normal, agrupamos todas las llaves candidato para formar una global (representadas en el recuadro) las cuales hacen referencia a los atributos que no son llaves candidato.