Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v19
Glosario

ORDA    


 

Un atributo es la celda de almacenamiento más pequeña en una base de datos relacional (ver también Atributo Relación ). No confunda los atributos de la dataclass y los atributos de entidades:

  • En un objeto dataclass, cada propiedad es un atributo de dataclass que corresponde a un campo en la tabla correspondiente (mismo nombre y tipo).
  • En un objeto entity, los atributos de entidad son propiedades que contienen valores para los atributos de datastore correspondientes.

Nota: los atributos y las propiedades son conceptos similares. "Atributo" se utiliza para designar las propiedades de la dataclass que almacenan los datos, mientras que "propiedad" es más genérica y define una parte de los datos almacenados en un objeto.

Un attributePath es la ruta de un atributo dentro de una determinada dataclass o de una entidad dada. Ver también propertyPath.

Un dataclass es un objeto que describe los datos. Las tablas de la base de datos ofrecida por el datastore se manejan a través de dataclasses. Cada tabla de la base de datos ofrecida por el datastore tiene una clase de datos correspondiente con el mismo nombre. Cada campo de la tabla es un atributo de la dataclass.

Una dataclass está relacionada a un solo datastore.

Para más información, consulte Clases de datos.

Un datastore es el objeto de interfaz ofrecido por ORDA para hacer referencia a una base de datos y acceder a sus datos. La base de datos principal, devuelta por el comando ds, está disponible como datastore.

Un datastore ofrece:

  • una conexión a la base de datos 4D
  • un conjunto de dataclasses para trabajar con la base de datos

Cuando se maneja a través del código, el datastore es un objeto cuyas propiedades son todas las clases de datos definidas. Un almacén de datos solo hace referencia a una sola base de datos.

Notas:

  • Un datastore solo hace referencia a las tablas con una sola llave primaria. Las tablas sin una llave primaria o con llaves primarias compuestas no se referencian.
  • Los atributos de tipo BLOB no se gestionan en el datastore.

Para más información, consulte Datastores.

Una copia profunda duplica un objeto y todas las referencias que contiene. Después de un deep copy, una colección copiada contiene elementos duplicados y, por lo tanto, nuevas referencias de todos los elementos originales. Ver también Copia superficial.

ds  

ds es el comando de lenguaje 4D que devuelve una referencia de objeto del datastore. Coincide con el datastore disponible en la base de datos principal 4D.

Entity  

Una entidad es un objeto que corresponde a un modelo dataclass. Una entidad contiene los mismos atributos que la dataclass.

Una entidad se puede ver como una instancia de la dataclass, como un registro de la tabla que corresponde a la dataclass en su datastore asociado.  Sin embargo, una entidad también contiene datos relacionados. El objetivo de la entidad es gestionar los datos (crear, actualizar, eliminar).

Para más información, ver Entidades.

Una selección de entidades es un objeto. Al consultar el datastore, se devuelve una selección de entidades. Una selección de entidades es un conjunto de referencias a entidades relacionadas con la misma dataclass.

Una selección de entidades contiene:

  • un conjunto de 0 a X referencias de entidades,
  • una propiedad length (siempre),
  • las propiedades queryPlan y queryPath (si se solicitan durante la consulta).

Una selección de entidad también puede estar vacía.

Para más información, ver Selección de entidades.

Dado que las entidades se gestionan como referencias, los datos se cargan solo cuando es necesario, es decir, cuando se accede a él en el código o a través de los widgets de la interfaz. Este principio de optimización se llama carga diferida.

El objeto Datastore correspondiente a la base 4D abierta (independiente o cliente/servidor). El comando ds devuelve el almacén de datos principal.

Método  

Los objetos ORDA, como datastores, dataclasses, entity selections y entities, definen las clases de objetos. Ofrecen métodos específicos para interactuar directamente con ellos. Estos métodos también se llaman funciones miembro. Dichos métodos se utilizan al invocarlos en una instancia del objeto.

Por ejemplo, el método query() es una función miembro de la dataclass.  Si ha guardado un objeto dataclass en la variable $myClass, puede escribir:

 $myClass.query("name = smith")

