gpt4 book ai didi

database-design - 具有动态信息的数据库表

转载 作者:行者123 更新时间:2023-12-04 07:19:36 25 4
gpt4 key购买 nike

我用谷歌搜索了一下,发现创建一个包含动态列的数据库几乎是不可能的。我先解释一下我的问题:

我正在为客户制作网上商店。它有多种计算机产品待售。 CPU 的 HDD 的 RAM 等。所有这些产品都有不同的属性,CPU 有 FSB,RAM 有 CAS 延迟。但这非常不方便,因为我的 orders 表需要不同表的外键,这是不可能的。

另一种选择是将所有产品特定信息存储在 varchar 或 blob 字段中,并让 PHP 计算出来。此解决方案的问题在于该网站需要 PC 构建器。构建 PC 的分步指南。因此,例如,如果客户决定他想要一个新的“i7 920”或任何我想要能够为插槽 1366 选择所有主板的东西,这是不可能的,因为所有数据都存储在一个字段中。我知道可以从数据库中选择所有主板并让 PHP 找出哪些主板适用于 1366 插槽,但我想知道,

有没有更好的解决方案?

最佳答案

看看像这样制作表格:

Products
ProductID int PK auto number/identity
ProductName string
ProductType char(1) FK to ProductTypes.ProductType
ProductCost
ProductPrice
...

HDDs
ProductID int FK to Products.ProductID
HDDCapacity
HDDSpeed
....

RAMs
ProductID int FK to Products.ProductID
RAMCapacity
RAMCASlatency
...

ProductTypes
ProductType char(1) PK "H"=HDD, "R"=RAM, etc.
ProductTypeDescription string

您有一个包含所有公共(public)列的主表,以及基于 ProductType 列的特定列的一对一表。您的订单表现在可以 FK 到所有产品的 Products.ProductID。

关于database-design - 具有动态信息的数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3055602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com