Está en la página 1de 72

Tpicos de base de datos

7 Semestre

1. Sistemas de bases de
datos distribuidas
1.1. Conceptos de base de datos distribuidas
1.2. Diseo de base de datos distribuidas

1.3. Procesamiento de operaciones de actualizacin distribuidas


1.4. Procesamiento de consultas distribuidas
1.5. Manejo de transacciones.

2. Sistemas de bases de datos orientadas a


objetos
2.1. El modelo de datos orientado a objetos.
2.1.1. Caractersticas de los SGBDOO.
2.1.2. Tipos de SGBDOO.
2.1.3. Productos.
2.2. El estndar ODMG.
2.3. Identidad y estructura de objetos
2.4. Encapsulamiento, herencia y polimorfismo en BDOO.
2.5. Persistencia, concurrencia y recuperacin en BDOO.

3. Sistemas de multibase de datos


3.1. Caractersticas y clasificacin.
3.2. Arquitectura de un sistema de multibase de datos.

3.3. Procesamiento de operaciones de actualizacin.


3.4. Procesamiento de consultas.
3.5. Aplicaciones de Multibase de Datos.

4. Sistemas de gestin de contenidos


4.1. Definicin Introduccin y conceptos.
4.2. Clasificacin de contenidos.

4.3. Arquitectura de un CMS.


4.4. Tipos de CMS en el mercado.
4.5. Modelado y Aplicacin de CMS.

Bibliografa
1. Ramez A. Elmasri, Shamkant B. Navathe, Fundamentos de Sistemas de Bases de Datos, 3. Edicin, Addison
Wesley, 2002.
2. Practical Application of Object-Oriented Techniques to Relational Databases. Donald K. Burleson. OMG,
1994.
3. C. J. Date, Introduccin a los Sistemas de Bases de Datos, 7a. edicin, Prentice Hall.

4. Object-Oriented Information Systems: Planning and Implementation. David A. Taylor. Wiley, 1992.

5. Silberschatz, Korth, Sudarshan, Fundamentos de Bases de Datos, 4. Edicin, Mc Graw Hill.


6. Batini Ceri Navathe, Diseo Conceptual de Base de Datos, Edicin Adiso Wessley/Diaz de
Santos.
7. Principles of distributed data bases systems, M.Tamer Ozsu, Prentice Hall, 2003, 3a.edicin.

8. Miguel A. Rodrguez, Bases de datos , Mc Graw Hill, Espaa 1992.

Polticas

Asistir a clases
Los celulares en vibrador, sin sonido o apagarlos.
Las tareas, casos prcticos, trabajos y exposiciones sern entregados o presentados nicamente
en fechas acordadas.

Tener el respeto a sus compaeros, as sea muy insignificante lo que se exponga, pregunte u
opine.
En caso de no presentar un examen en la fecha, no habr otra fecha de presentacin a menos
que se justifique la falta y este a tiempo.

El rango aprobatorio en el examen de regularizacin es de 70 como mnimo y 90 como mximo

Evaluacin
Participacin

15%

Tareas

25%

Proyecto/Practicas/Exposiciones

30%

Examen

30%

Total

100%

Exmenes
Unidad 1

10 de Septiembre

Unidad 2

8 de Octubre

Unidad 3

5 de Noviembre

Unidad 4

3 de Diciembre

Base de datos
Una BDD, permitir que ya no un usuario, sino un nmero muy alto de usuarios
accedan a la informacin, de una manera ordenada, consistente y coherente.
Este tipo de BD, permiten que los datos queden repartidos en ms de un
ordenador, lo cual es lo ms interesante ya que surge la necesidad de obtener
un programa que maneje todas estas partes de la BDD, como si fuese una
sola, y le den al usuario la impresin de cmo si l tuviese una BD centralizada.

Definicin de BDD
Una Base de Datos Distribuida (BDD) es un conjunto de mltiples bases de
datos lgicamente relacionadas las cuales se encuentran distribuidas entre
diferentes sitios interconectados por una red de comunicaciones, los cuales
tienen la capacidad de procesamiento autnomo lo cual indica que puede
realizar operaciones locales o distribuidas.

Propiedades de una BDD


Autonoma Local

Procesamiento Distribuido de Consultas

No dependencia de un sitio central

Independencia con respecto al equipo

Operacin Continua

Independencia con respecto al Sistema


Operativo

Independencia
localizacin

con

Independencia
fragmentacin

con

respecto

la

Independencia con respecto a la red


respecto

Independencia de rplica

la

Independencia con respecto al DBMS

Centralizado VS Distribuido
Centralizado

Distribuido

Control centralizado

