bases de datos i,ensayo

51
BASES DE DATOS I UNIDAD I. INTRODUCCION A LOS CONCEPTOS DE BASE DE DATOS 1. DEFINICION DE BASES DE DATOS Una base de datos es un conjunto autodescriptivo de registros integrados. Una base de datos es autodescriptiva: porque además de los datos fuente del usuario contiene también una descripción de su propia estructura. Tal descripción es conocida como diccionario de datos (o directorio de datos o metadatos). La autodescripción de una base de datos es importante porque promueve la independencia entre el programa y los datos, ya que hace posible determinar la estructura y el contenido de la base de datos examinando la misma. Si cambia la estructura de los datos en la base de datos (por ejemplo agregar un campo), solo se introduce el cambio al diccionario de datos. JERARQUIA DE LOS DATOS La jerarquía normal de los datos es: los bits conforman bytes o caracteres; los caracteres constituyen campos; los campos integran registros y los registros componen archivos. Una base de datos incluye arc hivos de datos del usuario y más. Como se menciona una base de datos contiene una descripción de sí misma en los metadatos. Una base de datos incluye índices que se usan para representar las relaciones entre los datos y para mejorar el desempeño de la base de datos. L a base de datos contiene a veces la información de las aplicaciones que las utilizan. La ultima categoría de los datos se denomina metadatos de aplicación. Bits ( Bytes o caracteres ( Campos ( Registros ( Archivos. Una base de datos contiene l os siguientes tipos de datos: a) Archivos de datosdel usuario. b) Metadatos c) Índices d) Metadatos de aplicación 1.2. OBJETIVOS DE LOS SISTEMAS DE BASES DE DATOS

Upload: wero88wero

Post on 10-Oct-2015

41 views

Category:

Documents


0 download

