如何解决管理员定制应用程序的mysql db设计
| 我打算为网站设计数据库。我们网站上的屏幕不同。每个屏幕应具有唯一的ID,并且每个屏幕的类型都不同。与屏幕有关的信息应存储在其类型表中。我怎样才能做到这一点? 我的计划是使用带有以下字段的屏幕表格 屏风 screen_id screen_type screen_type_table_name 主屏幕 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对多(屏幕表到类型表)。一个屏幕可能在类型表中有许多记录(使用不同的语言)。 这里的问题是,我无法在单个查询中查询数据。当我将表名称存储在screens表中时。 有人可以在这里建议最好的数据库设计吗? [编辑] 我无法将信息存储在同一张表中。 原因: 1)语言限制 2)我需要维护每个内容的修订 3)每个屏幕的类型不同。因此,每种类型的字段都不同。每种类型的字段数也不同。 4)我也不能序列化数据(因为我需要搜索的便利) 要求 使用屏幕ID,我应该能够在单个查询中获取内容。请给我一些建议。 提前致谢 谢谢 维努解决方法
您的Home_screen和Aboutus_screen表完全相同。您可以这样尝试:
//screens\\\\
screen_id (PK)
language (PK)
type_id (FK)
content1
content2
//screen_types\\\\
screen_type_id (PK)
screen_type_name
如您所见,在screens表上有一个双主键,如果需要的话,可以通过screen_types的外键来跟踪页面的类型。
,您为什么不将所有屏幕都放在一张桌子中?你应该做类似的事情
屏风
ID,
语言,
content1,
content2,
等等
然后只在需要页面时查询表。我不确定为什么要按原样将它们分开,是否有特定原因?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。