From 2a866fe3cd62da7e74d2d1381f59e15ccf76c475 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Tue, 14 Mar 2006 10:57:01 +0000 Subject: [PATCH] Added some sample data to the schema file and other assorted additions and tweaks --- chrome/chromeFiles/content/scholar/schema.xml | 166 +++++++++++++++--- 1 file changed, 146 insertions(+), 20 deletions(-) diff --git a/chrome/chromeFiles/content/scholar/schema.xml b/chrome/chromeFiles/content/scholar/schema.xml index f4ca318ea9..9c627894b5 100644 --- a/chrome/chromeFiles/content/scholar/schema.xml +++ b/chrome/chromeFiles/content/scholar/schema.xml @@ -1,11 +1,15 @@ - -BEGIN; + + -- IF EXISTS not yet available in available mozStorage binaries, + -- so we fake it with a bunch of try/catches in the _initializeSchema() + + -- DROP TABLE IF EXISTS version; CREATE TABLE version ( - version INT PRIMARY KEY + version INTEGER PRIMARY KEY ); + -- DROP TABLE IF EXISTS objects; CREATE TABLE objects ( - objectID INT PRIMARY KEY, + objectID INTEGER PRIMARY KEY, objectTypeID INT, objectTitle TEXT, objectDate DATETIME, @@ -13,24 +17,36 @@ BEGIN; objectDateModified DATETIME DEFAULT CURRENT_TIMESTAMP, objectSource TEXT, objectRights TEXT, - parentID INT, - orderIndex INT + folderID INT, + orderIndex INT, + FOREIGN KEY (folderID) REFERENCES folders(folderID) ); - CREATE INDEX parentID ON objects (parentID); + CREATE INDEX folderID ON objects (folderID); + -- DROP TABLE IF EXISTS objectTypes; CREATE TABLE objectTypes ( - objectTypeID INT PRIMARY KEY, + objectTypeID INTEGER PRIMARY KEY, typeName TEXT ); - CREATE TABLE fields ( - fieldID INT PRIMARY KEY, - fieldName TEXT, - regex TEXT + -- DROP TABLE IF EXISTS fieldFormats; + CREATE TABLE fieldFormats ( + fieldFormatID INTEGER PRIMARY KEY, + regex TEXT, + isInteger INT ); + -- DROP TABLE IF EXISTS fields; + CREATE TABLE fields ( + fieldID INTEGER PRIMARY KEY, + fieldName TEXT, + fieldFormatID INT, + FOREIGN KEY (fieldFormatID) REFERENCES fieldFormat(fieldFormatID) + ); + + -- DROP TABLE IF EXISTS objectTypeFields; CREATE TABLE objectTypeFields ( - objectTypeID, + objectTypeID INT, fieldID INT, orderIndex INT, PRIMARY KEY (objectTypeID, fieldID), @@ -38,6 +54,7 @@ BEGIN; FOREIGN KEY (fieldID) REFERENCES objectTypes(objectTypeID) ); + -- DROP TABLE IF EXISTS objectData; CREATE TABLE objectData ( objectID INT, fieldID INT, @@ -48,11 +65,13 @@ BEGIN; ); CREATE INDEX value ON objectData (value); + -- DROP TABLE IF EXISTS keywords; CREATE TABLE keywords ( - keywordID INT PRIMARY KEY, + keywordID INTEGER PRIMARY KEY, keyword TEXT ); + -- DROP TABLE IF EXISTS objectKeywords; CREATE TABLE objectKeywords ( objectID INT, keywordID INT, @@ -61,25 +80,132 @@ BEGIN; FOREIGN KEY (keywordID) REFERENCES keywords(keywordID) ); + -- DROP TABLE IF EXISTS creators; CREATE TABLE creators ( - creatorID INT PRIMARY KEY, + creatorID INTEGER PRIMARY KEY, + creatorTypeID INT, firstName TEXT, - lastName TEXT + lastName TEXT, + FOREIGN KEY (creatorTypeID) REFERENCES creatorTypes(creatorTypeID) ); + -- DROP TABLE IF EXISTS creatorTypes; CREATE TABLE creatorTypes ( - creatorTypeID INT PRIMARY KEY, + creatorTypeID INTEGER PRIMARY KEY, creatorType TEXT ); + -- DROP TABLE IF EXISTS objectCreators; CREATE TABLE objectCreators ( objectID INT, creatorID INT, - creatorTypeID INT, - orderIndex INT, + orderIndex INT DEFAULT 1, PRIMARY KEY (objectID, creatorID), FOREIGN KEY (objectID) REFERENCES objects(objectID), FOREIGN KEY (creatorID) REFERENCES creators(creatorID) ); -COMMIT; + + -- DROP TABLE IF EXISTS folders; + CREATE TABLE folders ( + folderID INTEGER PRIMARY KEY, + folderName TEXT, + parentFolderID INT DEFAULT 0, + orderIndex INT, + FOREIGN KEY (parentFolderID) REFERENCES folders(folderID) + ); + + + + -- Some sample data + INSERT INTO objectTypes VALUES (1,'Book'); + INSERT INTO objectTypes VALUES (2,'Journal Article'); + + INSERT INTO "fieldFormats" VALUES(1, '.*', 0); + INSERT INTO "fieldFormats" VALUES(2, '[0-9]*', 1); + INSERT INTO "fieldFormats" VALUES(3, '[0-9]{4}', 1); + + INSERT INTO fields VALUES (1,'Series',NULL); + INSERT INTO fields VALUES (2,'Volume',NULL); + INSERT INTO fields VALUES (3,'Number',NULL); + INSERT INTO fields VALUES (4,'Edition',NULL); + INSERT INTO fields VALUES (5,'Place',NULL); + INSERT INTO fields VALUES (6,'Publisher',NULL); + INSERT INTO fields VALUES (7,'Year',NULL); + INSERT INTO fields VALUES (8,'Pages',NULL); + INSERT INTO fields VALUES (9,'ISBN',NULL); + INSERT INTO fields VALUES (10,'Publication',NULL); + INSERT INTO fields VALUES (11,'ISSN',NULL); + + INSERT INTO objectTypeFields VALUES (1,1,1); + INSERT INTO objectTypeFields VALUES (1,2,2); + INSERT INTO objectTypeFields VALUES (1,3,3); + INSERT INTO objectTypeFields VALUES (1,4,4); + INSERT INTO objectTypeFields VALUES (1,5,5); + INSERT INTO objectTypeFields VALUES (1,6,6); + INSERT INTO objectTypeFields VALUES (1,7,7); + INSERT INTO objectTypeFields VALUES (1,8,8); + INSERT INTO objectTypeFields VALUES (1,9,9); + INSERT INTO objectTypeFields VALUES (2,10,1); + INSERT INTO objectTypeFields VALUES (2,2,2); + INSERT INTO objectTypeFields VALUES (2,3,3); + INSERT INTO objectTypeFields VALUES (2,8,4); + + INSERT INTO "objects" VALUES(1, 1, 'Online connections: Internet interpersonal relationships', NULL, '2006-03-12 05:24:40', '2006-03-12 05:24:40', NULL, NULL, NULL, NULL); + INSERT INTO "objects" VALUES(2, 1, 'Computer-Mediated Communication: Human-to-Human Communication Across the Internet', NULL, '2006-03-12 05:25:50', '2006-03-12 05:25:50', NULL, NULL, NULL, NULL); + INSERT INTO "objects" VALUES(3, 2, 'Residential propinquity as a factor in marriage selection', NULL, '2006-03-12 05:26:37', '2006-03-12 05:26:37', NULL, NULL, NULL, NULL); + INSERT INTO "objects" VALUES(4, 1, 'Connecting: how we form social bonds and communities in the Internet age', NULL, '2006-03-12 05:27:15', '2006-03-12 05:27:15', NULL, NULL, NULL, NULL); + INSERT INTO "objects" VALUES(5, 1, 'Male, Female, Email: The Struggle for Relatedness in a Paranoid Society', NULL, '2006-03-12 05:27:36', '2006-03-12 05:27:36', NULL, NULL, NULL, NULL); + INSERT INTO "objects" VALUES(6, 2, 'Social Implications of Sociology', NULL, '2006-03-12 05:27:53', '2006-03-12 05:27:53', NULL, NULL, NULL, NULL); + INSERT INTO "objects" VALUES(7, 1, 'Social Pressures in Informal Groups: A Study of Human Factors in Housing', NULL, '2006-03-12 05:28:05', '2006-03-12 05:28:05', NULL, NULL, NULL, NULL); + INSERT INTO "objects" VALUES(8, 1, 'Cybersociety 2.0: Revisiting Computer-Mediated Community and Technology', NULL, '2006-03-12 05:28:37', '2006-03-12 05:28:37', NULL, NULL, NULL, NULL); + INSERT INTO "objects" VALUES(9, 2, 'The Computer as a Communication Device', NULL, '2006-03-12 05:29:03', '2006-03-12 05:29:03', NULL, NULL, NULL, NULL); + INSERT INTO "objects" VALUES(10, 2, 'What Does Research Say about the Nature of Computer-mediated Communication: Task-Oriented, Social-Emotion-Oriented, or Both?', NULL, '2006-03-12 05:29:12', '2006-03-12 05:29:12', NULL, NULL, NULL, NULL); + INSERT INTO "objects" VALUES(11, 1, 'The second self: computers and the human spirit', NULL, '2006-03-12 05:30:38', '2006-03-12 05:30:38', NULL, NULL, NULL, NULL); + INSERT INTO "objects" VALUES(12, 1, 'Life on the screen: identity in the age of the Internet', NULL, '2006-03-12 05:30:49', '2006-03-12 05:30:49', NULL, NULL, NULL, NULL); + INSERT INTO "objects" VALUES(13, 2, 'The computer conference: An altered state of communication', NULL, '2006-03-12 05:31:00', '2006-03-12 05:31:00', NULL, NULL, NULL, NULL); + INSERT INTO "objects" VALUES(14, 2, 'Computer Networks as Social Networks: Collaborative Work, Telework, and Community', NULL, '2006-03-12 05:31:17', '2006-03-12 05:31:17', NULL, NULL, NULL, NULL); + INSERT INTO "objects" VALUES(15, 1, 'The Internet in everyday life', NULL, '2006-03-12 05:31:41', '2006-03-12 05:31:41', NULL, NULL, NULL, NULL); + + INSERT INTO "objectData" VALUES(1, 7, 2001); + INSERT INTO "objectData" VALUES(1, 5, 'Cresskill, N.J.'); + INSERT INTO "objectData" VALUES(1, 6, 'Hampton Press'); + INSERT INTO "objectData" VALUES(2, 7, 2002); + INSERT INTO "objectData" VALUES(2, 6, 'Allyn & Bacon Publishers'); + INSERT INTO "objectData" VALUES(2, 8, 347); + INSERT INTO "objectData" VALUES(2, 9, '0-205-32145-3'); + + INSERT INTO "creators" VALUES(1, NULL, 'Susan B.', 'Barnes'); + INSERT INTO "creators" VALUES(2, NULL, 'J.S.', 'Bassard'); + INSERT INTO "creators" VALUES(3, NULL, 'Mary', 'Chayko'); + INSERT INTO "creators" VALUES(4, NULL, 'Michael', 'Civin'); + INSERT INTO "creators" VALUES(5, NULL, 'Paul', 'DiMaggio'); + INSERT INTO "creators" VALUES(6, NULL, 'Leon', 'Festinger'); + INSERT INTO "creators" VALUES(7, NULL, 'Stanley', 'Schachter'); + INSERT INTO "creators" VALUES(8, NULL, 'Kurt', 'Back'); + INSERT INTO "creators" VALUES(9, NULL, 'Steven G.', 'Jones'); + INSERT INTO "creators" VALUES(10, NULL, 'J.C.R.', 'Licklider'); + INSERT INTO "creators" VALUES(11, NULL, 'Robert W.', 'Taylor'); + INSERT INTO "creators" VALUES(12, NULL, 'Yuliang', 'Lui'); + INSERT INTO "creators" VALUES(13, NULL, 'Sherry', 'Turkle'); + INSERT INTO "creators" VALUES(14, NULL, 'J.', 'Vallee'); + INSERT INTO "creators" VALUES(15, NULL, 'Barry', 'Wellman'); + + INSERT INTO "objectCreators" VALUES(1, 1, 1); + INSERT INTO "objectCreators" VALUES(2, 1, 1); + INSERT INTO "objectCreators" VALUES(3, 2, 1); + INSERT INTO "objectCreators" VALUES(4, 3, 1); + INSERT INTO "objectCreators" VALUES(5, 4, 1); + INSERT INTO "objectCreators" VALUES(6, 5, 1); + INSERT INTO "objectCreators" VALUES(7, 6, 1); + INSERT INTO "objectCreators" VALUES(8, 9, 1); + INSERT INTO "objectCreators" VALUES(9, 10, 1); + INSERT INTO "objectCreators" VALUES(10, 12, 1); + INSERT INTO "objectCreators" VALUES(11, 13, 1); + INSERT INTO "objectCreators" VALUES(12, 13, 1); + INSERT INTO "objectCreators" VALUES(13, 14, 1); + INSERT INTO "objectCreators" VALUES(14, 15, 1); + INSERT INTO "objectCreators" VALUES(15, 15, 1); + INSERT INTO "objectCreators" VALUES(7, 7, 2); + INSERT INTO "objectCreators" VALUES(7, 8, 3); + INSERT INTO "objectCreators" VALUES(9, 11, 2);