Database 这个数据库的最佳结构是什么?

Database 这个数据库的最佳结构是什么?,database,database-design,data-structures,database-schema,Database,Database Design,Data Structures,Database Schema,问题:我想设计一个网站,我需要一个数据库,但是我不知道哪种结构更好 将发生什么:用户将向其收藏夹添加一些URI 可能的结构: 结构一: 结构二: 哪种结构最好?提前谢谢 绝对要创建另一个保存URL+用户id的表。您的第一个类型不在中。第二个架构(对URL.user\id具有外键约束)将更易于管理。select查询将需要使用join,您将执行更多的inserts,但您不需要执行字符串解析来确定URL是什么(对于第一个架构,您需要为每个select和update) 在我目前的工作中,生产数据库中的一

问题:我想设计一个网站,我需要一个数据库,但是我不知道哪种结构更好

将发生什么:用户将向其收藏夹添加一些URI

可能的结构

结构一:

结构二:


哪种结构最好?提前谢谢

绝对要创建另一个保存URL+用户id的表。您的第一个类型不在中。

第二个架构(对URL.user\id具有外键约束)将更易于管理。
select
查询将需要使用
join
,您将执行更多的
insert
s,但您不需要执行字符串解析来确定URL是什么(对于第一个架构,您需要为每个
select
update


在我目前的工作中,生产数据库中的一个表有一个类似于第一个案例的模式,这使得我的整个部门在不得不编写代码时畏缩和抱怨。然而,这张桌子仍然存在,因为修复它将是一次大规模的检修。(该表是由一位不再在此工作的经理创建的。)如果您现在正在创建架构,请在仍然可以的情况下正确地创建它。

您的第二个设计对我来说很不错。避开第一个…你的第一个“数据库组织”甚至违反了1NF-第二个肯定更好。具体地说,它不是第一个正常形式。
TABLE "USERS":
=====================================================================
id | name | last_name | urls
1  | John | Smith     | [google.com,stackoverflow.com,yahoo.com,...]
=====================================================================
TABLE "USERS":
=============================================
id | name | last_name 
1  | John | Smith
2  | Joe  | Roth
==============================================

TABLE "URLS":
==============================================
id | user_id | url
1  | 1       | google.com
2  | 1       | stackoverflow.com
3  | 2       | ask.com
4  | 1       | yahoo.com
5  | 2       | being.com
==============================================