Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Общие » Флейм » Глупые вопросы VI

Модерирует : 3xp0, TechSup

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Код:
CREATE TABLE Settings (
  SettingID    INTEGER NOT NULL PRIMARY KEY,
  SettingValue BLOB
);
CREATE TABLE Series (
  SeriesID          INTEGER     NOT NULL                           PRIMARY KEY AUTOINCREMENT,
  SeriesTitle       VARCHAR(80) NOT NULL COLLATE MHL_SYSTEM_NOCASE UNIQUE,
  SearchSeriesTitle VARCHAR(80)          COLLATE NOCASE
);
CREATE TABLE sqlite_sequence(name,seq);
CREATE TABLE Genres (
  GenreCode  VARCHAR(20) NOT NULL COLLATE NOCASE            PRIMARY KEY,
  ParentCode VARCHAR(20)          COLLATE NOCASE,
  FB2Code    VARCHAR(20)          COLLATE NOCASE,
  GenreAlias VARCHAR(50) NOT NULL COLLATE MHL_SYSTEM_NOCASE
);
CREATE TABLE Authors (
  AuthorID   INTEGER      NOT NULL                           PRIMARY KEY AUTOINCREMENT,
  LastName   VARCHAR(128) NOT NULL COLLATE MHL_SYSTEM_NOCASE,
  FirstName  VARCHAR(128)          COLLATE MHL_SYSTEM_NOCASE,
  MiddleName VARCHAR(128)          COLLATE MHL_SYSTEM_NOCASE,
  SearchName VARCHAR(512)          COLLATE NOCASE
);
CREATE TABLE Books (
  BookID           INTEGER       NOT NULL                           PRIMARY KEY AUTOINCREMENT,
  LibID            VARCHAR(2048) NOT NULL COLLATE MHL_SYSTEM_NOCASE,
  Title            VARCHAR(150)  NOT NULL COLLATE MHL_SYSTEM_NOCASE,
  SeriesID         INTEGER,
  SeqNumber        INTEGER,
  UpdateDate       VARCHAR(23)   NOT NULL,
  LibRate          INTEGER       NOT NULL                           DEFAULT 0,
  Lang             VARCHAR(2)            COLLATE MHL_SYSTEM_NOCASE,
  Folder           VARCHAR(200)          COLLATE MHL_SYSTEM_NOCASE,
  FileName         VARCHAR(170)  NOT NULL COLLATE MHL_SYSTEM_NOCASE,
  InsideNo         INTEGER       NOT NULL,
  Ext              VARCHAR(10)           COLLATE MHL_SYSTEM_NOCASE,
  BookSize         INTEGER,
  IsLocal          INTEGER       NOT NULL                           DEFAULT 0,
  IsDeleted        INTEGER       NOT NULL                           DEFAULT 0,
  KeyWords         VARCHAR(255)          COLLATE MHL_SYSTEM_NOCASE,
  Rate             INTEGER       NOT NULL                           DEFAULT 0,
  Progress         INTEGER       NOT NULL                           DEFAULT 0,
  Annotation       VARCHAR(4096)         COLLATE MHL_SYSTEM_NOCASE,
  Review           BLOB,
  SearchTitle      VARCHAR(150)          COLLATE NOCASE,
  SearchLang       VARCHAR(2)            COLLATE NOCASE,
  SearchFolder     VARCHAR(200)          COLLATE NOCASE,
  SearchFileName   VARCHAR(170)          COLLATE NOCASE,
  SearchExt        VARCHAR(10)           COLLATE NOCASE,
  SearchKeyWords   VARCHAR(255)          COLLATE NOCASE,
  SearchAnnotation VARCHAR(4096)         COLLATE NOCASE
);
CREATE TABLE Genre_List (
  GenreCode VARCHAR(20) NOT NULL COLLATE NOCASE,
  BookID    INTEGER     NOT NULL,
  CONSTRAINT "PKGenreList" PRIMARY KEY (BookID, GenreCode)
);
CREATE TABLE Author_List (
  AuthorID INTEGER NOT NULL,
  BookID   INTEGER NOT NULL,
  CONSTRAINT "PKAuthorList" PRIMARY KEY (BookID, AuthorID)
);
CREATE TABLE sqlite_stat1(tbl,idx,stat);
CREATE INDEX IXSeries_Title ON Series (SeriesTitle);
CREATE INDEX IXSeries_SearchSeriesTitle ON Series (SearchSeriesTitle);
CREATE UNIQUE INDEX IXGenres_ParentCode_GenreCode ON Genres (ParentCode, GenreCode);
CREATE INDEX IXGenres_FB2Code ON Genres (FB2Code);
CREATE INDEX IXGenres_GenreAlias ON Genres (GenreAlias);
CREATE INDEX IXAuthors_FullName ON Authors (LastName, FirstName, MiddleName);
CREATE INDEX IXAuthors_SearchName ON Authors (SearchName);
CREATE INDEX IXBooks_SeriesID_SeqNumber ON Books (SeriesID, SeqNumber);
CREATE INDEX IXBooks_SeriesID_IsDeleted_IsLocal ON Books (SeriesID, IsDeleted, IsLocal);
CREATE INDEX IXBooks_Title ON Books (Title);
CREATE INDEX IXBooks_FileName ON Books (FileName);
CREATE INDEX IXBooks_Folder ON Books (Folder);
CREATE INDEX IXBooks_IsDeleted ON Books (IsDeleted);
CREATE INDEX IXBooks_UpdateDate ON Books (UpdateDate);
CREATE INDEX IXBooks_IsLocal ON Books (IsLocal);
CREATE INDEX IXBooks_LibID ON Books (LibID);
CREATE INDEX IXBooks_KeyWords ON Books (KeyWords);
CREATE INDEX IXBooks_BookID_IsDeleted_IsLocal ON Books (BookID, IsDeleted, IsLocal);
CREATE INDEX IXBooks_SearchTitle ON Books (SearchTitle);
CREATE INDEX IXBooks_SearchLang ON Books (SearchLang);
CREATE INDEX IXBooks_SearchFolder ON Books (SearchFolder);
CREATE INDEX IXBooks_SearchFileName ON Books (SearchFileName);
CREATE INDEX IXBooks_SearchExt ON Books (SearchExt);
CREATE INDEX IXBooks_SearchKeyWords ON Books (SearchKeyWords);
CREATE INDEX IXBooks_SearchAnnotation ON Books (SearchAnnotation);
CREATE INDEX IXGenreList_GenreCode_BookID ON Genre_List (GenreCode, BookID);
CREATE INDEX IXAuthorList_AuthorID_BookID ON Author_List (AuthorID, BookID);
CREATE TRIGGER TRSeries_AI AFTER INSERT ON Series WHEN MHL_TRIGGERS_ON()
  BEGIN
    UPDATE Series
    SET SearchSeriesTitle = MHL_UPPER(NEW.SeriesTitle)
    WHERE SeriesID = NEW.SeriesID;
  END;
