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
RelationalModel_ERModel_Connection_Relations
(Connection ER Model - Relational Model)


Vytvořeno: 09-21-2001 15:15:07
Poslední změna: 11-29-2002 12:44:41

Modul

Module: Connection ER Model - Relational Model

Zdrojový kód:

PROCEDURE RelationalModel_ERModel_Connection_Relations(relArea$, ermArea$, bCheck!)
BEGIN
/* ***************************************************************************
    
    ***************************************************************************
    (Created 09/19/2001 mT)
    ***************************************************************************/
        
    // Relationen
    IF bCheck! THEN
        PRINT {BOLD,"ARIAL",11} "Relace bez odpovídajících entit", NL;
    ELSE
        PRINT {BOLD,"ARIAL",11} "Relace a jim odpovídající entity", NL;
    END
    
    bOutput! = FALSE;
    FOREACH Relation ORDER BY Name DO
    
        FOREACH Relnode WHERE (Area = relArea$ OR relArea$ = "")
                          AND Relation = Relation.Name DO
                   
            IF Relation.Private THEN
                IF NOT bCheck! THEN
                    PRINT {BOLD,"ARIAL",10} CONV$(Relation.Boxname);
                    PRINT {"ARIAL",10} TAB(32), "(pouze v realizaci)", NL;
                    bOutput! = TRUE;
                END
            ELSE
                bEntFound! = FALSE;
                FOR Entity WHERE Name = Relation.Entity DO
                    bEntFound! = TRUE;
                    bNodeFound! = FALSE;
                    IF ermArea$ <> "" THEN
                        bNodeFound! = FALSE;
                        FOR Enode WHERE Area = ermArea$
                                    AND Entity = Entity.Name DO
                            bNodeFound! = TRUE;
                        END
                    END
                    IF NOT bNodeFound! AND ermArea$ <> "" THEN
                        PRINT {BOLD,"ARIAL",10} CONV$(Relation.Boxname);
                        PRINT {"ARIAL", ITALIC, 10} TAB(32), Conv$(Entity.Boxname), NL;
                        PRINT {"ARIAL",10} TAB(32), "(not existing in diagram)", NL;
                        bOutput! = TRUE;
                    ELSIF NOT bCheck! THEN
                        PRINT {BOLD,"ARIAL",10} CONV$(Relation.Boxname);
                        PRINT {"ARIAL", ITALIC, 10} TAB(32), Conv$(Entity.Boxname), NL;
                        bOutput! = TRUE;
                    END
                END
                FOR Rship WHERE Id = Relation.Rship DO
                    bEntFound! = TRUE;
                    bNodeFound! = FALSE;
                    CALL GetRshipName(Rship.Id, rsName$);
                    IF ermArea$ <> "" THEN
                        bNodeFound! = FALSE;
                        FOR Rnode WHERE Area = ermArea$
                                    AND Rship = Rship.Id DO
                            bNodeFound! = TRUE;
                        END
                    END
                    IF NOT bNodeFound! THEN
                        PRINT {BOLD,"ARIAL",10} CONV$(Relation.Boxname);
                        PRINT {"ARIAL", ITALIC, 10} TAB(32), rsName$, NL;
                        PRINT {"ARIAL",10} TAB(32), "(v diagramu neexistují)", NL;
                        bOutput! = TRUE;
                    ELSIF NOT bCheck! THEN
                        PRINT {BOLD,"ARIAL",10} CONV$(Relation.Boxname);
                        PRINT {"ARIAL", ITALIC, 10} TAB(32), rsName$, NL;
                        bOutput! = TRUE;
                    END
                END
                IF NOT bEntFound! THEN
                    PRINT {BOLD,"ARIAL",10} CONV$(Relation.Boxname);
                    PRINT {"ARIAL",10} TAB(32), "(nemá odpovídající entitní vztah)", NL;
                    bOutput! = TRUE;
                END
            END
            BREAK;
        END
    END
    IF NOT bOutput! THEN
        IF bCheck! THEN
            PRINT {"ARIAL", 11} TAB(4), "neexistují relace bez vazeb.", NL;
        ELSE
            PRINT {"ARIAL", 11} TAB(4), "Neexistují žádné relace.", NL;
        END
    END
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\88583232.htm (C) microTOOL GmbH 2002