miércoles, 18 de enero de 2012

II. Bases de datos orientadas a Objetos

Explique las estructuras de objetos, constructores de tipos, Encapsulamiento de operaciones, métodos y persistencia


Estructuras de objetos:
Los componentes básicos en una estructura de objetos, son los objetos y literales. Para esto se define a objeto como la instancia de una entidad del mundo real que nos interesa.
Este tiene un identificador. El literal es un valor específico y no cuenta con identificadores.
Estos objetos pueden organizarse en tipos. Cada uno de estos tipos tiene un dominio, el cual es compartido por todos los objetos y literales.
Un objeto puede requerir datos de entrada y devolver un valor. Las propiedades que posee son sus atributos y las relaciones.
Constructores:
Los diferentes tipos de objetos tienen un método que se encarga de construir nuevos objetos a partir de ese. El nombre del método será igual al nombre del tipo y los parámetros de este (método) serán los atributos del tipo de objetos. Un constructor de utiliza para inicializar y devolver una instancia de el mismo tipo de objeto al cual pertenece.
Encapsulamiento de operaciones:
El método de encapsulamiento se especifica en la implementación que lleva al comportamiento de cierto objeto. Este método se basa en ocultar los secretos de cierto objeto que no favorecen a sus características principales. Existen dos versiones del encapsulamiento: la primera es la del lenguaje de programación y la otra es la adaptación de esta visión para la base de datos. Una base de datos presenta diversas operaciones y datos; sin embargo partiendo de este concepto, no es claro si la parte estructural será parte de la interfaz. En los lenguajes de programación ocurre lo contrario pues la estructura es parte de la implementación y no de la interfaz. Ante esto de resume que el encapsulamiento es una forma lógica de independencia de datos pues se puede modificar la implementación de un tipo sin modificar o cambiar ninguno de los programas que usan ese mismo tipo.
Métodos:
Una vez creado un tipo de objeto, se realiza la especificación de los métodos. Estos de pueden ejecutar sobre objetos de un mismo tipo. Si x es variable que almacena objetos del tipo CLIENTE, entonces N_CLIENTE calcula el nombre del cliente almacenado en la variable x.
Métodos constructores de tipo: Los diversos tipos de objetos tienen, por defecto, asociado un método que se encargará de construir nuevos objetos de este. Justamente este método se refiere a constructores pues el nombre de dicho método será el mismo que el objeto y sus parámetros serán sus atributos.
Métodos de comparación: Como su mismo nombre lo dice, este método se usan para que los diversos objetos de cierto tipo puedan compararse. Se lleva a cabo mediante un criterio de comparación; para este es necesario seleccionar entre un método MAP o un método ORDER:
-       El método ORDER usa los atributos del objeto para compararlos con otro objeto del mismo tipo. Devuelve un valor negativo si el primero es mayor que el segundo,  positivo si el segundo es mayor y nulo si los dos son iguales. Se habla de cantidades pues este método, además de comparar realiza un cálculo.
-       El método MAP es usado para tener conocimiento qué atributo se va a usar para ordenar los objetos del tipo.
Persistencia en objetos:
Existen tres tipos en los que se puede dar la persistencia de algunos datos.
 - Persistencia por clases: Este tipo de persistencia es la menos conveniente pues, a pesar de ser el más sencillo, consiste en considerar a una clase entera como persistente. Entonces, todos los objetos pasarían a ser persistentes de manera predeterminada.
- Persistencia por creación: En este enfoque de persistencia se introduce una nueva sintaxis para crear los objetos persistentes. Así los objetos pasarán a ser persistentes  en función de la manera en cómo fueron creados.
- Persistencia por marcas: Este enfoque es una variante de la persistencia por creación   pues se marcan a los objetos como persistentes. La diferencia es que si un objeto tiene que persistir más allá de la ejecución del programa, se le marca como explícito; además se espera hasta después de la creación del objeto.
- Persistencia por alcance: Como fue mencionado anteriormente, uno o varios objetos se marcan como objetos persistentes de manera explícita. A partir de esto, todos los demás objetos serán persistentes sólo si son alcanzables desde el objeto persistente de manera explícita mediante una secuencia de una o varias referencias.