Control jerrquico

Independencia de Datos

Transparencia en la Distribucin

Reduccin de redundancia

Replicacin de Datos

Estructuras
eficientes

Seguridad

complejas

accesos

No hay estructuras intersitios


Problemas de seguridad intrnsecos

Control centralizado

En las bases de datos distribuidas es posible identificar una estructura de


control jerrquico basado en un Administrador global de bases de datos, el
cual tiene la principal responsabilidad de la totalidad de la base de datos, y
el Administrador local de bases de datos, quien tiene la responsabilidad de
su respectiva base de datos local.

Independencia de datos
La independencia de datos quiere decir, que la organizacin actual de los
datos es transparente a las aplicaciones. Los programas son escritos
teniendo una vista conceptual de los datos, llamada esquema conceptual.

La independencia de datos es que los programas no son afectados por los


cambios en la organizacin fsica de los datos.

Reduccin de la redundancia

En las bases de datos distribuidas, se tienen varias razones para considerar la


redundancia de los datos como una caracterstica necesaria:

Las aplicaciones pueden verse favorecidas si los datos son replicados en todos los sitios
donde la aplicacin las necesita
La razn de disponibilidad del sistema puede incrementarse por este medio, debido a que si
el sitio en el que se encuentran los datos fallara, la ejecucin de la aplicacin no se detiene
porque existe una copia en algn otro sitio.

Estructuras complejas y acceso eficiente


Es conveniente tomar en cuenta dos cuestiones muy
importantes en el momento de accesar a una base de
datos distribuida, la optimizacin local y la
optimizacin global de los accesos.

La optimizacin global consiste en determinar qu datos sern


accesados en qu sitios y qu archivos de datos sern
transmitidos entre sitios.
La optimizacin local consiste en decidir como llevar acabo el
acceso a la base de datos local en cada sitio.

Seguridad

Los dueos de los datos locales pueden proteger de diferentes maneras su


informacin, esto dependiendo del DBMS local; y segundo, los problemas
de seguridad son intrnsecos en los sistemas de bases de datos en general,
esto debido a que las comunicaciones en las redes es su punto dbil con
respecto a la proteccin

Ventajas de las bases de datos


distribuidas sobre las bases de datos
centralizadas
Razones organizacionales
Interconexin de las bases de datos existentes
Desarrollo incremental
Reduccin de la sobrecarga de la comunicacin
Consideraciones en el desempeo
Confiabilidad y disponibilidad

Razones organizacionales

Las bases de datos distribuidas se acercan ms a las necesidades


estructura de la organizacin distribuida.

de la

Interconexin de las bases de datos existentes

Las bases de datos distribuidas son la solucin natural cuando se tienen


varias bases de datos existentes en la organizacin. En este caso, las bases
de datos distribuidas son creadas utilizando una estrategia de diseo tipo
bottom-up a partir de las bases de datos locales existentes.

Desarrollo incremental

Si una organizacin agrega una nueva unidad, relativamente autnoma,


entonces las bases de datos distribuidas soportaran este crecimiento con el
menor grado de impacto a las unidades ya existentes.

Reduccin en la sobrecarga de la comunicacin

En el mximo de que las aplicaciones sean locales es uno de los objetivos


primarios en el diseo de las bases de datos distribuidas.

Consideraciones en el desempeo

La existencia de varios procesadores autnomos dan como resultado un


incremento en el desempeo por medio de un alto grado de paralelismo

Confiabilidad y disponibilidad

Las fallas en una base de datos distribuida pueden ser ms frecuentes que
en las centralizadas, debido al gran nmero de componentes, pero el efecto
de cada falla es considerado por cada aplicacin que usa los datos en sitio
que fall, y por lo tanto es raro que el sistema en su totalidad falle.

Dos puntos importantes en una BDD


1.

Distribucin: Los datos no estn residentes en el mismo sitio


(procesador). Esto permite distinguir una base de datos distribuida de una
base de datos centralizada.

2.

Correlacin lgica: Los datos tienen algunas propiedades que los


relacionan, de tal manera que se puede distinguir una base de datos
distribuida de un conjunto de bases de datos locales o archivos residentes
en diferentes sitios de una red de computadores

Diseo de bases de datos


distribuidas

El Modelo relacional

El modelo relacional hace uso del lgebra relacional, la cual utiliza estrategias
de acceso a la base de datos mientras que las herramientas como SQL son
programas de aplicacin directamente.

Seleccin
Proyeccin
Unin
Diferencia
Producto cartesiano
Join
Join Natural
Semijoin
Semijoin Natural
Agrupamiento

Seleccin

Produce una relacin con el mismo esquema de la relacin operando y un


