lib/create_db.sql
branchxbelweb
changeset 21 345ee7421989
parent 0 a4c49a0c313b
child 26 17b0cd274530
equal deleted inserted replaced
20:8c201fa3bdc7 21:345ee7421989
       
     1 --
       
     2 
       
     3 CREATE TABLE users (
       
     4   id int NOT NULL,
       
     5   name varchar(255) DEFAULT '' NOT NULL,
       
     6   PRIMARY KEY (id)
       
     7 );
       
     8 
       
     9 CREATE INDEX index_users_name ON users(name);
       
    10 
     1 --
    11 --
     2 -- Table structure for table 'bookmark'
    12 -- Table structure for table 'bookmark'
     3 --
    13 --
     4 CREATE TABLE bookmarks (
    14 CREATE TABLE bookmarks (
     5   id int NOT NULL,
    15   id int NOT NULL,
       
    16   userid int NOT NULL,
     6   url varchar(255) DEFAULT '' NOT NULL,
    17   url varchar(255) DEFAULT '' NOT NULL,
     7   name varchar(255) DEFAULT '' NOT NULL,
    18   name varchar(255) DEFAULT '' NOT NULL,
     8   ldesc varchar(255) DEFAULT '' NOT NULL,
    19   ldesc varchar(255) DEFAULT '' NOT NULL,
     9   added date DEFAULT '1998-01-01' NOT NULL,
    20   added date DEFAULT '1998-01-01' NOT NULL,
    10   PRIMARY KEY (id)
    21   PRIMARY KEY (id, userid)
    11 );
    22 );
       
    23 
       
    24 CREATE INDEX index_bookmarks_userid ON bookmarks(userid);
    12 
    25 
    13 --
    26 --
    14 -- Table structure for table 'keywords'
    27 -- Table structure for table 'keywords'
    15 --
    28 --
    16 CREATE TABLE keywords (
    29 CREATE TABLE keywords (
    17   id int DEFAULT '0' NOT NULL,
    30   id int DEFAULT '0' NOT NULL,
       
    31   userid int DEFAULT '0' NOT NULL,
    18   name varchar(30) DEFAULT '' NOT NULL,
    32   name varchar(30) DEFAULT '' NOT NULL,
    19   PRIMARY KEY (id)
    33   PRIMARY KEY (id, userid)
    20 );
    34 );
    21 
    35 
    22 --
    36 CREATE INDEX index_keywords_name ON keywords(userid, name);
    23 -- Default nil keyword
       
    24 --
       
    25 
       
    26 INSERT INTO keywords(id, name) VALUES (0, '--');
       
    27 
    37 
    28 --
    38 --
    29 -- Cross reference table for linking keywords and bookmarks
    39 -- Cross reference table for linking keywords and bookmarks
    30 --
    40 --
    31 
    41 
    32 CREATE TABLE bookmarks_keywords (
    42 CREATE TABLE bookmarks_keywords (
    33   bookmark int NOT NULL,
    43   bookmark int NOT NULL,
    34   keyword int DEFAULT '0' NOT NULL,
    44   keyword int DEFAULT '0' NOT NULL,
    35   PRIMARY KEY (bookmark, keyword)
    45   userid int DEFAULT '0' NOT NULL,
       
    46   PRIMARY KEY (bookmark, keyword, userid)
    36 );
    47 );
    37 
    48 
    38 CREATE INDEX bkkw_kw_idx ON bookmarks_keywords (keyword);
    49 CREATE INDEX index_bkkw_kwuser ON bookmarks_keywords (keyword, userid);
       
    50 CREATE INDEX index_bkkw_user ON bookmarks_keywords (userid);
       
    51 CREATE INDEX index_bkkw_bkuser ON bookmarks_keywords (bookmark, userid);
    39 
    52 
    40 --
    53 --
    41 -- Table structure for table 'db_sequence'
    54 -- Table structure for table 'db_sequence'
    42 --
    55 --
    43 CREATE TABLE db_sequence (
    56 CREATE TABLE db_sequence (
    44   seq_name varchar(30)    DEFAULT '' NOT NULL,
    57   seq_name varchar(30)    DEFAULT '' NOT NULL,
       
    58   userid int DEFAULT '0' NOT NULL,
    45   nextid int DEFAULT '0' NOT NULL,
    59   nextid int DEFAULT '0' NOT NULL,
    46   PRIMARY KEY (seq_name)
    60   PRIMARY KEY (seq_name, userid)
    47 );
    61 );
    48 
    62 
    49 INSERT INTO db_sequence (seq_name, nextid) VALUES ('bookmarks', 0);
    63 INSERT INTO db_sequence (seq_name, userid, nextid) VALUES ('users' , -1, 0);
    50 INSERT INTO db_sequence (seq_name, nextid) VALUES ('keywords' , 1);