Explique las jerarquías de tipos, de clases y herencia
Jerarquías de tipos y herencia:
Un requisito importante en las bases de datos orientada a objetos es la jerarquía de tipos. Esta es la posibilidad de definir nuevos tipos basándose en otros tipos predefinidos. Para poder definir un tipo, se le asigna un nombre de tipo y sus respectivas funciones, estas incluyen atributos y métodos. Hay casos en el que las funciones de algún tipo están incluidas en las de otro. En estos casos es conveniente que sea un  subtipo, esto quiere decir que hereda las variables del otro tipo, el cual se denomina supertipo. Es decir, el subtipo tiene todas las funciones del supertipo y algunas funciones propias adicionales. Los vínculos que se generan al crear estos tipos se llaman vínculos supertipo-subtipo.

Jerarquía de clases:

Una clase es una colección de objetos que tienen el mismo tipo. Generalmente, se define por un nombre y por la colección de objetos que incluyen. En las clases también es conveniente definir subclases y superclases. Algunos sistemas orientados a objetos tienen una clase predefinida.
La clasificación de las clases es mediante la especialización de objetos, se analizan los objetos y se buscan las semejanzas entre sus atributos. De este modo se logra la jerarquía de clases.
Anteriormente vimos que hay dos tipos de objetos: persistentes y transitorios. Si en una clase tienen objetos transitorios, esta sera una clase transitorio. Al contrario, si la clase contiene objetos persistentes, esta es una clase pesistente.


Buscar SGBDOO (Sistema Gestor de Base de Datos Orientada a Objetos)

También llamada SGBDOO, es un conjunto de datos relacionados entre sí y un grupo de programas para tener acceso a estos determinados datos.

Se puede decir que es un Sistema de Gestión de Base de Datos que almacena objetos, permitiendo la concurrencia, recuperación de los objetos. Esto sindica un uso más adecuado, pues ya no se tratarían con tablas ni registros sino directamente con OBJETOS.

Un ejemplo de esto es: Consideremos el problema de mandar a reparar una Computadora. En un sistema de objetos la computadora es un objeto, y el taller es otro objeto, si hay una operación como guardar Computadora en Taller. En un sistema relacional, todos los datos deberían de ser ingresados en tablas, de esta forma la Computadora debería ser desarmada, y todos sus componentes deben ir almacenados en una tabla. El dueño se dispone a recoger la computadora, hay que armar nuevamente la computadora para poder utilizarla. El problema es que si el dueño necesita la computadora, pueden ingresar las partes como de una computadora y salir como unas calculadoras.




Explique el diseño de bases de datos OO por transformación EER-OO


Las entidades del modelo Entidad-Relación pueden expresarse en el modelo Orientado a Objetos como mensajes de sólo lectura. En el modelo Orientado a Objetos, hay que expresar cada atributo de las entidades como una variable, y un par de mensajes del objeto correspondiente. La variable se usa para almacenar el valor del atributo, uno de los mensajes se usa para leer el valor del atributo y otro para actualizar el valor de este mensaje.

Tal que: La variable se utiliza para guardar el valor del atributo, uno de los mensajes se usa para leer el valor del atributo y el otro mensaje para actualizar el valor.

Diseño:

- Primero:  
Para cada clase ERR, se crea una clase OO. El tipo de la clase OO debe incluir todos los atributos de la clase EER. Si los valores del atributo multivaluado deben esatr ordenados se usa el contructor de lista, si están permitidos los duplciados, el cosntructor de bolsa y si los atributos son compuestos, con el constrcutor de tuplas.
- Segundo: 
Se debe añadir atributos de referencia para cada vínculo binario. Los atributos pueden estar ne una dirección como también en ambas. Serán monovaluados para los vícnulos 1:1 o N:1 y con valor de conjunto o con valor de lista con 1:N o M:N.
- Tercero: 
Se debe incluir métodos apropiados para cada clase, los cuales no esta disponibles en el esquema EER. Por ellos se debe agregar al diseño de la base de datos.
- Cuarto:
 Una sbuclase heredará el tipo y los métodos de sus superclases.
