解讀ASP.NET Portal Starter Kit(1)——資料庫篇

來源:互聯網
上載者:User
asp.net|資料|資料庫
  ASP.NET Portal Starter Kit資料庫結構總體上來講是由網站引擎的核心表(使用者表、角色表和角色關係表)和各個使用者模組相關的表組成。核心表格儲存體整個網站的使用者權限的配置資訊(詳細的用法及說明將放到《角色身份認證篇》中講)。各使用者模組儲存各個功能模組的資訊。各個使用者功能模組表都是獨立的。這樣有利於新增模組擴充功能。同時也可將各個功能模組的表分別部署到不同的資料庫中提高程式的高伸縮性和可擴充性。資料的訪問方式是全部通過預存程序進行的。這樣做的好處有:1、提高了資料庫的效能;2、杜絕了SQL注入式攻擊(在我的理解上應該是);3、可將可將串連到SQL Server資料庫使用者的許可權只配置成只能對指定預存程序進行執行操作,這樣就進一步提高了資料庫的安全性。



資料庫中的表:



Portal_Announcements:公告資訊表(在公告資訊模組中用)



欄位名



類型



含義



備忘



ItemID



Int



連結Id



主鍵(自動編號)



ModuleID



Int



所屬模組ID



決定該公告在那個模組中顯示(模組ID:使用者設定檔PortalCfg.xml中的模組表ID,以下皆同)



CreatedByUser



Nvarchar(100)



建立者



記錄建立和修改該公告的使用者



CreatedDate



Datetime



建立時間



記錄建立和修改該公告的時間



Title



Nvarchar(100)



名稱




 


MoreLink



Nvarchar(150)



更多細節的連結




 


MobileMoreLink



Nvarchar(150)



移動細節連結地址



在“行動裝置瀏覽器”上的更多細節連結地址



ExpireDate



Datetime



有效日期




 


Description



Nvarchar(2000)



描述




 



 


Portal_Contacts:連絡方式資訊表(在連絡方式模組中用)



欄位名



類型



含義



備忘



ItemID



Int



連結Id



主鍵(自動編號)



ModuleID



Int



所屬模組ID



決定該連絡方式在那個模組中顯示



CreatedByUser



Nvarchar(100)



建立者



記錄建立和修改該連絡方式的使用者



CreatedDate



Datetime



建立時間



記錄建立和修改該連絡方式的時間



Name



Nvarchar(50)



連絡人姓名




 


Role



Nvarchar(100)



連絡人角色



與系統架構中的角色不同,理解成職位更合適



Email



Nvarchar(100)



連絡人Email




 


Contact1



Nvarchar(250)



連絡方式1




 


Contact2



Nvarchar(250)



連絡方式2




 



 


Portal_Discussion:使用者討論留言資訊表(使用者討論模組用)



欄位名



類型



含義



備忘



ItemID



Int



連結Id



主鍵(自動編號)



ModuleID



Int



所屬模組ID



決定該討論在那個模組中顯示



Title



Nvarchar(50)



討論標題




 


CreatedDate



Datetime



建立時間



記錄建立該討論的時間



Body



Nvarchar(100)



留言內容




 


CreatedByUser



Nvarchar(100)



建立者



記錄建立和修改該討論的使用者



DisplayOrder



Nvarchar(100)



顯示順序



記錄回複的討論的時間和本身提交的時間 (可用作討論留言的排序和顯示回複關係)




 


Portal_Documents:使用者上傳文檔資訊表(在顯示文檔資訊模組中用)



欄位名



類型



含義



備忘



ItemID



Int



連結Id



主鍵(自動編號)



ModuleID



Int



所屬模組ID



決定該連絡方式在那個模組中顯示



CreatedByUser



Nvarchar(100)



建立者



記錄建立和修改該連絡方式的使用者



CreatedDate



Datetime



建立時間



記錄建立和修改該連絡方式的時間



