存储下拉值,什么是好方法

2024-02-15

想象一下,您有一个网站,其中有多个下拉菜单,这些下拉菜单是从后端数据库填充的。目标是将这些值存储在数据库中,并在渲染表单时检索它们。

我见过使用两种方法:

1) 每种列表类型一张表:

profession_type
|id|value|

hobby_type
|id|value|

2) 所有查找值一张表:

|id|type           |value|
|0 |profession_type|value|
|1 |profession_type|value|
|2 |profession_type|value|
|3 |hobby_type     |value|
|4 |hobby_type     |value|
|5 |hobby_type     |value|

两者都有客观的优势吗? #2 似乎更通用(您按类型从表中进行选择以填充特定的下拉列表),但该表往往会比使用 #1 时大得多。另外,如果您使用#2,所有外键都指向同一个巨型表。这看起来没什么大不了的,但在我看来这种做法看起来更复杂。


我会选择#2。您可以检索和缓存所有信息,即使添加新类型,也无需更改数据库或检索逻辑。

如果您要添加和更改表,则需要接触数据库架构以了解将来的所有更改,并更改新表的检索代码。

此外,您对桌子大小的担忧可能是没有根据的。除非你有数百万行,否则就没问题。我想象有数百或数千行?数据库可以轻松处理这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

