Você está na página 1de 59

Tema 1 Fundamentos de las Bases de Datos Tema 1 Fundamentos tericos de las bases de datos Contenido 1- Introduccin a las Bases

de Datos 2- Introduccin al modelo relacional 3- Fundamentos del modelo relacional 4- Introduccin al modelo orientado a objetos 5- Fundamentos al modelo orientado a objetos 6- Modelo deductivo Objetivos Que los estudiantes conozcan: ? Los conceptos fundamentales sobre los que se sustentan los modelos de datos, como punto de partida para entender su evolucin y las particularidades de los gestores de base de datos. ? ? ? cul es el fundamento terico que hay detrs de las definiciones del modelo relacional y que por dems se consideran que han hecho de este modelo el ms popular y que ms ha perdurado. cul es el fundamento terico que hay detrs de las definiciones del modelo orientado a objetos o modelo de objetos. cul es el fundamento terico que hay detrs de las definiciones del modelo deductivo.

Bibliografa
1. De Miguel, A. y Piattini, M. Concepcin y diseo de Bases de datos: del modelo entidad/relacin al

modelo relacional Addison Wesley Iberoamericana. Espaa. 1993. .


2. Embley, D. Object database development: concepts and principles Addison Wesley Longman. Inc. .

EUA. 1998.
3. Kroenke, D. Procesamiento de Base de datos 5ta. Edicin. Prentice-Hall Hispanoamericana, S.A. .

Espaa. 1996.
4. Codd, E.F. Extending the Database Relation Model to capture more meaning ACM transaction on .

database systems, No. 4, pginas 397-434. 1979.


5. Date, C.J. Introduccin a los Sistemas de Gestin de Base de Datos Addison Wesley .

Iberoamericana. 7ma edicin. Espaa. 2003.


6. De Miguel, A. y Piattini, M. Ms semntica para el modelo E/R Revista Chip Informtica. Espaa. .

Noviembre/Diciembre 1991.
7. Elmasri, et al. The category concept: an extension to the entity relationship model Data G. Knowledge .

Engineering, pginas 75-116. 1985..


8. Korth, H. and Siberschatz, A. Fundamentos de Bases de Datos 2da. Edicin. McGraw.

Hill/Iberoamericana de Espaa. S.A. 1993,


9. Piattini, M. supervivencia del modelo relacional Revista Chip Informtica. Mayo. 1992. La . 10. Dalton, P. Microsoft SQ2 Server Black Book International Thomson Publishing Company. Published .

by the Corilis Group, Inc. EUA. 1997.


11. Layandi, H. SQL2: un lesahed SAMS publishing. EUA. 1997. . 12. Alagic, Saud. Object-oriented Database Progranming 1989. .

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

1 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos


13. Bertino, E. and Martn, L. Object-oriented Database Systems: concepts and architectures 1993 . 14. Davis, J.R. Object-relational database managers (ORDBMS) Distributed computing monitor, Vol. 19, .

No. 2, pginas 3-29. Febrero 1995.


15. Khoshafian, S. and Abnous, R. Object-Orientation: concepts, languages, databases, user interfaces.

John Wiley & Sos, Inc. 1990.


16. Francett, B. Hybrid DBMSs offer best of both words Software Magazine, Volumen 15, No. 8, pginas .

61-65. August 1995.


17. Frank, M. Object-relational hybrids: a look at Technology and products that blend object and relational .

DBMS, Volumen 8, No. 8, pginas 46-52. July 1995.


18. Graham, I. Mtodos orientados a objetos 2da. Edicin. Addison-Wesley/Daz Santos. Espaa. 1996. . 19. Hughes, J. G. Object-Oriented Databases Prentice Hall Internacional Group. 1991. . 20. Abiteboul, S.; Hull, P. and Vianu, V. Foundation of Database Addison-Wesley Publishing Company. . 1995. 21. Andrade, L. F; Gouveia, J. C.; Xardon, P, J. and Camara, JA. Architectural concerns in automating code generation OBLOG. Software S.A. http://www,oblog.com&bews/concerns.html. 1999. . 22. Barry, D. ODMG 2.0: A standard for object storage . Component Strategies. http://www.org/libary/readingroom/ Artides-Component Stratragues-July html. July 1998. 98. 23. Cans, J. H. Tesis doctoral: OASIS: un lenguaje nico para Base Datos Orientadas a objetoDSICUPV. Espaa. Julio 1996. 24. Cattel, R.G.G:; Barry, D. K: Berler, M.; Eastman, J.; Jordan, D.; Rusell, C.; Shadow, O.; Stanierda, T. and Velez, F. The Object Data Standard: ODMG 3.0 The Morgan Kofman Series in Data . Management Systems. http://www.odmg.org/. January 2000. 25. Frederiks, P.J.M.; Hofstede, ter A.H.M. and Lippe. E. Unifying framework for conceptual data A modeling concepts Information and Software Technology. Volumen 39, No. 1, pginas 15-25. . http://www.icis.qut.au/auther/artcles/Howto.ps.Z. January 1997.. 26. Hofstede, ter, A.H.M. and Proper, H.A. How to formalize it? Formalization Principles for Information Systems Development Methods Technical report # 4/97, Faculty of Information Technology, . Queensland University of Technology, Brisbane, Austria. Http://www.icisqut.edu.au/author/work.ps.z. June 1997. 27. Jungclaus, T.: Saake, G.; Hartman, T. and Sernadas, C. Troll-a language for object-oriented Specification of Information Systems. Volumen 14, No. 2, pginas 175.211. 1995. 28. Kovcs, G. and Van Bonnel, P. Conceptual modeling based design of object-oriented Databases . Information and Software Technology. Volumen 40, No. 1, pginas 1-14. 1998. 29. Oblong Software S.A. The OBLOG Specification Language Htt://www.oblog. com/tech/spec.html. . 1999 30. Pastor, O. Tesis doctoral: Diseo y desarrollo de un entorno de ejecucin automtica de software en el modelo orientado a objetos DSIC-UPV. Espaa, Abril 1992. . 31. Tuijn, Ch. and Gyssens, M. CGODO, a categorical graph-oriented object data model Theorical . computer Science. 160, pginas 217-239. 1996. 32. Celma, M. Deductividad y actividad en Bases de Datos Parte I Bases de Datos Deductivas . .

Programa de Doctorado. Programacin Declaratoria e Ingeniera de la programacin. Universidad Politcnica de Valencia. Espaa. 1977-98. Introduccin

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

2 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos Para un usuario final de una aplicacin no es importante saber cmo estn representados los datos internamente, solo le preocupa que su aplicacin responda a sus requerimientos de manera eficiente y correcta. Este problema es del analista, el diseador y el programador; y para darle respuesta tienen que saber cmo representarlos. Para llegar a este conocimiento hay que pasar por la historia del proceso de almacenamiento, y el desarrollo en ascenso que han tenido los modelos de datos utilizados para la descripcin de la informacin. 1.1-Almacenamiento de la informacin La mayora de las aplicaciones de software que se desarrollan requieren del almacenamiento, en memoria externa, de informacin. Durante estos aos se han utilizado diferentes formas de organizacin. Aquellos sistemas, cuyo objetivo principal es la gestin de datos que pueden ser creados, eliminados y consultados, provocaron un inters especial por parte de la comunidad de desarrolladores de software con vistas a aplicar mecanismos de organizacin eficaces. 1.1.1 - Organizacin de los datos La organizacin clsica se basa en sistemas orientados a procesos o sistemas de procesamiento de archivos, nombres que indistintamente permiten reconocer a este tipo de organizacin. Estos tipos de sistemas ponen nfasis en los tratamientos que reciben los datos, los cuales se almacenan en ficheros diseados para una determinada informacin. Las aplicaciones se analizan e implementan con entera independencia unas de otras, y los datos no suelen transferirse entre ellas, sino que se duplican siempre que los correspondientes trabajos los necesiten (Figura 1.1).
D1 D2
D3

F1

P1

F2

P2

D4 D5 Datos F3

P3

Cada aplicacin incluye los programas necesarios para extraer, aadir y consultar informacin almacenada en los archivos.

Archivos

Programas de aplicacin

Figura 1.1 Sistema de procesamiento de archivos. Los principales problemas de este tipo de organizacin han sido abordados profundamente, y pueden resumirse en: ? ? ? ? ? ? Datos separados y aislados. Redundancia e inconsistencia de los datos. Es difcil representar los datos en el modo que los usuarios los ven. Dependencia de los datos respecto al soporte fsico y a los programas, lo que da lugar a una falta de flexibilidad y de adaptabilidad frente a los cambios. Anomalas del acceso concurrente. Problemas de integridad. 3 Diplomado en Informtica Aplicado

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

Tema 1 Fundamentos de las Bases de Datos Tomando en cuenta estos problemas y la proliferacin de sistemas de gestin de datos, se desarroll una forma de organizacin conocida como sistemas de procesamiento de base de datos o sistemas orientados a los datos. Los datos se organizan y mantienen en un conjunto estructurado que no est diseado para una aplicacin concreta, sino que por el contrario, tienden a satisfacer las necesidades de informacin de toda la organizacin; necesidades cuya diversidad se ve acentuada con el transcurso del tiempo. Para procesar los datos almacenados se posee un conjunto de programas que se agrupan en un Sistema de Gestin de Base de Datos (SGBD). Los programadores no deben preocuparse por las formas en que los datos se almacenan y hacen uso del SGBD para incluir, extraer y consultar informacin (Figura 1.2).

D1 D2 D3 D4 BD SGBD

P1 Los programas de aplicacin acceden a la BD a travs del SGBD

P2

P3 D5 Datos Base de datos Sistema de Gestin de Base de datos Programas de aplicacin

Figura 1.2 Sistema de procesamiento de Base de Datos. 1.1.2 - Qu es una Base de Datos (BD)? El trmino aparece a comienzo de los aos '70 y se ha definido como: ? "Coleccin de datos interrelacionados en un conjunto sin redundancias perjudiciales e innecesarias; su finalidad es servir a una aplicacin o ms, de la mejor manera posible; los datos se almacenan de modo que resultan independientes de los programas que los usan; se emplean mtodos bien determinados para incluir nuevos datos y para modificar o extraer los datos almacenados." (Martn, 1995) "Coleccin o depsito de datos, donde los datos estn lgicamente relacionados entre s, tienen una definicin y descripcin comunes y estn estructurados de una forma particular. Una BD es, tambin, un modelo del mundo real y, como tal, debe poder servir para toda un gama de usos y aplicaciones." (Conferencie des Statisciens Europecienens, 1977) "Conjunto de datos de la empresa memorizado por un ordenador, que es utilizado por numerosas personas y cuya organizacin est registrada por un modelo de datos." (Floy, 1982) "Conjunto estructurado de datos registrados sobre soportes accesibles por ordenador para satisfacer simultneamente varios usuarios de forma selectiva y en tiempo oportuno". (De Lobel, 1982) "Coleccin no redundante de datos compartidos entre diferentes sistemas de aplicacin." (Howe, 1983) 4 Diplomado en Informtica Aplicado

? ?

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

Tema 1 Fundamentos de las Bases de Datos ? "Coleccin integrada y generalizada de datos, estructurada atendiendo a las relaciones naturales de modo que suministre todos los caminos de acceso necesarios a cada unidad de datos con objeto de poder atender todas las necesidades de los diferentes usuarios." (Deen, 1985) "Conjunto de ficheros maestros, organizados y administrados de una manera flexible de modo que los ficheros puedan ser fcilmente adaptados a nuevas tareas imprevistas." (Frank, 1988) "Coleccin de datos interrelacionados. (Elmasri y Navathe, 1989) "Coleccin o depsito de datos integrados, con redundancia controlada y con una estructura que refleje las interrelaciones y restricciones existentes en el mundo real; los datos, que han de ser compartidos por diferentes usuarios y aplicaciones, deben mantenerse independientes de estas, y su definicin y descripcin, nicas para cada tipo de datos, han de estar almacenadas junto con los mismos. Los procedimientos de actualizacin y recuperacin, comunes y bien determinados, habrn de ser capaces de conservar la integridad, seguridad y confidencialidad del conjunto de datos." (De Miguel y Piattini, 1993) "Una BD es auto descriptiva porque contiene datos y una descripcin de su estructura (metadatos). Est formado por un conjunto de registros que es la suma de archivos de datos del usuario, metadatos, ndices y metadatos de aplicacin."(Kroenke,1996) Es una larga, persistente e integrada coleccin de datos dinmicos que brinda algunas operaciones para describir, establecer, manipular y accesar estos datos.(Embley,1998) Larga: no es suficiente el almacenamiento primario por lo que se necesita almacenamiento secundario y en ocasiones se requiere distribuirla en una red. Persistente: los datos duran ms que las aplicaciones que los operan. Integrada: la BD es de inters de varios usuarios o grupos de usuarios por lo que el acceso a los datos puede causar problemas. Toda esta informacin est junta y puede un mismo dato actualizarse o consultarse simultneamente. Dinmica: los datos cambian con el tiempo lo que puede provocar dificultades para el almacenamiento y mantenimiento de una organizacin ptima y puede causar problemas en el mantenimiento de la integridad de los datos 1.1.3 - Ventajas de la organizacin en BD sobre los ficheros clsicos Las ventajas del uso de la organizacin en BD sobre los ficheros clsicos, han sido fundamentadas en tres direcciones diferentes: ? Para los usuarios: ? ? ? ? ? ? ? ? ? Acceso ms rpido y sencillo. Aumenta las facilidades para compartir los datos por el conjunto de los usuarios. Mayor flexibilidad para atender a demandas cambiantes. Para los datos: Independencia de estos con respecto al tratamiento y viceversa. Mejor disponibilidad de los mismos. Mayor eficiencia en la recogida, codificacin y entrada en el sistema. Para los resultados: Mayor coherencia porque la informacin se recoge y almacena una solo vez por lo que un cambio en los datos solo hay que actualizarlo una vez. 5 Diplomado en Informtica Aplicado

? ? ?

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

Tema 1 Fundamentos de las Bases de Datos ? ? Mayor valor informativo al estar en la BD los datos almacenados interrelacionadamente. Mejor y ms normalizada la documentacin de la informacin al estar integrada con los datos.

La decisin de adoptar este tipo de organizacin, en el desarrollo de aplicaciones, por lo general depende de las caractersticas de la aplicacin en s. Las condiciones que influyen sobre la forma de organizacin de los datos son: ? Interrelaciones complejas en el modelo de informacin. ? Integracin de distintas aplicaciones. ? Mtodos mltiples de acceso. ? Modos mltiples de tratamiento. ? Diferentes tipos de registros en los ficheros. ? Exigencias de confidencialidad, seguridad e integridad en las aplicaciones. A pesar de todo esto hay dos razones por las cuales se puede decidir no utilizar la organizacin en BD: relativas a la implementacin (la tecnologa requerida es costosa) y relativa a los usuarios (personal especializado). 1.1.4 - Sistema de Gestin de Base de Datos Un SGBD es un conjunto coordinado de programas, procedimientos, lenguajes; que suministran, tanto a los usuarios no informticos como a los analistas, programadores o al administrador, los medios necesarios para describir, recuperar y mantener los datos almacenados en la base de datos, manteniendo su integridad, confidencialidad y seguridad. Posee dos partes: ? Gestor de la BD: Es un mdulo de programa que proporciona la interfaz entre los datos de bajo nivel almacenados en la BD y los programas de aplicacin y consultas hechos al sistema. Es responsable de las siguientes tareas: ? ? ? ? ? Interaccin con el gestor de archivos. Implantacin de la integridad. Implantacin de la seguridad. Copia de seguridad y recuperacin. Control de concurrencia.

? Administrador de la BD: Tiene el control central de los datos y de los programas que acceden a esos datos. Sus funciones: ? ? ? ? ? Definicin de esquema. Definicin de la estructura de almacenamiento y el mtodo de acceso. Modificacin del esquema y de la organizacin fsica. Concesin de autorizacin para el acceso a los datos. Especificacin de las restricciones de seguridad.

