bases de datos i,ensayo
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