- Quinto:
 Las entidades débiles que no están incluidos en otros vínculos se pueden transformar como si atributos multivaluados compuestos del tipo de entidades propietario.
- Sexto: Los objetos que tienen mas de 2 vínculos se transforman a un tipo de objetos aparte con las respectivas referencias alos objetos participantes.


Explique el uso de los objetos complejos estructurados, los no estructurados y la extensibilidad de tipos

¿Qué son los objetos complejos estructurados?

Estos objetos son construidos mediante algunos objetos más simples o mediante el uso de constructores a ellos. Los objetos más simples son: Int, Carácter, String de Bytes, Booleanos, Puntos flotantes y otros.

Existen varios constructores de objetos complejos como son: los arreglos y las listas.

Los arreglos y las listas son estructuras importantes pues capturan ordenes las cuales ocurren en el mundo real, así como también, poder hacer cálculos que necesitan las personas como matrices, series de datos, entre otras.

¿Qué son los objetos complejos no estructurados?

Permiten el almacenamiento y uso de objetos de un gran tamaño en bytes, tales como: imágenes, objetos binarios, cadenas de texto.

¿Qué es la Extensibilidad de tipos?

Así como un SGBDOO permite que los usuarios creen nuevos tipos, se puede decir que los SGBDOO tienen un sistema de tipos extensible. Por ejemplo: se pueden crear bibliotecas de nuevos tipos definiendo las estructuras y las operaciones que podrá elaborar.

BLOG 3 ... I. Conceptos avanzados de modelo de datos

Explique las diferencias entre el modelo ER y el modelo ER extendido (EER)


Como antes fue explicado, el modelo entidad-relación (ER), es un modelo conceptual de datos el cual representa los conceptos de un universo específico con sus relaciones y características. Esta herramienta es muy utilizada directamente o mediante diversos programas. Posterior a este modelo, se analizó un diferente mecanismo de representación de un universo o de la realidad; este es el modelo EER (entidad-relación extendido). Las diferencias que existen entre estos dos modelos son diversas.


El modelo EER presenta diversos métodos de abstracción para hacer factible la representación de la realidad. Estos métodos son clasificación, agregación y generalización. En pocas palabras, el EER añade todo esos conceptos al modelo (entidad-relación) Para representar estos métodos, el modelo se basa en conceptos como entidad (objeto), atributo y relación entre los diferentes objetos. A diferencia del modelo ER, este no presenta estos métodos pues sólo presenta tipos de relaciones como la recursiva, la cual es la relación sobre la misma entidad, solo que con distinto rol.
El modelo ER es eficiente para aplicaciones tradicionales; sin embargo, existen base de datos con requisitos más complejos. El modelo EER está orientado a objetos y utiliza el concepto de clase (subclase o superclase).

