TSRCDBScript
21 Nov 2009 14:00 UTC 2009325+1400 UTC

-- *******************************************************************
--  tsrcdbScript: Script for creating Texas Spatial Research Center
--			Database
--   Usage:
--       $ sqlite3 tsrcdb.db < tsrcdbScript
--
-- *******************************************************************
--  Script for creating description table
--
--   Note: The trigger insert_description_last_updated
--          updates last_update in description
-- *******************************************************************
CREATE TABLE description (desc_id	INTEGER PRIMARY KEY,
			  mark_id		INTEGER,
	           	  desc			TEXT NOT NULL DEFAULT '',
                   	  last_contrib		INTEGER,
                   	  last_updated		DATE,
			  UNIQUE(mark_id) );

CREATE TRIGGER insert_description_last_updated AFTER  INSERT ON description

BEGIN

UPDATE description SET last_updated = DATETIME('NOW')
         WHERE rowid = new.rowid;
END;

-- *******************************************************************
--  Script for creating mark table
-- *******************************************************************
CREATE TABLE mark (mark_id	INTEGER PRIMARY KEY,
	           pid		VARCHAR(10),
                   desc_id	INTEGER,
                   prim_obs	INTEGER,
		   stamping	VARCHAR(25),
		   stability	TEXT,
		   setting	TEXT,
		   mark_cond	CHAR(1));

-- *******************************************************************
--  Script for creating contributor table
--
--   Note: The trigger insert_contributor_dateAdded
--          updates dateAdded in contributor
-- *******************************************************************
CREATE TABLE contributor (contrib_id	INTEGER PRIMARY KEY,
	           	  fname		TEXT COLLATE NOCASE,
                   	  lname		TEXT COLLATE NOCASE,
                   	  pword		VARCHAR(15),
                   	  email		TEXT NOT NULL DEFAULT 'N/A' COLLATE NOCASE,
			  phone		TEXT NOT NULL DEFAULT 'N/A',
			  institute	TEXT NOT NULL DEFAULT 'N/A',,
			  access_type	INTEGER,
                   	  dateAdded	DATE,
			  UNIQUE (fname, lname) );

CREATE TRIGGER insert_contributor_dateAdded AFTER  INSERT ON contributor

BEGIN

UPDATE contributor SET dateAdded = DATETIME('NOW')
         WHERE rowid = new.rowid;
END;
-- *******************************************************************
--  Script for creating observation table
-- *******************************************************************
CREATE TABLE observation (obs_id	INTEGER PRIMARY KEY,
	           	  mark_id	INTEGER NOT NULL,
			  pid		VARCHAR(10),
			  dsgn		VARCHAR(25),
			  observed	VARCHAR(25),
			  source	VARCHAR(25),
			  ortho_hgt	NUMERIC,
			  ortho_uncert	NUMERIC,
			  ortho_srce	TEXT,
			  utm_zone	TEXT,
			  utm_north	NUMERIC,
			  utm_east	NUMERIC,
			  utm_converg	NUMERIC,
			  utm_pt_scl	NUMERIC,
			  utm_comb_fct	NUMERIC,
			  spc_zone	TEXT,
			  spc_north	NUMERIC,
			  spc_east	NUMERIC,
			  spc_converg	NUMERIC,
			  spc_pt_scl	NUMERIC,
			  spc_comb_fct	NUMERIC,
			  re_frame	TEXT,
			  epoch		NUMERIC,
			  lat_deg	NUMERIC,
			  lat_min	NUMERIC,
			  lat_sec	NUMERIC,
			  lat_uncert	NUMERIC,
			  lon_deg	NUMERIC,
			  lon_min	NUMERIC,
			  lon_sec	NUMERIC,
			  lon_uncert	NUMERIC,
			  ell_ht	NUMERIC,
			  ell_ht_uncert	NUMERIC,
			  x		NUMERIC,
			  x_uncert	NUMERIC,
			  y		NUMERIC,
			  y_uncert	NUMERIC,
			  z		NUMERIC,
			  z_uncert	NUMERIC, 
			  contrib_id	INTEGER NOT NULL,
			  dateAdded	DATE);

CREATE TRIGGER insert_observation_dateAdded AFTER  INSERT ON observation

BEGIN

UPDATE observation SET dateAdded = DATETIME('NOW')
         WHERE rowid = new.rowid;
END;
Page last modified on October 08, 2009, at 02:18 PM