mysql - 电子商务数据库设计

标签 mysql database database-design

我目前正在开发一个数据库,该数据库将包含大量项目,并且想知道如果每个类别有 1000 到 10,000 项项目,哪种设计会更好。

数据库设计 #1

Login Details
--------------
-userID
-Username
-Password
- ETC....


User Settings
--------------
-userID
-Setting 1
-Setting 2
-Setting 3
- ETC....



Product Category
-----------------
-ID
-Name



ALL Items
-----------
-ItemID
-Name
-Description
-Price
-Info
- ETC....
-parentCategoryID

数据库设计 #2

Login Details
--------------
-userID
-Username
-Password
- ETC....


User Settings
--------------
-userID
-Setting 1
-Setting 2
-Setting 3
- ETC....



Product Category
-----------------
-ID
-Name
-tableName



Electronics
-------------
-ItemID
-Name
-Desc.
-Price
- ETC....

Food
-------------
-ItemID
-Name
-Desc.
-Price
- ETC....


Books
-------------
-ItemID
-Name
-Desc.
-Price
- ETC....


Apparel
-------------
-ItemID
-Name
-Desc.
-Price
- ETC....



Others
-------------
-ItemID
-Name
-Desc.
-Price
- ETC....

最佳答案

选项 1 是可行的方法。

如果您使用选项 2,则每次您希望查询有关不同产品类型的数据库时都必须使用不同的查询,因为您会将不同的产品类型存储在不同的中。。 p>

存储用户比存储产品问题少得多。由于价格会随时间变化,最好从“产品”表中删除“价格”字段并将其存储在不同的表“价格表”中,其字段为产品、价格、起始日期(可能还有截止日期) .

关于mysql - 电子商务数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13061522/

相关文章:

MySQL - 将 AUTO_INCRMENT 的值分配给表中的另一列

database - 持久作业队列?

java - Android : "Column is not unique" 的 SQLite 错误

sql - 如何删除关联SQL表中的行?

mysql - 数据库 : what design to point on two possibilities?

mysql - 我应该索引哈希吗?

mysql - 将表中日期时间的所有列转换为不同的日期格式

php - 使用 smarty 打印 mysql 日期

php - 用MySQL统计两个表之间字符串重复的次数

mysql - 关于我的关系数据库查询的建议