Heim >Datenbank >MySQL-Tutorial >Wie entwerfe ich die Benutzersammlungstabellenstruktur des Einkaufszentrums in MySQL?
Wie entwerfe ich die Benutzersammlungstabellenstruktur des Einkaufszentrums in MySQL?
Beim Entwerfen einer Einkaufszentrumdatenbank ist die Benutzererfassung eine der wichtigen Funktionen. Benutzer können Produkte, die sie interessieren, zu ihren Favoriten hinzufügen, um sie später einfach anzusehen oder zu kaufen. In diesem Artikel wird erläutert, wie die Benutzersammlungstabellenstruktur des Einkaufszentrums in MySQL entworfen wird, und es werden spezifische Codebeispiele bereitgestellt.
1. Anforderungsanalyse
Bevor wir die Tabellenstruktur entwerfen, müssen wir zunächst die Bedürfnisse der Benutzersammlungen analysieren. Insbesondere müssen wir die folgenden Aspekte berücksichtigen:
2. Tabellenstrukturdesign
Basierend auf den oben genannten Anforderungen können wir die folgende vom Benutzer bevorzugte Tabellenstruktur entwerfen:
CREATE TABLE user_favorite
(user_favorite
(
id
int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
user_id
int(11) NOT NULL COMMENT '用户ID',
product_id
int(11) NOT NULL COMMENT '商品ID',
add_time
datetime NOT NULL COMMENT '添加时间',
status
tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态,1表示有效,0表示无效',
PRIMARY KEY (id
),
KEY user_id
(user_id
),
KEY product_id
(product_id
)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='用户收藏表';
解释一下各个字段的含义:
三、代码示例
CREATE TABLE user_favorite
(
id
int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
user_id
int(11) NOT NULL COMMENT '用户ID',
product_id
int(11) NOT NULL COMMENT '商品ID',
add_time
datetime NOT NULL COMMENT '添加时间',
status
tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态,1表示有效,0表示无效',
PRIMARY KEY (id
),
KEY user_id
(user_id
),
KEY product_id
(product_id
)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='用户收藏表';
INSERT INTO user_favorite
(user_id
, product_id
, add_time
)
VALUES (1, 1001, '2022-01-01 10:00:00');
SELECT product_id
, add_time
FROM user_favorite
WHERE user_id
= 1 AND status
= 1;
UPDATE user_favorite
SET status
= 0
WHERE user_id
= 1 AND product_id
id
int(11 ) NOT NULL AUTO_INCREMENT COMMENT 'Primary Key ID',
user_id
int(11) NOT NULL COMMENT 'user ID', product_id
int(11) NOT NULL COMMENT 'product ID' ,
add_time
datetime NOT NULL COMMENT 'Zeit hinzufügen', status
tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Status, 1 bedeutet gültig, 0 bedeutet invalid' ,
PRIMARY KEY (id
),
user_id
(user_id
), KEY product_id
( product_id)
user_favorite
(🎜 id
int(11) NOT NULL AUTO_INCREMENT COMMENT 'Primärschlüssel-ID ' ,🎜 user_id
int(11) NOT NULL COMMENT 'user ID',🎜 product_id
int(11) NOT NULL COMMENT 'product ID',🎜 add_time datetime NOT NULL COMMENT 'Zeit hinzufügen',🎜 <code>status
tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Status, 1 bedeutet gültig, 0 bedeutet ungültig',🎜 PRIMARY KEY ( id
),🎜 KEY user_id
(user_id
),🎜 KEY product_id
(product_id
)🎜 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='Benutzerfavoritentabelle';🎜user_favorite
( user_id
, product_id
, add_time
) 🎜VALUES (1, 1001, '2022-01-01 10:00:00');🎜product_id
, add_time
FROM user_favorite
🎜WHERE user_id code > = 1 AND <code>status
= 1;🎜user_favorite
SET status = 0 🎜WHERE <code>user_id
= 1 AND product_id
= 1001;🎜🎜Das obige Codebeispiel zeigt, wie man eine Benutzersammlungstabelle erstellt, Sammlungsdatensätze hinzufügt und eine Abfrage durchführt die Sammlungsdatensätze des Benutzers und löschen Sie die Favoriten eines Produkts. 🎜🎜Zusammenfassung: 🎜Beim Entwerfen der Struktur der Benutzersammlungstabelle müssen Sie Felder wie Benutzer-ID, Produkt-ID sowie das Hinzufügen von Zeit und Status berücksichtigen. Durch die richtige Gestaltung der Tabellenstruktur und die Verwendung von Indizes kann die Abfrageeffizienz der Datenbank verbessert werden. Gleichzeitig kann die Tabelle im tatsächlichen Einsatz entsprechend den Geschäftsanforderungen optimiert und erweitert werden. 🎜🎜Hinweis: Der obige Beispielcode dient nur als Referenz und die spezifische Implementierung sollte entsprechend der tatsächlichen Situation angepasst werden. 🎜
Das obige ist der detaillierte Inhalt vonWie entwerfe ich die Benutzersammlungstabellenstruktur des Einkaufszentrums in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!