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.
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.
|
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 |
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 |
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 |
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.
|
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 |
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 |
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) |
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 |
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) |
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 |
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. |
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) |
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. |
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) |
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.) |
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.
See Parametric Schema Diagram
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 |
See Parametric Schema Diagram
See Parametric Schema Diagram
See Parametric Schema Diagram
See Parametric Schema Diagram
See Parametric Schema Diagram
See Parametric Schema Diagram
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. |
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 |
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. |
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.
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) |
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. |
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) |
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 |
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. |
Please see the description of Chan at the top of this section.
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) |
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. |
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 |
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 |
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). |
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.
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 |
.
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) |
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.
Purpose:
Parameters
|
SCNID |
Locally generated sequence number (as part of Earthworm schema). Link to earthworm SCN. |
|
idChan |
Unique record identifier. Link to PhaseIII Chan |
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 |
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.
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. |
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. |
See Parametric Schema Diagram
See Parametric Schema Diagram
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. |
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. |
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.