Ullman en 1988 defini como caractersticas comunes de los SGBD las siguientes: ? Capacidad para administrar datos persistentes y acceder a grandes cantidades de estos datos de forma eficiente y segura. ? Apoyo para modelos abstractos de datos. ? Apoyo para la administracin de transacciones en entornos multiusuarios. Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 6 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos ? Apoyo para los controles acerca del acceso y propiedad de los datos. ? Apoyo para la verificacin de datos y para la comprobacin de congruencias. ? Apoyo para la recuperacin congruente de datos despus de fallas del sistema y del hardware, lo cual minimiza la prdida de datos. Sobre la forma en que se almacenar la informacin en una aplicacin, hay que tomar una decisin cuando se desarrolla un sistema. Cualquier decisin tiene sus ventajas e inconvenientes, la tarea del desarrollador es analizar en su aplicacin las caractersticas que posee tomando como base los criterios antes expuestos y poner todas las respuestas en una balanza. 1.1 - Modelo de datos Un modelo de datos es un formalismo matemtico que consta de una notacin para describir los datos y las estructuras de datos (informacin), y de un conjunto de operaciones vlidas que se pueden utilizar para manipular estos datos, o, al menos, los smbolos que los representan. Es un dispositivo de abstraccin que nos permite ver el bosque (la informacin contenida en los datos) en oposicin a los rboles (valores individuales de los datos). Objetivos del modelo de datos: ? Formalizacin: ? ? ? Describir las estructuras permitidas y las restricciones a fin de representar los datos de un sistema de informacin. Establecer las bases para la definicin de un lenguaje de datos. Facilitar la apreciacin objetiva de la riqueza o flexibilidad de las estructuras de datos, ayudando a la comparacin formal de los distintos modelos de datos y a la evaluacin de un SGBD.

? Diseo: ? Es uno de los elementos bsicos (junto con los lenguajes, documentacin y otras herramientas) para el desarrollo de una metodologa de diseo de BD.

El sistema de ficheros es el precursor de los SGBD. El nivel alcanzado por el soporte fsico y las necesidades de los usuarios con respecto a la informacin que necesitan almacenar al desarrollarse aplicaciones cada vez ms complejas, han propiciado el desarrollo de diferentes modelos de datos. En la actualidad se reconocen tres generaciones: 1ra generacin: Modelos jerrquicos y en red o reticular. 2da generacin: Modelo relacional. 3ra generacin: Modelos semntico, de objetos complejos, orientado a objetos y deductivo. 1.2.1 - Definicin formal El par MD = <S,O> donde: ? S: es el conjunto de reglas de generacin que permiten representar la componente esttica, es decir, describir las estructuras del universo del discurso (UD). Se corresponde con el LDD (Lenguaje de definicin de datos). O: es el conjunto de operaciones autorizadas sobre la estructura que permiten representar la componente dinmica. Se corresponde con el LMD (Lenguaje de manipulacin de datos). UD : es la visin que del mundo real tiene el diseador. LDD: Permite describir los elementos de datos, su estructura, interrelaciones validaciones. 7 Diplomado en Informtica Aplicado

? ? ?

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

Tema 1 Fundamentos de las Bases de Datos ? LMD: Permiten buscar, aadir, suprimir y modificar datos de la BD; lo cual supone definir un criterio de seleccin, la estructura lgica a recuperar y accesar a la estructura fsica.

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

8 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos

?
Modelo

Un SGBD se corresponde con un modelo de datos por lo que est equipado con mecanismos para controlar, asegurar la consistencia de los datos, poder acceder eficientemente a los datos y un subsistema para optimizar las operaciones de consulta.

1.2.2 - Comparacin entre los modelos de datos Los modelos jerrquicos, en red y relacional han sido soportados por gran cantidad de SGBD durante ms de tres dcadas. Los que soportan los modelos de 3ra generacin, estn comenzando ha ser implementados. Las principales caractersticas de los modelos de la 1ra y 2da generacin y sus debilidades se describen en la tabla. Caractersticas Debilidades No hay independencia fsica de los datos, es decir, que la forma en que se navega y la jerarqua de la BD reflejan la forma en que los datos son organizados, accesados y almacenados. Esto limita la extensibilidad, mantenimiento, reusabilidad y portabilidad de los SGBD desarrollados con estos modelos. Adems, sus interfaces de bajo nivel impiden su utilizacin directa por los usuarios finales para responder a preguntas no planificadas como las que lleva consigo la toma de decisiones.

Reticular o Consiste en tipos de registros y en red relaciones de 1:m entre estos registros. Un tipo de registro puede estar involucrado en ms de una relacin. Es una relacin de dueo/miembros.

Jerrquico

Un tipo de registros solo est involucrado en una relacin como "padre" y solo en una relacin como "hijo". Es una relacin padre/hijo. Se basa en almacenar datos en tablas de dos dimensiones (registros-filas o tuplas y campos-columnas o atributos). Las relaciones entre las tablas se establecen mediante la conexin de atributos (llaves). Por lo tanto los usuarios las perciben como un conjunto de tablas (las entidades son tablas y las relaciones son tablas). En principio no fue posible explotar todas sus posibilidades porque el hardware existente era insuficiente, por eso hasta la dcada de los '80 no aparecieron SGBD fuertes que hicieran cambiar de parecer a los usuarios. Adems, estos productos les parecan raros cuando en realidad su forma de representar y procesar los datos era ms natural. En la actualidad hay reas de aplicacin para las que, debido a sus especiales exigencias, resultan insuficientes. EJ.: CASE, CAD, CAM, CIM, Datos espaciales, imgenes.

Relacional

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

9 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos 1.2.3 - Evolucin del modelo relacional
1968-70 Surge el modelo (Codo) 1970... Desarrollo tericos 1970... 1973-78 Prototipos (Ingres, Sistema R), 1976 Modelo Entidad-Relacin (Peter Chen), 1978 QBE (Query By Example), 1978 Oracle y Refinamientos del Codd (entidad dbil)

1980... 1980 Ingres, 1981 SQL, 1982... DB2, Informix, Supera, RDG, SyBase, InterBase 1984 SQL ISO (9075) 1990 Modelo relacional versin 2 (vistas) 1992 SQL92 1993 Disparadores

1999 SQL3 SQL:1999

En la actualidad es el modelo relacional el que ha demostrado mayor fuerza y se encuentra ms difundido porque: ? Los datos y las relaciones entre ellos se almacenan, al menos conceptualmente, de un modo en que los usuarios entiendan con ms facilidad. ? Posee una fundamentacin desde el punto de vista terico que se basa en la matemtica (los conceptos del lgebra relacional ) y la teora de predicados de 1er orden. ? Los usuarios pueden obtener informacin de la BD sin asistencia de sistemas complejos. 1.2.4 - Nuevos modelos Tomando como base las debilidades del modelo relacional y el desarrollo alcanzado en el soporte fsico, han evolucionado los modelos de datos tal como se muestra en la figura 1.3.

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

10 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos

Modelo relacional

Modelo semntico

Enfoque orientados a objetos

Modelo de objetos semnticos

Modelo deductivo

Modelo de objetos

Figura 1.3 Evolucin del modelo de datos a partir del modelo relacional. 1.2.4.1 - Modelo semntico ? Finales de la dcada '80. ? Es una de las alternativas para modelar mejor el mundo real. ? Usan los conceptos de nodo y enlace del modelo reticular. Los nodos son un tipo de entidad. ? Se usaron como herramienta de diseo para reforzar la BD reticular y relacional. ? Ejemplos: Abrial's 1974 Modelo entidad relacin 1976 Chen 1.2.4.2 - Modelo de objetos complejos ? Mantienen la fundamentacin terica del modelo relacional, pero no es necesario que se cumpla la 1FN por lo que se puede construir usando conjuntos y tuplas. ? Contienen una o ms de las siguientes expresiones: 1. 2. 3. 4. 5. ? ? ? Conjunto de valores atmicos. Identidad de objetos. Atributos que su valor sea una tupla. Atributos que su valor es un conjunto de tuplas. Relaciones anidadas.

? Otros nombres del modelo de datos: No en 1FN. Modelo de conjuntos y tuplas. Modelo de datos basados en la lgica con trminos complejos. Bancihon y Khoshafian 1986,1989 Abiteboul, 1990 Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 11 Diplomado en Informtica Aplicado

? Ejemplos:

Tema 1 Fundamentos de las Bases de Datos 1.2.4.3 - Modelo de objetos semnticos ? Es una representacin de cosas identificables en el ambiente de trabajo de los usuarios, son algo que los usuarios reconocen como independiente y separado. ? Es un conjunto de atributos que describen con eficacia una entidad bien determinada. Los atributos pueden ser simples, de grupo y tipo objeto semntico. ? Ejemplo: Kroenke, 1988 1.2.4.4 - Modelo de objetos ? Es un modelo que permite describir los datos, sus estructuras y las operaciones vlidas que se pueden realizar pero apoyndose en los conceptos del paradigma de la orientacin a objetos (conceptos de objeto, clase, herencia, encapsulamiento, identificacin de objetos, comunicacin a travs de mensajes y el polimorfismo. ? Hay una fuerte actividad prctica, pero desde el punto de vista terico hay poca formalizacin. 1.2.4.5 - Modelo de deductivo ? Permite aadir nuevo conocimiento a partir de la inferencia. ? Necesitan reglas declarativas para expresar las interrelaciones semnticas entre objetos, de manera que, cuando se producen ciertas condiciones, ejecuta de forma automtica las acciones especificadas de antemano en la fase de definicin de la BD. ? Est muy bien fundamentada en la lgica de predicado de 1er orden, pero en la prctica no se ha logrado concretar en un SGBD comercial. Su actividad experimental es casi nula comparada con otros modelos. ? Ejemplo: Datalog. 1.3 - Conclusiones En la actualidad muchas organizaciones continan usando arquitecturas de BD que tienen ms de 25 aos y no tienen en planes inmediatos moverse a las bases de datos relacionales. Tony Percy (Vicepresidente y director del centro de investigaciones de Tecnologa de software Gartner Group, Stanford, Conn), expone como razones, para preservar estos sistemas, las siguientes: 1. Corren eficientemente y son altamente pronosticables donde respuestas en el tiempo son requeridas. 2. El costo (tiempo, dinero y recursos) de implementacin de sistemas es enorme an si las personas conocen cmo se trabaja con BDR. 3. Relativa a la curva de aprendizaje: a menos que las personas adopten diferentes tcnicas de diseo de sus datos y procesos, ellos al final abusarn del modelo y fallarn en la migracin. Si analizamos este ejemplo, podemos concluir que no es fcil migrar haca los modelos de la 3ra generacin que, por dems, no son an tan fuertes como el relacional y hay todava resistencia a usarlos. 2. INTRODUCCIN AL MODELO RELACIONAL Segn Codd un SGBD relacional tienen tres partes fundamentales: ? ? ? Datos que se presentan en forma de tablas. Operadores para manipular las tablas. Reglas de integridad aplicables a las tablas.

Para un usuario, en esencia, estas son las cosas visibles de una BD relacional, pero detrs hay un grupo de conceptos que tiene que estar claros cuando se disea la BD. Algunos son conceptos que aparecieron en las primeras versiones propuestas por Codd a finales de los 60 y principios de los 70, otros han Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 12 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos surgido con la firma de otros autores, pero reflejan los esfuerzos de aos que se han realizado en la bsqueda de representar ms semntica del mundo real. 2.1 Relacin Se basa en la teora matemtica de las relaciones, donde una relacin puede definirse formalmente como: Sean los conjuntos D1, D2,... , Dn (no necesariamente distintos). R es una relacin sobre esos n conjuntos si est constituido por un conjunto de n-tuplas ordenado de d1,d2,...,dn tales que d1? D1, d2? D2,..., dn? Dn. Los conjuntos D1, D2,...., Dn se llaman dominios de R. El valor n es el grado de R.

2.1.1 Caractersticas En una relacin no hay dos filas (tuplas) iguales, el orden de las filas y columnas es insignificante y cada valor dentro de una relacin (cada valor de dominio en cada tupla) es un dato atmico (no descomponible). Una relacin se representa como una tabla aunque no son lo mismo: ? En la cabecera de una relacin hay un conjunto fijo de atributos, es decir, de pares atributodominio, donde a cada atributo le corresponde uno y solo uno de los dominios subyacentes. En una tabla no aparecen los dominios subyacentes, aunque conceptualmente estn en la cabecera. En el cuerpo de una relacin hay un conjunto de tuplas que vara con el tiempo. Cada tupla est formada por un conjunto de pares atributo-valor. Como una tabla es una instantnea de los valores que aparecen en la BD en un momento dado, no se ve que vare en el tiempo. En una tabla por ninguna parte se dice explcitamente que cada columna corresponde a uno y solo uno de los dominios y que cada fila representa una tupla.

2.1.2 Tipos de relaciones ? Relaciones base o reales: son aquellas cuya importancia para la aplicacin es tal que tienen nombre y forman parte directa de la base de datos. ? Vistas o relaciones virtuales: tienen nombre y es representada dentro del sistema mediante su definicin en trmino de otras relaciones con nombre. ? Instantneas: es una relacin derivada con nombre, que se define en trmino de otras relaciones con nombre y tienen sus datos almacenados. ? Resultados de consulta: son la relacin final resultante de una consulta. Puede o no tener nombre. No tiene existencia persistente dentro de la base de datos. ? Resultados intermedios: es una relacin (casi siempre sin nombre) resultante de alguna expresin relacional anidada dentro de alguna otra expresin relacional ms grande. No tiene existencia persistente dentro de la base datos. ? Relaciones temporales: es una relacin con nombre que se destruye de forma automtica en algn momento apropiado. Las relaciones base, las instantneas y vistas son ms permanentes en cuanto a que se destruyen por una accin explcita del usuario. 2.2 Definiciones formales Antes de adentrarnos en las particularidades del modelo, es importante conocer qu expresan los principales conceptos sobre los que se fundamentan. Podra darse una descripcin informal de cada de ellos, pero se estara renunciando a la posibilidad de poseer una definicin precisa que ha permitido, que todos los que trabajan en este campo, posean un lenguaje comn.

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

13 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos 2.2.1 Dominio Es un conjunto finito de valores homogneos y atmicos V1, V2,...., Vn caracterizado por un nombre. Homogneo: son todos del mismo tipo. Atmico: son indivisibles en lo que al modelo se refiere, es decir, si se descomponen perdera la semntica a ellos asociada. La exigencia de atomicidad es para dominios simples no para dominios complejos (concepto introducido por Codd en 1990 en la 2da versin del modelo). Un dominio complejo es la combinacin de dominios simples que tienen nombre y a la que se pueden aplicar ciertas restricciones de integridad. 2.2.2 Esquema de relacin Denotado R (A1:D1, A2:D2,...., An:Dn) es un conjunto de n pares atributo-dominio subyacente ? (Ai:Di)? donde n es el grado del esquema de relacin. La intencin es la parte definida y esttica de la relacin ( o relativamente esttica). 2.2.3 Ocurrencia de una relacin Tambin llamada instancia o simplemente relacin. Denotada por r(R) es un conjunto de n tuplas ? t1, t2,....,TN? donde cada tupla es un conjunto de m pares atributo-valor ? (Ai:Vij)? , donde Vij es un valor j del dominio Di asociado al atributo Ai; el nmero de tuplas m es la cardinalidad. La relacin r(R) es, por lo tanto, el conjunto de tuplas que, en un instante determinado, satisfacen el correspondiente esquema de relacin R; as como el esquema de relacin e relativamente- invariante, su extensin vara en el transcurso del tiempo. Cuando la relacin se percibe como una tabla, el cuerpo de la tabla sera la extensin. 2.2.4 Superllave Sea R un esquema de relaciones. Un subconjunto K de r es una superllave de R si, en cualquier relacin legal r(R), para todos los pares t1 y t2 de tuplas en r tales que t1? t2, t1[K] ? t2[K]. Es decir, dos tuplas en cualquier relacin legal r(R) no pueden tener el mismo valor en el conjunto de atributos K. En una relacin pueden existir varias superllaves. Tambin se les llama clave candidata de una relacin e informalmente puede definirse como un conjunto no vaco de atributos que identifican unvocamente y mnimamente cada tupla. En una relacin R2 puede encontrarse una clave ajena. Una clave ajena es un conjunto no vaco de atributos cuyos valores han de coincidir con los valores de la clave primaria de una relacin R1 (R1 y R2 no son necesariamente distintas). 2.2.5 Restricciones de integridad referencial Se conoce tambin como dependencia de sujetos porque puede escribirse ? ? (r2) ? ? como:
K1(r2)

y se define

Sean r1(R1) y r2(R2) relaciones con claves primarias K1 y K2 respectivamente. Decimos que un subconjunto ? en R2 es una clave exterior con referencia K1 en la relacin r1 si es necesario que para cada tupla t2 en r2 haya una tupla t1 en r1 tal que t1[K1]=t2[K2]. Para que tenga sentido una restriccin de integridad referencial, o bien ? =K1 ? y K1 deben ser conjuntos de atributos compatibles. Fuentes de restricciones de integridad ? Una relacin que surge de la relacin entre varias entidades porque tendr llaves extranjeras (la llave de cada una de las relaciones). ? Entidad dbil porque depende de otra entidad y tiene que incluir la llave primaria de las relaciones de que depende como llave extranjera. Dra. Anaisa Hernndez Gonzlez 14 Asignatura: Base de Datos Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos Para proteger la restriccin de integridad referencial ? ? (r2) ? ? siguiente:
K1(r2)

hay que tener en cuenta lo

? Insertar: Si una tupla t2 se inserta en r2, el sistema debe asegurar que exista una tupla t1 en r1, tal que t1[K]=t2[K]. Es decir, t2[? ]? ? K(r1). ? Eliminar: Si una tupla t1 se elimina de r1, el sistema debe calcular el conjunto de tuplas en r2 que hacen referencia a t1: ? ? =t1[K] (r2). Si este conjunto no est: ? ? Se rechaza la orden de eliminar. Se eliminan las tuplas que hacen referencia a t1. Esto puede llevar a eliminaciones en forma de cascada.

? Actualizar: ? Si se elimina una tupla t2 en la relacin r2 y la actualizacin modifica valores para la clave exterior ? , entonces se hace una prueba similar a la del caso de insertar. t2 representa el nuevo valor de la tupla t2. El sistema debe asegurarse que: t2[? ]? ? K(r1). Si se actualiza una tupla t1 en r1 y la actualizacin modifica valores para la clave primaria (K), entonces se hace una prueba similar a la del caso de eliminar. El sistema debe calcular ? ? =t1[K] (r2) usando el valor antiguo de t1 (se aplica el valor de antes de la actualizacin). Si el conjunto no est vaco, la actualizacin se rechaza como un error.

Reglas de integridad relacional 1 El conjunto de atributos que identifica unvocamente a una tupla (superllave) tiene que, adems de tomar un valor nico, ser mnimo. Es decir, las llaves primarias tienen que cumplir dos principios: unicidad y minimalidad. Restriccin sobre el nmero de ocurrencias que delimitan el nmero de objetos que pueden intervenir en un tipo de interrelacin: Para ello es necesario definir, cuando se establece una relacin entre relaciones, la cardinalidad mxima y mnima (es decir, la cantidad mxima y mnima de objetos) en cada extremo de la nueva relacin. Restricciones de dominio o regla de integridad de entidad: Ningn atributo que forme parte de la clave primaria de una relacin puede tomar un valor nulo, es decir, un valor desconocido e inexistente. El modelo no exige que se aplique a claves extranjeras o ajenas pues la cardinalidad mnima en ese extremo puede ser cero, aunque debe ser as. Integridad referencial: Si una relacin R2 (relacin que referencia) tiene un descriptor que es la clave primaria de la relacin R1 (relacin referenciada), todo valor de dicho descriptor debe: concordar con un valor de la clave primaria de R1 o ser nulo. El descriptor es, por lo tanto, una clave ajena a la relacin R2. Adems de definir claves ajenas, hay que determinar las consecuencias, que operaciones de borrado y modificacin realizadas sobre tuplas de la relacin que contiene la llave primaria referenciada, puedan tener sobre las tuplas con dicha clave en la relacin que contiene la clave ajena (tal como se vio en el epgrafe anterior). Restriccin de dependencia funcional: Es una restriccin al conjunto de relaciones legales. Permiten expresar hechos acerca de la empresa que se est modelando con la Base de Datos.

2.3 Extensiones En el mundo de las BD no hay un criterio unnime de cmo llamarle a los aportes al modelo relacional original propuesto por Codd en 1969-70. Algunos plantean que son extensiones, otros los asocian con el modelo semntico y existen quienes los consideran como nuevas versiones del modelo relacional. Consideramos que esto no es lo ms importante, lo esencial es conocer, entender y usar estos aportes. Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 15 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos 2.3.1 Modelo entidad-relacin (ME/R) ? Tambin conocido como modelo entidad-interrelacin. ? Propuesto por Peter Chen en 1976 ? Define dos perspectivas en la definicin del modelo de datos: ? Perspectiva esttica. ? Entidad: Es aquel objeto (real o abstracto) acerca del cual se quiere almacenar informacin en la base de datos. Debe cumplir las siguientes reglas: 1. Tiene que tener existencia propia. 2. Cada ocurrencia de un tipo de entidad debe poder distinguirse de las dems. 3. Todas las ocurrencias de un tipo deben tener los mismos tipos de caractersticas (atributos). ? Interrelacin: Asociacin o correspondencia existente entre entidades. Matemticamente: El conjunto de interrelaciones de un tipo de interrelacin R se define como ? e1, e2,... , en? donde ei es una ocurrencia del tipo de entidad Ei y n el grado del tipo de interrelacin. Dominio (conjunto de valores posibles que puede tomar una cierta caracterstica) y valor. Atributo. Restricciones: ? Sobre los valores, que delimitan los valores que pueden corresponder a un cierto objeto del modelado. ? Sobre el nmero de ocurrencias, que delimitan el nmero de objetos que pueden intervenir en un tipo de interrelacin. ? Perspectiva dinmica: Lenguajes que operan en el nivel conceptual basndose en el modelo entidad-relacin. Estos lenguajes permiten formular consultas a la BD con sentencias que se parecen al lenguaje natural y son sencillas de formular. Ejemplo: CABLE (Chain Based Language) 1980. CLEAR (Conceptual Language for Entities and Relationships) 1978. ? El Diagrama Entidad-Relacin (DER) representa varios tipos de restricciones, algunas explcitas (herencia, agregacin y cardinalidad) y otras implcitas (integridad referencial y dominio de atributos). ? Permite un diseo de la BD top-down. 2.3.2 Modelo entidad-relacin extendido (MER/E) A partir de la propuesta original de Chen, mucho autores han hecho aportaciones por lo que hay una familia de modelos derivados del ME/R, las inclusiones ms importantes son: 1. Cardinalidad de un tipo de entidad 2. Dependencia de existencia 3. Dependencia en identificacin 4. Interrelaciones exclusivas 5. Generalizacin/Especializacin 6. Dimensin temporal Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 16 Diplomado en Informtica Aplicado

? ? ?

Tema 1 Fundamentos de las Bases de Datos 7. Atributos derivados 8. Categorizacin 9. Instanciacin 10. 11. Meronimia Agrupamiento

2.3.2.1 Cardinalidad de un tipo de relacin Nmero mximo y mnimo de ocurrencias de un tipo de entidad que pueden estar interrelaciones con una entidad del otro u otros tipos de entidad que participan en un tipo de interrelacin. Representacin grfica- una etiqueta del tipo: ? ? ? ? (0,1) (1,1) (1, constante) (1,mucho) ? ? ? ? (0,constante) (0,mucho) (mucho,mucho) (constante,mucho)

2.3.2.2 Dependencia en existencia Las ocurrencias de un tipo de entidad (entidad dbil) no pueden existir si desaparece la ocurrencia de la entidad regular de la cual depende. 2.3.2.3 Dependencia en identificacin Tiene que cumplirse la dependencia en existencia y adems las ocurrencias del tipo de entidad dbil no se pueden identificar unvocamente mediante los atributos propios de la misma y exigen aadir la clave del tipo de entidad regular del cual dependen. 2.3.2.4 Interrelaciones exclusivas Dos o ms tipos de interrelaciones son exclusivas cuando cada ocurrencia de un tipo de entidad solo puede pertenecer a un tipo de interrelacin. (Figura 2.1)

Figura 2.1 Ejemplo de interrelaciones exclusivas. 2.3.2.5 Generalizacin/especializacin Descomposicin de tipos de entidades en varios subtipos ( un tipo de o un es es ). Toda ocurrencia de un subtipo es una ocurrencia de supertipo, aunque no sucede lo contrario, con lo que las cardinalidades sern siempre (1,1) en el supertipo y (0,1) o (1,1) en los subtipos. Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 17 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos

Trae consigo el concepto de

HERENCIA

Por defecto (los supertipos son prototipos, por lo tanto los subtipos heredan los atributos siempre que no los refinan.

Estricta (todos los atributos del supertipo deben ser heredados por los subtipos).

Inhibir la herencia de determinados atributos.

Tomando como base la cardinalidad entre los subtipos/supertipos se han definido cuatro clases de generalizaciones: ? Total sin solapamiento. ? Total con solapamiento. ? Parcial sin solapamiento. ? Parcial con solapamiento. Donde: Parcialidad: implica la admisin de nulos en el atributo discriminante. Solapamiento: implica que el atributo discriminante sera un grupo repetitivo. Por lo tanto, los subtipos se solapan o son disjuntos (si una ocurrencia puede o no pertenecer a ms de un subtipo) y la unin de los subtipos recubre o no el supertipo - generalizacin total o parcial (si toda la ocurrencia del supertipo tiene que pertenecer o no a algn subtipo). (Figura 2.2).

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

18 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos

Figura 2.2 Ejemplo de las clases de generalizacin: a) Total sin solapamiento. b) Total con solapamiento. c) Parcial sin solapamiento. d) Parcial con solapamiento.

