新增:安全技术数据
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
-- =====================================================================
|
||||
-- PDF 书籍检索模块:建表脚本(CREATE TABLE + 字段注释=扩展属性 MS_Description)
|
||||
-- 说明:
|
||||
-- * Sys_PdfBook 书籍主表;Sys_PdfChapter 章节(目录+聚合正文,支持多级);Sys_PdfPage 分页OCR文本。
|
||||
-- * SQL Server 的字段注释不是写在 CREATE 里的 -- 注释,而是存成 扩展属性 (MS_Description),
|
||||
-- 通过 sp_addextendedproperty 写入,SSMS 表设计器与 sys.extended_properties 中可见。
|
||||
-- * 全部幂等:表不存在才建;每个字段注释仅在不存在时才添加,可重复执行。
|
||||
-- * 适用范围:新库直接执行即可(仅 CREATE,无需 ALTER)。
|
||||
-- =====================================================================
|
||||
|
||||
-- ============================ 1. 书籍主表 ============================
|
||||
IF OBJECT_ID(N'[dbo].[Sys_PdfBook]', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE [dbo].[Sys_PdfBook] (
|
||||
[BookId] nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL,
|
||||
[Title] nvarchar(200) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[FilePath] nvarchar(500) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[TotalPages] int NULL,
|
||||
[IndexStatus] int NULL,
|
||||
[IndexProgress] int NULL,
|
||||
[Dpi] int NULL DEFAULT 200,
|
||||
[FileHash] nvarchar(64) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[LastIndexTime] datetime NULL,
|
||||
[CreateUser] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[CreateTime] datetime NULL,
|
||||
CONSTRAINT [PK_Sys_PdfBook] PRIMARY KEY CLUSTERED ([BookId] ASC)
|
||||
);
|
||||
END
|
||||
|
||||
IF COL_LENGTH(N'dbo.Sys_PdfBook', N'BookId') IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys.extended_properties WHERE class=1 AND major_id=OBJECT_ID(N'dbo.Sys_PdfBook') AND minor_id=COLUMNPROPERTY(OBJECT_ID(N'dbo.Sys_PdfBook'), N'BookId', 'ColumnId') AND name=N'MS_Description')
|
||||
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'书籍ID(主键)', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_PdfBook', @level2type=N'COLUMN', @level2name=N'BookId';
|
||||
IF COL_LENGTH(N'dbo.Sys_PdfBook', N'Title') IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys.extended_properties WHERE class=1 AND major_id=OBJECT_ID(N'dbo.Sys_PdfBook') AND minor_id=COLUMNPROPERTY(OBJECT_ID(N'dbo.Sys_PdfBook'), N'Title', 'ColumnId') AND name=N'MS_Description')
|
||||
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'书名', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_PdfBook', @level2type=N'COLUMN', @level2name=N'Title';
|
||||
IF COL_LENGTH(N'dbo.Sys_PdfBook', N'FilePath') IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys.extended_properties WHERE class=1 AND major_id=OBJECT_ID(N'dbo.Sys_PdfBook') AND minor_id=COLUMNPROPERTY(OBJECT_ID(N'dbo.Sys_PdfBook'), N'FilePath', 'ColumnId') AND name=N'MS_Description')
|
||||
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'PDF文件路径', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_PdfBook', @level2type=N'COLUMN', @level2name=N'FilePath';
|
||||
IF COL_LENGTH(N'dbo.Sys_PdfBook', N'TotalPages') IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys.extended_properties WHERE class=1 AND major_id=OBJECT_ID(N'dbo.Sys_PdfBook') AND minor_id=COLUMNPROPERTY(OBJECT_ID(N'dbo.Sys_PdfBook'), N'TotalPages', 'ColumnId') AND name=N'MS_Description')
|
||||
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'总页数', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_PdfBook', @level2type=N'COLUMN', @level2name=N'TotalPages';
|
||||
IF COL_LENGTH(N'dbo.Sys_PdfBook', N'IndexStatus') IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys.extended_properties WHERE class=1 AND major_id=OBJECT_ID(N'dbo.Sys_PdfBook') AND minor_id=COLUMNPROPERTY(OBJECT_ID(N'dbo.Sys_PdfBook'), N'IndexStatus', 'ColumnId') AND name=N'MS_Description')
|
||||
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'索引状态(0待索引 1索引中 2完成 3失败)', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_PdfBook', @level2type=N'COLUMN', @level2name=N'IndexStatus';
|
||||
IF COL_LENGTH(N'dbo.Sys_PdfBook', N'IndexProgress') IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys.extended_properties WHERE class=1 AND major_id=OBJECT_ID(N'dbo.Sys_PdfBook') AND minor_id=COLUMNPROPERTY(OBJECT_ID(N'dbo.Sys_PdfBook'), N'IndexProgress', 'ColumnId') AND name=N'MS_Description')
|
||||
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'已处理页数(索引进度)', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_PdfBook', @level2type=N'COLUMN', @level2name=N'IndexProgress';
|
||||
IF COL_LENGTH(N'dbo.Sys_PdfBook', N'Dpi') IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys.extended_properties WHERE class=1 AND major_id=OBJECT_ID(N'dbo.Sys_PdfBook') AND minor_id=COLUMNPROPERTY(OBJECT_ID(N'dbo.Sys_PdfBook'), N'Dpi', 'ColumnId') AND name=N'MS_Description')
|
||||
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'页图像渲染DPI', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_PdfBook', @level2type=N'COLUMN', @level2name=N'Dpi';
|
||||
IF COL_LENGTH(N'dbo.Sys_PdfBook', N'FileHash') IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys.extended_properties WHERE class=1 AND major_id=OBJECT_ID(N'dbo.Sys_PdfBook') AND minor_id=COLUMNPROPERTY(OBJECT_ID(N'dbo.Sys_PdfBook'), N'FileHash', 'ColumnId') AND name=N'MS_Description')
|
||||
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'文件MD5(用于判断内容是否变化)', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_PdfBook', @level2type=N'COLUMN', @level2name=N'FileHash';
|
||||
IF COL_LENGTH(N'dbo.Sys_PdfBook', N'LastIndexTime') IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys.extended_properties WHERE class=1 AND major_id=OBJECT_ID(N'dbo.Sys_PdfBook') AND minor_id=COLUMNPROPERTY(OBJECT_ID(N'dbo.Sys_PdfBook'), N'LastIndexTime', 'ColumnId') AND name=N'MS_Description')
|
||||
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'最近一次索引时间', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_PdfBook', @level2type=N'COLUMN', @level2name=N'LastIndexTime';
|
||||
IF COL_LENGTH(N'dbo.Sys_PdfBook', N'CreateUser') IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys.extended_properties WHERE class=1 AND major_id=OBJECT_ID(N'dbo.Sys_PdfBook') AND minor_id=COLUMNPROPERTY(OBJECT_ID(N'dbo.Sys_PdfBook'), N'CreateUser', 'ColumnId') AND name=N'MS_Description')
|
||||
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建人', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_PdfBook', @level2type=N'COLUMN', @level2name=N'CreateUser';
|
||||
IF COL_LENGTH(N'dbo.Sys_PdfBook', N'CreateTime') IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys.extended_properties WHERE class=1 AND major_id=OBJECT_ID(N'dbo.Sys_PdfBook') AND minor_id=COLUMNPROPERTY(OBJECT_ID(N'dbo.Sys_PdfBook'), N'CreateTime', 'ColumnId') AND name=N'MS_Description')
|
||||
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_PdfBook', @level2type=N'COLUMN', @level2name=N'CreateTime';
|
||||
|
||||
-- ===================== 2. 章节表(目录+聚合正文,支持多级) =====================
|
||||
IF OBJECT_ID(N'[dbo].[Sys_PdfChapter]', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE [dbo].[Sys_PdfChapter] (
|
||||
[ChapterId] nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL,
|
||||
[BookId] nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL,
|
||||
[ParentChapterId] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[Level] int NULL,
|
||||
[ChapterTitle] nvarchar(200) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[PageStart] int NULL,
|
||||
[PageEnd] int NULL,
|
||||
[Text] nvarchar(max) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[SortNo] int NULL,
|
||||
CONSTRAINT [PK_Sys_PdfChapter] PRIMARY KEY CLUSTERED ([ChapterId] ASC),
|
||||
CONSTRAINT [FK_PdfChapter_Book] FOREIGN KEY ([BookId]) REFERENCES [dbo].[Sys_PdfBook]([BookId])
|
||||
);
|
||||
END
|
||||
|
||||
IF COL_LENGTH(N'dbo.Sys_PdfChapter', N'ChapterId') IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys.extended_properties WHERE class=1 AND major_id=OBJECT_ID(N'dbo.Sys_PdfChapter') AND minor_id=COLUMNPROPERTY(OBJECT_ID(N'dbo.Sys_PdfChapter'), N'ChapterId', 'ColumnId') AND name=N'MS_Description')
|
||||
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'章节ID(主键)', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_PdfChapter', @level2type=N'COLUMN', @level2name=N'ChapterId';
|
||||
IF COL_LENGTH(N'dbo.Sys_PdfChapter', N'BookId') IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys.extended_properties WHERE class=1 AND major_id=OBJECT_ID(N'dbo.Sys_PdfChapter') AND minor_id=COLUMNPROPERTY(OBJECT_ID(N'dbo.Sys_PdfChapter'), N'BookId', 'ColumnId') AND name=N'MS_Description')
|
||||
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'所属书籍ID(外键→Sys_PdfBook)', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_PdfChapter', @level2type=N'COLUMN', @level2name=N'BookId';
|
||||
IF COL_LENGTH(N'dbo.Sys_PdfChapter', N'ParentChapterId') IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys.extended_properties WHERE class=1 AND major_id=OBJECT_ID(N'dbo.Sys_PdfChapter') AND minor_id=COLUMNPROPERTY(OBJECT_ID(N'dbo.Sys_PdfChapter'), N'ParentChapterId', 'ColumnId') AND name=N'MS_Description')
|
||||
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'上一级章节ID(NULL=顶级,用于多级目录)', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_PdfChapter', @level2type=N'COLUMN', @level2name=N'ParentChapterId';
|
||||
IF COL_LENGTH(N'dbo.Sys_PdfChapter', N'Level') IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys.extended_properties WHERE class=1 AND major_id=OBJECT_ID(N'dbo.Sys_PdfChapter') AND minor_id=COLUMNPROPERTY(OBJECT_ID(N'dbo.Sys_PdfChapter'), N'Level', 'ColumnId') AND name=N'MS_Description')
|
||||
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'层级(1章 2节 3小节)', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_PdfChapter', @level2type=N'COLUMN', @level2name=N'Level';
|
||||
IF COL_LENGTH(N'dbo.Sys_PdfChapter', N'ChapterTitle') IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys.extended_properties WHERE class=1 AND major_id=OBJECT_ID(N'dbo.Sys_PdfChapter') AND minor_id=COLUMNPROPERTY(OBJECT_ID(N'dbo.Sys_PdfChapter'), N'ChapterTitle', 'ColumnId') AND name=N'MS_Description')
|
||||
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'章节名称', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_PdfChapter', @level2type=N'COLUMN', @level2name=N'ChapterTitle';
|
||||
IF COL_LENGTH(N'dbo.Sys_PdfChapter', N'PageStart') IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys.extended_properties WHERE class=1 AND major_id=OBJECT_ID(N'dbo.Sys_PdfChapter') AND minor_id=COLUMNPROPERTY(OBJECT_ID(N'dbo.Sys_PdfChapter'), N'PageStart', 'ColumnId') AND name=N'MS_Description')
|
||||
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'起始页码', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_PdfChapter', @level2type=N'COLUMN', @level2name=N'PageStart';
|
||||
IF COL_LENGTH(N'dbo.Sys_PdfChapter', N'PageEnd') IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys.extended_properties WHERE class=1 AND major_id=OBJECT_ID(N'dbo.Sys_PdfChapter') AND minor_id=COLUMNPROPERTY(OBJECT_ID(N'dbo.Sys_PdfChapter'), N'PageEnd', 'ColumnId') AND name=N'MS_Description')
|
||||
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'结束页码', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_PdfChapter', @level2type=N'COLUMN', @level2name=N'PageEnd';
|
||||
IF COL_LENGTH(N'dbo.Sys_PdfChapter', N'Text') IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys.extended_properties WHERE class=1 AND major_id=OBJECT_ID(N'dbo.Sys_PdfChapter') AND minor_id=COLUMNPROPERTY(OBJECT_ID(N'dbo.Sys_PdfChapter'), N'Text', 'ColumnId') AND name=N'MS_Description')
|
||||
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'章节聚合正文(供检索)', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_PdfChapter', @level2type=N'COLUMN', @level2name=N'Text';
|
||||
IF COL_LENGTH(N'dbo.Sys_PdfChapter', N'SortNo') IS NOT NULL AND NOT EXISTS (SELECT 1 FROM sys.extended_properties WHERE class=1 AND major_id=OBJECT_ID(N'dbo.Sys_PdfChapter') AND minor_id=COLUMNPROPERTY(OBJECT_ID(N'dbo.Sys_PdfChapter'), N'SortNo', 'ColumnId') AND name=N'MS_Description')
|
||||
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'排序号(用于目录顺序)', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Sys_PdfChapter', @level2type=N'COLUMN', @level2name=N'SortNo';
|
||||
|
||||
Reference in New Issue
Block a user