Está en la página 1de 15

Tabla de contenido

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.

Fundamentos de bases de datos


Definicin de base de datos
Es una coleccin de archivos interrelacionados, son creados con un DBMS, Su contenido engloba la informacin concerniente de una organizacin de tal manera que los datos esten disponible para los usuarios. Su finalidad es eliminar la redundancia o al menos minimizarla. Sus tres componentes principales son: El Hardware, el Software DBMS y los datos a manejar, as como el personal encargado del manejo del sistema. Los sistemas de bases de datos se disean para manejar grandes cantidades de informacin. Un objetivo primordial es proporcionar a los usuarios finales una visin abstracta de los datos.

Objetivo de las bases de datos


Los objetivos principales de un sistema de base de datos es disminuir los siguientes aspectos: Redundancia e inconsistencia de datos: Puesto que los archivos que mantienen almacenada la informacin son creados por diferentes tipos de programas de aplicacin existe la posibilidad de que si no se controla detalladamente el almacenamiento, se pueda originar un duplicado de informacin, es decir que la misma informacin sea ms de una vez en un dispositivo de almacenamiento. Esto aumenta los costos de almacenamiento y acceso a los datos, adems de que puede originar la inconsistencia de los datos es decir diversas copias de un mismo dato no concuerdan entre si -, por ejemplo: que se actualiza la direccin de un cliente en un archivo y que en otros archivos permanezca la anterior. Dificultad para tener acceso a los datos: Un sistema de base de datos debe contemplar un entorno de datos que le facilite al usuario el manejo de los mismos. Supngase un banco, y que uno de los gerentes necesita averiguar los nombres de todos los clientes que viven dentro del cdigo postal 78733 de la ciudad. El gerente pide al departamento de procesamiento de datos que genere la lista correspondiente. Puesto que esta situacin no fue prevista en el diseo del sistema, no existe ninguna aplicacin de consulta que permita este tipo de solicitud, esto ocasiona una deficiencia del sistema. Aislamiento de los datos: Puesto que los datos estn repartidos en varios archivos, y estos no pueden tener diferentes formatos, es difcil escribir nuevos programas de aplicacin para obtener los datos apropiados.

Anomalas del acceso concurrente:

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

Usos y aplicaciones de las BD


1. Banca: informacin de clientes, cuentas, transacciones, prstamos, etc. 2. Lneas areas: inf. Clientes, horarios, vuelos, destinos, etc. (1ras bases distribuidas geogrficamente) 3. Universidades: inf. Estudiantes, carreras, horarios, materias, etc. 4. Transacciones de tarjeta de crdito: para comprar con tarjetas de crdito y la generacin de los extractos mensuales. 5. Telecomunicaciones: para guardar registros de llamadas realizadas, generar facturas mensuales, mantener el saldo de las tarjetas, telefnicas de prepago y almacenar informacin sobre las redes.

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.

Manejador de Bases de Datos DBMS


El sistema manejador de bases de datos es la porcin ms importante del software de un sistema de base de datos. Un DBMS es una coleccin de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de alguna tarea especfica. Las funciones principales de un DBMS son: Crear y organizar la Base de datos. Establecer y mantener las trayectorias de acceso a la base de datos de tal forma que los datos puedan ser accesados rpidamente. Manejar los datos de acuerdo a las peticiones de los usuarios. Registrar el uso de las bases de datos. Interaccin con el manejador de archivos. Esto a travs de las sentencias en DML al comando de el sistema de archivos. As el Manejador de base de datos es el responsable del verdadero almacenamiento de los datos. Respaldo y recuperacin. Consiste en contar con mecanismos implantados que permitan la recuperacin fcilmente de los datos en caso de ocurrir fallas en el sistema de base de datos. Control de concurrencia. Consiste en controlar la interaccin entre los usuarios concurrentes para no afectar la inconsistencia de los datos. Seguridad e integridad. Consiste en contar con mecanismos que permitan el control de la consistencia de los datos evitando que estos se vean perjudicados por cambios no autorizados o previstos.

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.

Usuarios de las bases de datos.


Podemos definir a los usuarios como toda persona que tenga todo tipo de contacto con el sistema de base de datos desde que este se disea, elabora, termina y se usa. Los usuarios que accesan una base de datos pueden clasificarse como:
Programadores de aplicaciones

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.