2.3.2.6 Dimensin temporal Recoger en el esquema funcional la influencia, en la variacin de los datos, que tienen algunos hechos. Cmo podra representarse? : ? Paso del tiempo: a travs de campos fecha (Figura 2.3).

Figura 2.3 Ejemplo de implementacin del paso del tiempo. ? Nocin de estado para representar la evolucin de un tipo de entidad (Figura 2.4).

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

19 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos

Figura 2.4 Ejemplo de implementacin de nocin de estado. ? Una ocurrencia de un tipo de entidad se transforma en una ocurrencia de otro tipo de entidad. 2.3.2.7 Atributos derivados Son redundantes, pero no dan lugar a incoherencias porque se calcula a partir de otros existentes. Es necesario incluir en el diccionario de datos la regla de derivacin. 2.3.2.8 Categorizacin Es una nueva categora que es el conjunto de la unin de la relacin entre entidades (Figura 2.5).

Figura 2.5 Ejemplo de categorizacin. 2.3.2.9 Instanciacin Es otro tipo de jerarquizacin en herencia. Es el caso de las interrelaciones ejemplar de que se establece en el sentido de que si el tipo de entidad A ejemplar de tipo de entidad B, significa que el es tipo de entidad B existe en A uno o varios ejemplares. Se trata de interrelaciones 1:N. El atributo identificador principal de los subtipos no suele ser el del supertipo, sino que por lo general est compuesto por el identificador del supertipo junto con un atributo discriminante presente en el subtipo (Figura2.6).

Figura 2.6 Ejemplo de instanciacin. 2.3.2.10 Meronimia Reflejan el concepto de parte de Los tipos que existen representan distintos aspectos del concepto . ser parte deo formar parte de(visto desde el punto de vista semntico): ? Porcin/masa. ? Materia/objeto. ? Actividad/subactividad. Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 20 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos ? Lugar/rea. ? Componente/objeto integral: Se corresponde con el concepto de agregacin en el que pueden distinguirse: ? ? ? Agregacin simple de atributos para construir una entidad (Figura 2.7a). Agregacin de tipos de entidad para construir un tipo de entidad compuesto sin posibilidades de desensamblarse (Figura 2.7b). Agregacin de tipo de entidad para construir un tipo de entidad compuesto con posibilidad de desensamblarse (una bicicleta).

Figura 2.7 Ejemplo de componente/objeto integral. Miembro/coleccin: Es una entidad que agrupa a un conjunto de ocurrencia de un mismo tipo de entidad (Figura 2.8).

Figura 2.8 Ejemplo de miembro/coleccin. 2.3.2.11 Agrupamiento Si T designa a algn conjunto entidad (entidad) y T1, T2,... ,Tn son bien conjuntos valor (dominios) asociados con T o conjuntos entidad (entidades) relacionados con T va alguna relacin, entonces el operador de agrupamiento construye un nuevo conjunto entidad agrupado (entidad agrupada o agrupamiento) Tg donde cada elemento es un conjunto de entidades (ocurrencias) de T, tales que, dentro de uno de tales conjuntos las entidades (ocurrencias) tienen los mismos valores y entidades

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

21 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos relacionadas desde los conjuntos entidad (entidad) T1,T2,...,Tn asociados. Los tipos T1,T2,...,Tn se llamarn tipos ndice y T se llamar base. En la figura 2.9 se representa un ejemplo de un agrupamiento que se define a partir de la entidad trabajador, en este caso se agrupa a los trabajadores que tienen igual salario.

Figura 2.9 Ejemplo de agrupamiento. 2.3.3 Refinamientos de Codd El propio Codd ha refinado su modelo: ? 1979: Se aade ms semntica la modelo, de manera que las relaciones representadas como entidades. Las entidades pueden clasificarse en:
?

entre

entidades

son

Asociativa: representa una relacin M:N entre dos entidades distintas. Fuerza a que la entidad asociativa existe si existen todas las entidades que participan en la asociacin. Caracterstica: describe algunos aspectos de otra entidad superior (en el modelo llamada entidad dbil). La regla de integridad asociada es que la entidad caracterstica solo puede existir si existe la entidad superior. Ncleo: es la entidad fundamental sin la cual no existen las entidades anteriores. Soporta dos tipos de relaciones subtipo/supertipo: ? Alternativa o condicional: una tupla del supertipo puede corresponderse o no con alguna tupla de entidades subtipo (se corresponde con el concepto de Parcialidad en las extensiones descritas en el epgrafe anterior). Absoluto o incondicional: cada instancia del supertipo se corresponde con alguna instancia de algn subtipo (se corresponde con el concepto de Total).

? ?

? ? 1990:

Este ao se divulg una nueva versin del modelo relacional (MR/V2). Entre los aspectos novedosos que se exige a un SGBDR, se destacan: 1. Catlogo: debe contener no solo la descripcin de las tablas, dominios y vistas del sistema, sino tambin reglas de integridad, funciones definidas por el usuario, datos de autorizacin y estadsticas. Codd destac la importancia de ir enriqueciendo la semntica del catlogo descargando a las aplicaciones. 2. Vistas: deben ser tratadas por el SGBD del mismo modo que las relaciones. Se incluye la necesidad de un algoritmo para determinar si una vista es o no actualizable. 3. Autorizacin: en este apartado se destac la importancia de determinar "quin", "cmo" y "cundo" accede a "qu" parte de la BD, resaltando que en el MR/V2 se ha introducido la caracterstica denominada "N-person turn key" por la cual el SGBD debe poder exigir que ms de una persona proporcione autorizacin para llevar a cabo ciertas actividades. Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 22 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos 4. Funciones: en este apartado se explic la utilizacin del calificador "grado de duplicacin" (DOD-Degree of Duplication), que indica el nmero de veces que un valor concreto ocurre en una columna, y que permite resolver el problema de las tuplas duplicadas sin violar los fundamentos del modelo relacional. 5. Informacin desconocida: Codd propone que se aplique una lgica cuatrivaluada (L4V) donde existan los valores: verdadero, falso, desconocido pero aplicable (por ejemplo, fecha de nacimiento de un empleado) y desconocido inaplicable (por ejemplo, comisin en empleados que no son vendedores). De manera que el valor nulo ahora se clasifica como A-aplicable o Iinaplicable. Date plantea que hay infinidad de variantes (desconocido, inaplicables, no existe, indefinido, invlido, no proporcionados, conjuntos vacos, etctera), por lo tanto es mejor ignorar el hecho y dar un valor por defecto. 6. Sentencias para el DBA, estas abarcan:
? ? ? ? ?

Creacin (create) de dominios, relaciones, vistas, columnas, instantneas e ndices. Modificacin (alter) de dominios y columnas. Adicin (append) de columnas. Borrado (drop) de relaciones, vistas, dominios, columnas, instantneas e ndices. Renombramiento (rename) de relaciones, vistas, dominios, columnas, instantneas e ndices. Carga (load) de relaciones. Descripcin (explain) de relaciones. Archivacin (archive). Reactivacin (reactivate) de relaciones. Sentencias que contemplan al cuantificador universal (Find all).

? ? ? ? ?

7. Cualificadores: se utilizan para modificar algn aspecto de la ejecucin de sentencias relacionales (por ejemplo, order by), en el MR/V2 se describen 13. 8. Indicadores: sirven para representar condiciones excepcionales en el argumento de una sentencia o en el resultado de la misma, por ejemplo relacin vaca, divisor vaco, argumento inexistente, dominio no declarado,... , hasta un total de 14. 2.3.4 Disparadores En la propuesta original de Sequel se inclua un concepto que no est presente en el SQL estndar, y en la actualidad es soportando por algunos SGBDR. Su reaparicin se puede enmarcar en 1993. Nos referimos a los disparadores. Un disparador es una sentencia que el sistema ejecuta automticamente como un efecto secundario de una modificacin de la BD. Para disear un mecanismo de disparo hay que: ? ? Especificar las condiciones bajo las cuales se va a ejecutar el disparador, es decir, hay que especificar el o los valores que debe tomar el o los campos de la tabla. Especificar las acciones que se van a tomar cuando se ejecute el disparador.

