República Bolivariana de Venezuela IUTEPAL Pto.

Cabello

Integrante(s): Jesús Martinez. C.I: 21.199.044 Jair Marín C.I: 19.723.298 Seccion: Seccion 1451 Profesor(a): Yelmin Perez

BASE DE DATOS Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar fácilmente. Definiéndose como un conjunto de información relacionada, que se encuentra agrupada ó estructurada. En un sistema computarizado cuya finalidad general es, almacenar información y permitir a los usuarios recuperar y actualizar esa información con base en peticiones. Esta información puede ser cualquier cosa que sea de importancia para el individuo o la organización; es decir, todo lo que sea necesario para auxiliarle en el proceso general de su administración. En otras palabras, una base de datos es un conjunto estructurado de datos que representa entidades y sus interrelaciones. La representación será única e integrada, a pesar de que debe permitir utilizaciones varias y simultáneas.

SISTEMAS ADMINISTRADORE DE BASE DE DATOS Es una herramienta que nos permite ingresar, recuperar y manejar la información contenida en la base de datos. Entendemos por manejar, la posibilidad de ejecutar las siguientes operaciones, entre muchas otras: Añadir nueva información a medida que ésta va ingresando. Obtener la información ordenada según determinados parámetros (por orden alfabético, según el nombre del autor, según la temática de cada libro, etc.). Calcular cómputos referidos a la base (cantidad total de publicaciones, promedios periódicos de ventas, promedios según las diversas categorías, etc.). Imprimir la información deseada, ya sea en forma de tablas o de gráficos de diversos tipos.

EVOLUCION . Las aplicaciones informáticas de los años sesenta acostumbraban a darse totalmente por lotes (batch) y estaban pensadas para una tarea muy específica relacionada con muy pocas entidades Cada aplicación utilizaba ficheros de movimientos para actualizar (creando una copia nueva) y/o para consultar uno o dos ficheros maestros o,

excepcionalmente, más de dos. Cada programa trataba como máximo un fichero maestro, que solía estar sobre cinta magnética y, en consecuencia, se trabajaba con acceso secuencial. Cada vez que se le quería añadir una aplicación que requería el uso de algunos de los datos que ya existían y de otros nuevos, se diseñaba un fichero nuevo con todos los datos necesarios para evitar que los programas tuviesen que leer muchos ficheros. Luego se fueron introduciendo las líneas de comunicación, los terminales y los discos, escribiendo programas que permitían a varios usuarios consultar los mismos ficheros on-line y de forma simultánea. Más adelante fue surgiendo la necesidad de hacer las actualizaciones también on-line. A medida que se integraban las aplicaciones, se tuvieron que interrelacionar sus ficheros y fue necesario eliminar la redundancia. El nuevo conjunto de ficheros se debía diseñar de modo que estuviesen interrelacionados; al mismo tiempo, las informaciones redundantes (como por ejemplo, el nombre y la dirección de los clientes o el nombre y el precio de los productos), que figuraban en los ficheros de más de una de las aplicaciones, debían estar ahora en un solo lugar. El acceso on-line y la utilización eficiente de las interrelaciones exigían estructuras físicas que diesen un acceso rápido, como por ejemplo los índices, las multilistas, etc. Estos conjuntos de ficheros, con estructuras complejas y compartidos por varios procesos de forma simultánea, recibieron al principio el nombre de Data Banks, y después, a inicios de los años setenta, el de Data Bases.

Aquí los denominamos bases de datos (BD). El software de gestión de ficheros era demasiado elemental para dar satisfacción a todas estas necesidades. Por ejemplo, el tratamiento de las interrelaciones no estaba previsto, no era posible que varios usuarios actualizaran datos simultáneamente, etc. La utilización de estos conjuntos de ficheros por parte de los programas de aplicación era excesivamente compleja, de modo que, especialmente durante la segunda mitad de los años setenta, fue saliendo al mercado software más sofisticado: los Data Base Management Systems, que aquí denominamos sistemas de gestión de BD (SGBD).

ESQUEMA DE UN SISTEMA DE ADMINISTRACION DE BASE DE DATOS

LENGUAJES DEL DBMS En la estructura básica de un Sistema Manejador de Base de Datos se enuncian dos lenguajes que permiten trabajar sobre la base de datos. Estos lenguajes estándar son: DDL (Data Definition language): Lenguaje de Definición de Datos. Por medio de este el DBMS identifica las descripciones de los elementos de los esquemas y almacena la descripción del esquema en el catálogo del DBMS. Por medio de este el DBMS especifica el esquema conceptual e interno (Base de datos Almacenada). SDL (Store Definition language): Lenguaje de definición de almacenamiento. Es utilizado por el DBMS para especificar el esquema interno que corresponde a la Base de Datos Almacenada. VDL (View Definition language): Lenguaje de Definición de Vistas. Es utilizado por el DBMS para especificar las vistas del usuario y sus correspondencias con el esquema conceptual. En las Bases de Datos Relacionales, el SQL, representa una combinación de los anteriores. DML (Data Manipulation language): Lenguaje de Manipulación de Datos. Permite la manipulación de las operaciones de Inserción, Eliminación y Modificación. Tipos de DML's: De alto Nivel o No por procedimientos: SQL. De bajo Nivel o por procedimientos. USUARIOS DE UN SISTEMA MANEJADOR DE BASE DE DATOS Personal del DBA: Recuperabilidad: Crear y probar Respaldos Integridad: Verificar o ayudar a la verificación en la integridad de datos

Seguridad: Definir o implementar controles de acceso a los datos Disponibilidad: Asegurarse del mayor tiempo de encendido Desempeño: Asegurarse del máximo desempeño incluso con las limitaciones Desarrollo y soporte a pruebas: Ayudar a los programadores e ingenieros a utilizar eficientemente la base de datos.

Usuarios Esporádicos:

Programadores de Aplicaciones

TRANSACCIONES Una transacción es una interacción con una estructura de datos compleja, compuesta por varios procesos que se han de aplicar uno después del otro. La transacción debe ser equivalente a una interacción atómica. Es decir, que se realice de una sola vez y que la estructura a medio manipular no sea jamás alcanzable por el resto del sistema hasta que haya finalizado todos sus procesos. MODELO RELACIONAL El modelo relacional para la gestión de una base de datos es un modelo de datos basado en la lógica de predicados y en la teoría de conjuntos. Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos.

Su idea fundamental es el uso de (relaciones). Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados (tuplas). Pese a que ésta es la teoría de las bases de datos relacionales creadas por Edgar Frank Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar, esto es, pensando en cada relación como si fuese una tabla que está compuesta por registros. MODELO DE RED El modelo de red es un Modelo de base de datos concebido como un modo flexible de representar objetos y su relación La estructura de datos del modelo jerárquico es como un árbol de registros, con cada registro que tiene un registro paternal y muchos hijos, el modelo de red permite a cada registro para tener múltiples registros paternales y de Hijos, formando una estructura de enrejado. MODELO JERARQUICO El modelo jerárquico de bases de datos fue el pionero en los sistemas de bases de datos, allá por comienzos de los años 60. En realidad no hay un modelo teórico detrás sino que surgió a raíz de los trabajos de IBM y de la NAA (North American Aviation) que dieron lugar al IMS (Information Management System) que podemos considerar el primer sistema de base de datos jerárquico. En el modelo jerárquico sólo se pueden modelar relaciones 1: N, aunque esto se podía arreglar mediante el uso de los llamados "vínculos virtuales" que posibilitan las relaciones N:M. Para conocer mejor este modelo conviene revisar el sistema IMS y su lenguaje DL/1. Al igual que con el modelo de red, el principal problema de los sistemas de bases de datos jerárquicos es el de la poca independencia de los programas respecto a cómo están almacenados los datos, lo que dificulta además la programación de software de acceso a estos sistemas.