Componentes Funcionales de un DBMS


Los componentes funcionales de un sistema de base de datos, son:
Gestor de archivos.

Gestiona la asignacin de espacio en la memoria del disco y de las estructuras de datos usadas para representar informacin.

Manejador de base de datos.

Sirve de interfaz entre los datos y los programas de aplicacin.


Procesador de consultas.

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.

En l se encuentran almacenados fsicamente los datos de una organizacin.


Diccionario de datos.

Contiene la informacin referente a la estructura de la base de datos.


ndices.

Permiten un rpido acceso a registros que contienen valores especficos.

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.

Modelo Entidad Relacin


El modelo entidad-relacin (E-R) se basa en una percepcin del mundo compuesta por objetos, llamados entidades, y relaciones entre ellos. Las entidades se diferencian unas de otras a travs de atributos. El orientado a objetos tambin se basa en objetos, los cuales contienen valores y mtodos, entendidos como rdenes que actan sobre los valores, en niveles de anidamiento. Los objetos se agrupan en clases, relacionndose mediante el envo de mensajes. Algunos autores definen estos modelos como modelos semnticos.
Atributos y relaciones

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

Nombre Titulacin DNI Dependencia en Identificacin EJEMPLAR ID tiene LIBRO


Generalizacin y especializacin Se usa para hacer resaltar los parecidos entre tipo de entidades de nivel mas bajo y ocultar sus diferencias. La distincin se hace a travs de un proceso llamado herencia de atributos

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.

Nota: A veces, estos objetivos pueden ser contradictorios.

Normalizacin de una base de datos


El proceso de normalizacin de una base de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo E-R (entidad-relacin) al modelo relacional. Las bases de datos relacionales se normalizan para: Evitar la redundancia de los datos. Evitar problemas de actualizacin de los datos en las tablas. Proteger la integridad de los datos. En el modelo relacional es frecuente llamar tabla a una relacin, aunque para que una tabla bidimensional sea considerada como una relacin 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.

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.

Primera forma normal.


Definicin formal: Una relacin R se encuentra en 1FN si y solo s por cada rengln columna contiene valores atmicos. Abreviada como 1FN, se considera que una relacin se encuentra en la primera forma normal cuando cumple lo siguiente: 1. Las celdas de las tablas poseen valores simples y no se permiten grupos ni arreglos repetidos como valores, es decir, contienen un solo valor por cada celda. 2. Todos los ingresos en cualquier columna(atributo) deben ser del mismo tipo. 3. Cada columna debe tener un nombre nico, el orden de las columnas en la tabla no es importante.

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

Segunda forma normal (2FN)


Para poder definir la segunda forma normal es necesario saber que es una dependencia funcional, consiste en edificar que atributos dependen de otros atributos. Una relacin R se encuentra en 2FN si y solo si esta en 1FN, y los atributos no primos dependen de la llave primaria. Una relacin se encuentra en segunda forma normal, cuando cumple con las reglas de la primera forma normal y todos sus atributos que no son claves (llaves) dependen por completo de la clave. Cada tabla que tiene un atributo nico como clave, esta en segunda forma normal.

Tercera forma normal y la forma normal de Boyce Codd.


Para definir formalmente la 3FN necesitamos definir dependencia transitiva: En una afinidad (tabla bidimensional) que tiene por lo menos 3 atributos (A,B,C) en donde A determina a B, B determina a C pero no determina a A. Tercera forma normal. Definicin formal: Una relacin R est en 3FN si y solo si esta en 2FN y todos sus atributos no primos dependen no transitivamente de la llave primaria. Consiste en eliminar la dependencia transitiva que queda en una segunda forma normal, en pocas palabras una relacin esta en tercera forma normal si est en segunda forma normal y no existen dependencias transitivas entre los atributos, nos referimos a dependencias transitivas cuando existe ms de una forma de llegar a referencias a un atributo de una relacin. Por ejemplo, consideremos el siguiente caso: Tenemos la relacin alumno-cursa-materia manejada anteriormente, pero ahora consideramos al elemento maestro, grficamente lo podemos representar de la siguiente manera:

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.

También podría gustarte