FileNameUrl



Nvarchar(250)




 


上傳至伺服器中的檔案路徑



FileFriendlyName



Nvarchar(150)



文檔名稱



與系統架構中的角色不同,理解成職位更合適



Category



Nvarchar(50)



類別




 


Content



Image



內容(二進位)



上傳到資料庫中的內容



ContentType



Nvarchar(50)



類型



上傳檔案的類型



ContentSize



Int



大小



上傳檔案的大小




 


Portal_Events:事件資訊表(在顯示事件資訊的模組中使用)



欄位名



類型



含義



備忘



ItemID



Int



連結Id



主鍵(自動編號)



ModuleID



Int



所屬模組ID



決定該事件在那個模組中顯示



CreatedByUser



Nvarchar(100)



建立者



記錄建立和修改該事件的使用者



CreatedDate



Datetime



建立時間



記錄建立和修改該事件的時間



Title



Nvarchar(100)



事件名稱




 


WhereWhen



Nvarchar(150)



發生地點




 


Description



Nvarchar(2000)



描述




 


ExpireDate



Datetime



有效日期




 



 


Portal_HtmlText:靜態HTML資訊表(在顯示靜態靜態HTML的模組中用,可用於顯示新聞等文本)



欄位名



類型



含義



備忘



ModuleID



Int



所屬模組ID



決定該靜態HTML在那個模組中顯示(主鍵,限定一個模組只對應一個靜態HTML檔案)



DesktopHtml



Ntext



案頭HTML內容




 


MobileSummary



Ntext



移動摘要



在“行動裝置瀏覽器”上顯示的摘要



MobileDetails



Ntext



移動細節



在“行動裝置瀏覽器”上顯示的細節




 


Portal_Links:連結資訊表(快速連結模組和串連模組用)



欄位名



類型



含義



備忘



ItemID



Int



連結Id



主鍵(自動編號)



ModuleID



Int



所屬模組ID



決定該連結在那個模組中顯示



CreatedByUser



Nvarchar(100)



建立者



記錄建立和修改該連結的使用者



CreatedDate



Datetime



建立時間



記錄建立和修改該連結的時間



Title



Nvarchar(100)



名稱




 


Url



Nvarchar(250)



連結地址




 


MobileUrl



Nvarchar(250)



手機連結地址




 


ViewOrder



Int



排序號




 


Description



Nvarchar(2000)



描述




 



 


Portal_Roles:角色資訊表(門戶網站引擎核心表)



欄位名



類型



含義



備忘



RoleID



Int



角色Id



主鍵(自動編號)



PortalID



Int



門戶網址ID



可架設多個門戶網站而共用一個資料庫,通過PortalID區分



RoleName



Nvarchar(50)



角色名稱



採用MD5的加密方式儲存




 


Portal_UserRoles:使用者角色關係表(門戶網站引擎核心表)



欄位名



類型



含義



備忘



UserID



Int



使用者Id



關聯使用者資訊表(Portal_Roles)



RoleID



Int



角色Id



管理角色資訊表(Portal_Users)




 


Portal_Users:使用者資訊表(門戶網站引擎核心表)



欄位名



類型



含義



備忘



UserID



Int



使用者Id



主鍵(自動編號)



Name



Nvarchar(50)



使用者姓名




 


Password



Nvarchar(50)



密碼



採用MD5的加密方式儲存



Email



Nvarchar(100)



使用者Email



用於登入,並設定成唯一性索引(可防止註冊相同的Email,這樣設定後當有相同的Email插入時程式就會拋出異常,捕獲這個異常就可判斷Email是否重複,這樣就可以省掉判斷Email是否重複的代碼)




 


資料庫中的預存程序:



預存程序名稱



說明



Portal_AddAnnouncement



添加新公告



Portal_AddContact



添加新連絡方式



Portal_AddEvent



添加新事件



Portal_AddLink



添加新連結



Portal_AddMessage