TRANSCRIPT

  • 5/20/2018 Bases de Datos i,Ensayo

    1/51

    BASES DE DATOS I

    UNIDAD I. INTRODUCCION A LOS CONCEPTOS DE BASE DE DATOS

    1. DEFINICION DE BASES DE DATOS

    Una base de datos es un conjunto autodescriptivo de registros integrados.

    Una base de datos es autodescriptiva: porque adems de los datos fuente del usuario contiene

    tambin una descripcin de su propia estructura. Tal descripcin es conocida como diccionario

    de datos (o directorio de datos o metadatos).

    La autodescripcin de una base de datos es importante porque promueve la independencia

    entre el programa y los datos, ya que hace posible determinar la estructura y el contenido de

    la base de datos examinando la misma.

    Si cambia la estructura de los datos en la base de datos (por ejemplo agregar un campo), solo

    se introduce el cambio al diccionario de datos.

    JERARQUIA DE LOS DATOS

    La jerarqua normal de los datos es: los bits conforman bytes o caracteres; los caracteres

    constituyen campos; los campos integran registros y los registros componen archivos.

    Una base de datos incluye archivos de datos del usuario y ms. Como se menciona una base de

    datos contiene una descripcin de s misma en los metadatos. Una base de datos incluye

    ndices que se usan para representar las relaciones entre los datos y para mejorar el

    desempeo de la base de datos. La base de datos contiene a veces la informacin de las

    aplicaciones que las utilizan. La ultima categora de los datos se denomina metadatos de

    aplicacin.

    Bits ( Bytes o caracteres ( Campos ( Registros ( Archivos.

    Una base de datos contiene los siguientes tipos de datos:

    a) Archivos de datosdel usuario.

    b) Metadatos

    c) ndices

    d) Metadatos de aplicacin

    1.2. OBJETIVOS DE LOS SISTEMAS DE BASES DE DATOS

  • 5/20/2018 Bases de Datos i,Ensayo

    2/51

    De los sistemas tradicionales de Archivos a las Bases de Datos.

    Los sistemas informticos tradicionales han sido llamados sistemas orientados hacia proceso,

    debido a que en ellos se pone nfasis en los tratamientos que reciben los datos, los cuales se

    almacenan en archivos diseados para una determinada aplicacin. Las aplicaciones se

    analizan e implantan con entera independencia unas de otras, y los datos no se suelentransferir entre ellas, sino que se duplican siempre que los trabajos correspondientes los

    necesitan.

    Por lo cual, adems de ocupacin intil de memoria secundaria, un aumento de los tiempos de

    proceso, al repetirse los mismos controles y operaciones en los distintos archivos. Pero ms

    grave son las inconsistencias que a menudo se presentan en estos sistemas, debido a que la

    actualizacin de los mismos datos, cuando se encuentran en mas de un archivo, no se suele

    realizar de forma simultnea en todos los archivos.

    Por otra parte, la dependencia de los datos respecto al soporte fsico y a los programas delugar a una falta de flexibilidad y de adaptabilidad frente a los cambios que repercute muy

    negativamente en el rendimiento de conjunto del sistema informtico.

    De esto, se puede deducir claramente la necesidad de una gestin ms racional del conjunto

    de datos, surgiendo as un nuevo enfoque que se apoya sobre una base de datos en la cual los

    datos son recogidos y almacenados una sola vez, con independencia de los tratamientos.

    Por lo tanto, se ve la solucin de los problemas asociados al tratamiento de los datos en los

    sistemas tradicionales lleva a un cambio en el enfoque del sistema de informacin, en el cual

    los datos se organizan y mantienen en un conjunto estructurado que no esta diseado para

    una aplicacin concreta, sino que, por el contrario, tiende a satisfacer las necesidades deinformacin de toda la organizacin.

    Estos sistemas orientados hacia los datos van sustituyendo a los sistemas orientados al

    proceso, que por poca fiabilidad, falta de adecuacin a la realidad y mal asegurada

    confidencialidad han ido perdiendo la confianza de los usuarios.

    Ventajas de las Bases de Datos Frente a los Archivos Clsicos.

    Las bases de datos, surgidas como respuesta al nuevo planteamiento de los sistemas

    orientados hacia los datos, para mejorar la calidad de las prestaciones de los sistemas

    informticos y aumentar su rendimiento, presentan una multitud de ventajas frente a los

    sistemas clsicos de archivos.

    Las ventajas son:

    a) Independencia de los datos respecto a los tratamientos y viceversa.

    La mutua independencia de los datos y tratamiento lleva a que un cambio de estos ltimos no

    imponga un nuevo diseo lgico y/o fsico de la base de datos. Por otra parte, la inclusin de

    nuevas informaciones, desaparicin de otras, cambios en la estructura fsica o en los cambiosde acceso, no deben obligar a alterar los programas. Esta independencia de los tratamientos

  • 5/20/2018 Bases de Datos i,Ensayo

    3/51

    frente a la estructura de la base de datos, supone una considerable ventaja, al evitar esfuerzo

    que origina la reprogramacin de lasaplicaciones cuando se producen cambios en los datos.

    La flexibilidad que proporciona la independencia de los datos y programas es muy importante

    para conseguir sin excesivos costos la continua adaptacin del sistema de informacin a la

    evolucin de las organizaciones.

    b) Coherencia de los Resultados

    Debido a que la base de datos se recoge y almacena una sola vez, en todos los tratamientos se

    utilizan los mismos datos, por lo que los resultados de todos ellos son coherentes y

    perfectamente comparable.

    Adems, al no existir la redundancia en los datos, desaparece el problema que se presentaba

    en el enfoque clsico, de que el cambio de un dato obligaba a actualizar una serie de archivos.

    De esta forma se elimina tambin el inconveniente de las divergencias en los resultadosdebidas a actualizaciones no simultaneas en todos los archivos.

    c) Mejor disponibilidad de los datos para el conjunto de los usuarios.

    Cuando se aplica la metodologa de base de datos, cada usuario ya no es propietario de los

    datos, puesto que estos se comparten entre el conjunto de aplicaciones, existiendo una mejor

    disponibilidad de los datos para todos los que tienen necesidad de ellos, siempre que estn

    autorizados para su acceso.

    Hay tambin una mayor transparencia respecto a la informacin existente, que todos los datosque se encuentran en la base de datos se deben relacionar en un catalogo o diccionario, que

    puede ser ampliamente difundido y accedido por medios informticos.

    d) Mayor Valor Informativo

    Puesto que la base de datos en un sistema reflejodel mundo real, donde los distintos

    elementos estn interrelacionados, el valor informativo de su conjunto es superior a la suma

    del valor informativo de los elementos individuales que los constituyen.

    e) Mejor y ms normalizada documentacin de la informacin, la cual esta integrada con los

    datos.

    En el enfoque clsico los datos se encuentran separados de su contenido semntico, los

    primeros se almacenan en los archivos y su descripcin se hace mediante un lenguaje de

    programacin. La documentacin de los datos, realizada por el analista o programador, es en

    general insuficiente y a veces incluso inexistente.

    f) Mayor eficiencia en la recoleccin, validacin y entrada de los datos al sistema

    Al no existir apenas redundancias, los datos se recogen y validan una sola vez, aumentando as

  • 5/20/2018 Bases de Datos i,Ensayo

    4/51

    el rendimiento de todo el proceso previo al almacenamiento.

    g) Reduccin del espacio de almacenamiento

    La desaparicin de las redundancias, as como la aplicacin de tcnicas de comparacin, lleva

    en los sistemas de base de datos a una menor ocupacin de almacenamiento secundario.

    Mantener informacin de la organizacin en un sistema de procesamiento de archivos tiene

    una serie de inconvenientes. Los propsitos de los sistemas de bases de datos son eliminar los

    siguientes inconvenientes:

    Redundancia e inconsistencia de datos.- Debido a que los archivos de aplicacin son

    creados por diferentes programadores en un largo periodo de tiempo, los diversos archivos

    tienen probablemente diferentes formatos y los programas pueden estar escritos en

    diferenteslenguajes. Mas aun la informacin puede estar duplicada en diferentes archivos.

    Dificultad en el acceso a los datos.- Supngase que uno de los empleados de un banco

    necesita averiguar los nombres de todos los clientes que viven en el distrito postal 28733 de la

    ciudad. El empleado pide al departamento del procesamiento de datos que genere dicha lista.

    Debido a que esta peticin no fue prevista cuando el sistema original fue diseado, no hay un

    programa de aplicacin a mano para satisfacerla. Hay, sin embargo, un programa de aplicacin

    que genera la lista de todos los clientes. El empleado del banco tiene 2 opciones: bien obtener

    la lista de todos los clientes y obtener la informacin que necesita manualmente, o bien pedir

    al departamento de procesamiento de datos que haga que un programador de sistemas

    escriba el programa de aplicacin necesario.

    Aislamiento de datos.- Debido a que los datos estn dispersos en varios archivos, y los

    archivos pueden estar en diferentes formatos, es difcil escribir nuevos programas de

    aplicacin para recuperar los datos apropiados.

    Problemas de integridad.- Los valores de los datos almacenados en la base de datos

    deben satisfacer ciertos tipos de ligaduras de consistencia. Por ejemplo, el saldo de una cuenta

    bancario no debe ser menor de cierta cantidad. Los desarrolladores hacen cumplir esas

    ligaduras en el sistema aadiendo el cdigo apropiado en los diversos programas de aplicacin.

    Sin embargo, cuando aaden nuevas ligaduras, es difcil cambiar los programas para hacer que

    se cumplan. El problema es complicado cuando las ligaduras implicandiferentes elementos de

    datos de diferentes archivos.

    Problemas de Atomicidad.- Un sistema de una computadora, como cualquier otro

    dispositivo mecnico o elctrico, esta sujeto a fallo. En muchas aplicaciones es crucial asegurar

    que una vez que un fallo ha ocurrido y se ha detectado, los datos se restauran al estado de

    consistencia que exista antes del fallo.

    Anomalas en el acceso concurrente.- Conforme se han ido mejorando el conjunto de

    ejecucin de los sistemas y ha sido posible una respuesta en tiempo ms rpida, muchos

    sistemas han ido permitiendo a mltiples usuarios actualizar los datos simultneamente. En

    tales sistemas un entorno de interaccin de actualizaciones concurrentes puede dar lugar adatos inconsistentes.

  • 5/20/2018 Bases de Datos i,Ensayo

    5/51

    Problemas de seguridad.- No todos los usuarios de un sistema de base de datos deberan

    poder acceder a todos los datos. Por ejemplo en un sistema bancario, el personal de nomina a

    necesita ver solo esa parte de la base de datos que tiene informacin acerca de varios

    empleados del banco. No necesitan acceder a la informacin acerca de las cuentas de los

    clientes.

    1.3 ABSTRACCION DE LA INFORMACION

    Para que un sistema sea til, debe recuperar los datos eficientemente. Esto ha conducido al

    diseo de estructura de datos complejas para la representacin de los datos en la base de

    datos. Como muchos usuarios de base 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:

    Nivel Fsico.-El nivel mas bajo de abstraccin describe como se almacenan realmente los datos.

    El nivel fsico se describen en detalle las estructuras de datos complejas de bajo nivel.

    Nivel Lgico.- El siguiente nivel mas alto de abstraccin describe que datos se almacenan en la

    base de datos y que relaciones existen entre esos datos. La base de datos completa se describe

    as en trminos de numero pequeo de estructuras relativamente simples. Aunque la

    implementacin de estructuras simples en el nivel lgico puede involucrar estructuras

    complejas del nivel fsico, los usuarios del nivel lgico no necesitan preocuparse de esta

    complejidad. Los administradores de base de datos, que deben decidir la informacin que se

    mantiene en la base de datos, usan el nivel lgico de abstraccin.

    Nivel de Vistas.- El nivel mas alto de abstraccin describe solo parte de la base de datos

    completa. A pesar del uso de estructuras ms simples en el nivel lgico, queda algo de

    complejidad, debido al gran tamao de la base de datos. A muchos usuarios del sistema de

    base de datos nos les preocupar toda esa informacin. En su lugar solo necesitan acceder solo

    una parte de la base de datos. Para que su interaccin con el sistema se simplifique, se define

    la abstraccin del nivel de vistas. Dicho sistema puede proporcionar muchas vistas para la

    misma base de datos.

    Niveles de Abstraccin

    1.4 MODELOS DE DATOS

    La parte esencial de la estructura de base de datos es el modelo de datos. Una coleccin de

    herramientas conceptuales para describir los datos, las relaciones de datos, la semntica de los

    datos y las ligaduras deconsistencia.

    El modelado de datos es el proceso que implica crear una representacin de la visin quetienen los usuarios de los datos. Es la tarea ms importante en el desarrollo de eficaces

  • 5/20/2018 Bases de Datos i,Ensayo

    6/51

    aplicaciones de base de datos. Si el modelo de datos representa en forma incorrecta la visin

    que poseen los usuarios de los datos, encontraran las aplicaciones difciles de usar,

    incompletas y por supuesto frustrantes.

    Los diferentes modelos de datos que se han propuesto se clasifican tres grupos diferentes:

    modelos lgicos basados en objetos, modelos lgicos basados en registros y modelos fsicos.

    MODELOS LOGICOS BASADOS EN OBJETOS

    Los modelos lgicos basados en objetos se usan para describir datos en los niveles lgico y de

    vistas. Se caracterizan por el hecho de que proporcionan capacidades estructurales muy

    flexibles y permiten que las ligaduras de datos sean especificadas explcitamente. Varios de los

    mas ampliamente conocidos son:

    a) Modelo Entidad-Relacin.

    b) Modelo Orientado a Objetos.

    c) Modelo de datos semntico

    d) Modelo de datos funcional.

    MODELOS LOGICOS BASADOS EN REGISTROS

    Estos modelos se usan para describir datos en los niveles lgico y de vistas. En contraste con

    los modelos de datos basados en objetos, se usan tanto para especificar la estructura lgica

    completa de la base de datos como para proporcionar una descripcin de alto nivel de la

    implementacin.

    Los modelos basados en registros se llaman as debido a que la base de datos se estructura en

    registros de formato fijo de diferentes tipos. En cada tipo de registro se define unnumero fijo

    de campos o atributos, y cada campo tiene normalmente una longitud fsica.

    Los tres modelos basados en registros mas ampliamente conocidos son:

    a) Modelo Relacional

    b) Modelo de Red

    c) Modelo Jerrquico

    Diferencia entre los modelos

    El modelo relacional se diferencia de los modelos de redes y jerrquico en que no usa punteroso enlaces. En su lugar, el modelo relacional relaciona registros mediante los valores que ellos

  • 5/20/2018 Bases de Datos i,Ensayo

    7/51

    contienen. Esta liberacin del uso de punteros permite que se defina mediante un fundamento

    matemtico formal.

    MODELO DE DATOS FISICO

    Este modelo se usa para describir datos en un nivel mas bajo. En contraste con el modelo de

    datos lgico, hay pocos modelos de datos fsicos en uso. Dos de los mas conocidos son el

    modelo de unificacin y el modelo de memoria por marcos.

    1.5 INSTANCIA Y ESQUEMAS

    Las bases de datos van combinando a lo largo del tiempo conforme la informacin se inserta y

    borra. La coleccin de informacin almacenada en la base de datos en un momento particular

    se llama una instancia de la base de datos. El diseo completo de la base de datos se llamaesquema de la base de datos. Los esquemas son raramente modificados.

    Un esquema de base de datos corresponde a una definicin de tipo en un lenguaje de

    programacin. Una variable de un tipo dado tiene un valor particular en un instante de tiempo.

    As el valor de una variable en lenguajes de programacin corresponde a una instancia de un

    esquema de la base de datos.

    Los sistemas de bases de datos tienen varios esquemas divididos, de acuerdo al nivel

    deabstraccin. En el nivel mas bajo esta el esquema fsico; en el nivel intermedio esta el

    esquema lgico, y el nivel ms alto es el subesquema.

    1.6 INDEPENDENCIA DE LOS DATOS

    La capacidad para modificar una definicin de esquema en un nivel sin que afecte a una

    definicin de esquema en el siguiente nivel mas alto se llama independencia de datos. Hay dos

    niveles de independencia de datos:

    1. Independencia fsica de datos.- Es la capacidad para modificar el esquema fsico sin

    provocar que los programas de aplicacin tengan que rescribirse. Las modificaciones en el

    nivel fsico son ocasionalmente necesarias para mejorar el funcionamiento.

    2. . Independencia lgica de datos.- Es la capacidad para modificar el esquema lgico sin

    causar que los programas de aplicacin tengan que rescribirse. Las modificaciones en el nivel

    lgico son necesarias siempre que la estructura lgica de la base de datos se altere.

    La independencia de datos lgica es ms difcil de proporcionar que la independencia fsica, ya

    que los programas de aplicacin son frecuentemente dependientes de la estructura lgica de

    los datos a los que ellos acceden.

    El concepto de independencia de datos es similar en muchos aspectos al concepto de tiposabstractos de datos en los lenguajes de programacin modernos. Ambos esconden los detalles

  • 5/20/2018 Bases de Datos i,Ensayo

    8/51

    de implementacin a los usuarios para permitirles concentrarse en la estructura general, mas

    que en los detalles de implementacin de nivel mas bajo.

    LENGUAJES DE BASES DE DATOS

    Un sistema de base de datos proporciona dos tipos de lenguajes diferentes: uno para

    especificarel esquema de base de datos y el otro para expresar las consultas y actualizaciones

    de la base de datos.

    1.7 LENGUAJE DE DEFINICION DE DATOS

    Un esquema de base de datos se especifica mediante un conjunto de definiciones expresadasmediante un lenguaje especial llamado lenguaje de definicin de datos (LDD). El resultado de

    la compilacin de las estructuras del LDD es un conjunto de tablas que se almacenan en un

    archivo especial llamado diccionario de datos o directorio de datos. Este archivo se consulta

    antes de leer o modificar los datos reales del sistema de base de datos.

    La estructura de almacenamiento y los mtodos de acceso usados por el sistema de base de

    datos se especifican mediante un conjunto de definiciones en un tipo especial de LDD llamado

    un lenguaje de almacenamiento y definicin de datos. El resultado de la compilacin de estas

    definiciones es un conjunto de instrucciones para especificar los detalles de implementacin

    de los esquemas de la base de datos.

    1.8 LENGUAJES DE MANIPULACION DE DATOS

    Por manipulacin de datos se quiere decir:

    La recuperacin de informacin almacenada en la base de datos.

    La insercin de informacin nueva en la base de datos.

    El borrado de informacin.

    La modificacin de informacin almacenada en la base de datos.

    En el nivel fsico se deben definir algoritmos que permitan un acceso eficiente a los datos. En

    los niveles mas altos de abstraccin se enfatiza la facilidad de uso.

    Un Lenguaje de Manipulacin de datos (LMD) es un lenguaje que permite a los usuarios

    acceder a manipular losdatos organizados mediante el modelo de datos apropiado. Existen dos

    tipos de LMD:

    LMD Procedimentales.- Requieren que el usuario especifique que datos se necesitan y

    como obtener esos datos.

    LMD NO Procedimentales.- Requieren que el usuario especifique qu datos se necesitan,

  • 5/20/2018 Bases de Datos i,Ensayo

    9/51

    sin especificar como obtener esos datos.

    Los LMD no procedimentales son ms fciles de aprender y usar que los LMD procedimentales.

    Sin embargo, como el usuario no especifica como conseguir esos datos, estos lenguajes

    pueden generar cdigo que no sea tan eficiente como el que generan los lenguajes

    procedimentales.

    1.9 MANEJADOR DE BASE DE DATOS

    Evolucin de los Sistemas Manejadores de Base de Datos

    A principio de la dcada de los sesentas, el punto ms importante fue la introduccin por parte

    de CODASYL (Conference on Data Systems Languages) del compilador COBOL, acompaado

    por la evolucin de unidades de almacenamiento en cinta y la aparicin subsecuente de los

    dispositivos de almacenamiento de acceso directo. Al surgir las necesidades de aplicacionesms complejas se observo la necesidad de agregar al compilador de COBOL paquetes que

    facilitaran el ordenamiento y clasificacin de datos as como la generacin de reportes

    surgiendo tambin las organizaciones lgicas de alto nivel para los datos y las aplicaciones

    comenzaron a interrelacionarse entre s para ponerse a disposicin de un mayor numero de

    usuarios.

    Como productos comerciales surgieron los sistemas Generalizados para Manejo de Archivos

    (GFMS), Sistemas Generalizados para la Administracin de Base de Datos (GDBMS) y Sistemas

    deBases de Datos.

    Se puede definir el Manejador de Base de Datos (DBMS Data Base Management System) como

    un conjunto coordinado de programas, procedimientos, lenguajes, que suministra, tanto a los

    usuarios no informticos como a los analistas, programadores o al administrador, los medios

    necesarios para describir, recuperar y manipular los datos almacenados en la base,

    manteniendo su integridad, confidencialidad y seguridad.

    Si se tiene en cuenta a los diferentes usuarios de las bases de datos con diferentes necesidades

    y variables a lo largo del tiempo que son susceptibles de trabajar simultneamente con

    subconjuntos de esta coleccin de datos, se pone de manifiesto que es imprescindible dotar al

    sistema de la adecuada flexibilidad para que pueda atender las exigencias de todos los

    usuarios y para que sea capaz de responder a los cambios.

    Las operaciones tpicas que debe realizar un DBMS pueden resumirse en aquellas que afecten

    la totalidad de los datos o a todos los registros de un determinado tipo y las que tienen lugar

    sobre registros concretos.

    Las funciones esenciales de un DBMS son las de descripcin, manipulacin y utilizacin.

    Funcin de descripcin o definicin

  • 5/20/2018 Bases de Datos i,Ensayo

    10/51

    Esta funcin debe permitir al administrador de la base de datos especifican los elementos de

    datos que la integran, su estructura y las relaciones que existen entre ellos, las reglas de

    integridad semntica, los controles a afectar antes de autorizar el acceso a la base, as como

    las caractersticas de tipo fsico y las vistas lgicas de los usuarios.

    Esta funcin, realizada por ellenguaje de descripcin o definicin de datos (LDD) propio de

    cada DBMS debe suministrar los medios para definir las tres estructuras de datos(externa,

    lgica global e interna), especificando las caractersticas de los datos a cada uno de estos

    niveles.

    A nivel interno, se ha de indicar el espacio (volmenes, cilindros y pistas) reservado para la

    base, la longitud de los campos o elementos de datos, su modo de representacin (binario,

    decimal, alfanumrico, punto fijo o flotante). Adems, se debe poder definir caminos de

    acceso, como punteros, ndices, etc.

    Para las estructuras externa y lgica global, la funcin de descripcin ha de proporcionar los

    instrumentos para la definicin de las entidades y su identificacin, atributos de las mismas,

    interrelaciones entre ellas, autorizaciones de acceso, restricciones de integridad.

    A) Funcin de Manipulacin.

    La funcin de manipulacin permite a los usuarios de la base de datos, informticos, o n o,

    buscar, aadir, suprimir o modificar los datos de la misma, siempre de acuerdo con las

    especificaciones y las normas de seguridad dictadas por el administrador.

    La funcin de manipulacin se llevara a cabo por medio de un lenguaje de manipulacin de

    datos (LMD) que facilita los instrumentos necesarios para la realizacin de estas tareas.

    Funcin de Utilizacin

    La funcin de utilizacin rene todas las interfaces que necesitan los diferentes usuarios para

    comunicarse con la base y proporciona un conjunto de procedimientos para el administrador.

    Las exigencias respecto a la forma de utilizar la basede datos son muy diferentes, segn los

    tipos de procesos y segn los usuarios, siendo preciso que la funcin de utilizacin responda a

    todas ellas.

    En la mayora de los Sistemas Manejadores de Base de Datos existen funciones de servicio,

    como cambiar la capacidad de los ficheros, obtener estadsticas de utilizacin, cargar archivos

    y principalmente las relacionadas con la seguridad fsica y de proteccin frente a acceso no

    autorizados.

    Objetivos de los Sistemas Manejadores de Bases de Datos.

  • 5/20/2018 Bases de Datos i,Ensayo

    11/51

    Control de concurrencia

    Mltiples usuarios pueden acceder a la misma informacin al mismo tiempo, sin que con ello

    se tengan problemas con los datos.

    Proteger los datos contra fallas del Sistema

    Es la capacidad de restaurar la integridad y consistencia despus de una falla del sistema.

    El Diccionario de Datos

    Es la capacidad que da el manejador de la base de datos de poder tener la descripcin de los

    datos que estn almacenados en la base de datos.

    Interfaz de alto nivel con los programadores

    El manejo de un lenguaje, como lo es SQL.

    Un Manejador de Base de Datos debe incluir lo siguiente:

    Independencia de los programas respecto a los cambios en la estructura de los datos.

    Programas de utilera para la administracin de la base de datos.

    Mecanismos de seguridad para imponer limites de acceso.

    Recuperacin de caso de fallas.

    Facilidades para afinacin de la base de datos.

    Un lenguaje de consulta propio

    Capacidad para proceso de transacciones enLnea.

    Diccionario de datos.

    Control de concurrencia. Facilidad de acceso.

    Proteccin de los datos.

    1.10. ADMINISTRADOR DE LA BASE DE DATOS

    Una de las principales razones para usar un Sistema de Gestin de Base de Datos es tener un

    control centralizado tanto de los datos como de los programas que acceden a esos datos. La

    persona que tiene este control central sobre el sistema se llama Administrador de la base de

    datos (ABD). Las funciones del ABD son:

    Definicin del Esquema.- El Administrador de la Base de Datos crea el esquema original

    de la base de datos escribiendo un conjunto de definiciones que el compilador del Lenguaje de

    definicin de datos (LDD) traduce a un conjunto de tablas que son almacenadas

    permanentemente en el diccionario de datos.

    Estructura de Almacenamiento y Definicin del Mtodo de Acceso.- Los Administradores

    de la Base de Datos crean las estructuras de almacenamiento apropiadas y los mtodos de

    acceso escribiendo un conjunto de definiciones, que son traducidas por el compilador del

    Lenguaje de Definicin y Almacenamiento de datos.

    Esquema y Modificacin de la Organizacin Fsica.- Los programadores llevan a cabo las

  • 5/20/2018 Bases de Datos i,Ensayo

    12/51

    modificaciones sobre el esquema de base de datos o la descripcin de la organizacin de

    almacenamiento fsico escribiendo un conjunto de definiciones que son usadas por el

    compilador de LDD o por el compilador del lenguaje de definicin y almacenamiento de datos

    para generar las modificaciones en las tablas correspondientes del sistema interno.

    Concesin de laAutorizacin para el acceso a los datos.- La concesin de diferentes tiposde autorizacin permite al administrador de la base de datos determinar que parte de la base

    de datos pueden acceder los diferentes usuarios. La informacin de autorizacin se mantiene

    en una estructura del sistema especial que el sistema de la base de datos consulta cuando se

    intenta el acceso a los datos en el sistema.

    Especificacin de la Ligaduras de Integridad.- Los valores de los datos almacenados en la

    base de datos deben satisfacer ciertas ligaduras de integridad. Por ejemplo, quizs l numero

    de horas que un empleado puede trabajar en una semana no debe exceder de un limite

    especificado (por ejemplo, 80 horas). Tales ligaduras deben ser especificadas explcitamente

    por el Administrador de la Base de Datos. Las ligaduras de integridad se mantienen en unaestructura del sistema especial que el sistema de base de datos consulta cuando tiene lugar

    una actualizacin en el sistema.

    1.11 USUARIOS DE BASE DE DATOS

    Un primer objetivo de un sistema de base de datos es proporcionar un entorno para la

    recuperacin de la informacin y el almacenamiento de nueva informacin en la base de

    datos. Hay cuatro tipos de diferentes de usuarios de un sistema de base de datos,

    diferenciados por la forma en que ellos esperan interactuar con el sistema.

    Programadores de Aplicaciones.- Son profesionales informticos que interactan con el

    sistema a travs de llamadas del Lenguaje de Manipulacin de Datos(LMD), que estn incluidas

    en un programa escrito en un lenguaje anfitrin (por ejemplo, Cobol, PL/I, Pascal, C ).Estos

    programascomnmente se llaman programas de aplicacin. Por ejemplo un sistema bancario,

    incluye programas que generan cheques de nominas, cargan cuentas, abonan cuestas o

    transfieren fondos entre cuentas.

    Debido a que la sintaxis de los LMD es habitualmente muy diferente de la sintaxis del lenguaje

    anfitrin, las llamadas del LMD estn normalmente precedidas de un carcter especial para

    que se puede generar cdigo apropiado. Un preprocesador especial, llamado precompilador

    del LMD, convierte las instrucciones del LMD en llamadas a procedimientos normales en el

    lenguaje anfitrin. El programa resultante se compila a continuacin mediante el compilador

    del lenguaje anfitrin, que genera el cdigo objeto apropiado.

    Hay tipos de lenguajes de programacin de programacin especiales que combinan

    estructuras de control de lenguajes tipo Pascal con estructuras de control para la manipulacin

    de objetos de una base de datos (por ejemplo, relaciones). Estos lenguajes, llamados lenguajes

    de cuarta generacin, a menudo incluyen caractersticas especiales para facilitar la generacin

    de formularios y la presentacin de datos en pantalla. La mayora de los sistemas de bases de

    datos comerciales incluyen un lenguaje de cuarta generacin.

    Usuarios Sofisticados.- Interactan con el sistema sin programas escritos. En su lugar,

  • 5/20/2018 Bases de Datos i,Ensayo

    13/51

    ellos forman sus consultas en un lenguaje de consulta de base de datos. Cada una de estas

    consultas se enva al procesador de consultas, cuya funcin es transformar instrucciones LMD

    a instrucciones que el gestor de almacenamiento entienda. Los analistas que envan las

    consultas paraexplorar los datos en la base de datos entran en esta categora.

    Usuarios Especializados.- Son usuarios que escriben aplicaciones de bases de datosespecializadas que no son adecuadas en el marco de procesamiento de datos tradicional. Entre

    estas aplicaciones estn los sistemas de diseo asistido por computadora, sistemas de bases

    de conocimientos y expertos, sistema que almacenan los datos con los tipos de datos

    completos (por ejemplo, datos grficos y datos de audio).

    Usuarios Normales o Finales.- Son usuarios que interactan con el sistema mediante la

    invocacin de alguno de los programas de aplicacin permanentes que se han escrito

    previamente.

    1.12 ESTRUCTURA GENERAL DEL SISTEMA

    Un sistema de base de datos se divide en mdulos que se encargan de cada una de las

    responsabilidades del sistema completo. Algunas de estas funciones del sistema de base de

    datos las puede proporcionar el sistema operativo de la computadora.

    Los componentes funcionales de un sistema de base de datos se pueden dividir en

    componentes de procesamiento de consultas y componentes de gestin de almacenamiento.

    Los componentes de procesamiento de consultas incluyen:

    Compilador del LMD.- Traduce las instrucciones del LMD en lenguaje de consultas a

    instrucciones a bajo nivel que entiende el motor de evaluacin de consultas. Adems, el

    compilador de LMD intenta transformar las peticiones del usuario en otras equivalentes pero

    ms eficientes, encontrando as una buena estrategia para ejecutar la consulta.

    Precompilador de LMD incorporado.- Convierte lasinstrucciones del LMD incorporadas

    en un programa de aplicacin en llamadas a procedimientos normales en el lenguaje anfitrin.

    El precompilador debe interactuar con el compilador del LMD para generar el cdigo

    apropiado.

    Interprete del LDD.- Interpreta las instrucciones del LDD y las registra en un conjunto de

    tablas que contiene metadatos.

    Motor de Evaluacin de Consultas.- Ejecuta las instrucciones a bajo nivel generadas por

    el compilador del LMD.

    Los componentes de gestin de almacenamiento proporcionan la interfaz entre los datos de

    bajo nivel almacenados en la base de datos y los programas de aplicacin y envo de consultas

    al sistema. Dicho gestor incluye:

  • 5/20/2018 Bases de Datos i,Ensayo

    14/51

    ESTRUCTURA GENERAL DEL SISTEMA

    Gestor de autorizacin e integridad.- Comprueba que se satisfagan las ligaduras de

    integridad y la autorizacin de los usuarios para acceder a los datos.

    Gestor de transacciones.- Asegura que la base de datos quede en un estado consistente(correcto) a pesar de los fallos del sistema, y que las ejecuciones de transacciones

    concurrentes ocurran sin conflictos.

    Gestor de Archivos.- Gestin la reserva de espacio de almacenamiento de disco y las

    estructuras de datos usadas para representar la informacin almacenada en disco.

    Gestor de memoria intermedia.- Es responsable de traer los datos del disco de

    almacenamiento a memoria principal y decidir que datos tratar en la memoria cache.

    Archivos de datos.- Almacenan la base de datos en s.

    Diccionario de datos.- Almacena metadatos acerca de la estructura de labase de datos.

    ndices.- Proporcionan acceso rpido a elementos de datos que tienen valores

    particulares.

    Datos Estadsticos.- Almacn informacin estadstica sobre los datos en la base de datos.

    El procesador de consultas usa esta informacin para seleccionar las formas eficientes para

    ejecutar una consulta.

    UNIDAD II.

    MODELO ENTIDAD-RELACION

    El modelo entidad-relacin (E-R) esta basado en una percepcin del mundo real que consta de

    un conjunto de objetos bsicos llamados entidades y de relaciones entre objetos. Se desarrollo

    para facilitar el diseo de base de datos permitiendo la especificacin de un esquema de la

    empresa que representa la estructura lgica completa de una base de datos.

    2 ENTIDADES Y CONJUNTO DE ENTIDADES

    Una entidad es un en el mundo real que es distinguible de todos los dems objetos. Por

    ejemplo, cada persona es una entidad. Una entidad tiene un conjunto de propiedades, y los

    valores para algn conjunto de propiedades pueden identificar una entidad. Una entidad tiene

    un conjunto de propiedades, y los valores para algn conjunto de propiedades pueden

    identificar una entidad de forma unvoca. Por ejemplo del CURP identifica a una persona

    particular.

    Un conjunto de entidades es la totalidad de las entidades del mismo tipo que comparten las

  • 5/20/2018 Bases de Datos i,Ensayo

    15/51

    mismas propiedades o atributos. El conjunto de todas las personas que son clientes de un

    banco, por ejemplo, se pueden definir como el conjunto de entidades cliente. De la misma

    manera, el conjunto de entidades prstamo-bancario podra representar el conjunto de todos

    los prstamosconcedidos por un banco particular. Las entidades individuales que constituyen

    un conjunto se llaman la extensin del conjunto de entidades. As, todos los clientes de un

    banco son la extensin del conjunto de entidades cliente.

    Los conjuntos de entidades no son necesariamente disjuntos. Por ejemplo, es posible definir el

    conjunto de entidades de todos los empleados de un banco (empleado) y el conjunto de

    entidades de todos los clientes de banco. Una entidad persona puede ser una entidad

    empleado, una entidad cliente o ambas.

    Una entidad se representa mediante un conjunto de atributos. Los atributos describen

    propiedades que posee cada miembro de un conjunto de entidades. La designacin de un

    atributo para un conjunto de entidades expresa que la base de datos almacena informacin

    similar concerniente a cada entidad del conjunto de entidades; sin embargo cada entidadpuede tener su propio valor para cada atributo.

    Posibles atributos del conjunto de entidad cliente son: nombre-cliente,dni, calle-cliente y

    ciudad-cliente. Posibles atributos del conjunto de entidades prstamo-bancario son: numero-

    prestamos e importe. Para cada atributo hay un conjunto de atributos permitidos, llamados el

    dominio o el conjunto de valores, de ese atributo. El dominio del atributo nombre-cliente

    puede ser el conjunto de todas las cadenas de texto de una cierta longitud. Anlogamente, el

    dominio del atributo numero-prstamo podra ser el conjunto de todos los enteros positivos.

    Una base de datos incluye as una coleccin de conjunto de entidades, cada una de las cuales,

    cada una de las cuales contiene un numero deentidades del mismo tipo.

    A continuacin se muestra una parte de una base de datos de un banco que consta de dos

    conjuntos de entidades, cliente y prstamo-bancario.

    Conjuntos de entidades cliente y prstamo-bancario

    [pic]

    Formalmente, un atributo de un conjunto de entidades es una funcin que asigna al conjunto

    de entidades el dominio. Como un conjunto de entidades puede tener diferentes atributos,

    cada entidad se puede describir como un conjunto de pares (atributo, valor), un par para cada

    atributo del conjunto de entidades. Por ejemplo una entidad concreta cliente se puede

    describir mediante el conjunto {(nombre, Lpez), (DNI, 677789901), (nombre-calle, Mayor),

    (ciudad-cliente, Peguerinos)}, queriendo decir que la entidad describe una persona llamada

    Lpez que tiene un DNI 67789901 y reside en la calle Mayor en Peguerinos. Los valores de los

    atributos que describen una entidad constituiran una porcin significante de los datos

    almacenados en la base de datos.

    Un atributo en el modelo E-R se puede clasificar en los siguientes tipos:

  • 5/20/2018 Bases de Datos i,Ensayo

    16/51

    Atributos Simples y Compuestos.- En los conjuntos de entidades anteriores los atributos

    que se usaron son simples; por que no estn divididos en subpartes. En cambio, los atributos

    compuestos, se pueden dividir en subpartes, es decir, se pueden dividir en otros atributos. Por

    ejemplo nombre-cliente podra estar estructurado como un atributo compuesto consistente

    en nombre, primer-apellido y segundo apellido. Usar atributos compuestos en un esquema dediseo es una buena eleccin si el usuario desea referirse a un atributo entero en

    algunasocasiones y a algn componente del atributo en otras. Se podran haber sustituido los

    atributos del conjunto de entidades cliente, calle-cliente, y ciudad-cliente, por el atributo

    compuesto direccin-cliente, con los atributos calle, ciudad, provincia y cdigo-postal. Los

    atributos compuestos ayudan a agrupar los atributos relacionados, haciendo los modelos ms

    claros. Un atributo compuesto puede aparecer como una jerarqua. Viendo el ejemplo de

    atributo compuesto direccin-cliente, su componente calle, puede ser a su vez dividido en

    numero-calle, nombre-calle, y piso.

    Atributos compuestos nombre-cliente y direccin-cliente.

    Atributos univalorados y multivalorados.- Los atributos que se han especificados en el

    ejemplo anterior todos tienen un valor solo para una entidad concreta. Por ejemplo el atributo

    numero-prstamo para una entidad prstamo especifico, referencia a un nico numero de

    prstamo bancario. Tales atributos se llaman univalorados. Puede haber ocasiones en las que

    un atributo tiene un conjunto de valores para una entidad especifica. Considerando un

    conjunto de entidades empleado con un atributo nombre-subordinado. Cualquier empleado

    puede tener cero, uno o ms subordinados; por lo tanto, diferentes entidades empleado

    dentro del conjunto de entidades tendrn diferentes nmeros de valores para el atributonombre-subordinado. Este tipo de atributo se llama multivalorado. En ellos se pueden colocar

    apropiadamente limites inferior y superior en el numero de valores en el atributo

    multivalorado. Por ejemplo, un banco puede limitar el numero de direcciones almacenadas

    para un nicocliente a dos. Colocando limites en este caso, se expresa que el atributo

    direccin-cliente del conjunto de entidades cliente puede tener entre cero y dos valores.

    Atributos Nulos.- Un valor nulo se usa cuando una entidad no tiene un valor para un

    atributo, Por ejemplo, si un empleado en particular no tiene subordinados, el valor nombre-

    subordinado para ese empleado ser nulo. Nulo puede tambin designar que el valor de un

    atributo es desconocido.

    Atributo derivado.- El valor de este atributo se puede derivar de los valores de otros

    atributos o entidades. Por ejemplo, si se tiene el conjunto de entidades cliente que tiene un

    atributo prestamos que representa cuantos prestamos tiene un cliente en el banco. Este

    atributo se puede derivar contando el numero de entidades prstamo asociadas con ese

    cliente.

    2.2 RELACIONES Y CONJUNTOS DE RELACIONES

    Una relacin es una asociacin entre diferentes entidades. Considerando las dos entidades

    cliente y prstamo. Se define un conjunto de relaciones prestatario denotarla asociacin entreclientes y prestamos bancarios que los clientes tengan.

  • 5/20/2018 Bases de Datos i,Ensayo

    17/51

    Conjunto de relaciones prestatario

    [pic]

    Un conjunto de relaciones es un conjunto de relaciones del mismo tipo. Formalmente es una

    relacin matemtica con n ( 2 de conjuntos de entidades. Si E1, E2, ..., En son conjuntos de

    entidades, entonces un conjunto de relaciones R es un subconjunto de

    {(e1, e2,..., en) | e1 ( E1, e2 ( E2,..., en ( En }

    donde (e1, e2,..., en) es una relacin.

    Considerando los dos conjuntos de entidades prstamo y sucursal. Se puede definirunconjunto de relaciones sucursal-prstamo para denotar la asociacin entre un prstamo

    bancario y la sucursal en que se mantiene ese prstamo.

    La asociacin entre conjunto de entidades se referencia como participacin; es decir, los

    conjuntos de entidades E1, E2,...,En participan en el conjunto de relaciones R.

    La funcin que desempea una entidad en una relacin se llama papel de la entidad. Debido a

    que los conjuntos de entidades que participan en un conjunto de relaciones son generalmente

    distintos, los papeles estn implcitos y no se especifican normalmente. Sin embargo son tiles

    cuando el significado de una relacin necesita aclaracin.

    Una relacin puede tambin tener atributos descriptivos. Considerando un conjunto de

    relaciones impositor con conjuntos de entidades cliente y cuenta. Se podra asociar el atributo

    fecha-acceso a esta relacin para especificar la fecha mas reciente en que un cliente accedi

    una cuenta.

    El conjunto de relaciones prestatario y sucursal-prstamo proporcionan un ejemplo de un

    conjunto de relaciones binario. La mayora de los conjuntos de relaciones en un sistema de

    base de datos son binarios. Ocasionalmente, los conjuntos de relaciones implican mas de dos

    conjuntos de entidades. Por ejemplo, se podran combinar los conjuntos de entidades

    prestatario y sucursal-prstamo para formar un conjunto de relaciones ternario CPS entre los

    conjuntos de entidades cliente(C), prstamo (P) y sucursal (S).

    l numero de conjunto de entidades que participan en un conjunto de relaciones es tambin el

    grado del conjunto de relaciones. Un conjunto de relacionesbinario tiene grado 2; un conjunto

    de relaciones ternario tiene grado 3.

    2.3 LIMITANTES DE MAPEO

    Un esquema de desarrollo E-R puede definir ciertas restricciones a las que los contenidos de labase de datos se deben adaptar. Una restriccin importante es la de las cardinalidades de

  • 5/20/2018 Bases de Datos i,Ensayo

    18/51

    asignacin, que expresan el numero de entidades a las que la otra entidad puede estar

    asociada mediante un conjunto de relaciones.

    La correspondencia de cardinalidades es la mas til describiendo conjunto de relaciones

    binaria, aunque ocasionalmente contribuyen a la descripcin de conjuntos de relaciones que

    implican mas de dos conjuntos de entidades.Para un conjunto de relaciones binarias R entre los conjuntos de entidades A y B, la

    correspondencia de cardinalidades debe ser:

    Uno a Uno.- Una entidad en A se asocia con a lo sumo una entidad en B, y una entidad en B se

    asocia con a lo sumo una entidad en A.

    Uno a Varios.- Una entidad en A se asocia con cualquier numero de entidades en B. Una

    entidad en B, sin embargo, se puede asociar con a lo sumo una entidad en A.

    Varios a Uno.- Una entidad en A se asocia con a lo sumo una entidad en B. Una entidad en B,

    sin embargo, se puede asociar con cualquier numero de entidades en A.

    [pic]

    Varios a Varios.- Una entidad en A se asocia con cualquier numero de entidades en B, y una

    entidad en B, se asocia con cualquier numero de entidades en A. Nota: al hacer la base de

    datos la relacin muchos a muchos solo existe de forma implcita dentro de una tabla de

    relacin en la cual hay 2 relaciones de uno a muchos (1-m, m-1)[pic]

    La correspondencia decardinalidades para un conjunto de relaciones particular es obviamente

    dependiente de la situacin del mundo real que el conjunto de relaciones modela.

    La razn de cardinalidad de una relacin puede afectar a la situacin de los atributos de la

    relacin. Los atributos de los conjuntos de las relaciones uno a uno o uno a varios pueden estar

    asociados con uno de los dos conjuntos de entidades participantes, adems de con el conjunto

    de relaciones.

    2.4 LLAVES PRIMARIAS

    La clave primaria permite identificar un registro de los dems registros ya q son diferentes en

    todos (ej. Matricula en alumnos) y la superclave puede ser q se agregue otra entidad llamada

    Id. Alumno o correo Electrnico.

    Es importante ser capaz de especificar como las entidades dentro de un conjunto de entidades

    dado y las relaciones dentro de un conjunto de relaciones dado son distinguibles. Las

    entidades y relaciones individuales son distintas; desde una perspectiva de base de datos, sin

    embargo, la diferencia entre ellas se debe expresar en trminos de sus atributos. El conceptode clave permite hacer tales distinciones.

  • 5/20/2018 Bases de Datos i,Ensayo

    19/51

    Una superclave es un conjunto de uno o ms atributos que, tomados colectivamente, permiten

    identificar de forma nica una entidad en el conjunto de entidades. Por ejemplo, el atributo

    dni del conjunto de entidades cliente es suficiente para distinguir una entidad cliente de las

    otras. As dni, superclave. Anlogamente, la combinacin de nombre-cliente y dni es una

    superclave del conjunto de entidades cliente. El atributo nombre-cliente de la entidad clienteno es una superclave, porque varias personaspodran tener el mismo nombre.

    Si K es una superclave, entonces tambin lo es cualquier superconjunto de K. Los subconjuntos

    propios de las superclaves no son superclaves. Tales superclaves mnimas se llaman claves

    candidatas.

    Es posible que conjuntos distintos de atributos pudieran servir como clave candidata.

    Suponiendo que una combinacin de nombre-cliente y calle-cliente es suficiente para

    distinguir entre los miembros del conjunto de entidades cliente. Entonces, los conjuntos {dni} y

    {nombre-cliente, calle-cliente} son claves candidatas. Aunque los atributos dni, y nombrecliente juntos puedan distinguir entidades cliente, su combinacin no forma una clave

    candidata, ya que el atributo dni por si solo es una clave candidata.

    Las claves candidatas se deben designar con cuidado. El termino clave primaria se usa para

    denotar una clave candidata que es elegida por el diseador de la base de datos como

    elemento principal para identificar las entidades dentro del conjunto de entidades. Una

    clave(primaria, candidata y superclave) es una propiedad del conjunto de entidades, mas que

    de las entidades individuales.

    La clave primaria de un conjunto de entidades permite distinguir entre las diferentes entidadesdel conjunto. Se necesita un mecanismo similar para distinguir entre las diferentes relaciones

    de un conjunto de relaciones.

    Sea R un conjunto de relaciones que implica los conjuntos de entidades E1, E2,...,En. Sea clave-

    primaria (Ei) el conjunto de atributos que forma la clave primaria para el conjunto de

    entidades Ei. Asmase, que los nombres de los atributos de todas las clave primariassin nicos.

    La composicin de la clave primaria para un conjunto de relaciones depende de la estructura

    de los atributos asociados al conjunto de relaciones R.

    Si el conjunto de relaciones R no tiene atributos asociados, entonces el conjunto de atributos

    Clave-primaria(E1) U clave-primaria(E2) U...U clave-primaria(En)

    Describe una relacin individual en el conjunto R.

    Si el conjunto de relaciones R tiene atributos a1,a2,...,an asociados a l, entonces del conjunto

    de atributos.

    Clave-primaria(E1) U clave-primaria(E2) U...U clave-primaria (En) U {a1,a2,...,am}.

    Describe una relacin individual en el conjunto R.

  • 5/20/2018 Bases de Datos i,Ensayo

    20/51

    En ambos casos, el conjunto de atributos

    Clave-primaria(E1) U clave-primaria(E2) U...U clave-primaria (En)

    Forma una superclave para el conjunto de relaciones.

    La estructura de la clave primaria para un conjunto de relaciones depende de la cardinalidad

    asociada al conjunto de relaciones. Como ejemplo, considrese el conjunto de entidades

    cliente y empleado, y un conjunto de relaciones banquero-cliente que representa una

    asociacin entre un cliente y su banquero (una entidad empleado).

    Supngase que el conjunto de relaciones es varios a varios, y tambin supngase que el

    conjunto de relaciones tiene el atributo tipo asociado a l, representando la relacin (por

    ejemplo, responsables de prestamos o banquero personal). Entonces la clave primaria de

    banquero-empleado consiste en la unin de las claves primarias de cliente y empleado. Sin

    embargo, si un cliente puede tener un solo banquero, es decir, si la relacin banquero-clientees varios a uno, entonces laclave primaria de banquero-empleado es simplemente la clave

    primaria de cliente. Para relaciones uno a uno se puede usar cualquier clave primaria.

    2.5 DIAGRAMA ENTIDAD-RELACION

    La estructura lgica global de una base de datos se puede expresar grficamente mediante un

    diagrama E-R. La simplicidad relativa y la claridad de esta tcnica de diagrama puede ser en

    gran parte la causa del uso ampliamente extendido del modelo E-R. Tal diagrama consta de los

    siguientes componentes:

    Rectngulos.- Representan los conjuntos de entidades.

    Elipses.- Representan los atributos.

    Rombos.- Representan las relaciones.

    Lneas.- Unen los atributos a conjuntos de entidades y conjunto de entidades a conjunto de

    relaciones.

    Elipses dobles.- Representan atributos multivalorados.

    Elipses discontinuas.- Denotan atributos derivados.

    Lneas dobles.- Indican la participacin total de una entidad en un conjunto de relaciones.

    Considere el diagrama entidad-relacin de la siguiente figura, que consta de dos conjuntos de

    entidades, cliente y prstamo, relacionadas a travs de un conjunto de relaciones binarias

    prestatario. Los atributos asociados con cliente son: nombre-cliente, dni, calle-

    cliente y ciudad-cliente. Los atributos asociados con son numero-prstamo e importe. Las

    llaves o claves primarias se subrayan.

    [pic]

    El conjunto de relaciones prestatario pueden ser varios a varios, uno a varios, varios a uno, o

    no a uno. Para distinguir entre estos tipos, se dibuja una lnea dirigida (() o una lnea no dirigida

    entre el conjunto de relaciones y el conjunto de entidades.[pic][pic]

  • 5/20/2018 Bases de Datos i,Ensayo

    21/51

    Si un conjunto de relaciones tiene tambin algunos atributos asociados a l, entonces se unen

    esos atributos a ese conjunto de relaciones. Por ejemplo del siguiente diagrama:

    [pic]

    Se tiene el atributo descriptivo fecha-acceso unido al conjunto de relaciones impositor para

    especificar la fecha mas reciente en que un cliente accedi a esa cuenta.

    En los diagramas E-R se indican papeles mediante etiquetas en las lneas que unen a rombos

    con rectngulos. En el siguiente ejemplo se muestra el papel indicando director y trabajador

    entre el conjunto de entidades empleado y el conjunto de relaciones trabaja-para.

    [pic]

    Los conjuntos de relaciones no binarias se pueden especificar fcilmente mediante undiagrama E-R. El siguiente ejemplo consta de tres conjuntos de entidades cliente, prstamo y

    sucursal, relacionados a travs del conjunto de relaciones CPS. Este diagrama especifica que un

    cliente puede tener varios prestamos, y esos prestamos pueden pertenecer a varios clientes.

    La flecha que apunta a sucursal indica que cada par prstamo-cliente esta asociado con una

    sucursal bancaria especifica.

    [pic]

    ENTIDADES DEBILESUna entidad dbil puede ser una q no tenga clave, con puros atributos (ej. Una tabla de

    catalogo de ciudades en donde no es necesario tener clave).

    Un conjunto de entidades puede no tener suficientes atributos para formar una clave primaria.

    Tal conjunto de entidades se denomina conjunto de entidades dbil. Un conjunto de entidades

    que tiene una clave primaria se denomina conjunto de entidades fuerte.

    Considerando un conjunto de entidadespago, que tiene los atributos: numero-pago, fecha-

    pago, e importe-pago. Aunque cada entidad pago es distinta, los pagos para diferentes

    prestamos pueden compartir el mismo numero de pago. As, este conjunto de entidades no

    tiene una clave primaria; es un conjunto de entidades dbil. Para que un conjunto de

    entidades dbil tenga sentido, debe formar parte de un conjunto de relaciones uno a varios.

    Aunque un conjunto de entidades dbil no tiene clave primaria, solamente se necesita conocer

    la distincin entre todas aquellas entidades del conjunto de entidades que dependen de una

    entidad particular fuerte. El descriminante de un conjunto de entidades dbil es un conjunto

    de atributos que permite que esta distincin se haga. Por ejemplo, el discriminante del

    conjunto de entidades dbil pago es el atributo numero-pago ya que para cada prstamo un

    numero de pago identifica de forma nica un pago simple de ese prstamo.

    Otro ej. De entidades dbiles es una tabla q contenga las claves primarias de varias tablas pero

    q esta no tenga una clave propia.

    La clave primaria de un conjunto de entidades dbil se forma mediante la clave primaria del

  • 5/20/2018 Bases de Datos i,Ensayo

    22/51

    conjunto de entidades fuerte de cuya existencia depende el conjunto de entidades dbil, mas

    el descriminante del conjunto de entidades dbil. En el caso del conjunto de entidades pago,

    su clave primaria es {numero-prstamo, numero-pago}, donde numero-prstamo identifica la

    entidad dominante de un pago y numero-pago distingue las entidades pago dentro del mismo

    prstamo.

    El conjunto de entidades dominante identificador se llama propietario del conjunto

    deentidades dbil que identifica. La relacin que asocia el conjunto de entidades dbil con un

    propietario se llama relacin de identificacin. En el ejemplo anterior, prstamo-pago es la

    relacin de identificacin para pago.

    Un conjunto de entidades dbil se indica en los diagramas E-R mediante un rectngulo

    dibujado con una lnea doble y la correspondiente relacin de identificacin mediante un

    rombo dibujado con lnea doble.

    [pic]

    El diagrama anterior, el conjunto de entidades dbil pago es dependiente del conjunto de

    entidades fuerte prstamo a travs del conjunto de relaciones prstamo-pago. Tambin se

    muestra el uso de lneas dobles para indicar la participacin total del conjunto de entidades

    pago en la relacin prstamo-pago, significando que cada pago debe estar relacionado a travs

    de prstamo-pago con alguna cuenta.

    Un conjunto de entidades dbil puede participar como propietario en una relacin de

    identificacin con otro conjunto de entidades dbil. Incluso aunque la existencia de un

    conjunto de entidades dbil dependa siempre de una entidad dominante, una dependencia nodebe existir necesariamente en un conjunto de entidades dbil; es decir, el conjunto de

    entidades subordinado puede tener una clave primaria.

    2.6 REDUCCION DE LOS DIAGRAMAS E-R A TABLAS

    Una base de datos que se constituye es un esquema de base de datos E-R se puede

    representar por una coleccin de tablas. Para cada conjunto de entidades de la base de datos y

    para cada conjunto de relaciones hay una nica tabla a la que se le asigna el nombre de

    conjunto de entidades o del conjunto de relacionescorrespondientes.

    Ambos modelos, el modelo E-R y el modelo de bases de datos relacional, son representacin

    abstractas y lgicas del desarrollo del mundo real. Debido a que los dos modelos emplean

    principios de diseo similares, se puede convertir un diseo E-R en un diseo relacional.

    Sea E un conjunto de entidades fuertes con los atributos descriptivos a1, a2, ..., an. Esta

    entidad se representa mediante una tabla llamada E con n columnas distintas, cada una de las

    cuales corresponde a uno de los atributos de E. Cada fila de la tabla corresponde a una entidad

    del conjunto de entidades E.

  • 5/20/2018 Bases de Datos i,Ensayo

    23/51

    Considerando el conjunto de entidades prstamo con sus atributos nmero-prstamo e

    importe. Se representa este conjunto de entidades mediante una tabla llamada prstamo, con

    dos columnas. Como se muestra a continuacin:

    Tabla Prstamo

    |Nmero-prstamo |Importe |

    |P-17 |200,000 |

    |P-23 |400,000 |

    |P-25 |300,000 |

    |P-14 |300,000 |

    |P-93 |100,000 |

    |P-11 |180,000 |

    |P-16 |260,000 |

    La fila (P-17, 200,000) significa que el numero de prstamo P-17 tiene un importe de prstamo

    de 200,000. Se puede aadir una nueva entidad a la base de datos insertando una fila en la

    tabla. Tambin se pueden borrar o modificar lasfilas.

    Considerando el conjunto de entidades cliente con los atributos: nombre-cliente, dni, calle-

    cliente y ciudad-cliente. La tabla correspondiente a cliente tiene cuatro columnas.

    [pic]

    Tabla de equivalencia

    |Nombre-cliente |Dni |Calle-cliente |Ciudad-cliente |

    |Santos |32112312 |Mayor |Peguerinos |

    |Gmez |19283746 |Carretas |Cerceda |

    |Lpez |67789901 |Mayor |Peguerinos |

    |Prez |55555555 |Carretas |Cerceda |

    |Ruprez |24466880 |Ramblas |Len |

    |Abril |96396396 |Preciados |Valsan |

    |Valdivieso |96396396 |Goya |Vigo |

    |Fernndez |33557799 |Jazmn |Len |

    |Gonzlez |19283746 |Arenal |La Granja |

    Representacin tabular de los conjuntos de entidades dbiles

    Sea A un conjunto de entidades dbil con los atributos a1, a2,...,am. Sea B el conjunto de

  • 5/20/2018 Bases de Datos i,Ensayo

    24/51

    entidades fuerte del que A depende. Sea la clave primaria el conjunto de atributos b1,b2,...,bn.

    Se representa el conjunto de entidades A mediante una tabla llamada A con una columna por

    cada uno de sus atributos del conjunto:

    {a1,a2,...,am} U {b1,b2,...,bn}

    Considerando al conjunto de entidades pago con sus atributos: numero-pago, fecha-pago e

    importe-pago,. La clave primaria del conjunto de entidades prstamo, de la que depende, es

    nmero-prstamo.

    [pic]

    Representacin tabular del conjunto de relaciones

    Sea R un conjunto de relaciones, sean a1, a2 ,..., am, el conjunto de atributos formados por la

    unin de las claves primaria de cada uno de los conjuntos de entidades que participan en R, ysean b1, b2,..., bn los atributos descriptivos de R. El conjunto de relaciones se representa

    mediante una tabla llamada R con una columna por cada uno de los atributos del conjunto.

    Considerando el siguiente diagrama, el conjunto de relaciones prestatario implica los dos

    siguientes conjuntos de entidades.

    Cliente. Con la clave primaria dni.

    Prstamo. Con la clave primaria nmero-prstamo.

    Debido a que el conjunto de relaciones no tiene atributos, la tabla prestatario tiene 2columnas etiquetadas dni y numero-prstamo.

    [pic]Tabla prestatario

    |Dni |Numero-prstamo |

    |32112312 |P-17 |

    |19283746 |P-23 |

    |67789901 |P-15 |

    |55555555 |P-14 |

    |24466880 |P-93 |

    |19283746 |P-11 |

    |93696396 |P-17 |

    |33557799 |P-16 |

    Redundancia de tablas

    Para no repetir inf. Se pasan atributos de una entidad (puesta en una tabla) a otra.

    El caso de un conjunto de relaciones unido a un conjunto de entidades dbil conel

    correspondiente conjunto de entidades fuerte es especial. Estas relaciones son varios a uno y

    no tienen atributos descriptivos. Adems la clave primaria de un conjunto de entidades dbilincluye la clave primaria del conjunto de entidades fuerte.

  • 5/20/2018 Bases de Datos i,Ensayo

    25/51

    Del diagrama E-R con el conjunto de entidades dbil pago, ste depende del conjunto de

    entidades fuerte prstamo a travs del conjunto de relaciones prstamo-pago. La clave

    primaria de pago es {numero-prstamo, numero-pago} y la clave primaria de prstamo es

    {numero-prstamo}. Como prstamo-pago no tiene atributos descriptivos, la tabla para

    prstamo-pago tendra dos columnas, numero-prstamo y numero-pago. La tabla pago tienecuatro columnas, numero-prstamo, numero-pago, fecha-pago, e importe-pago. As, la tabla

    prstamo-pago es redundante, la tabla para el conjunto de relaciones que une a un conjunto

    de entidades dbil con su correspondiente conjunto de entidades fuerte es redundante y no

    necesita ser representada en una representacin tabular de un diagrama E-R.

    Combinacin de tablas

    Considerando un conjunto AB de relaciones varios a uno del conjunto de entidades A al

    conjunto de entidades B. Usando el esquema de construccin de tablas se construyen tres

    tablas: A, B, y AB. Sin embargo, si hay una dependencia de existencia de A a B (esto es, para

    cada entidad a en A, la existencia de a depende de la existencia de alguna entidad b en B),entonces se pueden combinar las tablas A y AB para formar una nica tabla consiste en la

    unin de las columnas de ambas tablas.

    Ejemplo, considerando el siguiente diagrama:

    [pic]

    El conjunto de relacionescuenta-sucursal es varios a uno desde cuenta a sucursal. Adems, la

    sobre lnea indica que la participacin de cuenta en cuenta-sucursal es total. Adems una

    cuenta no puede existir sin estar asociada con una sucursal en particular. Por lo tanto se

    necesitan las dos siguientes tablas:

    cuenta.- con los atributos: numero-cuenta, saldo, nombre-sucursal.

    Sucursal.- con los atributos: nombre-sucursal, ciudad-sucursal y activos.

    2.7 GENERALIZACION Y ESPECIALIZACION

    ESPECIALIZACION

    Es como la Herencia en la q una entidad PADRE tiene sus atributos y se los pasa a sus HIJOS q a

    parte de esos atributos tienen sus propios atributos. Se representa con un triangulo y adentro

    se le pone ISA

    Un conjunto de entidades puede incluir subgrupos de entidades que se diferencian de alguna

    forma de las otras entidades del conjunto. Por ejemplo, un subconjunto de entidades en un

    conjunto de entidades puede tener atributos que no son compartidos por todas las entidades.

    El modelo E-R proporciona una forma de representacin de estos grupos de entidades

    distintos.

    Considrese el conjunto de entidades cuenta con atributos numero-cuenta y saldo.

    Una cuenta se puede clasificar como una de las siguientes:

    1. cuenta-ahorro.

    2. Cuenta-corriente

    Cada uno de estos tipos de cuentas se describen mediante un conjunto de atributos que

  • 5/20/2018 Bases de Datos i,Ensayo

    26/51

    incluyen los atributos del conjunto de entidades cuenta ms otros atributos adicionales. Por

    ejemplo, las entidades cuenta-ahorro se describen adems mediante el atributo tipo-inters,

    mientras que las entidades cuenta-corriente se describen adems mediante el atributo

    descubierto. Elproceso de designacin de subgrupos dentro de un conjunto de entidades es la

    especializacin. La especializacin de cuenta permite distinguir entre las cuentas basndose en

    el tipo de cuenta.

    Un conjunto de entidades se puede especializar mediante mas de una caracterstica distintiva.

    En este ejemplo, la caracterstica distintiva es el tipo de cuenta.

    En trminos de un diagrama E-R, la especializacin se representa por medio de un

    componente triangular etiquetado ISA, como se muestra a continuacin. La etiqueta ISA

    significa > (ES) y representa, por ejemplo, que una cuenta de ahorro es una cuenta.

    [pic]

    GENERALIZACION

    El refinamiento desde un conjunto de entidades inicial en sucesivos niveles de subgrupos en

    entidades representa un proceso de diseo descendente (top-down) en el que las distinciones

    se hacen explcitas. El proceso de diseo puede ser tambin de forma ascendente (bottom-up)

    en que los mltiples conjuntos de entidades se sintetizan en un conjunto de entidades de nivel

    mas alto basado en caractersticas comunes. El diseador de la base de datos puede haber

    identificado primero el conjunto de entidades cuenta-corriente con los atributos numero-

    cuenta, saldo y descubierto, y el conjunto de entidades cuenta-ahorro con los atributos

    numero-cuenta, saldo y tipo inters. Hay similitudes entre el conjunto de entidades cuenta-

    corriente y el conjunto de entidades cuenta-ahorro en el sentido de que tienen variosatributos en comn. Esta similitud se puede expresar mediante generalizacin, que es una

    relacin contenida que existe entre el conjunto de entidades de nivel mas alto y uno o

    msconjuntos de entidades de nivel mas bajo. En el ejemplo, cuenta es el conjunto de

    entidades del nivel mas alto, y los conjuntos de entidades cuenta-ahorro y cuenta-corriente

    son del nivel mas bajo.

    2.8 AGREGACION

    Es un tipo de relacin q existe entre las entidades. Un conjunto de entidades forma uno.

    Una limitacin del modelo E-R es que no es posible expresar relaciones entre relaciones. Para

    ilustrar la necesidad de tales construcciones, considrese una base de datos que describe

    informacin acerca de clientes y prestamos. Supngase que cada par cliente-prstamo puede

    tener un empleado del banco que es el responsable de prestamos para ese par particular.

    Usando las construcciones del modelo E-R bsico, se obtiene el siguiente diagrama:

    [pic]

    En el que se observa los conjuntos de relaciones prestatario y responsable-prstamo se

    pueden combinar en un conjunto de relaciones simple. De otro modo no se podra combinar,

    ya que hacindolo, se oscurece la estructura lgica del esquema. Por ejemplo, si se combinan

    los conjuntos de relaciones prestatario y responsable-prstamo, esta combinacin especifica

    que un responsable de prestamos debe estar asignado a cada par cliente-prstamo, lo cual no

    es cierto. La separacin en dos conjuntos de relaciones diferentes resuelve este problema.

  • 5/20/2018 Bases de Datos i,Ensayo

    27/51

    Sin embargo, hay informacin redundante, en el diagrama, ya que cada par cliente-prstamo

    en responsable-prstamo esta tambin prestatario. Si el responsable de prestamos fuera un

    valor en lugar de una entidad empleado, se podra en su lugar hacer referencia a un atributo

    multivalorado responsable-prstamo en la relacinprestatario. Pero esto implica, que es ms

    difcil, encontrar, por ejemplo, los pares cliente-prstamo de los que un empleado es

    responsable.

    La mejor forma de modelar esta situacin como esta es usar agregacin. La agregacin es una

    abstraccin a travs de la cual las relaciones se tratan como entidades de nivel mas alto. Para

    el ejemplo, se considera el conjunto de relaciones prestatario y los conjuntos de relaciones

    cliente y prstamo como un conjunto de entidades llamado prestatario. Tal conjunto de

    entidades se trata de la misma forma que cualquier otro conjunto de entidades.

    El diagrama utilizando agregacin quedara de la siguiente manera:

    [pic]

    UNIDAD III. MODELO RELACIONAL

    3.1. ESTRUCTURA DE LAS BASES DE DATOS RELACIONALES

    Una base de datos relaciones consiste en un conjunto de tablas, a cada una de las cuales se le

    asigna un nombre exclusivo. Cada fila de la tabla representa una relacin entre un conjunto de

    valores.

    Considerando la siguiente tabla:

    [pic]

    Tiene tres cabeceras de columna: nombre-sucursal, numero-cuenta y saldo. Se puede hacer

    referencia a estas cabeceras como atributos. Para cada atributo hay un conjunto de valores

    permitidos denominado dominio de ese atributo. Para el atributo nombre-sucursal, por

    ejemplo el dominio es el conjunto de los nombres de las sucursales. Suponiendo que D1

    denota este conjunto, D2 el conjunto de los numero de cuenta y D3 el conjunto de los saldos.

    Todas la filas de cuenta deben coincidir en una tupla (v1,v2,v3) donde v1 es un nombre de

    sucursal (v1 esta en el dominio de D1), v2 es un numero de cuenta (v2 esta en eldominio D2) y

    v3 es un saldo. En general cuenta solo tendr un subconjunto del conjunto de todas las filas

    posibles. Por lo tanto cuenta es un subconjunto de:

    D1 X D2 X D3

    En general, una tabla de n atributos debe ser un subconjunto de:

    D1 X D2 X...XDn-1 X Dn

    Como las tablas son esencialmente relaciones, se utilizan los trminos matemticos relacin ytupla en lugar de tabla y fila.

  • 5/20/2018 Bases de Datos i,Ensayo

    28/51

    ALGEBRA RELACIONAL

    El lgebra relacional es un lenguaje de consulta procedimental. Consta de un conjunto de

    operaciones que toman como entrada una o dos relaciones y producen como resultado una

    nueva relacin.

    El lgebra relacional esta divido en dos grupos:

    1. 1. Operadores tradicionales de conjuntos.- Unin, Interseccin, diferencia y producto

    cartesiano.

    2. 2. Operadores relacionales especiales.- Seleccin, proyeccin, reunin natural y divisin.

    Tomando como base las siguientes relaciones para ejemplificar cada uno de los operadores.

    RELACION A

    [pic]

    RELACION B

    [pic]

    Adems se debe respetar que el operador unin, interseccin y diferencias sean compatibles

    con la unin. Es decir, que las tablas a operar deben ser del mismo grado y los j-simos

    atributos de las relaciones (j = rango de 1 a n) deben tener el mismo dominio (no es necesarioque tengan el mismo nombre)

    UNION.- La unin de dos relaciones A y B compatibles con la unin, denotado por A unin B, es

    una relacin cuya cabecera es idntica a la de A o de B y cuyo cuerpo son las tuplas t

    pertenecientes ya sea a A o B o ambas.

    A U B =

    [pic]

    INTERSECCION.- La interseccin de dosrelaciones A y B compatibles con la unin, denotado por

    A interseccin B, es una relacin cuya cabecera es idntica a la de A o de B y cuyo cuerpo son

    las tuplas t pertenecientes tanto a A como B o ambos.

    |S# |NOMBRE |CIUDAD |STATUS |

    |S1 |SALAZAR |LONDRES |20 |

    DIFERENCIA.- La diferencia entre dos relaciones compatibles a la unin A y B, denotado por A

    minus B, es una relacin cuya cabecera es idntica a la de A o B y cuyo cuerpo esta formado

    por todas las tuplas t pertenecientes a A pero no a B.AB =

  • 5/20/2018 Bases de Datos i,Ensayo

    29/51

    |S# |NOMBRE |CIUDAD |STATUS |

    |S4 |CORDOVA |LONDRES |20 |

    PRODUCTO CARTESIANO.- El producto cartesiano de las tablas A y B, denotado por A times B

    se define como una relacin cuya cabecera es la combinacin de las cabeceras A y B, y cuyo

    cuerpo esta formado por el conjunto de todas las tuplas t de tal modo que t sea una

    combinacin de una tupla A perteneciente a la relacin A y una tupla b perteneciente a la

    relacin B.

    Por ejemplo.- Suponiendo las relaciones Ay B. Definidas de la siguiente manera: sea la relacin

    A el conjunto de todos los nmeros de proveedor y B el conjunto de todos los nmeros de

    partes. Entonces A times B es el conjunto de todos los pares posibles numero de

    proveedor/numero de parte.[pic]

    OPERADORES RELACIONALES ESPECIALES

    Operador seleccin (().-El operador algebraico de seleccin produce un conjunto horizontal de

    una relacinespecifica, es decir, el conjunto de las tuplas de la relacin para el cual se cumple

    un predicado especifico. Sea theta cualquiera de los siguientes operadores =, , =, , entonces

    quedara:

    SELECT A WHERE X THETA Y

    Es una relacin con la misma cabecera de A y con un cuerpo formado por el conjunto de tuplas

    t de la relacin A siempre y cuando la evaluacin de comparacin X THETA Y resulte

    verdadera.

    La expresin condicional puede estar compuesta por expresiones boleanas unidad por AND,

    OR y NOT.

    Ejemplos:

    4. 4. S WHERE CIUDAD =LONDRES

    4. 5. P WHERE PESO < 14

    5. 6. SP WHERE S# =S1 AND P#=P1

    Proyeccin ( ().- El operador de proyeccin produce un subconjunto vertical de una relacin

    dada, es decir, el subconjunto obtenido al seleccionar los atributos que se indican en un orden

    de izquierda a derecha y eliminando las tuplas duplicadas.

    La proyeccin de una relacin A segn los atributos x, y, z.

  • 5/20/2018 Bases de Datos i,Ensayo

    30/51

    A[x, y, z] es una relacin con (x, y, z) como cabecera y cuyo cuerpo esta formado por el

    conjunto de tuplas (A-x, A-y, A-z), es decir, se selecciona de la tabla, las columnas x, y, z.

    Por ejemplo: S[CIUDAD]

    |CIUDAD |

    |LONDRES |

    |PARIS |

    |ATENAS |

    REUNION NATURAL (JOIN).- Sean las cabeceras de las relaciones A y B respectivamente:

    (X1, X2,..., Xm, Y1, Y2,..., Yn)

    (Y1, Y2,..., Yn, Z1, Z2,..., Zn)

    es decir, los atributos Y1, Y2,..., Yn son los nicos comunes a las dos relaciones y adems estn

    definidos bajo el mismo dominio.

    Considerando lassiguientes relaciones:

    RELACION S

    [pic]

    RELACION SP

    [pic]

    S JOIN SP

    [pic]

    DIVISION.- Sean las cabeceras de las relaciones A y B (X1,X2,...,Xm, Y1,Y2,...,Yn) y (Y1,Y2,...,Yn),

    es decir los atributos (Y1,Y2,...,Yn) son comunes a las 2 relaciones donde A representa al

    dividendo y B al divisor. Para ello, tanto los atributos (Y1, Y2,...,Yn) de A como B deben estar

    definidos bajo el mismo dominio.

    [pic]

    2. 3.2 LENGUAJES DE CONSULTA FORMALES

    Un lenguaje de consulta es un lenguaje en el que el usuario solicita informacin de la base de

    datos. Estos lenguajes suelen ser de un nivel superior que el de los lenguajes de programacin

    habituales. Los lenguajes de consulta pueden clasificarse como procedimentales o noprocedimentales. En los lenguajes procedimentales, el usuario instruye al sistema para que

  • 5/20/2018 Bases de Datos i,Ensayo

    31/51

    lleve a cabo una serie de operaciones en la base de datos para calcular el resultado deseado.

    En los lenguajes no procedimentales, el usuario describe la informacin deseada sin dar un

    procedimiento concreto para obtener esa informacin.

    La mayor parte de los sistemas comerciales de base de datos relacionales ofrecen un lenguaje

    de consulta que incluye elementos de los enfoque procedimental y no procedimental.

    3.3. MODIFICACION DE LA BASE DE DATOS

    Las modificaciones de la base de datos se expresan utilizando la operacin asignacin.

    Las tablas mostradas a continuacin se utilizarn para mostrar ejemplos de las diferentes

    modificaciones que se puedan tener. Estos ejemplos sern por medio de SQL de ORACLE.

    SQL (Structured Query Language) es un Lenguaje Estructuradode Consulta Comercial que nos

    permite interactuar con la base de datos. SQL contiene otras caractersticas adems de laconsulta en bases de datos. Incluye caractersticas para definir la estructura de los datos, para

    la modificacin de los datos en la base de datos y para la especificacin de ligaduras de

    seguridad.

    SQL contiene comandos que se utilizan para crear, almacenar, cambiar, recuperar y mantener

    la informacin en una base de Datos. Un comando de SQL se guarda en una parte de la

    memoria llamada SQL Buffer, en donde se queda hasta que un nuevo comando es introducido.

    TABLAS

    Tabla EMP. Descripcin de sus Campos o Atributos

    EMPNO NOT NULL NUMBER(4)

    ENAME CHAR(10)

    JOB CHAR(10)

    MGR NUMBER(4)

    HIREDATE DATE

    SAL NUMBER(7,2)

    COMM NUMBER(7,2)

    DEPTNO NUMBER(2)

    [pic]

    Tabla DEPT. Descripcin de sus Campos.

    DEPTNO NUMBER(2)

    DNAME CHAR(14)

    LOC LOC ()

    |DEPTNO |DNAME |LOC ||10 |ACCOUNTING |NEW YORK |

  • 5/20/2018 Bases de Datos i,Ensayo

    32/51

    |20 |RESEARCH |DALLAS |

    |30 |SALES |CHICAGO |

    |40 |OPERATIONS |BOSTON |

    Borrado.- Las solicitudes de borrado se expresan bsicamente igual que las consultas. Sin

    embargo en lugar de mostrar las tuplas al usuario. Solo se eliminan de la base de datos las

    tuplas seleccionadas. Solo se pueden borrar tuplas enteras; no se pueden borra valores de

    atributos concretos. En el lgebra relacional los borrados se expresanmediante:

    r( rE

    Donde r es una relacin y E es una consulta de lgebra relacional.

    Por ejemplo:

    4. 4. Borrar todas las cuentas de Gmez

    Cuenta ( cuenta - ( nombre-cliente=(cuenta)

    4. 5. Borrar todos los prestamos con importes entro 0 y 800

    Prstamo ( prstamo - ( importe >= 0 and importe =< 8000 (prstamo)

    Tomando en cuenta las tablas anteriores. Mediante SQL se tendra Los borrados utilizando elComando DELETE.

    Al realizar borrados se debe tomar en cuenta lo siguiente:

    No se pueden borrar renglones parciales. Si se quiere hacer esto, actualice la columna

    por NULL.

    La clusula WHERE determina los renglones a borrar de la tabla.

    Si omitimos la clusula WHERE, se borraran TODOS los renglones de la tabla.

    Ejemplo:

    Martn renuncio. Se debe remover de la BASE DE DATOS.

    SQL> DELETE FROM EMP

    WHERE EMPNO=7654;

    [pic]

  • 5/20/2018 Bases de Datos i,Ensayo

    33/51

    Insercin.- Para insertar datos en una relacin hay que especificar la tupla que se va a insertar

    o escribir una consulta cuyo resultado sea un conjunto de tuplas que vayan a insertarse.

    Evidentemente, el valor de los atributos de las tuplas insertadas deben ser miembros del

    dominio de cada atributo. De manera parecida las tuplas insertadas deben ser de la aridad

    correcta. En el lgebra relacional las inserciones se expresan mediante:

    r ( r U E

    Donde r es una relajacin y E es una expresin de la lgebra relacional. La insercin de una sola

    tupla se expresa haciendo que E sea una relacin constante que contiene una tupla.

    * Supngase que desea insertar elhecho de que Gmez tiene 200,000.00 en la cuenta C-973 en

    la sucursal Navacerrada. Hay que escribir:

    cuenta ( cuenta U {(, C-973,240,000.00)}

    Tomando en cuenta las tablas anteriores. Mediante SQL se tendra las inserciones de la

    siguiente manera:

    SQL> INSERT INTO DEPT VALUES (10,ACCOUNTING,NEW YORK)

    TABLA DEPT

    |DEPTNO |DNAME |LOC ||10 |ACCOUNTING |NEW YORK |

    DONDE:

    La tabla debe crearse antes de insertar datos.

    Los valores se separan con comas.

    Utilice el comando DESCRIBE para mostrar el orden y tipo de las columnas de la tabla.

    Los valores deben coincidir con el tipo de dato de la columna a la que se insertan.

    Los datos tipo CHAR y DATE deben ponerse entre apstrofes.

    Otra forma de insertar es:

    SQL> INSERT INTO DEPT (DNAME,EPTNO) VALUES (ACCOUNTING,10)

    TABLA DEPT

    |DEPTNO |DNAME |LOC |

    |10 |ACCOUNTING | |

    DONDE:

  • 5/20/2018 Bases de Datos i,Ensayo

    34/51

    Se listan los nombres de las columnas en el INSERT para:

    - - Insertar datos solamente en algunas columnas de la tabla.

    - - Introducir datos en alguna secuencia especifica.

    Los valores de deben dar en el orden especificado en la clusula INSERT.

    Insertando renglones de otra tabla

    Se puede utilizar el comando INSERT con un query para seleccionar renglones de una

    tabla e insertarlos en otra.

    El query sustituyela clusula VALUES.

    SQL> INSERT INTO EMP(EMPNO,ENAME,DEPTNO)

    SELECT ID,NAME,DEPARTMENT

    FROM OLD_EMPWHERE DEPARTMENT IN (10,20,30,40);

    Utilizando Parmetros en el Comando INSERT

    Un comando INSERT puede contener parmetros representando valores que van a ser

    provistos por el usuario al momento de correr el comando.

    Cada parmetro consiste de un & seguido por el nombre de la columna.

    SQL> INSERT INTO DEPT VALUES (&DEPTNO, &DNAME, &LOC);

    La ejecucin de este comando hace que se pida al usuario los valores para cada uno de los

    parmetros.

    No es necesario poner apstrofes en datos tipo CHAR y DATE si se pone el parmetro.

    Insertando Valores Nulos.

    Si no se inserta una columna en clusula INSERT, el valor de esa columna queda como NULO

    por default.

    Se puede especificar NULL en la clusula VALUES (a menos que NOT NULL est especificado

    para esa columna).

    SQL> INSERT INTO DEPT VALUES (50,EDUCATION,NULL)

    Insertando valores tipo DATE

    Formato default para introducir fechas (valores tipo DATE):

    DD-MON-YY

  • 5/20/2018 Bases de Datos i,Ensayo

    35/51

    Introducir a un nuevo empleado STONE

    SQL> INSERT INTO EMP (EMPNO,ENAME,HIREDATE)

    VALUES (7963,STONE,07-APR-87);

    Para introducir automticamente la fecha y la hora actual: SYSDATE

    Introducir a un nuevo empleado KOHN que fue contratado hoy

    SQL> INSERT INTO EMP (EMPNO,ENAME,HIREDATE)

    VALUES (7600,KOHN,SYSDATE)

    Actualizacin.- Puede que en algunas ocasiones que desee modificar un valor de una tupla sinmodificar todos los valores de la tupla. Se puede utilizar el operador proyeccingeneralizada

    para realizar esta tarea:

    r ( ( F1,F2,...,Fn (r)

    Donde cada Fi es el i-simo atributo de r, si el i-simo atributo no esta actualizado, o si hay que

    actualizar el atributo, Fi es solo una expresin que solo implica constantes y los atributos de r,

    que da el nuevo valor del atributo.

    Si se desea seleccionar varias tuplas de r y solo actualizar esas mismas tuplas, se puede utilizarla expresin siguiente:

    R ( ( F1, F2,..., Fn (( P(r)) U (r - (P (P))

    Para ilustrar el uso de la operacin actualizacin, supngase que se realiza el pago de los

    intereses y que hay que aumentar todos los saldos en un 5%. Hay que escribir.

    Cuenta ( ( nombre-sucursal, numero-cuenta, saldo ( saldo *1.05 (cuenta)

    Tomando en cuenta las tablas anteriores. Mediante SQL se tendra las Actualizaciones

    utilizando el Comando UPDATE.

    Ejemplo:

    Promover a Martin a MANAGER (gerente)

    SQL> UPDATE EMP

    SET JOB=MANAGER

    WHERE ENAME=MARTIN;

    [pic]

  • 5/20/2018 Bases de Datos i,Ensayo

    36/51

    Si omitimos la clusula WHERE, todos los valores en la columna cambiaran al valor en la

    clusula SET.

    Actualizando Mltiples Renglones:

    Cambiar los puestos de todos los vendedores (SALESMAN) por MARKET REP

    SQL> UPDATE EMP

    SET JOB=MARKET REP

    WHERE JOB=SALESMAN;

    [pic]

    Controlando cuando tiene efecto las MODIFICACIONES A LA BASE DE DATOS

    Inserciones (altas), borrados (bajas) y actualizaciones (cambios) a tablas no se hacen

    permanentes hasta que el trabajo es salvado en la base de datos con COMMIT.

    Hasta que el trabajo es salvado, nicamente el usuario que hizo los cambios lospuede

    ver, todos los dems usuarios ven los datos como estaban al momento del ultimo COMMIT.

    Un COMMIT puede ser explicito, implcito o automtico:

    COMMIT Explicito.- Se debe dar el commit de SQL COMMIT para que los cambios se hagan

    permanentes.

    SQL> COMMIT;

    COMMIT Implcito.- Los siguientes comandos de SQL causan un COMMIT implcito:

    ALTER, AUDIT, COMMENT, CONNECT, CREATE, DISCONNECT, DROP, EXIT, GRANT, NOAUDIT,

    QUIT, REVOKE y RENAME.

    COMMIT Automtico.- Los cambios tienen efecto inmediatamente despus de un INSERT,

    UPDATE o DELETE si el AUTOCOMMIT se encuentra habilitado.

    Para esto se utiliza el comando SET DE SQL *PLUS

    SQL> SET AUTOCOMMIT ON

    El comando ROLLBACK cancela todos los cambios pendientes regresando al estado en que

    estaba la informacin al momento del ultimo COMMIT.

    3.4 VISTAS

    No es deseable que todos los usuarios puedan ver la totalidad del modelo lgico. Las

  • 5/20/2018 Bases de Datos i,Ensayo

    37/51

    consideraciones sobre la seguridad pueden exigir que algunos datos queden ocultos para los

    usuarios. Considrese una persona que desea saber el numero de prstamo de un cliente pero

    que no necesita ver el importe del prstamo. Esta persona debera ver una relacin descrita,

    en el lgebra relacional, mediante:

    ( nombre-cliente, numero-prstamo (prestatario x prstamo)

    A parte de las consideraciones sobre la seguridad, puede que se desee crear un conjunto

    personalizado de relaciones que se adapte mejor que el modelo lgico a la intuicin de un

    usuario concreto.

    Definicin de Vistas. Las vistas se definen utilizando la instruccin create view. Para definir una

    vista hayque darle un nombre e indicar la consulta que la va a calcular. La forma de la

    instruccin view es:

    Create view v como

    Donde es cualquier expresin de consulta del lgebra relacional. El n