MODELOS DE DATOS: Modelos basados en objetos: los dos más extendidos son el modelo entidadrelación y el orientado a objetos. El modelo entidad-relación (E-R) se basa en una percepción del mundo compuesta por objetos, llamados entidades, y relaciones entre ellos. Las entidades se diferencian unas de otras a través de atributos. El orientado a objetos también se basa en objetos, los cuales contienen valores y métodos, entendidos como órdenes que actúan sobre los valores, en niveles de anidamiento. Los objetos se agrupan en clases, relacionándose mediante el envío de mensajes. Algunos autores definen estos modelos como "modelos semánticos". Modelos basados en registros: el más extendido es el relacional, mientras que los otros dos existentes, jerárquico y de red, se encuentran en retroceso. Estos modelos se usan para especificar la estructura lógica global de la base de datos, estructurada en registros de formato fijo de varios tipos. El modelo relacional representa los datos y sus relaciones mediante tablas bidimensionales, que contienen datos tomados de los dominios correspondientes. El modelo de red está formado por colecciones de registros, relacionados mediante punteros o ligas en grafos arbitrarios. ALGEBRA RELACIONAL El álgebra relacional es un conjunto de operaciones que describen paso a paso como computar una respuesta sobre las relaciones, tal y como éstas son definidas en el modelo relacional. Denominada de tipo procedimental, a diferencia del Cálculo relacional que es de tipo declarativo. Describe el aspecto de la manipulación de datos. Estas operaciones se usan como una representación intermedia de una consulta a una base de datos y, debido a sus propiedades algebraicas, sirven para obtener una versión más optimizada y eficiente de dicha consulta.

ARCHIVO Un archivo o fichero informático es un conjunto de bits almacenado en un dispositivo periférico. Un archivo es identificado por un nombre y la descripción de la carpeta o directorio que lo contiene. Los archivos informáticos se llaman así porque son los equivalentes digitales de los archivos en tarjetas, papel o microfichas del entorno de oficina tradicional. Los archivos informáticos facilitan una manera de organizar los recursos usados para almacenar permanentemente datos en un sistema informático. CLASIFICACION DE ARCHIVOS Permanentes o Maestros: Estos contienen información que varia poco. En algunos casos es preciso actualizarlos periódicamente. De Movimientos Se cercan para actualizar los archivos maestros. Sus registros son de tres tipos: alta, bajas y modificaciones. De Maniobra o Trabajo. Tienen una vida limitada, normalmente menor que la duración de la ejecución de un programa. Se utilizan como auxiliares de los anteriores BASE DE DATOS RELACIONALES. Una base de datos relacional es una base de datos en donde todos los datos visibles al usuario están organizados estrictamente como tablas de valores, y en donde todas las operaciones de la base de datos operan sobre estas tablas. Estas bases de datos son percibidas por los usuarios como una colección de relaciones normalizadas de diversos grados que varían con el tiempo.

El modelo relacional representa un sistema de bases de datos en un nivel de abstracción un tanto alejado de los detalles de la máquina subyacente, de la misma manera como, por ejemplo, un lenguaje del tipo de PL/1 representa un sistema de programación con un nivel de abstracción un tanto alejado de los detalles de la máquina subyacente. De hecho, el modelo relacional puede considerarse como un lenguaje de programación más bien abstracto, orientado de manera específica hacia las aplicaciones de bases de datos. Es esta base de datos se cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya planificadas. Permiten establecer interconexiones (relaciones) entre los datos (que están guardados en tablas), y a través de dichas conexiones relacionar los datos de ambas tablas, de ahí proviene su nombre: "Modelo Relacional". Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos. DISEÑO DE LAS BASES DE DATOS RELACIONALES Lo principal es planificar el tipo de información que se quiere almacenar.La planificación de la estructura de la base de datos, en particular de las tablas, es vital para la gestión efectiva de la misma. El diseño de la estructura de una tabla consiste en una descripción de cada uno de los campos que componen el registro y los valores o datos que contendrá cada uno de esos campos. Los campos son los distintos tipos de datos que componen la tabla, por ejemplo: nombre, apellido, domicilio. La definición de un campo requiere: el nombre del campo, el tipo de campo, el ancho del campo, etc. Los registros constituyen la información que va contenida en los campos de la tabla, por ejemplo: el nombre del paciente, el apellido del paciente y la dirección de este. Generalmente los diferente tipos de campos que su pueden almacenar son los siguientes: Texto (caracteres), Numérico (números), Fecha / Hora, Lógico (informaciones lógicas si/no, verdadero/falso, etc.), imágenes.

En resumen, el principal aspecto a tener en cuenta durante el diseño de una tabla es determinar claramente los campos necesarios, definirlos en forma adecuada con un nombre especificando su tipo y su longitud FASE DEL DISEÑO DE LAS BASES DE DATOS RELACIONALES

Mundo real

Recolección y análisis de requerimientos

Requerimiento de la base de datos

DISEÑO CONSEPTUAL

Esquema conceptual (en un modelo de datos de alto nivel) (por ejemplo: modelo E/R)

Independiente de S.G.B.D

……………………………

(TRANSFORMACION DEL MODELO DE DATOS)

DISEÑO LOGICO

Esquema (conceptual) lógico (En el modelo de datos de S.G.B.D.)

Específico para cada S.G.B.D

DISEÑO FISICO

Esquema interno (Para el mismo S.G.B.D.)

OBJETOS DE LA BASE DE DATOS Consultas: es el método para acceder a los datos en las bases de datos. Con las consultas se puede modificar, borrar, mostrar y agregar datos a una base de datos. Para esto se utiliza un lenguaje de consultas. El lenguaje de consultas más utilizado en bases de datos es el SQL (Structured Query Language). Formularios: la finalidad de estos es ver, escribir y cambiar datos de manera sencilla directamente en una tabla, Informes: Se usa para analizar los datos o presentarlos de cierta manera al
imprimirlos. Por ejemplo, puede imprimir un informe que agrupe datos y calcule totales, y otro informe de datos diferentes con formato para imprimir etiquetas postales.

Páginas de acceso a datos: se utilizan para que los datos estén disponibles en
Internet o en una intranet con el fin de hacer informes, escribir datos o analizar datos de manera interactiva, al utilizar una página de acceso a datos. Microsoft Access recupera los datos de una o más tablas, y los muestra en la pantalla con el diseño creado en la vista Diseño o con el diseño que haya elegido en el Asistente para páginas.

Tablas: Almacenar y administrar los datos Una tabla es una colección de datos sobre un tema específico, como productos o proveedores. Al usar una tabla independiente para cada tema, los datos se almacenan sólo una vez. Esto tiene como resultado una base de datos más eficaz y menos errores de entrada de datos. Trabajar con objetos de base de datos: CONCEPTOS BASICOS DE UNA BASE DE DATOS

