Técnicas:
- Modificación en el Acceso: cuando se accede a un objeto, su estructura se compara con la definición de su clase en ese momento, todos los cambios necesarios se hacen antes de que el objeto esté disponible. Como resultado, el gasto extra de la modificación de esquema se reparte entre los accesos a los objetos.
- Versiones de los Esquemas: en vez de requerir que se modifique un objeto para que se ajuste a la definición actual de su clase, las versiones antiguas de la definición de clase se conservan para acceder a los datos. El mantenimiento de múltiples versiones supone espacio extra, esto también complica la codificación de los métodos debido a la necesidad de manejar múltiples versiones de la definición de clase.
Actualmente, se están investigando temas de la gestión de modificación de esquemas. En las notas bibliográficas se hace referencia a algunas propuestas iniciales y descripciones de implementaciones.
Verificación Automática de la Integridad Semántica:
Se espera no solamente que los D. B. M. S. de 5ta. generación sean más flexibles y tengan mayor independencia de datos que los sistemas actuales, sino también que tengan mecanismos de Verificación de Integridad más poderosos. Estos incluirán también rutinas sintácticas más poderosas para: verificar, deletrear y también rutinas de Verificación de Integridad Semántica.
¿Qué es la Integridad Semántica?:
Por Integridad Semántica queremos decir que es la adaptación de la base de datos con las restricciones derivadas de nuestro conocimiento de lo que está y no está permitido en aquella parte del universo que esté representada por los datos de la base de datos. El mantenimiento de la Integridad semántica implica evitar que se inserten en la base de datos los datos los datos que representen un estado no permitido del universo.
Algunos Enfoques para el Mantenimiento Automático de la Integridad Semántica:
Se obtiene un enfoque directo para el mantenimiento de la Integridad Semántica a partir de las sugerencias de: Abrial (1974) y Florentin en el mismo año. Esto implica dos (02) pasos:
- Proporcionar al instalador de la base de datos un lenguaje para especificar las restricciones semánticas.
- Usar las restricciones para examinar los datos presentados para su inserción en la base de datos.
Normalmente, el instalador de la base de datos debería ser capaz de especificar las restricciones que el sistema usa después para mantener la Integridad Semántica automáticamente, sin embargo, este enfoque observarse con precaución dos (02) tipos de problemas que son:
- porque para los lenguajes en general no se puede dilucidar si las restricciones expresadas en ellos son consistentes en sí. Este problema sólo se puede solucionar si el lenguaje en el que las restricciones están expresadas es decidible.
Esto se puede ilustrar con un ejemplo, dada una relación de progenitor, una restricción semántica podría declarar que el subgrafo que contenga solamente bordes etiquetados con progenitor debe estar libre de bucles, es decir, ninguno puede ser su propio progenitor. Verificar esta restricción es probable que resulte costoso, si la base de datos contuviera además la facha de nacimiento, entonces, la restricción anterior podría sustituirse por una restricción que declarará que la fecha de nacimiento del programa debe preceder la del hijo. Sin embargo, estas consideraciones no han retrasado el desarrollo del enfoque de dos (02) pasos, y se ha conseguido progresar gracias a los trabajos de:
- Abrial (1974): ha señalado la aparición de la semántica de la base de datos que culminaría poco después con las publicaciones de Chen (1976) de la entidad-relación y el modelo de Smith y Smith (1977) el resumen de los datos ideas. Una base de datos es un modelo de la realidad que rodea la evolución de los negocios de la empresa, incluido su último conjunto de transacciones de la rendición de cuentas, su actual conjunto de compromisos y las reivindicaciones, y su futuro conjunto de planes y políticas.
- Florentin (1974): fue uno de los 1eros. en proponer que el cálculo de predicados se podría usar para la especificación precisa de restricciones de integridad semántica, sin embargo, declaró que la manipulación de una fórmula lógica probablemente resultaría demasiado fastidioso para considerarla útil como método práctico del mantenimiento de la integridad semántica. Esta conclusión viene acompañada de una referencia al trabajo realizado por Robinson (1967).
- Chamberlain, Eswaran y Stonebraker (1975): tratan del mantenimiento de la integridad semántica de bases de datos relacionales, las restricciones están especificadas en dos (02) lenguajes de consulta relacionales: SEQUEL y QUEL respectivamente (se ha dado ya una breve descripción de cómo se refuerzan las restricciones expresadas en QUEL).
- Hammer y Mc. Leod (1975): han realizado un enfoque más general, aunque describen su trabajo en el contexto de un sistema de base de datos relacional, avanzan hacia el diseño de un lenguaje de especificación de restricciones de propósito especial. El trabajo de estas dos (02) personalidades presenta varios ejemplos útiles de restricciones.
- Biller y Neuhold (1978): reconocen también la necesidad de generalizar e indican que asería difícil traducir una restricción de integridad formulada en función de una perspectiva específica, por ejemplo, la perspectiva relacional en restricciones expresadas en función de otra perspectiva, por ejemplo, la perspectiva jerárquica. En consecuencia, desarrollaron una perspectiva conceptual abstracta que usa los conceptos de entidad, tipo de entidad y relación. Las restricciones se expresan de acuerdo a esta perspectiva en un lenguaje llamado LDDL, aunque LDDL tiene una base semántica sencilla, su base sintáctica es compleja, por ejemplo, hay siete (07) clases distintas de definición de tipo.
- Cardinalidad,
- Equivalencia.
Sugieren una técnica similar a la que Abrial (1974) propuso para expresar restricciones de Cardinalidad.
- Roussopoulos (1979): hizo la siguiente contribución significativa con su lenguaje CSDL, que facilita: la especificación, modificación y examen de restricciones a través de medios de apoyo de alto nivel.
- Bernstein, Mylopoulos y Wong (1980): dieron un gran paso adelante al diseñar un lenguaje llamado TAXIS, las restricciones de integridad semántica se consideran requisitos previos o condiciones resultantes de transacciones que se deben cumplir si el efecto de la transacción tiene que ser aceptad. Mylopoulos y otros dan varios ejemplos de restricciones de integridad semántica, su principal contribución fue reconocer que las restricciones definidas en una clase de entidades o transacciones deberían heredarse automáticamente mediante subconjuntos de esa clase.
Tipo
Persona = nombre objeto : tipo de nombre;
número : seguridad social;
sexo : (Hombre, Mujer) no ordenado;
dirección : tipo de dirección;
título : (Profesor, Tutor, Estudiante);
claves : nombre, número
nombres de las dependencias dirección sexo título
objeto final;
El refuerzo de las restricciones semánticas implicadas por esta especificación se puede llevar a cabo automáticamente mediante rutinas normales de verificación de tipos, por ejemplo, la restricción "los objetos persona" sólo pueden ser de sexo Masculino o Femenino, lo cual está implícito en el ejemplo, se refuerza fácilmente. Sin embargo, no es fácil ver cómo restricciones más complejas tales como: una persona no puede ser hijo de alguien nacido en una fecha posterior, podrían expresarse en una declaración de tipos. El trabajo de Brodie resulta interesante debido a que cuestiona las nociones que se usan para distinguir entre sintaxis y semántica.
- Brodie (1980): ha propuesto un enfoque algo diferente, sugiere que las herramientas de tipo de datos se pueden usar para la definición de restricciones semánticas y para el mantenimiento de la integridad semántica. Se proporciona una tipificación fuerte en un sistema de tipo Pascal embebido en un lenguaje llamado BETA, por ejemplo, la especificación del tipo "objeto persona" podría ser:
- Borgida y Wong (1981): han dado dos (02) especificaciones formales de la semántica del lenguaje TAXIS, una de las cuales está basada en axiomas y asertos de corrección parcial y está pensada para verificadores que deseen mostrar que el sistema mantiene la integridad de la base de datos.
DEFINE CONSTRAINT Nativehead (Department) => Dept (Head (Department)) = Department
DEFINIR RESTRICCIÓN El jefe asociado a (Departamento) => Dept (Jefe (Departamento)) = Departamento
Lo que indica que El jefe de un Departamento debe proceder del propio Departamento.
- Shipman (1981): ha diseñado un lenguaje de definición y manipulación de datos denominados DAPLEX, este lenguaje se basa en una perspectiva conceptual llamada perspectiva funcional. Las restricciones pueden expresarse en DAPLEX como lo muestra el siguiente ejemplo:
- Frost y Whittaker (1983).
Lógicas de Valores Múltiples:
Las lógicas que hemos descrito hasta ahora han considerado dos (02) valores que son: Verdadero o Falso, sin embargo, existe una gran cantidad de bibliografía relacionada con lógicas que tienen más de dos (02) valores; por ejemplo, Belnap (1977) ha investigado una lógica de cuatro (04) valores en la cual estos valores son los cuatro (04) estados de conocimiento que una base de conocimientos puede tener con respecto a una proposición "P":
- U: no se ha dicho ni "P" ni "P" a la base de conocimientos.
- T: se ha dicho "P" a la base de conocimientos.
- F: se ha dicho "P" a la base de conocimientos.
- B: se ha dicho "P" y "P" a la base de conocimientos.
Este sistema de cuatro (04) valores es importante para el diseño de sistemas automáticos de pregunta / respuesta, puesto que una base de conocimientos computerizada puede estar en cualquiera de estos estados con respecto a una posición "P". Una de las Lógicas de Valores Múltiples mejor conocida es la Lógica de Tres (03) valores propuesta por Lukasiewicz, su justificación para esta lógica era que a los asertos tales como: "mañana habrá una batalla naval" no se les puede asignar realmente un valor de Verdadero o Falso. En consecuencia, introdujo un 3er. valor "I" que denota un valor de verdad "Intermedio".
Mc. Cawley (1981) muestra cómo se puede modificar la lógica de tres (03) valores de Lukasiewicz, de tal forma, que pueda considerarse que "I" denote el valor "Clase de Verdadero". A continuación se muestra una tabla de Verdad correspondiente a esta interpretación.
A
B
A B
V
V
V
V
I
I
V
F
F
V
V
V
I
I
V
I
F
F
F
V
V
F
I
V
F
F
V
Esta interpretación de "I" como Clase de Verdadero puede generalizarse para dar cabida a grados de verdad, los sistemas que resultan de tal generalización son útiles para tratar con conceptos confusos, tales como: gordo. La lógica borrosa, que se discutirá más adelante intenta también dar cabida a la vaguedad. En Rescher (1969) se puede encontrar una relación de la bibliografía de lógica de valores múltiples.
Lógica Borrosa:
Existe una gran parte del conocimiento del sentido común al que las lógicas convencionales no pueden dar cabida, esto se debe a que el conocimiento de sentido común implica típicamente mucha incertidumbre, por ejemplo, considérese el siguiente fragmento de sentido común "Si un coche que se ofrece como saldo es barato y viejo, entonces, probablemente no estará en buen estado".
Esta declaración está llena de incertidumbre, las lógicas convencionales no admiten gradaciones de verdad y, por tanto, no pueden usarse para representar y razonar con declaraciones de este tipo. La lógica borrosa (véase, por ejemplo, Zadeh, 1983) puede adaptar tal incertidumbre mediante un enfoque semántico, que es bastante diferente del usado en la lógica convencional.
Semántica con Resultados de Ensayos:
Esta semántica se usa para asignar un significado a una proposición de lógica borrosa, en esta semántica se considera que una proposición es una colección de restricciones elásticas, por ejemplo, la proposición "Génesis es castaño claro" representa una restricción elástica del color de cabello de Génesis y la proposición "la mayoría de los gordos no son muy ágiles" representa una restricción elástica del número de gordos ágiles.
En la semántica con resultados de ensayos, el significado de una proposición viene dado por el procedimiento que se usa para computar los resultados de los ensayos de esa propiedad, en general, este procedimiento implica:
- Identificar las variables: x1,……xn, cuyos valores estén limitados por la proposición, en el ejemplo de antes, x1 = color del cabello de Génesis.
- Identificar las restricciones C1,……, Cm introducidas por la proposición.
- Caracterizar cada restricción C1 describiendo un procedimiento de ensayo que asocie a C1 un resultado de ensayo t1 que represente el grado hasta el cual Ci se satisface.
- Agregar los resultados parciales de los ensayos t1,……, tm a un número más pequeño de resultados de ensayos t1,……, tk que representen un resultado global de un vector de ensayo "t". En la mayoría de los casos, t = 1. El procedimiento de ensayo en el punto anterior hace uso de una colección de relaciones borrosas que constituyen una E. D. B. (Explanatory Data Base / Base de Datos Explicativa).
El significado de las relaciones en E. D. B. es conocido por la persona que quiera saber el significado de la proposición, indirectamente, los procedimientos de ensayo y agregaciones usadas en semántica de resultado de ensayos describen un proceso mediante el cual los significados de proposiciones están compuestos de significados de las relaciones constituyentes en la E. D. B., como ejemplo, supongamos que queremos determinar el significado de la proposición: "La nieve es generalmente blanca". Una E. D. B. apropiada incluiría una relación "blanca" y una relación "generalmente", tal que:
Blanco
Generalmente
Ahora, supóngase que S1,……, Sm representa muestras de nieve y que ti (1 i m) representa el grado hasta el cual el color de Si es blanco, así pues, ti es el resultado del ensayo para la restricción del color de Si inducido por "blanco". Usando esta notación, los pasos en el procedimiento de ensayo son:
- Encontrar la proporción de muestras cuyo color sea blanco:
- Calcular el grado hasta el cual satisface la restricción inducida por generalmente: t = grado hasta el cual prop representa generalmente, donde: prop = , es decir, simplemente usamos para buscar un valor en la relación generalmente.
El significado de "La nieve es generalmente blanca" está representado por el procedimiento de ensayo usado para calcular el valor de "t", el ejemplo de antes se obtuvo de Zadeh (1983) donde se da otro ejemplo más complejo.
Lógica Modal:
Las lógicas que se han descrito hasta ahora se denominan lógicas "funcionales de verdad". Cuando determinamos la consistencia o demostramos teoremas en las teorías de tales lógicas, recurrimos a interpretaciones, cada una de las cuales asigna un valor de Verdadero o Falso a las fórmulas atómicas de las teorías implicadas. Esto es particularmente obvio si se usan Tablas de Verdad, por ejemplo, considérese el siguiente par de fórmulas:
- A B: se leen "A" implica "B".
- B C: "B" implica "C".
De estas dos (02) fórmulas podemos inferir A C, construyendo la siguiente Tabla de la Verdad:
A
B
C
A B
B C
A C
@1 Τ
Τ
Τ
Τ
Τ
Τ
@2 Τ
Τ
Τ
@3 Τ
Τ
Τ
Τ
@4 Τ
Τ
@5
Τ
Τ
Τ
Τ
Τ
@6
Τ
Τ
Τ
@7
Τ
Τ
Τ
Τ
@8
Τ
Τ
Τ
En efecto, lo que hemos hecho es considerar ocho funciones: @1 a @8, cada una de las cuales especifica un estado de situación particular en el que: A, B y C tienen varios valores de Verdadero o Falso. De la tabla, puede verse que A C es Verdadero en todos los casos en que A B y B C sean verdaderos, por lo tanto, podemos concluir que A C es una consecuencia lógica de: A B y B C. La validez de esta conclusión es intuitivamente obvia en lo siguiente, donde "N" es algún número y:
- A representa: "N" es divisible por 8.
- B representa: "N" es divisible por 4.
- C representa: "N" es divisible por 2.
Es intuitivamente obvio que A C es una consecuencia lógica de: A B y B C, independientemente de lo que el número "N" sea en realidad; sin embargo, supóngase que:
- A representa: Reagan nació en Francia.
- B representa: Reagan habla francés.
- C representa: Reagan habla francés en La Casa Blanca.
En este caso, no es intuitivamente obvio que A C sea una consecuencia lógica de A B y B C, es decir, dadas las siguientes dos sentencias S1 y S2, no es razonable inferir S3:
- S1: Reagan nació en Francia implica que Reagan habla francés. Esta sentencia tiene que ver con un estado de cosas en el cual se ve que Reagan más bien nació en Francia que en los Edos. Unidos, independientemente de que se den otras circunstancias que se aproximen en gran medida al estado de cosas.
- S2: Reagan habla francés implica que Reagan habla francés en La Casa Blanca. Esta tiene que ver con estados de cosas en los cuales Reagan sería un hombre de habla francesa viviendo en La Casa Blanca, independientemente de que se den otras circunstancias que se aproximen al estado real de cosas
- S3: Reagan nació en Francia implica que Reagan habla francés en La Casa Blanca.
Esta inferencia es intuitivamente errónea, porque las sentencias S1 y S2 relacionan estados diferentes de situación o mundos posibles. Pero las otras circunstancias no son las mismas en los dos (02) casos y como resultado, los estados de cosas con los que la 1era. sentencia tiene que ver que no se superponen con los de la 2da. sentencia: si Reagan hubiera nacido en Francia, no hubiera sido Presidente de los Edos. Unidos y, por lo tanto, presumiblemente no viviría en La Casa Blanca; este ejemplo se obtuvo de uno dado por Mc. Cawley (1981), donde se discuten otros ejemplos similares.
Las lógicas consideradas hasta ahora no pueden dar cabida a la distinción entre estados de cosas o mundos posibles, tales como los que aparecen en el ejemplo anterior, ni pueden dar cabida a los estados de cosas que existan en las creencias de: las personas, códigos morales, etc. Para tratar con tales cosas, los lógicos han desarrollado una lógica denominada Lógica Modal, el objetivo de las siguientes secciones es dar una breve descripción de Lógicas Modales y discutir su empleo en sistemas de bases de conocimiento.
¿Qué es una Lógica Modal?:
Snyder (1971) ha descrito la Lógica Modal como aquella que permite razonar con declaraciones que están en modo subjuntivo en lugar de estar en indicativo, las declaraciones subjuntivas afirman:
- Lo que debe ser.
- Lo que debería ser.
- Lo que podría ser.
- Lo que se cree que es.
- Lo que se desea que sea.
- Lo que será en un futuro, entre otras.
Tales declaraciones son diferentes de las de indicativo, que simplemente afirman lo que es. Las lógicas clásicas funcionales de verdad se ocupan de declaraciones en indicativo, las declaraciones modales pueden ser detectadas mediante la presencia de operadores modales. Una característica formal de los operadores modales es que forman declaraciones cuyos valores de verdad no son una función de los valores de verdad de las declaraciones sobre las cuales se opera, por ejemplo, considérese las siguientes declaraciones:
- John tiene apendicitis.
- Se da el caso de que John tiene apendicitis.
- Es posible que John tenga apendicitis.
Las declaraciones 1º.- y 2º.- no son modales, la declaración 2º.- es Verdadera iff 1º.- es Verdadera. La declaración 3º.- es modal, es Verdadera si 1º.- lo es, pero puede ser interpretada como Verdadera o Falsa si 1º.- es Falsa.
Los 1eros. trabajos sobre lógica modal se ocupaban principalmente de declaraciones que contuvieron los operadores «es posible que» y «es necesario que» y sus negaciones, más tarde, los lógicos consideraron declaraciones que contuvieron operadores tales como:
- Siempre se dará el caso de que.
- Es obligatorio que.
- Es permisible que.
- Se sabe que.
- Se cree que, entre otras.
Todas estas declaraciones se califican como modales bajo la descripción de modalidad dada por Snyder, así, la lógica modal se relaciona con estados de cosas o mundos posibles además del existente.
Operadores Modales Monádicos y Diádicos:
Estos operan sobre declaraciones únicas, todos los ejemplos de antes son Monádicos, los operadores modales diádicos forman nuevas declaraciones a partir de pares de declaraciones. Se han hecho varios intentos para formalizar un operador modal diádico "si… entonces", en concreto, se han definido dos (02) operadores:
- Implicación Estricta.
- Vinculación.
En Lógica Clásica, la fórmula material de implicación P Q es equivalente por definición a la negación de la conjunción P Q, es decir, P implica materialmente Q iff no se da el caso de que P sea Verdadero y Q Falso, por otro lado, la fórmula de Implicación Estricta es: "P implica estrictamente Q", es equivalente a la imposibilidad de la conjunción P Q.
Reglas de Interferencia y Axiomas Lógicos Modales Particulares:
La Lógica Proposicional Modal Alezeia incluye:
- Toda la maquinaria de lógica, Proposicional Clásica empleada para incluir los símbolos: y .
- La definición DF1 anterior.
- Algunas reglas adicionales de inferencia y axiomas lógicos.
En este punto, describiremos una regla de inferencia y un axioma lógico que se encuentran en muchos sistemas modales básicos, más adelante, se describirán algunos axiomas lógicos adicionales que pueden añadirse a los sistemas de lógica modal para producir ampliaciones en aplicaciones concretas.
La regla descrita se llama "Regla de Gödel (1933) o Regla de Necesidad", esta regla es apropiada para la mayoría de los sistemas modales, puesto que recoge la noción de que si algo es lógicamente Verdadero, entonces, es necesariamente Verdadero.
Puesto que la mayoría de los sistemas modales tratan solamente de mundos posibles que son también lógicamente posibles la Regla de Gödel se encuentra o puede demostrarse en la mayoría de los sistemas modales, la Regla puede definirse como sigue a continuación: "de ├ P inferir P.
Esta regla significa que, si "P" es un teorema del sistema modal que se está usando, es decir, un axioma lógico del sistema modal, entonces P es también un teorema, adviértase que esto no significa que, si "P" es un axioma propio de alguna teoría modal "T", entonces P es también un teorema de "T". Además, de la regla de inferencia anterior, muchos sistemas modales incluyen el siguiente axioma lógico:
ALM: [P Q] [ P Q]
Es decir, si es necesario que cada vez que "P" sea Verdadero "Q" sea también Verdadero, se deduce que, si "P" es necesario, entonces Q también lo es. El axioma ALM se obtiene de nuestra comprensión intuitiva acerca de la noción de necesidad.
Axiomas Lógicos Adicionales para Sistemas Modales Particulares:
Los sistemas modales básicos pueden ampliarse mediante la adición de axiomas lógicos, al añadir estos axiomas, se incrementa el número de deducciones que pueden hacerse en sus teorías. Los axiomas descritos a continuación se relacionan con las diversas propiedades de la relación de accesibilidad, por consiguiente, pueden añadirse, como se requiera, a un sistema modal básico para construir un sistema que sea más apropiado a una aplicación dada.
Por ejemplo, si la aplicación tiene una relación de accesibilidad reflexiva y transitiva, pero no simétrica, entonces se puede construir un sistema modal apropiado a partir de un sistema modal básico junto con los axiomas AL1 y AL2 siguientes:
- Si "R" es reflexiva, entonces el siguiente axioma es apropiado: AL1: P P, es decir, si P es Verdadera en algún mundo w, entonces "P" es Verdadera en w, puesto que w es accesible desde sí mismo.
- Si "R" es transitiva, entonces es apropiado el siguiente axioma: AL2: P P, es decir, si "P" es Verdadera en todos los wj que son accesibles desde algún mundo wi, entonces "P" es Verdadera en todos los mundos, wk, que sean accesibles desde wj.
- Si "R" es simétrica, entonces el siguiente axioma es apropiado: AL3: P P, esto significa que, si "P" es Verdadera en algún mundo w, entonces "P" es Verdadera en todos los mundos que sean accesibles desde w.
- AL1: P P.
- AL2: P P.
- Si "R" es una relación de equivalencia, entonces son apropiados los siguientes axiomas:
El siguiente ejemplo se refiere a mundos accesibles temporalmente, de acuerdo a nuestra definición anterior de posibilidad temporal, la relación "R" de accesibilidad es en este caso reflexiva y transitiva. Veremos más adelante que ésta no es la única caracterización de "R" para la lógica temporal, sin embargo, por simplicidad, aceptaremos que es adecuada para los propósitos actuales.
Puesto que "R" es reflexiva y transitiva, es apropiado usar los axiomas: AL1 y AL2 de antes, sin embargo, como "R" no es simétrica ni es una relación de equivalencia, no es apropiado usar: AL3 o AL4. Como ilustración, considérese una teoría modal "T" que contiene los siguientes axiomas propios:
- AP1: John Smith está vivo.
- AP2: John Smith está muerto.
- AP3: [John Smith está muerto John Smith está muerto].
- AP4: [John Smith está vivo John Smith está muerto]. Este podría leerse como "en todos los mundos que sean accesibles desde el mundo actual, si John está vivo, entonces John Smith no está muerto".
Como ya se mencionó, puesto que la relación de accesibilidad que estamos aceptando es reflexiva y transitiva, los axiomas: AL1 y AL2 pueden usarse, añadiéndolos a la maquinaria de la lógica Proposicional, cuando se demuestran teoremas en "T".
Sintaxis de un Lenguaje de Lógica Proposicional Modal:
La siguiente gramática independiente del contexto define la sintaxis de un ejemplo de un lenguaje de lógica Proposicional modal, llamaremos a este lenguaje "L3":
terminales = {p, q, r, s,…, , , [, ], }
wff :: = wff wff wff wff formula atómica
fórmula atómica ::= p q r s,…
Las fórmulas atómicas de L3 se representan usando letras tales como: p, q, r, o series de caracteres, si "P" y "Q" son wffs, entonces las siguientes abreviaturas se definen también para L3:
- P Q para [ P Q].
- P Q para P Q.
- P Q para [P Q] [Q P].
- P para P.
- P Q para [P Q].
Como ejemplo, considérese las siguientes wffs de L3, en las cuales las series de caracteres se usan para representar fórmulas atómicas:
- [la luna está hecha de queso verde v la luna no está hecha de queso verde], leído como "es necesariamente Verdadero que la luna esté hecha o no de queso verde".
- todos los triángulos tienen tres (03) lados, leído como "es necesariamente Verdadero que todos los triángulos tengan tres (03) lados".
- [[John tiene un hijo John es varón] John es padre], leído como "es necesariamente Verdadero que si John tiene un hijo y John es varón, entonces John sea padre". Adviértase que esta fórmula puede volver a escribirse como: [John tiene un hijo John es varón] John es padre.
- [Reagan nació en Francia Reagan habla francés], leído como "es posible que si Reagan hubiera nacido en Francia hablaría francés".
- [Reagan habla francés Reagan habla francés en La Casa Blanca], leído analógicamente en el punto anterior.
- [N es divisible por 8 N es divisible por 4], leído como "es necesariamente Verdadero, es decir, Verdadero en todos los mundos posibles, que si N es divisible por 8, entonces N sea divisible por 4".
- [N es divisible por 4 N es divisible por 2], leído como "es necesariamente Verdadero que si N es divisible por 4 entonces N sea divisible por 2".
- P Q para [P Q].
Los operadores modales: , , y y los juntores modales: , , , no son funcionales de verdad como son los operadores: , , , , , por ejemplo, dado el valor de verdad de "P", no se puede determinar, en general, el valor de verdad de "P", sin embargo, algunos valores de verdad se pueden determinar como se ilustra en las siguientes tablas de verdad, en las cuales "I" significa "Indeterminado".
P
P
P
P
P
Τ
Τ
I
I
I
I
I
I
P
Q
P Q
P Q
P Q
P Q
Τ
Τ
Τ
I
I
Τ
I
I
Τ
I
I
I
I
I
I
I
Estas tablas nos dicen, por ejemplo, que:
- si "P" es Verdadero entonces "P" es Verdadero, es decir, si "P" es Verdadero, entonces "P" es Verdadero en algún mundo posible.
- Si "P" es Falso entonces "P" es Falso, es decir, si "P" es Falso entonces no puede ser necesariamente Verdadero en todos los mundos posibles.
Estas tablas suponen una relación de accesibilidad reflexiva.
Reglas de Equivalencia:
A fin de regularizar las fórmulas modales para su procesamiento ulterior, se pueden usar las siguientes reglas de equivalencia además de las definiciones de abreviaturas dadas antes:
- P Q [P Q].
- P Q [P Q].
- P P P.
- P P P.
Por ejemplo: P P Q, puede reemplazarse por: [P [P Q]].
Sistemas de Axiomas Modales de Lewis:
En esta subsección, se describen cinco (05) sistemas diferentes de lógica modal; estos sistemas que llamaremos: S1, S2, S3, S4 y S5, fueron definidos por Lewis (1918 y 1932).
Un Método basado en Resolución para Lógica Modal:
El método de resolución para hacer deducciones en lógica Proposicional clásica se ha extendido para uso en lógica Proposicional modal por Farinas del Cerro (1982), el método es bastante complejo y no es comentado en este informe.
Lógica Modal de Predicados:
El Sistema de Axiomas Barcan (1946):
Este sistema contiene S2, excepto para el axioma P P, junto con los siguientes esquemas de axiomas:
- AS1: X [P Q] [ XQP XQ].
- AS2: P XP, donde: "X" no es independiente en "P".
- AS3: XP X P.
Las reglas de Inferencia son:
- R1: modus ponens para implicación estricta.
- R2: conjunción.
- R3: sustitución uniforme.
- R4: generalización.
De PX inferir: XPX, donde "X" es independiente en "P". El axioma AS3, al que se conoce como "fórmula Barcan", ha sido muy discutido en la literatura técnica debido a ciertas ejemplificaciones de ella. La fórmula Barcan puede leerse como: "si es posible que exista una entidad "X" tal que P (X) sea Verdadero, entonces esto implica que existe una entidad para la cual P (X) es posiblemente Verdadera".
La siguiente ejemplificación contraintuitiva se da en Marciszewski (1981), de acuerdo a la fórmula Barcan, si es posible que la 1era. presidenta de Francia sea rubia, esto implica que existe alguien que sea posiblemente la 1era. presidenta de Francia, tal conclusión existencial es un resultado no deseable, puesto que podemos percibir fácilmente un mundo en el que la posible futura presidenta de Francia no haya nacido todavía. Hay una manera de sortear este problema:
- Aceptamos que la fórmula Barcan es válida en sistemas modales en los cuales todos los mundos posibles tengan el mismo dominio de entidades.
- En sistemas modales en los que mundos posibles tengan diferentes dominios de entidades, debemos usar una lógica modal de predicados en la cual la fórmula Barcan no pueda ser obtenida.
Sistema de Prior (1956) para Lógica Modal de Predicados:
Es una axiomatización del tipo Gödel de S5 junto con dos (02) reglas para cuantificadores tomadas de Lukasiewicz (1951), el sistema completo contiene:
- Cualquier axiomatización completa de lógica Proposicional clásica.
- Estos axiomas adicionales para conceptos modales:
- AS1: [P Q] [ P Q].
- AS2: P P.
- AS3: P P.
- La regla de inferencia de Gödel es: "R1: de ├ P inferir ├ P.
- Reglas de Lukasiewicz para la cuantificación: "R2: de├ [P Q] inferir├ [ X [P Q], donde "X" no es independiente en "Q". "R3: de ├ [P Q] inferir ├ [P XQ].
- La definición: "D1: P para P.
Por tanto, se puede considerar que el sistema de Prior contiene el sistema "M" ampliado a S5 mediante la adición del axioma: P P. junto con las reglas para la cuantificación dadas antes. La fórmula Barcan es obtenible en el sistema de Prior, pero no lo es si el sistema está restringido de tal manera que sólo las fórmulas cerradas estén permitidas.
Enfoque Semántico de Kripke (1963) para la Lógica Modal de Predicados:
En este enfoque, cada mundo posible es una interpretación de una teoría en el sentido usual de la palabra "interpretación", sin embargo, hay una restricción que consiste en que todos los mundos posibles que sean accesibles desde un mundo concreto deben contener el mismo conjunto de entidades y deben concordar en sus asignaciones de entidades a constantes. Esta restricción significa que mundos posibles que sean accesibles desde un mundo concreto sólo difieren en las relaciones de las cuales las entidades forman parte. El siguiente punto discute las Lógicas Temporales, se describe una lógica epistemológica que puede dar cabida a declaraciones tales como: John conoce "P".
Lógica Temporal:
En el informe elaborado hasta ahora, no hemos considerado en realidad estructuras relacionales que varíen con el tiempo, se han desarrollado varios enfoques para tratar con el tiempo: algunos implican ampliaciones a lógicas clásicas, otros implican varios tipos de lógica modal, y uno (01) o dos (02) se basan en lógica intencional. En este apartado, describiremos algunos de los 1eros. dos (02) tipos.
Adaptación del Tiempo en la Lógica Clásica de Predicados de 1er. Orden:
Esta lógica puede usarse para razonar acerca del tiempo, considerando que los tiempos puntuales son como todas las otras entidades en el dominio de una estructura relacional, Lundberg (1982) ha descrito una lógica basada en este enfoque.
Los tiempos puntuales se relacionan entre sí mediante predicados de la misma manera que se relacionan otras entidades, por ejemplo, Lundberg define dos (02) predicados:
- et.
De tal manera, que et (t1, t2) significa que t2 es el sucesor inmediato de t1, las propiedades de las relaciones ET y SS que están representadas por los predicados: et y ss, se expresan en un lenguaje de 1er. orden definido apropiadamente como se ilustra en los siguientes ejemplos:
- x y [et (x, y) tpt (x) tpt (y)]: donde tpt (x) significa que "x" es un tiempo puntual.
- x y [et (x, y) (x = y) et (y, x) tpt (x) tpt (y)]: esto puede leerse como: "para dos (02) tiempos puntuales cualquiera, o bien uno es anterior al otro o son idénticos".
- x y [et (x, y) et (y, z)] et (x, y): esto declara que "et" es transitivo.
- x y [et (x, y) et (y, x)]: esto declara que, si un tiempo puntual es anterior a otro, entonces el contrario no puede cumplirse.
- ss.
Estos ejemplos son versiones ligeramente modificadas de las dadas en Lundeberg. A fin de describir aspectos de las relaciones de tiempo variable, los predicados "n-arios" son reemplazados por predicados /n + 1)-arios, donde el argumento (n + 1)-ésimo es un tiempo puntual.
Por ejemplo, la afirmación "la edad de una entidad nunca decrece" puede expresarse como sigue: v w x y z [edad (x, y, z) edad (x, w, v) et (z, v)] menos que (w, y). Este enfoque es similar al empleo de marcadores de situación en lógica de situaciones, como se describió antes y sufre también el mismo problema de armadura ya discutido anteriormente.
Lógicas Temporales basadas en Modalidad:
Se han desarrollado muchas lógicas temporales basadas en nociones de lógica modal, por ejemplo, en una lógica temporal relativamente sencilla, "siempre" y "a veces" se definen análogamente a "necesario" y "posible" en lógica modal. Las siguientes fórmulas se incluyen generalmente como teoremas de tales lógicas:
- siempre q a veces q.
- siempre q q.
- q a veces q.
- a veces q siempre q..
Las modalidades "siempre" y "a veces" pueden aumentarse con otras modalidades tales como "P" para Pasado y "F" para Futuro, las lógicas resultantes se llaman a menudo lógicas de tiempos (verbales). Ejemplos de fórmulas de tales lógicas son:
- (llueve): significa está lloviendo.
- P (llueve): significa llovió.
- PP (llueve): significa había llovido.
- F (llueve): significa lloverá.
- FP (llueve): significa hubiera llovido.
Se pueden definir otras modalidades en función de: "P" y "F", por ejemplo:
- Hq P q: significa siempre se ha dado el caso de que "q".
- Gq F q: significa siempre se dará el caso de que "q".
La relación en "H" y "G" y «siempre» puede expresarse como sigue:
siempre q Hq q Gq
Lógica de Tiempos Proposicional Mínima (K. T.):
Lemmon (1965) ha desarrollado un sistema axiomático mínimo para una lógica de tiempos tensa Proposicional simple. El lenguaje de K. T. consta del lenguaje de lógica Proposicional, más los operadores: F, P, G y H con significados dados anteriormente. Los axiomas lógicos de K. T. incluyen los de lógica Proposicional, junto con los siguientes:
- G [q r] [Gq Gr].
- H [q r] [Hq Hr].
- H Gq q.
- G Hq q.
Las reglas de interferencia son las de lógica Proposicional clásica más:
- Si "q" es una repetición, inferir Hq.
- Si "q" es una repetición, inferir Gq.
La lógica de K. T. considera que el tiempo consta de una secuencia lineal de estados:
Por tanto, a K. T. se le llama "Lógica Temporal Lineal". Cavali y Farinas del Cerro (1984) han desarrollado un método de decisión automatizado (procedimiento de Prueba) para lógica Proposicional temporal lineal. Su método se basa en una ampliación del método de resolución usado en lógica clásica.
Lógicas Temporales de Ramificaciones:
Más que considerar el tiempo como una secuencia lineal de estados, un enfoque alternativo es tratar el pasado como una secuencia lineal de estados, hasta e incluyendo el presente, y tratar el futuro como una estructura ramificada.
Este enfoque da cabida a la noción de varios "futuros posibles".
Lectura Adicional:
En este punto se han descrito brevemente algunas nociones bastante difíciles:
- La Teoría de Tipos.
- Un Lenguaje Teórico de Tipos.
- El Operador Lambda.
- Semántica Coordinada.
- Intenciones y Extensiones.
Debido a las limitaciones de espacio, las descripciones han sido muy apresuradas, sin embargo, nos parece que estas nociones son extremadamente importantes y que al menos es útil introducirlas a los lectores, para una discusión más detallada de estos conceptos, remitimos a Dowty y otros (1981) y Mc. Cawley (1981).
I. L. (Intensional Logic / Lógica Intensional) de Montague:
Muchos de los conceptos descritos en este punto se han usado en una lógica, denominada I. L, que fue desarrollada por Montague (véase, por ejemplo, Montague 1973 y 1974). I. L. emplea jerarquía de tipos, cuantificación de orden superior (variables y cuantificadores para cada tipo), abstracción lambda para todos los tipos, operadores modales, tiempos verbales y mecanismos sintácticos para tratar con intenciones y extensiones y emplea una teoría de modelos basada en la semántica coordinada.
La perspectiva del universo que sirve de base a I. L. considera que la realidad consta de:
- Dos (02) valores de verdad.
- Un (01) conjunto de entidades (E).
- Un (01) conjunto de mundos posibles (W).
Un espacio funcional se construye inductivamente a partir de objetos de estos tipos básicos, el conjunto de tipos (de objetos y funciones) se define como se observa a continuación:
- "e" es un tipo, que puede ser considerado como tipo (entidad).
- "t" es un tipo, que puede ser considerado como tipo (valor de verdad).
- Si (a).- y (b).- son tipos, entonces <a, b> lo es también. Objetos de tipos <a, b> son funciones de objetos de tipo a los de tipo b.
- Si a es un tipo, entonces <s, a> lo es. Objetos de tipo <s, a> son funciones de índices a objetos de tipo a. los objetos de "tipo" se llaman índices, y son pares <w, t> donde: w W y t T. Los objetos de tipos <s, a> son funciones especiales que se relacionan con intenciones.
- Un (01) conjunto de puntos en el tiempo (T).
Tipos de Lógica:
- Logical Comparison (Comparación Lógica): operación que tiene por objeto probar dos (02) operandos con el fin de determinar su igualdad o el valor de cada uno de ellos respecto al otro.
- Logical Connectives (Operadores Lógicos): operadores o palabras, tales como: And (Y), Or (O), Or Else (O Si, No), If Then (Si Entonces), Neither Nor (Ni Tampoco) y Except (Salvo, Excepto) que forman nuevas afirmaciones o expresiones partiendo de afirmaciones dadas, y que tienen la propiedad de que la verdad o la falsedad de las nuevas afirmaciones pueden calcularse tomando como base la verdad o la falsedad de las afirmaciones dadas y el significado lógico del operador.
- Logical Data (Datos Lógicos): datos que constan de códigos de caracteres numéricos o alfabéticos y pueden aparecer en forma de octetos de longitud fija o de longitud variable, ocupando desde 1 a 256 octetos. Carecen de signo.
- Logical Decision (Decisión Lógica): opción o posibilidad de elección, entre dos (02) alternativas que se refieren a determinadas condiciones, por ejemplo, podría tratarse de dos (02) vías alternativas de elección en una rutina, en las cuales cada una de ellas conduce a un resultado diferente.
- Logical Depth (Profundidad Lógica): profundidad lógica de un miembro estructural indicada por un número de nivel cuando todos los números de nivel se hallan en secuencia directa, es decir, cuando el incremento entre números de nivel sucesivos es uno (01) (PL/I).
- Logic Design (Concepción Lógica, Diseño Lógico): especificación de las relaciones de trabajo existentes entre las partes que integran un sistema, expresadas en términos de lógica y sin atender especialmente a la implementación de los componentes físicos.
Planificación y determinación de las funciones lógicas que se incorporarán en un sistema de ordenador, previas a su diseño técnico.
- Logical Design / Logic Design (Estructura Lógica): configuración funcional de una máquina y en particular de un ordenador.
Diagrama que, mediante símbolos gráficos, representa elementos lógicos y sus interconexiones, excluyendo los detalles técnicos o de construcción.
- Logical Diagram / Logic Diagram (Diagrama de Lógica, Diagrama Lógico): diagrama que representa un diseño o concepción lógicos y, a veces, la implementación de los componentes físicos.
En un ordenador o sistema de proceso de datos, elemento modular más pequeño susceptible de representarse por medio de operadores lógicos en un sistema apropiado de lógica simbólica. La puerta "Y" lógico (And) y la puerta "O" lógico (Or) son elementos lógicos característicos: pueden representarse como operadores en una lógica simbólica adecuada.
- Logical Element / Logic Element (Elemento de Lógica, Elemento Lógico): dispositivo que realiza una función lógica (ver Combinational Logic Element / Combinación de Elementos de Lógica y Sequential Logic Element / Secuencia Lógica de Elementos).
- Logical Expressions (Expresiones Lógicas): expresiones formadas por: constantes, variables, elementos de matrices, referencias de función lógicas y combinaciones de estos operandos, separadas por: operadores lógicos y por paréntesis. Una expresión lógica puede contener expresiones aritméticas separadas por operadores de relación y separadas de los demás elementos especificados por operadores lógicos y paréntesis, puede asumir solamente uno (01) entre dos (02) valores: Verdadero o Falso.
Fichero de datos que se ha descrito al S. O. Básico mediante el empleo de una macroinstrucción del D. T. F. (Define The File / Definición de Ficheros). Obsérvese que un fichero de datos se describe al S. O. valiéndose de un método de definición diferente. Las publicaciones que tratan del S. O. hacen referencia a un fichero de datos descrito de esta otra forma denominándolo conjunto de datos (data set).
- Logical File (Fichero Lógico): colección formada por uno (01) o más registros lógicos.
- Logical Flowchart / Logic Flowchart (Ordinograma Lógico, Diagrama de Flujo Lógico): diagrama que representa una serie de operaciones que indican la lógica que ha de seguirse para ejecutar un determinado trabajo, comprende: la entrada, las operaciones aritméticas y lógicas y la salida, así como su interrelación con las unidades físicas que sirven de vehículo de ejecución.
- Logical Functions (Funciones Lógicas): nombre con que se denomina a las etapas no aritméticas del proceso de datos, tales como: la comparación de operandos, la edición y la comprobación.
- Logical Input / Output Control System (Sistema de Control de Entrada / Salida Lógico): juego completo de macros y rutinas que se facilita con destino a la creación, recuperación y actualización de los ficheros de datos
- Logical Instruction / Logic Instruction (Instrucción Lógica): instrucción que ejecuta una operación que está definida en lógica simbólica, tal como: "Y" lógico (And), "O" lógico (Or) o Ni (Nor).
- Logical I. O. C. S. / Logical Input / Output Control System: a.
- Logical Multiply (And): a.
Método por el que se combinan dos o más sentencias, a fin de que pueda determinarse si el valor resultante es Verdadero o Falso.
- Logical Operation / Logic Operation (Operación Lógica): tipo de operación en el que los caracteres se tratan considerándolos, no como números, sino como: caracteres, bits, valores Verdaderos / Falsos, entre otros.
Símbolo matemático que representa un proceso que ha de efectuarse con un operando asociado.
- Logical Operator (Operador Lógico): en programación, operador que indica la relación existente entre las dos (02) partes de una instrucción lógica.
Registro que se identifica o define en razón de su contenido, función y uso, más que desde el punto de vista de sus atributos físicos, es decir, aquel registro que se define en función de la información que contiene. Estos registros difieren, en tamaño, de los registros físicos en que están contenidos.
Conjunto de caracteres próximos, que el programa de Clasificación / Fusión (Sort / Merge) procesa considerándolos como una (01) sola unidad.
- Logical Record (Registro Lógico): colección de unidades de información, consideradas independientemente de su configuración física.
- Logical Shift (Desplazamiento Lógico): desplazamiento que afecta a todas las posiciones (véase: Cyclic Shift y Logic Shift).
- Logical Sum (Suma Lógica): resultado de la operación "O" inclusivo, ver hasta Or (O).
Símbolo que se usa para representar un operador o elemento de conexión lógico. Este signo indica la operación concreta que ha de efectuarse en las variables asociadas.
- Logical Symbol / Logic Symbol (Símbolo Lógico): símbolo que se emplea para representar gráficamente un elemento lógico.
- Logical Unit Block (Bloque de Unidad Lógica): denominación con que se designa cada una de las entradas o inscripciones contenidas en la tabla de unidades lógicas.
- Logical Unit Table (Tabla de Unidades Lógicas): parte del monitor (básico). Consta de bloques de unidades lógicas, cada uno de los cuales hace referencia a una determinada dirección simbólica de Entrada / Salida y contiene la dirección de un bloque de unidad física. Estas direcciones simbólicas guardan relación con las direcciones físicas de los dispositivos de Entrada / Salida por medio de las sentencias de control Assgn.
Lenguajes de Programación y Procesamiento del Conocimiento:
Introducción:
Nos ocuparemos en esta parte del empleo de lenguajes de programación para:
- Representar conocimiento.
- Expresar órdenes para manipular conocimiento.
La distinción no es fundamental puesto que se puede considerar que los programas en sí mismos constituyen conocimiento, sin embargo, es útil distinguir entre escribir declaraciones que digan a un ordenador algo y escribir órdenes imperativas que digan a un ordenador que haga algo. Se supone que el lector está familiarizado con al menos un lenguaje de programación de alto nivel y que tiene nociones de cómo se pueden traducir lenguajes de programación a códigos ejecutables, sin embargo, a título recordatorio, comenzamos dando algunas notas sobre gramáticas y traductores, y mostramos después cómo se pueden definir las semánticas de lenguajes de programación.
A esto sigue una exposición de varios términos que se usan comúnmente para describir lenguajes de programación, por ejemplo: procesal, declarativo, funcional, consulta de bases de datos, programación lógica, etc. La mayoría de estos términos están definidos con mucha imprecisión en el lenguaje técnico, sin embargo, sirven para dar el "perfume" de un lenguaje. Concluimos este punto exponiendo tres (03) lenguajes particularmente importantes en el trabajo de sistemas de bases de conocimiento:
- LISP.
- PROLOG.
- PS_algol.
La habilidad para diseñar lenguajes y escribir traductores es muy útil para todo aquel que desee embarcarse en una carrera relacionada con sistemas de bases de conocimiento. Las notas que constituyen este punto son por supuesto comprensibles y deberían ser consideradas como instrucción a los temas de los que se ocupan. Se incluyen referencias del material aconsejable para una lectura más detallada. Empezamos exponiendo la sintaxis de los lenguajes de programación.
Sintaxis:
Un lenguaje está definido por su sintaxis y su semántica. La sintaxis consta de reglas para determinar qué secuencias de símbolos son sentencias "bien definidas" del lenguaje y cuáles no. La semántica de un lenguaje consta de reglas para atribuir significado a sentencias bien formadas, por ejemplo, se podría tener un lenguaje L3 que estuviera definido por la sintaxis y semántica siguientes:
- Sintaxis de L3: las sentencias bien formadas de L3 constan de un símbolo entero o un símbolo entero seguido de «+» seguido de un símbolo entero, por ejemplo, lo siguiente son sentencias bien formadas de L3:
- 3.
- 3 + 2.
- 17.
- Semántica de L3:
- Un símbolo entero representa un entero.
- Una sentencia bien formada de la forma: símbolo ent. -1 + símbolo ent. -2; representa el entero que es la suma de enteros representada por: símbolo ent. -1 y símbolo ent. -2.
Un problema con tales definiciones informales de sintaxis y semántica es que son muy erradas, por lo tanto, se las puede interpretar incorrectamente. Además, puesto que las reglas de sintaxis no están especificadas en un formato estándar es difícil diseñar procesos de propósito general mediante los cuales las reglas de sintaxis puedan ser transcritas a programas para comprobar automáticamente una sentencia a fin de ver si está bien formada.
Se introducen en este apartado algunas técnicas para la especificación formal de reglas de sintaxis de una clase particular de lenguajes, llamados lenguajes independientes del contexto, se muestra también la forma de poder usar estas especificaciones formales para reconocer manualmente sentencias que estén bien formadas. Por último, se muestra la manera de poder transcribir las especificaciones formales de las reglas de sintaxis a programas que realicen automáticamente la tarea del reconocimiento.
Gramáticas Independientes del Contexto:
Una gramática es un conjunto de reglas que determinan qué secuencias de símbolos son sentencias bien formadas del lenguaje definido por la gramática.
Proposición de Reconexión:
Para pasar un registro de tipo <tipo de registro> de una ocurrencia de un conjunto a otra ocurrencia del conjunto de tipo <tipo de conjunto> es preciso localizar el registro apropiado y al dueño de la ocurrencia de conjunto a la que se transferirá ese registro. Una vez hecho esto, puede transferir el registro ejecutando el comando: reconnect <tipo de registro> to <tipo de conjunto>.
Para dar un ejemplo se escribirá un programa en DBTG para pasar todas las cuentas de Lowman, que actualmente están en la sucursal Hillside, a la sucursal Valleyview:
cuentahabiente.nombre: = "Lowman";
find any cuentahabiente Using nombre;
find first cuenta within CthabCta;
while DB-status = 0 do
begin
find owner within SucCta;
get sucursal;
if sucursal.nombre= "Hillside" then
begin
sucursal.nombre: = "Valleyview";
find any sucursal using nombre;
reconnect cuenta to SucCta;
end
find next cuenta within CthabCta;
end
Inserción y Retención de Conjuntos
Cuando se define un conjunto nuevo es necesario especificar la forma en que se van a insertar los registros miembros, además, deben aclararse las condiciones bajo las cuales los registros deben retenerse en la ocurrencia de conjunto en la que se insertaron inicialmente.
Inserción en Conjuntos:
Un registro recién creado, del tipo <tipo de registro>, de un conjunto de tipo <tipo conjunto>, puede agregarse a una ocurrencia del conjunto, ya sea en forma explícita (manualmente) o implícita (automáticamente). Esta distinción se establece en el momento de definir el conjunto mediante: insertion is <modo de inserción>; donde <modo de inserción> puede ser:
- Manual: el registro nuevo puede insertarse en el conjunto manualmente (explícitamente) ejecutando el comando: connect <tipo de registro> to <tipo de conjunto>.
- Automático: el registro nuevo se inserta automáticamente (implícitamente) en el conjunto en el momento en que se crea, es decir, cuando se ejecuta el comando: store <tipo de conjunto>.
En ambos casos, inmediatamente antes de la inserción, el apuntador de actualidad de <tipo de conjunto> debe estar apuntando a la ocurrencia de conjunto en la cual se hará la inserción. Para ilustrar este procedimiento, considérese la creación de la cuenta 535 que pertenece a Lowman y que está en la sucursal Valleyview. Supóngase que la inserción es manual para el tipo de conjunto CthabCta y automática para el tipo de conjunto SucCta, el programa en DBTG apropiado será:
sucursal.nombre: = "Valleyview";
find any sucursal Using nombre;
cuenta.número: = 535;
cuenta.saldo: = 0;
store cuenta;
cuentahabiente.nombre: = "Lowman";
find any cuentahabiente using nombre;
connect cuenta to CthabCta;
GLOSARIO DE TÉRMINOS
– L –
- Log (Anotación Cronológica, Registro Cronológico): anotación de todo lo relativo a una pasada de máquina, incluyendo la identificación de la propia pasada, el registro de las alteraciones, las posiciones de los interruptores, la identificación de las cintas de entrada y de salida, la copia de las informaciones introducidas por teclado, la identificación de todas las paradas y el registro de las medidas adoptadas en todas las paradas.
- Logarithm (Logaritmo): logaritmo de un número es el exponente que indica la potencia a la que es preciso elevar un número dado, llamado base, para obtener el número original.
- Log Book (Libro-Registro, Diario de Operaciones): diario en el que se anotan los datos más destacados de las actividades que tienen lugar en el curso de la utilización de un sistema.
- Logger (Registrador Cronológico Automático): dispositivo que registra automáticamente los procesos físicos en función del tiempo.
- Logging (Anotación de Errores): acción mediante la cual se transcriben automáticamente al registro de anotación de errores (Log) todas las condiciones anormales de proceso que generan un error (ver Log, Failure Logging). s
- Logic (Lógica): ciencia que trata de las leyes y criterios de validez que rigen el pensamiento y la demostración; ciencia de los principios formales del razonamiento.
Principios básicos y aplicaciones de las tablas de verdades, de las relaciones de proposiciones, de las interrelaciones de los elementos de los circuitos de conexión-desconexión, etc., en el cálculo matemático realizado mediante un ordenador (ver: Formal Logic y Symbolic Logic).
Plan sistemático que define las interacciones de las señales en el diseño de un sistema automático de datos.
- Log (to) (Anotar, Consignar, Registrar): imprimir o uno (01) o más valores, los valores podrían ser los valores instantáneos de variables o los valores medios o calculados.
- Longitudinal Check (Verificación Longitudinal, Comprobación Longitudinal): sistema de control de errores que se basa en la comprobación de que se cumplan ciertas reglas para la formación del grupo de bits que ocupan el mismo orden numérico en todos los caracteres de un bloque.
- Longitudinal Parity Check (Verificación de Paridad Longitudinal): el terminal de la línea de datos del extremo emisor genera un carácter de paridad longitudinal durante la transmisión de los caracteres de datos, se trata, esencialmente, de una cuenta de verificación de la paridad par de todos los bits, en cada uno de los niveles de bit, de todos los caracteres de datos del mensaje, incluyendo el código de principio de mensaje, pero no el código de fin de mensaje. Esta misma cuenta también se genera para los bits de los caracteres de datos que entran en el terminal de la línea de datos del extremo receptor.
- Longitudinal Redundante (Redundancia Longitudinal): condición en la que los bits de cada pista o cada hilera de un registro no totalizan un número par o impar. Este término se emplea, generalmente, para referirse a los registros grabados en cinta magnética. Un sistema puede tener paridad longitudinal par o impar.
– S –
- Subgrafo: es un conjunto de puntos de entre el total de los puntos del grafo de una red junto con los arcos que los unen.
Autora:
Emily
Venezuela
- Bracchi, Paolini y Pelagatti (1978): discuten la integridad semántica en relación al tópico principal de transformación de perspectivas externas en un modelo de datos común, por esta razón, limitan su atención a dos (02) tipos de restricciones:
- porque para examinar los datos en función de la restricción completa de integridad se podría requerir el acceso a una posición grande de la base de datos, el sistema debe ser capaz de optimizarlo. Este problema se puede explicar de la siguiente forma: dada una restricción, el sistema debe ser capaz de determinar cuánto costaría aplicar dicha restricción normalmente, este costo se debería estimar cuando las restricciones fueran formuladas, permitiendo por consiguiente que el usuario sustituya las restricciones costosas por unas más baratas.
Página anterior | Volver al principio del trabajo | Página siguiente |