建立一條新的討論留言,其中@ParentID的參數為被回複留言的Id,通過該ID找到該留言的DisplayOrder,加上新增留言的時間就是新留言的DisplayOrder。



Portal_AddRole



添加角色資訊



Portal_AddUser



添加一個新使用者,返回使用者的Id



Portal_AddUserRole



添加使用者角色關係



Portal_DeleteAnnouncement



刪除公告資訊(註:以下刪除部分若無特殊說明均為刪除指定ItemID的資訊)



Portal_DeleteContact



刪除連絡方式



Portal_DeleteDocument



刪除使用者上傳文檔



Portal_DeleteEvent



刪除事件資訊



Portal_DeleteLink



刪除連結資訊



Portal_DeleteModule



當刪除一個模組時,聯動的刪除該模組相關的全部資訊



Portal_DeleteRole



刪除角色資訊



Portal_DeleteUser



刪除使用者



Portal_DeleteUserRole



刪除角色使用者關係



Portal_GetAnnouncements



根據ModuleID(模組ID)返回有效期間內的公告資訊



Portal_GetAuthRoles



像是沒有用到該預存程序,而且該預存程序涉及的表資料庫中沒有(在使用者設定檔中有類似的表),需要在深入研究



Portal_GetContacts



根據ModuleID(模組ID)返回連絡方式



Portal_GetDocumentContent



根據文檔的(ItemID)擷取儲存在資料庫中的文檔資訊



Portal_GetDocuments



根據ModuleID(模組ID)返回使用者上傳文檔資訊



Portal_GetEvents



根據ModuleID(模組ID)返回有效期間內的事件資訊



Portal_GetHtmlText



根據ModuleID(模組ID)返回靜態HTML文本資訊



Portal_GetLinks



根據ModuleID(模組ID)返回串連資訊,並按(ViewOrder)排序號排序



Portal_GetNextMessageID



擷取討論的下一條留言



Portal_GetPortalRoles



擷取指定門戶網站(指定PortalID)的全部角色資訊



Portal_GetPrevMessageID



擷取討論的上一條留言



Portal_GetRoleMembership



根據角色ID擷取該角色對應的使用者成員資訊



Portal_GetRolesByUser



根據使用者Email擷取使用者角色資訊



Portal_GetSingleAnnouncement



根據公告的(ItemID),擷取單個公告的資訊



Portal_GetSingleContact



根據連絡方式的(ItemID),擷取單個連絡方式的資訊



Portal_GetSingleDocument



根據文檔的(ItemID),擷取單個文檔的資訊



Portal_GetSingleEvent



根據事件的(ItemID),擷取單個事件的資訊



Portal_GetSingleLink



根據連結的(ItemID),擷取單個連結的資訊



Portal_GetSingleMessage



根據留言的(ItemID),擷取單個留言的資訊



Portal_GetSingleRole



根據角色ID,擷取單個角色的資訊



Portal_GetSingleUser



根據使用者Email,擷取單個使用者的資訊



Portal_GetThreadMessages



根據父留言資訊的DisplayOrder,返回按時間順序和回複關係返回子留言資訊



Portal_GetTopLevelMessages



根據ModuleID(模組ID)返回頂層留言資訊



Portal_GetUsers



擷取全部的使用者資訊,並按Email排序



Portal_UpdateAnnouncement



更新公告資訊



Portal_UpdateContact



更新連絡方式資訊



Portal_UpdateDocument



更新文檔資訊,當未找到指定文檔ID時添加新的文檔資訊



Portal_UpdateEvent



更新事件資訊



Portal_UpdateHtmlText



更新靜態HTML文本資訊



Portal_UpdateLink



更新指定的串連資訊



Portal_UpdateRole



更新角色資訊



Portal_UpdateUser



更新使用者資訊



Portal_UserLogin



根據email和password返回登入的使用者姓名(用於判斷使用者登入是否通過)




 



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.