存储下拉值,什么是好方法 的相关文章

  • 如何只显示 HTML5 datalist 中的文本而不显示值?

    这是一个例子
  • PostgreSQL 索引使用分析

    是否有工具或方法可以分析 Postgres 并确定应创建哪些缺失的索引 以及应删除哪些未使用的索引 我在使用 SQLServer 的 分析器 工具执行此操作方面有一些经验 但我不知道 Postgres 中是否包含类似的工具 我喜欢这样来查找
  • 字符集和排序规则到底是什么意思?

    我可以阅读MySQL文档而且非常清楚 但是 如何决定使用哪种字符集呢 校对对什么数据有影响 我要求解释这两者以及如何选择它们 来自 MySQLdocs http dev mysql com doc refman 5 0 en charset
  • 在数据库设计中什么时候需要使用一对一关系?

    在数据库设计中什么时候需要使用一对一关系 在我看来 如果两个表是一对一的关系 那么它们可以合并成一个表 这是真的 对大型表进行垂直分区以减少 I O 和缓存需求 将经常查询的列与很少查询的列分开 向生产系统添加列时alter table就是
  • 如何使用 django 更新会计应用程序中的余额?

    我正在学习 Django 尝试制作一个会计应用程序来跟踪我的开支等 我使用两种模型创建数据库 一种用于帐户 一种用于操作 但我不知道如何在每次操作时更新我的 余额 我在想 也许每次我保存一个新操作时 我都会通过覆盖操作模型的保存方法来更新余
  • BootStrap3 单击该项目后保持下拉菜单打开

    我正在使用 Bootstrap 3 0 它具有出色的下拉菜单 如果我单击下拉菜单之外的区域 菜单就会消失 这没关系 但是当我单击下拉菜单项时 菜单消失 我不希望发生这种情况 并且没有选项可以控制切换行为 我希望菜单在单击其中一项后保持打开状
  • 设计 Cassandra 数据模型的最佳实践是什么? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 以及需要避免哪些陷阱 您有任何交易中断吗 例如 我听说导出 导入 Cassandra 数据非常困难 这让我想知道这是否会妨碍将生产数据
  • 在 jQuery 中生成下拉菜单的年份

    我想到了一个小问题 我正在尝试想出一种方法来解决它 基本上 我想要做的是将年份减去 18 年 即 2011 年返回 1993 年 并生成一个下拉选项 供用户选择在此之前的任何年份 基本上他们必须证明自己已超过法定年龄 18 岁 var mi
  • 如何在 DropDownList 中保留空格 - ASP.net MVC Razor 视图

    我在视图中通过以下方式绑定我的模型 问题是我的项目文本是格式化文本 单词之间有空格 如下所示 123 First 234 00 123 AnotherItem 234 00 123 Second 234 00 我想保留此项目文本中的空格 即
  • 为什么要为字符变化类型指定长度

    参考 Postgres 文档字符类型 http www postgresql org docs current static datatype character html 我不清楚指定字符变化 varchar 类型的长度 假设 字符串的长
  • 数据库分区 - 水平与垂直 - 规范化和行拆分之间的区别?

    我试图理解不同的概念数据库分区这就是我的理解 水平分区 分片 将表拆分为不同的表 其中将包含初始表中的行的子集 如果按大陆拆分用户表 我见过很多这样的示例 例如北美的子表 欧洲的另一个子表 ETC 每个分区位于不同的物理位置 理解 机器 据
  • 是否值得为 SqlServer 查找表使用tinyint 而不是 int 呢?

    在 SqlServer 2005 中设计查找表 枚举 时 如果您知道条目数永远不会变得很高 是否应该使用tinyint 而不是 int 我最关心的是性能 尤其是索引的效率 假设您有这些代表性表格 Person PersonId int PK
  • 如何设计具有主键和多值属性的表?

    我对数据库设计很感兴趣 现在正在阅读相应的文献 通过这本书 我遇到了一个让我感到不确定的奇怪例子 有一个关系 在此表中 我们有一个复合主键 StudentID Activity 但ActivityFee部分依赖于表的key Activity
  • MVC3:设置下拉列表选定值

    我正在使用 mvc3 我的视图中有一个下拉列表 Html DropDownListFor m gt m State new SelectList Model StateList Value Text 有没有办法在视图中设置选定的值 扩展 R
  • 保存下拉列表中的值

    这是我的情况 我有 2 页 一页用于选择值 一页用于编辑与该值关联的数据库相关内容 现在 我对如何将从下拉列表中选择的值保存到 PHP 的变量中一无所知 并且已经进行了相当多的研究 有任何想法吗 HTML
  • .net dropdownlist对齐文本

    我正在尝试将 net 下拉列表中的文本向右对齐 使用 CssClass 我可以在 Firefox 中将文本向右对齐 IE 不会将文本右对齐 而是左对齐 我读到 IE 6 不支持这个 这是真的 我使用的是 IE7 但我的大多数用户将使用 IE
  • 是否需要连续编号?

    我正在开发一个 winform NET 应用程序 其中包括订单 发票 服务订单 票务等 这些实体在对其 ID 进行编号时是否必须按顺序排列 国际海事组织没有 以一个订单为例 它只有通过业务层才有效 在此过程中 可能已经创建了另一个订单 批准
  • 数据库设计 :: 2 个参与者事件中的标准化 :: 连接表或 2 列?

    Edit 更新广义问题以反映实际领域 曲棍球运动 实际的活动是比赛日程 参与者是团队 球队是最终的 所有者 即 当球队被删除时 任何相关的预定比赛 结果 球员和球员统计数据也应被删除 本线程到目前为止讨论的问题涵盖了将事件组合成具有 2 列
  • Cassandra 与 ZooKeeper 的事务 - 这有效吗?

    我正在尝试在 ZooKeeper 的帮助下为 Cassandra 实现一个事务系统 由于我认为我在数据库实现方面没有足够的经验 所以我想知道我的想法原则上是否可行 或者是否有任何重大缺陷 以下是步骤的高级描述 识别所有要编辑的行 键 和列
  • 多人/单人测验游戏的数据库设计

    我在这里看到了很多问题 但没有人适合我的问题 我正在尝试创建一个可扩展的 ER 模型 如果我想添加更多数据 则不会破坏几乎任何东西 所以我尝试创建的是 有两种类型的用户 比如说管理员和工作人员 他们有不同的角色 管理员可以对问题进行 CRU

