設計図: ブックマーク
DESIGN
■ TABLE
Bookmark
URL のリンクテーブルです。
テーブル設計
FIELD TYPE KEY NULL DEFAULT NOTE LinkID longkey PRIMARY - 主キー LastUpdate datetime - GETDATE() 最終更新日 Active bit - 0 有効/無効 CompanyID longkey FOREIGN OK 関連する会社情報 Title nvarchar/64 - サイト名 URL varchar/255 - リンク URL URLBanner varchar/255 OK バナーの URL Advertisement bit - 0 リンクが広告であればセット Comment nvarchar/200 OK コメント
外部キー
FIELD REFERENCE NOTE CompanyID CompanyInformation.CompanyID
BookmarkCategoryLabel
ブックマークの大見出しです。
テーブル設計
FIELD TYPE KEY NULL DEFAULT NOTE CategoryID shortkey PRIMARY - 主キー Label nvarchar/32 - 種別名
BookmarkGroupLabel
ブックマークの小見出し
テーブル設計
FIELD TYPE KEY NULL DEFAULT NOTE GroupID key PRIMARY - 主キー Label nvarchar/32 - 種別名
BookmarkCategory
ブックマークのカテゴリです。カテゴリラベルとグループラベルから一意のカテゴリを決定します。
テーブル設計
FIELD TYPE KEY NULL DEFAULT NOTE CategoryID shortkey PRIMARY - 主キー GroupID shortkey PRIMARY - 主キー
外部キー
FIELD REFERENCE NOTE CategoryID BookmarkCategoryLabel.CategoryID GroupID BookmarkGroupLabel.GroupID
BookmarkUnitGroups
リンクのジャンルわけを記録するテーブルです。
テーブル設計
FIELD TYPE KEY NULL DEFAULT NOTE UnitID longkey PRIMARY - 主キー LinkID longkey FOREIGN - ブックマーク ID CategoryID shortkey FOREIGN - カテゴリ ID GroupID shortkey FOREIGN - カテゴリ ID
外部キー
FIELD REFERENCE NOTE LinkID Bookmark.LinkID CategoryID BookmarkCategory.CategoryID GroupID BookmarkCategory.GroupID
■ VIEW
ViewBookmarkPublic
公開済みのブックマーク一覧です。
ビュー設計
FIELD ORG-TABLE ORG-FIELD NOTE LinkID Bookmark LastUpdate Bookmark CompanyID Bookmark Title Bookmark URL Bookmark URLBanner Bookmark Advertisement Bookmark Comment Bookmark
実装
SELECT LinkID, LastUpdate, CompanyID, Title, URL, URLBanner, Advertisement, Comment
FROM dbo.Bookmark
WHERE (Active = 1)
ViewBookmarkCountByCategory
公開済みブックマークの、カテゴリごとの登録数です。
ビュー設計
FIELD ORG-TABLE ORG-FIELD NOTE CategoryID Bookmark GroupID Bookmark LinkCount Bookmark
実装
CREATE VIEW dbo.ViewBookmarkCountByCategory
AS
SELECT dbo.BookmarkUnitGroups.CategoryID, dbo.BookmarkUnitGroups.GroupID,
COUNT(dbo.BookmarkCategory.CategoryID) AS ViewCount
FROM dbo.BookmarkUnitGroups LEFT OUTER JOIN
dbo.Bookmark ON
dbo.BookmarkUnitGroups.LinkID = dbo.Bookmark.LinkID LEFT OUTER JOIN
dbo.BookmarkCategory ON
dbo.BookmarkUnitGroups.CategoryID = dbo.BookmarkCategory.CategoryID AND
dbo.BookmarkUnitGroups.GroupID = dbo.BookmarkCategory.GroupID
WHERE (dbo.Bookmark.Active = 1)
GROUP BY dbo.BookmarkUnitGroups.CategoryID, dbo.BookmarkUnitGroups.GroupID
ViewBookmarkCategoryList
公開済みブックマークの、カテゴリ一覧表示用ビューです。
ビュー設計
FIELD ORG-TABLE ORG-FIELD NOTE CategoryID BookmarkCategory CategoryLabel BookmarkCategoryLabel Label GroupID BookmarkCategory GroupLabel BookmarkGroupLabel Label ViewCount ViewBookmarkCountByCategory
実装
SELECT dbo.BookmarkCategory.CategoryID,
dbo.BookmarkCategoryLabel.Label AS CategoryLabel,
dbo.BookmarkCategory.GroupID, dbo.BookmarkGroupLabel.Label AS GroupLabel,
dbo.ViewBookmarkCountByCategory.ViewCount
FROM dbo.BookmarkCategory LEFT OUTER JOIN
dbo.ViewBookmarkCountByCategory ON
dbo.BookmarkCategory.CategoryID = dbo.ViewBookmarkCountByCategory.CategoryID AND
dbo.BookmarkCategory.GroupID = dbo.ViewBookmarkCountByCategory.GroupID LEFT OUTER
JOIN
dbo.BookmarkGroupLabel ON
dbo.BookmarkCategory.GroupID = dbo.BookmarkGroupLabel.GroupID LEFT OUTER JOIN
dbo.BookmarkCategoryLabel ON
dbo.BookmarkCategory.CategoryID = dbo.BookmarkCategoryLabel.CategoryID