ERIL - Enciclopedia
ERIL (Lenguaje de Entidad-Relación y Herencia) es un lenguaje visual para representar la estructura de datos de un sistema informático. Como su nombre sugiere, ERIL se basa en diagramas de entidad-relación y diagramas de clases. ERIL combina los enfoques relacional y orientado a objetos en la modelización de datos.
Resumen
ERIL puede considerarse un conjunto de directrices destinadas a mejorar la legibilidad de los diagramas de estructura. Estas directrices se tomaron de DRAKON, una variante de diagramas de flujo creada dentro del programa espacial ruso. ERIL fue desarrollado por Stepan Mitkin. Las directrices de ERIL para dibujar diagramas:
- Las líneas deben ser rectas, ya sea estrictamente verticales o horizontales.
- Las líneas verticales significan posesión (composición).
- Las líneas horizontales significan relaciones de pares (agregación).
- No se permiten cruces de líneas.
- No se recomienda ajustar todo el modelo de datos en un solo diagrama. En su lugar, dibuje muchos diagramas simples.
- El mismo clase (tabla) puede aparecer varias veces en el mismo diagrama.
- Use los siguientes símbolos estándar para indicar el tipo de relación.
- Uno-a-uno: una línea simple.
- Uno-a-muchos, bidireccional: una línea con una "pata".
- Uno-a-muchos, unidireccional: una flecha.
- Muchos-a-muchos: una línea con dos "patas".
- No mezcle la herencia y las relaciones de datos.
Índices
Una clase (tabla) en ERIL puede tener varios índices. Cada índice en ERIL puede incluir uno o más campos, al igual que los índices en las bases de datos relacionales. Los índices de ERIL son lógicos y pueden implementarse opcionalmente por estructuras de datos reales.
Enlaces
Los enlaces entre clases (tablas) en ERIL se implementan mediante los llamados campos "enlace". Los campos de enlace pueden ser de diferentes tipos según el tipo de enlace:
- Referencia;
- Colección de referencias.
Ejemplo: hay un enlace uno-a-muchos entre Documents y Lines. Un Documento puede tener muchos Lines. Entonces, el campo Document.Lines es una colección de referencias a las líneas que pertenecen al documento. Line.Document es una referencia al documento que contiene la línea. Los campos de enlace también son lógicos y pueden o no implementarse físicamente en el sistema.
Uso
ERIL se supone que modela cualquier tipo de datos sin importar el almacenamiento. El mismo diagrama ERIL puede representar datos almacenados en una base de datos relacional, en una base de datos NoSQL, en un archivo XML o en la memoria. Los diagramas ERIL sirven a dos propósitos.
El propósito principal es explicar la estructura de datos de un sistema o componente existente o futuro. El propósito secundario es generar automáticamente código fuente a partir del modelo. El código que se puede generar incluye clases de colección especializadas, funciones de hash y comparación, procedimientos de recuperación y modificación de datos, código de definición de datos SQL, etc. El código generado a partir de diagramas ERIL puede asegurar la integridad de los datos referenciados y únicos. También se puede generar automáticamente código de serialización de diferentes tipos.
De ciertas maneras, ERIL puede compararse con marcos de mapeo objeto-relacional.
Véase también
Ingeniería orientada a modelos
UML
Modelo de entidad-relación
Diagramas de flujo
Diagrama de clases
DRAKON
Notas