MULTITAREA Es la ejecución de más de un programa a la vez en una computadora. Los sistemas operativos multitarea (Windows, OS/2, Unix y otros) permiten que múltiples operaciones se ejecuten simultáneamente. Sus mayores beneficios se obtienen cuando se realizan tareas largas y complejas (como consultar una base de datos). La cantidad de programas que pueden ejecutarse depende de la memoria disponible, de la velocidad de la CPU y de la eficiencia del sistema operativo. Siendo esta una característica de los sistemas operativos modernos. Permite que varios procesos sean ejecutados al mismo tiempo compartiendo uno o más procesadores. MULTIUSUARIO Un SO multiusuario permite a más de un solo usuario accesar una computadora. Claro que, para llevarse esto a cabo, el SO también debe ser capaz de efectuar multitareas. En contraposición a los sistemas mono usuario, que proveen servicio y procesamiento a un solo usuario, en la categoría de multiusuario se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que comparten los mismos recursos. Actualmente este tipo de sistemas se emplean especialmente en redes, pero los primeros ejemplos de sistemas multiusuario fueron sistemas centralizados que se compartían a través del uso de múltiples dispositivos de interfaz humana (e.g. una unidad central y múltiples pantallas y teclados). Unix es el Sistema Operativo Multiusuario más utilizado. Debido a que Unix fue originalmente diseñado para correr en una minicomputadora, era multiusuario y multitarea desde su concepción. Esto se aplica: 1. Mediante Módems 2.Mediante conexión de terminales a través de puertos seriales 3.Mediante Redes

MULTIPROCESO Dos o más unidades de proceso ejecutando cada una de ellas uno o más procesos. Las computadoras que tienen más de un CPU son llamadas multiproceso. Un sistema operativo multiproceso coordina las operaciones de las computadoras multiprocesadoras. Ya que cada CPU en una computadora de multiproceso puede estar ejecutando una instrucción, el otro procesador queda liberado para procesar otras instrucciones simultáneamente. Al usar una computadora con capacidades de multiproceso incrementamos su velocidad de respuesta y procesos. Casi todas las computadoras que tienen capacidad de multiproceso ofrecen una gran ventaja. Los primeros Sistemas Operativos Multiproceso realizaban lo que se conoce como: Multiproceso asimétrico: Una CPU principal retiene el control global de la computadora, así como el de los otros procesadores. Esto fue un primer paso hacia el multiproceso pero no fue la dirección ideal a seguir ya que la CPU principal podía convertirse en un cuello de botella. Multiproceso simétrico: En un sistema multiproceso simétrico, no existe una CPU controladora única. La barrera a vencer al implementar el multiproceso simétrico es que los SO tienen que ser rediseñados o diseñados desde el principio para trabajar en u n ambiente multiproceso. Las extensiones de Unix, que soportan multiproceso asimétrico ya están disponibles y las extensiones simétricas se están haciendo disponibles. Windows NT de Microsoft soporta multiproceso simétrico. Lenguajes que tienen estas características C, SQL, El UNIX y sus clones permiten múltiples tareas y múltiples usuarios. Su sistema de archivos proporciona un método sencillo de organizar archivos y permite la protección de archivos. Sin embargo, las instrucciones del UNIX no son intuitivas. Otros sistemas operativos multiusuario y multitarea son OS/2, desarrollado inicialmente por Microsoft Corporation e International Business Machines (IBM) y Windows, desarrollado por Microsoft.

INTEGRIDAD REFERENCIAL La integridad referencial es un sistema de reglas que utilizan la mayoría de las bases de datos relacionales para asegurarse que los registros de tablas relacionadas son válidos y que no se borren o cambien datos relacionados de forma accidental produciendo errores de integridad. REDUNDANCIA La redundancia de los datos debe ser controlada, de forma que no existan duplicidades perjudiciales ni innecesarias, y que las redundancias físicas, convenientes muchas veces a fin de responder a objetivos de eficiencia, sean tratadas por el mismo sistema, de modo que no puedan producirse incoherencias. Por tanto, un dato se actualizará lógicamente por el usuario de forma única, y el sistema se preocupará de cambiar físicamente todos aquellos campos en los que el dato estuviese repetido, en caso de existir redundancia física. INCONSISTENCIA Una base de datos está inconsistente si dos datos que deberían ser iguales no lo son. Por ejemplo, un empleado aparece en una tabla como activo y en otra como jubilado. TUPLA Una tupla, en matemáticas, es una secuencia ordenada de objetos, esto es, una lista con un número limitado de objetos (una secuencia infinita se denomina en matemática como una familia). Las tuplas se emplean para describir objetos matemáticos que tienen estructura, es decir que son capaces de ser descompuestos en un cierto número de componentes. Por ejemplo, un Grafo dirigido se puede definir como una tupla de (V, E) donde V es el conjunto de nodos y E es el subconjunto de V × V que denota los vértices del grafo.

TABLA Se refiere al tipo de modelado de datos, donde se guardan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de Hoja de cálculo. Las tablas se componen de dos estructuras: En la definición de cada campo, debe existir un nombre único, con su tipo de dato correspondiente. Esto es útil a la hora de manejar varios campos en la tabla, ya que cada nombre de campo debe ser distinto entre sí. A los campos se les puede asignar, además, propiedades especiales que afectan a los registros insertados. El campo puede ser definido como índice o auto incrementable, lo cual permite que los datos de ese campo cambien solos o sea el principal indicar a la hora de ordenar los datos contenidos. Cada tabla creada debe tener un nombre único en la cada Base de Datos, haciéndola accesible mediante su nombre o su seudónimo (Alias) (dependiendo del tipo de base de datos elegida). La estructura de las tablas viene dado por la forma de un archivo plano, los cuales en un inicio se componían de un modo similar ENTIDAD Es una entidad en la representación de un objeto o concepto del mundo real que se describe en una base de datos. Una entidad se describe en la estructura de la base de datos empleando un modelo de datos. Por ejemplo, nombres de entidades pueden ser: Alumno, Empleado, Artículo, etc. Cada entidad está constituida por uno o más atributos. Por ejemplo, la entidad "Alumno" podría tener los atributos: nombre, apellido, año de nacimiento, etc.

En el modelo de entidad-relación se emplean dos tipos de entidades: entidad fuerte y entidad débil. Las entidades fuertes tienen atributos claves, en tanto las entidades débiles no tienen atributos claves propios. CAMPO Es un espacio de almacenamiento para un dato en particular. En las bases de datos, un campo es la mínima unidad de información a la que se puede acceder; un campo o un conjunto de ellos forman un registro, donde pueden existir campos en blanco, siendo éste un error del sistema. En las hojas de cálculo los campos son llamados celdas. La mayoría de los campos tienen atributos asociados a ellos. Por ejemplo, algunos campos son numéricos mientras otros almacenan texto, también varía el tamaño de estos. Adicionalmente, cada campo tiene un nombre. ATRIBUTOS Un atributo representa una propiedad de interés de una entidad.

Los atributos se describen en la estructura de la base de datos empleando un modelo de datos.

Por ejemplo, se podría tener una entidad llamada "Alumno". Esta entidad puede estar constituida por uno o más atributos, que son propiedades de la entidad "Alumno" que interesan para almacenarse en la base de datos. Por ejemplo, la entidad "Alumno" podría tener los atributos: nombre, apellido, año de nacimiento, etc. La elección de los atributos de una entidad depende del uso que se le dará a la base de datos. El alumno puede tener una "religión", pero si no interesa al fin de la base de datos, no es necesario almacenarla en un atributo. En SQL un atributo es llamado columna.

VENTAJAS DE UN MODELO ORIENTADO A ARCHIVO • • • • • • • • Fomenta la reutilización y extensión del código. Permite crear sistemas más complejos. Relacionar el sistema al mundo real. Facilita la creación de programas visuales. Construcción de prototipos Agiliza el desarrollo de software Facilita el trabajo en equipo Facilita el mantenimiento del software