Explique el modelado de las clases, superclases,  la especialización, y de retícula
El Modelo Entidad-Relación Extendido incluye todos los conceptos del Entidad-Relación e incorpora los conceptos de Subclase y superclase con los conceptos asociados de Especialización y Generalización. Otro nuevo concepto incluido por el ERE es el de Categoría. Asociado a estos conceptos está el importante mecanismo de Herencia de atributos. Habrá que tener en cuenta que no existe una terminología estandarizada para estos conceptos, por lo que usaremos la mas difundida.
El modelado de clases en el modelo antes mencionado.
Una superclase es la entidad de la que sigue una subclase. Una subclase representa un subconjunto de una entidad; es decir, un grupo de elementos con algo en común que pertenecen a una misma entidad. La relación que hay entre una superclase y alguna de sus subclases se llama relación “is-a” (es un). Además, toda entidad perteneciente a una subclase será, a la vez, entidad de su superclase. Una entidad puede pertenecer a varias subclases y la relación que estas tienen es de uno a uno.
La especialización es un proceso para dividir una entidad en subclases. La especialización puede definirse mediante varios criterios: Tipo de trabajo y Tipo de contrato. Además de la especialización está el concepto de generalización, el cual es la inversa de la especialización. La especialización es importante pues agrupa en una subclase las entidades que pertenecen a ciertas entidades y definir en ella los atributos. Es necesario saber que la especialización tiene ciertas restricciones; por ejemplo, esta tiene más de una subclase y se representa con la notación del círculo de especialización. Sin embargo, pueden existir especializaciones con una única subclase. Existe también la especialización/generalización de retícula, la cual restringe que varias superclases pueden tener una subclase.


Explique el modelado de la generalización, agregación y asociación

El modelado de generalización, como antes fue mencionado es un proceso inverso al de especialización. En este proceso se identifican los rasgos comunes entre varias entidades y a partir de ello se crea una superclase.
El modelado de agregación, por su parte, es un tipo de asociación que especifica una relación entre el “todo” y sus diversas “partes” (TODO-PARTE). Este modelo combina diversos tipos de entidades que tengan una relación en si y forma un tipo de entidad de nivel superior. La ventaja de este tipo de modelado es que se utiliza cuando el tipo de entidad agregado debe o se relaciona con otros tipos de entidades.
El modelado de asociación se representa con una línea, la cual une a las clases.

Explique el modelado de datos con especialización y generalización
En algunas especializaciones podemos determinar exactamente que ocurrencias de entidad se convertirán en cada subclase, todo mediante la utilización de algún atributo de la superclase.

Si todas las subclases en una especialización tienen una condición de permanencia en el mismo atributo de la superclase, la especialización será definida sin lugar a dudas por el atributo y este atributo será llamado en cuestión: ATRIBUTO DE DEFINICIÓN DE LA ESPECIALIZACIÓN.

Asimismo, entre las ocurrencias que puedan aparecer o no en más de una subclase podremos diferenciar entre:

- Subclase disjuntas
- Subclase solapadas.

Cuando una ocurrencia de la superclase aparece en más de una subclase decimos que las subclases son solapadas.

Se representa semánticamente por la letra o proveniente de la palabra (Overlapping)

Cuando una ocurrencia de la superclase sólo aparece en una única subclase decimos que las subclases son disjuntas. Se representa semánticamente por la letra d (Disjoint)
Las subclases pueden representarse por dos tipos de jerarquías:

- Jerarquía total
- Jerarquía parcial

Cuando la ocurrencia de la superclase aparece al menos en una subclase se dice que la jerarquía es total.

Cuando en la superclase existen ocurrencias que no aparecen en ninguna de las subclases se dice que la jerarquía es parcial.





Explique el uso de las categorías y la categorización

Una categoría es una subclase que contiene a una colección de datos; es decir un subconjunto de la unión de diversos tipos de entidades. Una categoría siempre tendrá dos o más superclases y es similar a una subclase compartida. Para esto, la subclase compartida debe pertenecer a todas sus superclases y heredar sus atributos. En una categorización, la subclase o tambipen llamada categoría, debe pertenecer sólo a una de las superclases pero no necesariamente viceversa (superclase pertenezca a la categoria). Si esto ocurre (superclase pertenezca a la categoria), se habla de una categoría total.

II. El modelo de datos Jerárquico

Detalle las estructuras de una base de datos de jerárquico


Las estructuras jerárquicas se clasifican también como:
- Lineales: es un caso particular y simple en el que cada tipo de registro padre sólo puede tener un tipo de
registro hijo, donde se muestra la interrelación entre DEPARTAMENTO y EMPLEADO.
-Arborescente propiamente dicha: un tipo de registro padre puede tener varios tipos de registro
descendientes.

