2006-06-22 14:01:54 +00:00
-- 22
2006-03-14 11:34:17 +00:00
2006-03-22 16:42:22 +00:00
DROP TABLE IF EXISTS version ;
2006-02-21 17:01:06 +00:00
CREATE TABLE version (
2006-06-07 15:27:21 +00:00
schema TEXT PRIMARY KEY ,
version INT NOT NULL
2006-02-21 17:01:06 +00:00
) ;
2006-06-07 15:27:21 +00:00
DROP INDEX IF EXISTS schema ;
CREATE INDEX schema ON version ( schema ) ;
2006-02-21 17:01:06 +00:00
2006-05-18 11:25:10 +00:00
DROP TABLE IF EXISTS items ;
CREATE TABLE items (
itemID INTEGER PRIMARY KEY ,
itemTypeID INT ,
2006-03-14 11:34:17 +00:00
title TEXT ,
dateAdded DATETIME DEFAULT CURRENT_TIMESTAMP ,
2006-06-01 00:22:18 +00:00
dateModified DATETIME DEFAULT CURRENT_TIMESTAMP
2006-02-21 17:01:06 +00:00
) ;
2006-05-18 11:25:10 +00:00
DROP TABLE IF EXISTS itemTypes ;
CREATE TABLE itemTypes (
itemTypeID INTEGER PRIMARY KEY ,
2006-02-21 17:01:06 +00:00
typeName TEXT
) ;
2006-03-22 16:42:22 +00:00
DROP TABLE IF EXISTS fieldFormats ;
2006-03-14 10:57:01 +00:00
CREATE TABLE fieldFormats (
fieldFormatID INTEGER PRIMARY KEY ,
regex TEXT ,
isInteger INT
) ;
2006-03-22 16:42:22 +00:00
DROP TABLE IF EXISTS fields ;
2006-02-21 17:01:06 +00:00
CREATE TABLE fields (
2006-03-14 10:57:01 +00:00
fieldID INTEGER PRIMARY KEY ,
2006-02-21 17:01:06 +00:00
fieldName TEXT ,
2006-03-14 10:57:01 +00:00
fieldFormatID INT ,
FOREIGN KEY ( fieldFormatID ) REFERENCES fieldFormat ( fieldFormatID )
2006-02-21 17:01:06 +00:00
) ;
2006-05-18 11:25:10 +00:00
DROP TABLE IF EXISTS itemTypeFields ;
CREATE TABLE itemTypeFields (
itemTypeID INT ,
2006-02-21 17:01:06 +00:00
fieldID INT ,
orderIndex INT ,
2006-05-18 11:25:10 +00:00
PRIMARY KEY ( itemTypeID , fieldID ) ,
FOREIGN KEY ( itemTypeID ) REFERENCES itemTypes ( itemTypeID ) ,
FOREIGN KEY ( fieldID ) REFERENCES itemTypes ( itemTypeID )
2006-02-21 17:01:06 +00:00
) ;
2006-05-18 11:25:10 +00:00
DROP TABLE IF EXISTS itemData ;
CREATE TABLE itemData (
itemID INT ,
2006-02-21 17:01:06 +00:00
fieldID INT ,
value NONE ,
2006-05-18 11:25:10 +00:00
PRIMARY KEY ( itemID , fieldID ) ,
FOREIGN KEY ( itemID ) REFERENCES items ( itemID ) ,
2006-02-21 17:01:06 +00:00
FOREIGN KEY ( fieldID ) REFERENCES fields ( fieldID )
) ;
2006-05-18 11:25:10 +00:00
DROP INDEX IF EXISTS value ;
2006-06-01 00:22:18 +00:00
CREATE INDEX value ON itemData ( value ) ;
2006-02-21 17:01:06 +00:00
2006-06-16 07:32:48 +00:00
DROP TABLE IF EXISTS itemNotes ;
CREATE TABLE itemNotes (
noteID INT ,
itemID INT ,
note TEXT ,
2006-06-16 16:09:18 +00:00
dateCreated DATETIME DEFAULT CURRENT_TIMESTAMP ,
dateModified DATETIME DEFAULT CURRENT_TIMESTAMP ,
2006-06-16 07:32:48 +00:00
PRIMARY KEY ( noteID ) ,
FOREIGN KEY ( itemID ) REFERENCES items ( itemID )
) ;
DROP INDEX IF EXISTS itemNotes_itemID ;
CREATE INDEX itemNotes_itemID ON itemNotes ( itemID ) ;
2006-03-22 16:42:22 +00:00
DROP TABLE IF EXISTS keywords ;
2006-02-21 17:01:06 +00:00
CREATE TABLE keywords (
2006-03-14 10:57:01 +00:00
keywordID INTEGER PRIMARY KEY ,
2006-02-21 17:01:06 +00:00
keyword TEXT
) ;
2006-06-01 00:22:18 +00:00
DROP INDEX IF EXISTS keyword ;
CREATE INDEX keyword ON keywords ( keyword ) ;
2006-02-21 17:01:06 +00:00
2006-05-18 11:25:10 +00:00
DROP TABLE IF EXISTS itemKeywords ;
CREATE TABLE itemKeywords (
itemID INT ,
2006-02-21 17:01:06 +00:00
keywordID INT ,
2006-05-18 11:25:10 +00:00
PRIMARY KEY ( itemID , keywordID ) ,
FOREIGN KEY ( itemID ) REFERENCES items ( itemID ) ,
2006-02-21 17:01:06 +00:00
FOREIGN KEY ( keywordID ) REFERENCES keywords ( keywordID )
) ;
2006-06-01 00:22:18 +00:00
DROP INDEX IF EXISTS keywordID ;
CREATE INDEX keywordID ON itemKeywords ( keywordID ) ;
2006-02-21 17:01:06 +00:00
2006-03-22 16:42:22 +00:00
DROP TABLE IF EXISTS creators ;
2006-02-21 17:01:06 +00:00
CREATE TABLE creators (
2006-03-14 11:34:17 +00:00
creatorID INT ,
2006-02-21 17:01:06 +00:00
firstName TEXT ,
2006-03-14 10:57:01 +00:00
lastName TEXT ,
2006-05-20 15:18:36 +00:00
PRIMARY KEY ( creatorID )
2006-02-21 17:01:06 +00:00
) ;
2006-03-22 16:42:22 +00:00
DROP TABLE IF EXISTS creatorTypes ;
2006-02-21 17:01:06 +00:00
CREATE TABLE creatorTypes (
2006-03-14 10:57:01 +00:00
creatorTypeID INTEGER PRIMARY KEY ,
2006-02-21 17:01:06 +00:00
creatorType TEXT
) ;
2006-05-18 11:25:10 +00:00
DROP TABLE IF EXISTS itemCreators ;
CREATE TABLE itemCreators (
itemID INT ,
2006-02-21 17:01:06 +00:00
creatorID INT ,
2006-05-20 15:18:36 +00:00
creatorTypeID INT DEFAULT 1 ,
2006-03-14 11:34:17 +00:00
orderIndex INT DEFAULT 0 ,
2006-06-08 00:16:35 +00:00
PRIMARY KEY ( itemID , creatorID , creatorTypeID ) ,
2006-05-18 11:25:10 +00:00
FOREIGN KEY ( itemID ) REFERENCES items ( itemID ) ,
2006-02-21 17:01:06 +00:00
FOREIGN KEY ( creatorID ) REFERENCES creators ( creatorID )
2006-05-20 15:18:36 +00:00
FOREIGN KEY ( creatorTypeID ) REFERENCES creatorTypes ( creatorTypeID )
2006-02-21 17:01:06 +00:00
) ;
2006-03-14 10:57:01 +00:00
2006-06-01 00:22:18 +00:00
DROP TABLE IF EXISTS collections ;
CREATE TABLE collections (
collectionID INT ,
collectionName TEXT ,
parentCollectionID INT ,
PRIMARY KEY ( collectionID ) ,
FOREIGN KEY ( parentCollectionID ) REFERENCES collections ( collectionID )
2006-03-14 10:57:01 +00:00
) ;
2006-03-23 08:51:05 +00:00
2006-06-01 00:22:18 +00:00
DROP TABLE IF EXISTS collectionItems ;
CREATE TABLE collectionItems (
collectionID INT ,
itemID INT ,
orderIndex INT DEFAULT 0 ,
PRIMARY KEY ( collectionID , itemID ) ,
FOREIGN KEY ( collectionID ) REFERENCES collections ( collectionID ) ,
FOREIGN KEY ( itemID ) REFERENCES items ( itemID )
2006-03-23 08:51:05 +00:00
) ;
2006-06-01 00:22:18 +00:00
DROP INDEX IF EXISTS itemID ;
CREATE INDEX itemID ON collectionItems ( itemID ) ;
2006-03-14 10:57:01 +00:00
2006-06-01 21:58:03 +00:00
DROP TABLE IF EXISTS scrapers ;
2006-06-01 06:35:33 +00:00
CREATE TABLE scrapers (
2006-06-12 15:43:24 +00:00
scraperID TEXT PRIMARY KEY ,
2006-06-15 06:13:02 +00:00
lastUpdated DATETIME ,
2006-06-01 06:35:33 +00:00
label TEXT ,
creator TEXT ,
urlPattern TEXT ,
scraperDetectCode TEXT ,
scraperJavaScript TEXT
) ;
2006-06-22 14:01:54 +00:00
DROP TABLE IF EXISTS transactionSets ;
CREATE TABLE transactionSets (
transactionSetID INTEGER PRIMARY KEY ,
event TEXT ,
id INT
) ;
DROP TABLE IF EXISTS transactions ;
CREATE TABLE transactions (
transactionID INTEGER PRIMARY KEY ,
transactionSetID INT ,
context TEXT ,
action TEXT
) ;
DROP INDEX IF EXISTS transactions_transactionSetID ;
CREATE INDEX transactions_transactionSetID ON transactions ( transactionSetID ) ;
DROP TABLE IF EXISTS transactionLog ;
CREATE TABLE transactionLog (
transactionID INT ,
field TEXT ,
value NONE ,
PRIMARY KEY ( transactionID , field , value ) ,
FOREIGN KEY ( transactionID ) REFERENCES transactions ( transactionID )
) ;
2006-03-14 10:57:01 +00:00
-- Some sample data
2006-05-18 20:39:38 +00:00
INSERT INTO itemTypes VALUES ( 1 , ' book ' ) ;
INSERT INTO itemTypes VALUES ( 2 , ' journalArticle ' ) ;
2006-03-14 10:57:01 +00:00
INSERT INTO " fieldFormats " VALUES ( 1 , ' .* ' , 0 ) ;
INSERT INTO " fieldFormats " VALUES ( 2 , ' [0-9]* ' , 1 ) ;
INSERT INTO " fieldFormats " VALUES ( 3 , ' [0-9]{4} ' , 1 ) ;
2006-06-01 00:22:18 +00:00
INSERT INTO fields VALUES ( 1 , ' source ' , NULL ) ;
INSERT INTO fields VALUES ( 2 , ' rights ' , NULL ) ;
2006-06-16 07:56:24 +00:00
INSERT INTO fields VALUES ( 3 , ' series ' , NULL ) ;
INSERT INTO fields VALUES ( 4 , ' volume ' , NULL ) ;
INSERT INTO fields VALUES ( 5 , ' number ' , NULL ) ;
INSERT INTO fields VALUES ( 6 , ' edition ' , NULL ) ;
INSERT INTO fields VALUES ( 7 , ' place ' , NULL ) ;
INSERT INTO fields VALUES ( 8 , ' publisher ' , NULL ) ;
INSERT INTO fields VALUES ( 9 , ' year ' , 3 ) ;
INSERT INTO fields VALUES ( 10 , ' pages ' , 2 ) ;
INSERT INTO fields VALUES ( 11 , ' ISBN ' , NULL ) ;
INSERT INTO fields VALUES ( 12 , ' publication ' , NULL ) ;
INSERT INTO fields VALUES ( 13 , ' ISSN ' , NULL ) ;
2006-03-14 10:57:01 +00:00
2006-05-18 11:25:10 +00:00
INSERT INTO itemTypeFields VALUES ( 1 , 1 , 1 ) ;
INSERT INTO itemTypeFields VALUES ( 1 , 2 , 2 ) ;
2006-06-16 07:56:24 +00:00
INSERT INTO itemTypeFields VALUES ( 1 , 3 , 3 ) ;
INSERT INTO itemTypeFields VALUES ( 1 , 4 , 4 ) ;
INSERT INTO itemTypeFields VALUES ( 1 , 5 , 5 ) ;
INSERT INTO itemTypeFields VALUES ( 1 , 6 , 6 ) ;
INSERT INTO itemTypeFields VALUES ( 1 , 7 , 7 ) ;
INSERT INTO itemTypeFields VALUES ( 1 , 8 , 8 ) ;
INSERT INTO itemTypeFields VALUES ( 1 , 9 , 9 ) ;
INSERT INTO itemTypeFields VALUES ( 1 , 10 , 10 ) ;
INSERT INTO itemTypeFields VALUES ( 1 , 11 , 11 ) ;
2006-06-01 00:22:18 +00:00
INSERT INTO itemTypeFields VALUES ( 2 , 1 , 1 ) ;
2006-05-18 11:25:10 +00:00
INSERT INTO itemTypeFields VALUES ( 2 , 2 , 2 ) ;
2006-06-16 07:56:24 +00:00
INSERT INTO itemTypeFields VALUES ( 2 , 12 , 3 ) ;
INSERT INTO itemTypeFields VALUES ( 2 , 4 , 4 ) ;
INSERT INTO itemTypeFields VALUES ( 2 , 5 , 5 ) ;
INSERT INTO itemTypeFields VALUES ( 2 , 10 , 6 ) ;
INSERT INTO itemTypeFields VALUES ( 2 , 13 , 7 ) ;
2006-06-01 00:22:18 +00:00
INSERT INTO " items " VALUES ( 1 , 1 , ' Online connections: Internet interpersonal relationships ' , ' 2006-03-12 05:24:40 ' , ' 2006-03-12 05:24:40 ' ) ;
INSERT INTO " items " VALUES ( 2 , 1 , ' Computer-Mediated Communication: Human-to-Human Communication Across the Internet ' , ' 2006-03-12 05:25:50 ' , ' 2006-03-12 05:25:50 ' ) ;
INSERT INTO " items " VALUES ( 3 , 2 , ' Residential propinquity as a factor in marriage selection ' , ' 2006-03-12 05:26:37 ' , ' 2006-03-12 05:26:37 ' ) ;
INSERT INTO " items " VALUES ( 4 , 1 , ' Connecting: how we form social bonds and communities in the Internet age ' , ' 2006-03-12 05:27:15 ' , ' 2006-03-12 05:27:15 ' ) ;
INSERT INTO " items " VALUES ( 5 , 1 , ' Male, Female, Email: The Struggle for Relatedness in a Paranoid Society ' , ' 2006-03-12 05:27:36 ' , ' 2006-03-12 05:27:36 ' ) ;
INSERT INTO " items " VALUES ( 6 , 2 , ' Social Implications of Sociology ' , ' 2006-03-12 05:27:53 ' , ' 2006-03-12 05:27:53 ' ) ;
INSERT INTO " items " VALUES ( 7 , 1 , ' Social Pressures in Informal Groups: A Study of Human Factors in Housing ' , ' 2006-03-12 05:28:05 ' , ' 2006-03-12 05:28:05 ' ) ;
INSERT INTO " items " VALUES ( 8 , 1 , ' Cybersociety 2.0: Revisiting Computer-Mediated Community and Technology ' , ' 2006-03-12 05:28:37 ' , ' 2006-03-12 05:28:37 ' ) ;
INSERT INTO " items " VALUES ( 9 , 2 , ' The Computer as a Communication Device ' , ' 2006-03-12 05:29:03 ' , ' 2006-03-12 05:29:03 ' ) ;
INSERT INTO " items " VALUES ( 10 , 2 , ' What Does Research Say about the Nature of Computer-mediated Communication: Task-Oriented, Social-Emotion-Oriented, or Both? ' , ' 2006-03-12 05:29:12 ' , ' 2006-03-12 05:29:12 ' ) ;
INSERT INTO " items " VALUES ( 11 , 1 , ' The second self: computers and the human spirit ' , ' 2006-03-12 05:30:38 ' , ' 2006-03-12 05:30:38 ' ) ;
INSERT INTO " items " VALUES ( 12 , 1 , ' Life on the screen: identity in the age of the Internet ' , ' 2006-03-12 05:30:49 ' , ' 2006-03-12 05:30:49 ' ) ;
INSERT INTO " items " VALUES ( 13 , 2 , ' The computer conference: An altered state of communication ' , ' 2006-03-12 05:31:00 ' , ' 2006-03-12 05:31:00 ' ) ;
INSERT INTO " items " VALUES ( 14 , 2 , ' Computer Networks as Social Networks: Collaborative Work, Telework, and Community ' , ' 2006-03-12 05:31:17 ' , ' 2006-03-12 05:31:17 ' ) ;
INSERT INTO " items " VALUES ( 15 , 1 , ' The Internet in everyday life ' , ' 2006-03-12 05:31:41 ' , ' 2006-03-12 05:31:41 ' ) ;
2006-06-16 07:56:24 +00:00
INSERT INTO " itemData " VALUES ( 1 , 9 , 2001 ) ;
INSERT INTO " itemData " VALUES ( 1 , 7 , ' Cresskill, N.J. ' ) ;
INSERT INTO " itemData " VALUES ( 1 , 8 , ' Hampton Press ' ) ;
INSERT INTO " itemData " VALUES ( 2 , 9 , 2002 ) ;
INSERT INTO " itemData " VALUES ( 2 , 8 , ' Allyn & Bacon Publishers ' ) ;
INSERT INTO " itemData " VALUES ( 2 , 10 , 347 ) ;
INSERT INTO " itemData " VALUES ( 2 , 11 , ' 0-205-32145-3 ' ) ;
2006-03-14 10:57:01 +00:00
2006-05-20 15:18:36 +00:00
INSERT INTO " creatorTypes " VALUES ( 1 , " author " ) ;
INSERT INTO " creatorTypes " VALUES ( 2 , " contributor " ) ;
INSERT INTO " creatorTypes " VALUES ( 3 , " editor " ) ;
INSERT INTO " creators " VALUES ( 1 , ' Susan B. ' , ' Barnes ' ) ;
INSERT INTO " creators " VALUES ( 2 , ' J.S. ' , ' Bassard ' ) ;
INSERT INTO " creators " VALUES ( 3 , ' Mary ' , ' Chayko ' ) ;
INSERT INTO " creators " VALUES ( 4 , ' Michael ' , ' Civin ' ) ;
INSERT INTO " creators " VALUES ( 5 , ' Paul ' , ' DiMaggio ' ) ;
INSERT INTO " creators " VALUES ( 6 , ' Leon ' , ' Festinger ' ) ;
INSERT INTO " creators " VALUES ( 7 , ' Stanley ' , ' Schachter ' ) ;
INSERT INTO " creators " VALUES ( 8 , ' Kurt ' , ' Back ' ) ;
INSERT INTO " creators " VALUES ( 9 , ' Steven G. ' , ' Jones ' ) ;
INSERT INTO " creators " VALUES ( 10 , ' J.C.R. ' , ' Licklider ' ) ;
INSERT INTO " creators " VALUES ( 11 , ' Robert W. ' , ' Taylor ' ) ;
INSERT INTO " creators " VALUES ( 12 , ' Yuliang ' , ' Lui ' ) ;
INSERT INTO " creators " VALUES ( 13 , ' Sherry ' , ' Turkle ' ) ;
INSERT INTO " creators " VALUES ( 14 , ' J. ' , ' Vallee ' ) ;
INSERT INTO " creators " VALUES ( 15 , ' Barry ' , ' Wellman ' ) ;
INSERT INTO " itemCreators " VALUES ( 1 , 1 , 1 , 0 ) ;
INSERT INTO " itemCreators " VALUES ( 2 , 1 , 1 , 0 ) ;
INSERT INTO " itemCreators " VALUES ( 3 , 2 , 1 , 0 ) ;
INSERT INTO " itemCreators " VALUES ( 4 , 3 , 1 , 0 ) ;
INSERT INTO " itemCreators " VALUES ( 5 , 4 , 1 , 0 ) ;
INSERT INTO " itemCreators " VALUES ( 6 , 5 , 1 , 0 ) ;
INSERT INTO " itemCreators " VALUES ( 7 , 6 , 1 , 0 ) ;
INSERT INTO " itemCreators " VALUES ( 8 , 9 , 1 , 0 ) ;
INSERT INTO " itemCreators " VALUES ( 9 , 10 , 1 , 0 ) ;
INSERT INTO " itemCreators " VALUES ( 10 , 12 , 1 , 0 ) ;
INSERT INTO " itemCreators " VALUES ( 11 , 13 , 1 , 0 ) ;
INSERT INTO " itemCreators " VALUES ( 12 , 13 , 1 , 0 ) ;
INSERT INTO " itemCreators " VALUES ( 13 , 14 , 1 , 0 ) ;
INSERT INTO " itemCreators " VALUES ( 14 , 15 , 1 , 0 ) ;
INSERT INTO " itemCreators " VALUES ( 15 , 15 , 1 , 0 ) ;
INSERT INTO " itemCreators " VALUES ( 7 , 7 , 1 , 1 ) ;
INSERT INTO " itemCreators " VALUES ( 7 , 8 , 1 , 2 ) ;
INSERT INTO " itemCreators " VALUES ( 9 , 11 , 1 , 1 ) ;
2006-03-23 08:51:05 +00:00
2006-06-01 00:22:18 +00:00
INSERT INTO collections VALUES ( 1241 , ' Test Project ' , NULL ) ;
INSERT INTO collections VALUES ( 3262 , ' Another Test Project ' , NULL ) ;
INSERT INTO collections VALUES ( 6856 , ' Yet Another Project ' , NULL ) ;
INSERT INTO collections VALUES ( 7373 , ' A Sub-project! ' , 6856 ) ;
INSERT INTO collections VALUES ( 9233 , ' A Sub-sub-project! ' , 7373 ) ;
INSERT INTO collectionItems VALUES ( 6856 , 14 , 0 ) ;
INSERT INTO collectionItems VALUES ( 6856 , 13 , 1 ) ;
INSERT INTO collectionItems VALUES ( 7373 , 15 , 0 ) ;
INSERT INTO collectionItems VALUES ( 1241 , 12 , 0 ) ;