数据库设计(规范化?)
在以下情况下,数据库设计会是什么样子?
这是针对某种库存系统的。
我希望用户能够创建一个项目类型(比如说笔记本电脑)。我还希望用户能够说序列号和 MAC 地址必须唯一。这部分让我困惑在哪里检查唯一值,因为我不知道如何创建一个包含所有项目的表格,并且具有唯一值。
假设用户创建了另一个项目-类型,它具有没有序列号或任何唯一字段,这意味着我无法使用数据库中的 property1
直到 property10
字段构建数据库。
我也不想为每个项目类型构建一个表,因为这会涉及 PHP 中过于高级的表管理。
关于如何构建这个数据库有什么建议吗?
In the following situation, what would the database design look like?
This is for some sort of inventory system.
I want users to be able to create a item-type (lets say, a Laptop). I also want users to be able to say the serial number and MAC address must be unique. This part confuses me where to check for unique values, since I have no idea how to make a table with all items in it, with unique values..
Let's say a user creates another item-type that has no serial number or any unique fields, this means I can't build my DB with property1
till property10
fields in the database.
I also don't want to build a table for every item type, since that would involve too advanced table management in PHP.
Any suggestions on how to build this DB?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
只是为了澄清我正确理解您的要求,您的意思是创建一个表,唯一规则仅适用于表的子集而不是整个表?
如果是这样,我认为将有两个选项
Just to clarify I understand your requirements correctly, you meant to create a table that unique rule only applies to a subset of the table instead of the entire table?
If so, I think there will be two options
如果我正确地回答了你的问题,我只会做一些简单且可维护的事情,例如:
If i got your question correctly , i would just do something simple and maintainable, such as :
你可以通过以下方式实现它:
假设,表名称是item,这里item id是主键。这样可以很容易地选择你想要的item。然后在发布(插入)序列号和mac地址时,你应该用php检查,是否有重复的数据。
我找到你了吗!
you can achieve it by,
assume ,table name is item,here item id is primary key.it makes easy to pick up which item you want.then while posting(inserting) serial number and mac address,you should check with php ,that there is no duplication of data.
did i got u !