DESVENTAJAS DE UN MODELO ORIENTADO A ARCHIVO Limitaciones para el programador. No obstante que la tecnología orientada a objetos no es nueva, un gran porcentaje de programadores no están familiarizados con los conceptos de dicha tecnología. En otras palabras, la lógica de la programación estructurada sigue siendo predominante en la mayoría de los desarrolladores de software, después de haber revisado de forma breve los principios de la programación orientada a objetos, nos es claro que en ésta se requiere una lógica de pensamiento totalmente diferente a la lógica comúnmente utilizada para la programación estructurada. Tamaño excesivo en las aplicaciones resultantes. La gran mayoría de los equipos de cómputo cuentan con capacidades tanto de almacenamiento como de memoria lo suficientemente buena como para ejecutar la mayoría de las aplicaciones que puedan desarrollarse con la tecnología orientada a objetos, sin embargo existen casos en los que lo anterior no se cumple .

VENTAJAS DE UN MODELO ORIENTADO A BASE DE DATOS Estructura de objetos. El modelo orientado a objetos se basa en encapsular código y datos en una única unidad, llamada objeto. El interfaz entre un objeto y el resto del sistema se define mediante un conjunto de mensajes. Un objeto tiene asociado: Un conjunto de variables que contienen los datos del objeto. El valor de cada variable es un objeto. Un conjunto de mensajes a los que el objeto responde. Un método, que es un trozo de código para implementar cada mensaje. Un método devuelve un valor como respuesta al mensaje. Jerarquía de clases. En una base de datos existen objetos que responden a los mismos mensajes, utilizan los mismos métodos y tienen variables del mismo nombre y tipo. Sería inútil definir cada uno de estos objetos por separado por lo tanto se agrupan los objetos similares para que formen una clase, a cada uno de estos objetos se le llama instancia de su clase. Todos los objetos de su clase comparten una definición común, aunque difieran en los valores asignados a las variables. Así que básicamente las bases de datos orientados a objetos tienen la finalidad de agrupar aquellos elementos que sean semejantes en las entidades para formar un clase, dejando por separado aquellas que no lo son en otra clase. Herencia. Las clases en un sistema orientado a objetos se representan en forma jerárquica como en el diagrama anterior, así que las propiedades o características del elemento persona las contendrán (heredaran) los elementos alumno y maestro. Decimos que tanto la entidad Alumno y maestro son

subclases de la clase persona este concepto es similar al utilizado en la de especialización (la relación ISA) del modelo E-R. Consultas orientadas a objetos: Los lenguajes de programación orientados a objetos requieren que toda la interacción con objetos se realiza mediante el envío de mensajes. Consideremos el ejemplo de alumno-cursa-materia deseamos realizar la consulta de los alumnos que cursan la materia de Base de Datos 1, para realizar esta consulta se tendría que enviar un mensaje a cada instancia alumno Así un lenguaje de consultas para un sistema de bases de datos orientado a objetos debe incluir tanto el modelo de pasar el mensaje de objeto a objeto como el modelo de pasar el mensaje de conjunto en conjunto. DESVENTAJAS DE UN MODELO ORIENTADO A BASE DE DATOS • • • Coste Tamaño que ocupa en el disco Complejidad

BASE DE DATOS INTELIGENTES Es un sistema de manejo de bases de datos el cual ejecuta la validación y el proceso de la información a través de programas de aplicación tradicionales. El grupo de criterio de validación puede ser guardado con cada campo de información, tanto puede ser los valores mínimos o máximos que pueden ser entrados o enlistados en las entradas posibles. Algunas bases de datos inteligentes pueden incluir reglas que pueden ser aplicadas a la información entrante o saliente. Mientras la base de datos esté consciente de su contenido, puede responder efectivamente a las peticiones complejas de su usuario. Algunos ejemplos de técnicas usadas para implementar bases de datos inteligentes son restricciones, gatillos y procedimientos ya establecidos.

LENGUAJE DE MANIPULACION DE DATOS Es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado. El lenguaje de manipulación de datos más popular hoy día es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras. LENGUAJE DE DEFINICION DE DATOS es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de definición de las estructuras que almacenarán los datos así como de los procedimientos o funciones que permitan consultarlos. El lenguaje de programación SQL, el más difundido entre los gestores de bases de datos, admite las siguientes sentencias de definición: CREATE, DROP y ALTER, cada una de las cuales se puede aplicar a las tablas, vistas, procedimientos almacenados y triggers de la base de datos. Otras que se incluyen dentro del DDL, pero que su existencia depende de la implementación del estándar SQL que lleve a cabo el gestor de base de datos son GRANT y REVOKE, los cuales sirven para otorgar permisos o quitarlos, ya sea a usuarios específicos o a un rol creado dentro de la base de datos. TIPOS DE USUARIOS En sentido general, un usuario es un conjunto de permisos y de recursos (o dispositivos) a los cuales se tiene acceso. Es decir, un usuario puede ser tanto una persona como una máquina, un programa, etc. Usuario administrador El usuario administrador de un producto informático es la persona a la que va destinada dicho producto una vez que ha superado las fases de desarrollo correspondientes.

Habitualmente, el software se desarrolla pensando en la comodidad del usuario final, y por esto se presta especial interés y esfuerzo en conseguir una interfaz de usuario lo más clara y sencilla posible. Usuario registrado Se denomina así a la persona que tiene derechos especiales en algún servicio de Internet por acreditarse en el mismo mediante un identificador y una clave de acceso, obtenidos con previo registro en el servicio, de manera gratuita o de pago. Normalmente, un usuario registrado tiene asignada una cuenta propia que mantiene información personalizada del usuario en el servidor, (como puede ser dirección de e-mail y espacio correspondiente). También puede dar acceso a ciertos contenidos no accesibles al público en general, como por ejemplo un usuario registrado en un periódico on-line con acceso por suscripción. Usuario anónimo Es usuario anónimo en informática aquel que navega en sitios web (o usa cualquier servicio de la red) sin autenticarse como usuario registrado. En algunos servicios en Internet se dispone de un modo de uso como usuario registrado y otro como usuario anónimo; normalmente, el usuario registrado goza de mayores privilegios. El anonimato en Internet es uno de sus puntos fuertes, a la vez que motivo habitual de discusión. A los usuarios les gusta sentirse libres para expresarse, mientras que ciertos organismos quisieran un mayor control de todo el movimiento por la red para actuar con más eficacia contra la delincuencia online. Además contempla el correcto uso del sistema. Usuario "beta tester“ En el proceso de desarrollo de software, existe un usuario intermedio entre el desarrollador y el usuario final que se encarga de comprobar y testear que el programa trabaje de la forma prevista.

La tarea de los Beta Testers es reportar errores al programador/desarrollador, y es en gran medida responsable de que el programa llegue al usuario final sin errores. LENGUAJE DE DEFINICION DE ALMACENAMIENTO Es utilizado por el DBMS para especificar el esquema interno que corresponde a la Base de Datos Almacenada. LENGUAJE DE DEFINICION DE VISTAS Es utilizado por el DBMS para especificar las vistas del usuario y sus correspondencias con el esquema conceptual. En las Bases de Datos Relacionales, el SQL, representa una combinación de los anteriores. CARDINALIDAD La participación de la entidad puede o no ser obligatoria. Siempre interviene por lo menos una entidad en una relación. Ej. Libro Tiene ISBN

