Katya
Katya
Katya
DOSSIER
BASE DE DATOS II
Quinto Semestre
INDICE
1.1. Sistemas de bases de datos y sus aplicaciones.............................................................5
1.2. Objetivos de los sistemas de bases de datos................................................................5
1.2.1. Redundancia e inconsistencia de datos.............................................................5
1.2.2. Dificultad para tener acceso a los datos............................................................5
1.2.3. Aislamiento de los datos...................................................................................6
1.2.4. Anomalas del acceso concurrente....................................................................6
1.2.5. Problemas de seguridad....................................................................................6
1.2.6. Problemas de integridad....................................................................................6
1.3. Sistemas de bases de datos...........................................................................................6
1.4. Los distintitos niveles de abstraccin de una base de datos........................................9
1.4.1. Abstraccin de la informacin......................................................................9
1.5. Usuarios y administradores de la base de datos.......................................................10
1.6. Componentes de los sistemas de bases de datos........................................................11
1.6.1. Estructura general del sistema.........................................................................11
1.7. El modelo entidad-relacin........................................................................................12
1.7.1. CONJUNTO DE RELACIONES CON DERIVACIN MLTIPLE............15
1.8. Diseo de un esquema de base datos.........................................................................17
1.9. REDUCCIN DE DIAGRAMAS E-R A TABLAS......................................................17
1.9.1. GENERALIZACIN Y ESPECIALIZACIN..............................................18
1.9.2. AGREGACIN..............................................................................................19
1.10. El modelo relacional..............................................................................................20
1.10.1. Relaciones...................................................................................................20
1.10.2. Propiedades de las relaciones......................................................................22
1.10.3. Tipos de relaciones......................................................................................22
1.10.4. Claves..........................................................................................................23
1.10.5. Esquema de una base de datos relacional....................................................25
1.11. Diseo de esquemas relacionales de bases de datos..............................................26
1.11.1. LA NORMALIZACION.............................................................................26
1.11.2. DEPENDENCIAS FUNCIONALES..........................................................26
EJERCICIOS........................................................................................................................32
II. LENGUAJES DE CONSULTAS FORMALES...........................................................35
2.1. Los Lenguajes de Consulta a Bases de Datos Relacionales...................................35
2.2. lgebra Relacional.................................................................................................35
2.2.1. Seleccin ()...................................................................................................35
Base de Datos II 3
I. INTRODUCCION A LAS
BASES DE DATOS
I.1. Sistemas de bases de datos y sus aplicaciones.
Los sistemas de base de datos se disean para manejar grandes
cantidades de informacin, la manipulacin de los datos involucra tanto
la definicin de estructuras para el almacenamiento de la informacin
como la provisin de mecanismos para la manipulacin de la
informacin, adems un sistema de base de datos debe de tener
implementados mecanismos de seguridad que garanticen la integridad
de la informacin, a pesar de cadas del sistema o intentos de accesos
no autorizados.
Nivel fsico.
Nivel conceptual.
Nivel de visin.
Definicin de esquema
Podemos definir a los usuarios como toda persona que tenga todo tipo
de contacto con el sistema de base de datos desde que este se disea,
elabora, termina y se usa.
Los usuarios que accesan una base de datos pueden clasificarse como:
Programadores de aplicaciones
Usuarios sofisticados
Usuarios especializados
Usuarios ingenuos
Gestor de archivos.
Gestiona la asignacin de espacio en la memoria del disco y de las
estructuras de datos usadas para representar informacin.
Procesador de consultas.
Traduce las proposiciones en lenguajes de consulta a instrucciones de
bajo nivel. Adems convierte la solicitud del usuario en una forma ms
eficiente.
Compilador de DDL.
Convierte las proposiciones DDL en un conjunto de tablas que contienen
metadatos, estas se almacenan en el diccionario de datos.
Archivo de datos.
En l se encuentran almacenados fsicamente los datos de una
organizacin.
Diccionario de datos.
Contiene la informacin referente a la estructura de la base de datos.
ndices.
Permiten un rpido acceso a registros que contienen valores especficos.
Una forma grfica de representar los componentes antes mencionados y
la relacin que existe entre ellos sera la siguiente.
Entidad
Cualquier tipo de objeto o concepto sobre el que se recoge informacin:
cosa, persona, concepto abstracto o suceso. Por ejemplo: coches, casas,
empleados, clientes, empresas, oficios, diseos de productos, conciertos,
excursiones, etc. Las entidades se representan grficamente mediante
rectngulos y su nombre aparece en el interior. Un nombre de entidad
slo puede aparecer una vez en el esquema conceptual.
Hay dos tipos de entidades: fuertes y dbiles. Una entidad dbil es una
entidad cuya existencia depende de la existencia de otra entidad. Una
entidad fuerte es una entidad que no es dbil.
Relacin (interrelacin)
Es una correspondencia o asociacin entre dos o ms entidades. Cada
relacin tiene un nombre que describe su funcin. Las relaciones se
representan grficamente mediante rombos y su nombre aparece en el
interior.
Base de Datos II 14
Atributo
Es una caracterstica de inters o un hecho sobre una entidad o sobre
una relacin. Los atributos representan las propiedades bsicas de las
entidades y de las relaciones. Toda la informacin extensiva es portada
por los atributos.
Base de Datos II 15
Identificador
Un identificador de una entidad es un atributo o conjunto de atributos
que determina de modo nico cada ocurrencia de esa entidad. Un
identificador de una entidad debe cumplir dos condiciones:
Jerarqua de generalizacin
c) RELACIN.- se crea una tabla que contiene una columna para cada
atributo descriptivo de la relacin y para cada atributo que conforma la
llave primaria de las entidades que estn relacionadas.
I.9.2. AGREGACIN
Es una tcnica que permite representar a un bloque de entidades
relacionadas como si fueran un solo conjunto de entidades; permitiendo
as la relacin entre conjunto de relaciones.
El modelo relacional, como todo modelo de datos, tiene que ver con tres
aspectos de los datos:
Estructura de datos.
Integridad de datos.
Manejo de datos.
I.10.1. Relaciones
Definiciones informales
Una relacin es una tabla con columnas y filas. Un SGBD slo necesita
que el usuario pueda percibir la base de datos como un conjunto de
tablas. Esta percepcin slo se aplica a la estructura lgica de la base de
datos (en el nivel externo y conceptual de la arquitectura de tres niveles
ANSI-SPARC). No se aplica a la estructura fsica de la base de datos, que
se puede implementar con distintas estructuras de almacenamiento.
Una tupla es una fila de una relacin. Los elementos de una relacin son
las tuplas o filas de la tabla. En la relacin OFICINA, cada tupla tiene seis
valores, uno para cada atributo. Las tuplas de una relacin no siguen
ningn orden.
Definiciones formales
Una relacin definida sobre un conjunto de dominios
consta de:
I.10.4. Claves
Ya que en una relacin no hay tuplas repetidas, stas se pueden
distinguir unas de otras, es decir, se pueden identificar de modo nico.
La forma de identificarlas es mediante los valores de sus atributos.
Para identificar las claves candidatas de una relacin no hay que fijarse
en un estado o instancia de la base de datos. El hecho de que en un
momento dado no haya duplicados para un atributo o conjunto de
atributos, no garantiza que los duplicados no sean posibles. Sin
embargo, la presencia de duplicados en un estado de la base de datos s
es til para demostrar que cierta combinacin de atributos no es una
clave candidata. El nico modo de identificar las claves candidatas es
conociendo el significado real de los atributos, ya que esto permite saber
si es posible que aparezcan duplicados. Slo usando esta informacin
semntica se puede saber con certeza si un conjunto de atributos
forman una clave candidata. Por ejemplo, viendo la instancia anterior de
la relacin PLANTILLA se podra pensar que el atributo Apellido es una
clave candidata. Pero ya que este atributo es el apellido de un empleado
y es posible que haya dos empleados con el mismo apellido, el atributo
no es una clave candidata.
Las claves candidatas que no son escogidas como clave primaria son
denominadas claves alternativas. Por ejemplo, la clave primaria de la
relacin OFICINA es el atributo Onum, siendo Telfono y Fax dos claves
alternativas. En la relacin VISITA slo hay una clave candidata formada
por los atributos Qnum e Inum, por lo que esta clave candidata es la
clave primaria.
I.11.1. LA NORMALIZACION
La normalizacin es el proceso de simplificar la relacin entre los
campos de un registro.
Por medio de la normalizacin un conjunto de datos en un registro se
reemplaza por varios registros que son ms simples y predecibles y, por
Base de Datos II 28
Llave(PROV)
Ejemplo:
NOTAS:
* Una relacin que esta en FNBC estar siempre en 3FN; esta relacin no
es reciproca.
* La forma normal BOYCE-CODD (FNBC) optimiza casos en los que
existen varias llaves candidato traslapadas. (son aquellas que
comparten atributos.).
EJERCICIOS
2.
Base de Datos II 36
(estudiante)
NE =2249
Ejemplo:
nombre (estudiante)
Base de Datos II 39
t[cliente.nombre_cliente] t[prestamo.nombre_cliente]
Acta sobre dos relaciones unindolas. El resultado es, por tanto, una
nueva relacin con el mismo esquema que las relaciones implicadas y
con un nmero de tuplas que es la unin de las tuplas de r 1 y r2 (los
elementos duplicados se desechan).
nombre_cliente(nombre_sucursal = "2"(deposito)))
B) Operaciones Adicionales:
Por ejemplo, podramos obtener los nombres de los clientes que tienen
depsito y prstamo al mismo tiempo en la sucursal 10.
r1 P r2 = P (r1 x r2)
Al ser unin de esquemas, como los elementos de los esquemas son los
nombres de los atributos, si existe una columna comn a R 1 y R2 slo
aparecer una vez.
tomos:
1. Las variables estn asociadas a las tuplas de las tablas y se
denota como relacin (variable).
Ejemplo:
Modelo (M)
Ejemplo:
M.marca
Y constantes
Base de Datos II 43
Ejemplo:
M.marca Toyota
3. F1 es una fbf
4. F1 es una fbf
Ejemplo:
ModeloAuto (modelo: m, marca: c)
Ejemplos:
1. Cul es el nombre y el color de cada producto en almacn?
Operaciones de QBE
OPERACI QBE
N
Base de Datos II 46
Desplegar P.
o
seleccion
ar
Cuantifica ALL.
dor
Universal
Contar CNT.
Promedio AVG.
Suma o SUM.
acumular
Calcular MIN.
el valor
mnimo
Calcular MAX.
el valor
mximo
Agrupar G.
tuplas
Ordenar AO.
Ascenden
Base de Datos II 47
temente
Ordenar DO.
descende
ntemente
Negacin
Lgica
Disyunci OR.
n lgica
Conjunci AND.
n lgica
Condiciones adicionales se expresan en una ventana aparte, en
algunas SGBD.
Sol.
En este caso se necesita realizar una reunin natural (join) entre
las dos tablas, ello se indica colocando la misma variable en las
columnas cuyos valores deben igualarse.
Base de Datos II 50
en ente Ven Ve
n
P. _np
5. Cules son los nombres de los productos comprados a todos los
proveedores y vendidos a por lo menos un cliente?
n
P. _np
6. Desplegar los nombres de los productos de color verde ordenados
descendentemente por nombre de producto.
Ejemplo
create table ciudad
(
cod_ciudad NUMERIC,
Base de Datos II 56
Nombre VARCHAR(20)
)
Ejemplo
select p.nomb, p.pat
from participantes as p
where p.pat like Moral%
Por ejemplo:
Para la asignacin de privilegios de acceso a los datos utilizamos
instrucciones como: GRANT/REVOKE
Una sentencia SQL es como una frase con la que decimos lo que
queremos obtener y de donde obtenerlo.
Ejemplo.
SELECT codProv
FROM Compras
La consulta anterior listara cada codProv una vez por cada tupla en la
que aparece en la relacin compras.
SELECT *
FROM proveedores
Sintaxis:
<expresion> {=|<>|!=|>|>=|!>|<|<=|!<} <expresion>
La unin UNION
La diferencia EXCEPT
La interseccin INTERSECT
El producto cartesiano CROSS JOIN
La composicin interna INNER JOIN
La composicin externa LEFT JOIN, RIGHT JOIN Y FULL JOIN
SELECT *
FROM articulo
UNION
SELECT *
FROM articuloscomprados
Base de Datos II 65
SELECT *
FROM articulo
WHERE precio<10
UNION
SELECT *
FROM articuloscomprados
where PRECIO <10
SELECT *
FROM ARTICULOS
EXCEPT
SELECT *
FROM ARTICULOSCOMPRADOS
SELECT *
FROM ARTICULOSCOMPRADOS
where stock >5
EXCEPT
SELECT *
FROM ARTICULO
SELECT *
FROM ARTICULO
INTERSECT
Base de Datos II 66
SELECT *
FROM ARTICULOSCOMPRADOS
SELECT *
FROM ARTICULO, PROVEEDOR
-- ESTO ES LO MISMO
SELECT *
FROM ARTICULO CROSS JOIN PROVEEDOR
SELECT *
FROM ARTICULO CROSS JOIN PROVEEDOR
WHERE ARTICULO.codart = proveedor.codart
Una forma de insertar datos es crear una tabla que incluya los datos de
otra. Esta es la sentencia SELECT... INTO.
Sintaxis
SELECT ...
INTO nb_NuevaTabla
FROM ...
SELECT cod_partici
INTO aux_jugadores
FROM participantes as p
WHERE p.nombrre like R%
Sintaxis:
UPDATE <destino>
SET {nbcolumna = {expresion | DEFAULT | NULL }} [,...n]
[FROM{ <origen> }] [ WHERE <condicion> ] [;]
UPDATE hotel
SET telef = NULL;
UPDATE clubes
SET dir = 0, telef = 0
WHERE nomb like A%;
[ FROM <origen>]
[ WHERE < condicion>] [; ]
DELETE oficinas;
Equivalente a:
DELETE
FROM oficinas;
Base de Datos II 71
DELETE participantes
WHERE nomb = Juan;
Ejemplo Aggregates
El resultado es:
AVG_PRICE
-----------
14.5
SELECT COUNT(PNO)
FROM PART;
y obtendremos:
COUNT
-------
4
SQL nos permite particionar las tuplas de una tabla en grupos. En estas
condiciones, los operadores agregados descritos antes pueden aplicarse
a los grupos (es decir, el valor del operador agregado no se calculan
sobre todos los valores de la columna especificada, sino sobre todos los
valores de un grupo). El operador agregado se calcula individualmente
para cada grupo).
Ejemplo Agregados
y obtendremos:
SNO | SNAME | COUNT
-----+-------+-------
1 | Smith | 2
2 | Jones | 1
3 | Adams | 2
4 | Blake | 3
Demos ahora una mirada a lo que est ocurriendo aqu. Primero, la join
de las tablas SUPPLIER y SELLS:
S.SNO | S.SNAME | SE.PNO
-------+---------+--------
1 | Smith | 1
1 | Smith | 2
2 | Jones | 4
3 | Adams | 1
3 | Adams | 3
4 | Blake | 2
4 | Blake | 3
4 | Blake | 4
Base de Datos II 73
Ahora particionamos las tuplas en grupos reuniendo todas las tuplas que
tiene el mismo atributo en S.SNO y S.SNAME:
III.23. HAVING
Ejemplo Having
y obtendremos:
SNO | SNAME | COUNT
-----+-------+-------
1 | Smith | 2
3 | Adams | 2
4 | Blake | 3
III.24. SUBCONSULTAS
Ejemplo Subselect
SELECT *
FROM PART
WHERE PRICE > (SELECT PRICE FROM PART
WHERE PNAME='Tornillos');
El resultado ser:
PNO | PNAME | PRICE
-----+-------------+--------
3 | Cerrojos | 15
4 | Levas | 25
SELECT *
FROM SUPPLIER S
WHERE NOT EXISTS
(SELECT * FROM SELLS SE
WHERE SE.SNO = S.SNO);
CREATE INDEX I
ON SUPPLIER (SNAME);
Se puede ver una vista como una tabla virtual, es decir, una tabla que
no existe fsicamente en la base de datos, pero aparece al usuario como
si existiese. Por contraste, cuando hablamos de una tabla base, hay
realmente una contraparte fsicamente almacenada para cada fila en la
tabla en algn sitio del almacenamiento fsico.
SELECT *
FROM London_Suppliers
WHERE P.PNAME = 'Tornillos';
IV.1. SEGURIDAD
Por ejemplo para que un usuario pueda hacer un select , otro para hacer
select y update, etc.
Una vista es una tabla virtual en la Base de Datos cuyo contenido est
definido por una consulta.
Pueden existir :
Vistas Horizontales
Vistas verticales
Vistas agrupadas
Vistas compuestas
Base de Datos II 80
Actualizacin de Vistas
Bajo el estndar SQL una vista puede ser actualizada si la consulta que
la define satisface todas estas restricciones:
Ejemplo 1: Para usuarios que solo se les permite tener acceso a los
registros completos de proveedores que son de La Paz:
Ejemplo 2: Para los usuarios que solo pueden tener acceso a los datos
de los artculos pero no a sus precios unitarios
Cada usuario de una Base de Datos basada en SQL tiene asignado un id-
usuario, un nombre breve que identifica al usuario dentro del del
software DBMS. El id-usuario se encuentra en el ncleo de la seguridad
SQL. Toda sentencia SQL ejecutada por DBMS se lleva a cuenta de un id-
usuario especfico. El id_usuario determina si la sentencia va ser
permitida o prohibida por el DBMS. En una BD de produccin los
id_usuarios son asignados por el administrador.
Grupos de usuarios
EJEMPLOS:
GRANT SELECT ON TABLES PROVEEDORES TO PUBLIC;
GRANT ALL ON TABLE INSCRIPCION, ALUMNOS TO LETY,
MEDARDO, VICTOR;
GRANT UPDATE, DELETE ON TABLE CALIFICACIONES
TO GOYO;
REVOKE UPDATE, DELETE
ON TABLE CALIFICACIONES FROM INTRUSO;
REVOKE ALL ON TABLE CALIFICACIONES FROM GERARDO;
Tambin es posible que a un usuario se le conceda el permiso de
conceder permisos de acceso.
EJEMPLOS:
GRANT SELECT ON TABLE ALUMNOS TO PEDRO
WITH GRANT OPTION;
Del mismo modo se le puede revocar el permiso de conceder
permiso:
Base de Datos II 82
IV.6. INTEGRIDAD
Nota.
Cuando se realiza un Insert se crea una pseudotabla denominada
inserted con la misma estructura de la tabla afectada.
Cuando se realiza un DELETE se crea una pseudotabla denominada
deleted con la misma estructura de la tabla afectada.
Cuando se realiza un UPDATE se crean ambas tablas (inserted y
deleted)
Nota.
Cuando se realiza un Insert se crea una pseudotabla denominada
inserted con la misma estructura de la tabla afectada.
Cuando se realiza un DELETE se crea una pseudotabla denominada
deleted con la misma estructura de la tabla afectada.
Cuando se realiza un UPDATE se crean ambas tablas (inserted y
deleted)
Base de Datos II 84
SELECT @N=a.plazas
FROM asignacion a, inserted t1
Where a.sigla_mat = t1.sigla_mat and
a.paralelo = t1.paralelo and
a.gestion = t1.gestion
SELECT @I=a.num_inscritos
FROM asignacion a, inserted t1
Where a.sigla_mat = t1.sigla_mat and
a.paralelo = t1.paralelo and
a.gestion = t1.gestion
IF ( @I < @N )
begin
UPDATE Asignacion
SET num_inscritos = num_inscritos+1
where Asignacion.sigla_mat in (select sigla_mat from inserted)
and Asignacion.paralelo in (select paralelo from inserted)
and Asignacion.gestion in (select gestion from inserted)
V.1. INTRODUCCIN
A los nuevos servicios de las empresas, le corresponden nuevas
funciones de aplicacin. Esas modificaciones de aplicacin deben poder
hacerse rpido, sin tener que reescribir todo.
Un poco de historia
La primera aparicin del concepto data de 1984 con la proposicin de
David Maier y George Copeland de construir un DBMS desde Smalltalk,
Copeland et al. (1984).
Se pueden citar dos grandes proyectos desde 1985, el proyecto ORION
de MCC en Austn, Texas y en 1986 el proyecto Altair, en Rocquencowt,
Base de Datos II 88
(los objetos atmicos son del tipo de base del sistema: enteros, reales,
caracteres, strings, booleanos) o compleja (constituida a partir de otros
objetos, atmicos o complejos).
Cada objeto tiene una identidad propia (ver figura 2), independiente de
su valor. Podemos actualizar el valor de un objeto sin alterar su
identidad. El sistema maneja su identidad, atribuyendo a cada objeto un
identificador que asegura unicidad.
Conceptos como la herencia permiten definir una clase (la clase define
una estructura y un comportamiento comn, a varios objetos) de objetos
a partir de una clase ya existente (herencia simple) o de varias otras
clases (herencia mltiple). La clase creada recupera no solamente su
estructura sino adems sus mtodos de su(s) clase(s) padre(s). La
herencia trae una descripcin compacta bien estructurada del esquema
de aplicacin. Es una tcnica de clasificacin de objetos que evita la
duplicacin de cdigo facilitando la reutilizacin de propiedades de
estructuras y comportamientos ya definidas.
Los OODBMS permiten llegar a nuevos dominios para los cuales las
bases de datos tradicionales son renuentes a ser aceptadas.
V.10. Identidad.
Identidad quiere decir que los datos estn organizados en entidades
discretas y distinguibles llamadas objetos. Cada objeto ha de poder
distinguirse por un puntero, un ndice en un array, un valor de un
atributo,...
Dos objetos que tengan la misma informacin no son indistinguibles, la
identidad los distingue.
C++: La implementacin de la identidad se realiza a travs del puntero
al objeto (this). Ejemplo:
V.11. Clasificacin.
Los objetos con la misma estructura de datos (atributos) y el mismo
comportamiento (Operaciones) se aglutinan para formar una clase. Una
clase es una abstraccin que describe las propiedades de los objetos.
Una clase define un conjunto de objetos individuales. Se dice que cada
objeto es una instancia de una clase. Los objetos de la misma clase,
aparte de la identidad, solo se diferencian en el valor de los atributos,
comparten los nombres de los atributos, as como las operaciones.
Base de Datos II 97
Herencia.
Herencia es compartir atributos y operaciones entre clases utilizando
una estrategia jerrquica. Tanto los atributos como las operaciones que
se toman de otra clase se pueden redefinir. En trminos generales se
puede definir una clase que despus se puede ir refinando en sucesivas
subclases.
Cuando se dice que una clase A hereda de otra clase B, A tendr todos
los atributos y operaciones de B, adems podr tener otros atributos y
operaciones propias. Puede ocurrir que la clase A tenga operaciones o
atributos que se llamen igual que la clase B, este tipo de refinamiento de
las clases consiste en redefinir las acciones o atributos de la clase padre.
Realmente no se puede decir que en este caso se sustituyan, los
atributos y operaciones de B estn en A, pero dependiendo del gestor de
objetos, stos pueden quedar ocultos o inaccesibles.
Base de Datos II 98
Una clase puede heredar de varias clases, cuando esto ocurre tendr
todos los atributos y operaciones de todas las clases que hereda.
Puede ocurrir que dos clases tengan atributos u operaciones con el
mismo nombre, si una clase heredara de ambas habra ambigedad,
cuando me refiera a una operacin, cada gestor de objetos particular
puede deshacer la ambigedad de diferente manera.
Cuando un objeto es de una clase, y sta hereda de otras clases, ese
objeto es de todas las clases que hereda su clase.
Otras caractersticas.
Las caractersticas que se tratan en este punto no especficas de la
orientacin a objetos, pero si son muy importantes.
V.12. Abstraccin.
La abstraccin consiste en centrarse en los aspectos esenciales de una
entidad e ignorar sus propiedades accidentales. La abstraccin en la
orientacin a objetos se produce a travs de dos maneras:
Clasificacin: Permite englobar a muchas entidades particulares dando
una idea general y abstracta de todas ellas.
Herencia + Polimorfismo: Permite crear una clase original muy general
para que en sucesivos refinamientos se creen otras subclases ms
concretas. Con la primera clase nos hemos abstrado de lo comn e
importante de todas las subclases y con el polimorfismo podemos
mantener o refinar las operaciones iniciales.
V.13. Encapsulamiento.
La encapsulacin consiste en separar los aspectos externos del objeto, a
los cuales pueden acceder otros objetos, de los detalles internos de la
implementacin del mismo, que quedan ocultos para los dems.
Esto permite modificar la implementacin de un objeto, sabiendo seguro
que no influye en el resto de la aplicacin, lo que hay que hacer es
modificar solo la parte oculta, respetando la externa.
Ejemplo:
Gestor de bases de datos de informacin geogrfica (GIS):
Tratamiento convencional:
Se definen propiedades para zonas geogrficas.
Se definen como varan esas propiedades en el tiempo.
V.15. Compartir.
Una de las principales caractersticas de las tcnicas orientadas a
objetos es la capacidad que tienen para poder compartir, esto se realiza
en dos niveles:
A travs de la herencia se utiliza cdigo de manera natural y con el
polimorfismo se puede particularizar para cada clase.
La reutilizacin de cdigo se realiza de manera inmediata. Gracias al
encapsulamiento se puede utilizar cdigo sin tener en cuenta su
implementacin.
V.17. Sinergia.
Cuando los resultados de combinar una serie de elementos son mayores
de lo que se espera de esos elementos vistos individualmente, se dice
que se produce sinergia entre ellos. Esto ocurre con la identidad,
clasificacin, polimorfismo y herencia, al utilizarlas en conjunto forman
un estilo diferente de programacin (orientado a objetos).
Especificacin semntica:
vacaPila(meterElePila(P,el)) = Falso
objeto que pertenece a una clase es una instancia de ella. En UML, cada
clase se representa con un rectngulo dividido en tres compartimentos.
El primero indica el nombre de la clase, que debe permitir la
comprensin de lo que es la clase y NO lo que ella hace. El segundo
contiene los atributos expresados con su nombre, su tipo y un valor
inicial por omisin, en caso de ser necesario, y el tercero indica sus
operaciones expresadas con el nombre de la operacin, sus argumentos
entre parntesis, expresados como nombre del argumento, su tipo y su
valor por omisin, si es necesario; y por ltimo el tipo de resultado que
devuelve la operacin. Cada uno de los atributos y operaciones va
antecedido por un caracter que indica el tipo de acceso o la visibilidad
de dicho parmetro en la clase. Estos son: (+) para los pblicos, (#) para
los protegidos, (-) para los privados, (7) para los atributos calculados por
alguna operacin definida en la clase, y el parmetro subrayado para los
de la clase, lo que hace que existan atributos y operaciones de la clase y
no de las instancias de la clase. La figura 3 presenta la estructura de una
clase y un ejemplo.
V.27. Paquetes
Permiten dividir un modelo y reagrupar y encapsular los elementos de
modelado y se representa con una carpeta con nombre, como lo
Base de Datos II 113
muestra la figura 13. Poseen una interfaz y una realizacin. Cada uno de
sus elementos posee un parmetro que indica si es o no visible al
exterior del paquete. Se recomienda que el grafo de paquetes sea un
grafo acclico.
Las relaciones entre los casos de uso son: comunicacin, donde el actor
inicia la interaccin indicado con una flecha; utilizacin, donde una
instancia del caso de uso fuente utiliza el comportamiento del caso de
uso destino; y extensin, donde un caso de uso extiende el caso de uso
destino. En general, slo hay un actor por cada caso de uso y para su
realizacin es conveniente responder las preguntas siguientes: Cules
son las tareas del actor?, Cules datos o informacin el actor debe
crear, guardar, modificar, destruir o leer?, Debe el actor informar al
sistema de los cambios externos? y Debe el sistema informar al actor
las condiciones internas?. La descripcin se debe concentrar en lo que
DEBE HACERSE y NO en la manera de hacerlo. La descripcin de un caso
de uso contiene: su inicio (que evento lo dispara), su fin (que evento lo
para), la interaccin con los actores, el intercambio de informacin, la
cronologa y origen de las informaciones, las repeticiones de
comportamiento y las situaciones opcionales. Si un caso de uso es muy
complejo (por ejemplo ms de diez pginas) es posible dividirlo en casos
ms pequeos. El enfoque orientado por objetos materializa un caso de
uso por medio de la colaboracin entre los objetos. Los escenarios se
representan con los diagramas de interaccin.
ejemplo.
Diagrama de secuencias:
es una representacin temporal de los objetos y sus interacciones. La
figura 18 muestra un ejemplo.
Base de Datos II 117
Diagrama de colaboracin:
es una representacin espacial de los objetos, sus enlaces y sus interacciones.
(junto con los de secuencias se denominan, diagramas de interaccin). La
figura 19 presenta un ejemplo.
Base de Datos II 118
Diagrama de objetos:
representan los objetos y sus relaciones, corresponden a diagramas de
colaboracin simplificados sin representacin de los envios de mensajes. La
figura 20 muestra un ejemplo.
V.29. Metamodelo
Numerosos elementos de modelado presentan la dicotoma (esencia,
manifestacin) por la cual un tipo representa la esencia de una abstraccin y la
instancia es la manifestacin concreta, asimismo la dicotoma (especificacin,
realizacin) donde las clases y los tipos primitivos realizan los tipos. Un tipo
especifica un dominio de valores y un conjunto de operaciones aplicables a
esos valores. Una clase realiza un tipo. La figura 23 ilustra tales dicotomas. La
clase Tipo comprende las clases: tipo primitivo (entero o enumerado), clase
y caso de uso. La clase Clase comprende: clase activa que tiene un o varios
flujos de ejecucin; seal que es un evento con nombre; componente que es
un elemento reutilizable de componentes fsicas y nodo que es un dispositivo
fsico sobre el cual las componentes pueden ser desplegadas para su
ejecucin.
VI.1. INTRODUCCIN
VI.2. MOTIVACION
Existen dos fuerzas que han impulsado la evolucin de los sistemas de
bases de datos. Por un lado los usuarios como parte de organizaciones
ms complejas han demandado una serie de capacidades que se han ido
incorporando en los sistemas de bases de datos (Figura 1.1). Un ejemplo
de esto es la necesidad de integrar informacin proveniente de fuentes
diversas. Por otro lado, la tecnologa ha hecho posible que algunas
facilidades inicialmente imaginadas solo en sueos se conviertan en
realidad. Por ejemplo, las transacciones en lnea que permite el sistema
bancario actual no hubiera sido posible sin el desarrollo de los equipos
de comunicacin. Los sistemas de cmputo distribuido son ejemplos
claros en donde presiones organizacionales se combinan con la
Base de Datos II 123
VI.9. Aplicaciones
Los ambientes en los que se encuentra con mayor frecuencia el uso de
las bases de datos distribuidas son:
Cualquier organizacin que tiene una estructura descentralizada.
Casos tpicos de lo anterior son: organismos gubernamentales y/o de
servicio pblico.
La industria de la manufactura, particularmente, aquella con plantas
mltiples. Por ejemplo, la industria automotriz.
Base de Datos II 130
VI.10. Ventajas
Los SMBDD tienen mltiples ventajas. En primer lugar los datos son
localizados en lugar ms cercano, por tanto, el acceso es ms rpido, el
procesamiento es rpido debido a que varios nodos intervienen en el
procesamiento de una carga de trabajo, nuevos nodos se pueden
agregar fcil y rpidamente. La comunicacin entre nodos se mejora, los
costos de operacin se reducen, son amigables al usuario, la
probabilidad de que una falla en un solo nodo afecte al sistema es baja y
existe una autonoma e independencia entre los nodos.
Las razones por las que compaas y negocios migran hacia bases de
datos distribuidas incluyen razones organizacionales y econmicas, para
obtener una interconexin confiable y flexible con las bases de datos
existente, y por un crecimiento futuro. El enfoque distribuido de las
bases de datos se adapta ms naturalmente a la estructura de las
organizaciones. Adems, la necesidad de desarrollar una aplicacin
global (que incluya a toda la organizacin), se resuelva fcilmente con
bases de datos distribuidas. Si una organizacin crece por medio de la
creacin de unidades o departamentos nuevos, entonces, el enfoque de
bases de datos distribuidas permite un crecimiento suave.
VI.11. Desventajas
La principal desventaja se refiere al control y manejo de los datos. Dado
que stos residen en muchos nodos diferentes y se pueden consultar por
nodos diversos de la red, la probabilidad de violaciones de seguridad es
creciente si no se toman las precauciones debidas.
La habilidad para asegurar la integridad de la informacin en presencia
de fallas no predecibles tanto de componentes de hardware como de
Base de Datos II 131
E
EN ENOMBRE TITULO
O
E1 Juan Rodrguez Ingeniero
Elctrico
E2 Miguel Analista de
Snchez Sistemas
Base de Datos II 136
E3 Armando Ingeniero
Legarreta Mecnico
E4 Beatriz Programador
Molleda
E5 Jorge Analista de
Castaeda Sistemas
E6 Luis Chvez Ingeniero
Elctrico
E7 Roberto Dvila Ingeniero
Mecnico
E8 Julia Jimnez Analista de
Sistemas
G
EN JNO PUESTO DUR
O
E1 J1 Administrad 12
or
E2 J1 Analista 24
E2 J2 Analista 6
E3 J3 Consultor 10
E3 J4 Ingeniero 48
E4 J2 Programado 18
r
E5 J2 Administrad 24
or
E6 J4 Administrad 48
or
E7 J3 Ingeniero 36
E7 J5 Ingeniero 23
E8 J3 Administrad 40
or
J
JNO JNOMBRE PRESUPUE LUGAR
STO
J1 Instrumenta 150000 Monterre
cin y
J2 Desarrollo 135000 Mxico
de bases de
datos
J3 CAD/CAM 250000 Puebla
J4 Mantenimien 310000 Mxico
to
J5 CAD/CAM 500000 Monterre
Base de Datos II 137
y
S
TITULO SALARI
O
Ingeniero 40000
Elctrico
Analista de 34000
Sistemas
Ingeniero 27000
Mecnico
Programador 24000
Figura 2.1. Bases de datos de una empresa con cuatro relaciones.
VII. DATAWAREHOUSE
VII.4.CARACTERISTICAS
De acuerdo con Bill Inmon, autor de Building the Data warehouse
Construyendo el almacn de datos, ampliamante reconocido como el
gur creador del concepto data warehousing, existen generalmente
cuatro caractersticas que describen un almacen de datos:
VII.5.BENEFICIOS
Optimizacin
Las estructuras de datos operacionales estn orientadas a una
explotacin mediante procesos transaccionales en lnea (OLTP), las
caractersticas de sus tablas y registros.
Datos versus informacin
El Data warehouse con las herramientas adecuadas nos permitir
obtener o realizar anlisis, reporting, extraccin y exploracin de los
datos para, en suma, transformar los datos en informacin til para
nuestra organizacin.
Beneficios econmicos
Normalmente los beneficios econmicos que podemos obtener de un
Data warehouse no tienen la inmediatez de los que pueden obtenerse
mediante un efeciente sistema de informacin operacional, por lo
general mediante los Data warehouse o Almacenes de datos hemos de
esperar el ahorro de gastos motivados por los cambios que puedan
sugerirse en la gestin de nuestra empresa en el medio y largo plazo.
VII.6.Conclusin
Base de Datos
Data Warehouse
Operacional
Datos del negocio para
Datos Operacionales
Informacin
Orientado a la aplicacin Orientado al sujeto
Actual Actual + histrico
Detallada Detallada + ms resumida
Cambia continuamente Estable
VII.8.SISTEMAS DE INFORMACION
En las metodologas anteriores, publicadas por el Instituto Nacional de
Estadstica e Informtica - INEI y con el fin de proporcionar una visin
ms clara, los sistemas de informacin se han dividido de acuerdo al
siguiente esquema:
Base de Datos II 152
VII.9.Sistemas tcnico-operacionales
Como indica su nombre, son los sistemas que ayudan a manejar la
empresa con sus operaciones cotidianas. Estos son los sistemas que
operan sobre el "backbone" (columna vertebral) de cualquier empresa o
institucin, entre las que se tiene sistemas de ingreso de rdenes,
inventario, fabricacin, planilla y contabilidad, entre otros.
Debido a su volumen e importancia en la organizacin, los sistemas
operacionales siempre han sido las primeras partes de la empresa a ser
computarizados. A travs de los aos, estos sistemas operacionales se
han extendido, revisado, mejorado y mantenido al punto que hoy, ellos
son completamente integrados en la organizacin.
Desde luego, la mayora de las organizaciones grandes de todo el
mundo, actualmente no podran operar sin sus sistemas operacionales y
los datos que estos sistemas mantienen.
Orientado a Temas
Una primera caracterstica del data warehouse es que la informacin se
clasifica en base a los aspectos que son de inters para la empresa.
Siendo as, los datos tomados estn en contraste con los clsicos
procesos orientados a las aplicaciones. En la Figura N 1 se muestra el
contraste entre los dos tipos de orientaciones.
Integracin
El aspecto ms importante del ambiente data warehousing es que la
informacin encontrada al interior est siempre integrada.
La integracin de datos se muestra de muchas maneras: en
convenciones de nombres consistentes, en la medida uniforme de
variables, en la codificacin de estructuras consistentes, en atributos
fsicos de los datos consistentes, fuentes mltiples y otros.
El contraste de la integracin encontrada en el data warehouse con la
carencia de integracin del ambiente de aplicaciones, se muestran en la
Figura N 2, con diferencias bien marcadas.
A travs de los aos, los diseadores de las diferentes aplicaciones han
tomado sus propias decisiones sobre cmo se debera construir una
aplicacin. Los estilos y diseos personalizados se muestran de muchas
maneras.
Base de Datos II 156
VII.13. No Voltil
La informacin es til slo cuando es estable. Los datos operacionales
cambian sobre una base momento a momento. La perspectiva ms
grande, esencial para el anlisis y la toma de decisiones, requiere una
base de datos estable.
En la Figura N 4 se muestra que la actualizacin (insertar, borrar y
modificar), se hace regularmente en el ambiente operacional sobre una
base de registro por registro. Pero la manipulacin bsica de los datos
que ocurre en el data warehouse es mucho ms simple. Hay dos nicos
tipos de operaciones: la carga inicial de datos y el acceso a los mismos.
No hay actualizacin de datos (en el sentido general de actualizacin) en
el depsito, como una parte normal de procesamiento.
Una de las razones por las que el desarrollo de un data warehouse crece
rpidamente, es que realmente es una tecnologa muy entendible. De
hecho, data warehousing puede representar mejor la estructura amplia
de una empresa para administrar los datos informacionales dentro de la
organizacin. A fin de comprender cmo se relacionan todos los
componentes involucrados en una estrategia data warehousing, es
esencial tener una Arquitectura Data Warehouse.
a) Sistemas Operacionales
Los datos administrados por los sistemas de aplicacin operacionales
son la fuente principal de datos para el data warehouse.
Las bases de datos operacionales se organizan como archivos indexados
(UFAS, VSAM), bases de datos de redes/jerrquicas (I-D-S/II, IMS, IDMS) o
sistemas de base de datos relacionales (DB2, Oracle, Informix, etc.).
Segn las encuestas, aproximadamente del 70% a 80% de las bases de
datos de las empresas se organizan usando DBMSs no relacional.
b) Extraccin, Transformacin y Carga de los Datos
Se requieren herramientas de gestin de datos para extraer datos desde
bases de datos y/o archivos operacionales, luego es necesario manipular
o transformar los datos antes de cargar los resultados en el data
warehouse.
Tomar los datos desde varias bases de datos operacionales y
transformarlos en datos requeridos para el depsito, se refiere a la
transformacin o a la integracin de datos. Las bases de datos
operacionales, diseadas para el soporte de varias aplicaciones de
produccin, frecuentemente difieren en el formato.
Los mismos elementos de datos, si son usados por aplicaciones
diferentes o administrados por diferentes software DBMS, pueden
definirse al usar nombres de elementos inconsistentes, que tienen
formatos inconsistentes y/o ser codificados de manera diferente. Todas
estas inconsistencias deben resolverse antes que los elementos de datos
sean almacenados en el data warehouse.
c) Metadata
Base de Datos II 172
f) Datos Externos
Dependiendo de la aplicacin, el alcance del data warehouse puede
extenderse por la capacidad de accesar a la data externa. Por ejemplo,
los datos accesibles por medio de servicios de computadora en lnea
(tales como CompuServe y America On Line) y/o va Internet, pueden
Base de Datos II 173
BIBLIOGRAFIA
AO
AUTOR OBRA LUGAR EDITORIAL
DE
EDIC.
1999
Base de Datos II 174
Sistemas de base de
Date, J. C. Datos
ANEXOS
PRACTICA
EJERCICIOS A RESOLVER
MODELO ER - ALGEBRA RELACIONAL
EJERCICIO NRO. 1
Realizar el diseo de una Base de Datos para la Asignacin y Control de Aulas
La Universidad Salesiana de Bolivia cuenta con diferentes predios tanto en la
zona: central, vino tinto y 1ro. de Mayo, se deben tomar en cuenta las
consideraciones siguientes:
EJERCICIO NRO. 2
Disear la Base de Datos Gua Turstica, haciendo uso del lenguaje de
consulta Algebra Relacional genere las consultas siguientes:
Base de Datos II 177
PRACTICA
ALGEBRA RELACIONAL
Base de Datos II 178
CARRERA (CA)
Cod_Carr Nombre_Carr Grado Mencin Modalidad Duracin
MATERIA(MA)
ESTUDIANTE (ES)
AAA-110180 1111111-LP Ana Ali Arce Z. Villa Dolores 2833456 12/12/1997 15/01/2000
C.4 Nro.34
BBB-181085 222222-CB Burgos Bello Boris Z. Villa Ftima 2224750 10/12/2001 10/01/2002
C.5 Nro. 56
CCC-160386 333333-OR Castro Calle Carlyn Z. Tejada Sorzano 2221567 14/12/2002 20/01/2003
346 Nro.45
EEE-170885 555555-LP Elio Eguez Erlan Z. Av. 6 de Agosto 2312357 08/12/2003 25/01/2004
Nro. 345
DOCENTE (DO)
D0001 7777777-LP Vedia Daza Irene Z. Villa Ftima C.34 2456732 Boliviana
Nro. 45
D0010 8888888-CB Mollinedo Laura Carmen Z. Rio Seco Plan 34 28647891 Boliviana
Nro. 56
D0015 999999-OR Quisbert Vilela Jos Z. Tejada Sorzano C.4 2488956 Boliviano
Nro. 120
D0100 234567 Jestick Buitriago Frank Z. Calacoto C.12 Nro. 21122355 Argentino
24
D0300 1010101-LP Luna Tellez Marco Z. Cuidad Saltlite C.3 2813456 Boliviano
Nro. 56
PROFESION (PRO)
DICTA (DIC)
HORARIO
Base de Datos II 183
NOTA (NO)
40 29 AAA-110180 10 10 5 5 REPROBADO
50 30 BBB-110180 10 10 10 25 APROBADO
51 35 BBB-110180 15 15 14 20 APROBADO
52 50 BBB-181085 20 20 20 10 APROBADO
60 55 CCC-160386 13 14 15 20 APROBADO
61 70 CCC-160386 11 11 20 20 APROBADO
70 80 DDD-200384 12 12 2 15 REPROBADO
71 90 DDD-200384 10 3 4 2 REPROBADO
INSCRIPCION (INS)