Bases de Datos I Apuntes

92
Asignatura: Base de Datos “I” TEORIA Año: 2013-2C Prof.: Esp. Juan Domingo Tonsich Hoja N°:1 Universidad Nacional del Nordeste Facultad de Ciencias Exactas y Naturales y Agrimensura Base de Datos I Profesor Titular: Esp. Juan Domingo Tonsich Tercer Año. Segundo Cuatrimestre Licenciatura en Sistemas de Información

description

apunte de bases de datos para principiantes

Transcript of Bases de Datos I Apuntes

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:1

    Universidad Nacional del Nordeste Facultad de Ciencias Exactas y Naturales y

    Agrimensura

    Base de Datos I

    Profesor Titular: Esp. Juan Domingo Tonsich

    Tercer Ao. Segundo Cuatrimestre

    Licenciatura en Sistemas de Informacin

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:2

    Tema 2 rboles Generales y Binarios y Estructuras de Datos. Definiciones y representaciones. Nomenclatura sobre rboles. Declaracin y representacin de un rbol binario. Recorridos sobre rboles binarios. Construccin de un rbol binario. rbol binario de bsqueda. rboles 2-3-4. rboles rojo negro. rboles AVL. rboles multiway. rboles b. rboles b+. rboles binarios hilvanados.

    Definiciones y representaciones Un bosque es un grafo no dirigido acclico. Un rbol es una estructura de datos, que puede definirse de forma recursiva como: Una estructura vaca o. Un elemento o clave de informacin (nodo) ms un nmero finito de estructuras tipo rbol, disjuntos, llamados subrboles: Si dicho nmero de estructuras es inferior o igual a 2, se tiene un rbol binario. Un rbol es una estructura no secuencial. Un rbol es un tipo de grafo acclico, conexo y no dirigido: Es un grafo no dirigido en el que existe exactamente un camino entre todo par de nodos. Esta definicin permite implementar un rbol y sus operaciones maleando las representaciones que se utilizan para los grafos. Las principales formas de representacin son: Mediante un grafo. Mediante un diagrama encolumnado: Una estructura de datos muy utilizada son los rboles Binarios: Estos rboles tienen 0, 1 o 2 descendientes como mximo. El rbol de la figura es un ejemplo vlido de rbol binario. Nomenclatura sobre rboles Raz: es aquel elemento que no tiene antecesor; ejemplo: a. Rama: es la arista entre dos nodos. Antecesor: un nodo x es antecesor de un nodo y si por alguna de las ramas de x se puede llegar a y. Sucesor: un nodo x es sucesor de un nodo y si por alguna de las ramas de y se puede llegar a x. Grado de un nodo: es el nmero de descendientes directos que tiene. Ejemplo: c tiene grado 2, d tiene grado 0, a tiene grado 2. Hoja: es un nodo que no tiene descendientes (grado 0). Ejemplo: d. Nodo interno: es aquel que tiene al menos un descendiente. Nivel: es el nmero de ramas que hay que recorrer para llegar de la raz a un nodo. Ejemplo: el nivel del nodo a es 1 (es un convenio), el nivel del nodo e es 3. Altura: es el nivel ms alto del rbol. En el ejemplo la altura es 3.

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:3

    Anchura: es el mayor valor del nmero de nodos que hay en un nivel. En la figura la anchura es 3. rbol balanceado por altura: es aquel en donde todos los hijos o nodos hoja se intentan mantener a la misma distancia de la raz. rbol balanceado por peso: es aquel en donde los nodos ms visitados o utilizados se mantienen a poca distancia de la raz. rbol relleno: se da cuando todo nodo tiene 2 hijos o bien es hoja. rbol binario completo: es un rbol binario relleno en dnde todas las hojas tienen la misma profundidad. Aclaraciones: Se ha denominado a a la raz, pero se puede observar segn la figura que cualquier nodo podra ser considerado raz, basta con girar el rbol. Podra determinarse por ejemplo que b fuera la raz y a y d los sucesores inmediatos de la raz b. Generalmente en las implementaciones sobre un computador es necesaria una jerarqua, es decir, que haya una nica raz. Declaracin y representacin De un rbol binario Se definir el rbol con una clave de tipo entero (puede ser cualquier otro tipo de datos), y dos hijos: izquierdo (izq.) y derecho (der.). Para representar los enlaces con los hijos se utilizan punteros. El rbol vaco se representar con un puntero nulo. En c un rbol binario puede declararse de la siguiente manera: Typedef struct tarbol { Int clave; Struct tarbol *izq, *der; } tarbol; una forma ms detallada sera: estructura treenode: Template Class treenode { Public: Treenode(t e) : data(e), leftptr(null), rightptr(null) {}; Treenode(t e, treenode* left, Treenode* right) : data(e), leftptr(left), rightptr(right) {}; T data; Treenode *leftptr, *rightptr; }; estructura binarytree: Template

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:4

    Class binarytree { Public: Binarytree(): root(null) {}; Binarytree(t rootvalue); Binarytree(t rootvalue, Const binarytree& left, Const binarytree& right); Binarytree& operator= (const Binarytree& b); ~binarytree(){ clear();}; Binarytree left() const; Binarytree right() const; Int isempty() const { return (root == null);}; T& operator() () const; Void clear(); Void preorder(); Void inorder(); Void postorder(); Protected: Treenode* root; }; Recorridos sobre rboles binarios se consideran dos tipos de recorrido: recorrido en profundidad. recorrido en anchura o a nivel. puesto que los rboles no son secuenciales como las listas, hay que buscar estrategias alternativas para visitar todos los nodos. recorridos en profundidad Recorrido en preorden (preorder): consiste en visitar el nodo actual (visitar puede ser simplemente mostrar la clave del nodo por pantalla), y despus visitar el subrbol izquierdo y una vez visitado, visitar el subrbol derecho. es un proceso recursivo por naturaleza. para la figura ejemplo las visitas seran en el orden Siguiente: a,b,d,c,e,f. la codificacin en c es la siguiente: Void preorden(tarbol *a) { If (a != null) { Visitar(a); Preorden(a->izq); Preorden(a->der);

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:5

    } } recorrido en inorden u orden central (inorder): se visita el subrbol izquierdo, el nodo actual, y despus se visita el subrbol derecho. en el ejemplo de la figura las visitas seran en este Orden: b,d,a,e,c,f. la codificacin en c es la siguiente: Void inorden(tarbol *a) { If (a != null) { Inorden(a->izq); Visitar(a); Inorden(a->der); } } recorrido en postorden (postorder): se visitan primero el subrbol izquierdo, despus el subrbol derecho, y por ltimo el nodo actual. en el ejemplo de la figura el recorrido quedara as: d,b,e,f,c,a. la codificacin en c es la siguiente: Void postorden(arbol *a) { If (a != null) { Postorden(a->izq); Postorden(a->der); Visitar(a); } } rboles generales y binarios 24 Recorridos sobre rboles Binarios la ventaja del recorrido en postorden es que permite borrar el rbol de forma consistente: si visitar se traduce por borrar el nodo actual, al ejecutar este recorrido se borrar el rbol o subrbol que se pasa como parmetro. la razn para hacer esto es que no se debe borrar un nodo y despus sus subrboles, porque al borrarlo se pueden perder los enlaces, y aunque no Se perdieran se rompe con la regla de manipular una estructura de datos inexistente. recorridos en amplitud consiste en ir visitando el rbol por niveles. primero se visitan los nodos de nivel 1 (la raz), despus los nodos de nivel 2, as hasta que ya no queden ms.

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:6

    si se hace el recorrido en amplitud del rbol de la figura ejemplo se visitaran los nodos en este orden: A,b,c,d,e,f. en este caso el recorrido no se realizar de forma recursiva sino iterativa, utilizando una cola como estructura de datos auxiliar: el procedimiento consiste en encolar (si no estn vacos) los subrboles izquierdo y derecho del nodo extrado de la cola, y seguir desencolando y encolando hasta que la cola est vaca. en la codificacin que viene a continuacin no se implementan las operaciones sobre colas. la codificacin en c es la siguiente: Void amplitud(tarbol *a) { Tcola cola; /* las claves de la cola sern de tipo rbol Binario */ Arbol *aux; If (a != null) { Crearcola(cola); Encolar(cola, a); While (!colavacia(cola)) { Desencolar(cola, aux); Visitar(aux); If (aux->izq != null) encolar(cola, aux->izq); If (aux->der != null) encolar(cola, aux->der); } } } Construccin de un rbol binario A continuacin se estudia un mtodo para crear un rbol binario que no tenga claves repetidas. Se parte de su recorrido en preorden e inorden, almacenados en sendos arrays. Partiendo de los recorridos preorden e inorden del rbol de la figura ejemplo puede determinarse: Que la raz es el primer elemento del recorrido en preorden. ese elemento se busca en el array inorden. los elementos en el array inorden entre izq y la raz forman el subrbol izquierdo. los elementos entre der y la raz forman el subrbol derecho. a continuacin comienza un proceso recursivo. se procede a crear el subrbol izquierdo, cuyo tamao est limitado por los ndices izq y der. la siguiente posicin en el recorrido en preorden es la raz de este subrbol. Queda lo siguiente: el subrbol b tiene un subrbol derecho, que no tiene ningn descendiente, segn indican los ndices izq y der.

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:7

    se ha obtenido el subrbol izquierdo completo de la raz a, puesto que b no tiene subrbol izquierdo: despus seguir construyndose el subrbol derecho a partir de la raz a. Arbol binario de bsqueda un rbol binario de bsqueda es aquel que es: una estructura vaca, o. un elemento o clave de informacin (nodo) ms un nmero finito -a lo sumo dos- de estructuras tipo rbol, disjuntos, llamados subrboles que cumplen lo siguiente: todas las claves del subrbol izquierdo al nodo son menores que la clave del nodo. todas las claves del subrbol derecho al nodo son mayores que la clave del nodo. ambos subrboles son rboles binarios de bsqueda. al definir el tipo de datos que representa la clave de un nodo dentro de un rbol binario de bsqueda es necesario que en dicho tipo se pueda establecer una Relacin de orden. por ejemplo, suponer que el tipo de datos de la clave es un puntero (da igual a lo que apunte). en el ejemplo de la figura las claves son nmeros enteros: dada la raz 4, las claves del subrbol izquierdo son menores que 4, y las claves del subrbol derecho son mayores que 4. esto se cumple tambin para todos los subrboles. si se hace el recorrido de este rbol en orden central se obtiene una lista de los nmeros ordenada de menor a mayor. una ventaja fundamental es que son en general mucho ms rpidos para localizar un elemento que una lista enlazada. son ms rpidos para insertar y borrar elementos. si el rbol est perfectamente equilibrado (la diferencia entre el n de nodos del subrbol izquierdo y el n de nodos del subrbol derecho es a lo sumo 1, para todos los nodos): el nmero de comparaciones necesarias para localizar una clave es aproximadamente log n en el peor caso. el algoritmo de insercin en un rbol binario de bsqueda tiene la ventaja (sobre los arrays ordenados, donde se empleara bsqueda dicotmica para localizar un elemento) de que no necesita hacer una reubicacin de los elementos de la estructura para que esta siga ordenada despus de la insercin. dicho algoritmo funciona avanzando por el rbol escogiendo la rama izquierda o derecha en funcin de la clave que se inserta y la clave del nodo actual, hasta encontrar su ubicacin: insertar la clave 7 en el rbol de la figura requiere avanzar por el rbol hasta llegar a la clave 8, e introducir la nueva clave en el Subrbol izquierdo a 8. el algoritmo de borrado en rboles es algo ms complejo, pero ms eficiente que el de borrado en un array ordenado.

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:8

    operaciones bsicas sobre rboles binarios de bsqueda bsqueda si el rbol no es de bsqueda, es necesario emplear uno de los recorridos anteriores sobre el rbol para localizarlo. el resultado es idntico al de una bsqueda secuencial. aprovechando las propiedades del rbol de bsqueda se puede acelerar la localizacin: hay que descender a lo largo del rbol a izquierda o derecha dependiendo del elemento que se busca. la codificacin en c es la siguiente: Boolean buscar(tarbol *a, int elem) { If (a == null) return false; Else if (a->clave < elem) return buscar(a->der, elem); Else if (a->clave > elem) return buscar(a->izq, elem); Else return true; } insercin la insercin resulta prcticamente idntica a la bsqueda. cuando se llega a un rbol vaco se crea el nodo en el puntero que se pasa como parmetro por referencia, de esta manera los nuevos enlaces mantienen la coherencia. si el elemento a insertar ya existe entonces no se hace nada. la codificacin en c es la siguiente: Void insertar(tarbol **a, int elem) { If (*a == null) { *a = (arbol *) malloc(sizeof(arbol)); (*a)->clave = elem; (*a)->izq = (*a)->der = null; } Else if ((*a)->clave < elem) insertar(&(*a)->der, elem); Else if ((*a)->clave > elem) insertar(&(*a)->izq, elem); } borrado la operacin de borrado resulta ser algo ms complicada. el rbol debe seguir siendo de bsqueda tras el borrado. una vez encontrado el nodo a borrar pueden darse tres casos: el nodo no tiene descendientes: simplemente se borra. el nodo tiene al menos un descendiente por una sola rama: se borra dicho nodo y su primer descendiente se asigna como hijo del padre del nodo borrado: en el rbol de la figura se borra el nodo cuya clave es 1, resultando el siguiente rbol:

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:9

    el nodo tiene al menos un descendiente por cada rama: Al borrar dicho nodo es necesario mantener la coherencia de los enlaces y la estructura de un rbol binario de bsqueda: la solucin consiste en sustituir la informacin del nodo que se borra por la de una de las hojas y borrar a continuacin dicha hoja: debe ser la hoja que contenga una de estas dos claves: la mayor de las claves menores al nodo que se borra: si se quiere borrar el nodo 4 del rbol de la figura ejemplo se sustituir la clave 4 por la clave 2. la menor de las claves mayores al nodo que se borra: si se quiere borrar el nodo 4 del rbol de la figura ejemplo se sustituir la clave 4 por la clave 5. el algoritmo de borrado que se muestra a continuacin realiza la sustitucin por la mayor de las claves menores, para lo cual es necesario: descender primero a la izquierda del nodo que se va a borrar. avanzar siempre a la derecha hasta encontrar un nodo hoja. a continuacin se muestra grficamente el proceso de borrar el nodo de clave 4: la codificacin en c es la siguiente, donde el procedimiento sustituir es el que desciende por el rbol cuando se da el caso del nodo con descendientes por ambas ramas: Void borrar(tarbol **a, int elem) { Void sustituir(tarbol **a, tarbol **aux); Tarbol *aux; If (*a == null) /* no existe la clave */ Return; If ((*a)->clave < elem) borrar(&(*a)->der, elem); Else if ((*a)->clave > elem) borrar(&(*a)->izq, elem); Else if ((*a)->clave == elem) { Aux = *a; If ((*a)->izq == null) *a = (*a)->der; Else if ((*a)->der == null) *a = (*a)->izq; Else sustituir(&(*a)->izq, &aux); /* se sustituye por la mayor de las Menores */ Free(aux); } } Void sustituir(tarbol **a, tarbol **aux) { If ((*a)->der != null) sustituir(&(*a)->der, aux); Else { (*aux)->clave = (*a)->clave; *aux = *a; *a = (*a)->izq; } }

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:10

    rboles 2-3-4 como una forma de eliminar las bsquedas exhaustivas De los rboles binarios existen los rboles 2-3-4. estos son rboles en cuyos nodos se permite tener ms de una clave al mismo tiempo. los rboles binarios tienen mximo 2 hijos (derecho e izquierdo). si se le permite al nodo tener 2 valores, este podr tener 3 ligas a subrboles y uno con 3 valores podr tener 4 ligas. un rbol con estas caractersticas puede contener entonces nodos con 2, 3 o 4 ligas, de ah que se les llama rboles 2-3-4. en los rboles 2-3-4 todos los subrboles tienen la misma altura y estn siempre balanceados. estos rboles son muy atractivos para el almacenamiento y recuperacin de claves, sin embargo son un tanto complicados de implementar. los rboles 2-3 son un tipo de rbol balanceado por altura (height balanced) en donde todos los nodos no terminales tienen 2 3 descendientes y todos los nodos hoja tienen la misma longitud (path length) o distancia desde la raz. en estos rboles slo las hojas contienen la informacin (valores). los nodos no-terminales contienen indicadores que constan de 2 valores de los cuales el izquierdo es el mximo del subrbol izquierdo y el segundo valor es el valor mximo del subrbol central. rboles rojo - negro los rboles rojo-negro son rboles binarios en donde cada nodo tiene un color ya sea rojo o negro. estos rboles representan una manera de transformar un rbol 2-3-4 en uno binario, lo que se puede lograr Utilizando los siguientes lineamientos: todo nodo 2 es transformado a un nodo negro con descendientes negros. todo nodo 3 es transformado en un nodo negro con un hijo rojo y uno negro. un nodo 4 es transformado a un nodo negro con dos hijos rojos. esto satisface las siguientes propiedades: todos los nodos tienen un color, ya sea rojo o negro. toda hoja es negra. ambos descendientes de un nodo rojo son siempre nodos negros. cada camino desde cualquier nodo hasta una hoja descendiente contiene el mismo nmero de nodos negros. no hay dos nodos rojos adyacentes en un camino. al nmero de nodos negros en el camino de un nodo a una hoja descendiente se le conoce como la altura Negra del nodo. la altura - negra de un rbol rojo - negro es la altura negra de su raz. ejemplo de transformacin de un rbol 2-3-4 en un rbol

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:11

    Rojo negro: Arboles avl la estructura de datos ms vieja y mejor conocida para rboles balanceados es el rbol AVL. su propiedad es que la altura de los subrboles de cada nodo difiere en no ms de 1. para mantenerlo balanceado es necesario saber la altura o la diferencia en alturas de todos los subrboles: se debe tener que guardar informacin adicional en cada nodo: un contador de la diferencia entre las alturas de sus dos subrboles. Los rboles AVL fueron nombrados por sus desarrolladores adelson - velskii y landis. Probablemente la principal caracterstica de los rboles AVL es su excelente tiempo de ejecucin para las diferentes operaciones (bsquedas, altas y bajas). en las siguientes dos figuras la primera es un rbol avl y la segunda no lo es ya que los subrboles del nodo l difieren en altura por ms de 1. Un ejemplo de rbol AVL es el rbol (a), mientras que el rbol (b) no lo es. rboles multiway los rboles son utilizados para almacenar informacin y para poder accederla. cuando se trata de volmenes muy grandes de datos almacenados en disco duro, las estructuras y estrategias de bsqueda vistas anteriormente resultan ineficientes, especialmente por el alto nmero de accesos al disco. para evitar tener que hacer muchos accesos a disco es razonable tener varias claves en cada nodo del rbol. cuando la informacin de varios nodos se junta formando pequeos grupos a estos se les llama pginas. si en cada acceso a disco un procedimiento puede leer toda una pgina de datos en lugar de leerlos de uno en uno: se puede disminuir significativamente el nmero de accesos necesarios para encontrar un determinado dato. a los rboles que manejan en cada nodo una pgina se les llama rboles multiway: Cada nodo podr tener un mximo de m valores o claves y por consiguiente m + 1 ligas a sus descendientes. la bsqueda de una clave sera anloga a la de los rboles 2-3-4. insertar un dato en un nodo m (es decir, que ya est lleno, con m - 1 elementos) implica dividir dicho nodo en 2 nodos de tipo m/2 (para ello se asume que es nmero par): ejemplo, un nodo 4 (que tiene 3 elementos) se divide en 2 nodos de tipo 2, al igual que en el caso de los rboles 2-3-4. el tamao de una pgina no es totalmente arbitrario: a mayor tamao el tiempo para procesarla es mayor. depende tambin de la cantidad de memoria principal disponible. rboles b

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:12

    este tipo de rboles fue llamado rboles b por r. Bayer y e. Mccreight, los primeros en considerar el uso de estos rboles de tipo multiway. un rbol b de orden w cumple con las siguientes propiedades: toda pgina, excepto la raz contiene al menos w claves. la raz contiene al menos una clave. la raz tiene al menos 2 descendientes. toda pgina contiene a lo sumo 2 w claves. Toda pgina excepto las hojas tiene m + 1 descendientes, dnde m es el nmero de claves en la pgina. Las hojas no tienen descendientes. todas las hojas estn en el mismo nivel. cada nodo pgina es representado por una estructura que tiene: Un espacio para 2 w claves y 2 w + 1 apuntadores hacia sus descendientes. un campo con un valor que indica el nmero actual de claves en la pgina. este tipo de rboles slo son tiles cuando son de orden mayor o igual a 3. las operaciones de altas y bajas en un rbol b no alteran su balance. rboles b+ una variacin a los rboles b consiste en que todas las claves estn en las hojas mientras que los nodos no terminales contienen los ndices para las claves. adicionalmente las hojas estn conectadas secuencialmente. en estos rboles se requieren 2 tipos de estructuras: una para representar los nodos no terminales: igual a la de los rboles b. Otra para las hojas: tiene un apuntador adicional para apuntar a la siguiente hoja. Estos rboles son especialmente tiles para aplicaciones que requieren ambos tipos de acceso, secuencial y aleatorio. para buscar un dato en estos rboles es necesario recorrer un camino completo hasta la hoja correspondiente siguiendo los ndices: el tiempo de bsqueda es siempre constante. las bajas son diferentes: cuando se elimina un dato se tienen que mover y reajustar elementos para evitar huecos y para que la informacin en los nodos no - terminales Asociados no cambie. si una pgina tiene menos de la mitad de elementos (underflow) es necesario balancear el rbol. para balancear se redistribuyen los datos o se concatenan pginas. rboles binarios hilvanados al estudiar la representacin enlazada de un rbol binario es fcil observar que existen muchos enlaces nulos. de hecho, pueden existir ms enlaces nulos que punteros con valores reales.

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:13

    para un rbol con n nodos, existen n+1 enlaces nulos de los 2n enlaces existentes en la representacin (ms de la mitad). como el espacio de memoria ocupado por los enlaces nulos es el mismo que el ocupado por los no nulos, podra resultar conveniente utilizar estos enlaces Nulos para almacenar alguna informacin de inters Para la manipulacin del rbol binario. una forma de utilizar estos enlaces es sustituirlos por Punteros a otros nodos del rbol. los enlaces nulos situados en el subrbol derecho de un nodo se suelen reutilizar para apuntar al sucesor de ese nodo en un determinado recorrido del rbol, por ejemplo infijo. los enlaces nulos en subrboles izquierdos se utilizan para apuntar al predecesor del nodo en el mismo tipo de recorrido. si para algn nodo no existe predecesor (porque es el primero del recorrido) o sucesor (porque es el ltimo), se mantiene con valor nulo el enlace correspondiente. otra ventaja es la posibilidad de un acceso rpido al sucesor (o al predecesor) de un nodo, que es una operacin frecuentemente necesaria. para poder manejar correctamente toda la informacin de la que se dispone en la representacin hilvanada (con hilos) del rbol binario, es necesario poder distinguir entre lo que son punteros normales, Que representan las relaciones reales entre los nodos, Y lo que son hilos. esto se puede hacer aadiendo dos campos booleanos a la representacin de los nodos del rbol. estos nuevos campos indicarn si los enlaces izquierdo y derecho son hilos o no. con el objeto de no mantener absolutamente ningn enlace nulo y para facilitar el recorrido del rbol, se suele aadir a la estructura un nodo raz que no contiene informacin real. En general, la utilizacin de enlaces hilos simplifica los algoritmos de recorrido del rbol, por lo que son recomendables cuando el recorrido del rbol es una operacin frecuente. Desde el punto de vista de la manipulacin general del rbol hay que tener en cuenta que: La insercin de nuevos nodos debe mantener en todo momento esta estructura de enlaces con los nodos sucesor y predecesor. Cada vez que se inserte un nodo se deber comprobar si existen enlaces de este tipo que deban ser modificados o creados, adems de los punteros Normales que relacionan los nodos del rbol.

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:14

    Tema 3 Organizacin Multillave. Introduccin al Acceso Multillave.

    Organizacin de Archivos. Conceptos Bsicos. Definiciones. Indexacin con Direccionamiento Indirecto. Valores de Llaves No-nicas. Organizacin de Archivos Multilista. Conceptos Bsicos. Procesamiento.

    Introduccin al Acceso Multillave.

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:15

    Esta organizacin se utiliza para establecer conexiones entre datos con caractersticas similares. el objetivo principal no es el acceso rpido a una llave en particular. en este tipo de organizacin deben determinarse e identificarse aquellos campos en los que: el rango de valores est bien definido, y. es til el acceso por cada uno de estos valores. atributo: es un campo con un rango de valores bien determinado, sobre el cual es deseable una consulta. caracterstica: es cada uno de los valores que puede tomar un atributo. el modelo utiliza para su funcionamiento dos archivos: archivo de cabecera: almacena las direcciones de inicio de cada cadena de caractersticas. se recomienda que incluya un campo de longitud de cadena que permita seleccionar el acceso de la cadena ms corta cuando se conocen dos o ms caractersticas. tendr tantos registros como caractersticas tenga el modelo. archivo principal (datos): adems de los campos de almacenamiento normales se utilizan tantos campos adicionales como atributos tenga el modelo. cada uno de estos ser una liga (apuntador) al siguiente registro con la misma caracterstica. Introduccin al acceso multillave si se aplica al archivo de cabecera un campo extra que contabilice el nmero de registros que conforman cada cadena: ser ms sencillo buscar la cadena ms corta, cuando se conozcan los valores de dos o ms atributos. existen dos mtodos principales para proporcionar acceso multillave a los archivos de registros de datos: la inversin. la organizacin multilista. Organizacin de archivos invertidos conceptos bsicos un mtodo fundamental para proporcionar el encadenamiento entre un ndice y los registros del archivo es llamado inversin. un ndice de inversin de llaves contiene todos los valores que la llave tiene presentes en los registros del archivo. cada uno de los valores de la llave en el ndice de inversin apunta a todos los registros que tienen el valor correspondiente. el archivo de datos se dice que est invertido sobre esa llave. la inversin como enfoque para proporcionar acceso multillave se ha utilizado:

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:16

    como una base para las estructuras fsicas de bases de datos en sistemas comerciales para la administracin de bases de datos: incluyendo varios sistemas relacionales. para facilitar al usuario de lenguajes de consulta de tipo natural en la formulacin de las mismas. ejemplo con un ndice de inversin sencillo (estructurado como una tabla): invertir el archivo de cuentas con base en num-socio, resulta en el ndice de inversin mostrado. los registros estn ordenados por el valor id. el ordenamiento de los valores de la llave en el ndice no necesita ser igual al ordenamiento de los registros correspondientes en el archivo. si las entradas en el ndice de inversin estn ordenadas se facilita la bsqueda de un valor de llave en particular: se puede utilizar bsqueda binaria: requiere o(log2 n) comparaciones. la bsqueda secuencial requiere o(n/2) comparaciones. definiciones si un campo de llave se usa para determinar la estructura de almacenamiento de los datos del archivo se lo llama llave primaria (o principal) del archivo: todas las dems llaves de acceso son llamadas llaves secundarias. desde un punto de vista purista, el trmino inversin implica que los valores de los datos indexados han sido sacados del registro de datos: Residen solamente en el correspondiente ndice de inversin. un archivo completamente invertido tiene un ndice de inversin para cada campo de datos: si los valores correspondientes fueron removidos de los registros de datos: el resultado es que un archivo completamente invertido no necesita tener registros de datos. un archivo que no est completamente invertido, pero tiene al menos un ndice de inversin, se dice que es un archivo parcialmente invertido. conforme se van sacando los valores de llaves de inversin fuera de los registros de datos: se ahorra espacio. el proceso es ms difcil: ej.: la solicitud: cul es el num-socio para la cuenta con id = 335812?, requiere de los siguientes pasos: determinar la direccin del registro con id = 335812 dentro del archivo de datos (la tcnica a utilizar depende de cmo est organizado el archivo). buscar el ndice de inversin num-socio para la direccin anterior (el valor num-socio no est en el registro de datos). podra requerirse una bsqueda secuencial en el ndice de inversin num-socio: se debe a que los ndices de inversin normalmente son estructurados con base en sus valores de llave de inversin y no por las direcciones de los registros de datos.

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:17

    indexacin con direccionamiento indirecto una variante interesante de la estructura de ndice de inversin es la de utilizar un direccionamiento Indirecto. en lugar de acompaar a cada valor num-socio con la direccin del registro de datos correspondiente: las entradas de ndices estn bajo la forma de pares de llaves primarias y secundarias. la ventaja es que el archivo de datos se puede organizar y reestructurar fsicamente sin cambiar los archivos de ndices. la desventaja es que se requiere trabajo extra para encontrar el registro de datos con un valor dado de la llave secundaria: se debe a que el valor correspondiente de la llave primaria debe ser traducido a la direccin del registro de datos. valores de llaves no-nicas los valores num-socio son nicos: cada entrada en el ndice de inversin num-socio tiene un solo registro de datos correspondiente. la inversin tambin puede usarse con llaves que no tienen valores nicos. existen varias opciones cuando una llave secundaria puede tener valores duplicados, lo que significa que su ndice de inversin debera ser capaz de manejar un nmero variable de apuntadores para cada valor de llave: manejar entradas de ndices de longitud variable. para cada valor, asignar espacio para acomodar el nmero mximo de entradas para cualquier valor y manejar entradas ndices de longitud fija. hacer una entrada al ndice para cada par de llaves primaria y secundaria: si el valor de llave x aparece en n registros de datos, existirn n entradas de ndices para el valor x. con cualquiera de estas opciones surge la cuestin de cmo ordenar las entradas de llave primaria para un valor dado: si estn ordenadas en forma ascendente con base en el valor de la llave primaria, conservar este orden Puede hacer que: Los registros sean recuperados ms rpidamente. se genere una sobrecarga cuando se actualicen registros. Organizacin de archivos multilista la organizacin multilista es otro enfoque bsico para suministrar la conexin entre un ndice y el archivo de registros de datos. el enfoque de multilista para instrumentar acceso multillave ha sido la base para estructuras fsicas en muchos sistemas comerciales de administracin de base de datos jerrquicos y de redes: ej.: la familia de sistemas codasyl, total de cincom y El ims de ibm.

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:18

    conceptos bsicos un archivo multilista mantiene un ndice para cada llave secundaria. existe una entrada en el ndice de llave secundaria para cada valor que la llave secundaria tiene actualmente en el archivo de datos. la organizacin de multilista difiere de la de inversin en lo siguiente: la entrada en el ndice de inversin para un valor de llave tiene un apuntador a cada registro de datos con ese valor de llave. la entrada en el ndice de multilista para un valor de llave tiene slo un apuntador al primer registro de datos con ese valor de llave. Este registro de datos contiene un apuntador al siguiente registro de datos con ese valor de llave, y as sucesivamente: hay una lista ligada de registros de datos para cada valor de la llave secundaria. los encadenamientos en multilistas normalmente son bidireccionales y ocasionalmente son circulares, para mejorar la eficiencia de actualizacin. la inversin no afecta al archivo de datos y la multilista s: cada registro debe tener espacio para los apuntadores que instrumentan la accesibilidad De la llave secundaria procesamiento si se debe responder consultas de contabilizacin del tipo: cuntas cuentas hay en sucursal = ne?. cuntas cuentas hay con cdigo-grupo = ea001?. cada entrada a un valor en el ndice de la Multilista debe haber almacenado: No solo un apuntador al primer registro con ese valor de llave. sino tambin la longitud de las entradas de la lista ligada de registros. TEMA 5 Conceptos y arquitectura de un sistema de Base de Datos:

    Evolucin y Comparacin con Archivo. Importancia y Justificacin de su Uso de una Base de Datos. Definiciones y Uso en la Actualidad. Comparacin generalizada entre Modelos de Bases de Datos. Definicin de un DBMS. Componentes. Objetivos. Modelos de Datos. Esquemas e Instancias. Uniformidad e Independencia de Datos. Conceptos del Entorno DBMS.-

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:19

    Evolucin y Comparacin: El ofrecimiento de sistemas de administradores de

    bases de datos se dio recin a mediados de la dcada del 60, el trmino base de datos fue acuado por primera vez en 1963, en un simposio celebrado en California.

    La cantidad de datos de una base de datos, normalmente se mide en Terabytes en las grandes empresas o corporaciones, y en Mega Bytes y Giga Bytes en Empresas ms pequeas. Muchas de estas organizaciones dependen de la operacin continua, ininterrumpida y eficaz de un Sistema de Base de Datos, pues son utilizados en los proceso de toma de decisiones inherentes a la administracin de la misma.

    Inicialmente solo las grandes computadores eran capaces de albergar tanta informacin y a la vez procesarla, pero hoy da y gracias al avance de la tecnologa informtica hizo posible que cualquier PC sea capaz de utilizar un manejador de Base de Datos y con grandes volmenes de informacin.

    De forma sencilla podemos indicar que una base de datos no es ms que un conjunto de informacin relacionada que se encuentra agrupada o estructurada. El archivo por s mismo, no constituye una base de datos, sino ms bien la forma en que est organizada la informacin es la que da origen a la base de datos.

    Las bases de datos manuales, pueden ser difciles de gestionar y modificar, por ejemplo, en una gua de telfonos no es posible encontrar el nmero de telfono de un individuo si no sabemos su apellido, aunque conozcamos su domicilio. Del mismo modo, en un archivo de pacientes en el que la informacin est ordenada por el nombre de los mismos, ser una tarea bastante engorrosa encontrar todos los pacientes que viven por una determinada calle o determinado barrio. Los problemas expuestos anteriormente se pueden resolver creando una base de datos informatizada.

    Desde el punto de vista informtico, una base de datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulan ese conjunto de datos. Desde el punto de vista ms formal, podramos definir una base de datos como un conjunto de datos estructurados, fiables y homogneos, organizados independientemente en mquina, accesibles en tiempo real, compartibles por usuarios concurrentes que tienen necesidades de informacin diferente y no predecibles en el tiempo.

    No podemos comparar directamente Base de Datos con archivos, porque para ello es necesario tener mas de un(1) archivo, pero si esto es as entraramos en los problemas de redundancia de datos, inconsistencia de datos, heterogeneidad de formatos de datos, no podemos compartir datos de las distintas aplicaciones, no manejamos la seguridad de todos los archivos y por ltimo ante pequeas modificaciones en la estructura de los datos requiere de muchas horas de programacin para adecuar las mismas.

    Segn Engles una Base de Datos es un conjunto de datos de operacin almacenados y utilizados por los sistemas de aplicacin de una empresa, y al mencionar Empresa, se lo hace en sentido genrico y amplio, pero lo importante es que necesita de DATOS DE OPERACION referente a su funcionamiento, por ejemplo un Banco requiere datos de sus Clientes, una Mutual de sus Afiliados, un Hospital de sus Pacientes, una Facultad de sus Alumnos y Profesores.

    La idea general es que estamos tratando con una coleccin de datos que cumplen las siguientes propiedades:

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:20

    Estn estructurados independientemente de las aplicaciones y del soporte de almacenamiento que los contiene. Presentan la menor redundancia posible. Son compartidos por varios usuarios y/o aplicaciones.

    Importancia y Justificacin de Uso:

    El desarrollo de los Sistemas de Base de Datos se ha incrementado en los ltimos aos, y esto es debido a las ventajas detalladas a continuacin:

    1. Globalizacin de la Informacin: considera la informacin como un recurso corporativo que carece de dueos especficos.

    2. Eliminacin de la informacin redundante: aqu los sistemas de aplicacin son desarrollados a travs de archivos convencionales, as que si dos sistemas de aplicacin requieren la misma informacin es muy posible que esta se encuentre duplicada.

    3. Eliminacin de informacin inconsistente: aqu si existen dos o ms archivos con la misma informacin, los cambios que se hagan en uno se tendrn que hacer en el otro.

    4. Permiten compartir informacin: aqu los sistemas y usuarios pueden utilizar la misma Base de Datos, sin que esto signifique entorpecer al otro.

    5. Permiten mantener la integridad de la informacin: sta es una de las cualidades altamente deseable y tiene por objetivo que slo se almacene la informacin correcta.

    6. La independencia de datos: esta es la que ms ha ayudado a la rpida proliferacin del desarrollo de los Sistemas de Base de Datos, ya que se dicen que una aplicacin es dependiente en los datos, si es imposible cambiar la estructura de almacenamiento o la estrategia de acceso, sin afectar los programas que lo trabajan.

    Definiciones:

    ENTIDAD: Es cualquier objeto distinguible, que pueda ser representado en una Base de Datos. Es todo aquello que tiene existencia, el universo esta compuesto de infinitas entidades, sabemos lo que es, pero no podemos definirlo, no es un individuo. Al hablar de entidad, hablo de las caractersticas de los componentes de la entidad, y estas caractersticas se denominan atributos de la misma. Estas entidades generalmente son vinculadas por asociaciones, y para una entidad pueden existir varias asociaciones. Una entidad tiene caractersticas que la definen y son inherentes a ella. De la entidad Alumnos de la FACENA, nos interesa, Nro.Lib., Apellido y Nomb., Domicilio, Fecha de Nacimiento, etc., a estas caractersticas se la denominan ATRIBUTOS de la Entidad. Depende de la funcin que se esta buscando desempear estos atributos puede ser trascendente o intrascendente. Si tengo una entidad llamada Provincias limtrofes a Corrientes, esta no formara parte de la Base de Datos, solo tengo los valores, por ejemplo 1-Misiones, 2-Chaco, 3-Entre Ros, 4-Santa Fe, seran los lugares de donde provienen los alumnos de esta Facultad.

    INDIVIDUO O INSTANCIA: Son elementos que forman parte del conjunto entidad, o sea que cumplen con la caracterstica que hacen a la definicin de la entidad. Toda instancia o tupla (definicin de otros autores) debe ser identificada por un valor de atributo o la unin de varios valores de atributos, perteneciendo todos estos a la entidad.

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:21

    ATRIBUTO: Son ciertas caractersticas, o variables, o particularidades, o aspectos de una entidad y deben ser relevantes.

    DOMINIO DE ATRIBUTO: Es el conjunto de posibles valores que puedan tener las

    instancias, para cada uno de los atributos (caractersticas).-.-

    VALOR DEL ATRIBUTO: Es el elemento perteneciente al dominio del atributo que se asigna a la instancia o individuo de la entidad.

    DATO: Es el valor en particular que tiene una determinada instancia, para un determinado atributo. Tambin es el valor almacenado en la interseccin de una fila(instancia o tupla) y una columna(atributo o caracterstica), es el contenido de la celda.-

    Ejemplo:

    PATENTE COLOR AO FABRICACION

    MARCA CANTIDAD de PUERTAS

    GVS286 GRIS 2008 RENAULT 4

    RXG313 Bordo 1995 FIAT 5

    HEI626 Verde 2007 FORD 2

    Entidad: Automviles.-

    Instancia N1: GVS286, GRIS, 2008, RENAULT, 4 .-

    Atributos: Patente, Color, Ao Fabricacin, Marca, Cantidad de Puertas.-

    Dominio del Atributo Marca: Renault, Fiat, Ford.-

    Valor del Atributo Color: Verde.-

    Dato de la Instancia N2 del atributo Color: Bordo.-

    COMPARACION ENTRE MODELOS de BASES DE DATOS: Hoy por hoy ya no tiene sentido comparar modelos de bases

    de datos, por el simple hecho de que el estndar es el modelo Relacional y el modelo Relacional-Extendido, es el mas fcil de usar, mas fcil de comprender, los datos se almacenan en tablas, basta un proceso de normalizacin para no tener inconvenientes al momento de almacenar y recuperar datos. La programacin para las mismas es sencilla y rpida de ejecutar. Acepta fcilmente el lenguaje SQL. Los procesos de Agregado, Borrado o Modificado de instancias son fciles y sencillos.

    Sin embargo en la de RED, su programacin es complicada debido a los punteros hacia arriba y hacia abajo que hay que considerar, el proceso de recuperacin es tedioso y largo, tiene una estructura de almacenamiento fsico con algoritmos que complican su almacenamiento, los procesos de Insercin, Eliminacin y Modificacin son muy complicados, requiere de mucho almacenamiento en disco.

    Ahora el JERARQUICO, su programacin tambin es complicada debido a los punteros hacia abajo que hay que considerar, el proceso de recuperacin es tedioso y largo, tiene una estructura de almacenamiento fsico con algoritmos de apuntadores que complican su almacenamiento, los procesos de Insercin, Eliminacin y Modificacin son muy complicados porque hay que considerar

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:22

    el segmento raz, de no perderlo y tambin de mucho almacenamiento en disco, el loguin requiere de exclusividad de perifricos y mucho almacenamiento.

    Definicin de un DBMS :

    Un DBMS es un sistema de mantenimiento de registros por medio de aplicaciones (programas) para tener acceso a ellos. Comnmente, la base de datos contiene informacin interrelacionada y referente a una misma entidad o empresa. El objetivo primordial de una DBMS es crear un ambiente en el que sea posible almacenar y recuperar informacin en forma eficiente y conveniente.

    Los sistemas de base de datos se disean para manejar grandes cantidades de informacin, la manipulacin de los datos involucra tanto la definicin de estructuras para el almacenamiento de la informacin como la provisin de mecanismos para la manipulacin de la informacin, adems un sistema de base de datos debe de tener implementados mecanismos de seguridad que garanticen la integridad de la informacin, a pesar de cadas del sistema o intentos de accesos no autorizados.

    Un objetivo principal de un sistema de base de datos es proporcionar a los usuarios finales una visin abstracta de los datos, esto se logra escondiendo ciertos detalles de como se almacenan y mantienen los datos.

    Componentes de un DBMS: Datos: estos estn almacenados en una o mas base de datos, es conveniente suponer siempre que hay una sola. Es exclusiva responsabilidad del DBA que esto ocurra. Hardware: es el lugar de residencia de la base de datos, son discos que con dispositivos asociados, permiten el acceso al mismo. Software: es un programa o aplicacin que manipula datos o que hace de sistema administrador de base de datos (DBMS). Usuarios: Son aquellos que por medio del software, y utilizando el hardware, hacen uso de los datos, pero en diferentes niveles, siendo estos los siguientes:

    1-Programador de Aplicaciones: es el encargado de escribir programas en lenguajes de manejadores de bases de datos, tiene por funcin recuperar, crear, suprimir y modificar informacin existente.-

    2-Usuario Final: es aquel que accede nicamente a la informacin, en lenguajes de

    consultas(SQL) proporcionado como parte del sistema o aplicativos.-

    3-Administrador de Bases de Datos(DBA): es el que decide con respecto a las

    bases, en que dispositivo fsico, cuando reorganizar, cuando realizar un backup, cuida la integridad de los datos, hace cumplir las normas de seguridad con respecto al acceso de la informacin.-

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:23

    Objetivos de un DBMS: Los objetivos principales de un sistema de base de datos es la de cumplir con el mximo de eficacia con los siguientes aspectos: 1)Evitar la redundancia: al no tener la misma informacin en diferentes archivos, a pesar de que a veces por estrategia comercial es conveniente, pero acarrea otros problemas en la parte de actualizacin.-

    2) Evitar la inconsistencia: como consecuencia de lo anterior, la informacin de un articulo actualizado y el otro no, es una base de datos inconsistente, acarrea informacin incorrecta o contradictoria (Descripcin, cantidad, precio). Salvo la existencia de PROPAGACION DE ACTUALIZACIONES.-

    3)Datos Compartidos: la informacin de la base de datos, es utilizada por las distintas aplicaciones de la empresa, y al crear nuevas aplicaciones solo se agregan datos o se ocupa la que hay en la base, sin crear nuevos archivos.-

    4)Normas para los datos: siempre es conveniente unificar formatos de datos almacenados, para el intercambio o migracin de datos entre sistemas de Bases de Datos.

    5)Seguridad de datos: con respecto al acceso, que sean por los canales definidos oportunamente, estableciendo con esto niveles, y as tener el control total de acceso a los datos. En los no centralizado es mas difcil todava. 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 seguridad slo necesita ver si la persona que ingresa es cliente o no, no as si este tiene saldo acreedor o deudor, o si tiene caja de ahorro y cuenta corriente.

    6)Conservar la Integridad: con esto se garantiza que los datos de la base de datos sean exactos. La inconsistencia entre dos entradas del mismo hecho.

    7)Evitar el aislamiento de los datos: Puesto que los datos pueden estar repartidos en varias tablas o bases de datos, hay que proporcionar aplicativos que tengan acceso a todos y cada uno de ellos. 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 3400 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.

    8)Anomalas del acceso concurrente: Para mejorar el funcionamiento global del sistema y obtener un tiempo de respuesta ms rpido, muchos sistemas permiten que

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:24

    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.

    9)Equilibrio de Requerimientos: el DBA deber determinar, acordes a normas de la empresa, las tcnicas de acceso, manteniendo uniformidad y equilibrio para cada uno de ellos. No debe modificar estructuras para facilitar el acceso.

    Uniformidad de Datos:

    La definicin de campos en toda Base de Datos debe ser nica para todos los posibles valores del atributo. No se puede asignar el campo Saldo de un cliente de Banco, para cierta situacin 7 enteros y 2 decimales, y para otra 11 enteros y 3 decimales.

    El DBA debe tener la libertad de modificar estructuras y accesos, sin que esto signifique cambios en la aplicacin.

    La provisin de independencia de datos, es uno de los objetivos esenciales de un sistema de bases de datos.

    Independencia de Datos:

    Es la inmunidad de las aplicaciones a los cambios de la estructura de

    almacenamiento y la estrategia de acceso. La existencia de independencia de datos es lo que hace que una base de datos crezca sin afectar a las aplicaciones.-

    Conceptos de un Entorno DBMS:

    Campo almacenado: es la unidad de datos mas pequea en una Base de Datos. Registro almacenado: es un conjunto de campos de iguales o de diferentes tipos, asociados de una Base de Datos. Ocurrencia o Instancia: es la unidad de acceso a la Base de Datos, o la unidad que el DBMS puede recuperar o almacenar en una Base de Datos. Archivo almacenado: es el conjunto de ocurrencia de una Base de Datos o coleccin de instancias almacenadas siguiendo una estructura homognea.

    Tema 6 Administrador De Bases De Datos(DBA). Definicin. Historia. Principales Funciones y Responsabilidades. Administracin de Estructuras, Actividades y Sistemas. Diccionario de Datos. Tipos de Concesiones, Modificaciones, restricciones y Control. Tareas Dentro de Cada Modelo de Base de Datos. Programas para los DBA.

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:25

    Definicin: Persona o grupo de personas encargada del funcionamiento general del Sistema de Base de Datos, facilitando el desarrollo y el uso de la misma dentro de una Institucin u Organismo.

    Historia:

    El alcance de la actividad de la Administracin de Datos es la organizacin completa (empresa, institucin u otro organismo), mientras que el alcance de la Administracin de Bases de Datos queda restringido a una Base de Datos en particular y a los sistemas que los procesan. La Administracin de la Base de Datos opera dentro de un marco proporcionado por la Administracin de Datos facilitndose de esta manera el desarrollo y el uso de una Base de Datos y sus aplicaciones. Las siglas DBA suelen utilizarse para designar tanto la funcin Administracin de Base de Datos como al titulo del puesto Administrador de Base de Datos.

    Principales Funciones y Responsabilidades:

    En los distintos niveles y aplicaciones de Base de Datos existe la funcin DBA, aunque varia en complejidad. Esta es ms sencilla cuando se trata de una Base de Datos Personal que cuando se refiere a una Base de Datos de grupos de trabajo, y esta a su vez es ms sencilla que en una Base de Datos Organizacional. En una Base de Datos Personal comnmente el mismo usuario es el Administrador de la Base de Datos; las Bases de Datos de grupos de trabajo requieren de una o dos personas que normalmente no se dedican a esta funcin de tiempo completo puesto que tienen otras responsabilidades dentro o fuera de la organizacin. En las Bases de Datos Organizacionales, que comnmente permiten el acceso a decenas e incluso centenas de usuarios, se requiere de un administrador de Base de Datos de tiempo completo; lo anterior es debido al alto volumen de procesos que deben desarrollarse, controlarse y supervisarse. Un Administrador de Base de Datos de tiempo completo normalmente tiene aptitudes tcnicas para el manejo del sistema en cuestin, a dems son cualidades deseables nociones de administracin, manejo de personal e incluso un cierto grado de diplomacia. La caracterstica ms importante que debe poseer es un conocimiento profundo de las polticas y normas de la empresa as como el criterio de la empresa para aplicarlas en un momento dado.

    Funciones: Funciones del DBA segn DATE(autor de Libros e investigador): Definir El Esquema Conceptual: es tarea del administrador de datos decidir con exactitud cual es la informacin que debe mantenerse en la base de datos, es decir, identificar las entidades que interesan a la empresa y la informacin que debe registrarse acerca de esas entidades. Este proceso por lo general se denomina diseo lgico a veces conceptual- de bases de datos. Cuando el administrador de datos decide el contenido de la base de datos en un nivel abstracto, el DBA crea a continuacin el esquema conceptual correspondiente, empleando el DDL conceptual. El

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:26

    DBMS utilizar la versin objeto (compilada) de ese esquema para responder a las solicitudes de acceso. La versin fuente sin compilar servir como documento de referencia para los usuarios del sistema.

    Definir El Esquema Interno: el DBA debe decidir tambin como se representar la informacin en la base de datos almacenada. A este proceso suele llamrsele diseo fsico de la base de datos. Una vez hecho esto el DBA deber crear la definicin de estructura de almacenamiento correspondiente (es decir el esquema interno) valindose del DDL interno. Adems deber definir la correspondencia pertinente entre los esquemas interno y conceptual. En la prctica, ya sea el DDL conceptual o bien el DDL interno incluirn seguramente los medios para definir dicha correspondencia, pero las dos funciones (crear el esquema, definir la correspondencia) debern poder separarse con nitidez. Al igual que el esquema conceptual, el esquema interno y la correspondencia asociada existirn tanto en la versin fuente como en la versin objeto.

    Vincularse Con Los Usuarios: el DBA debe encargarse de la comunicacin con

    los usuarios, garantizar la disponibilidad de los datos que requieren y escribir - o ayudar a los usuarios a escribir- los esquemas externos necesarios, empleando el DDL externo aplicable. Adems, ser preciso definir la correspondencia entre cualquier esquema externo y el esquema conceptual. En la prctica, el DDL externo incluir con toda probabilidad los medios para especificar dicha correspondencia, pero en este caso tambin el esquema y la correspondencia debern poder separarse con claridad. Cada esquema externo y la correspondencia asociada existirn en ambas versiones fuentes y objeto. Otros aspectos de la funcin de enlace con los usuarios incluyen las consultas sobre diseo de aplicaciones, la impetracin de instruccin tcnica, la ayuda en la localizacin y resolucin de problemas, y otros servicios profesionales similares relacionados con el sistema.

    Definir las Verificaciones de Seguridad e Integridad: las verificaciones de seguridad y de integridad pueden considerarse parte del esquema conceptual. El DDL conceptual incluir los medios para especificar dichas verificaciones.

    Definir Procedimientos de Respaldo y Recuperacin: cuando una empresa se decide a utilizar un sistema de base de datos, se vuelve dependiente en grado mximo del funcionamiento correcto de ese sistema. En caso de que sufra dao cualquier porcin de la base de datos por causa de un error humano, digamos, o una falla en el equipo o en el sistema que lo apoya resulta esencial poder reparar los datos implicados con un mnimo de retraso y afectando lo menos posible el resto del sistema. En teora, por ejemplo la disponibilidad de los datos no daados no debera verse afectada. El DBA debe definir y poner en prctica un plan de recuperacin adecuada que incluya, por ejemplo una descarga o "vaciado" peridico de la base de datos en un medio de almacenamiento de respaldo, y procedimientos para cargar otra vez la base de datos a partir de vaciado ms reciente cuando sea necesario.

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:27

    Supervisar el Desempeo y Responder a Cambios en los Requerimientos: Es

    responsabilidad del DBA organizar el sistema de modo que se obtenga el desempeo que sea "mejor para la empresa", y realizar los ajustes apropiados

    cuando cambien los requerimientos.

    Funciones Del DBA Segn KORTH(autor de Libros e investigador) Definicin del Esquema: el esquema original de la base de datos se crea escribiendo un conjunto de definiciones que son traducidas por el compilador de DDL a un conjunto de tablas que son almacenadas permanentemente en el DICCIONARIO DE DATOS.

    Definicin de la Estructura de Almacenamiento y del Mtodo de Acceso: estructuras de almacenamiento y mtodos de acceso adecuados se crean escribiendo un conjunto de definiciones que son traducidas por el compilador del lenguaje de almacenamiento y definicin de datos.

    Modificacin del Esquema y de la Organizacin Fsica: las modificaciones, tanto al esquema de la base de datos como a la descripcin de la organizacin fsica de almacenamiento, aunque relativamente poco comunes, se logran escribiendo un conjunto de definiciones que son usadas bien por el compilador del DDL o bien por el compilador del lenguaje de almacenamiento y definicin de datos para generar modificaciones a las tablas internas apropiadas del sistema (por ejemplo, el diccionario de datos).

    Concesin de Autorizacin para el Acceso a los Datos: la concesin de diferentes tipos de autorizacin permite al administrador de la base de datos regular qu partes de la base de datos van a poder ser accedidas por varios usuarios.

    Especificacin de las Restricciones de Integridad: las restricciones de integridad se mantienen en una estructura especial del sistema que consulta el gestor de la base de datos cada vez que tiene lugar una actualizacin en el sistema.

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:28

    Responsabilidades:

    Cuando hablamos de Responsabilidad, tambin hay muchas para el DBA, pero especialmente se pueden citar las siguientes:

    Administrar la estructura de la Base de Datos Administrar la actividad de los datos Administrar el Sistema Manejador de Base de Datos Establecer el Diccionario de Datos

    Administracin de la Estructura de la Base De Datos:

    La administracin de la estructura de la Base de Datos incluye participar en el diseo inicial de la misma y su puesta en prctica as como controlar, y administrar sus requerimientos, ayudando a evaluar alternativas, incluyendo los DBMS a utilizar y ayudando en el diseo general de BD. En los casos de grandes aplicaciones de tipo organizacional, el DBA es un gerente que supervisa el trabajo del personal de diseo de la BD.

    Una vez diseada la BD, es puesta en prctica utilizando productos del DBMS, procedindose entonces a la creacin de los datos (captura inicial). El DBA participa en el desarrollo de procedimientos y controles para asegurar la calidad y la alta integridad de la BD.

    Los requerimientos de los usuarios van modificndose, estos encuentran nuevas formas o mtodos para lograr sus objetivos; la tecnologa de la BD se va modificando y los fabricantes del DBMS actualizan sus productos. Todas las modificaciones en las estructuras o procedimientos de BD requieren de una cuidadosa administracin.

    Implicaciones Por La Modificacin de Esquemas:

    Las solicitudes de modificacin son inevitables una vez que el sistema ha entrado en operacin, pueden aparecer solicitudes de nuevos requerimientos o estos pueden resultar de una comprensin inadecuada de los mismos. En cualquier caso, debern efectuarse modificaciones en relacin con toda la comunidad de la BD, ya que el impacto de tales alteraciones ser resentido por ms de una aplicacin. En algunos casos, pueden darse modificaciones que presentan efectos negativos para algunos usuarios; estos casos debern ser tratados esgrimiendo como argumento los beneficios globales que sern obtenidos de tales alteraciones.

    Una administracin eficaz de la BD debe incluir procedimientos y polticas mediante las cuales los usuarios puedan registrar sus necesidades de modificaciones, y as la comunidad podr analizar y discutir los impactos de

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:29

    dichas modificaciones, determinndose entonces la puesta o no en practica de tales alteraciones.

    En razn del tamao y complejidad de una BD y de sus aplicaciones, las modificaciones pudieran tener resultados inesperados. El DBA debe estar preparado para reparar la BD y reunir suficiente informacin para diagnosticar y corregir el problema provocado por la falla. Despus de un cambio la BD es ms vulnerable a fallas.

    Documentacin:

    La responsabilidad final de un DBA en la administracin de la estructura de una BD es la DOCUMENTACIN. Es de suma importancia saber que modificaciones han sido efectuadas, como fueron realizadas y cuando fueron establecidas. Una modificacin sobre la estructura de la BD pudiera ocasionar un error que no apareciera a corto plazo; una vez que este surja, sin la documentacin adecuada sobre las modificaciones realizadas, l diagnostico resultara extremadamente complicado. En estos casos, se hara necesaria una secuencia de reejecuciones para intentar detectar el punto en conflicto; el riesgo de este procedimiento radica en que es posible afectar la informacin contenida en la BD. Para identificar un cambio es de suma importancia mantener un registro de los formatos de prueba y de las ejecuciones de las pruebas efectuadas. Si se utilizan procedimientos de prueba formatos de pruebas y mtodos de registro estandarizados, el registro de los resultados de la prueba no consumir tiempo excesivo.

    Comnmente el tiempo de la documentacin es tedioso y esto ocasiona que algunos DBA tienden a reducir o abreviar la informacin que se registra en ella e incluso llegan a desatenderla. Cuando ocurre un siniestro, la documentacin completa y organizada puede ser la diferencia entre resolver o no un problema de extrema importancia y en la mayora de los casos, que implica costos cuantiosos a la empresa.

    La tarea de la documentacin es cada vez ms ligera y precisa cuando se utilizan DBMS que integran herramientas CASE para las tareas de diseo, mantenimiento y documentacin. Estas mismas herramientas CASE proporcionan en la mayora de los casos la facilidad de generar y mantener en forma automtica el Diccionario de Datos.

    Una razn ms para documentar consiste en la necesidad de mantener organizados datos histricos. Ocurre comnmente que se desea realizar una consulta sobre los respaldos para conocer el estado que guardaba la informacin en un periodo determinado que transcurri previamente. Los registros de modificacin existentes en la documentacin permitirn resolver problemas de incompatibilidad entre las estructuras que eran vigentes en el periodo de respaldo y las que lo son ahora; permitir tambin el desarrollo de

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:30

    mdulos de ajuste que faciliten la traduccin de formatos y/o escalas para valores almacenados.

    En los casos de cadas del sistema se presenta una situacin parecida; los respaldos son requeridos y habr de verificarse su estructura; formato y escala para integrarlos a la operacin del sistema.

    Administracin de la Actividad de Datos

    Aunque el DBA protege los datos, no los procesa. El DBA no es usuario del sistema, en consecuencia, no administra valores de datos; el DBA administra actividad de datos. Dado que la BD es un recurso compartido, el DBA debe proporcionar estndares, guas de accin, procedimientos de control y la documentacin necesaria para garantizar que los usuarios trabajen en forma cooperativa y complementaria al procesar datos en la BD.

    Como es de suponerse, existe una gran actividad al interior de un DBMS. La concurrencia de mltiples usuarios requieren de estandarizar los procesos de operacin; el DBA es responsable de tales especificaciones y de asegurarse que estas lleguen a quienes concierne. Todo el mbito de la BD se rige por estndares, desde la forma como se capture la informacin (tipo, longitud, formato), como es procesada y presentada. El nivel de estandarizacin alcanza hasta los aspectos ms internos de la BD; como s accede un archivo, como se determinan los ndices primarios y auxiliares, la foliacin de los registros y dems.

    Debe procurarse siempre que los estndares que sern aplicados beneficien tambin a los usuarios, privilegiando siempre la optimizacin en la operacin del DBMS y el apego de las polticas de la empresa.

    Una administracin de BD efectiva deber disponer siempre de este tipo de estndares; entre las funciones del DBA se encuentra la de revisarlos peridicamente para determinar su operatividad, y en su caso ajustarlos, ampliarlos o cancelarlos. Es tambin su responsabilidad el que estos se cumplan.

    Cuando se definen estndares sobre la estructura de la BD, estos deben registrarse en una seccin del diccionario de datos a la que todos aquellos usuarios relacionados con ese tipo de proceso pueden acceder.

    Otro de los aspectos que el administrador debe atender es el de coordinar las nuevas propuestas para realizar ajustes en los derechos de acceso a datos compartidos y aplicaciones especficamente, propuestas seran analizados en conjunto con los supervisores o directivos de las reas involucradas para determinar que si procede, pudieran aparecer problemas cuando dos o ms grupos de usuarios quedan autorizados para modificar los mismos datos. Uno de tales conflictos es el de la actualizacin perdida; este ocurre cuando el

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:31

    trabajo de un usuario queda sobrescrito sobre por el de un segundo usuario. El DBA queda responsabilizado para identificar la posible ocurrencia de dichos problemas as como de crear normas y procedimientos para su eliminacin. Se obtendrn este tipo de garantas cuando el DBMS sea capaz de implementar las restricciones aplicables al acceso concurrente, y este sea utilizado adecuadamente por programadores y usuarios; para borrar lo anterior, se hace indispensable el apego a los estndares el seguimiento de instructivos y manuales y las reglas establecidas para los diversos procesamientos y procedimientos que se llevan acabo.

    Entre las alternativas mas utilizadas por el DBA para tratar de resolver o minimizar este problema se encuentran las siguientes:

    Restringir el acceso a los procedimientos para ciertos usuarios. Restringir el acceso a los datos para ciertos usuarios, procedimientos y/o

    datos. Evitar la coincidencia de horarios para usuarios que comparten.

    Las tcnicas de recuperacin son otra funcin esencial del DBA al administrar la actividad de datos. A pesar de que el DBMS lleva a cabo una parte del proceso de recuperacin, los usuarios determinan en forma critica la operatividad de esos sistemas de proteccin. El DBA debe anticipar fallas y definir procedimientos estndares de operacin; los usuarios deben saber que hacer cuando el sistema este cado y que es lo primero que debe realizarse cuando el sistema este puesto en marcha nuevamente. El personal de operacin deber saber como iniciar el proceso de recuperacin de la BD que copias de seguridad utilizar; como programar la reejecucin del tiempo perdido y de las tareas pendientes; es importante tambin establecer un calendario para llevar a cabo estas actividades sin afectar a otros sistemas dentro de la organizacin que hagan uso de los mismos recursos de computo. Destacan por su importancia en el proceso de recuperacin y a su vez en la atencin que prestan a otros sectores de la organizacin. Los dispositivos de comunicacin remota, los sistemas de interconexin y otros accesorios de uso compartido.

    El DBA es el responsable de la publicacin y mantenimiento de la documentacin en relacin con la actividad de los datos, incluyendo los estndares de la BD, los derechos de recuperacin y de acceso a la BD, los estndares para la recuperacin de cadas y el cumplimiento de las polticas establecidas. Los productos DBMS ms populares que se encuentran en el mercado proporcionan servicios de utileras para ayudar al DBA en la administracin de los datos y su actividad. Algunos sistemas registran en forma automtica los nombres de los usuarios y de las aplicaciones a las que tienen acceso as como a otros objetos de la BD. Incorpora tambin utileras que permitan definir en el diccionario de datos las restricciones para que determinadas aplicaciones o mdulos de ellas solo tengan acceso a segmentos especficos de la BD.

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:32

    Administracin Del DBMS:

    A dems de administrar la actividad de datos y la estructura de la BD, el DBA

    debe administrar el DBMS mismo. Deber compilar y analizar estadsticas relativas al rendimiento del sistema e identificar reas potenciales del problema. Dado que la BD esta sirviendo a muchos grupos de usuarios, el DBA requiere investigar todas las quejas sobre el tiempo de respuesta del sistema, la precisin de los datos y la facilidad de uso. Si se requieren cambios el DBA deber planearlos y ponerlos en prctica.

    El DBA deber vigilar peridica y continuamente las actividades de los usuarios en la BD. Los productos DBMS incluyen tecnologas que renen y publican estadsticas. Estos informes pudieran indicar cuales fueron los usuarios activos, que archivos y que elementos de datos han sido utilizados, e incluso el mtodo de acceso que se ha aplicado. Pueden capturarse y reportarse las tasas de error y los tipos de errores. El DBA analizar estos datos para determinar si se necesita una modificacin en el diseo de la BD para manejar su rendimiento o para facilitar las tareas de los usuarios; de ser as, el DBA la llevar a cabo.

    El DBA deber analizar las estadsticas de tiempo de ejecucin sobre la actividad de la BD y su rendimiento. Cuando se identifique un problema de rendimiento, ya sea mediante una queja o un informe, el DBA deber determinar si resulta apropiada una modificacin a la estructura de la BD o al sistema. Casos como la adicin de nuevas claves o su eliminacin, nuevas relaciones entre los datos y otras situaciones tpicas debern ser analizadas para determinar el tipo de modificacin procedente.

    Cuando el fabricante del DBMS en uso anuncie una nueva versin del producto, debe realizarse un anlisis de las caractersticas que esta incorpora y compararla contra las necesidades de la comunidad de usuarios. Si se decide la adquisicin del producto, los usuarios deben ser notificados y capacitados en su uso. El DBA deber administrar y controlar la migracin tanto de las estructuras, como de los datos y las aplicaciones.

    El software de soporte y otras caractersticas de hardware pueden implicar tambin modificaciones de las que el DBA es responsable ocasionalmente, estas modificaciones traen como consecuencia cambios en la configuracin o en algunos parmetros de operacin del DBMS.

    Las opciones del DBMS son ajustadas al principio, es decir, en la puesta en marcha del sistema; en este momento se conoce muy poca informacin sobre las caractersticas de funcionamiento y respuesta que proporcionar a los grupos de usuarios. El anlisis de la experiencia operacional y su rendimiento en un periodo determinado de tiempo pudieran revelar que se requiere un campo. Si el rendimiento parece aceptable, el DBA puede considerar a un modificar algunas opciones y observar su efecto sobre el sistema, esto en bsqueda de la optimizacin o afinacin del mismo.

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:33

    Diccionario de Datos:

    El diccionario de datos es un listado organizado de todos los datos pertinentes al sistema con definiciones precisas y rigurosas para que tanto el usuario como el analista tengan un entendimiento comn de todas las entradas, salidas, componentes de almacenes y clculos intermedios.

    El diccionario contiene dos tipos de datos y estructuras de datos. Los elementos de datos se agrupan para formar una estructura de datos.

    Elemento dato: El nivel ms importante de datos es el elemento dato. (Es probable que usted conozca otros nombres que se le dan a este trmino: campo dato o parte elemental). Ninguna unidad ms pequea tiene significado para los analistas de sistemas o usuarios. Los elementos dato son los bloques bsicos para todos los dems datos del sistema. Por si mismo no conllevan suficiente significado para ningn usuario.

    Estructuras de datos: Una estructura de datos es un grupo de datos

    elementales que estn relacionados con otros y que en conjunto describen un componente del sistema

    El diccionario de datos define los datos haciendo lo siguiente:

    Describe el significado de los flujos y almacenes que se muestran en el DFD

    Describe la composicin de agregados de paquetes de datos que se mueven a lo largo de los flujos, es decir, paquetes complejos que pueden descomponerse en unidades ms elementales.

    Describe la composicin de los paquetes de datos de los almacenes Especifica los valores y unidades relevantes de piezas elementales de

    informacin en los flujos de datos y los almacenes de datos

    Una de las nomenclaturas mas usadas es:

    = est compuesto de + y () optativo (puede estar presente o ausente) {} iteracin [] seleccionar una de varias alternativas ** comentario @ identificador (campo clave) para un almacn | separa opciones alternativas en la construccin

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:34

    Alguno Ejemplos Prcticos: Estructura nombre=ttulo de cortesa + nombre + (segundo nombre) + apellido

    ttulo de cortesa = [Sr. | Srta. | Sra. | Dr. | Prof.] nombre = {carcter vlido} segundo nombre = {carcter vlido} apellido = {carcter vlido} carcter vlido = [ A-Z | a-z | | - ] sexo = [Femenino | Masculino] tipo de cliente = [Gobierno | Industria | Universidad | Otro] Factura-cliente= Identificacin de factura + Fecha-factura + Nombre-cliente + Direccin del paciente + Inf-servicio + costo de los servicio; *Registro donde contiene todos los datos de una factura de un cliente* @ Identificacin de factura= * nmero de la factura; * escala: 1 - 36500 3. Hay que asegurar que dicho Nro. de Factura encaje en la escala* IMPORTANCIA DEL DICCIONARIO DE DATOS Los analistas utilizan los diccionarios de datos por cinco razones importantes:

    1. Para manejar los detalles en sistemas grandes. 2. Para comunicar un significado comn para todos los elementos del

    sistema. 3. Para documentar las caractersticas del sistema. 4. Para facilitar el anlisis de los detalles con la finalidad de evaluar las

    caractersticas y determinar dnde efectuar cambios en el sistema. 5. Localizar errores y omisiones en el sistema.

    Manejo de detalles

    Los sistemas grandes tienen enormes volmenes de datos

    que fluyen por ellos en forma de documentos, reportes e incluso plticas. De manera similar, se llevan a cabo muchas actividades que utilizan los datos existentes o que generan nuevos detalles.

    Comunicacin de significados

    Los diccionarios de datos proporcionan asistencia para asegurar significados comunes para los elementos y actividades del sistema.

    Documentacin de las caractersticas del sistema

    Documentar las caractersticas de un sistema es la tercera razn para utilizar los sistemas de diccionario de datos. Las caractersticas incluyen partes o componentes as como los aspectos que los distinguen.

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:35

    Facilidades de anlisis

    La cuarta razn para hacer uso de los diccionarios de datos es determinar si son necesarias nuevas caractersticas o si estn en orden los cambios de cualquier tipo.

    Los analistas de sistemas abordan las siguientes caractersticas del sistema:

    Naturaleza de las transacciones: Las actividades de la empresa que

    se llevan a cabo mientras se emplea el sistema, incluidos los datos necesarios para aceptar, autentificar y procesar cada actividad.

    Salida y generacin de reportes : Resultados del procesamiento hecho por el sistema que son presentados a los usuarios en una forma aceptable para ellos.

    Archivo y bases de datos : Detalles de las transacciones y registros maestros que son de inters para la organizacin.

    Capacidad del sistema: Habilidad del sistema para aceptar, procesar y almacenar transacciones y datos.

    Localizacin de errores y omisiones: Tener informacin en un diccionario relacionada con las caractersticas del sistema - transacciones, consultas, datos y capacidad - dice mucho con respecto al sistema y permite evaluarlo. Pero para esto es necesario saber que la propia informacin es completa y exacta consiguiente, los diccionarios se emplean por una quinta razn: localizar errores en la descripcin del sistema.

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:36

    Tema 8 El Modelo Entidad Relacin.- Entidades y Conjuntos de Entidades. Relaciones y Conjunto de Relaciones. Limitantes del Mapeo. Llaves. Diagramas de Entidad-Relacin. Reduccin de Diagramas a Tablas. Conversiones del modelo E-R lgico al modelo relacional. Estudio de Casos. Relaciones binarias, n-arias y recursivas. Generalizacin y Especializacin. Agregacin.

    Modelo Entidad-Relacin:

    Es uno de los modelos lgicos basados en objetos y por lo tanto se enfoca primordialmente a los niveles conceptuales y de visin. Una de las caractersticas de este modelo es que permite representar con claridad las limitantes de los datos. El modelo Entidad-Relacin es en esencia una herramienta para representar el mundo real por medio de simbologas y expresiones determinadas. Entidades y Conjuntos de Entidades:

    Una entidad es un objeto que existe y puede ser distinguido de otro objeto. Una entidad puede ser concreta (un libro, un automvil

    etc.) o abstracta (fecha, edad, etc.). Un conjunto de entidades es un grupo de

    entidades del mismo tipo. Una entidad puede pertenecer a ms de un conjunto de entidades a la vez. Por ejemplo, la entidad persona puede ser parte de los conjuntos de entidades alumnos, empleados, clientes etc.

    Una entidad se distingue de otra porque posee ciertas caractersticas que la hacen nica. A estas caractersticas se les conoce como atributo. El rango de valores validos para un atributo determinado ser conocido como dominio del atributo. Ejemplo: Entidad Alumno: Atributos: LU, Apellido y Nombres, Edad, TE, Carrera.

    Una entidad se describe por un conjunto de parejas en el siguiente formato (atributo, valor del dato); debiendo especificarse una pareja por cada atributo de la entidad. Ejemplo: {(LU, 17425), (Apellido y Nombres, Prez Juan),(Edad,21),(TE, 433648), (Carrera ,LS)} Relaciones y Conjuntos de Relaciones:

    Una relacin es una asociacin entre varias entidades. Un conjunto de relaciones, un grupo de relaciones del mismo tipo.

    La mayora de las relaciones son BINARIAS; no obstante, pueden existir relaciones que incluyan a ms de dos conjuntos de entidades.

    Normalmente asocian a dos conjuntos de entidades y la relacin tendr una funcin determinada; a esta se le denomina papel. Normalmente se utilizan los papeles para etiquetar y as reconocer las relaciones establecidas.

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:37

    Retira

    Las relaciones tambin pueden tener

    atributos descriptivos, en cuyo caso, la relacin se describe indicando la pareja

    (atributo, ultimo valor del atributo) sobre la relacin.

    Retira

    Limitantes del Mapeo:

    El modelo E-R permite definir una serie de limitantes aplicables en la informacin contenida en la base de datos, bsicamente pueden definirse dos tipos de limitantes:

    1)Cardinalidad del Mapeo: es aquella mediante la cual puede especificarse la cantidad de entidades que podrn asociarse mediante una relacin, esta se aplica generalmente sobre dos conjuntos de entidades. Las cardinalidades existente para dos conjuntos de entidades M y N, y conjunto de relaciones R pueden ser:

    Uno a Uno: Una ocurrencia de la entidad A est asociada con a lo sumo una ocurrencia de la entidad B y una ocurrencia de la entidad B est asociada con a lo sumo una ocurrencia de la entidad A.

    Ejemplo: El DNI de un empleado de una Banco tiene asociado un solo nmero de Legajo, y para cada nmero de legajo hay uno solo DNI

    Uno a Muchos: Una ocurrencia de la entidad A est asociada con cualquier nmero de ocurrencias de la entidad B, pero toda ocurrencia de una entidad B solo puede estar asociada con una ocurrencia de la entidad A.

    Alumno

    Libro

    Alumno

    (Prez Juan)

    Libro

    (Algebra)

    A

    B

  • Asignatura: Base de Datos I TEORIA Ao: 2013-2C

    Prof.: Esp. Juan Domingo Tonsich Hoja N:38

    Ejemplo: Un Pas tiene asociado muchas provincias, pero cada provincia tiene asociado un solo Pas.-

    Muchos a Muchos: Cualquier nmero de ocurrencias de la entidad A est asociada con cualquier nmero de ocurrencias de la entidad B, y cualquier ocurrencia de una entidad B est asociada con cualquier nmero de ocurrencias de la entidad A.

    Ejemplo: Un alumno tiene asociado muchas materias, y una materia tiene asociado muchos alumnos.-

    2)Dependencia de Existencia: Nos permiten definir que un conjunto de entidades esta condicionado a la existencia de otro, un ejemplo de este condicionamiento se da entre una entidad alumno y la entidad calificacin.

    A esta limitante se le denomina dependencia por existencia. Si una entidad Y requiere de una entidad X para existir se dice que Y es dependiente por existencia de X; esto implica que si eliminamos a la entidad X; deber eliminarse la entidad Y.

    Para el caso anterior, se nombrara a X como la

    entidad dominante, y a Y como entidad subordinada.

    LLAVES o CLAVES:

    Uno de los procesos de mayor relevancia en la manipulacin de una base de datos es el de distinguir entre las diversas entidades y relaciones que son manipuladas. Entendemos como una llave o clave al medio que nos permite identificar en forma unvoca (nica e inequvoca) a una entidad dentro de un conjunto de entidades.

    Existen diversas categoras que permiten clasificar los