如何为简单的 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 他的菜,然后他应该给它评分。每道菜都应该单独保存评分,当然要区分这一点。
我建议你用user
table作为评论的参考,还有一个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
我正在开发一个网络应用程序。我对 SQL 部分有疑问。我目前正在创建一个食品评级界面。用户应该能够登录然后对食物进行评分。
目前我使用自定义数据库(用户)作为登录页面。我还使用单独的数据库(评论)进行评论。我当前的数据库结构毫无意义。
在附图中您可以看到 table,它们目前是单独的数据库,每个数据库只有一个 table。我在 VSCode.
中使用 MySQL 扩展名如何将 table 合并到一个数据库中?我正在寻找解决此问题的一些想法。
最好只在登录时需要用户名,而不必在评分中单独输入(不幸的是仍然是最新的)。
将来,用户登录后应该被引导到一个页面,在那里他可以 select 他的菜,然后他应该给它评分。每道菜都应该单独保存评分,当然要区分这一点。
我建议你用user
table作为评论的参考,还有一个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