Aquí, la participación de la entidad libro es obligatoria, pero la del ISBN no, existen libros que no tienen ISBN. REGISTROS (También llamado fila o tupla) representa un objeto único de datos implícitamente estructurados en una tabla. En términos simples, una tabla de una base de datos puede imaginarse formada de filas y columnas o campos. Cada fila de una tabla representa un conjunto de datos relacionados, y todas las filas de la misma tabla tienen la misma estructura. Un registro es un conjunto de campos que contienen los datos que pertenecen a una misma repetición de entidad. Se le asigna automáticamente un número consecutivo (número de registro) que en ocasiones es usado como índice

aunque lo normal y práctico es asignarle a cada registro un campo clave para su búsqueda. La estructura implícita de un registro y el significado de los valores de sus campos exige que dicho registro sea entendido como una sucesión de datos, uno en cada columna de la tabla. La fila se interpreta entonces como una variable relacional compuesta por un conjunto de tuplas, cada una de las cuales consta de dos ítems: el nombre de la columna relevante y el valor que esta fila provee para dicha columna. Cada columna espera un valor de un tipo concreto. FUNCIONES DE UNA BASE DE DATOS
Se cuenta con un mecanismo con el cual se pueden definir las funciones escalares que las base de datos usan. El procedimiento es algo rudimentario pero es bastante efectivo, dando la flexibilidad de adaptarse a diversas bases de datos. Cuando uno se conecta a la base de datos para definir el cubo, se obtiene el tipo de base de datos al que se esta conectando. Este se muestra en la pantalla inicial. Basándose en ese tipo de base de datos, se lee el archivo oxf.oxf que se encuentra en el directorio de instalación de la aplicación. Este archivo trae una lista de las bases de datos, de las cuales podemos obtener funciones. El texto de este archivo se muestra a continuación: Oracle|Oracle Microsoft SQL Server|SqlServer Informix|Informix Sybase|Sybase DB2|DB2 AS-400|AS-400 En cada línea del archivo se almacenan dos campos, el primero es el nombre de la base de datos según la reconoce la aplicación, el segundo es el nombre del archivo .oxf en donde se encuentran las funciones de esa base de datos. Se buscan las formulas en los siguientes archivos: <base de datos>.es.oxf : Archivo con la explicación de las formulas en español <base de datos>.en.oxf : Archivo con la explicación de las formulas en ingles <base de datos>.oxf : Normalmente el archivo viene en ingles El archivo text se utiliza como archivo de formulas predeterminado, por si su base de datos no se encuentra en la lista. Estos archivos tienen una formula en cada línea y su explicación. A continuación se muestra parte del archivo text.oxf:

LCASE( string_exp )|Uppercase characters in string_exp converted to lowercase. LEFT ( string_exp , count )|The count of characters of string_exp. LEN ( string_exp )|The number of characters in string_exp , excluding trailing blanks and the string termination character. LTRIM ( string_exp )|The characters of string_exp , with leading blanks removed. MID ( string_exp , start , length )|A string derived from string_exp beginning at the character position start for length characters. RIGHT( string_exp , count )|The rightmost count of characters in string_exp. RTRIM( string_exp )|The characters of string_exp with trailing blanks removed. SPACE( count )|A string consisting of count spaces. UCASE( string_exp )|Lowercase characters in string_exp converted to uppercase. ABS( numeric_exp )|Absolute value of numeric_exp. COS( float_exp )|Cosine of float_exp as an angle in radians. Estos archivos los puede modificar, crear o borrar según su conveniencia.

ARQUITECTURA DE UNA BASE DE DATOS Hay tres características importantes inherentes a los sistemas de bases de datos: la separación entre los programas de aplicación y los datos, el manejo de múltiples vistas por parte de los usuarios y el uso de un catálogo para almacenar el esquema de la base de datos. En 1975, el comité ANSI-SPARC (American National Standard Institute - Standards Planning and Requirements Committee) propuso una arquitectura de tres niveles para los sistemas de bases de datos, que resulta muy útil a la hora de conseguir estas tres características. El objetivo de la arquitectura de tres niveles es el de separar los programas de aplicación de la base de datos física. En esta arquitectura, el esquema de una base de datos se define en tres niveles de abstracción distintos: 1) En el nivel interno se describe la estructura física de la base de datos mediante un esquema interno. Este esquema se especifica mediante un modelo físico y describe todos los detalles para el almacenamiento de la base de datos, así como los métodos de acceso. 2) En el nivel conceptual se describe la estructura de toda la base de datos para una comunidad de usuarios (todos los de una empresa u organización), mediante un esquema conceptual. Este esquema oculta los detalles de las estructuras de almacenamiento y se concentra en describir entidades,

atributos, relaciones, operaciones de los usuarios y restricciones. En este nivel se puede utilizar un modelo conceptual o un modelo lógico para especificar el esquema. 3) En el nivel externo se describen varios esquemas externos o vistas de usuario. Cada esquema externo describe la parte de la base de datos que interesa a un grupo de usuarios determinados y ocultos a ese grupo el resto de la base de datos. En este nivel se puede utilizar un modelo conceptual o un modelo lógico para especificar los esquemas. BASE DE DATOS DISTRIBUIDAS (BDD) es un conjunto de múltiples bases de datos lógicamente relacionadas las cuales se encuentran distribuidas en diferentes espacios lógicos (pej. un servidor corriendo 2 maquinas virtuales) e interconectados por una red de comunicaciones. Dichas BDD tienen la capacidad de realizar procesamiento autónomo, esto permite realizar operaciones locales o distribuidas. Un sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cual múltiples sitios de bases de datos están ligados por un sistema de comunicaciones de tal forma que, un usuario en cualquier sitio puede acceder los datos en cualquier parte de la red exactamente como si estos fueran accedidos de forma local. Un sistema distribuido de bases de datos se almacenan en varias computadoras. Los principales factores que distinguen un SBDD de un sistema centralizado son los siguientes: • • Hay múltiples computadores, llamados sitios o nodos. Estos sitios deben de estar comunicados por medio de algún tipo de red de comunicaciones para transmitir datos y órdenes entre los sitios. DIFERENCIA ENTRE DBMS Y UNA BASE DE DATOS La base de datos es una colección de archivos interrelacionados almacenados en conjunto sin redundancia y la dbms es un conjunto de númerosas rutinas

de software interrelacionadas cada una de ellas es responsable de una determinada tarea. CITAR LOS COMPONENTESDE UN SISTEMA DE UNA BASE DE DATOS Modelos de Datos Para representar el mundo real a través de esquemas conceptuales se han creado una serie de modelos: Mundo Real Esqs Conceptuales Modelización Existen multitud de estos modelos que se conocen como Modelos de Datos, algunos de estos modelos son: • • • Modelo Relacional de Datos Modelo de Red Modelo Jerárquico.

DESCRIPCION DE CADA COMPONENTEDE UN SISTEMA DE BASE DE DATOS 1) Modelo Relacional de Datos. Representa al mundo real mediante tablas relacionadas entre sí por columnas comunes. Ex.

