如何为简单的 Web 应用程序构建我的数据库模型并组织我的 SQL 数据模型

How to structure my database model for a simple web application and organize my SQL data model

我正在开发一个网络应用程序。我对 SQL 部分有疑问。我目前正在创建一个食品评级界面。用户应该能够登录然后对食物进行评分。

目前我使用自定义数据库(用户)作为登录页面。我还使用单独的数据库(评论)进行评论。我当前的数据库结构毫无意义。

在附图中您可以看到 table,它们目前是单独的数据库,每个数据库只有一个 table。我在 VSCode.

中使用 MySQL 扩展名

如何将 table 合并到一个数据库中?我正在寻找解决此问题的一些想法。

最好只在登录时需要用户名,而不必在评分中单独输入(不幸的是仍然是最新的)。

将来,用户登录后应该被引导到一个页面,在那里他可以 select 他的菜,然后他应该给它评分。每道菜都应该单独保存评分,当然要区分这一点。

我建议你用usertable作为评论的参考,还有一个tabledish每道菜的详细信息。
以下是建议的 table 定义,以 fine-tune 满足您的需求:

感谢 Mishi 对 foreign key 语法的改进,使其更适合table。

我将 table review 的创建放在最后,因为某些 SQL 引擎会在我们声明外键时检查 table 是否存在。

create table users
(
uid int primary key,
username varchar(25),
password varchar(25),
created_at date
);
create table dish
(
did int primary key,
nom varchar(25),
description varchar(250),
last_rating int
);
create table review
(
rid int primary key,
user_id int ,
dish_id int ,
user_rating int ,
user_reveiw varchar(100),
review_date datetime,
foreign key (user_id) references users(uid),
foreign key (dish_id) references dish(did)
);

db<>fiddle here