Академический Документы
Профессиональный Документы
Культура Документы
Introduccin
SGBD. Coleccin de datos interrelacionados y un conjunto de programas para acceder a esos datos. La coleccin de datos normalmente se llama Base de Datos. Primer objetivo del SGBD es proporcionar un entorno prctico y eficiente en el almacenamiento y recuperacin de la informacin de la Base de Datos
Introduccin
Antes de los SGBD, se utilizaban programas para realizar procesamiento de archivos tpicos. Inconvenientes:
Redundancia e inconsistencia de Datos Dificultad de acceso a los datos. Para cumplir con nuevos requerimientos de informacin, se tenan que escribir nuevos programas, o usar programas que listaran cosas parecidas y tratarlas a mano. Aislamiento de Datos: Datos dispersos en varios archivos, archivos en diferentes formatos. Problemas de Integridad: Los datos almacenados deben satisfacer ciertos tipos de ligadura de consistencia Problemas de atomicidad: Debido a la posibilidad de fallos, se requiere que los datos se restauren a su estado original justo antes del fallo. Anomalas en el acceso concurrente: Permitir multiusuario pueden dar lugar a actualizaciones simultaneas que crearn estados inconsistentes de los datos Problemas de seguridad: Limitar el acceso a usuarios a porciones de datos.
Introduccin - Datos
Abstraccin de Datos: El sistema debe recuperar los datos eficientemente, debido a esto se han diseado estructuras de datos para la representacin de datos en la Base de Datos, y se manejan varios niveles de abstraccin que permiten mantener oculta la complejidad al usuario:
Nivel Fsico: El nivel ms bajo de abstraccin, describe como se almacenan realmente los datos. Describe estructuras de datos complejas de bajo nivel Nivel lgico: Siguiente nivel ms alto de abstraccin describe qu datos se almacenan en la BD y qu relaciones existen entre estos datos. La BD completa se describe as como un nmero pequeo de estructuras de datos relativamente simples. Nivel de vistas: Es el nivel ms alto de abstraccin describe solo parte de la BD completa. Algunos usuario solo accedern a parte de la informacin y para que interaccin se simplifique se define la abstraccin a nivel de vistas. El sistema puede proporcionar muchas vistas para la misma Base de Datos
Introduccin - Datos
Ejemplares y Esquemas Ejemplar: Cambio de informacin a lo largo del tiempo. La coleccin de informacin almacenada en la Base de Datos en un momento particular se conoce como Ejemplar de la Base de Datos. Esquema: Diseo de la Base de Datos, en un ambiente productivo y estable rara vez cambia. Estos esquemas dependen del nivel de abstraccin de la siguiente manera:
Esquema fsico (uno) Esquema lgico (uno) Subesquema. (varios)
Introduccin - Datos
Independencia de datos Capacidad para modificar una definicin de esquema sin que afecte a una definicin de esquema en el siguiente nivel. Existen dos niveles de independencia:
Independencia fsica de datos: Capacidad para modificar el esquema fsico sin provocar que los programas de aplicacin tengan que reescribirse. Modificaciones en el nivel fsico son usualmente necesarias para mejorar rendimiento Independencia lgica de datos: Capacidad para modificar el esquema lgico sin causar que los programas tengan que reescribirse. Se requieren siempre que la estructura lgica de la base de datos se altere.
Duarte
Daz Guzmn Duarte
212
233 432 212
Calle 14
Arenales Flora Calle 14
Cali
Buga Cali Cali
C-101
C-103 C-101 C-201 Numero-cuenta C-101 C-103 C-201 saldo 100.000 234.853 234.678
No usa punteros o enlaces, relaciona registros mediante los valores, por lo tanto se puede definir mediante un fundamento matemtico formal.
Guzmn
432
Flora
Cali
C-201
234.678
Daz
233
Arenales
Buga
C-103
234.853
432
Flora
Cali
Daz
233
Arenales
Buga
100.000
C-103
234.853
C1
Atributos monovalorados y multivalorados. Los atributos de los ejemplos tienen todos un valor solo para una entidad concreta. Por ejemplo, el atributo nmero-prstamo para una entidad prstamo especfico, referencia a un nico nmero de prstamo. Estos son denominados monovalorados.
El valor para este tipo de atributo se puede derivar de los valores de otros atributos o entidades relacionados. Por ejemplo, sea el conjunto de entidades cliente que tiene un atributo prstamos que representa cuntos prstamos tiene un cliente en el banco. Ese atributo se puede derivar contando el nmero de entidades prstamo asociadas con ese cliente. Otro ejemplo, considrese que el conjunto de entidades empleado tiene un atributo edad, que indica la edad del cliente. Se deriva del atributo fecha_nacimiento (atributo base o atributo almacenado) y de la fecha actual. No se almacena, se calcula cuando sea necesario.
Por ejemplo, si el valor nombre para un cliente particular es nulo, se asume que el valor es perdido, ya que cada cliente debe tener un nombre. Un valor nulo para el atributo piso podra significar que la direccin no incluye un piso (no aplicable), que existe piso pero no se conoce cul es (perdido), o que no se sabe si el piso forma parte o no de la direccin del cliente (desconocido).
EL LGEBRA 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 Las operaciones fundamentales del lgebra relacional son seleccin, proyeccin, unin, diferencia de conjuntos, producto cartesiano y renombramiento. Adems de las operaciones fundamentales hay otras operaciones, por ejemplo, interseccin de conjuntos, reunin natural, divisin y asignacin. Estas operaciones se definirn en trminos de las operaciones fundamentales.
Operaciones fundamentales
Las operaciones seleccin, proyeccin y renombramiento se denominan operaciones unarias porque operan sobre una sola relacin. Las otras tres operaciones operan sobre pares de relaciones y se denominan, por lo tanto, operaciones binarias.
Seleccin
La operacin seleccin selecciona tuplas que satisfacen un predicado dado. Se utiliza la letra griega sigma minscula () para denotar la seleccin. El predicado aparece como subndice de . La relacin del argumento se da entre parntesis a continuacin de . Por tanto, para seleccionar las tuplas de la relacin prstamo en que la sucursal es Navacerrada hay que escribir nombre-sucursal = Navacerrada (prstamo)
Relacin Prstamo
Seleccin
Se pueden buscar todas las tuplas en las que el importe prestado sea mayor que 1.200 escribiendo importe>1200 (prstamo) En general, se permiten las comparaciones que utilizan =, , <, , > o en el predicado de seleccin. Adems, se pueden combinar varios predicados en uno mayor utilizando las conectivas y () y o () Ejemplo: Encontrar las tuplas correspondientes a prstamos de ms de 1.200 concedidos por la sucursal de Navacerrada
Seleccin
nombre-sucursal = Navacerrada importe>1200 (prstamo) El predicado de seleccin puede incluir comparaciones entre dos atributos. Para ilustrarlo, considrese la relacin responsable-prstamo, que consta de tres atributos: nombre-cliente, nombrebanquero y nmeroprstamo, que especifica que un empleado concreto es el responsable del prstamo concedido a un cliente. Para hallar todos los clientes que se llaman igual que su responsable de prstamos
Seleccin
nombre-cliente = nombre-banquero (responsable-prstamo) Dado que el valor especial nulo indica valor desconocido o inexistente, cualquier comparacin que implique a un valor nulo se evala como falsa
Proyeccin
Supngase que se desea hacer una lista de todos los nmeros de prstamo y del importe de los mismos, pero sin que aparezcan los nombres de las sucursales. La operacin proyeccin permite producir esta relacin La operacin proyeccin es una operacin unaria que devuelve su relacin de argumentos, excluyendo algunos argumentos. Dado que las relaciones son conjuntos, se eliminan todas las filas duplicadas La proyeccin se denota por la letra griega mayscula pi () Se crea una lista de los atributos que se desea que aparezcan en el resultado como subndice de . La relacin de argumentos se escribe a continuacin entre parntesis. Por tanto, la consulta para crear una lista de todos los nmeros de prstamo y del importe de los mismos puede escribirse como nmero-prstamo, importe (prstamo)
Operacin Unin
Considrese una consulta para averiguar el nombre de todos los clientes del banco que tienen una cuenta, un prstamo o ambas cosas. Obsrvese que la relacin cliente no contiene esa informacin, dado que los clientes no necesitan tener ni cuenta ni prstamo en el banco. Para contestar a esta consulta hace falta la informacin de la relacin impositor (Figura 3.5) y la de la relacin prestatario (Figura 3.7)
Operacin Unin
Se conoce la manera de averiguar los nombres de todos los clientes con prstamos en el banco: nombre-cliente (prestatario) Tambin se conoce la manera de averiguar el nombre de los clientes con cuenta en el banco: nombre-cliente (impositor) Para contestar a la consulta hace falta la unin de estos dos conjuntos; es decir, hacen falta todos los nombres de clientes que aparecen en alguna de las dos relaciones o en ambas. Estos datos se pueden averiguar mediante la operacin binaria unin, denotada, como en la teora de conjuntos, por . Por tanto, la expresin buscada es: nombre-cliente (prestatario) nombre-cliente (impositor)
Operacin Unin
Tngase en cuenta que en el resultado hay diez tuplas, aunque hay siete prestatarios y seis impositores distintos. Esta discrepancia aparente se debe a que Gmez, Santos y Lpez son a la vez prestatarios e impositores. Dado que las relaciones son conjuntos, seeliminan los valores duplicados. Obsrvese que en este ejemplo se toma la unin de dos conjuntos, ambos consistentes en valores de nombre-cliente. En general, se debe asegurar que las uniones se realicen entre relaciones compatibles. Por ejemplo, no tendra sentido realizar la unin de las relaciones prstamo y prestatario. La primera es una relacin con tres atributos, la segunda slo tiene dos. Por tanto, para que una operacin unin r s sea vlida hay que exigir que se cumplan dos condiciones: 1. Las relaciones r y s deben ser de la misma aridad. Es decir, deben tener el mismo nmero de atributos. 2. Los dominios de los atributos i-simos de r y de s deben ser iguales para todo i.
Diferencia
nombre-cliente (impositor) nombre-cliente (prestatario) Como en el caso de la operacin unin, hay que asegurarse de que las diferencias de conjuntos se realicen entre relaciones compatibles.
Producto Cartesiano