Explique los vínculos virtuales padre - hijo

La relación PADRE/HIJO en la que se apoyan las bases de datos jerárquicas, determina que el camino de acceso a los datos sea ÚNICO; este camino, denominado CAMINO SECUENCIA JERÁRQUICA, comienza siempre en una ocurrencia del segmento raíz y recorre la base de datos de arriba a abajo, de izquierda a derecha y por último de adelante a atrás. 

El esquema es una estructura arborescente compuesta de nodos, que representan las entidades, enlazados por arcos, que representan las asociaciones o interrelaciones entre dichas entidades. 
La estructura del modelo de datos jerárquico es un caso particular de la del modelo en red, con fuertes restricciones adicionales derivadas de que las asociaciones del modelo jerárquico deben formar un árbol ordenado, es decir, un árbol en el que el orden de los nodos es importante.



Explique las restricciones de integridad en el modelo jerárquico


A continuación se mencionan los problemas típicos de las bases de datos jerárquicas y que no existen en las bases de datos relacionales. Todos estos problemas derivan del hecho de que el sistema gestor de base de datos no implementa ningún control sobre los propios datos, sino que queda en manos de las aplicaciones garantizar que se cumplen las condiciones invariantes que se requieran (por ejemplo, evitar la duplicidad de registros). Dado que todas las aplicaciones están sujetas a errores y fallos, esto es imposible en la práctica. Además dichas condiciones suelen romperse ex profeso por motivos operativos (generalmente, ajustes debidos a cambios en el negocio) sin evaluarse sus consecuencias.

Duplicidad de registros

No se garantiza la inexistencia de registros duplicados. Esto también es cierto para los campos "clave". Es decir, no se garantiza que dos registros cualesquiera tengan diferentes valores en un subconjunto concreto de campos.

Integridad referencial

No existe garantía de que un registro hijo esté relacionado con un registro PADRE válido. Por ejemplo, es posible borrar un nodo PADRE sin eliminar antes los nodos HIJO, de manera que éstos últimos están relacionados con un registro inválido o inexistente..

Desnormalización

Este no es tanto un problema del modelo jerárquico como del uso que se hace de él. Sin embargo, a diferencia del modelo relacional, las bases de datos jerárquicas no tienen controles que impidan la desnormalización de una base de datos. Por ejemplo, no existe el concepto de campos clave o campos únicos.
La desnormalización permite ingresar redundancia de una forma controlada, seguir a una serie de pasos conlleva a:
  • Combinar las relaciones
  • Duplicar los atributos no claves
  • Introducción de grupos repetitivos
  • Crear tablas de extracción
Cuando se debe desnormalizar:
  • Se debe desnormalizar para optimizar el esquema relacional
  • Para hacer referencia a la combinación de 2 relaciones que forman una sola relación
Ejemplo:
Proveedor (Nro_proveedor, calle, ciudad, cod_postal, descripción) La relación Proveedor esta desnormalizada, ya que para normalizarla deberíamos crear una tabla con ciudad y código postal.


Explique el uso de la transformación ER- jerárquico para el diseño de bases de datos jerárquicas

Ya se han señalado los inconvenientes que presenta el modelado del mundo real según esquemas jerárquicos,
y también hemos indicado una técnica de diseño jerárquico que consiste en introducir redundancias.



