/* @(#)su93_schema.sch 1.0 93/07/18 */ /* This 021105 rev. is bdeschema.h in ~/02f522/gencpp/testgenv12bde */ /* Relocated to $PH/COOL-GEN/gencpp/gencppComparison/testgenv12bde - RJL*/ /* Rev. 021205: metaschema.h was inserted first in table list below - RJL */ /* with five tables SV-->TT-->TA and VV-->TS<--TT */ /* Replaced graph caption set HG-->HC by HG-->CG--->GX - RJL */ /* (CG is a caption 'paragraph' containing multiple GX textlines) */ /* $Id: 94sbde_schema.sch,v 1.7 1996/08/28 21:11:18 lechner Exp $ */ /* Was DFD or STRUCTURED ANALYSIS VIEW: {HG, HN, HA, HL, HP, HI} */ /* The prefix H is obsolete and will be replaced by G eventually. */ /* BDE will support multiple diag styles; (TBD: HG --> GG = Generic Graph) */ SchemaVersion SV /* sv_type - schema version, data, path, applications? */ { SVid SV000000 c8 1 /* primary key field */ PVid PJ000000 c8 0 /* Project Ref - non-key field for now */ svname NA t30 0 /* schema name [and version?] */ sformat TBD c6 0 /* schema format: CHGEN or GENDB[?] */ sversion 0.0 t12 0 /* schema tag or version (rev# i.j...? */ lastMod 000000 i4 0 /* date of last mod: yymmdd */ svpath NA t80 0 /* full path prefix or $DEFINED-SYMBOL */ descr NA t80 0 /* e.g., list of schema applications? */ } TableType TT /* tt_type - table description and child-set of attributes*/ { TTid TT000000 c8 1 /* primary key field */ SVid SV000000 c8 1 /* SVid is foreign key */ ttabb NA c5 0 /* 2 or 4 UCLetters */ ttname NA t30 0 /* table name */ descr NA t80 0 /* descriptive comment (table purpose) */ } TableAttribute TA /* ta_type - scalar or ref attribute of parent table */ { TAid TA000000 c8 1 /* primary key field */ TTid TT000000 c8 1 /* TTid is foreign key */ fname NA c30 0 /* field name (column header) */ dfltVal NA t30 0 /* default value (was altName) */ ftype I4 c10 0 /* field type (I4/F4/c##,t###/k8/k12) */ iskey 0 c4 0 /* 0:nonkey; 1/-1:pfkey; s:superClassRef */ comment // t132 0 /* descriptive comment (units/range?) */ } ViewVersion VV /* vv_type - subset of tables in this view */ { VVid VV000000 c8 1 /* primary key field */ SVid SV000000 c8 1 /* SV foreign key field */ vname schema t30 0 /* view name (schema = all tables) */ mode r c2 0 /* mode (r/w/u) */ num_tables 0 i2 0 /* number of tables in View */ } TableStatistics TS /* ts_type - statistics about this Table in View */ { TSid TS000000 c8 1 /* primary key field */ VVid VV000000 c8 1 /* fkey to ViewVersion for this TSrow */ TTid TT000000 c8 1 /* fkey to TTrow for this TSrow */ verno 0 i2 0 /* version number of TT in VV */ maxrow 0 i2 0 /* max row# in this table and VV */ vvrowcnt 0 i2 0 /* row-count of this TT in parent VV only*/ } fontoption FO /* FO - font option table for lookup of X, BDE and PS fonts */ { FOid fontid c8 1 /* Unique internal font ID */ xfont xfont c50 0 /* X Window font - includes size */ psfontname psfontname c50 0 /* Postscript font - name only */ psfontsize psfontsize c2 0 /* PS font size for psfontname */ bdefont bdefont c15 0 /* BDE font - includes size */ } /* FO (FOnt options) table added May-19-95 by tfragala */ graphdefaults GD /* GD contains default style attributes for HN,HL,HI */ /* Thru 95sbde, this table contains only one row and will be read only */ /* TBD: Add one row per diagram type * class type (HG, HN, HL, GX, HA, HI) */ /* Diagram types to be supported: EERD, STD, OCD (Ref: S&M: OLC), SQD(UML) */ /* Link (segment) direction is not included pending alternate drawing styles */ /* Meanwhile, this table row may be text-edited to change the defaults. */ { GDid graphdefaultid c8 1 /* unique key for this table */ shape nodeshape c10 0 /* circ;rect;rndrect;input;output;buffer;file */ width nodewidth f4 0 /* width (major axis) of rectangle (ellipse) */ height nodeheight f4 0 /* height (minor axis) of rectangle (ellipse) */ hsegpattern linepattern c4 0 /* default link pattern (S=solid, D=dashed) */ txtfont fontname c25 0 /* text font name (including size) */ location gcloc c10 0 /* (Obsolete?) vert. location (top or btm) */ justify gcjustify c10 0 /* horiz. justification (left, right, center */ /* Does this include top or bottom? - RJL) */ gcwidth gc_width f4 0 /* graph caption width (WC) */ gcheight gc_height f4 0 /* graph caption height (WC) */ } horzgraph HG /* (Obsolete term DFD): single diagram with multiple nodes */ /* May be the expansion graph with fkey HGid2 (TBD) in one or more parent nodes) */ /* TBD: HGid will match HGid2 (replaces FSid) in the HN node of the parent diagram */ { HGid dfdid c8 1 /* unique internal id for this table row */ FSid funcspecid c8 0 /* fkey to attribs of file containing diagram */ HNid horznnodeid c8 0 /* Obsolete: >1 node may have this expansion */ HGauthor personname c12 0 /* the username of the [latest?] human editor */ HGcreated datetime c12 0 /* date-time when first created */ HGlastmod datetime c12 0 /* date-time when last modified */ HGtitle title t60 0 /* title for this diagram */ } horznode HN /* HN - node label and geometry (H is for Horizontal Flow in a DFD */ { HNid horznodeid c8 1 /* unique internally generated ID */ HGid dfdid c8 1 /* unique fkey of container of this node */ HGid2 funcspecid c8 0 /* reserved for HGid2 fkey to node expansion */ /* for backward compatiblity, #define FSid HGid2 (Maybe nec but not suff) - RJL 021105 */ shape nodeshape c1 0 /* C=circle, R=rectangle, O=rnded rect, etc. */ centerx coordinate f4 0 /* x of node center (WC = world coords)*/ centery coordinate f4 0 /* y of node center (WC) */ width nodewidth f4 0 /* width(radius) of rectangle or circle */ height nodeheight f4 0 /* height(radius) of rectangle or circle */ txtfont fontname c25 0 /* Menu-style text font name and size */ txtoffsetx xoffset f4 0 /* text origin in WC relative to HN center */ txtoffsety yoffset f4 0 /* text origin in WC relative to HN center */ txtwidth txtwidth i2 0 /* text x-extent in WC */ txtheight txtheight i2 0 /* text y-extent in WC */ nodename nodetext t60 0 /* one-line node label string */ } horzattribute HA /* HA - Node attribute (e.g., field declaration in ERD diagram type */ { HAid hattribid c8 1 /* unique internally generated ID of link label */ HNid node_id c8 1 /* unique ID of parent (container) node */ DAid dataitemid c8 0 /* (Obsolete): Unique ID of data flow on link */ txtoffsetx xoffset f4 0 /* x-offset from predecessor HA or nodename (WC) */ txtoffsety yoffset f4 0 /* y-offset from predecessor HA or HN (WC)*/ HAorigin reldistance f4 0 /* HA's offset to the last [?] [ Obsolete?]*/ txtwidth xwidth i2 0 /* x-extent of label text in WC */ txtheight yheight i2 0 /* y-extent of label text in WC */ txtfont fontname c25 0 /* Menu-style text font name and size) */ hlabel symbol_name t60 0 /* node attrib text - Rev 96/7/1-RJL*/ } horzlink HL /* HL - link information for Data Flow Diagram nodes */ { HLid horzlinkid c8 1 /* unique internally generated ID */ HNid1 sourcenodeid c8 1 /* source node ID */ HNid2 destnodeid c8 1 /* destination node ID */ HPcount pointcount i2 0 /* bend point count (>=2) for link */ allvisible boolean i2 0 /* all link segments visible */ /* (visibility for bendpoint[1..6] was moved to HP table on 90/1/8) */ /* For external source and dest. links, HNid1or2 'links to' another HG parent*/ /* HNid in another parent may be represented by a surrogate HNid in this diagram */ } horzbendpt HP /* [b]endpoint = link segment origin with drawing style attributes */ { HPid linksegid c8 1 /* unique table row symbol_name */ HLid vertlinkid c8 1 /* unique parent link row id */ HPx xcoord f4 0 /* x coordinate of bendpoint */ HPy ycoord f4 0 /* y coordinate of bendpoint */ is_visible boolean i2 0 /* zero ==> outgoing segment is NOT visible*/ hsegpattern linepattern c4 0 /* arrow/width/dashed drawing patern */ /* segment from last bendpt is inside dest node: assert(!last-HP.is_visible) */ } horzident HI /* HI - one-line text label for Diagram link */ { HIid horzidentid c8 1 /* unique internally generated link label ID */ HLid vertlinkid c8 1 /* unique ID of parent link */ /* Fkey HLid may become HPid if labels are attached to an HP instead */ DIid dataitemid c8 0 /* Obsolete: ID of dataflow item on link */ /* a HN pair can have two (oppositely directed) links for 2-way flows; */ /* SCs have one-way calls only; ERD's can duplicate links (e.g. HL has 2 HNid's */ HIorigin reldistance f4 0 /* fractional distance along HL to HI origin */ tbeginx yoffset f4 0 /* x-offset of label text rel. to HI origin */ tbeginy voffset f4 0 /* y-offset of label text rel. to HI origin */ txtwidth xwidth i2 0 /* x-extent of label text in WC */ txtheight yheight i2 0 /* y-extent of label text in WC */ txtfont fontname c25 0 /* text font name and size */ hlabel symbol_name t40 0 /* link label text string */ } graphcap CG /* CG - graph caption (e.g., text for entire graph) */ { CGid grphcapid c8 1 /* unique internally generated ID */ HGid dfdid c8 1 /* unique ID of horzgraph container */ CGcenterx coordinate f4 0 /* x coordinate of caption center in WC */ CGcentery coordinate f4 0 /* y coordinate of caption center in WC */ CGwidth cgwidth f4 0 /* width of graph caption area */ CGheight cgheight f4 0 /* height of graph caption area */ } graphtxt GX /* GX - graph text */ { GXid grphtexid c8 1 /* unique internally generated ID */ CGid grphcapid c8 1 /* unique fkey of CG parent of this GX */ DAid dataitemid c8 0 /* Obsolete: Unique ID of dataflow item */ GXorigin reldistance f4 0 /* GX's offset to[from?] its predecessor ? */ txtfont fontname c25 0 /* text font name and size */ txtoffsetx xoffset f4 0 /* x-offset of text relative to 0?(WC?) */ txtoffsety yoffset f4 0 /* y-offset of text relative to 0?(WC?)*/ txtwidth xwidth i2 0 /* x-extent of label text (WC) */ txtheight yheight i2 0 /* y-extent of label text (WC) */ grphcaption grphtext t120 0 /* multi-line text label(text string) */ }