我打算为网站设计数据库。我们的网站有不同的屏幕。每个屏幕应具有唯一的ID,每个屏幕将具有不同的类型。与屏幕相关的信息应存储在其类型表中。我怎么能这样做?
我的计划是使用带有以下字段的屏幕表
屏幕
screen_id
screen_type
screen_type_table_name
Home_screen
home_screen_id
screen_id
语言
内容1
内容2
home_screen_field1
home_screen_field2
aboutus_screen
aboutus_screen_id
screen_id
语言
内容1
内容2
about_us_field1
about_us_field2
上述两个表的关系是1到多个(屏幕表到类型表)。一个屏幕可能在类型表中有许多记录(使用不同的语言)。
这里的问题是,我无法在单个查询中查询数据。因为我将表名存储在屏幕表中。
有人可以在这里建议最好的数据库设计吗?
[编辑]
我无法将信息存储在同一个表中..
理由:
1)语言约束
2)我需要保持每个内容的修订
3)每种不同类型的屏幕。因此每种类型的字段都不同。每种类型的字段都不相同。
4)我也无法序列化数据(因为我需要搜索类型的设施)
所需物品
使用Screen Id,我应该能够在单个查询中获取内容。请给我一些建议
在此先感谢
感谢
VENU
答案 0 :(得分:0)
为什么不将所有屏幕保存在一个表格中?你应该做点什么
<强>屏幕强> ID, 语言, 内容1, 内容2, 等
然后只需在需要页面时查询表格。我不确定你为什么要把它们分开,有什么特别的原因吗?
答案 1 :(得分:0)
您的Home_screen和Aboutus_screen表完全相同。你可以这样试试:
//screens\\
screen_id (PK)
language (PK)
type_id (FK)
content1
content2
//screen_types\\
screen_type_id (PK)
screen_type_name
如您所见,屏幕表上有一个双主键,您可以通过外键访问screen_types来跟踪页面类型,如果有必要的话。