【发布时间】:2012-10-06 09:55:52
【问题描述】:
我需要设计一个基于 CMS 的网站,使用 asp.net 网络表单 (c#) 和 MS SQL Server 作为杂志网站的后端数据库,该杂志网站每周都会发行。
样本数据
MagazinePages Table
PageID PageName LangID PagePositionNo PageURL PageInheritance //PageID
1 Home 1 10 Default.aspx 0
2 About Us 1 20 Page.aspx 0
3 PageOne 1 10 Page.aspx 2
4 PageTwo 1 20 Page.aspx 2
5 Media 1 30 Page.aspx 0
6 Video 1 10 Videos.aspx 5
8 News 1 40 News.aspx 0
9 Archive 1 50 # 0
10 Publication 1 60 Page.aspx 0
11 SpanishHome 2 10 Default.aspx 0
12 SpanisAboutUs 2 20 Page.aspx 0
------------------------------------------------------------------------------
Magazine
MagazineID MagazineIssueCode LangID MagazineTitle MagazineLiveIssue(CurrentIssue)
1 1 1 Mag Title 0
2 2 1 Mag Title 1
3 1 2 SpanisgMag Title 0
4 2 2 Mag Title 1
------------------------------------------------------------------------------
News Table
NewsID NewsTitle NewsCatID MagazineID Language
1 News one 100 1 1
2 News two 100 1 1
3 news three 200 1 1
4 News four 300 1 1
5 News Five 100 2 1
6 News Six 300 2 1
7 News seven 200 2 2
------------------------------------------------------------------------------
上述方法的问题是,只有当所有记录都在 MagazinePages 中时,我才能创建子菜单,基于上面的示例,我可以为“关于我们”和多媒体创建子菜单我该如何设计我的数据库,以便我可以从不同的表中提取数据,例如按类别(政治、文化...)的 新闻 和 杂志 表中的问题(问题 101、问题 102、问题103....)
我打算为此使用 ASP 菜单控件,这可能不是很灵活,因为我将有超过 100 期杂志,我可以在 asp.net 中使用什么或哪个多列菜单
我的数据库可能有很多流程,我希望能得到这方面的帮助,以便我可以将这个数据库用于这个 CMS 系统。如有任何相关问题,请随时提出。
添加:
如果我需要从MagazinePages Table 中提取所有菜单名称,那么这很容易,但我被要求具有示例中所示的菜单结构。问题是我可以从MagazinePages 表中为AboutUs 和Multimedia 生成菜单,但我没有任何页面,如政治、经济、...问题 101、102、103.. 在这个表中信息存储在不同的表中,例如新闻表中的News Category 和Magazine 表中的问题。我宁愿改变我的表格设计并使其灵活地从单独的表格中读取菜单信息,但我不确定如何
新闻表未显示在此架构中。
我所做的是为 CMS 页面创建了 ps_Pages 表,例如 Home、Aboutus、Contact、MediaCentre .....
我将与杂志相关的页面(实际上是具有不同类别或标签的文章,如文化、政治、体育、人物......)存储在 art_Article 表中
【问题讨论】:
-
在 MagazinePages 表中,是否需要在所有内容前加上“Page”?例如:
PageURL....还有什么URL?只是一个Page对吗?PageIsHomePage?这能不能简单点IsHomePage? -
我可以按照您的建议更改列名,URL 列将包含处理程序文件(如 News.aspx、Video.aspx、Gallery.aspx ....)
-
我的问题是,如果我需要从其他表(例如杂志表中的问题)创建菜单,则数据库设计对于基于菜单的设计并不灵活
-
从两个表中加入选择怎么样?执行 2 个查询,获取您需要的数据,将其转换为最适合您并将其填充到菜单中!不要期望找到适合您的内置查询。不要根据您在编程时遇到的问题更改您的设计!改为更改您的查询并进行调整。
-
@KnowledgeSeeker 你的问题解决了吗??????
标签: c# asp.net sql-server database-design aspmenu-control