En esta documentación, el tipo de datos "Mixto" se utiliza para designar los diferentes tipos de valores que se pueden almacenar en los atributos de una dataclass. Incluye:

  • número
  • texto
  • null
  • booleano
  • fecha
  • objeto
  • colección
  • imagen(*)

(*) el tipo Imagen no es soportado por los métodos estadísticos como entitySelection.max( ).

En el modo "bloqueo optimista", las entidades no se bloquean explícitamente antes de actualizarlas. Cada entidad tiene un sello interno que se incrementa automáticamente cada vez que la entidad se guarda en el disco. Los métodos entity.save( ) o entity.drop( ) devolverán un error si el sello de la entidad cargada (en memoria) y el sello de la entidad en el disco no coinciden, o si la entidad ha sido abandonada. El bloqueo optimista solo está disponible en la implementación ORDA. Ver "Bloqueo pesimista".

Un "bloqueo pesimista" significa que una entidad está bloqueada antes de acceder, utilizando el método entity.lock( ). Otros procesos no pueden actualizar ni eliminar la entidad hasta que esté desbloqueada. El lenguaje 4D clásico solo permite bloqueos pesimistas. Ver "Bloqueo optimista".

Ver Atributo.

Nota: Atributos y Propiedades son conceptos similares. "Atributo" se utiliza para designar las propiedades de la dataclass que almacenan los datos, mientras que "propiedad" es más genérica y define una parte de los datos almacenados en un objeto.

Un propertyPath es la ruta de acceso a una propiedad en un objeto dado. Si la propiedad está anidada en varios niveles, cada nivel está separado por un punto (".").

Estas son dataclasses relacionadas por los atributos de relación.

Los atributos de relación se utilizan para conceptualizar las relaciones entre las dataclasses (muchos a uno y uno a muchos).

  • Relación Muchos a uno (la dataclassA referencia una ocurrencia de la dataclassB): un atributo Relación está disponible en la dataclassA y referencia a una instancia de la dataclassB.
  • Relación Uno a muchos (una ocurrencia de la dataclassB rreferencia a varias ocurrencias de la dataclassA): un atributo Relación está disponible en los dataclassB y hace referencia a varias instancias de dataclassA.

Una dataclass puede tener atributos de relación recursivos.

En una entidad, el valor de un atributo Relación puede ser una entidad o una selección de entidad.

Una entidad relacionada se puede ver como la instancia de un atributo Relación en una dataclass.

Las selecciones de entidades pueden referirse a entidades relacionadas de acuerdo con los atributos de relación definidos en las dataclasses correspondientes.

Una base 4D abierta en un servidor 4D o 4D (disponible a través de HTTP) y expuesta como un recurso REST. Se puede hacer referencia local a esta base como Datastore desde otras estaciones de trabajo, donde se asigna un locaID. El almacén de datos remoto se puede usar a través de conceptos ORDA (almacén de datos, clase de datos, selección de entidades ...). Este uso se envía a un sistema de licencias.

Session  

Cuando la aplicación 4D se conecta a un Datastore remota, se crea una session en el servidor 4D (HTTP). Se genera una sesión de cookies y se asocia con la identificación del almacén de datos local.

Cada vez que se abre una nueva sesión, se utiliza una licencia. Cada vez que se cierra, se libera la licencia.

Las sesiones inactivas se cierran automáticamente después de un tiempo de espera. El tiempo de espera predeterminado es de 48 horas, puede ser configurado por el desarrollador (debe ser> = 60 minutos).

Una copia superficial solo duplica la estructura de los elementos y conserva las mismas referencias internas. Después de una copia superficial, dos colecciones compartirán los elementos individuales. Ver también Copia profunda.

Utilizado en la tecnología de bloqueo "optimista". Todas las entidades tienen un contador interno, el sello, que se incrementa cada vez que la entidad se guarda. Al comparar automáticamente los sellos entre una entidad que se guarda y su versión almacenada en el disco, 4D puede evitar modificaciones concurrentes en las mismas entidades.

 
 

 
PROPIEDADES 

Producto: 4D
Tema: ORDA

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v17

 
ARTICLE USAGE

Manual de Diseño ( 4D v19)