mysql - 数组关联和数据库设计

标签 mysql

我正在尝试创建一个购物车类型的数据库,用户可以在其中结帐某些商品,我将能够看到每个人拥有哪些商品,并且我还可以查看特定商品被 checkout 给谁.
我还想要每个项目的图像。 (不确定效率如何?)

目前我有这样的东西:

CREATE TABLE person(
id CHAR(9) NOT NULL PRIMARY KEY,
name VARCHAR(30) NOT NULL
);

CREATE TABLE items(
id CHAR(9) NOT NULL PRIMARY KEY,
itemName VARCHAR(30) NOT NULL,
category VARCHAR(30) NOT NULL,
subcategory VARCHAR(30) NOT NULL,
image LONGBLOB
);

CREATE TABLE person_items(
personID CHAR(9) NOT NULL,
itemID CHAR(9) NOT NULL,
FOREIGN KEY (personID) REFERENCES person(id),
FOREIGN KEY (itemID) REFERENCES items(id)
);

这是一种基本上存储允许人们 checkout 的项目数组的有效方法,还是有更好的方法?
另外,为图像存储 LONGBLOB 是一个好主意还是有更好的方法来做到这一点?

最佳答案

首先,表中的 ID 应该是整数。关系表“person_items”在人员和项目之间启用 n:m 关系,如果我理解您的问题,这应该是您的目标。

我建议在数据库中保存路径和图像文件名,以便您可以获取此值并将其用作应用程序中的链接或类似内容。我不会将图像保存为 blob,因为您需要对标题等进行大量不必要的工作。如果使用数据库中的路径,您将可以轻松使用不同的文件格式。只是我的意见。

关于mysql - 数组关联和数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28884830/

相关文章:

mysql - 如何只删除重复的行?

php - 合并 WordPress 数据库

php - 如何在 PHP 中处理浏览器关闭注销?

.net - Windows 8 和 MySQL?我有哪些选择?

php - 使用 php、mysql 和 html 创建登录表单但无法登录

mysql - Openshift,超出磁盘配额

java - 从不同表中检索少量属性并从单个表中检索所有属性

java - Hibernate jpql查询正确用法

mysql - 如何使用正则表达式更改多个表

php - 过滤网页