subconjunto de tuplas del mismo que satisfacen un predicado.

Proyeccin

Genera un conjunto de tuplas derivadas de la relacin operando al proyectar


un subconjunto de atributos de esta. Si hay tuplas repetidas, estas se
eliminan

Unin

Produce una relacin con el mismo esquema de cada uno de los operandos y
un conjunto de tuplas resultante de unir las de las relaciones operando.

Diferencia

Est formada por las tuplas de la primera relacin que no se encuentran en


la segunda

Producto cartesiano

Produce una relacin con todas los atributos de los dos relaciones, donde
cada tupla de la primera se combina con todas las tuplas de la segunda

Join
El join de dos relaciones se basa en una frmula que especifica el predicado
del join.

Normalmente est dada por conjunciones de comparaciones entre


atributos tomados de los dos operandos. Un join se deriva del producto
cartesiano y de la seleccin.

Join Natural

Tambin denominado equijoin, el join natural genera una


relacin en la que de cada par de atributos idnticos se
descarta uno. Las tuplas resultantes son las que
satisfacen la igualdad en dichos atributos.

Semijoin

Es

el resultante de aplicar proyeccin sobre los atributos del primer


operando despus de haber hecho join a los dos operandos. Debe tener en
cuenta un predicado, igual que con el join.

Semijoin Natural

Es

el resultante de aplicar proyeccin sobre los atributos del primer


operando despus de haber hecho join natural a los dos operandos.

Agrupamiento

Operacin

definida por un conjunto de atributos que determinan el


agrupamiento y unas funciones agregadas a ser evaluadas en cada grupo de
la relacin.

Modelo

de datos que representa un esquema de base de


datos mediante entidades y asociaciones

Describe una base de datos de una forma sencilla y global


Se realiza a partir de los requisitos de datos que debe cumplir
una base de datos

Modelo E-R
Describen el esquema de una base de datos

Entidades: Rectngulos, representan objetos reales


Atributos: valos, representan propiedades de estos objetos

Relaciones: Rombos, representan enlaces

Ejemplo

Cardinalidad de una relacin


1:1 Uno a uno
1:N

N:M

Uno a muchos

Muchos a muchos

Cardinalidad
1:1

PERSONA dirige DEPTO


1:N
PERSONA trabaja DEPTO
N:N
ALUMNO inscrito CURSO

SQL

El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos


normalizado, utilizado por el motor de base de datos de Microsoft Jet. SQL
se utiliza para crear objetos QueryDef, como el argumento de origen del
mtodo OpenRecordSet y como la propiedad RecordSource del control de
datos.

El lenguaje SQL est compuesto por comandos, clusulas, operadores y


funciones de agregado. Estos elementos se combinan en las instrucciones
para crear, actualizar y manipular las bases de datos.

Existen dos tipos de comandos SQL:

DLL: permiten crear y definir nuevas bases de datos, campos e ndices.


DML: permiten generar consultas para ordenar, filtrar y extraer datos de la
base de datos.

CREATE Utilizado para crear nuevas tablas, campos e ndices

DROP Empleado para eliminar tablas e ndices


ALTER Utilizado para modificar las tablas agregando campos o cambiando la
definicin de los campos.

SELECT Utilizado para consultar registros de la base de


datos que satisfagan un criterio determinado

INSERT Utilizado para cargar lotes de datos en la base de


datos en una nica operacin.

UPDATE Utilizado para modificar los valores de los


campos y registros especificados

DELETE Utilizado para eliminar registros de una tabla de


una base de datos

FROM Utilizada para especificar la tabla de la cual se van a


seleccionar los registros
WHERE Utilizada para especificar las condiciones que deben reunir
los registros que se van a seleccionar
GROUP BY Utilizada para separar los registros seleccionados en
grupos especficos
HAVING Utilizada para expresar la condicin que debe satisfacer
cada grupo

ORDER BY Utilizada para ordenar los registros seleccionados de


acuerdo con un orden especfico

AND Es el "y" lgico. Evala dos condiciones y devuelve un


valor de verdad slo si ambas son ciertas.

OR Es el "o" lgico. Evala dos condiciones y devuelve un


valor de verdad si alguna de las dos es cierta.

NOT

Negacin lgica. Devuelve el valor contrario de la


expresin.

< Menor que


> Mayor que
<> Distinto de
<= Menor Igual que
>= Mayor Igual que
= Igual que

BETWEEN Utilizado para especificar un intervalo de valores.

LIKE Utilizado en la comparacin de un modelo

In Utilizado para especificar registros de una base de datos

AVG Utilizada para calcular el promedio de los valores de un campo


