可变字段数的数据库结构设计

2024-06-28

对于某种库存系统,用户可以创建一个item_type它具有某些属性,现在每种类型的属性数量都是可变的。我应该如何使用 DBStructure 来解决这个问题?只需制作 X 份量propertyX领域,还是有其他方法可以以这种方式实现灵活性?

note我不想自动创建表,因为那无法管理。


通常的方法是这样的(伪 SQL):

create table property_types (
  property_id int primary key,
  name varchar,
  -- more info here
);

create table items (
  item_id int primary key,
  -- your item table
);

-- this table links a property value with an item
create table item_properties (
  item_id int,
  property_id int,
  property_value varchar,
  foreign key fk_item (item_id) references items (item_id),
  foreign key fk_property (property_id) references properties (property_id)
);

或者,您可以对 item_properties (item_id, property_id) 设置唯一约束,以确保每个项目的每个属性仅设置一次

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

可变字段数的数据库结构设计 的相关文章

  • 不允许在 MS Access 中创建或更改记录

    我已经阅读了有关上述问题的大量帖子 但没有一个答案能够解决问题 我的问题是两个表使用 ID 字段 也是主键 相互链接 以一对一的关系 当我尝试在主表中输入记录时 不知道 Access 是否知道这是主表 出现以下错误 You cannot a
  • android php 连接错误? (添加java代码)

    我试图从 android 应用程序获取位置 纬度 经度 并使用 php 插入数据库 然后提取 10m 半径内的数据 问题是 当我使用智能手机测试代码时 本地测试正常 数据未正确插入 表 usergps 有 3 列 名称 纬度 经度 在我测试
  • MySQL:不喜欢

    我的数据库中有这些文本 categories posts categories news posts add news add 我不想选择带有categories 我使用这样的查询 SELECT FROM developer configu
  • LINQ 中的日期差异逻辑

    我尝试从两个不同的数据库表访问数据 然后使用 C 中的 LINQ 将它们连接到两个字段上 我相信我有一个逻辑合理的整体工作方法 我遇到的部分问题是 我在连接两个表之前过滤了它们的数据 因为这些表的数据太多 会导致崩溃 主要问题是 对于其中一
  • 将 mysql 连接传递给 python 线程时管道损坏

    我正在尝试将 mysql 连接传递给 python 中的线程 如果我在工作类中进行 mysql 的初始化 则不会出现错误 但是 连接的成本可能很高 因此我尝试仅从调用者函数传递 mysql 连接 请参见下面的代码 但这一直抛出这个错误 20
  • 从 MySql 迁移到 Sql Server 2008

    我有大约 200 GB 的 Mysql 转储文件 现在我需要迁移到 Sql server 2008 那么我应该遵循什么方法 我应该继续逐行 sql 语句还是有任何适合我的要求的 GUI 工具 微软 SQL Server 迁移 Assista
  • 恢复 woocommerce 订单

    最近 我的服务器团队更换了我的数据库 他们将我们以前的数据库放入其中 因此 我们丢失了某一天 特定日期 的订单详细信息 现在 服务器团队提供包含丢失当天订单详细信息的备份 现在请告诉我如何恢复这些订单 我无法用给定的备份替换我们的数据库 因
  • 如何将mysql的默认端口从3306更改为3360

    我想更改MySQL服务器的默认端口号 目前它是3306 我想将其更改为3360 我努力了 port 3360 但事情对我不起作用 请提供更改端口的查询 而不是任何配置 我使用的是 Windows 8 64 位 您需要编辑您的my cnf文件
  • 对许多站点使用中央数据库服务器:合理吗?

    基本上 我需要在多达几十个站点上同步数据库数据的某些部分 完美的解决方案是创建一个中央服务器来托管该数据 每个页面加载都必须从两个数据库服务器 本地和远程数据库服务器 获取数据 并且写入远程服务器也很常见 虽然数据库服务器在硬件方面可以达到
  • 在 MySQL 中使用 BLOB 或 VARBINARY 加密数据?

    我正在开发一个 PHP 应用程序 它通过文本区域接受用户输入 它将加密存储在数据库中 使用 AES ENCRYPT 我应该使用 BLOB 还是 VARBINARY 字段 这两种类型的字段都会对性能产生影响吗 BLOB 和 VARBINARY
  • SELECT MySQL 字段包含子字符串[重复]

    这个问题在这里已经有答案了 使用 LIKE 在 MySQL 中非常常见 我们这样使用它 WHERE field LIKE substring 我们有一个子字符串 并且字段有完整的字符串 但我需要的是相反的东西 我在字段中有子字符串 所以 我
  • 数据库(database/database.sqlite)不存在。来自工匠修补匠的数据库作品

    我在中创建了database sqlite文件database文件夹 我的 env文件内容是 DB CONNECTION sqlite DB HOST 127 0 0 1 DB PORT 3306 DB DATABASE absolute
  • 随机化大数据集

    我正在尝试找到一种从大型数据集中进行随机选择的方法 我们预计该集合将增长到大约 500K 条记录 因此找到一种在集合增长时保持良好性能的方法非常重要 我尝试了一种技术 http forums mysql com read php 24 16
  • magento可以使用多个MySQL从服务器吗?

    以下是我使用单个从站的配置的一部分
  • mysql:显示表-定义列名

    我正在用 LIKE 执行 mySQL SHOW TABLES 例如 show TABLES like address 返回以 address 开头的所有表 效果很好 返回的表名的列名是 Tables in username users ad
  • 撤消日志错误:系统表空间中没有剩余空间用于分配撤消日志页

    我正在使用以下命令将 csv 文件导入到 mysql 数据库中的表中加载数据到文件中命令 csv 文件相当大 大约 10 Gig 在导入过程中 我收到以下错误 撤消日志错误 系统表空间中没有剩余空间用于分配撤消日志页 请向表空间添加新的数据
  • Mysql Slave 未更新

    我已经设置了复制 一切看起来都很好 我没有错误 但数据没有被移动到从站 mysql gt show slave status G 1 row Slave IO State Waiting for master to send event M
  • 如何在 MYSQL 中通过另一列选择具有 MAX(列值)、PARTITION 的行?

    我有一张球员表现表 CREATE TABLE TopTen id INT UNSIGNED PRIMARY KEY AUTO INCREMENT home INT UNSIGNED NOT NULL datetime DATETIME NO
  • 跨三个表的 LEFT JOIN(带有连接表)

    在Postgres中 有没有办法执行left join在由联结表链接的表之间 并在链接表上进行一些过滤 比如说 我有两张桌子 humans and pets 我想执行一个查询 其中包含人类 ID 和宠物名称 如果人类 ID 存在 但他们没有
  • 查询每组前 N 个代码适用于 MySQL,但适用于 MariaDB,结果不同

    我有一个 SQL 查询 它提取每组的最新 3 条记录 MySQL 的查询结果与 MariaDB 不同 该查询在下面的sqlfiddle中实现 http sqlfiddle com 9 c09fe 2 http sqlfiddle com 9

