Description of PhaseIII Parametric Schema Implementation: 1999/11/19 v2.10

 

PARAMETRIC SCHEMA DIAGRAM

Purpose: Depict the relationships between various parametric data entities within the Phase III system.

 

Event Group

Event

Purpose: symbolizes a collection of data from all other groups, for some purpose. An example would be an Earthquake, that contains an origin or two, a magnitude, a mechanism, a collection of picks and some waveform snippets. This could also be a collection of strong motion data.

 

Parameters

idEvent

Unique record identifier

tiEventType:

Indicates the type of event: Quake, Blast, Tremor, Strong Motion(?), etc.

iDubiocity:

Indicates whether an event is bogus, or potentially the likelihood that an event is bogus.

idComment:

Link to a possible Comment for the event

Bind Group

Bind

Purpose: Bind records from Core entities to an Event. Bind is the utility used to associate data with an event. To associate an origin with an event, you would create a Bind record with the idEvent of the event, tiCore set to identify the Origin table, and idCore = the idOrigin of the origin to associate with the event.

Parameters

idBind

Unique record identifier

idEvent

Indicates the event to bind the core record to

tiCore

Indicates the entity type(DB table) to bind to the event

idCore

Indicates the record from tiCore to bind to the event identified by idEvent

 

Summary Group

Origin

Purpose: Contains summary information about an estimate of where a seismic event occurred. It contains information regarding when and where an event may have occurred, including error information.

 

 

Parameters

idOrigin

Unique record identifier

idSource

Indicates the source of the origin

tiExternal

The external schema table from which this record is derived

xidExternal

The record in the external schema table from which this one is derived

tOrigin

Time the event began (seconds since 1970)

dLat

Latitude of the event (degrees XXX.XXXXXX)

dLon

Longitude of the event (degrees XXX.XXXXXX)

dDepth

Depth of the event below the earth’s surface (in kilometers XXXX.XXX)

iGap

Largest azimuthal gap between two stations used in calculating origin data (in degrees XXX.).

dDmin

Distance from epicenter to nearest station (km XXXXX.XX)

dRms

RMS travel time residual ( In seconds XXXX.XXXX)

iAssocRd

Number of readings(introduced for USNSN use) that were associated together for the event represented by this origin.

iAssocPh

Number of phases that were associated together for the event represented by this origin

iUsedRd

Number of readings that were actually used to calculate parameters for this origin

iUsedPh

Number of phases actually used to calculate parameters for this origin

{error values}

The next 9 values describe a 3D ellipsoid region within which the estimator is confident that the event originated.

iE0Azm

The Azimuth of the smallest principle error (degrees East of North XXX)

iE0Dip

The Dip of the smallest principle error (degrees XXX)

iE1Azm

The Azimuth of the intermediate principle error (degrees XXX)

iE1Dip

The Dip of the intermediate principle error (degrees XXX)

iE2Azm

The Azimuth of the largest principle error (degrees XXX)

iE2Dip

The Dip of the largest principle error (degrees XXX)

dE0

The magnitude of the smallest principle error (km XXXX.XX)

dE1

The magnitude of the intermediate principle error (km XXXX.XX)

dE2

The magnitude of the largest principle error (km XXXX.XX)

dErLat

The latitudinal error of the origin location (degrees XXX.XXXXXX)

dErLon

The longitudinal error of the origin location (degrees XXX.XXXXXX)

dErz

The vertical error of the origin location (km XXXX.XX)

tMCI

A time confidence interval (seconds)

iFixedDepth

Indicates whether or not a "fixed depth" model was used to calculate the hypocenter

idComment

Link to a possible Comment for the event

 

MechFM

Purpose: Describe the focal plot of the first ground motions as a result of the event.

*Note: this entity currently contains no focal mechanism related attributes. It only contains attributes that relate it to other entities.

Parameters

idMechFM

Unique record identifier

tiExternal

External schema table from which this record is derived

xidExternal

RecordID from the external schema table from which this record is derived

idOrigin

Unique identifier of the Origin record for which this is a focal mechanism

idSource

