gpt4 book ai didi

database - 标准化表 6

转载 作者:太空狗 更新时间:2023-10-30 01:55:34 25 4
gpt4 key购买 nike

我正在整理一个需要规范化的数据库,但我遇到了一个我真的不知道如何处理的问题。

我整理了一个我的问题的简化示例来说明它:

Item ID___Mass___Procurement__Currency__________Amount
0__________2kg___inherited____null________________null
1_________13kg___bought_______US dollars_________47.20
2__________5kg___bought_______British Pounds______3.10
3_________11kg___inherited____null________________null
4__________9kg___bought_______US dollars__________1.32

(我为尴尬的表格道歉;新用户不允许粘贴图像)

在上表中,我有一个属性 (Amount),它在功能上取决于项目 ID(我认为),但并不是每个项目 ID 都存在(因为继承的项目没有货币成本)。我对数据库比较陌生,但在任何初学者教程或文献中都找不到与此类似的问题。任何帮助将不胜感激。

最佳答案

我只想创建两个新表 ItemProcurementCurrencies .

如果我没记错的话,根据所提供的数据,该金额是元素本身采购的一部分(当元素未被继承时),因此我会将 Amount 归为一组。和 CurrencyID新实体中的字段 ItemProcurement .

如您所见,继承项不会在 ItemProcurement 中有条目表。

关于主要Item表,如果您希望采购类型只有两个不同的值,那么我会使用 char(1)列(不同于 B => bougth,I => 继承)。

我看起来像这样:

enter image description here

数据将如下所示:

TABLE Items
+-------+-------+--------------------+
| ID | Mass | ProcurementMethod |
|-------+-------+--------------------+
| 0 | 2 | I |
+-------+-------+--------------------+
| 1 | 13 | B |
+-------+-------+--------------------+
| 2 | 5 | B |
+-------+-------+--------------------+

TABLE ItemProcurement
+--------+-------------+------------+
| ItemID | CurrencyID | Amount |
|--------+-------------+------------+
| 1 | 840 | 47.20 |
+--------+-------------+------------+
| 2 | 826 | 3.10 |
+--------+-------------+------------+

TABLE Currencies
+------------+---------+-----------------+
| CurrencyID | ISOCode | Description |
|------------+---------+-----------------+
| 840 | USD | US dollars |
+------------+---------+-----------------+
| 826 | GBP | British Pounds |
+------------+---------+-----------------+

关于database - 标准化表 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12866951/

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