Informační tok Funkční structura Datová struktura ER model Modulová struktura Typová struktura Relační model Dokumentace


[Celkový datový model] [Funkce] [Externí rohraní] [Stavové diagramy] [Datové elementy] [Entity] [Relace]
[Databáze] [Události] [Materiály] [Generovací funkce] [Vyhodnocovací funkce] [Konfigurace] [Uživatelé] [Projekt] [Home]



Vyhodnocovací funkce
Check_Relations
(Relational Model)


Vytvořeno: 12-11-1995 12:49:20
Poslední změna: 12-10-2002 10:39:04

Outputs a list of all relations shown in the specified relational model with no attributes and/or primary key attributes.

Modul

Module: Relational Model

Zdrojový kód:

PROCEDURE Check_Relations FOR RELAREA
BEGIN
/*
  check relations:
  - attributes
  - primary key
*/
  PRINT {"ARIAL",12,BOLD} "Test relací(atributů a klíčů) v relačním modelu ";
  PRINT {"ARIAL",12,BOLD,ITALIC} CONV$(Relarea.Boxname),NL(2);

  first%=0;
  FOREACH Relnode WHERE Relnode.Area=Relarea.Name DO
    FOR Relation WHERE Relation.Name=Relnode.Relation DO
      Pkey%=0;
      Attr%=0;
      Nnull%=0;
      FOREACH Relattribute WHERE Relattribute.Relation=Relation.Name DO
        Attr%=1;
        IF Relattribute.Pkey<>0 THEN
          Pkey%=1;
          IF Notnull<>0 THEN
            Nnull%=1;
          END
        END
      END
      IF Pkey%=0 OR Attr%=0 THEN
        IF first%=0 THEN
          first%=1;
          PRINT {"ARIAL",10} "Relace bez atributů nebo primárního klíče:",NL;
        END
        PRINT {BOLD,"ARIAL",10} NL,CONV$(Relation.Boxname),NL;
      END
      IF Pkey%=0 AND Attr%=1 THEN
        IF first%=0 THEN
          first%=1;
          PRINT {"ARIAL",10} "Relace bez atributů nebo primárního klíče:",NL;
        END
        PRINT {"ARIAL",8} TAB(5),"nemá primární klíč",NL;
      END
      IF Nnull%=0 AND Attr%=1 THEN
        IF first%=0 THEN
          first%=1;
          PRINT {"ARIAL",10} "Relace bez atributů nebo primárního klíče:",NL;
        END
        PRINT {"ARIAL",8} TAB(5),"Primární klíč může obsahovat prázdnou hodnotu",NL;
      END
      IF Attr%=0 THEN
        IF first%=0 THEN
          first%=1;
          PRINT {"ARIAL",10} "Relace bez atributů nebo primárního klíče:",NL;
        END
        PRINT {"ARIAL",8} TAB(5),"nemá atributy",NL;
      END
    END
  END
  
  IF first%=0 THEN
    PRINT {"ARIAL",10} TAB(4),"Bez formálních chyb.",NL;
  END
  PRINT NL;
END


Generováno: 16.10.2003 7:41 Systém: C:\Documents and Settings\hajsman\Dokumenty\Vyuka\Irs2\Projekt case40\Projekt03.csf Generováno systémem case/4/0
Vygeneroval: Administrator Soubor: C:\Documents and Settings\hajsman\Dokumenty\Vyuka\Irs2\Projekt case40\html\20725.htm (C) microTOOL GmbH 2002