Author of this focal mechanism

 

Magnitude

Purpose: Describe the size of a seismic event in terms of some scale, such as duration of shaking, size of largest body wave amplitude, size of largest surface wave amplitude, etc.

Parameters

idMag

Unique record identifier

tiExternal

External schema table from which this record is derived

xidExternal

RecordID from the external schema table from which this record is derived

idSource

Author of this magnitude

idOrigin

Origin used to calculate this Magnitude

tiMagType

Type of Magnitude (Duration, Local, BodyAmp, Surface Amplitude)

dMagAvg

The summary magnitude value, meaning weighted average of all contributing station magnitudes (between 0.000 and 9.999)

iNumMags

The number of station magnitudes used to compute the summary magnitude

dMagErr

The possible error of the magnitude (Median Absolute Difference) X.XXX

Link Group

OriginPick

Purpose: Describe the relationship between a Pick and an Origin, and how the measurements of the pick affected the calculation of Origin parameters.

 

 

 

 

 

 

 

Parameters

idOriginPick

Unique record identifier

idOrigin

Identifier of the Origin record to which the OriginPick is related

idPick

Identifier of the Pick to which the OriginPick is related

sPhase

The phase that the Origin Author believes that the Pick represents (P,S,etc.)(up to 6 chars)

tPhase

The time that the Origin Author thought the phase actually occurred (calc’d time instead of the observed time that is part of the pick) (seconds since 1970)

dWeight

Weight given to the Pick in calculating the Origin location (XXX.XX) (I have no idea how this is to be interpreted, possibly Source dependent davidk 19991129)

dDist

Distance from station where pick was recorded to epicenter (km XXXXX.XX)

dAzm

Azimuth to station in degrees East of North. (XXX.X)

dTakeOff

Emergence angle at source. (degrees XXX.X)

tResPick

The time residual of the Pick (difference between OriginPick.tPhase and Pick.tPhase)(seconds)

 

MechFMPick

Purpose: Describe the relationship between a Pick and a MechFM (focal mechanism), and how the measurements of the pick affected the calculation of MechFM parameters. (Since MechFM doesn’t do much at this stage, neither does MechFMPick.)

Parameters

idMechFMPick

Unique record identifier

idMechFM

Identifier of the MechFM to which the MechFMPick is related

idPick

Identifier of the Pick to which the MechFMPick is related

 

MagLink

Purpose: Describe the relationship between signal measurements(mostly amplitudes) for a given station and the summary Magnitude that is generated for an event. A MagLink relationship can occur for all types of Magnitudes/Measurements, but the Magntidue type must match the Measurement type. For the purposes of this schema, you cannot create a summary ML with Coda Duration Measurements.

Parameters

idMagLink

Unique record identifier

idMag

Identifier of the Magnitude record to which the MagLink is related

idDatum

Identifier of the Measurement record to which the MagLink is related (BodyAmp, CodaDur, etc.)

dMag

The station Magnitude calculated based upon the idDatum measurement (XX.XX)

dWeight

The weight given to the station Magnitude(dMag) in calculating the summary magnitude (Magnitude.dMagAvg) that is a weighted average of all of the relevant station magnitudes (XXX.X)

 

Datum Summary Group

DurCoda

Purpose: Describe the relationship between a Pick and a Coda Termination. (They must be for the same channel). The meat of the relationship is the time measurements between the Pick occurrence and the termination of the Coda.

Parameters

idDurCoda

Unique record identifier

idTCoda

Identifier of the Tcoda (Coda Termination) to which the DurCoda is related

idPick

Identifier of the Pick to which the DurCoda is related

tCodaDurObs

Time between the Pick time and the Observed Coda Termination time

tCodaDurXtp

Time between the Pick time and the Calculated Coda Termination time

 

Ray

Purpose: Provide a better description of multidirectional motion at a station. A Ray is created by combining data from 3 complimentary sensors at a given Station(Site). (Ray is not currently implemented as a functional part of this schema. It has been implemented as a table as described by Carl Johnson. davidk 19991129)

Parameters

idRay

Unique record identifier

tiExternal