2) Modelo de Red. Representamos al mundo real como registros lógicos que representan a una entidad y que se relacionan entre sí por medio de flechas. Ex.: 33 Pepe 25 Textil 34 Juan Modelo Jerárquico. Tiene forma de árbol invertido. Un padre puede tener varios hijos pero cada hijo sólo puede tener un padre. Ex.: Empresa 25 Textil 26 Pintura 27 Construcción 33 Pepe 34 Juan 36 Perico Al llegar a este punto adoptaremos una convención con respecto a las restricciones que se pueden dar en un modelo, en cuanto a la capacidad de relacionarse que pueda tener cada entidad de ese modelo con el resto de entidades. Como se ha dicho el modelo jerárquico sólo admite relaciones 1 : 1 ó 1 : N. En caso de que tuviésemos la necesidad de otro tipo de asociaciones y queramos usar el esquema jerárquico, recurriríamos a una duplicación de la información en el esquema, pero sólo a nivel esquemático. BASE DE DATOS ORIENTADAS A OBJETOS A información se representa mediante objetos como los presentes en la programación orientada a objetos. Cuando se integra las características de una base de datos con las de un lenguaje de programación orientado a objetos, el resultado es un sistema gestor de base de datos orientada a objetos (ODBMS, object database management system). Un ODBMS hace que los objetos de la base de datos aparezcan como objetos de un lenguaje de programación en uno o más lenguajes de programación a los que dé soporte. Un ODBMS extiende los lenguajes con datos persistentes de forma transparente, control de concurrencia, recuperación de datos, consultas asociativas y otras capacidades.

Las bases de datos orientadas a objetos se diseñan para trabajar bien en conjunción con lenguajes de programación orientados a objetos como Java, C#, Visual Basic.NET y C++. Los ODBMS usan exactamente el mismo modelo que estos lenguajes de programación. Los ODBMS son una buena elección para aquellos sistemas que necesitan un buen rendimiento en la manipulación de tipos de dato complejos. Los ODBMS proporcionan los costes de desarrollo más bajos y el mejor rendimiento cuando se usan objetos gracias a que almacenan objetos en disco y tienen una integración transparente con el programa escrito en un lenguaje de programación orientado a objetos, al almacenar exactamente el modelo de objeto usado a nivel aplicativo, lo que reduce los costes de desarrollo y mantenimiento. PANORAMA ACTUAL La interoperabilidad entre diferentes sistemas de información ha sido uno de los aspectos más críticos en la operación cotidiana de muchas organizaciones. La necesidad de interoperabilidad surge a raíz de los cambios organizacionales que sufren las empresas modernas, alianzas estratégicas, compartimiento de información, y absorción de pequeñas y medianas industrias por grandes corporativos son sólo algunos de los panoramas que provocan esta situación. En la última década esta preocupación se vio incrementada con la proliferación de diferentes bases de datos con diferentes modelos de datos que corren en diferentes plataformas. En estos ambientes, los usuarios están limitados en el acceso uniforme de la información. Los sistemas de bases de datos múltiples (también conocidos como bases de datos federadas o bases de datos heterogéneas) son sistemas computacionales que hacen disponible la información desde diversas fuentes, y donde esas fuentes de información pueden ser heterogéneas, distribuidas y autónomas. IDENTIFICACION DE OBJETOS, ESTRUCTURAS Y CONSTRUCTORES

ENCAPSULAMIENTO DE OPERACIONES, METODOS Y PERSISTENCIA Encapsulamiento de operaciones: es la estructura interna de los objetos debe estar oculta al usuario de un objeto, no necesita conocerla para interactuar con él. Los objetos se conciben como una cápsula cuyo interior está oculto y no puede ser alterado directamente desde el exterior. A la estructura interna de un objeto se la denomina implementación y a la parte visible, la que se presenta al exterior, interfaz. La interfaz se define por sus atributos y operaciones. La implementación de una operación se conoce como método. La implementación de un atributo se realiza generalmente con variables de instancia. El encapsulamiento comporta las siguientes ventajas: • La modificación interna (de la implementación) de un objeto para corregirlo

o mejorarlo no afecta a sus usuarios. • La dificultad inherente a la modificación de la implementación de un objeto

sea independiente del tamaño total del sistema. Esto permite que los sistemas evolucionen con mayor facilidad. • La simplificación en el uso del objeto al ocultar los detalles de su

funcionamiento y presentarlo en términos de sus propiedades. Al elevar el nivel de abstracción se disminuye el nivel de complejidad de un posible modelar sistemas de mayor tamaño con menor esfuerzo. • Constituye un mecanismo de integridad. La dispersión de un fallo a través sistema. Es

de todo el sistema es menor, puesto que al presentar una división entre interfaz e implementación, los fallos internos de un objeto encuentran una

barrera en el encapsulamiento antes de propagarse al resto del sistema. • Permite la sustitución de objetos con la misma interfaz y diferente

implementación. Esto permite modelar sistemas de mayor tamaño con menor esfuerzo.

METODOS DE ENCAPSULAMIENTO En programación modular, y más específicamente en programación orientada a objetos, se denomina encapsulamiento al ocultamiento del estado, es decir, de los datos miembro, de un objeto de manera que sólo se puede cambiar mediante las operaciones definidas para ese objeto. Cada objeto está aislado del exterior, es un módulo natural, y la aplicación entera se reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos asociados a un objeto contra su modificación por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios e interacciones. De esta forma el usuario de la clase puede obviar la implementación de los métodos y propiedades para concentrarse sólo en cómo usarlos. Por otro lado se evita que el usuario pueda cambiar su estado de maneras imprevistas e incontroladas. Como se puede observar de los diagramas, las variables del objeto se localizan en el centro o núcleo del objeto. Los métodos rodean y esconden el núcleo del objeto de otros objetos en el programa. Al empaquetamiento de las variables de un objeto con la protección de sus métodos se le llama encapsulamiento. Típicamente, el encapsulamiento es utilizado para esconder detalles de la puesta en práctica no importantes de otros objetos. Entonces, los detalles de la puesta en práctica pueden cambiar en cualquier tiempo sin afectar otras partes del programa. La encapsulación da lugar a que las clases se dividan en dos partes: 1) Interface: captura la visión externa de una clase, abarcando la abstracción del comportamiento común a los ejemplos de esa clase. 2) Implementación: comprende la representación de la abstracción, así como los mecanismos que conducen al comportamiento deseado.yolka

PERSISTENCIA Se llama “persistencia” de los objetos a su capacidad para guardarse y recuperarse desde un medio de almacenamiento. La persistencia en Base de Datos relacionales se suele implementar mediante el desarrollo de funcionalidad específica utilizando la tecnología JDBC o mediante frameworks que automatizan el proceso a partir de mapeos (conocidos como Object Relational Mapping, ORM) como es el caso de Hibernate. JERARQUIAS DE CLASES Y HERENCIA Consideremos las figuras planas cerradas como el rectángulo, y el círculo. Tales figuras comparten características comunes como es la posición de la figura, de su centro, y el área de la figura, aunque el procedimiento para calcular dicha área sea completamente distinto. Podemos por tanto, diseñar una jerarquía de clases, tal que la clase base denominada Figura, tenga las características comunes y cada clase derivada las específicas. RELACIONES ANIDADAS El modelo relacional anidado es una extensión del modelo relacional en la que los dominios pueden ser atómicos o de relación. Por tanto, el valor de las tuplas de los atributos puede ser una relación, y las relaciones pueden guardarse en otras relaciones. Los objetos complejos, por tanto, pueden representarse mediante una única tupla de las relaciones anidadas. OBJETOS COMPLEJOS

