ERIL

Ett exempel på ERIL-diagram med 3 klasser och 3 en-till-många-relationer.

ERIL ( Entity-Relationship and Inheritance Language ) är ett visuellt språk för att representera datastrukturen i ett datorsystem. Som namnet antyder är ERIL baserad på entitetsrelationsdiagram och klassdiagram . ERIL kombinerar de relationella och objektorienterade metoderna för datamodellering .

Översikt

ERIL kan ses som en uppsättning riktlinjer som syftar till att förbättra läsbarheten av strukturdiagram. Dessa riktlinjer lånades från DRAKON , en variant av flödesscheman skapade inom det ryska rymdprogrammet. ERIL självt utvecklades av Stepan Mitkin.

ERIL:s riktlinjer för att rita diagram:

  • Linjerna måste vara raka, antingen strikt vertikala eller horisontella.
  • Vertikala linjer betyder äganderätt ( sammansättning ).
  • Horisontella linjer betyder peer-relationer ( aggregation ).
  • Linjekorsningar är inte tillåtna.
  • Det rekommenderas inte att anpassa hela datamodellen på ett enda diagram. Rita många enkla diagram istället.
  • Samma klass (tabell) kan förekomma flera gånger på samma diagram.
  • Använd följande standardsymboler för att indikera typen av relation.
    • En-till-en: en enkel rad.
    • En-till-många, tvåvägs: en linje med en "tass".
    • En-till-många, enkelriktad: en pil.
    • Många-till-många: en linje med två "tassar".
  • Klumpa inte ihop arv och dataförhållanden.

Index

En klass (tabell) i ERIL kan ha flera index. Varje index i ERIL kan innehålla ett eller flera fält, liknande index i relationsdatabaser . ERIL-index är logiska. De kan valfritt implementeras av riktiga datastrukturer.

Länkar

Länkar mellan klasser (tabeller) i ERIL implementeras av de så kallade "länk"-fälten. Länkfält kan vara av olika typer beroende på länktyp:

  • referens;
  • samling av referenser.

Exempel: det finns en en-till-många-länk mellan dokument och rader . Ett dokument kan ha många rader . Då Document.Lines en samling referenser till de rader som hör till dokumentet. Line.Document är en referens till dokumentet som innehåller raden.

Länkfält är också logiska. De kan eller kanske inte är implementerade fysiskt i systemet.

Användande

ERIL är tänkt att modellera alla typer av data oavsett lagring. Samma ERIL-diagram kan representera data lagrade i en relationsdatabas , i en NoSQL -databas, XML- fil eller i minnet.

ERIL-diagram tjänar två syften. Det primära syftet är att förklara datastrukturen för ett befintligt eller framtida system eller komponent. Det sekundära syftet är att automatiskt generera källkod från modellen. Kod som kan genereras inkluderar specialiserade samlingsklasser, hash- och jämförelsefunktioner, datahämtning och modifieringsprocedurer, SQL-datadefinitionskod , etc. Kod som genereras från ERIL-diagram kan säkerställa referens- och unika dataintegritet . Serialiseringskod av olika slag kan också genereras automatiskt. På vissa sätt kan ERIL jämföras med ramverk för objektrelationell kartläggning .

Se även

Anteckningar