Se define tambin como acciones que hay que realizar si ciertas restricciones se cumplen o si se incumple o viola una restriccin. 2.3.5 Nuevas restricciones de integridad La inclusin de estas operaciones plantea nuevas restricciones de integridad: Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 23 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos ? Al aplicar la generalizacin/especializacin, una entidad puede pertenecer a una jerarqua de diferentes conjuntos entidad (entidades). Una entidad existente a un nivel dado, tiene que existir en todos los niveles superiores. La agregacin constituye un conjunto entidad (entidad agregada) sobre la base de una relacin, por lo que dicho conjunto se comportar de forma similar a como se comporta la relacin. Para que el conjunto agregado exista, deben existir todos los conjuntos entidad (entidades) que forman parte en la relacin. Lo inverso no tiene que ocurrir necesariamente. Al aplicar el agrupamiento, la base es indispensable solo en el sentido de que para que exista cada entidad agrupada en el conjunto de entidad obtenido, al menos tiene que existir una entidad en la base. Lo inverso no se requiere, o sea, no es necesario que cada entidad en el conjunto base sea miembro de alguna entidad en el conjunto agrupado.

2.4 Conclusiones El modelo relacional brida un significativo paso de avance en la modelacin de los datos y ofrece un esquema realista para una implementacin eficiente, lo que se evidencia en el gran nmero de SGBDR que existen. Sin embargo este modelo ha resultado inadecuado cuando se quieren construir aplicaciones que involucran a entidades complejas y gran nmero de interrelaciones. El problema es que el modelo tiene problemas al representar la semntica del mundo real. 3 FUNDAMENTOS DEL MODELO RELACIONAL A diferencia de otros modelos de datos, para el caso del MR la fuerte actividad experimental de las ltimas dcadas ha estado precedida de un modelo formal. Esta formalizacin permiti obtener un estndar que ha unificado a los productos presentes en el mercado. El modelo se basa tericamente en el lgebra y clculo relacional, pero qu toma de ellos y qu introduce?. 3.1 lgebra relacional El lgebra relacional es un lenguaje procedimental o procedural que define las operaciones bsicas usadas en los lenguajes de consulta relacionales. Es equivalente en capacidad a las dos formas del clculo relacional, que se profundizan en el epgrafe 2.2, cuando estn restringidas a operaciones seguras. 3.1.1 Definicin formal Sean E1 y E2 expresiones del lgebra relacional, entonces las siguientes son todas expresiones del lgebra relacional: ? E1 U E2. Unin ? E1 - E2. Diferencia ? E1 x E2. Producto cartesiano ? ? p(E1), donde p es un predicado con atributos de E1. Seleccin ? ? s(E1), donde s es una lista que consta de algunos de los atributos de E1. Proyeccin 3.1.2 Operadores Una clasificacin de los operadores podra ser: ? ? Primitivos Derivados

Adems, Codd defini otros operadores y existen operadores adicionales de consulta y manipulacin. Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 24 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos 3.1.3.1 Primitivos Pertenecen a la teora de conjuntos. ? Unin (? ): Debe cumplir los siguientes requisitos: ? ? ? ? Las relaciones r y s deben tener el mismo nmero de atributos. Los dominios del atributo i-simo de r y del atributo i-simo de s, deben ser los mismos Diferencia (-): Permite encontrar tuplas que estn en una relacin, pero no en la otra. Producto cartesiano (x): A partir de las tuplas de una relacin r se forma una nueva relacin con todas combinaciones resultantes de su relacin con las tuplas de una relacin s.

3.1.2.2 Derivados Se obtienen a partir de los primitivos. ? Combinacin (join) ?x ?: Es una operacin binaria que nos permite combinar ciertas selecciones y un producto cartesiano en una operacin. Forma un producto cartesiano de sus dos argumentos, realiza una relacin forzando la igualdad en aquellos atributos que aparezcan en ambas planificaciones de relaciones, y finalmente quita las columnas duplicadas. r ?x ?s = ?
r? s

(? r.A1=s.A1? ...? ? r.An=s.AnRxS)

? Interseccin (? ): r? s = r-(r-s) donde r? s = {A1,...A2} ? Divisin (? ): Se establece para aquellas consultas que incluyen la frase para todos . Sean r(R) y s(S) relaciones y S ? R. La relacin r? s es una relacin del esquema R-S. Una tupla t est en r? s si para cada tupla tr en r que satisface las dos condiciones siguientes: tr [s] = ts [s] tr [R-S] = t [R-S] . 3.1.2.3 Introducidos por Codd ? Restriccin o seleccin (? ): ?
<predicado>

(<nombre de la tabla>) <atributos>=<valor> > < ? ? ?

? Proyeccin (? ): ?
<lista de atributos sobre los

(<nombre de la tabla>)

que se har la proyeccin>

3.1.2.4 Adicionales de consulta ? Agrupacin. ? Cierre transitivo: se define sobre dos atributos compatibles (igual dominio) de una relacin, aadiendo a la relacin de origen todas las tuplas que se deducen, sucesivamente por transitividad hasta la saturacin. Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 25 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos 3.1.2.5 Adicionales de manipulacin ? Asignacin (? ): asignar un nombre de relacin al resultado de una consulta. ? Insercin de tuplas: Se expresa V? r? E donde r es una relacin y E es una expresin del lgebra relacional. Se deben cumplir las siguientes condiciones: ? ? Los valores de los atributos para las tuplas insertadas deben ser miembros del dominio de los atributos. Las tuplas insertadas deben ser del mismo orden.

? Borrado: Se expresa V? r-E donde r es una relacin y E es una consulta del lgebra relacional. Se expresa similar a una consulta, pero en vez de representarlas, se quitan de la BD. ? Modificacin: ?? a? E(r) donde r es el nombre de una relacin con atributo A, al cual se le asigna el valor de la expresin E. La expresin E es cualquier expresin aritmtica que implica constantes y atributos en la planificacin de relacin r. 3.2 Clculo relacional El clculo relacional se puede ver desde dos puntos de vistas diferentes que pueden ser usados para representar una consulta: ? Clculo relacional de tuplas: Una expresin de la forma {t|P(t)} donde P es una frmula. En una frmula pueden aparecer varias variables de tuplas. Se dice que una variable de tupla es una variable libre a menos que este cuantificada por un cuantificador universal (? ) o por un cuantificador existencial (? ). Una frmula en el clculo relacional de tuplas se compone de tuplas. ? Clculo relacional de dominios: Esta forma usa variables de dominio que toman valores del dominio de un atributo ms que valores de una tupla completa. El clculo relacional de tuplas y dominios es un lenguaje no procedimental que representa la capacidad bsica requerida en un lenguaje de consulta relacional. 3.3 Lenguajes El lgebra y clculo relacionales son lenguajes concisos, formales e inadecuados para usuarios casuales de un SGBD, por lo tanto los SGBD comerciales por lo general usan lenguajes con ms azcar semntica. Los ms usados son: ? SQL (Structure Query Language): combinacin de construcciones del lgebra y el clculo. ? QBE (Query By Example): basado en el clculo relacional de dominios. ? Quel : basado en el clculo relacional de dominios y tuplas. En los SGBD se debe poseer adems un lenguaje que permita definir instrucciones adicionales para, por ejemplo, controlar secuencias, ciclos y bifurcaciones, entrada/salida a dispositivos fsicos y funciones matemticas. 3.3.1 Comparacin entre lenguajes Lenguaje Caractersticas QUEL Se introdujo como lenguaje de consulta para el SGBD Ingres, desarrollado en la Universidad de California, Berkeley. El sistema Ingres acadmico original ofreci el lenguaje Quel, actualmente ofrece Quel y SQL. Es el nombre de un lenguaje de manipulacin de datos y un sistema de base de datos que incluye este lenguaje. El sistema de base de datos se desarroll a principios de los en T.J. Watson Research de IBM. A pesar de que ya est fuera de uso, el lenguaje 70 26 Diplomado en Informtica Aplicado

QBE

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

Tema 1 Fundamentos de las Bases de Datos Lenguaje Caractersticas de manipulacin es parte del Query Management Facility (QMF) de IBM. Tiene una sintaxis bidimensional, es decir, para expresar una consulta se requieren dos dimensiones. Para obtener la respuesta deseada, el usuario da un ejemplo de lo que desea y el sistema generaliza este ejemplo para calcular la respuesta a la consulta. SQL Aparece aproximadamente en 1980. Su nombre original fue Sequel y fue implementado en la dcada de los 70, posteriormente se le llam SQL. Su versin original fue desarrollada en San Jos Research Laboratory. Todas las versiones respetan un conjunto de funciones estndar definidas por un comit ANSI? . Se han definido dos versiones, la primera en 1986 y la segunda en 1992. A esta ltima se le conoce como SQL2. En entornos de trabajo, segn la arquitectura cliente-servidor, el lenguaje SQL es el intermediario principal y directo de todos los mensajes que gestionan bases de datos, incluso indirectamente (SQL embebido o inmerso) cuando acta desde el interior de las aplicaciones cliente. Lamentablemente buena parte de los gestores de base de datos que implementan SQL, no son absolutamente relacionales. 3.3.2 SQL SQL forma el producto cartesiano de las relaciones nombradas en la clusula FROM, realiza una seleccin del lgebra relacional usando el predicado de la clusula WHERE y despus proyecta el resultado a los atributos de la clusula SELECT. Una consulta puede optimizarse para que el procesamiento sea ms eficiente. Internamente los SGBD poseen un mecanismo de optimizacin. El resultado de una consulta en SQL es una relacin. Los lenguajes de consulta formales se basan en la nocin matemtica de relacin como un conjunto. Por ello nunca aparecen tuplas duplicadas en las relaciones (a menos que usted lo solicite en la consulta). En la prctica la eliminacin de duplicados consume mucho tiempo. Implcitamente se admiten duplicados. 3.4 Lenguaje de manipulacin de datos (LMD) Un LMD define un lenguaje de consulta basado en el lgebra y clculo relacional de tuplas. Incluye rdenes para insertar, suprimir y modificar tuplas de la BD.