External schema table from which this record is derived

xidExternal

RecordID from the external schema table from which this record is derived

tOn

Start time of the Ray measurement (since 1970)

tOff

End time of the Ray measurement (since 1970)

dAzm

Azimuthal measurement in degrees East of North (XXX) (no idea what the significance of this is)

dSlow

Measure of the slowness of incoming wave.

idChan1

Identifier of the 1st channel making up the ray. All channels are from the same site.

idChan2

Identifier of the 2nd channel making up the ray. All channels are from the same site.

idChan3

Identifier of the 3rd channel making up the ray. All channels are from the same site.

Datum Group

Pick

Purpose: Identify the arrival of a waveform phase at a seismic station(component).

Parameters

idPick

Unique record identifier

sPhase

The type of phase that was picked (P,S, etc.)

tPhase

The time the phase arrived (seconds since 1970)

idChan

Identifier of the channel for which this pick was made

tiExternal

External schema table from which this record is derived

xidExternal

RecordID from the external schema table from which this record is derived

cMotion

The first motion of the phase (U or D)

cOnset

The onset of the phase

dSigma

The quality of the phase in terms of possible error deviation (seconds)

 

TCoda

Purpose: Identify the termination of a Coda for a given channel

Parameters

idTCoda

Unique record identifier

tiExternal

External schema table from which this record is derived

xidExternal

RecordID from the external schema table from which this record is derived

idChan

Identifier of the channel for which this TCoda was made

tCodaTermObs

Observed time of the coda termination (seconds since 1970)

tCodaTermXtp

Calculated time of the coda termination (seconds since 1970) Calculated by amplitude measurements(AmpCoda) and decay algorithm.

 

AmpCoda

Purpose: Identity average amplitude measurements made during a coda of a given channel. The measurements are used along with a decay algorithm to calculate the termination time of the coda.

Parameters

idAmpCoda

Unique record identifier

tiExternal

External schema table from which this record is derived

xidExternal

RecordID from the external schema table from which this record is derived

idChan

Identifier of the channel for which this amplitude measurement was made

idTCoda

Identifier of the coda termination(TCoda) record that this record supports. More than one amplitude measurements can be used to calculate a coda termination time.

tOn

Start time of the average amplitude measurement (since 1970)

tOff

End time of the average amplitude measurement (since 1970)

dAvgAmp

The average amplitude value between tOn and tOff (source dependent: microns or digital counts)

 

AmpBody

Purpose: Identify the amplitude measurement made for a body-wave phase for a channel. The amplitude measurement is used to calculate a magnitude for a phase for a channel.

Parameters

idAmpBody

Unique record identifier

tiExternal

External schema table from which this record is derived

xidExternal

RecordID from the external schema table from which this record is derived

idChan

Identifier of the channel for which this amplitude measurement was made

dAmp

The amplitude of the phase (microns).

tScaling

Time of the amplitude measurement (seconds since 1970)

tPeriod

The period between waves at the time of measurement

sAmpType

The type of phase (P, S, Wood-Anderson P, etc.)

 

 

EXTERNAL SCHEMA DIAGRAM

 

Purpose

This diagram depicts the relationships between an Event and its preferred summary information. It also depicts the relationships between an information Source and an Event, various summary information, and the concept of an External Event that is an event from an external system. Lastly it depicts the relationship between core Phase III tables and External tables, where core records from core Phase III tables may be derived from data in tables external to the Phase III system.

 

Event Group

Event

See Parametric Schema Diagram

 

Bind Group

Prefer

Purpose: Indicate preferential summary records for an event, such as the preferred origin for an event.

Parameters

idPrefer

Unique record identifier

idEvent

Identifier for relative event

idPrefOrigin

Identifier for preferred Origin record for the event

idPrefMag

Identifier for preferred Magnitude record for the event

idPrefMech

Identifier for preferred Mechanism record for the event

 

Summary Group

Origin

See Parametric Schema Diagram

MechFM

See Parametric Schema Diagram

Magnitude

See Parametric Schema Diagram

 

Datum Group

Pick