随机推荐

  • 如何在 TypeScript 中扩展 JQuery 函数

    我正在 TypeScript 上重写一些 JS 代码 并遇到模块导入问题 例如 我想写我的toggleVisiblity功能 这是代码
  • Sympy 求解无法找到简单方程的零空间

    我正在尝试使用 pythons 模块找到各种函数集的零空间sympy 它设法找到了一些集合的解决方案 例如 x 1 x x 2 x 2 我的代码是 from sympy import solve factorial from sympy a
  • PHP 警告:除以零

    我正在学习 php 并构建了一个实验性的基于表单的计算器 也使用 html 和 POST 方法 该计算器将值返回到表 当我输入值并单击提交时 计算器可以正常工作 但当我第一次运行代码时 我在最后一行不断收到两个 除以零 错误 在这里或通过谷
  • Doxygen 报告“潜在的递归类关系”

    我有一个 C 模板类base Foo
  • Scala 中表达式和语句有什么区别

    我是 Scala 世界的新手 想知道表达式和语句之间有什么区别 以及为什么 if else 用于表达式 而不是语句 是否有办法在 if else 中使用语句 EDIT 正如 J rg W Mittag 在评论中指出的 这个答案实际上是错误的
  • 为什么java Native Memory Tracking中的内部内存增加

    我的应用程序在docker容器中运行 它使用scala并使用 OpenJDK 64位服务器VM 构建25 102 b14 混合模式 其Xmx设置为16GB 容器内存限制为24Gb 运行一段时间后容器被杀死的时间 Last State Ter
  • scanf("%d", char*) - char-as-int 格式字符串?

    字符作为数字的格式字符串修饰符是什么 我想使用 sscanf 将一个不超过 255 实际上少得多 的数字读入 unsigned char 类型变量 使用典型的 char source x32 char separator unsigned
  • 使用 JavaScript 从 HTML 字符串中提取文本

    我试图使用 JS 函数获取 HTML 字符串的内部文本 字符串作为参数传递 这是代码 function extractContent value var content holder for var i 0 i lt value lengt
  • UiBinder 文件中的自定义标签

    当使用
  • 如何覆盖 AutoMapper 对单个属性的配置?

    我正在尝试使用 AutoMapper 12 0 0 来修复错误的字符串属性值 在下面的示例中 我的类具有一些字符串属性 并且对于除我需要执行的属性之外的所有属性 Trim 对于剩下的一个 我需要执行 ToUpper 代替 Trim 问题是我
  • android.accounts.AuthenticatorException:绑定失败

    我收到以下异常 我知道没有什么可继续的 但似乎几乎没有工作文档 可以说 我已经尝试了实现我自己的身份验证器的所有示例 我找到了建议的答案here https stackoverflow com questions 10736245 auth
  • 在此类的对象上调用 start() 安全吗? Java 并发实践中的一个例子

    首先 我将提供我将要讨论的源代码的链接 因为复制 粘贴会使这个问题页面太长 在清单 5 15 中http jcip net listings CellularAutomata java http jcip net listings Cell
  • Javascript构造函数属性有什么意义?

    试图深入研究 Javascript 对 OO 的看法 并且像许多其他人一样 遇到了关于 OO 的困惑constructor财产 特别是 其意义在于constructor财产 因为我似乎无法使其产生任何影响 例如 function Foo a
  • Netlify:如何部署嵌套在文件夹中的站点?

    我有一个存储库 它的后端和前端 create react app 位于两个单独的文件夹中 对于构建命令 我有类似的东西cd frontend npm run build对于发布目录 我有类似的东西frontend build 但这不起作用
  • 有没有办法在将文件写入响应后完成回发?

    我有一个按钮 单击该按钮后 将生成 PDF 并将其写出到响应中 这是代码的基本结构 try using Stream stream generatePdf var file createFile stream file Transmit H
  • 在 C# 中提取私钥字节

    我目前可以使用以下命令使用 OpenSSL 从 PFX 文件中提取私钥 openssl pkcs12 in filename pfx nocerts out privateKey pem openssl exe rsa in private
  • 初学者问题:从 Python 中的函数返回布尔值

    我试图让这个石头剪刀布游戏返回一个布尔值 如 set 中所示player winsTrue 或 False 具体取决于玩家是否获胜 或者完全重构此代码以使其不使用 while 循环 我来自世界的系统管理员 所以如果这是以错误的风格编写的 请
  • 如何将有向无环图 (DAG) 转换为树

    我一直在寻找将 DAG 转换为树的 C 示例 有人有正确方向的例子或指针吗 澄清更新 我有一个图表 其中包含我的应用程序需要加载的模块列表 每个模块都有一个它所依赖的模块列表 例如 这是我的模块 A B C D 和 E A 没有依赖关系 B
  • Haskell 中有“对象平等”的感觉吗?

    如果我在 Haskell 中有一个单链表 data LL a Empty Node a LL a deriving Show Eq 我可以轻松实现在末尾和开头插入的方法 但是在特定元素之后或之前插入又如何呢 如果我有一个LL of Inte
  • 可变字段数的数据库结构设计

    对于某种库存系统 用户可以创建一个item type它具有某些属性 现在每种类型的属性数量都是可变的 我应该如何使用 DBStructure 来解决这个问题 只需制作 X 份量propertyX领域 还是有其他方法可以以这种方式实现灵活性