SELECT [palabra reservada para no permitir duplicado] <lista de atributos> FROM <lista de relaciones> [WHERE <predicado que indica la condicin que deben cumplir las tuplas a seleccionar> [GROUP BY <lista de atributos que se usan para agrupar los resultados> [HAVING <predicado que indica condicin que deben cumplir los grupos creados en la clusula anterior>]] [ORDER BY <lista de atributos ordenados de acuerdo al criterio que se desee imponer> [ASC/DESC]]

ANSI-American National Standards Institute Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

27 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos Ejemplo de palabra reservada que no permite duplicado: DISTINT 3.4.1 Conectores lgicos ? AND ? OR ? NOT ? ? ?

3.4.2 Operadores de seleccin para comparacin de cadenas de caracteres. ? % es igual a cualquier subcadena. ? es igual a cualquier carcter.

3.4.3 Pertenencia a un conjunto ? IN: Prueba si es miembro de un conjunto, donde el conjunto es una coleccin de valores producidos por una consulta SELECT. ? NOT IN: Prueba la no pertenencia al conjunto. 3.4.4 Operadores para comparacin de consulta ? SOME Mayor que algn. ? <SOME Menor que algn. ? ? SOME Mayor o igual que algn. ? ? SOME Menor o igual que algn. ? =SOME igual que algn (es idntico a IN). ? ? SOME desigual que algn. ? >ALL Mayor que todos. ? < ALL Menor que todos. ? ? ALL Mayor o igual que algn. ? ? ALL Menor o igual que algn. ? = ALL igual que todos. ? ? ALL desigual que todos. Nota: ANY es sinnimo de SOME y era permitido en las primeras versiones, pero se sustituye por SOME para evitar ambigedad lingstica de la palabra Any en ingls. 3.4.5 Comparacin entre conjuntos CONTAINS (NOT CONTAINS): Permite comparar conjuntos para determinar si un conjunto contiene o no todos los miembros de algn otro conjunto. Fue introducido en Sequel, pero ha sido omitida en implementaciones posteriores y no est en el ANSI estndar, posiblemente porque su procesamiento es extremadamente caro. Las ltimas versiones de Oracle lo incluyen. 3.4.6 Existencia de una tupla EXIST (NOT EXIST): Permite probar si una subconsulta tiene alguna tupla en su resultado (o no tiene). Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 28 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos 3.4.7 Eliminar tuplas de una relacin DELETE r WHERE p , donde p representa a un predicado y r una relacin. Las tuplas t en r, para las cuales p(t) es verdadero, son eliminadas en r. Si contienen un SELECT incorporado que hace referencia a la relacin de la que se van a suprimir las tuplas, pueden ocurrir anomalas. 3.4.8 Insertar tuplas en una relacin Condiciones: ? los valores de atributos para las tuplas insertadas deben ser miembros del dominio de los atributos, ? deben tener el nmero correcto de atributos y ? el orden de los atributos, si no se pone, debe corresponder con el orden que tienen los campos en la tabla. INSERT INTO r VALUES (, , ) SQL estndar no permite el SELECT inmerso que haga referencia a relacione en las que las tuplas van a ser insertadas. Para evitar problemas en consultas, SQL puede prohibir en la insercin que se den valores nulos a los atributos. 3.4.9 Actualizacin UPDATE r SET <nombre campo=nuevo valor> La clusula WHERE puede estar presente en la sentencia. Al igual que en la insercin, el SQL estndar no permite que el SELECT haga referencia a la relacin que se est actualizando. 3.4.10 Clusulas de SQL que implementan las operaciones del lgebra. Operacin del lgebra Producto cartesiano Representacin grfica A B AxB Explicacin Clusula de SQL que la implementa

x y

a x a y A[x]

Conjunto de tuplas de T tales FROM: lista de las que es la concatenacin de una relaciones que se tupla de a? A y una tupla de b? B. van a examinar en la evaluacin de la rxs = {t1,t2 ? t1? r and t2? s} expresin. Se extraen columnas de una relacin indicando el orden en que se desean. ? A(r) = {t[A] ? t? r} SELECT: lista de atributos que se desean en el resultado de la consulta.

Proyeccin

x a c Seleccin A

y b d

x a c A[x]

Se obtiene un conjunto de tuplas T tales que la comparacin t.x ? t.y tome valores cierto donde los atributos x y y estn definidos en

WHERE: predicado que en la definicin de la condicin involucra a atributos

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

29 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos Operacin del lgebra Representacin grfica x a a b Interseccin y f z f x a y z Conjunto de tuplas que pertenecen a ambas relaciones. Es una operacin asociativa. r? s = {t ? t? r and t? s} INTERSECT: Form parte de Sequel, pero no est incluido en el estndar. Se puede expresar su semntica usando lo operadores de pertenencia a un conjunto IN y NOT IN. No existe un operador, puede modelarse usando el predicado NOT EXIST (o alguno de igual efecto) y replantear la consulta usando doble negacin. y=z Explicacin el mismo dominio y ? es una operacin de comparacin (<,>,=,...). ? F(r) = {t ? t? r and t satisface F} Clusula de SQL que la implementa de las relaciones que aparecen.

Divisin

r? s = ? r S(r) - ? r-

Divide una relacin dividiendo A de grado m+n entre una relacin s ((? r S(r)*s)-r) divisor B de grado m. El atributo m+i de A y el i-simo de B deben donde estar definidos en el mismo ? r S(r) son todas las dominio (i=1,2,...,n). A entre B es tuplas candidatas. el conjunto de tuplas T tales que ? r S(r)*s combinacin de para todas la tuplas b de B las candidatas con s. ocurre t concatenado con b? A. r? s = {t ? ? u? s tu? r} Conjunto de las tuplas que pertenecen a R y que no pertenecen a S. No es una operacin asociativa. r-s = {t ? t? r and t? s}

Diferencia

MINUS: Form parte de Sequel, pero no est incluido en el estndar.

Combinacin (JOIN)

A s s1 s2 s3 x x1 x2 x3

B x x1 x2 x3 z z1 z2 z3

Se refiere a -? de A sobre el atributo x con B sobre el atributo y como el conjunto de tuplas t tales que t es -? de una tupla a? A y es una tupla b? B en las que el predicado a.x ? b.y toma un valor cierto. Si ? es =, entonces a la operacin se le llama equijoin (hay dos atributos idnticos). Si una de estas columnas se elimina, se le llama concatenacin natural. r s = { t ? (? u? r) (? v? s) (t[R]=u and t[S]=v)}

x2 z4

No tiene representacin directa, pero puede definirse en trmino de producto cartesiano, una seleccin y una proyeccin.

A JOIN B s s1 Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos x x1 z z1

30 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos Operacin del lgebra Representacin grfica s2 s3 s3 Unin x1 x2 x2 z1 z2 z4 Se establece entre dos relaciones compatibles, provocando una nueva relacin con las tuplas de ambas relaciones. r? s = {t ? t? r or t? s} 3.5 Lenguaje de definicin de datos (LDD) Un LDD proporciona rdenes para definir esquemas de relacin, eliminar esquemas, crear ndices y modificar esquemas de relacin. 3.5.1 Vistas CREATE VIEW <nombre vista> AS <expresin de consulta> Cuando se define una vista en trmino de varias relaciones, se pueden producir anomalas en la actualizacin de las vistas. Es por esto que muchos SGBD basados en SQL imponen la siguiente condicin: permite una modificacin a travs de una vista solo si la vista en cuestin est definida Se en trminos de una relacin de la BD relacional real, es decir, la BD del nivel conceptual . Dentro de proceso de construccin de una vista estn prohibidas las operaciones de INSERT, DELETE y UPDATE. 3.5.2 Disparadores Los disparadores no se incluyeron en el SQL estndar original, pero la propuesta original Sequel inclua disparadores limitados. Este concepto se retom en 1993 como una posibilidad de incluir dinmica a la BD. En SQL server la sintaxis es: CREATE TRIGGER [dueo.] <nombre del disparador> ON [dueo.] <nombre de la tabla> [WITH ENCRYPTION] FOR {INSERT, UPDATE, DELETE} lo que se dispara en respuesta a alguna de estas operaciones. AS sentencia SQL se ejecuta un procedimiento almacenado. Posteriormente se abordar este concepto a profundidad. 3.5.3 Operaciones sobre el esquema ? CREATE TABLE r(A1D1,...,AnDn) Donde r nombre de la relacin. Ai Nombre de un atributo. Di tipo de datos de los valores en el dominio del atributo Ai. Era parte del SQL estndar. Oracle define el operador UNION. Explicacin Clusula de SQL que la implementa

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

31 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos Aqu se puede especificar, adems, el conjunto de ndices que se van a mantener para cada relacin, la informacin de seguridad y autorizacin para cada relacin, los lmites de integridad, entre otras cosas. ? ? DROP TABLE r Elimina una relacin. ALTER TABLE r ADD <nombre del atributo y dominio> Aade atributos a una relacin existente asignndole a todas las tuplas de la relacin el valor null en ese atributo. No est en el estndar.

3.6 Funciones de agregacin Pueden usarse en las clusulas SELECT, WHERE y HAVING. Permiten calcular funciones en grupos de tuplas usando la clusula GROUP BY. Las tuplas con el mismo valor en todos los atributos en la clusula GROUP BY se colocan en el mismo grupo. El resultado de una funcin de agregacin es un nico valor. Funcin SUM COUNT AVG MAX MIN 3.7 Implementacin de restricciones Se permite especificar dentro del dominio de los atributos si se puede o no tomar valores nulos (NOT NULL). En el estndar original no se tena nada para especificar la integridad referencial, actualmente se pueden definir, a partir de clusulas, las claves como parte de la sentencia CREATE TABLE. Para la clave primaria hay que especificar NOT NULL en su dominio. Clusula Primary key Unique Key Foreing Key Accin Incluye una lista de atributos que comprenden la clave primaria. Incluyen una lista de atributos que comprenden una clave candidata. Incluye una lista de atributos que comprenden la clave externa y el nombre de la relacin a la que hace referencia la clave exterior Significado Total Contar Promedio Mximo Mnimo

En SQL estndar original se permitan definir afirmaciones que se usaban para modelar aspectos no posibles de expresar de otra forma. Una afirmacin es un predicado que expresa una condicin que se desea satisfaga la BD. Las formas especiales de afirmacin son: ? ? ? Restricciones de dominio. Dependencias funcionales. Restricciones de integridad.

La prueba de las afirmaciones es muy costosa, por eso se quitaron en algunos gestores. ASSERT ALL <nombre de la afirmacin> ON <nombre de la relacin>:<predicado> 3.8 Lenguaje de control de datos (LCD) En el caso de los privilegios a la BD, lo ms elemental es definirlos para los usuarios. De esta forma un usuario tiene privilegio para ejecutar un comando dado solo en un cierto objeto de la BD. Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 32 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos De manera general se usan las palabras GRANT y REVOKE para permitir o no el acceso de los usuarios a algunas de las siguientes operaciones, sobre toda una tabla o algunos de los campos. Estas operaciones son: ? ? ? ? ? ? ? SELECT UPDATE DELETE INSERT REFERENCES ALTER INDEX

En Oracle, por ejemplo, los privilegios pueden asociarse a roles, por lo tanto un usuario tendr acceso en un momento dado a los que le permita el rol que juega en ese momento. Las vistas pueden ser usadas tambin para controlar el acceso a columnas o filas de las tablas. 3.9 Caso de estudio Supongamos las siguientes relaciones: Cliente NombreCliente Calle CiudadCliente

Sucursal NombreSucursal Activo CantidadSucursal

Depsito NombreSucursal NmeroCuenta NombreCliente Saldo

Prestamo NmeroPrestamo NombreCliente CantidadPrstamo

Figura 3.1 Diagrama entidad relacin lgebra relacional. ? ? Insertar el hecho de que Juan tiene 5000 pesos en la cuenta 9732 de la sucursal 1092. Depsito ? depsito ? {( 1092 ,9732, Juan ,5000)} Proporcionar a todos los clientes con prestamos en la sucursal 1092 una cuenta de ahorro de 200 pesos. R1 ? (? Nombre Sucursal = 1092 (Prstamo) R2 ? (? Nombre Sucursal, Nmero Prestamo, Nombre Cliente (R1) Depsito ? Depsito ? (R2 ? {(200)})

Eliminar todas las cuentas de Juan. 33 Diplomado en Informtica Aplicado

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

Tema 1 Fundamentos de las Bases de Datos


NombreCliente Calle NombreSucursal Activo

CLIENTE DEPSITO

SUCURSAL

m 1
CiudadCliente NmeroCuenta Saldo

n
CantidadSucursal

m
PRSTAMO

NmeroPrtamo

CantidadPrtamo

Depsito ? Depsito - (? Nombre Cliente = Juan(Depsito) ? Eliminar todas las cuentas de las sucursales situadas en Cienfuegos. R1 ? (? Ciudad Sucursal = Cienfuegos(Depsito ?x ? Sucursal) R2 ? (? ? ?
Nombre Sucursal, Nmero Cuenta, Nombre Cliente, Saldo

(R1)

Depsito ? Depsito - R2 Incrementar todos los saldos en un 5%. ?? Saldo ? Saldo * 1.05 (Depsito) Incrementar los saldos de las cuentas mayores 10 000 en un 6% y el resto en 5%. ?? Saldo ? Saldo * 1.06 (?? Saldo>10 000 Depsito)) ?? Saldo ? Saldo * 1.05 (?? Saldo<10 000 Depsito)) Clculo relacional. ? Encontrar todos los clientes que tienen prstamos por una cantidad mayor de 1200 pesos. Clculo relacional de tuplas. {t ?? s ? Prstamo (t [NombreCliente] = s[NombreCliente] ? s[CantidadPrstamo] > 1200)} Se lee: el conjunto de todas las tuplas t tales que existe una tupla s en la relacin Prstamo para la cual los valores de t y s para el atributo Nombre Cliente son iguales, y el valor de s para el atributo Cantidad Prstamo es mayor de 1200 pesos. Clculo relacional de dominios. {<c> ? ? b,l,a (<b,l,c,a> ? Prstamo ? a> 1200)} Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 34 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos Diferencias: En el clculo relacional de tuplas, cuando se escribe ? s para un variable de tuplas, lo asociamos directamente a una relacin escribiendo ? s? r. Sin embargo, cuando se escribe ? b en el clculo relacional de dominios, b no est relacionado con una tupla, sino a un valor de dominio. As, el dominio de variable b es ilimitado hasta que la subfrmula (<b,l,c,a> ? Prstamo limite a b a nombres de sucursales que aparezcan en la relacin Prstamo. SQL. ? Encontrar los nombres de todas las sucursales que tiene un activo mayor que alguna sucursal situada en Matanzas. Solucin 1: SELECT DISTINT T.NombreSucursal FROM Sucursal T, Sucursal S WHERE T.Activo>S.Activo AND S.CiudadSucursal= Matanzas Solucin 2: SELECT NombreSucursal FROM Sucursal WHERE Activo>SOME (SELECT Activo FROM Sucursal WHERE CiudadSucursal= Matanzas ) S y T se conocen como variables de tuplas. Son muy tiles para comparar tuplas de la misma relacin. ? Encontrar los nombres de todas las sucursales que tienen un activo mayor que todas las sucursales de Matanzas. SELECT NombreSucursal FROM Sucursal WHERE Activo>ALL (SELECT Activo FROM Sucursal WHERE CiudadSucursal= Matanzas ) ? Encontrar a todos los clientes que tienen una cuenta en todas las sucursales situadas en Matanzas SELECT DISTINT S.NombreCliente FROM Depsito S WHERE (SELECT T. NombreSucursal FROM Depsito T WHERE S.NombreCliente=T.NombreCliente) CONTAINS (SELECT NombreSucursal Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 35 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos FROM Sucursal WHERE CiudadSucursal= Matanzas ) El primer SELECT encuentra todas las sucursales en las que el cliente S.NombreCliente tiene una cuenta y el segundo encuentra todas las sucursales en Matanzas. ? Encontrar todos los clientes que tienen una cuenta y un prstamo en la sucursal 1092. SELECT NombreCliente FROM Cliente WHERE EXIST (SELECT * FROM Depsito WHERE Depsito.NombreCliente=Cliente.NombreCliente AND NombreSucursal= 1092 ) AND EXIST (SELECT * FROM Prstamo WHERE Prstamo.NombreCliente=Cliente.NombreCliente AND Nombre Sucursal= 1092 ) El primer SELECT averigua si el cliente tiene una cuenta en la sucursal 1092, y el segundo comprueba si tiene un prstamo en esa sucursal. ? Listar en orden alfabtico todos los clientes que tiene un prstamo en la sucursal 1092. SELECT DISTINT NombreCliente FROM Prstamo WHERE NombreSucursal= 1092 ORDER BY NombreCliente ? Encontrar el saldo promedio en todas las cuentas en todas las sucursales. SELECT NombreSucursal, AVG(Saldo) FROM Depsito Group By NombreSucursal ? Contar el nmero de tuplas de una relacin. SELECT Count(*) FROM Cliente ? Encontrar aquellas sucursales con el saldo promedio mayor. SELECT NombreSucursal FROM Depsito Group By NombreSucursal HAVING AVG(Saldo)? ALL (SELECT AVG(Saldo) Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 36 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos FROM Depsito Group BY (NombreSucursal)) ? Encontrar el saldo promedio de todos los clientes con depsitos que viven en Villa Clara y tienen por lo menos 3 cuentas. SELECT AVG(Saldo) FROM Depsito, Cliente WHERE Depsito.NombreCliente=Cliente.NombreCliente AND CiudadClientes Villa Clara GROUP BY Depsito.NombreCliente HAVING COUNT (DISTINT Nmero Cuenta) ? 3 ? Proporcionar a todos los clientes con cuenta de ahorro en 1092una cuenta de ahorro con 200 pesos. INSERT INTO Depsito SELECT Nombre Sucursal, NmeroPrstamo, NombreCliente,200 FROM Prstamo WHERE NombreSucursal= 1092 ? Incrementar el saldo de todas las cuentas un 5%. UPDATE Depsito SET Saldo=1.05*Saldo ? Crear una vista que incluya a todos los clientes que tengan prstamo o depsito. CREATE VIEW Todos-Clientes AS (SELECT NombreSucursal, NombreCliente FROM Depsito) (SELECT Nombre Sucursal, NombreCliente FROM Prestamo) ? Ningn empleado de banco puede ser su propio banquero. ASSERT Limite_Banquero ON Persona: NombreCliente? NombreEmpleado ? Prevenir la adicin de una cuenta a menos que exista el cliente (es una restriccin de integridad referencial) ASSERT Limite_Direccin ON INSERTION TO Depsito EXIST (SELECT * FROM Cliente WHERE Cliente.Nombre_Cliente=Depsito.Nombre_Cliente) ? No se permitirn saldos negativos, cuando esto vaya a ocurrir , se crea un prstamo con la cantidad en deuda. DEFINE TRIGGER Saldo_Deudor ON UPDATE OF Depsito T Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 37 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos (If new T.Saldo<0 then (INSERT INTO Prstamos VALUES (T.NombreSucursal, T.NmeroCuenta, -new T.Saldo) UPDATE Depsito S SET S.Saldo? 0 WHERE S.NmeroCuenta=T.NmeroCuenta)) ? Suprimir los registros de todas las cuentas con saldos inferiores al promedio. DELETE Depsito WHERE Saldo<(SELECT AVG (Saldo) FROM Depsito) Problema: Cuando se suprima una tupla el saldo promedio cambia Solucin: SQL estndar no permite este tipo de soluciones que consiste en marcar las tuplas cuando se aplica el DELETE y cuando se termina de procesar la solicitud es que se elimina. Ahora s est permitido. 3.10 Conclusiones A pesar de la fortaleza del lgebra relacional, las consultas cada vez ms exigentes que se requieren hacer a la BD, han provocado que los lenguajes de consulta incluyan nuevas clusulas y funciones para incrementar su capacidad expresiva. Por ejemplo, SQL supera al lgebra relacional al permitir funciones de agregacin y ordenacin de tuplas, entre otras. En el caso del modelo relacional la formalizacin primero del modelo permiti tener una base comn sobre la que se han sustentado diferentes lenguajes que han hecho posible que los usuarios de los SGBD se muden a este modelo y con seguridad la principal causa de este movimiento, e incluso de las dificultades actuales para migrar haca otros modelos, es la potencialidad tan elevada de los lenguajes. Dentro de ellos SQL se ha impuesto como estndar. 4 INTRODUCCIN AL MODELO ORIENTADO A OBJETOS Buscndole solucin a la crisis del software surgi, en el campo de la programacin, la programacin estructurada y un poco ms tarde la programacin modular y el diseo estructurado. A pesar de sus muchas ventajas, al aumentar las expectativas de los usuarios acerca de lo que se poda hacer con la computadora, surgi un mayor nmero de problemas ms complejos a resolver. Adems, para reducir el tiempo de realizacin de un producto se hace necesario reutilizar elementos que han sido desarrollados por otros sistemas, pero las tcnicas existentes no ayudaban lo necesario en este sentido. Es por esto que surgi la tecnologa OO que introduce nuevos conceptos en el campo de la informtica y que ha provocado una revolucin en todos los rdenes. Khoshafian y Abnous? analizaron las posibles alternativas para unir las capacidades de las BD y los conceptos de la OO, llegando a 6 posibles soluciones: 1. Extender los lenguajes OO con las capacidades de las BD. 2. Crear un modelo de datos y lenguaje de datos nuevo.
?

Khoshafian, S. and Abnous, R. Object-orientation: concepts, languages, databases, user interfaces. John Wiley & Sons, Inc.1990.
Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 38 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos 3. Extender los lenguajes de BD con las capacidades OO. 4. Proporcionar bibliotecas extensibles para manejo de BD. 5. Incluir lenguaje de BD en lenguajes de POO o viceversa. 6. Productos especficos para manipular BDOO. 4.1 Por qu no el modelo relacional para Base de Datos de Objetos? El modelo relacional se basa en la teora matemtica de las relaciones por lo que una base de datos relacional se ve como una tabla en la que se almacenan datos atmicos. Los objetos del mundo real son ms complejos al encerrar ms semntica y una BDOO pretende manipular esta complejidad. No obstante existen autores (entre ellos C. J. Date) que buscan similitudes entre ambos modelo, pero aunque hay conceptos que coinciden, un objeto es algo ms. 4.1.1 Problemas de los SGBD y sus relaciones El modelo relacional no es la solucin a todos los problemas ni nunca se asegur que lo fuera, existen un grupo de problemas a los que no le da directamente solucin: 1. Los SGBDR centran su atencin en sistemas de gestin por lo que hay aplicaciones para los cuales resultan inadecuados. Ej.: CAD (Computer-Aided Design) CASE (Computer-Aided Software Engineering) Hipertexto ( Ej.: el diseo de un peridico) 2. No soportan igualmente bien todos los sistemas de gestin. Ej.: Sistema de seguro ? ? ? 3. Nombre y cobertura de cada persona asegurada. Imgenes fotogrficas del suceso al que se refiere la reclamacin. Facsmil del impreso original en el que se escribi la reclamacin.

Enriquecimiento de la base de datos a partir de aplicar reglas que deduzcan nueva informacin a partir de la existente. Ej.: Diseo de una revista, se deduce ubicacin de cada nuevo reporte, propaganda, etc., teniendo en cuenta caractersticas de la informacin a mostrar, no exista propaganda de competidores en una misma pgina, entre otras condiciones.

4.

Necesidad de hacer consultas recursivas. Ej: Ensamblaje Ensamblaje Piezas Ensamblajes

Piezas Soluciones a. Ampliar el modelo relacional en forma apropiada. En este sentido han surgido extensiones del modelo que agregan ms semntica de manera que se pueden representar otras abstracciones tal como se dan en el mundo real. Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 39 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos Ej.: Los tipos de datos de una columna pueden ser otra tabla (para datos complejos). Mtodos asociados con tablas. Tablas organizadas en jerarquas que heredan los esquemas de las tablas ancestras. b. Desechar por completo el modelo relacional y sustituirlo por algo nuevo. Los modelos que han surgido a partir de aqu son: semntico deductivo orientado a objetos Modelos nuevos ?

Definen a los SGBD de 3ra generacin

4.1.2 Principios de los SGBD de 3ra generacin (segn el manifiesto del SBD de 3ra generacin, 1991) 1. Ms all de los servicios tradicionales de gestin de datos, los SGBD de 3ra generacin proporcionarn apoyo a estructuras de objeto y reglas ms ricas.

1.1

Deben tener un sistema rico de tipos, siendo deseable:

? Un sistema de tipos de datos abstractos para construir nuevos tipos bsicos.


? ? ? ? ? ? ? Un constructor de tipos de matrices. Un constructor de tipos de secuencias. Un constructor de tipos de registros. Un constructor de tipos de conjuntos. Funciones como tipos. Un constructor de tipos de unin. Composicin recursiva de los constructores anteriores.

1.2 1.3 1.4 1.5


2.

Permitir que los tipos se organicen en una jerarqua de herencia (simple y mltiple). Inclusin de funciones (mtodos de las clases) en la BD y permitir que los diseadores de aplicacin tengan a su alcance los beneficios de la encapsulacin. Asignacin automtica de identificadores solo cuando no se disponga de una clave primaria. Inclusin de reglas (activaciones, restricciones) en la BD no asociadas con los mtodos.

Los SGBD de 3ra generacin deben subsimir a los SGBD de 2da generacin.

2.1 Todo el acceso a una BD debe hacerse a travs de un lenguaje de consulta no procedimental y de alto
nivel.

2.2 Permitir realizar cambios sin afectar la aplicacin a travs del uso de vistas actualizables o colecciones
virtuales que en los SGBD de 2da generacin garantizan mejor que en los de 1ra al encapsular el acceso a la BD, pero se debe trabajar ms en esto.

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

40 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos

2.3 Debe quedar oculta la gestin interna que haga el sistema de gestin (los detalles fsicos) a los
programadores de aplicaciones. No se puede renunciar a la independencia de los datos.

2.4 Para especificar colecciones (tales como matrices, conjuntos, secuencias, etc.) se debe usar alguna
de las siguientes vas: ? Extensional : la representacin es una coleccin de apuntadores en el que la condicin de miembro de cada conjunto se determina manualmente por el programador de la aplicacin. Ej.: Alumnos (nombre,edad,promedio) Grupos (nmero, integrantes)
Apuntadores a los alumnos que pertenecen al grupo

Intencional: la representacin se especifica mediante expresiones SQL, de manera que el establecimiento de la condicin de miembros se mantiene de forma automtica. Ej.: Supongamos que los alumnos se clasifican teniendo en cuenta la edad.

Grupos (nmero, edad mnima, edad mxima, integrantes) 3. Deben estar abiertos a otros subsistemas.

3.1 Ser accesibles desde mltiples lenguajes de alto nivel. 3.2 Lenguaje comn de definicin y manipulacin de datos. 3.3 SQL es la forma universal de expresar consultas por lo que es un candidato razonable como lenguaje
de consulta.

3.4 La relacin entre el servidor y una estacin de trabajo remota debe ser usando expresiones de
consultas. 4.2 Sistemas de Gestin de Base de Datos de Objetos Los SGBDOO surgen de la convergencia entre la tecnologa de las BD y el paradigma de la OO, con el fin de entender a requisitos para los cuales los productos relacionales no dan una respuesta satisfactoria. Ejemplos de aplicaciones que los requieren:

? ? ?
?

textos: automatizacin de oficinas CAP (Computer-Aided Publishing), multimedia, eventos: tiempo real, control de procesos y gestin de redes,

? objetos complejos: sistema de informacin geogrfica,


multidimensiones: simulacin modelacin, ? reglas heursticas y ? grafos de 2da y 3ra dimensin.

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

41 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos BDOO = Orientacin a objetos + Capacidades de las BD

? ? ?

Tipos abstractos de datos Herencia Identidad de objetos

? ? ? ? ? ? ? ? ?

Persistencia Transacciones Control de ocurrencias Recuperacin Mecanismo de consulta Versiones Integridad Seguridad Requisitos de ejecucin

4.2.1 Definicin Una BDOO es una coleccin de clases e instancias de clases (objetos) que pueden ser almacenados y recuperados por un SGBDOO. Es un sistema diseado para almacenar y recuperar objetos complejos en lugar de artculos contenidos en tipos de datos simples. No existe una definicin estndar de los que es un SGBDOO, no obstante se aceptan las reglas propuestas en la 1ra Conferencia Internacional de BDOO y BDD. Grady Booch plantea que es un programa de computacin que combina la semntica de los lenguajes de programacin orientado a objetos con la manipulacin de datos y facilidades de consulta de un sistema de gestin de base de datos convencional. 4.2.2 Reglas de oro (Manifiesto de los SGBDOO, 1ra Conferencia Internacional de BDOO y BDD, Kyoto, 1988) 1. Soporte para el tratamiento de objetos complejos ( Prestar soporte a los objetos complejos ). Incluye ? Constructores de objetos complejos (conjuntos, matrices, listas). ? 2. Operadores para tratar dichos objetos, es decir, las operaciones sobre un objeto complejo deben propagarse transitivamente a todos sus componentes.

Identidad del objeto ( Prestar soporte a la identidad del objeto ). Cada objeto debe poseer un identificador (OID- Object Identifier) que suministra automticamente el sistema lo que reduce la duplicacin y libra al diseador de la necesidad de crear llaves nicas.

3.

Encapsulamiento ( Encapsulars tus objetos ).

? ?

Hay un solo modelo de datos y operaciones de manera que la informacin se encapsula. Se puede permitir violar el encapsulamiento bajo ciertas condiciones porque las consultas son frecuentemente expresadas en trminos de predicados con los valores de los atributos. Por lo tanto casi todos los SGBDOO permiten el acceso directo a los datos suministrando operaciones definidas por el sistema para leer y modificar los atributos. Estas operaciones son proporcionadas como parte del sistema de una forma eficiente y a bajo nivel.

4. 5. 6.

Herencia ( Tus clases o tipos heredarn de sus ancestros ). Posibilidad de crear nuevos tipos a partir de los existentes ( sers extensible ). Soportar la nocin de tipo y la de clase ( Prestars ayuda a los tipos y clases ). Tipo:

rasgos comunes a un conjunto de objetos con las mismas caractersticas. Corresponde a la nocin de tipo de datos abstracto. Tiene dos partes: la interface (visible a los usuarios del tipo) y la Dra. Anaisa Hernndez Gonzlez 42 Asignatura: Base de Datos Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos implementacin (visible al diseador del tipo). Se usan principalmente en tiempo de compilacin para comprobar la correccin de programas. Clase: su especificacin es la misma que la del tipo, pero es ms una nocin de implementacin. Contiene dos aspectos:

? Fbrica de objetos: creacin de objetos nuevos de algn objeto prototipo representativo de la


clase.

? Almacn de objetos: a cada clase se le asocia su extensin (conjunto de objetos que son
muestra de ella). El usuario puede manipularlos aplicando operaciones sobre todos o algunos de los objetos que lo forman. 7. Sobrecarga, enlace tardo y redefinicin ( unirs prematuramente No ). Sobrecarga: utilizacin del mismo nombre para diferentes operaciones.

Enlace tardo: traduccin de los nombres de las operaciones a direcciones de memoria en tiempo de ejecucin. Redefinicin: redefinicin de la implementacin de las operaciones con el mismo nombre por cada objeto segn su tipo. 8. Posibilidad de hacer clculos complejos ( Hars clculos complejos ). Expresar cualquier funcin computable utilizando el DML de un sistema de BD sin necesidad de disear nuevos lenguajes de programacin. Los clculos complejos pueden introducirse a travs de la conexin con los lenguajes de programacin existentes. 9. Persistencia ( Recordars tus datos ).

Capacidad de un objeto de conservar su valor en el espacio y en el tiempo. 10. Gestin de almacenamiento secundario ( Manejars bases de datos muy grandes ). Incluye ? Indice ? Agrupamiento de datos ? Introduccin de datos en memoria interna ? Seleccin de la va de acceso ? Optimizacin de consulta Estas caractersticas son invisibles para el usuario (el programador no debe escribir cdigo para mantenerlas), pero deben existir para garantizar el buen funcionamiento de las aplicaciones. 11. Control de concurrencia ( Aceptars a los usuarios concurrentes ). Asegurar una coexistencia armoniosa entre los usuarios que trabajan simultneamente sobre la BD. 12. Recuperacin ( recuperars de los fallos de Hardware y Software Te ). El sistema debe volver a algn estado coherente de los datos en caso de fallos, cuando se realicen transacciones. 13. Facilidad de consulta Ad hoc ( Dispondrs de un mecanismo simple de consulta de datos ).

? No es necesario que se haga en la forma de un lenguaje de consulta sino que se proporcione el


servicio.

? Debe satisfacer los siguientes criterios:


a. Consultas de alto nivel (declarativas) donde se enfatice en el qu y no en el cmo. Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 43 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos b. La formulacin debe permitir alguna forma de optimizacin de la consulta. c. Independiente la consulta de la aplicacin para que pueda funcionar en cualquier BD. Defensores de las BDOO Plantean que no se necesita mucha complejidad porque en la descripcin del comportamiento se especifica todo lo que se desea de l. Situacin actual ? Detractores de las BDOO Una de las grandes ventajas de los SGBDR es el lenguaje de consultas y los usuarios se han acostumbrado al uso de SQL. Sera un error desechar estas ideas. Adems los SGBD de 3ra generacin deben subsimir a los de 2da generacin.

OQL (Object Query Language)


Tiene una sintaxis parecida al SQL, pero es ms rico porque provee de primitivas de alto nivel para tratar estructuras como arreglos, listas y conjuntos de forma eficiente. Su gramtica est perfectamente definida, su implementacin total es un reto.

4.2.3 Caractersticas opcionales

1. Herencia mltiple 2. Comprobacin e inferencia de tipo 3. Distribucin: objetos ubicados en diferentes procesadores. 4. Transacciones de diseo: soporte a transacciones largas y/o anidadas. 5. Versiones: Posibilidad de mantener las distintas versiones que de un objeto (como objeto no como clase)
puede haber. 4.2.4 Comparacin entre BDO y BDR BDR BDOO

La normalizacin convierte a los atributos en no Los atributos de las clases no solo son tipos de datos simples, descomponibles y en la prctica tienden a ser sino que adems pueden ser referencias a otras clases. tipo de datos simples (entero, real, cadena, fecha , etc.) Las operaciones que se pueden hacer sobre Las clases encapsulan el comportamiento de los objetos con las relaciones se restringen a la actualizacin y las estructuras de datos. Se pueden acceder a facilidades implementadas en otras clases a travs de la herencia. recuperacin de tuplas. Se necesitan muchas tablas normalizadas para representar a un objeto del mundo real por lo que para recuperar objetos complejos, hay que hacer uniones de tablas. Esto es un proceso lento. Los objetos estn almacenados como un todo coherente por lo que la recuperacin de un objeto es una operacin nica, aunque puede ser grande. Esto se hace siguiendo los identificadores.

Las propiedades de una entidad son suficientes Todos los objetos tienen un identificador nico que no tiene para identificar, es decir, uno o varias nada que ver con los atributos. propiedades nicas y constantes identifican a las tuplas de la entidad. Las propiedades de unicidad y constancia no siempre estn presentes en el mundo real por lo que a veces hay que introducir identificadores artificiales. Requieren que se fuerce la integridad Las clases son una abstraccin que adems de datos referencial. Algunos sistemas ofrecen encapsulan a operaciones que pueden ser aplicadas sobre las facilidades para especificarla, pero an en instancias de las clases. Adems es posible cambiar la Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 44 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos BDR estos casos es responsabilidad programador asegurar que todas restricciones se cumplan. BDOO del implementacin de estas operaciones sin afectar otras clases las ni las transacciones en que pueda aparecer (independencia) .

Esto significa que las reglas de integridad pueden ser El modelo relacional es incapaz de representar implementadas como mtodos. Como las aplicaciones toda su semntica (por ej., no es posible comparten clases, no solo comparten estructuras de datos representar el hecho de que una relacin es de sino tambin restricciones. 1:1 1:m). Entre las aplicaciones no se comparte el cdigo, por lo que es muy difcil asegurar la consistencia de los datos Estn implementadas para permitir aadir ms semntica. Ej.: ORION ? cambiar contenido de clases ? cambiar la jerarqua de clases ? cambiar el esquema Lenguajes de acceso no basados en Fundamentalmente basados en procedimientos y no procedimientos, es decir, son declarativos, declarativos en el modo de acceso, a travs de relaciones basados en una lgica que est sometida a la declarativas explcitamente entre objetos y de estructuras de clasificacin. Por lo que requieren menos optimizaciones y optimizacin de una consulta. para las consultas de objetos complejos pueden ser ms eficientes. Brindan pocas posibilidades para expandir o modificar la estructura de datos. Cambiar el dominio de los atributos, por ej., implica reescribir las relaciones y cambiar las aplicaciones que hacen uso de ellas. Existe un nmero fijo predefinido de eventos Cada mtodo es un evento potencial, esto provoca que sea primitivos (Insertar, Modificar, Eliminar). ms difcil su deteccin.

4.2.5 Problemas que resuelven 1. La brecha semntica. Elimina la llamada brecha semntica entre el dominio de la aplicacin y su representacin en el medio de almacenamiento persistente. Esto es posible a travs de los conceptos de la OO que permiten representar las complejas entidades del mundo real y manipularlas. 2. 3. Requerimientos para aplicaciones ingenieriles y de automatizacin. Errores de impedancia Alivia los errores de impedancia entre los lenguajes de programacin y los SGBD. En aplicaciones complejas, los datos son recuperados de la BD usando un lenguaje de consulta (Ej.: SQL) y entonces se manipularn a travs de rutinas escritas en lenguajes de programacin convencionales, que son procedurales (Ej. : C, PL/1). Los lenguajes de consulta son de alto nivel y ms declarativos. Los lenguajes de la BD y los lenguajes de programacin son fuertes en alguno de los dos. Los LMD de una BDOO tpicamente incorporan:

? estructuras de control, ? variables e instrucciones de asignacin, ? rica coleccin de tipos de datos y clases, y ? construcciones para definir mtodos, funciones, tipos abstractos de datos (clases).
Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 45 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos Algunas BD convencionales incorporan constructores de programacin a travs de los Lenguajes de 4ta Generacin (L4G). 4.2.6 Limitaciones 1. 2. 3. 4. 5. No existe un modelo de datos OO universalmente aceptado por lo que cada sistema resuelve los problemas de manera particular sin considerar criterios de compatibilidad. En la prctica es difcil implementar la identidad de los objetos. No es posible realizar optimizaciones sin comprometer los objetivos de la OO porque para optimizar hay que examinar la implementacin y se rompe el encapsulamiento. Los problemas de la herencia mltiple. Problemas con la escalabilidad, se dice que grandesvolmenes de datos no han sido probados. Ej: Sistema de Informacin Geogrfica (GIS) ? 20 clases ? 10 000 lneas ? 2 000 objetos ? 500 mtodos ? 300 Mb disco duro 6. El desempeo con gran nmero de usuarios concurrentes y frecuentes transacciones no ha sido probado . Ej: Sistema de control de procesos ? ? ? ? 120 usuarios 300 clases 3 millones de objetos 2.5 Gb

7. Los productos son dbiles en cuanto al manejo de los datos sobre todo en la concurrencia, evolucin del
esquema y la optimizacin de consultas. 4.3 - Modelo hbrido Los modelos relacional y OO tienen dos puntos comunes importantes. Por un lado resultan una mejora significativa contra el almacenamiento en ficheros y, por otro lado, ambos intentan modelar cosas reales del mundo real y las relaciones entre ellas. Su diferencia radica en que lo que vemos del mundo se capta de diferente forma en dependencia del lente que usemos. El MR y el SQL son aceptados como estndares, pero tienen problemas para trabajar con datos complejos. A las BDOO se les critica sus limitaciones en el apoyo a las capacidades de las bases de datos, en particular lo referente al lenguaje de consulta. Hay un conjunto de aplicaciones que requieren aprovechar lo bueno de ambos modelo, por lo que en los ltimos aos ha ido cobrando una mayor fortaleza la necesidad de un modelo hbrido u objeto-relacional que permita dar soporte a las exigencias de estas aplicaciones. Existen compaas, como la Petrotechnical Open Software que ya decidieron moverse haca este modelo por la necesidad de manipular videos, imgenes en 2 y 3 dimensiones, etc.; y seguir explotando las capacidades administrativas de la tecnologa relacional.

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

46 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos Expertos de compaas productoras de gestores de BD que trabajan en esta lnea plantean que las dos tecnologas son complementarias y pueden trabajar juntas en beneficio de los usuarios, y que Internet abre un campo de aplicaciones donde este modelo es factible de aplicar. 4.3.1 Definicin No existe una definicin estndar de lo que es un SGBD objetorelacioonal (SGBDOR), pero un factor importante es que apoye de manera integrada ambos modelos. La idea es tomar del modelo relacional su seguridad, integridad y fiabilidad; y del modelo OO su capacidad de almacenar datos complejos. Esta unin requiere extender SQL haca el tratamiento de objetos complejos. 4.3.2 Caractersticas Judth R. Davis? defini un conjunto de rasgos que debe cumplir un SGBDOR, no obstante ninguno de los productos existentes apoya todos estos rasgos, y cada uno lo hace a su manera. Estas caractersticas son: 1. 2. 3. 4. 5. 6. 7. 8. Permitir tipos de datos extensibles como listas, tipos de datos definidos por el usuario, series y jerarquas de objetos. Permitir funciones extensibles como funciones definidas por el usuario. Permitir mtodos de acceso definidos por el usuario que puedan mejorar la actuacin de los tipos de datos definidos por el usuario. Navegacin entre objetos a travs del identificador nico, lo que ofrece una nueva forma de definir ndices y accesar a datos denormalizados eficientemente. Habilidad para entender y manipular los volmenes de tipo de datos complejos que permitan hacer consultas como: encontrar todos los lugares con una textura determinada en un lbum fotogrfico. Integridad lgica al nivel del modelo de objeto: cuando un objeto se elimina, todos los objetos que dependen de l se eliminan. Apoyo para SQL y tablas relacionales. Funciones de manipulacin de BD robustas (seguridad, integridad a travs de la manipulacin de transacciones, facilidades para salva/restaura, capacidades de BD distribuidas, replicacin de datos, procesamiento paralelo, etc.). Acceso a datos heterogneos.

9.

10. Herramientas para visualizar y manipular datos complejos. 4.3.3 Estado del mercado Existen diferentes formas de manifestarse los sistemas hbridos: construir una solucin total, usar herramientas de desarrollo OO (front-end) con un back-end relacional, y adicionar caractersticas OO a SGBDR. Michael Stonebraker se considera el padre de la tecnologa hbrida pues empez a trabajar a finales de los 80, en la Universidad de California, con un grupo de estudiantes universitarios y un programador a tiempo completo, en el desarrollo de una BD objeto-relacional. Como resultado se obtuvo Postgres, que est basado en SQL en vez de en un lenguaje de 3ra generacin OO. La madurez de esta tecnologa la alcanz con Illustra. Illustra Information Technologies fue fundada en 1992 por Stonebraker y es la productora y comercializadora de este producto. La primera versin de Illustra aparece en Agosto de 1993, en 1995 ya contaba con 180 clientes. Es ms cercana al MR y se caracteriza por:

No siempre se almacenan datos en tablas, se pueden escribir objetos complejos, como datos multimedios, en ficheros fsicos que son manipulados por el SGBD aparte de los datos tabla.

Object-relational database managers (ORDBMD). Distributed computing monitor, Feb 1995 V10 n2 p3(27). Dra. Anaisa Hernndez Gonzlez 47 Asignatura: Base de Datos Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos

? ? ? ?

Una columna puede tener datos simples o tipos de datos declarados por el usuario a travs de sentencias de Illustra. Una tabla puede heredar columnas de otra. Con la sentencia SELECT se pueden recuperar todas las cosas, invocar mtodos y usar su retorno como columna. El front-end es C++ o C, pero se ofrecen herramientas para Visual Basic y Excel.

Desde 1996 Illustra se integr al servidor Universal Informix, lo que provoc que Oracle acelerar su paso en esta tecnologa para no quedarse atrs. Cuando todava Oracle no haba incursionado en esto, Hewlett-Packard brind Odapter que es una capa de software que opera sobre un modelo relacional (la versin 7.0 de Oracle), brindando una vista OO, aunque como Illustra est ms cercana al MR. Odapter tiene ms de 10 aos y empez como un proyecto de BDOO (Iris). Desde Oracle 8 se incluye un soporte a objetos agregando una capa sobre la BD. Se permite trabajar con datos que son videos, texto, Web y espaciales. Soporta SQL, PL/SQL y extensiones de C++. Manipula imgenes, serie de tiempo y datos definidos por el usuario. En 1992 aparece la primera versin de UniSQL desarrollado por el Dr. Won Kim que vena trabajando desde haca varios aos en el campo de las BDOO tanto en el campo prctico como en las investigaciones. UniSQL es un reflejo de estos esfuerzos pues, a diferencia de otros productos, tiene ms sabor OO por, lo menos a nivel de sintaxis. Se caracteriza por:

? ? ? ? ?

Lenguaje de consulta conocido como SQL/X que es un SQL reforzado que agrega nuevas clusulas para apoyar colecciones, herencia, mtodos, tipos de datos definidos por el usuario y otras para facilitar la manipulacin de objetos. Hay una jerarqua para los datos multimedia. Se pueden definir disparadores para clases que necesiten restricciones de integridad, pero por lo general est dentro de los mtodos. Se usa SELECT y se puede invocar mtodos excepto en la clusula HAVING. Interface con C++ y Smalltalk. Adems, hay una herramienta grfica (Visual Editor), un generador de reportes (Media Master) y una herramienta para el desarrollo rpido de prototipos de aplicaciones (Object Master).

En estos momentos compaas como IBM, Informix, Oracle, Sybase y Microsoft continan trabajando en el desarrollo de este tipo de productos. 4.4 - Conclusiones El avance de los SGBDOO tiene un largo camino por delante, sobre todo porque este nuevo paradigma trata de acercarnos ms a la realidad y esta no es fcil de modelar. En estos ltimos aos se ha avanzado algo en la fundamentacin del modelo y los productos tienen un soporte terico ms slido. Ante la situacin actual de debilidad de los SGBDOO existentes en el mercado frente a los SGBDR, se impone mezclar las tcnicas OO con las relacionales y las ltimas versiones de SGBD fuertes en el MR (como Oracle con su versin 8.0) comienzan a implementar este modelo hbrido. 5 - FUNDAMENTOS DEL MODELO DE OBJETOS Un modelo de datos es un formalismo matemtico , es una herramienta que permite realizar una interpretacin de un dominio de aplicacin con determinado nivel de abstraccin, de forma que se reflejen los elementos u objetos del dominio dado, as como las formas en que se interrelacionan .

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

48 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos Cuando los objetos del mundo real se intentan llevar a un medio de implementacin, no siempre se logra una correspondencia total con la realidad. El modelo relacional (MR) posee una fundamentacin desde el punto de vista terico que se basa en la matemtica, especficamente en los conceptos del lgebra y clculo relacional y la teora de predicados de primer orden. El MOO es un modelo que permite describir los datos, sus estructuras y las operaciones vlidas que se pueden realizar, pero apoyndose en los conceptos empricos del paradigma de la orientacin a objetos (objeto, clase, herencia, encapsulamiento, identificacin de objetos, comunicacin a travs de mensajes y polimorfismo). A diferencia del MR, los productos comerciales basados, en el MOO, han antecedido a la fundamentacin terica, aunque se est imponiendo cuando se trabaja con problemas que manejan objetos complejos. 5.1 - Algunas aproximaciones a la formalizacin del modelo de objetos Hay poca literatura dedicada a la formalizacin del MO, aunque se reconoce la necesidad de formalizar las tcnicas de modelacin. Desafortunadamente los fundamentos tericos del MO comenzaron despus que se desarrollaron los sistemas de gestin bases de datos de objetos (SGBDO). Es por eso que en ocasiones se encuentra definiciones diferentes de un mismo concepto, entre diferentes modelos formales. La mayora de los formalismos de este modelo estn asociados al desarrollo de un lenguaje de especificacin. 5.1.1 - Grupo IS-CORE Los trabajos del grupo IS-CORE (Information Systems- COrrectness and Reusability) del ISTL (Instituto Superior Tcnico de Lisboa) formalizan a un objeto como una 4-tupla (Conjunto de atributos, Conjunto de eventos, Conjunto de ciclos de vida o secuencias admisibles de eventos, Funcin de observacin). El problema principal de esta propuesta, es que trata de separar la modelizacin de la parte estructural (datos) de los objetos, de la modelacin de la parte dinmica (procesos). Asocian a los objetos las frmulas: ? Valuation (indica los efectos de los eventos sobre los atributos). ? Safety (condiciones a cumplir para que se permita el evento). ? Liveness (condiciones bajo las cuales un evento es obligado que ocurra). Define adems los operadores de agregacin y herencia. Esta propuesta ha evolucionado, y en la actualidad cuentan con un lenguaje de especificacin (Oblog), que permite la generacin de cdigo y se usa la notacin de UML (Unified Modeling Language), con algunas extensiones menores para aumentar la precisin. Otra formalizacin del MO desarroll un lenguaje de especificacin semi-formal conocido como Troll. Posteriormente se realizaron trabajos que unieron la metodologa OMT (Object Modeling Technology una de las ms usada durante gran parte de la dcada de los con Troll. 90) Los fundamentos de Oblog y Troll estn en la teora de las categoras. 5.1.2 - Trabajos de Dr. Roef Johannes Wieringa La tesis para optar por el grado de Doctor de Roef Johannes Wieringa, ofrece una formalizacin del MOO bastante completa en la definicin de conceptos estticos y dinmicos. El autor reconoce como un problema de su modelo que tiene muchos detalles que lo hacen muy grande, con ms elementos que los que se usan. Pero tambin es cierto que se hacen menos simplificaciones que en otros trabajos porque es ms formal. Trabajos posteriores profundizaron en el concepto de herencia. 5.1.3 - Trabajos de Y. Wand Los trabajos desarrollados por Y. Wand, a finales de los brindan una aproximacin ontolgica del 80, modelo. La idea es que el MOO permite tener una visin natural del mundo, siendo los objetos la Dra. Anaisa Hernndez Gonzlez 49 Asignatura: Base de Datos Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos estructura bsica de la modelacin, por lo tanto, el trmino ontolgico se refiere al estudio de los objetos tal como son. 5.1.4 - Trabajos de la UPV Los trabajos de la Universidad Politcnica de Valencia (UPV), comenzaron tomando como base la propuesta del grupo IS-CORE. En sus primeras versiones eran aproximaciones algebraicas que hacan poco hincapi en la parte dinmica, pero en la actualidad es una de las propuestas ms completas. El modelo O3 (orientado a objetos y ontolgico) se basa en la propuesta de Y. Wand, que hace una distincin explcita entre objetos y propiedades y trata la dinmica de un sistema de objetos a travs del concepto de Ley (conjunto de estados permitidos o prohibidos, que son propiedad de los objetos). Este modelo: ? aade a la parte esttica el concepto de restricciones estticas, que son leyes que fijan las combinaciones de valores de atributos aceptados como vlidas para cualquier estado, ? define restricciones de integridad dinmica, que son leyes que establecen las relaciones entre los valores de los atributos en diferentes estados, ? incluye precondiciones como leyes que rigen la potencial ejecucin de eventos, ? y define el disparo como un mecanismo adicional de interaccin entre objetos, que se implementan como leyes objetuales asociadas a objetos que pueden actuar como agentes, activando el evento correspondiente cuando la condicin expresada en la ley se satisfaga. Esta formalizacin del MO se ha basado en la programacin lgica concurrente, en especificaciones algebraicas, en la lgica clausal dinmica, en las redes de Petri, y en la Transaction Frame Logic, que implcitamente est presente en la ltima versin de su modelo formal. Los conceptos definidos dentro de O son la base una propuesta de metodologa para el anlisis y diseo orientado a objetos desarrollada en la UPV (OO-Method). 5.1.5 - Otros trabajos de formalizacin Basado en grafos, Tuijn y Gyssens en 1996 describen un modelo de datos orientado a objetos (OO), pero relacionado solo con los datos, sus propiedades y sus relaciones con otras entidades, muy cercano al MR. Frederiks, Hofstede y lippe en 1997, describen un modelo que trata de unificar las tendencias de varios modelos existentes. Este modelo se basa en la teora de las categoras y los tipos de objetos son nodos de un grafo. Solo define conceptos asociados con la estructura. Abibetoul describe un modelo de base de datos orientado a objetos genrico en el que formalmente estn definidos los conceptos de objeto, jerarqua de clase, clase, mtodo y esquema e instancias; pero faltan conceptos de operadores que permiten ampliar el concepto de clase y otros relativos al comportamiento dinmico. Kovcs y Van Bonmel en 1998 describen la transformacin del modelo conceptual a una especificacin abstracta basada en la Frame Logic (F-Logic). La F-Logic tiene en cuenta los conceptos orientados a objetos y deductivos, pero al modelo le faltan operadores para construir objetos complejos y frmulas dinmicas. Esto se debe a que se parte de una definicin del modelo conceptual en la que se incluye estructura (tipos de objetos, atributos, rol de estos atributos en su relacin con los objetos y relaciones de generalizacin/especializacin) y restricciones de integridad (relacionadas con la cardinalidad de las relaciones y el dominio). Todas estas formalizaciones hacen hincapi en la estructura de los objetos.
3

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

50 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos 5.2 - Modelo O


3 3

Las definiciones del modelo O se basan en un marco formal definido sobre una variable de la lgica dinmica que permite representar los operadores de obligacin, prohibicin y permiso usados en la lgica dentica. Los principales conceptos son: ? Clase ? Agregacin ? Especializacin/Generalizacin ? Frmulas dinmicas La semntica de una clase se define en trminos de una estructura de Kripke (W, ?,? ), donde W es el conjunto de todos los mundos que un objeto puede alcanzar (los mundos son estructuras sobre las que se interpretan las frmulas dinmicas), la funcin ? asigna a una frmula en la lgica de estado (la lgica de predicados de primer orden) el conjunto de mundos en los cuales se satisface, y la funcin ? asigna a cada paso una relacin binaria entre mundos. Cada objeto de una clase va a encapsular su estado y las reglas que rigen su comportamiento, por lo que puede ser visto estticamente a travs de sus atributos y, desde el punto de vista dinmico, a travs de las frmulas de: evaluacin, derivacin, precondiciones, restricciones de integridad y disparadores (las dos primeras cambian los valores de los atributos y el resto son reglas a cumplirse por los objetos). 5.2.1 - Clase Una clase C se define formalmente como: C={E,new,destroy,r,A,T,? } donde: , AEConjunto de atributos que toman valor en el dominio a ellos asociado. Conjunto de eventos que condicionan el estado del objeto, distinguindose los eventos new y destroy, que representan los eventos de creacin y destruccin del objeto. Para cada evento se identifica una funcin rango (r), que caracteriza el dominio de sus argumentos. Conjunto de trazas o ciclos de vida que, comenzando por el evento de creacin, definen la secuencia de eventos que conforman la vida del objeto. Funcin de observacin que permite expresar el valor de los atributos que conforman la estructura de un objeto en un instante dado, en funcin del comportamiento. Relaciona trazas con atributos, obtenindose pares (atributo, valor) como una funcin de la secuencia de eventos que le han sucedido.

T?-

5.2.2 - Agregacin La agregacin es por lo general la forma de representar que un objeto tiene como componentes a otros objetos. Desde el punto de vista formal se puede expresar como: Dadas dos clases C1, C2; con C1={E1,new1,destroy1,r1,A1,T1,? 1} y C2={E2,new2,destroy2,r2,A2,T2,? 2}, se define su agregacin como una clase C={E,new,destroy,r,A,T,? }.Donde: ErAConjunto de eventos compartidos entre ambas clases y que son propios de la clase compleja agregada, ms nuevos eventos definidos para la agregacin. Al definirse sobre E, se toman en cuenta las r1 y r2 de C1 y C2 relacionadas con los eventos compartidos.

Conjunto de atributos formado por los atributos propios de la agregacin y los atributos constantes que identifican a las clases C1y C2. Dra. Anaisa Hernndez Gonzlez 51 Asignatura: Base de Datos Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos ?TLa funcin de observacin no guarda relacin con la de las clases componentes, es una propiedad emergente de la clase agregada. Conjunto de trazas que estn relacionadas con los eventos de la clase agregada.

Las formas en que se puede dar esta agregacin estn relacionadas con la dimensin Esttica/Dinmica 5.2.3 - Especializacin/generalizacin Estos operadores permiten definir el concepto de herencia, que es una de las caractersticas ms importantes del paradigma de la orientacin a objetos. Formalmente: Dadas dos clases C1, C2; con C1={E1,new1,destroy1,r1,A1,T1,? 1} y C2={E2,new2,destroy2,r2,A2,T2,? 2}, se define su generalizacin como la clase C={E,new,destroy,r,A,T,? } En la clase C se definen los elementos de interseccin de los atributos, . eventos, trazas, rangos y funcin de observacin de las clases que se generalizan. Dada una clase C1, con C1={E1,new1,destroy1,r1,A1,T1,? 1} se define la especializacin de C1 como la clase C, C={E,new,destroy,r,A,T,? } En la clase C1 se definen todos los elementos de C y otros . propios de ella. 5.2.4 - Frmulas dinmicas A cada clase se le pueden asociar frmulas de la lgica dinmica [118]: ? Evaluaciones: Caracteriza explcitamente parte del estado de un objeto antes y despus de la ocurrencia de una determinada accin. ? ? [a]? Produce cambios de estado. atributos derivados (? ) en ? Derivaciones: Son frmulas de la forma ? ? ? que permiten definir trminos de una condicin de derivacin declarada en ? .

[a] (? ? ? Expresa cmo se obtiene el valor de un atributo derivado. Se debe satisfacer en cada estado ) del objeto. No produce cambio de estado. ? Precondiciones: Prohibiciones para la ocurrencia de acciones. ?? ? [a]false Si ?? se satisface, entonces la ocurrencia de a est prohibida, es decir, ? es una frmula que tiene que ser vlida para que pueda ejecutarse la accin. ? Disparo: Se disparan automticamente, no como consecuencia directa de acciones de los usuarios. ? [?? ]false La accin se activa cuando la condicin que plantea la frmula ? se satisface. ? Restricciones de integridad: Son frmulas que deben ser satisfechas por lo que se evalan en el modelo cuando se produce un evento que provoca un cambio de estado. Se clasifican en estticas y dinmicas. Las estticas siempre son aplicables, en cambio las dinmicas dependen del estado actual. Donde ? , ? y ? son frmulas bien formadas de la lgica de predicado de primer orden y a? A, A es el conjunto de acciones. 5.3 - Vista esttica y dinmica El anlisis de cualquier problema requiere de un estudio global en el que se identifique no solo la informacin a manipular, sino tambin restricciones sobre esa informacin, relaciones que se establecen y procedimientos a ejecutarse que actan sobre ella. En el MOO cuando se habla de vista o perspectiva esttica se refiere a los conceptos de clase, atributo, relaciones, restricciones de integridad esttica, herencia y agregacin; por lo que es ms rica que el MR. Como vista o perspectiva dinmica se incluyen las definiciones de mensaje, evento, estado, transicin, peticin o envo de mensaje y restricciones de integridad. Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 52 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos Los objetos vistos desde una perspectiva esttica muestran el conjunto de propiedades (atributos) que describen estructuralmente al objeto, de manera que los valores asociados a cada propiedad del objeto caracterizan el estado en un instante. Las restricciones estticas buscan hacer imposible la insercin inapropiada de elementos. Por ejemplo, para el caso de que sea un atributo de tipo numrico se puede asociar una regla de negocio de acuerdo su significado (el presupuesto de una empresa no puede ser mayor que la suma del presupuesto de las reas y slo puede tomar valores en el intervalo [0,1000000]). Es decir, estas restricciones estn fuertemente relacionadas con el dominio de los atributos de los objetos. Cooling plantea que los objetos en la modelacin dinmica responden a cuatro preguntas: qu interacciones tienen lugar entre los objetos?, por qu ocurren?, cundo ocurren? y qu efectos generan en los objetos?. El trmino restricciones dinmicas se refiere a la exigencia de la unicidad en el valor que toma(n) el (los) atributo(s) que se defina(n) como llave, en el caso de existir este concepto, o a las implicaciones que puede tener la insercin o eliminacin de un elemento cuando hay jerarqua de clases o se trabaja con objetos complejos. Las restricciones dinmicas tambin se refieren a las condiciones que deben cumplirse para disparar una operacin o que deben asegurarse antes o despus de una operacin para que ocurra correctamente (precondiciones y postcondiciones). 5.4 - ODMG El grupo ODMG (Object Database Management Group) surgi en 1991 con el objetivo de dotar a los clientes de los SGBDO de un conjunto de normas que les permitieran escribir aplicaciones portables, lo que ha dado un impulso en su desarrollo. Este grupo considera que el xito de los Sistemas de Gestin de Base de Datos Relacionales (SGBDR) no solo est en las potencialidades del modelo relacional (MR), sino adems en poseer un lenguaje de consulta estndar que permite un alto grado de portabilidad y simplifica el aprendizaje de un nuevo SGBDR. En 1993 se divulg ODMG-93 como el estndar industrial para el almacenamiento persistente de objetos. En 1997 aparece la versin 2.0 de ODMG que es usada como referencia por algunos gestores, por ejemplo Objectivity/DB 5.2 , uno de los gestores de objetos de la llamada 3ra generacin de SGBDO. ODMG 2.0 est compuesto por: ? un modelo de objetos ? un lenguaje de definicin de objetos (Object Definition Language - ODL) ? un lenguaje de consulta (Object Query Language - OQL) ? un lenguaje de manipulacin de objetos (Object Manipulation Language OML) para los lenguajes Java, Smalltalk y C++. En enero del 2000 se public la versin 3.0. Esta nueva versin hace hincapi en el diseo, desarrollo e implementacin en una base de datos de objetos (BDO) y en productos donde se convierten los objetos al MR. Sobre est ltimo aspecto es importante definir estndares porque ya los SGBDO comienzan a incluir conversiones de clases a tablas, por ejemplo, Poet. ODMG 3.0 posee un lenguaje que genera un esquema que puede ser trasladado al lenguaje de definicin de datos de SQL:1999. 5.5 - Conclusiones En estos ltimos aos se ha avanzado algo en la fundamentacin del modelo y los SGBDO tienen un soporte terico ms slido. El modelo O3 tiene una fundamentacin en la lgica que permite describir con mayor precisin los aspectos estticos y dinmicos de los objetos a travs de un conjunto mnimo de conceptos (clase, operadores que permiten extender el concepto de clases y frmulas dinmicas). Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 53 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos 6- MODELO DEDUCTIVO Trminos como Sistemas de Gestin de Base de Datos Deductiva (SGBDD), Sistemas de Gestin de Base de Datos Inferencial, Sistemas de Gestin de Base de Datos de Experto, Sistemas de Gestin de Base Conocimiento, entre otros, desde hace ms de 20 aos se han utilizado para referirse a los gestores de base de datos que se fundamentan en un modelo de datos basado en la lgica que se propone incorporar reglas deductivas que permitan inferir informacin, a partir de la informacin almacenada, para incorporarla a la base datos. Los primeros trabajos en el campo de las bases de datos deductivas fueron presentados en el 1er Workshop on Logic and Databases, en Toulouse en 1977. En Kyoto, Japn en 1988 se efectu el 1er Congreso de Bases de Datos Deductivas y Orientadas a Objetos. Ese ao se publica el trabajo Perspectivas in Deductive Database (Journal of Logic Progranming. No. 5 pginas 33-60, por J. Minker, que describe de forma detallada los desarrollos en este campo. 6.1 Sistemas de Gestin de Base de datos deductivos Un SGBDD es aquel que soporta la perspectiva de una base de datos por la teora de la demostracin y es capaz de deducir o inferir hechos adicionales a partir de los hechos dados en la base de datos extensional (aplicando axiomas deductivos o reglas de inferencia). Las bases de datos deductivas (BDD) extienden la capacidad de las bases de datos relacionales, incorporando reglas que permiten derivar informacin a partir de la informacin almacenada explcitamente. Los axiomas deductivos, junto con las restricciones de integridad se conocen como base de datos intencional y a los hechos (datos) almacenados en la base de datos se le llama base de datos extensional. Esta definicin sugiere que una BDD es una extensin de una Base de Datos Relacional (BDD), lo cual pudo haber sido inicialmente su idea, pero en la actualidad el modelo deductivo se reconoce como un modelo de la 3ra generacin por tener en cuenta los principios de los modelos de esta generacin (Figura 6.1).

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

54 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos

Base de datos Relacional

Conocimiento explcito

+
Reglas deductivas Conocimiento implcito
Figura 6.1 Definicin de BDD Un SGBDD puede ser visto como un Sistema de Gestin de Base Datos Relacional SGBDDR ms un Sistema de Inferencia que adiciona informacin (hechos) a la base de datos (Figura 6.2).

Sistema de Gestin de Base de Relacional

+
Hechos Sistema de Inferencia Reglas Informacin derivada

Figura 6.2 Definicin de SGBDD Para entender las definiciones anteriores veamos el siguiente ejemplo. Supongamos que tenemos la tabla Padre y las siguientes reglas deductivas: Padre Juan Luis Luis Pedro Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos Hijo Luis Mara Pedro Jos 55 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos

Reglas deductivas: - Antecesor (X.Y) - Antecesor (X.Y)

Padre (X.Y) Padre (X.Z)^Antecesor (Z.Y)

Sin necesidad que insertar explcitamente informacin a la base de datos, la tabla antecesor incorpora los siguientes hechos: Antecesor Juan Juan Juan Juan Luis Luis Luis Pedro Descendiente Luis Mara Pedro Jos Mara Pedro Jos Jos

6.2 Formalizacin lgica de una Base de Datos Deductiva El marco formal de una Base de Datos Deductiva es la lgica de 1er orden. Un esquema de base de datos deductivos es un par (L,RI) donde: ? L es un lenguaje de primer orden ? RI es un conjunto de restricciones de integridad, frmulas cerradas de L.

Una base de datos deductiva es un conjunto de hechos (tuplas de las relaciones bsicas) y un conjunto de reglas deductivas que definen las relaciones derivadas (sentencias de base de datos). Formalmente podra definirse como: D = {A: A es un tomo} (hechos) {A ? W: A es un tomo y W es una frmula bien formada} (reglas) donde: ? Todas las variables libres en A? W se consideran cuantificadas universalmente. ? La sentencia sin cuerpo A? representa la frmula

A (representa un hecho).

? La sentencia sin cabeza ? W representa la frmula (W) (representa una regla deductiva). De acuerdo a esta definicin se puede decir que una Base de Datos Deductiva es lo mismo que un programa lgico porque estn formadas por hechos y reglas, pero un programa lgico tiene cantidades similares de ambas, en cambio, una Base de datos Deductiva tiene muchas hechos y pocas reglas. Supongamos el siguiente ejemplo: Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 56 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos Pieza CdigoPieza Pieza1 Pieza2 Pieza3 Descripcin Tornillo Tuerca Arandela Peso 10 11 8

Componente Pieza Todo Pieza1 Pieza3 Pieza Parte Pieza 3 Pieza 8

A partir de la definicin vista de Base de Datos Deductiva, tendramos los siguientes hechos: o o o o o Pieza (Pieza1,Tornillo, 10) Pieza (Pieza2,Tuerca,11) Pieza (Pieza3,Arandela,8) Componente (Pieza1,Pieza3) Componente (Pieza3,Pieza8)

A la base de datos se podra incorporar la regla deductiva: Todos componentes (x,y) ? componente (x,z) ^ componentes (z,y). Todos componentes (x,y) ? componente (x,y); ; a partir de aqu se deriva (de acuerdo a los hechos) que la Pieza 1 est compuesta por la pieza 3 (ya era un hecho) y por la Pieza 8 (nuevo) y que la pieza 3 est compuesta por la pieza 8 (ya era un hecho). Por lo tanto, queda claro que con esta definicin de Base de Datos Deductiva no se puede deducir informacin negativa ya que por lgica no se puede presuponer que la informacin no explcita en la base de datos es falsa. En las Bases de Datos Deductivas se incorpora una semntica declarativa que permite definir la informacin tanto positiva como negativa implcita en la base de datos. 6.3 Problemas en la construccin de SGBDD La incorporacin de la capacidad deductiva introduce nuevos problemas en la construccin de sistemas de gestin de base de datos: a) El sistema debe proporcionar un lenguaje de definicin de reglas. b) Debe definirse cul es la informacin derivablea travs de las reglas deductivas. c) Debe elegirse una representacin para el almacenamiento de las reglas deductivas. d) El mecanismo de evaluacin de consulta se enfrenta a dos problemas: 1. Debe ser capaz de manipular relaciones recursivas e informacin incompleta. 2. Posiblemente se requieran algoritmos ms eficientes cuando el nmero de reglas y hechos es elevado. Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos 57 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos

6.4 Lenguaje de especificacin de reglas deductivas Para darle solucin muchos de los problemas planteados anteriormente, se hace necesario la existencia de un lenguaje que permita formular las reglas deductivas (axiomas deductivos para Date). Si ser el lenguaje ms potente, ha sido Datalog, por su poder descriptivo, el lenguaje por excelencia utilizado para ejemplificar. Un programa de datalog es un conjunto de frmulas bien construidas (frmulas bien formadas). Datalog soporta la formulacin de reglas como las clusulas de Horn simples sin funciones. Un programa Datalog es un conjunto de estas clusulas separadas de alguna forma convencional, por lo tanto, una base de datos deductiva puede ser considerada como un programa Datalog. No obstante, la parte extensional de la base de datos no se especifica de esta forma, el lenguaje de especificacin se utiliza para formular las reglas deductivas. Datalog puede ser usado como lenguaje de consulta. ? Notacin lgica de una clusula en Datalog: B? A1 AND A2 AND . AND An donde: B: es la cabeza de la regla (conclusin) As: cuerpo de la regla (premisa o meta; cada A individuales es una submeta). AND: separador de las submetas, puede ser usada la coma. ? Notacin de una consulta en Datalog: ? ?B donde: ?: es la cabeza de la regla, significa Desplegar B: cuerpo de la regla que consiste de un solo trmino que indica el resultado de la consulta. En la evaluacin de consultas se aplican las ya conocidas estrategias Bottom-up (forward chaining) y top-dow (backward chaining) (Figura 6.3)
1 Bottom-up

Generacin de la informacin derivada aplicando las reglas deductivas al conjunto de hechos


Evaluacin de la consulta

1
Top-down

Generacin de consultas derivadas aplicando las reglas deductivas a la consulta original

Evaluacin de subconsultas sobre relaciones bsicas en la base datos explcita y propagacin de respuestas a la consulta original

Figura 6.3 Estrategias para la evaluacin de consultas Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

58 Diplomado en Informtica Aplicado

Tema 1 Fundamentos de las Bases de Datos

6.5 Facilidad para el procesamiento de consultas recursivas Una de las nuevas capacidades que soportan las bases de datos deductivas con respecto a las relacionales es la posibilidad de realizar consultas recursivas. Date presenta una generalizacin de la definicin de regla cursivaque permite manejar casos simples y complejos, expresando que: Una regla recursiva se puede expresar de la forma: P(x,y) ? Q(x,y) AND R(z,x) Q(x,y) ? P(x,y) AND S(z,y) El ejemplo clsico de Componente-Partes quedara definido recursivamente como: Componente(px,py) ? Parte(px,py) Componente(px,py) ? Parte(px,py) AND Componente(pz,py) y una consulta recursiva tpica a la base de datos sera: ? ? Componente(P1, py) Al igual que en los algoritmos de procesamiento de consultas aplicables a los modelos relacional y de objetos, el procesamiento de consultas recursivas se enfrenta a dos problemas: ? la transformacin de la consulta original en una forma ms eficiente (gestin de almacenamiento secundario-optimizacin de consultas) ? la ejecucin real del resultado de la transformacin. Las tcnicas usadas para resolver este problema han sido estudiadas en otros cursos de lgico, slo haremos referencia a sus nombres para conectarlos con conceptos que ya conocen. Las tcnicas posibles son: ? Unificacin y Resolucin (tcnica estndar de Prolog) ? Evaluacin ingenua ? Evaluacin semiingenua ? Filtrado esttico 6.6 Conclusiones El modelo deductivo tiene fuertes fundamentos tericos basados en la lgica de predicado por lo que ofrece una base consistente, aunque la obtencin de productos comerciales no ha tenido histricamente un desarrollo adecuado por la complejidad que resulta para algunos entender y comprender esta Fundamentacin lgica. No obstante, se sigue intentando por otras vas de incorporar la posibilidad de obtener nuevo conocimiento a travs de la incorporacin de mecanismos de inferencias. Aunque el modelo deductivo puede ser visto como una extensin al modelo relacional, agrega nuevas cualidades que le dan sentido propio.

Dra. Anaisa Hernndez Gonzlez Asignatura: Base de Datos

59 Diplomado en Informtica Aplicado

Você também pode gostar