See Parametric Schema Diagram

TCoda

See Parametric Schema Diagram

AmpCoda

See Parametric Schema Diagram

AmpBody

External Group

External Table

Purpose: A table external to the Phase III core set of tables. The table is presumably part of or a conversion from another system. The table may contain data beyond what is stored in the core schema tables and may be referenced by one or more records from one or more core schema tables.

Parameters

xidKey

The table must have a unique key that can be used to uniquely identify a record from the table. The key is transformed into an alphanumeric string for use as a foreign key by core tables, and stored in the xidExternal field of a core table record. A unique record must be identifiable by a combination of the tiExternal and xidExternal fields from a core table record (tiExternal identifies the table that the external record is a part of and xidExternal identifies the record within the table.

Parameters

Miscellaneous attribute fields, unknown to the core Phase III schema.

Others

Source

Purpose: Identify the source of an event or summary data. Source identifies the author of information. The source is tracked for events as well as individual summary data records for events.

Parameters

idSource

Unique record identifier

sSource

The text string identifying the source. This may be anything the source wishes to use and may not necessarily be easily understood by humans (50 chars)

sHumanReadable

The name of the source, in a format that is intelligible to humans (100 chars). The sSource field might contain the ID of the Earthworm module that declared an event, and the sHumanReadable field might contain the name of the regional network that operates the Earthworm system that declared the event.

idComment:

Link to a possible Comment for the event

ExternalEvent

Purpose: Associate a DB Event with an event in an external event that comes from an external system, allowing someone to update events that originated from external systems and/or link DB events to events from external systems.

Parameters

 

idExternalEvent

Unique record identifier

idSource

Identifier of the source of the event that is to be linked to a DB Event

sSourceEventID

The event identifier given to the event by the external source. If an event was imported from a USNSN system, and that system gave the event an id, than this is the field that would store that USNSN event id.

 

 

COOKED INFRASTRUCTURE DIAGRAM

Purpose

This diagram describes: the relationships between Site (a phyiscal place in the field where seismic equipment may be placed), Comp (a seismic component sensor), and Chan (a path from a component to digital waveforms or another information source) and there changes over time; the relationship between a channel and a Poles and Zeros based transform function that approximates ground motion from a channels signal; the relationship between the cooked infrastructure tables and external systems; and the relationship between a channel and the head of a chain of electronic devices.

Core

Chan

Purpose: Identify a unique source of waveform data. The channel(Chan) identifies a unique path from a component that senses ground motion through the digitizer/digital filter that creates the digital waveforms used by seismic processing systems. The Chan provides a mechanism for identifying the unique path utilized in converting ground motion into digital waveforms, so that a set of transform equations can be calculated to convert the digital waveforms back into ground motion. Knowing which component in the field recorded the ground motion is not enough to back the digital waveforms into ground motion, information is also needed on the electronic components between a sensor in the field and the last filter/digitizer that generates the waveforms. Multiple sets of digital waveforms may be generated from one component by transmitting the signal over multiple paths before creating digital waveforms from it(the signal), so it is not enough to track only the sensor in the field, the entire path must be tracked an identified. The Chan table provides the mechanism for uniquely identifying this path. Much is made of "digital waveforms" in this paragraph, as it represents the most common source of seismic information; the path starts at ground motion, and ends at the information source where the data is interpreted. If data is filtered, decimated, or altered in some way once it has become "digital waveforms", then the Chan does not end at the digitization of the waveforms, but at the point where they are last altered. One of the key points to a Chan(channel) is how it is defined. There are two ways to uniquely identify a channel: giving an idChan, or by going to the physical channel and pointing at it. It is deemed impractical to utilize the pointing method within the database, so the only method allowed in the schema is the use of idChan. YOU CANNOT USE SCNL(Sta, Comp, Net, Loc) to define a Chan. You can use a combination of Station Component, Network, and Location to get a list of Chans back, but you cannot use them to define a channel. This causes a problem in populating the database. idChan’s are essentially something built within the database, so there is no way for an external system to generate a proper idChan. Because external systems do not use idChan, this essentialy generates a problem: a channel cannot be defined with anything other than an idChans and idChans are not tracked outside of the database. This is where the first form of identifying a channel becomes useful. Although external systems don’t use idChan’s as data channel identifiers, there should be people running the systems with a priori knowledge of what incoming data corresponds to what idChans. The system administrators should be capable of identifying channels by pointing at them, something that is not possible within the database, and then associating a physical channel with a channel identifier from a system outside the database. The administrator then creates a lookup table (sometimes referred to as a cheater table) that allows an automated connector to convert a external system’s channel identifier to an idChan.

Parameters

idChan

Unique record identifier

idComment:

Link to a possible Comment for the channel(Chan)

Site

Purpose: Define a site, the location of a zero or more seismic components somewhere in the world, and the site’s fixed, non-electronic attributes.

Parameters

idSite

Unique record identifier

sSta

The IRIS station code for the site.

sNet

The IRIS network code for the site.

idComment:

Link to a possible Comment for the site.

SiteT

Purpose: Define variable(with respect to time) attributes of a site for a certain window of time. The attributes, that are variable for the site over time, are fixed for a certain time window. SiteT represents the time window and the attribute values for the window.

Parameters

idSiteT

Unique record identifier

idSite

Link to a Site for which this record represents a time window

tOff

Ending time of the window

tOn

Starting time of the window

dLat

Latitude of the site. (degrees as a fixed decimal number)

dLon

Longitude of the site. (degrees as a fixed decimal number)

dElev

Elevation of the site. (meters as a fixed decimal number)

idComment:

Link to a possible Comment for the site time window (SiteT)

Comp

Purpose: Define a seismic component and it’s fixed non-electronic attributes.

Parameters

idComp

Unique record identifier

idSite

Link to the Site where this component is approximately located.

sComp

The IRIS component code for the component.

sLoc

The IRIS location code for the component.

idComment:

Link to a possible Comment for the component

CompT

Purpose: Define variable(with respect to time) non-electronic attributes of a component for a certain window of time. The attributes, that are variable for the component over time, are fixed for a certain time window. CompT represents the time window and the attribute values for the window. Station, Network, Component, and Location codes have been added to this table. They are taken from it’s corresponding Comp table. They are fixed attributes of a component, but have been replicated to the CompT table to allow single table look-ups of station location from SCNL. This has been done purely for performance and creates an opportunity for data anomaly.

Parameters

idCompT

Unique record identifier

idComp

Link to a Comp for which this record represents a time window

tOff

Ending time of the window

tOn

Starting time of the window

sSta

{DENORMALIZED} The IRIS station code for the site to which this CompT is indirectly associated.

sNet

{DENORMALIZED} The IRIS network code for the site to which this CompT is indirectly associated.

sComp

{DENORMALIZED} The IRIS component code for the component to which this CompT is associated.

sLoc

{DENORMALIZED} The IRIS location code for the component to which this CompT is associated

dLat

Latitude of the component. (degrees as a fixed decimal number)

dLon

Longitude of the component. (degrees as a fixed decimal number)

dElev

Elevation of the component. (meters as a fixed decimal number)

dAzm

Azimuth orientation of the component (degrees east of north as a fixed decimal number)

dDip

Dip orientation of the component (degrees below surface as a fixed decimal number)

idComment:

Link to a possible Comment for the component.

 

Chan

Please see the description of Chan at the top of this section.

 

ChanT

Purpose: Define variable(with respect to time) non-electronic attributes of a channel(Chan) for a certain window of time. The attributes, that are variable for the channel over time, are fixed for a certain time window. ChanT represents the time window and the attribute values for the window..

Parameters

idChanT

Unique record identifier

idChan

Link to a Chan for which this record represents a time window

tOff

Ending time of the window

tOn

Starting time of the window

idCompT

Link to a CompT record that defines the attributes of the component that is the source of the channel for atleast the (tOn - tOff ) timerange.

idDevice

Link to a Device record that represents the last device in the channel. Device is part of the "Raw Infrastructure" schema, that describes channel details and instrument response.

idComment:

Link to a possible Comment for the channel time window(ChanT)

 

 

 

 

ChanCTF

Purpose: Depict the relationship between a channel time window (ChanT) and a Transform Function, and the attributes of that relationship.

Parameters

idChanCTF

Unique record identifier

idChanT

Link to the ChanT record for which there is a transform function

idCTF

Link to the transform function to be used for the ChanT

dGain

Gain for the channel during the ChanT time window.

dSampRate

Sample rate of data for the channel during the ChanT time window.

 

 

CookedTF

Purpose: Depict a Poles and Zeroes based transform function for approximating ground motion from a set of digital waveforms. A single transform function may be associated with multiple time windows from multiple data channels.

Parameters

idCTF

Unique record identifier

sFuncDesc

A name or brief description of the function (50 char max)

iNumPoles

The number of poles in the function

iNumZeroes

The number of zeroes in the function

 

PolesAndZeroes

Purpose: Depict a pole or zero member of a transform function as a complex number.

Parameters

idPZ

Unique record identifier

idCTF

Link to the cooked transform function(CookedTF) to which this record belongs

iOrdinal

A unique number for a set of poles or zeros for a given function. Used with idCTF to provide a primary key for the table.

cPZType

A flag indicating whether the record represents a pole or zero

dReal

The real portion of the complex number

dImaginary

The imaginary portion of the complex number

 

 

Device

Purpose: Represent a device in a waveform data channel

Parameters

idDevice

Unique record identifier

Parameters

Set of attributes. See the Raw Infrastructure Diagram for more information (if it exists).

 

 

 

USNSN Schema Interface

Purpose

Describe how the USNSN system interfaces with the Phase III Cooked Infrastructure. This interface is not part of the main Phase III Schema, but serves as an interface between the USNSN system and the PhaseIII system.

STATION_NSN_2_idChan

Purpose: Serve as a lookup table to convert from a USNSN StationID to an idChan

Parameters

idChan

Unique record identifier. Link to a Phase III Chan

StationID

Primary Key Link to a USNSN Station

.

 

STATION_USNSN

Purpose: USNSN station table. Part of the USNSN system that depicts information about a station.

Parameters

NSN_STA

USNSN Station Name

Sta

IRIS like Station Code

Chan

IRIS like Channel Code

Net

IRIS like Network Code

StationID

Locally generated sequence number (not generated as part of the Phase III schema)

 

 

 

Earthworm Schema Interface

Purpose

Describe how the Earthworm system interfaces with the Phase III Cooked Infrastructure. This interface is not part of the main Phase III Schema, but serves as an interface between the Earthworm system and the PhaseIII system.

SCN_EW_2_Chan

Purpose:

Parameters

SCNID

Locally generated sequence number (as part of Earthworm schema). Link to earthworm SCN.

idChan

Unique record identifier. Link to PhaseIII Chan

 

 

SCN_EW

Purpose: Earthworm SCN table. Part of the Earthworm system that depicts information about a SCN.

 

Parameters

SCNID

Locally generated sequence number

Sta

EW IRIS like Station Code

Chan

EW IRIS like Channel Code

Net

EW IRIS like Network Code

 

META SCHEMA DIAGRAM

Purpose

Depict generic implementation details for the schema, such as how a key is obtained, how table identifiers are handled, how comments are handled, and how multiple DB nodes are handled for use in a distributed setup.

 

Comments

Purpose: Provide a generic comment functionality. Any core table that could make use of a comment utilizes the Comments table for the comment in lieu of embedding the comment in the table’s data record. By abstracting the comment from the data record, it allows for much denser record storage while still providing the ability to associate long detailed comments with a particular data record.

Parameters

idComment

Unique record identifier

sComment

A text field containing the comment. The text field should incorporate comments of up to 16k in length.

 

P3Node

Purpose: Provide a means for identifying a unique database node across a system of distributed databases. The P3Node number is used in transforming locally generated sequence numbers into keys that are unique across multiple database nodes. Each node has a unique node number, that when combined with a sequence number that is locally unique, can generate a key that is globally unique.

Parameters

P3NodeID

Unique record identifier (4 digits)

sP3NodeName

Arbitrary name of a database node

idComment

Identifier of a Comment for the node

iIsMyNodeID

Flag indicating that the current record describes the local node. Records representing all of the database nodes may be stored in the local node table, but only one record may be flagged as the local node. This is used to figure out which P3NodeID to use in creating globally unique records in the local database node.

 

Event

See Parametric Schema Diagram

 

Bind

See Parametric Schema Diagram

 

<P3_Table>

Purpose: This is a template for the schema core data tables. It depicts that each table is required to have a numeric identifier that is globally unique for that table variety.

Parameters

<idKey>

A unique record identifier. The field name is not necessarily "idKey" but is of the "id" variery. It is a combination of a locally unique sequence number, and a P3NodeID, so that a key is generated that is globably unique to the specified type of table. Different sequence generators may be used for different table types, such as Origin and Event, but an <idKey> field in a local Origin table is guaranteed to be unique for all Origin tables across all database nodes. Other nodes may have a record with the same key, but that id describes the exact same record in all nodes.

 

P3_Tablelist

Purpose: Provide a means of identifiying a unique table. Currently the tablelist only contains a list of local tables with no P3NodeID specified. This should probably be changed so that a P3_Tablelist record uniquely identifies a table across all database nodes. P3_Tablelist is used to resolve table identifiers(tiXXX) stored in several of the core tables. The schema uses the Bind table as a generic associator to associate records from various tables with an Event. Each Bind record contains a tiCore field that identifies the table whose record is to be bound to the event. The table is specified with a Table Identifier which is envisioned as a local sequence number. The number is the used to look up the name of the data table in the P3_Tablelist table. P3_Tablelist acts as a lookup table to go from tablename to table identifier and vice versa.

Parameters

idComment

Unique record identifier( only 9 digit locally unique sequence number)

sTableName

Primary Key: The name of the table.

 

Appendix A: Datatypes

 

The following datatypes are utilized in the diagram

i: Integer (presumably 4 byte, but probably within the range of –999,999,999 to 999,999,999)

 

t: Time in double form, represented in seconds. For absolute times, it is seconds since 1/1/1970 (Julian) Of the form %12.2f (210987654321.12 or 999999999999.99)

 

d: Double within the limitations of a standard C double. Because Oracle does not define numbers in terms of floating points, the precision is more precisely defined in the actual tables.

 

ti: Table Identifier. This is a variable that can uniquely identify a table. Theoretically, it should be capable of identifying a table across all schema2 installations, but currently (as implemented) it can only identify a table within a single schema2 database. Conceptually a table identifier is not a number nor a string, but something that is able to identify a table. In the PhaseIII Schema2 implementation, table identifiers are implemented as a number that is used to look up a table name in a P3_Tablelist table. This

should later be changed to be a combination of a P3NodeID and a table code, similar to an ID type.

 

id: A Core table ID. This is a 13-digit integer of the following form XXXXYYYYYYYYY, where the X’s represent the 4-digit schema2 installation ID that is responsible for the record, and the Y’s identify the 9-digit unique ID value for the table at that installation. Example: you run across and Origin record with idOrigin = 12000000123, you can glean(if that’s a word) that it came from DB installation 12, with and id of 123 generated for that installation’s Origin table. The 123 is unique within the origin table, and the 12 is unique among the installations. There could also be a record in the Event table at your installation, with idEvent = 12000000123. The two records are unrelated, because the 123 for one record was generated to uniquely identify it among other origin records, and the other 123 was generated to uniquely identify it among other event records. However, if you go to two separate installations, and find

at each of them an origin record with idOrigin=12000000123, then those records are the same origin.

 

xid: A recordID for an external table. As implemented this is an ASCII string representation of a key for an external table no more than 16 characters long. For a Core Origin record generated from an Earthworm Schema Origin record, this would be the OriginID from the Earthworm Schema Origin record.

 

c: A single ASCII character. ‘b’ for example.

 

s: An ASCII string. "The lazy brown programmer jumped over the banana peel," for example.