CREATE TRIGGER TRSeries_AU AFTER UPDATE ON Series WHEN MHL_TRIGGERS_ON()
  BEGIN
    UPDATE Series
    SET SearchSeriesTitle = MHL_UPPER(NEW.SeriesTitle)
    WHERE SeriesID = NEW.SeriesID;
  END;
CREATE TRIGGER TRAuthors_AI AFTER INSERT ON Authors WHEN MHL_TRIGGERS_ON()
  BEGIN
    UPDATE Authors
    SET SearchName = MHL_FULLNAME(NEW.LastName, NEW.FirstName, NEW.MiddleName, 1)
    WHERE AuthorID = NEW.AuthorID ;
  END;
CREATE TRIGGER TRAuthors_AU AFTER UPDATE ON Authors WHEN MHL_TRIGGERS_ON()
  BEGIN
    UPDATE Authors
    SET SearchName = MHL_FULLNAME(NEW.LastName, NEW.FirstName, NEW.MiddleName, 1)
    WHERE AuthorID = NEW.AuthorID ;
  END;
CREATE TRIGGER TRBooks_AI AFTER INSERT ON Books WHEN MHL_TRIGGERS_ON()
  BEGIN
    UPDATE Books
    SET
      SearchTitle      = MHL_UPPER(NEW.Title),
      SearchLang       = MHL_UPPER(NEW.Lang),
      SearchFolder     = MHL_UPPER(NEW.Folder),
      SearchFileName   = MHL_UPPER(NEW.FileName),
      SearchExt        = MHL_UPPER(NEW.Ext),
      SearchKeyWords   = MHL_UPPER(NEW.KeyWords),
      SearchAnnotation = MHL_UPPER(NEW.Annotation)
    WHERE
      BookID = NEW.BookID;
  END;
CREATE TRIGGER TRBooks_AU AFTER UPDATE OF Title, Lang, Folder, FileName, Ext, KeyWords, Annotation ON Books WHEN MHL_TRIGGERS_ON()
  BEGIN
    UPDATE Books
    SET
      SearchTitle      = MHL_UPPER(NEW.Title),
      SearchLang       = MHL_UPPER(NEW.Lang),
      SearchFolder     = MHL_UPPER(NEW.Folder),
      SearchFileName   = MHL_UPPER(NEW.FileName),
      SearchExt        = MHL_UPPER(NEW.Ext),
      SearchKeyWords   = MHL_UPPER(NEW.KeyWords),
      SearchAnnotation = MHL_UPPER(NEW.Annotation)
    WHERE
      BookID = NEW.BookID;
  END;
CREATE TRIGGER TRBooks_BD BEFORE DELETE ON Books
  BEGIN
    DELETE FROM Genre_List WHERE BookID = OLD.BookID;
    DELETE FROM Author_List WHERE BookID = OLD.BookID;
    DELETE FROM Series WHERE SeriesID IN (SELECT b.SeriesID FROM Books b WHERE  b.SeriesID = OLD.SeriesID GROUP BY b.SeriesID HAVING COUNT(b.SeriesID) <= 1);
  END;
 

Всего записей: 1891 | Зарегистр. 07-08-2002 | Отправлено: 19:36 02-06-2019
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Общие » Флейм » Глупые вопросы VI


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru