Sql-server – Database design for Magazine website

database-designsql-server-2008

I need to design a CMS based website using asp.net web form (c#) and MS SQL Server as backend database for a magazine website which will have monthly issue.

I am finding it hard to design a database that can help me fetch menus from different table for example as show in image below
enter image description here

Example of Database enter image description here

Sample Data

MagazinePages Table
PageID  PageName        LangID  PagePositionNo  PageURL         PageInheritance
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       Multimedia      1       30              Page.aspx       0
6       Video           1       10              Videos.aspx     5
7       PhotoGallery    1       20              Gallery.aspx    5
8       News            1       40              News.aspx       0
9       Issues          1       50              #               0
10      Publication     1       60              Page.aspx       0
11      SpanishHome     2       10              Default.aspx    0
12      SpanisAbout Us  2       20              Page.aspx       0
------------------------------------------------------------------------------
Magazine Table
MagazineID  MagazineIssueCode   LangID  MagazineTitle       MagazineLiveIssue(CurrentIssue)
1           101                 1       Mag Title           0
2           102                 1       Mag Title           1
3           101                 2       SpanisgMag Title    0
4           102                 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    

Problem with above approach is that I can create sub menus only if all the records are in MagazinePages based on above example I can create sub menus for “About Us” & Multimedia how can i design my database so that i can pull data from different table such as news by category (Politics, Culture…) & Issue from Magazine Table (Issue 101, Issue 102, Issue 103….)

I am planning to use ASP Menu control for this which may not be very flexible, since i will have over 100 issue of magazine how or which multi-column menu i can use with asp.net

My database may have many flow, I would appreciate help in this regard so that i can use this database for this CMS system . Please feel free to ask question if any regarding this.

Best Answer

I am finding it hard to design a database that can help me fetch menus from different table for example as show in image below

To me this sounds like you are trying to make your database design match the menus in the UI layout. This might work until the UI changes. Then will you change the database structure?

It might be better off to create proper tables based on the data itself, and then design some views that are more accessible by the UI.