EJEMPLOS DE SGBDOO class Empleado type tuple ( Cedula: string, Nombre: string,

Cargo: string, Direccion: tuple (Calle: string Carrera: string Número: integer Ciudad: string Departamento: string), Edad: integer, Salario: real, Hobbies: set (string), Proyecto: Proyectos) method aumento-salario( cantidad: real), Número-hobbies ( ): integer DISEÑO DE BDOO POR TRANSFORMACION DE EER-OO

LENGUAJES ORIENTADOS A OBJETOS Se le llama así a cualquier lenguaje de programación que implemente los conceptos definidos por la programación orientada a objetos. Cabe notar que los conceptos definidos en la programación orientada a objetos no son una condición sino que son para definir que un lenguaje es orientado a objetos. Existen conceptos que pueden estar ausentes en un lenguaje dado y sin embargo, no invalidar su definición como lenguaje orientado a objetos. Quizás las condiciones mínimas necesarias las provee el formalismo que modeliza mejor las propiedades de un sistema orientado a objetos: los tipos de datos abstractos.

Siguiendo esa idea, cualquier lenguaje que permita la definición de tipos de datos, de operaciones nuevas sobre esos tipos de datos, y de instanciar el tipo de datos podría ser considerado orientado a objetos. Esta definición concuerda incluso con ciertos ejemplos prácticos, que no son considerados dentro de la programación orientada a objetos, pero que podrían serlo. Por ejemplo, la programación de interfaces gráficas de usuario para los sistemas X-Window utilizando infraestructuras de funciones y APIs como Motif, Xview y Xlib, son realizadas usualmente en lenguaje C, pero organizando el código en una manera que "parecen objetos" (los Widgets). LENGUAJE DE PROGRAMACION PERSISTENTES Lenguajes de programación eso nativo y seamlessly permite objetos para continuar existiendo después de programa ha estado cerrado abajo se llaman lenguajes de programación persistentes. El único producto comercial que aparece hacer esto en el momento es JADE, solamente se anticipa que los lenguajes de programación persistentes llegarán a ser más populares en el futuro. Un lenguaje de programación persistente es un lenguaje de programación ampliado con las construcciones para manejar datos persistentes. Distingue con el SQL encajado por lo menos de dos maneras: En una lengua persistente del programa, el lenguaje de interrogación se integra completamente con la lengua del anfitrión y ambo parte el mismo tipo sistema. Cualquier cambio del formato requerido en bases de datos se realiza transparente. La comparación con el SQL encajado donde (1) anfitrión y DML tienen diverso tipo sistemas, conversión de código funciona fuera del tipo sistema de OO, y por lo tanto tiene una ocasión más alta del tener errores desapercibidos; la conversión del formato (de 2) toma una cantidad substancial de código. BASE DEDUCTIVAS Los sistemas Bases de Datos Deductivas intentan modificar el hecho de que los datos requeridos residan en la memoria principal (por lo que la gestión de

almacenamiento secundario no viene al caso) de modo que un SGBD se amplíe para manejar datos que residen en almacenamiento secundario. En un sistema de Bases de Datos Deductivas por lo regular se usa un lenguaje declarativo para especificar reglas. Con lenguaje declarativo se quiere decir un lenguaje que define lo que un programa desea lograr, en vez de especificar los detalles de cómo lograrlo. Una máquina de inferencia (o mecanismo de deducción) dentro del sistema puede deducir hechos nuevos a partir de la base de datos interpretando dichas reglas. El modelo empleado en las Bases de Datos Deductivas está íntimamente relacionado con el modelo de datos relacional, y sobre todo con el formalismo del cálculo relacional. También esta relacionado con el campo de la programación lógica y el lenguaje Prolog. Los trabajos sobre Bases de Datos Deductivas basados en lógica han utilizado Prolog como punto de partida. Con un subconjunto de Prolog llamado Datalog se definen reglas declarativamente junto con un conjunto de relaciones existentes que se tratan como literales en el lenguaje. Aunque la estructura gramatical se parece a la de Prolog, su semántica operativa (esto es, la forma como debe ejecutarse un programa en Datalog) queda abierta. NOTACION PROLOG Al contrario que la mayoría de los lenguajes de programación, Prolog es un lenguaje conversacional; es decir, el sistema Prolog mantiene un diálogo continuo con el programador desde el inicio de la sesión hasta el final de la misma. Este diálogo toma generalmente la forma de un interrogatorio, a lo largo del cual el programador planteará preguntas al sistema Prolog. Por su parte, el sistema Prolog responderá cada una de las preguntas formulada. NOTACION DATALOG Datalog es un lenguaje de consultas, no procedimental, basado en el lenguaje de programación lógica de Prolog. Como se hace en el cálculo relacional, el usuario describe la información deseada sin especificar un procedimiento específico de obtención de dicha información. La sintaxis de Datalog se asemeja a la de Prolog. Sin embargo, el significado de los programas en

Datalog se define de una manera puramente declarativa, a diferencia de la semántica más procedimental de Prolog. Datalog simplifica la escritura de consultas simples y hace más sencilla la optimización. INTERPRETACION DE REGLAS Existen dos alternativas principales para interpretar el significado teórico de las reglas: por la teoría de demostración y por la teoría de modelos. En los sistemas prácticos, es mecanismo de inferencia que tiene el sistema, define la interpretación exacta, que pudiera no coincidir con ninguna de las dos interpretaciones teóricas. El mecanismo de inferencia es un procedimiento computacional y por tanto provee una interpretación computacional del significado de las reglas. Una interpretación es la llamada interpretación de reglas por la teoría de demostraciones. En ella se considerarán los hechos y las reglas como enunciados verdades o axiomas. Los axiomas base no contienen variables. Los hechos son axiomas base que se dan por ciertos. Las reglas se llaman axiomas deductivos, ya que pueden servir para deducir hechos nuevos. Con los axiomas deductivos se pueden construir demostraciones que deriven hechos nuevos a partir de los ya existentes. Los axiomas deductivos, junto con las restricciones de integridad constituyen lo que en ocasiones se denomina base de datos intencional, y la base de datos extensional junto con la intencional constituyen lo que suele llamarse Base de Datos Deductivas; aunque en realidad, quien se encarga de las deducciones es el DBMS, no la base de datos. La interpretación por la teoría de demostraciones ofrece un enfoque por procedimientos o computacional para calcular una respuesta a la consulta Datalog. Al proceso de demostrar si un determinado hecho (teorema) se cumple se le conoce también como demostración de teoremas. El segundo tipo de demostración se llama interpretación por la teoría de modelos. Aquí, dado un dominio finito o infinito de valores constantes, se le asigna a un predicado todas las combinaciones posibles de valores como argumentos. Después se debe determinar si el predicado es verdadero o falso. En general, basta con especificar las combinaciones de argumentos que hacen