随机推荐

  • 从 Lock() 内调用 UI 线程上的方法

    我有两种方法 MethodA MethodB MethodB必须在 UI 线程上运行 我需要他们在不允许的情况下一个接一个地运行MethodC在他们之间奔跑 MethodC当用户单击一个可爱的小按钮时调用 我做了什么来确保这是一个Lock围
  • 像在 PHP 中那样获取 $_GET,但在 Visual Basic 中?

    我有一个名为 WebBrowser1 的网络浏览器 我希望能够像在 PHP 中那样检测 GET 并将其放在 Textlabel 中 就像网址是 www example com page php myget true Visual Basic
  • 将 NOT_NULL 约束添加到 SQL 列

    我正在尝试使用以下命令将 NOT NULL 约束添加到 SQL h2 数据库中的列 ALTER TABLE CHARACTERS ADD CONSTRAINT nn PID NOT NULL PLAYER ID 这遵循我发现的模式here
  • 寻找有关如何使用 PHP 构建私人消息系统的教程 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 正在寻找有关如何使用 PHP 构建安全的私人消息传递系统的教程 非常感谢 到目前为止我一直在关注这个http www astahost c
  • Laravel 5.2 迁移:无法添加 char 数据类型的外键

    我正在尝试创建一个char 数据类型的可为空外键 当我运行迁移命令时 我收到以下错误 我不确定我哪里做错了 Illuminate Database QueryException SQLSTATE HY000 一般错误 1215 无法添加外键
  • 显示 ContextMenuStrip 但不在任务栏中显示

    我发现 当我执行 contextmenustrip 右键单击菜单 的 show 方法时 如果该位置超出其所属表单的位置 它也会显示在任务栏上 我正在尝试为单击通知图标时创建一个右键单击菜单 但由于菜单悬停在系统托盘上方而不是在表单内 因为右
  • 在 wagtail 中批量上传和创建包含图像的页面(迁移)

    我正在使用 wagtail 创建一个网站来替换某人现有的 weebly 网站 重新创建数百个页面实例并上传每个页面的每个图像需要花费几个小时 我已经有了我需要的页面模型 并且我的网站看起来很像 wagtail 文档中的入门教程 我想知道如何
  • ASP.NET WebApi 与 MVC? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 使用 ASP NET MVC 控制器 您可以以不同的格式公开数据 AspNetWebAPI 是专门为创建 API 而设计的 但我可以使
  • 使用 simple-build-tool (sbt) 和 IntelliJ 调试 Scala 代码

    使用 IntelliJ 的内置调试器调试 sbt 管理的 Scala 代码的最简单方法是什么 文档来自来自 sbt 的 google 代码站点的 RunningSbt http code google com p simple build
  • Fluent NHibernate - 如何将外键列映射为属性

    我确信这是一个简单的问题 但请考虑以下问题 我对公司和部门之间的参考如下 public class Company public Guid ID get set public Sector Sector get set public Gui
  • 原声音频比较库

    我需要一个处理音频比较的软件或库 但不使用 mp3 内部的标签 它应该比较 2 个音频文件之间的相似性或置信度 或者如果我从音频文件中剪切一段 该软件应该指出它在哪里来自主音频文件的文件令牌 我希望我足够清楚 那么我怎么听说这项技术被称为音
  • 将 Jquery 手风琴扩展到表的行

    我有一张带有可折叠行的桌子 请检查here http jsfiddle net soumyazyx 8Xyjy 10 我只想使用 Jquery UI 手风琴 如图所示here http jqueryui com accordion 我正在尝
  • 在 ui-sref 中动态更改状态和参数

    使用 ui router 我想在 ng repeat 内动态设置 ui sref 指令 如下所示 a a Where steps是一个 状态对象 数组 每个对象都有自己的状态和参数对象 var steps state foo param i
  • 使用jquery设置输入html字符串的值

    我在字符串中有 HTML 片段 如下所示 var htmlString
  • NSSpeechSynthesizer 更改语言

    我正在编写一个基于 Cocoa Book 示例的简单程序 该程序使用 NSSpeechSynthesizer 来说出短语 我想知道如何更改用于合成阶段的语言 import PHAppDelegate h implementation PHA
  • 缺少 pdb 文件

    我正在 wince7 设备上调试我的应用程序 几分钟后 我收到一个错误 没有为任何调用堆栈帧加载任何符号 无法显示源代码 我注意到模块列表中有 1 个 dll 缺少 pdb 文件 它的名称是 System Drawing dll 我注意到在
  • 中止读取文件时 PHP 页面超时

    我有一个简单的 php 视图 如下所示 header Content Type image png readfile this gt image exit 在这个例子中 this gt image例如 data pictures thumb
  • 获取 Quicktime 视频信息

    有没有办法获取 QuickTime 视频信息 在谷歌搜索中 我发现 QT 的一个 cl 选项已损坏 我正在寻找 pasp 长度 音频通道 音频分配 拍手以及经常使用程序 Dumpster 找到的各种其他属性 使用 ffmpeg 无法获得大部
  • 如何使用 Webpack 创建与容器应用程序共享库的微前端捆绑包?

    我有一个任务 拥有具有单 Spa 框架的微前端 门户 主应用程序 通过 url 加载所有其他 js 代码 微前端 1 基于 React 微前端 2 基于 React 所以我的问题只有一个 我不想重复供应商库 如react react dom
  • 存储下拉值,什么是好方法

    想象一下 您有一个网站 其中有多个下拉菜单 这些下拉菜单是从后端数据库填充的 目标是将这些值存储在数据库中 并在渲染表单时检索它们 我见过使用两种方法 1 每种列表类型一张表 profession type id value hobby t