管理员定制应用程序的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, 等等 然后只在需要页面时查询表。我不确定为什么要按原样将它们分开,是否有特定原因?     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...