Se podría evitar la pérdida de simetrías introduciendo mucha mayor redundancia, donde se presenta la transformación de un esquema E/R con dos entidades y una interrelación N:M es
un esquema jerárquico en el que existen dos árboles, de modo que se conservan las simetrías naturales, ya que los algoritmos para dos preguntas simétricas, como son recuperar los alumnos de un profesor y recuperar los profesores de un alumno, serían también simétricos.
Soluciones de este tipo no son en absoluto eficientes.
A partir del modelo E/R, vamos a analizar la forma de transformar algunos tipo, de interrelaciones al modelo jerárquico.
A) Interrelaciones 1:N con cardinalidad mínima 1 en la entidad padre.
En este caso no existe ningún problema y el esquema jerárquico resultante será prácticamente el mismo que en el ME/R
B) Interrelaciones 1:N con cardinalidad mínima 0 en el registro propietario.
El problema es que podrían existir hijos sin padre, por lo que o se crea un padre ficticio para estos casos o se crean dos estructuras arborescentes.
La primera estructura arborescente tendrá como nodo padre el tipo de registro A y como nodo hijo los identificadores del tipo de registro B. De esta forma no se introducen redundancias, estando los atributos de la entidad B en la segunda arborescencia, en la cual sólo existiría un nodo raíz B sin descendientes.

C) Interrelaciones N:M
La solución es muy parecida, creándose también dos arborescencias.
La solución es independiente de las cardinalidades mínimas. Se podría suprimir, en la primera arborescencia o en la segunda, el registro hijo, pero no se conservaría la simetría.

D) Interrelaciones reflexivas
La jerarquía a) se utilizaría siempre que se desee obtener la explosión.
La aplicación de estas normas de diseño evita la introducción de redundancias, así como la pérdida de simetría, pero complica enormemente el esquema jerárquico resultante que estará constituido por más de un árbol, lo que no resulta fácilmente comprensible a los usuarios.


Muestre 2 ejemplos de diagrama de esquema jerárquico para una base de datos y el leguaje de manipulación de datos para el modelo jerárquico

El lenguaje de manipulación de datos para este modelo es el HDML. Las órdenes del lenguaje deben estar incorporados en un leguaje de programación general, este viene a ser
el lenguaje anfitrión.
Es necesario conocer algunos términos:
-Área de trabajo del usuario: Es el espacio en el que se almacenan las variables del programa, las cuales almacenan los registros.
-El registro actual de la base de datos: Es el ultimo registro al que se accedió.
-Cada esquema jerárquico tiene su propio registro actual de jerarquía.
-El sistema sigue la pista del actual tipo de registro para cada tipo de registros.
-Hay tres tipos de indicadores de actualidad: Actual de base de datos, actual de jerarquía para cada esquema jerárquico y actual de tipo de regsitros para cada tipo de registros.



BLOG 2 ... I. El modelo de base de datos de red


Detalle las estructuras de una base de datos de red


Una base de datos de red es una base de datos conformada por una colección o set de registros, los cuales están conectados entre sí por medio de enlaces en una red. El registro es similar al de una entidad como las empleadas en el modelo relacional.
Una estructura de base de datos de red, llamada algunas veces estructura de plex , abarca más que la estructura de árbol, porque un nodo hijo en la estructura red puede tener más de un nodo padre. En otras palabras, la restricción de que en un árbol jerárquico cada hijo puede tener sólo un padre, se hace menos severa.
Así, la estructura de árbol se puede considerar como un caso especial de la estructura de red.

Explique las restricciones en el modelo de base de datos de red
El modelo en red tiene un carácter totalmente general. En el modelo en red no se ha especificado ningún tipo de restricción en lo que se respecta a las interrelaciones. Esto quizá haga del modelo en red un modelo sencillo de utilizar,pero no deja de tener un carácter general y provoca que en la práctica su instrumentación no resulte nada fácil.
Por ello, los SGBD que se basan en el modelo en red, deben añadir una serie de restricciones a fin de poder implementar la base de datos físicamente y obtener un mayor rendimiento del sistema.

Un modelo de datos de este tipo, es el denominado modelo CODASYL. Este modelo es una

simplificación del modelo en red general. Aquí solo se admiten ciertos tipos de interrelaciones,

y además se incluyen otras restricciones adicionales. Estas restricciones no limitan demasiado la
flexibilidad original del modelo en red general, pero nos permiten tener una instrumentación eficiente.