determinado

COUNT Utilizada para devolver el nmero de registros de la seleccin


SUM Utilizada para devolver la suma de todos los valores de un campo
determinado

MAX Utilizada para devolver el valor ms alto de un campo especificado

MIN Utilizada para devolver el valor ms bajo de un campo especificado

Transformaciones equivalentes
Hay dos aspectos que deben tenerse en cuenta: la semntica y la secuencia de operaciones.
La semntica: la cual se entiende con el significado del programa, es decir, lo que debe hacer
Secuencia de operaciones: la que se entiende con la forma de lograrlo. Lo que quiere decir
que dos expresiones con la misma semntica pueden tener dos secuencias de operaciones
diferentes.

Join
La sentencia join en SQL permite combinar registros de dos o ms tablas en
una base de datos relacional. En el Lenguaje de Consultas Estructurado (SQL),
hay tres tipo de JOIN: interno, externo, y cruzado.
Matemticamente, JOIN es composicin relacional, la operacin fundamental
en el lgebra relacional, y generalizando es una funcin de composicin.

Combinacin interna (INNER JOIN)


Con esta operacin se calcula el producto cruzado de todos los registros; as
cada registro en la tabla A es combinado con cada registro de la tabla B;
pero slo permanecen aquellos registros en la tabla combinada que
satisfacen las condiciones que se especifiquen.

Combinacin Cruzada (CROSS JOIN)


Presenta el producto cartesiano de todos los registros de las dos tablas. El
cdigo SQL para realizar este producto cartesiano enuncia las tablas que
sern combinadas, pero no incluye algn predicado que filtre el resultado.

Combinacin externa (OUTER JOIN)


Mediante esta operacin no se requiere que cada registro en las tablas a
tratar tenga un registro equivalente en la otra tabla. El registro es
mantenido en la tabla combinada si no existe otro registro que le
corresponda.

Este tipo de operacin se subdivide dependiendo de la tabla a la cual se le


admitirn los registros que no tienen correspondencia, ya sean de tabla
izquierda, de tabla derecha, o combinacin completa.

De tabla izquierda
(LEFT OUTER JOIN o LEFT JOIN)
El resultado de esta operacin siempre contiene todos los registros de la
tabla de la izquierda (la primera tabla que se menciona en la consulta), aun
cuando no exista un registro correspondiente en la tabla de la derecha, para
uno de la izquierda.

La sentencia LEFT JOIN retorna la pareja de todos los valores de la tabla


izquierda con los valores de la tabla de la derecha correspondientes, o
retorna un valor nulo NULL en caso de no correspondencia.

Ejemplo de aprendizaje
Show

databases: Muestra
todas las bases de datos.

Para nuestro prctica usaremos


la base de datos ejercicio.

Use ejercicio;

= nos permite poner


ejecucin la base de datos llamada
ejercicio.

Show tables; = Muestra las tablas


que contiene la base de datos que
estemos utilizando.

Describe

orden;
=
Imprime en pantalla
los atributos que
corresponden a cada
tabla, as como la
informacin
que
detalla al atributo.

Las consultas a los


registro podemos
hacerla con la
sentencia:

Select * from
Nombre_tabla;

Inner Join

Nos permite unir dos tablas en este caso la tabla personas


y orden, esta primera consulta asocia a todas las personas
que tienen una orden. Este tipo de sentencia se le llama
explcita debido a que lleva la palabra Join.

Esta consulta ejecuta lo mismo que la sentencia anterior, este


tipo de Join es conocido como implcito, otro dato a observar es
que Order by permite ordenar segn el atributo que escojamos.

NATURAL JOIN

Podemos realizar tambin un Natural Join, este caso en


particular permite comparar todas las columnas que tengan el
mismo nombre en ambas tablas.

CROSS JOIN

Cross Join al igual que Inner Join, tiene una manera implcita y
explcita. Esta que esta mostrada representa la manera
Explcita.

Es un producto cartesiano que menciona las tablas que sern


combinadas, pero no incluye algn predicado que filtre el
resultado.

La siguiente sentencia es la forma de expresar la manera


implcita de un CROSS JOIN, el resultado es el mismo que el
de la forma explcita.

OUTER JOIN
Con el OUTER JOIN no es
necesario
que
los
registros en las tablas a
tratar tenga un registro
equivalente en la otra
tabla. El registro es
mantenido en la tabla
combinada si no existe
otro registro que le
corresponda.

En el caso de Right
Outer Join, devuelve
cada fila que cumple
la combinacin de la
segunda
entrada
(inferior) con cada
fila coincidente de la
primera
entrada
(superior).

También podría gustarte