que el predicado sea verdadero, y decir que todas las demás combinaciones hacen que sean falsos. Si esto se hace con todos los predicados, se habla de una interpretación del conjunto de predicados. A una interpretación se le llama modelo para un conjunto específico de reglas si esas reglas siempre se cumplen en esa interpretación; es decir, para cualesquiera valores que se asignen a las variables de las reglas, la cabeza de reglas es verdadera cuando sustituimos los valores de verdad asignados a los predicados en el cuerpo de las reglas según esa interpretación. De este modo, siempre que se aplica una sustitución (enlace) a las variables de las reglas, si todos los predicados del cuerpo de un arreglo son verdaderos en esa interpretación, el predicado de la cabeza de la regla también debe ser verdadero. Cabe señalar que una regla se viola si un determinado enlace de constantes en a las variables hace verdaderos todos los predicados del cuerpo de la regla, pero hace que el predicado de la cabeza de la regla sea falso. MECANISMOS BASICOS DE INTERFERENCIA PARA PROGRAMACION LOGICA La programación lógica consiste en la aplicación del corpus de conocimiento sobre lógica para el diseño de lenguajes de programación. Se ha convertido en el pilar de una nueva generación de lenguajes de programación. Junto con la programación funcional forma parte de lo que se conoce como programación declarativa, Como se irá explicando mas adelante en los lenguajes tradicionales se intenta resolver un problema mediante sentencias, en la programación lógica se trabaja de forma descriptiva, estableciendo relaciones, y no indicando un cómo sino un qué hacer. Es decir el algoritmo que se quiera diseñar se construye especificando un conocimiento en un lenguaje formal y para resolverlo se uso la inferencia o control que actúa sobre aquel. PROGRAMACION EN DATALOG DESCRIPCIÓN

El DATA LOG es un interruptor horario digital con 1 circuito conmutado independiente y libre de potencial diseñado para el control de cualquier Instalación eléctrica. Incorpora la posibilidad de realizar maniobras de corta duración (de 1 a 59 segundos), ciclos repetitivos, programa aleatorio, cambio automático de horario verano – invierno y contador de horas de actuación de los canales. Los menús pueden aparecer en 5 idiomas y presenta en pantalla un cronograma que muestra la programación del día actual. El cronograma está dividido en 48 divisiones en las que cada segmento representa 30 minutos. El segmento correspondiente a la hora actual se muestra parpadeando. La programación está basada en menús (mensajes de texto). Si se programan maniobras coincidentes en el tiempo hay que tener en cuenta que unas son prioritarias sobre otras. El orden de prioridad es el siguiente: MODO PERMANENTE→ PROGRAMA VACACIONES→PROGRAMA ALEATORIO→PULSO ON→PULSO OFF→PROGRAMACIÓN OFF→PROGRAMACIÓN ON→PROGRAMACIÓN CICLOS. Los datos a programar aparecen en pantalla siempre parpadeando. Pulsando la tecla “OK“se accede al MENU PROGRAMA. Si el idioma en el que aparece no es el adecuado realice un reset. RESET Al pulsar las cuatro teclas simultáneamente durante más de 3 segundos se borra toda la programación existente y se entra en el menú IDIOMA. SELECCIÓN DE IDIOMA Con las teclas ∆ y elegimos el idioma deseado y validamos con la tecla “OK“.

Automáticamente se entra en la programación de FECHA AÑO.

SISTEMA LDL (LENGUAJE LOGICO DE DATOS)
El proyecto Logic Data Lenguaje (Lenguaje Lógico de Dato: LDL) de Microelectronics and Computer Corporation (MCC) se inició en 1984 con dos objetivos primarios:

•Crear un sistema que extendiera el modelo relacional y a la vez aprovechara algunas de las características positivas de un SGBDR (Sistema de Gestión de Base de Datos Relacionales). •Mejorar la funcionalidad de un SGBD de modo que operara como un SGBD deductivo y además permitiera la creación de aplicaciones de propósito general.

El sistema LDL se ha utilizado en los siguientes dominios de aplicación:

•Modelado de empresas: este dominio implica modelar la estructura, los procesos y las restricciones dentro de una empresa. Los datos relacionados con ella pueden resultar en modelo ER extendido que contiene cientos de entidades y vínculos y miles de atributos. Es posible desarrollar varias aplicaciones útiles para los diseñadores de nuevas aplicaciones (así como para los gerentes) a partir de esta “meta base de datos”, que contiene información tipo diccionario a cerca de toda la empresa. •Prueba de hipótesis o dragado de datos: este dominio implica formular una hipótesis, traducirla a un conjunto de reglas LDL y una consulta, y luego ejecutar la consulta contra los datos para probar la hipótesis. El proceso se repite reformulando las reglas y la consulta. Esto se ha aplicado al análisis de datos de genoma en el campo de la microbiología. El dragado de datos consiste en identificar las secuencias de DNA a partir de autorradio grafías digitalizadas de bajo nivel obtenidas de experimentos con bacterias E. coli. •Reutilización de software: el grueso del software para una aplicación se desarrolla en código estándar por procedimientos, y una pequeña fracción se basa en reglas y se codifica en LDL.

La “base de conocimientos” puede servir para tomar decisiones referentes a la reutilización de subconjuntos del software. Los módulos pueden recombinarse para satisfacer tarea específica, en tanto se satisfagan las reglas pertinentes. Se está experimentando con esto en el software bancario. En conclusión, el lenguaje LDL mejora y aprovecha al SGBDR.

PROXIMA GENERACION DE BASES DE DATOS Y SISTEMAS GESTORES DE BASES DE DATOS BASE DE DATOS ACTIVAS

Dentro del proceso de desarrollo de los sistemas de bases de datos, los cuales se han convertido en un producto estratégico de primer orden; en el afán de ofrecer una respuesta a las necesidades planteadas por los usuarios y por las aplicaciones avanzadas, donde se necesitan herramientas semánticamente más ricas que las provistas por las Bases de Datos Relacionales, aparecen recientes aplicaciones de estos que consisten en ofrecer recursos para definir Reglas Deductivas y Activas que permiten deducir, inferir u obtener información nueva a partir de los datos almacenados o sucesos condicionados. La meta de estas aplicaciones es incorporar a las Bases de Datos Relacionales los beneficios de la lógica y la reacción espontánea ante sucesos predefinidos como instrumentos para la formalización integrada de los aspectos estáticos y dinámicos del modelado de aplicaciones. BASE DE DATOS MULTIMEDIA El nacimiento de la multimedia ha renovado por completo la idea de base de datos. Si bien desde siempre se han visto como almacenes de información (textual y numérica), regidos por un conjunto de normas que le aportaban semántica. Con la llegada de la Multimedia el abanico de posibilidades complementa la representación de los objetos que se desean almacenar. El ambiente de un sistema de gestión de bases de datos multimedia (MM-DBMS) integra texto, datos, video, imagen (estática y dinámica) y sonido. Las bases de datos multimedia están en un contexto que además de los datos se le incluye la nuevacaracterística de la que se pueden tener variabilidad espacial y temporal. Por lo tanto, undocumento introducido en una base de datos multimedia es una composición temporal, en la cual hay que introducir los diferentes tipos de datos, tanto como las relaciones de configuración y temporales existentes entre ellos. Los datos deben estar sincronizados, controlando tanto su estado como su comportamiento.

LENGUAJE DE TERCERA GENERACION Los lenguajes de programación de tercera generación son la gama de lenguajes de programación para ámbitos computacionales donde se logra un alto rendimiento con respecto a lenguajes de generaciones anteriores. Dichos lenguajes son utilizados por especialistas, programadores, y otros para desarrollar programas y sistemas que requieren de un procedimiento especifico para la computadora. Entre ellos se encuentran C, Fortran, Smalltalk, Ada, C++, C#, Cobol, Delphi, Java, etc. También se considera la existencia de lenguajes de programación de primera, segunda, y cuarta generación. LENGUAJE DE CUARTA GENERACION Los lenguajes de programación de cuarta generación son los lenguajes en los cuales en lugar de escribir cómo deben obtenerse los resultados se especifica cuales resultados son los que se quiere obtener. Por ejemplo los lenguajes de consulta de base de datos (como elSQL) son considerados lenguajes de cuarta generación.

Sign up to vote on this title
UsefulNot useful