設計図: 用語集
DESIGN
■ TABLE
TermDictionary
コンピュータ用語集用のテーブルです。一つの用語は、複数の見出し語 (インデックス) を持てます。
テーブル設計
FIELD TYPE KEY NULL DEFAULT NOTE TermID longkey PRIMARY - AUTO 主キー LastUpdate datetime - GETDATE() 最終更新日 Visible bit - 0 公開されているか MainLetterChainID longkey FOREIGN OK 見出し語 ID (NULL 時は最初に見つかった用語) Headline nvarchar/100 - 概要 (短めの文章) Details nvarchar/600 OK 内容 (概要では言い切れない部分) Example nvarchar/600 OK 例 (使用例、具体例など)
外部キー
FIELD REFERENCE NOTE MainLetterChainID TermDictionaryIndexChain.ChainID
TermDictionaryLinks
コンピュータ用語集の関連用語をテーブルです。
テーブル設計
FIELD TYPE KEY NULL DEFAULT NOTE LinkID longkey PRIMARY - AUTO 主キー TermID longkey - 対象用語 ID LinkLetter nvarchar/128 - 関連用語 (文字列)
外部キー
FIELD REFERENCE NOTE TermID TermDictionary.TermID
TermDictionaryKindChains
コンピュータ用語とその種別とを結びつけるテーブルです。
テーブル設計
FIELD TYPE KEY NULL DEFAULT NOTE ChainID longkey PRIMARY - AUTO 主キー TermID longkey - 対象用語 ID KindID key - 用語種別 ID
外部キー
FIELD REFERENCE NOTE TermID TermDictionary.TermID KindID TermDictionaryKind.KindID
TermDictionaryKind
コンピュータ用語の種類を記録しているテーブルです。
テーブル設計
FIELD TYPE KEY NULL DEFAULT NOTE KindID key PRIMARY - AUTO 主キー Name nvarchar/32 - 種別文字列
TermDictionaryIndexChains
コンピュータ用語とその検索/表示用文字列とを関連付けるテーブルです。
テーブル設計
FIELD TYPE KEY NULL DEFAULT NOTE ChainID longkey PRIMARY - AUTO 主キー TermID longkey - 対象用語 ID IndexID longkey - 用語インデックス ID
外部キー
FIELD REFERENCE NOTE TermID TermDictionary.TermID IndexID TermDictionaryIndex.IndexID
TermDictionaryIndex
コンピュータ用語の検索/表示用文字列を記録します。
テーブル設計
FIELD TYPE KEY NULL DEFAULT NOTE IndexID longkey PRIMARY - AUTO 主キー Letter nvarchar/128 - 表示用テキスト Pronunciation nvarchar/128 OK 表示用よみがな (発音) SearchLetter nvarchar/128 - 検索用テキスト SearchPronunciation nvarchar/128 OK 検索用よみがな
TermDictionaryStatus
コンピュータ用語の状態を記録します。システムの付加を減らすために使用します。
テーブル設計
FIELD TYPE KEY NULL DEFAULT NOTE Identifier bit ? - 1 常に 1 を示す LastUpdate datetime - GETDATE() 最終更新日 VisibleTerms int - 0 可視状態の用語数 HiddenTerms int - 0 不可視状態の用語数
TermDictionaryHitLog
コンピュータ用語のヒット数を保持します。
テーブル設計
FIELD TYPE KEY NULL DEFAULT NOTE HitID longkey PRIMARY - AUTO 主キー LastUpdate datetime - GETDATE() 最終更新日 Letter nvarchar/128 - 検索に使用された文字列 HitCount int - 0 成功/失敗数 IsMishit bit - 1 HitCount を失敗数とするか
■ VIEW
ViewTermDictionaryHitLog
ログから、ヒットした用語の一覧を取得します。
ビュー設計
FIELD ORG-TABLE ORG-FIELD NOTE HitID TermDictionaryHitLog LastUpdate TermDictionaryHitLog Letter TermDictionaryHitLog HitCount TermDictionaryHitLog
実装
SELECT HitID, LastUpdate, Letter, HitCount FROM dbo.TermDictionaryHitLog WHERE (IsMishit = 0)
ViewTermDictionaryMishitLog
ログから、ヒットしなかった用語の一覧を取得します。
ビュー設計
FIELD ORG-TABLE ORG-FIELD NOTE HitID TermDictionaryHitLog LastUpdate TermDictionaryHitLog Letter TermDictionaryHitLog HitCount TermDictionaryHitLog
実装
SELECT HitID, LastUpdate, Letter, HitCount FROM dbo.TermDictionaryHitLog WHERE (IsMishit = 1)
ViewTermDictionaryTotalMishitCount
ログから、ヒットしなかった用語の総数を取得します。
ビュー設計
FIELD ORG-TABLE ORG-FIELD NOTE Total ViewTermDictionaryMishitLog SUM(HitCount) ミスヒット総数 LastUpdate ViewTermDictionaryMishitLog MAX(LastUpdate) 最終ミスヒット日
実装
SELECT SUM(HitCount) AS Total, MAX(LastUpdate) AS LastUpdate FROM dbo.ViewTermDictionaryMishitLog
ViewTermDictionaryTotalHitCount
ログから、ヒットした用語の総数を取得します。
ビュー設計
FIELD ORG-TABLE ORG-FIELD NOTE Total ViewTermDictionaryHitLog SUM(HitCount) ヒット総数 LastUpdate ViewTermDictionaryHitLog MAX(LastUpdate) 最終ヒット日
実装
SELECT SUM(HitCount) AS Total, MAX(LastUpdate) AS LastUpdate FROM dbo.ViewTermDictionaryHitLog
ViewTermDictionarySyntheticStatus
用語集のさまざまな状態を取得します。
ビュー設計
FIELD ORG-TABLE ORG-FIELD NOTE Identifier TermDictionaryStatus 常に 1 LastRegistDate TermDictionaryStatus LastUpdate 用語集の最終更新日 VisibleTerms TermDictionaryStatus 公開用語数 HiddenTerms TermDictionaryStatus 非公開用語数 TotalHit ViewTermDictionaryTotalHitCount Total 用語のヒット数 LastHitDate ViewTermDictionaryTotalHitCount LastUpdate 最終ヒット日 TotalMishit ViewTermDictionaryTotalMishitCount Total 用語のミスヒット数 LastMishitDate ViewTermDictionaryTotalMishitCount LastUpdate 最終ミスヒット日
実装
SELECT dbo.TermDictionaryStatus.Identifier, dbo.TermDictionaryStatus.LastUpdate AS LastRegistDate, dbo.TermDictionaryStatus.VisibleTerms, dbo.TermDictionaryStatus.HiddenTerms, dbo.ViewTermDictionaryTotalHitCount.Total AS TotalHit, dbo.ViewTermDictionaryTotalHitCount.LastUpdate AS LastHitDate, dbo.ViewTermDictionaryTotalMishitCount.Total AS TotalMishit, dbo.ViewTermDictionaryTotalMishitCount.LastUpdate AS LastMishitDate FROM dbo.TermDictionaryStatus LEFT JOIN dbo.ViewTermDictionaryTotalHitCount ON Identifier = 1 LEFT JOIN dbo.ViewTermDictionaryTotalMishitCount ON Identifier = 1
ViewTermDictionarySimpleIndex
コンピュータの一覧表示用ビューです。不可視状態の用語は含まれません。
ビュー設計
FIELD ORG-TABLE ORG-FIELD NOTE TermID ViewTermDictionarySimpeIndexAll LastUpdate ViewTermDictionarySimpeIndexAll Letter ViewTermDictionarySimpeIndexAll Pronunciation ViewTermDictionarySimpeIndexAll Headline ViewTermDictionarySimpeIndexAll
実装
SELECT TermID, LastUpdate, Letter, Pronunciation, Headline
FROM dbo.ViewTermDictionarySimpleIndexAll
WHERE (Visible = 1)
ViewTermDictionarySimpleIndexAll
コンピュータの一覧表示用ビューです。不可視状態の用語も含まれます。
ビュー設計
FIELD ORG-TABLE ORG-FIELD NOTE TermID TermDictionary LastUpdate TermDictionary Visible TermDictionary Letter TermDictionaryIndex Pronunciation TermDictionaryIndex Headline TermDictionary
実装
SELECT dbo.TermDictionary.TermID, dbo.TermDictionary.LastUpdate, dbo.TermDictionary.Visible, dbo.TermDictionaryIndex.Letter, dbo.TermDictionaryIndex.Pronunciation, dbo.TermDictionary.Headline
FROM dbo.TermDictionary INNER JOIN dbo.TermDictionaryIndexChains ON dbo.TermDictionary.MainLetterChainID = dbo.TermDictionaryIndexChains.ChainID AND dbo.TermDictionary.TermID = dbo.TermDictionaryIndexChains.TermID INNER JOIN dbo.TermDictionaryIndex ON dbo.TermDictionaryIndexChains.IndexID = dbo.TermDictionaryIndex.IndexID