gpt4 book ai didi

mysql - 存储带或不带破折号的帐号

转载 作者:行者123 更新时间:2023-11-29 05:04:19 25 4
gpt4 key购买 nike

我确定有人问过这个问题,但我一直只找到关于电话号码的讨论。

我正在为控制多个在线商店的供应商组设计一个系统。有 5 种不同类型/级别的商店(基于他们的购买群体,等等)。这些帐户可以从我们的仓库订购产品,也可以拥有自己的客户群,可以从他们那里订购产品。

由于商店帐户及其客户帐户都将存储在我们的系统中并由我们的系统访问,但商店将独立访问其客户帐户我想为帐号设置一个“有组织的”结构,这对双方都有效系统。

我计划使用 10 位数的帐号,前 5 位数字标识商店(第一个标识商店类型/级别),最后 5 位数字表示客户。

例如,

First LEVEL1 store account : 10001-00000
Their customer accounts : 10001-00001, 10001-00002, etc.

Third LEVEL2 store account : 20003-00000
Their customer accounts : 20003-00001, 20003-00002, etc.

这应该允许足够的增长来支持我们潜在的商店数量和他们的客户数量。

我的问题是,我是否应该用破折号分隔数字?

这当然让人类更清楚,但感觉在数据库中存储为 true int 会更好,尽管我不知道我多久比较一次它们,等等。

我是否应该将其存储为不带破折号的 INT,并在向用户显示时仅对其进行格式化? (然后显然一定要接受带或不带破折号的帐号输入)

最佳答案

1NF 表示每个属性中的值必须是原子的。您通过添加破折号并将两个属性存储为一个来违反 1NF。


您(理想情况下)必须做什么?

每个商店都有一个 ID,因此商店的表应该有一个包含该 ID 的列。

接下来,客户也应该在他们的表中有自己的 ID。

最后,商店和客户之间的关系(或连接)表应包含商店 ID 和客户 ID 作为每一行。

或者,客户可以有一个外键来告诉客户应该从哪家商店购物,假设客户只与一家商店相关联。

关于mysql - 存储带或不带破折号的帐号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51621680/

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