Explique el uso de la transformación ER-Red para el diseño de bases de datos de red

Para convertir un modelo Entidad Relación a uno en Red se sigue exactamente el mismo proceso, ya que como sabemos los modelos en Red y Relacionales comparten en su totalidad la estructura.

Además, para la transformación se debe tener en cuenta los siguientes pasos:

-Toda entidad del modelo entidad-relación se transforma en una tabla.
-Cualquier atributo de una entidad se transforma en un campo dentro la tabla, manteniendo las claves primarias.
-Las relaciones N:M se transforman en una nueva tabla que tendrá como clave primaria la concatenación de los atributos clave de las entidades que relaciona.
-En las relaciones 1:N se pueden tener dos casos:
       ->Si la entidad que participa con cardinalidad máxima uno lo hace también con cardinalidad mínima uno,  entonces se propaga el atributo de la entidad que tiene cardinalidad máxima 1 a la que tiene cardinalidad máxima N, desapareciendo el nombre de la relación. Si existen atributos en la relación éstos también se propagarán.
        ->Si la entidad que participa con cardinalidad máxima uno lo hace también cardinalidad mínima cero, entonces se crea una nueva tabla formada por las claves de cada entidad y los atributos de la relación. La clave primaria de la nueva tabla será el identificador de la entidad que participa con cardinalidad máxima N.
-En el caso de las relaciones 1:1 también pueden darse dos casos:
       ->Si las entidades poseen cardinalidades (0,1), la relación se convierte en una tabla.
       ->Si una de las entidades posee cardinalidad (0,1) y la otra (1,1), conviene propagar la clave de la entidad con cardinalidad (1,1) a la tabla resultante de la entidad con cardinalidad (0,1). Si ambas entidades poseen cardinalidades (1,1) se puede propagar la clave de cualquiera de ellas a la tabla resultante de la otra.
-En el caso de las relaciones N-arias se aplica la misma regla que para las relaciones N:M
-En el caso de las relaciones reflexivas supondremos que se trata de una relación binaria con la particularidad que las dos entidades son iguales y aplicaremos las reglas vistas en los puntos anteriores.



Explique la programación de una base de datos de red adicione un ejemplo

Muestre 2 ejemplos de diagrama de esquema de red para una base de datos


Se realiza con el fin de poder realizar distintas tareas, tales como buscar, leer, insertar, eliminar y modificar los registros. Para ello se usa el legunaje de mainupulación de datos (DML).
Este consiste principalmente en órdenes de registro por registro incorporadas en un lenguaje de programación de aplicación general, se llama leguaje anfitrión.
Para entender mejor la programación, primero es necesario entender algunos términos.
Uno de ellos son los registros actuales, estos son registros específicos identificados de la base da datos.
Otro término importante son los indicadores de actualidad, estos indicadores ayudan
a llevar el control de varios registros y ocurrencias.
Hay tres tipos de indicadores de actualidad:
-Actual de tipo de registros: Este indicador sigue la pista al último registro al que se tuvo acceso.
-Actual de tipo de conjuntos: Este indicador sigue la pista a la última ocurrencia a la que se tuvo acceso.
-Actual de unidad de ejecución: Es un programa de acceso a la base de datos que se está ejecutando. Por cada unidad se sigue la pista al ultimo registro al que se accedió.
Otro tipo de indicadores son los de estado, estos sirven, principalmente, para indicar el éxito o fracaso después de ejecutar una orden de DML. Esto es importante ya que gracias a esto el sistema puede emprender acciones apropiadas, ya sea para continuar o solucionar los errores.
Y por último el área de trabajo del usuario, esta viene a ser el conjunto de variables locales que contienen los diferentes tipos de registros para que el programa anfitrion pueda manipularlos.

Para ilustrar la estructura de los registros en una base de datos de red, mostraremos la base de datos alumno – materia, con los siguientes registros (en el Lenguaje de programación Pascal):


Ejemplo1 :

Ejemplo2 :